Harga aset tertunda untuk sementaraBeberapa aset berhenti menerima data harga terbaru. Pembaruan akan dilanjutkan secara otomatis setelah koneksi data pulih.
Bitculator

Dapatkan Bitculator di Android

Kapitalisasi pasar:

$2,052,274,338,825

Volume 24 jam:

$172,142,001,369

Jun 04 Likuidasi:

$0

24J Panjang/Pendek:

Segera hadir

Reentrancy Attack

Apa arti Reentrancy Attack dalam istilah kripto?

Sebuah Reentrancy Attack adalah sebuah kelemahan keamanan dalam kontrak pintar di mana seorang penyerang memanfaatkan kerentanan kontrak dengan memanggilnya berulang kali sebelum eksekusi awal selesai.

ID: 350
Hero Image

Apa itu Reentrancy Attack?

Reentrancy Attack terjadi ketika sebuah kontrak menyerahkan kontrol ke kontrak lain saat pemanggilan dan kode eksternal tersebut kembali masuk ke kontrak pertama sebelum selesai memperbarui catatannya. Trik timing itu memungkinkan penyerang mengulang tindakan sensitif seperti penarikan berulang kali. Bayangkan meminta pengembalian uang, lalu menyelinap kembali ke meja sebelum kasir mengunci laci.


Mitos

“Hanya kode lama yang bisa diserang oleh Reentrancy Attack.” Tidak benar. Kontrak apa pun yang melakukan panggilan eksternal sebelum mengunci statusnya sendiri bisa rentan jika logikanya ceroboh.


Bagaimana Reentrancy Attack bekerja

Singkat cerita. Sebuah kontrak pintar umum memiliki fungsi withdraw yang mengirim dana ke pemanggil. Jika fungsi mengirim dana terlebih dahulu dan mengosongkan saldo kemudian, penyerang bisa menyusupkan callback dan meminta lebih sebelum saldo diatur ke nol.

  1. Start: Penyerang menyetor sejumlah dana untuk tampak sah.
  2. Call: Penyerang memicu withdraw pada kontrak target.
  3. Fallback: Target mengirim dana, yang menjalankan fungsi fallback penyerang.
  4. Repeat: Fallback itu memanggil withdraw lagi sebelum saldo diperbarui.
  5. Drain: Loop berlanjut sampai kontrak kehabisan dana atau gas. Ya, itu triknya.

Satu kesalahan urutan kecil, masalah besar.


Mengapa Reentrancy Attack penting

Anda perlu peduli karena bug terkait waktu dapat memindahkan uang nyata dengan cepat. Selain itu, ini adalah salah satu eksploitasi klasik yang harus dikenali langsung oleh setiap pengembang dan pengguna yang ingin tahu.

  • Benefit: Mengetahui pola membantu Anda menemukan kode berisiko dan menjaga dana tetap aman.
  • Perspective: Masalah ini mudah terjadi karena transparansi publik, karena semuanya pada blockchain terlihat dan dapat dipanggil.
  • Relevance: Anda akan melihatnya di DeFi, bridges, treasuries, bahkan pembayaran tata kelola untuk DAO.

Tip

Ikuti urutan checks then effects then interactions. Perbarui saldo terlebih dahulu, lalu lakukan panggilan eksternal. Tambahkan reentrancy guard sederhana untuk keamanan tambahan.


Karakteristik Utama Reentrancy Attack

Berikut yang membuatnya bekerja:

  • Recursion: Kode eksternal memanggil kembali kontrak yang sama sebelum selesai.
  • Ordering: Bug muncul ketika pengiriman dana atau pemanggilan keluar terjadi sebelum pembaruan status.
  • Cross: Bisa memantul antar beberapa kontrak, bukan hanya satu fungsi.
  • Assets: Bekerja pada ETH, token, bahkan kredit akuntansi jika dikodekan dengan buruk.

Variasi

Berbagai variasi, masalah yang sama untuk kode yang ceroboh:

  • Single: Memasuki kembali fungsi yang sama berulang kali.
  • Cross: Memasuki kembali lewat fungsi berbeda dalam kontrak yang sama.
  • Multi: Memasuki kembali melintasi dua atau lebih kontrak dalam sebuah loop.
  • ReadOnly: Mempengaruhi view atau oracle harga untuk menipu penulisan selanjutnya.

Pengingat

Memperbaiki Reentrancy Attack bukan hanya soal satu fungsi. Tinjau setiap panggilan eksternal, tambahkan tes untuk rantai panggilan yang aneh, dan jadwalkan audit secara berkala.


Contoh

Eksploit The DAO 2016 menggunakan loop reentrancy pada withdraw sebelum saldo dikosongkan, menguras kas besar dalam hitungan menit.


Fakta Menarik

Slogan komunitas checks then effects then interactions berasal dari panduan keamanan awal dan bertahan karena singkat, mudah diingat, dan efektif.


Ringkasan

Versi singkat yang bisa Anda ingat: jika kode luar bisa memanggil Anda sebelum Anda menyelesaikan pembukuan sendiri, anggap itu mungkin dan Anda bisa menyerahkan uang gratis. Itulah Reentrancy Attack.

Jelajahi Istilah Kripto Lainnya

Apakah Anda menemukan istilah ini dijelaskan dengan jelas?

Apakah ada yang kami lupakan??

Masukan Anda membantu kami menjaga semuanya tetap benar. Hubungi kami jika ada yang salah atau hilang.

Hubungi