Poly Network diserang Hacker, celah kontrak EthCrossChainManager menyebabkan kehilangan dana

robot
Pembuatan abstrak sedang berlangsung

Analisis Kejadian Serangan Hacker pada Jaringan Poly Network

Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang menarik perhatian luas dari industri. Tim keamanan melakukan analisis mendalam terhadap kejadian ini, mengungkapkan metode spesifik dan proses serangan yang dilakukan oleh penyerang.

Prinsip Serangan

Inti dari serangan ini adalah memanfaatkan celah dalam kontrak EthCrossChainManager. Penyerang berhasil mengubah keeper dari kontrak EthCrossChainData menjadi alamat yang ditentukan dengan memasukkan data yang dirancang dengan cermat melalui fungsi verifyHeaderAndExecuteTx. Ini bertentangan dengan klaim sebelumnya mengenai kebocoran kunci privat keeper.

Detail Serangan

  1. Fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi transaksi lintas rantai spesifik melalui fungsi _executeCrossChainTx.

  2. Pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, sehingga yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari yang pertama untuk mengubah keeper.

  3. Penyerang menggunakan fungsi verifyHeaderAndExecuteTx, mengirimkan data yang telah dimodifikasi, sehingga fungsi _executeCrossChainTx mengeksekusi fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData, yang mengubah keeper menjadi alamat yang dikendalikan oleh penyerang.

  4. Setelah peran keeper diganti, penyerang dapat dengan bebas membuat transaksi dan menarik jumlah dana yang tidak terbatas dari kontrak.

Proses Serangan

  1. Penyerang pertama-tama memanggil fungsi putCurEpochConPubKeyBytes melalui fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager untuk mengubah keeper.

  2. Selanjutnya, penyerang melakukan serangkaian transaksi serangan untuk menarik dana dari kontrak.

  3. Setelah serangan selesai, karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.

  4. Teknik serangan serupa juga diterapkan di jaringan Ethereum, di mana penyerang menggunakan langkah operasi yang sama.

Kesimpulan

Kunci dari serangan ini terletak pada keeper dari kontrak EthCrossChainData yang dapat diubah oleh kontrak EthCrossChainManager, dan fungsi verifyHeaderAndExecuteTx dari yang terakhir dapat mengeksekusi data yang diberikan oleh pengguna. Penyerang memanfaatkan celah ini dengan membangun data tertentu, berhasil mengubah keeper dari kontrak EthCrossChainData, dan kemudian melakukan pencurian dana.

Peristiwa ini sekali lagi mengingatkan kita bahwa dalam desain dan implementasi protokol lintas rantai, kita perlu sangat memperhatikan manajemen hak akses dan mekanisme verifikasi keamanan, untuk mencegah terjadinya serangan serupa. Selain itu, audit dan deteksi kerentanan pada kontrak pintar juga harus lebih komprehensif dan mendalam, terutama pada fungsi yang melibatkan peran kunci dan perubahan hak akses.

Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • 6
  • Bagikan
Komentar
0/400
SocialAnxietyStakervip
· 9jam yang lalu
Kontrak ini terlalu rapuh 8
Lihat AsliBalas0
DeFiVeteranvip
· 9jam yang lalu
Ketemu celah keamanan lagi? Kenapa panik?
Lihat AsliBalas0
ChainMaskedRidervip
· 9jam yang lalu
Saatnya para suckers dipermainkan lagi~
Lihat AsliBalas0
Fren_Not_Foodvip
· 9jam yang lalu
Sekali lagi sebuah smart contract telah diserang.
Lihat AsliBalas0
DiamondHandsvip
· 10jam yang lalu
Sudah hitam tapi tidak hitam secara maksimal, pemain pemula.
Lihat AsliBalas0
ser_we_are_earlyvip
· 10jam yang lalu
Ada kesempatan untuk menghasilkan uang lagi?
Lihat AsliBalas0
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)