daftar lengkap dari beberapa jenis serangan terkenal pada smart contract - Rian010/Journal GitHub Wiki

Berikut adalah daftar lengkap dari beberapa jenis serangan terkenal pada smart contract:

  1. Reentrancy Attack
  2. Integer Overflow and Underflow
  3. Time Dependence
  4. Front Running
  5. Race Condition
  6. Denial of Service (DoS)
  7. Short Address Attack
  8. Fee manipulation
  9. Unchecked-send
  10. Callstack Depth Attack
  11. Transaction Ordering Dependence (TOD)
  12. Access Control
  13. Economic Attacks
  14. Gasless Send
  15. Oraclize Manipulation
  16. Block Timestamp Dependency
  17. Generating Random Numbers Securely

Berikut ini adalah beberapa contoh konkrit dari serangan terhadap smart contract yang ditulis dalam Bahasa Indonesia:

  1. Serangan Reentrancy Attack pada Smart Contract ERC20: Sebuah penyerang mengekploitasi kelemahan reentrancy attack pada sebuah smart contract ERC20, yaitu melakukan transfer token sambil masih memiliki akses ke fungsi internal contract. Hal ini mungkin menyebabkan duplikasi transaksi atau double spending. Contoh praktis dari serangan ini terdapat pada The DAO hack.
  2. Serangan Integer Overflow dan Underflow pada Smart Contract Pembelian Token: Penyerang mengirim nilai integer yang lebih besar daripada batas maximum yang diizinkan oleh sistem, hal ini menyebabkan angka positif menjadi negatif atau sebaliknya. Dengan demikian, penyerang bisa mengurangi harga token secara tidak sah. Misalnya, smart contract Parity Wallet v1.3 vulnerability.
  3. Serangan Time Dependence pada Smart Contract Voting: Dalam suatu kontribusi open source, tim auditor menemukan bug time dependence pada smart contract voting. Bug ini memperbolehkan para peserta untuk mengubah vote mereka setelah waktu akhir telah berakhir, tanpa deteksi oleh system. Contoh dari serangan ini terdapat pada King of the Ether Throne.
  4. Serangan Front Running pada Smart Contract Exchange: Di platform exchange dapp, penyerang mengetahui informasi tentang transaksi yang akan datang, dan dia mulai melakukan transaksi sendiri sebelum transaksi asli dilakukan. Ini biasanya disebabkan karena blokchain publik seperti Ethereum memiliki latensi rendah antara block. Contoh dari serangan ini terdapat pada Crypto Spider.
  5. Serangan Race Condition pada Smart Contract Bank: Dalam suatu game online, bank digital menghadapi race condition dimana dua user simultan mencoba mengotorisasi saldo yang sama. Akibatnya, satu transaksi berhasil, sedangkan transaksi lain gagal. Namun, ketika transaksi gagal itu dicoba ulang, maka saldo otomatis dikredit oleh sistem. Contoh dari serangan ini terdapat pada Fomo3D.
  6. Serangan DoS pada Smart Contract Gambling: Dalam permainan judi online, penyerang meminta potongan gas yang sangat tinggi untuk proses validasi transaksinya. Hal ini akan menguras gas yang tersedia bagi node, sehingga node lain sulit untuk memverifikasi transaksi lain. Selanjutnya, penyerang melakukannya berulang-ulang hingga node lain mati. Contoh dari serangan ini terdapat pada Parity Multisig Wallet Hack.
  7. Serangan Short Address Attack pada Smart Contract Transfer: Penyerang mengirim alamat singkat dari target kepada victim. Hal ini akan menyebabkan ethereum yang dikirim oleh victime terkirim ke alamat short address milik penyerang. Misalnya, serangan terhadap MyEtherWallet.
  8. Serangan Fee Manipulation pada Smart Contract Auction: Penyerang memodifikasi fee yang harus dibayarkan oleh calon pemenang agar kurang dari fee minimum yang ditentukan. Hal ini akan mempermudah penyerang memenangkan auction.
  9. Serangan Unchecked-Send pada Smart Contract Payment Gateway: Kontrak pintar payment gateway menerima request dari developer untuk mengirim ether ke alamat tertentu. Namun, tidak ada pengecekan apakah alamat tersebut benar-benar dimiliki oleh developer. Penyerang dapat melempar data random ke function uncheck-send dan mengumpulkan ether yang dikirim ke alamat yang di Kontrol oleh penyerang.
  10. Serangan Callstack Depth Attack pada Smart Contract: Setiap call stack memiliki kapasitas terbatas. Jika penyerang menggunakan recursive call deep enough, maka call stack akan overflow. Hal ini akan menghentikan eksekusi smart contract. Contoh dari serangan ini terdapat pada Solidity Binary Exploit.
  11. Serangan Transaction Ordering Dependence (TOD): Penyerang memanfaatkan urutan transaction yang diproses oleh node. Penyerang membuat transaksi pertama yang memicu event yang digunakan oleh transaksi kedua. Transaksi kedua akan dieksekusi terlebih dahulu dan memanfaatkan hasil dari transaksi pertama. Contoh dari serangan ini terdapat pada Golem Network.
  12. Serangan Access Control pada Smart Contract: Penyerang menggunakan cara manual untuk memecahkan access control yang ada pada smart contract. Mereka mencoba untuk mengakses private variable atau method yang hanya dapat diakses oleh owner. Misalnya, serangan terhadap OpenZeppelin Library.
  13. Serangan Economic Attacks pada Smart Contract Trading Platform: Penyerang mengekploitasi rute trading yang belum terbaik atau strategi investasi yang buruk pada smart contract trading platform. Hal ini akan membuat platform trading mengalami kerugian besar. Contoh dari serangan ini terdapat pada Aragon Network.
  14. Serangan Gasless Send pada Smart Contract Donation Platform: Penyerang mengirim donasi dengan gas yang tidak cukup. Hal ini akan membuat donasi tidak diterima oleh smart contract donasi. Namun, penyerang dapat meminta refund dari gas yang dikonsumsi selama proses donasi. Hal ini akan membuat smart contract donasi mengalami kerugian gas.
  15. Serangan Oraclize Manipulation pada Smart Contract Oracle: Penyerang memanfaatkan oracle untuk memberikan input yang tidak valid kepada smart contract. Hal ini akan membuat smart contract bereaksi sesuai dengan rencana penyerang. Misalnya, serangan terhadap Augur.
  16. Serangan Block Timestamp Dependency pada Smart Contract: Penyerang memanfaatkan timestamp blok sebagai acuan untuk melakukan operasi pada smart contract. Hal ini akan membuat smart contract bereaksi sesuai dengan rencana penyerang. Contoh dari serangan ini terdapat pada Bitcoin Clock Contract.
  17. Serangan Generating Random Numbers Securely pada Smart Contract Lottery: Penyerang memanfaatkan generator nombor acak yang tidak aman untuk memprediksi nombor acak yang akan dihasilkan oleh smart contract lottery. Hal ini akan membuat penyerang memenangkan lotre dengan mudah. Misalnya, serangan terhadap Beacon Chain.