Poly Network diserang: kerentanan smart contract menyebabkan keeper dimanipulasi

robot
Pembuatan abstrak sedang berlangsung

Analisis Insiden Serangan Hacker pada Poly Network

Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang menarik perhatian luas di industri. Setelah analisis tim keamanan, serangan ini bukan disebabkan oleh kebocoran kunci pribadi keeper, melainkan penyerang menggunakan data yang dibangun dengan cerdik untuk memodifikasi alamat keeper dari kontrak EthCrossChainData dengan memanfaatkan celah dalam kontrak.

Prinsip Serangan

Inti dari serangan terletak pada fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager yang dapat mengeksekusi transaksi lintas rantai tertentu melalui fungsi _executeCrossChainTx. Karena pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData untuk mengubah keeper kontrak.

Penyerang memanfaatkan fungsi verifyHeaderAndExecuteTx, dengan memasukkan data yang dirancang dengan cermat, untuk mengeksekusi panggilan fungsi putCurEpochConPubKeyBytes pada kontrak EthCrossChainData melalui fungsi _executeCrossChainTx, sehingga mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang. Setelah mengganti alamat keeper, penyerang dapat membangun transaksi untuk menarik jumlah dana yang diinginkan dari kontrak.

Proses Serangan

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

  2. Setelah keeper diubah, penyerang mulai melaksanakan serangkaian transaksi serangan untuk menarik dana dari kontrak.

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

  4. Pola serangan ini juga memiliki operasi serupa di jaringan Ethereum.

Ringkasan

Kunci serangan kali ini adalah bahwa keeper dari kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, dan fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data yang dimasukkan oleh pengguna melalui fungsi _executeCrossChainTx. Penyerang memanfaatkan hal ini dengan membangun data tertentu, berhasil mengubah keeper dari kontrak EthCrossChainData menjadi alamat yang dikendalikan oleh penyerang.

Peristiwa ini sekali lagi mengingatkan kita bahwa dalam desain kontrak pintar, perlu perhatian ekstra terhadap manajemen hak akses dan keamanan pemanggilan fungsi. Untuk fungsi yang dapat mempengaruhi parameter kunci, seharusnya diterapkan kontrol akses dan mekanisme pemeriksaan keamanan yang lebih ketat. Selain itu, keamanan proyek lintas rantai juga perlu mendapatkan perhatian lebih, karena mereka sering melibatkan sejumlah besar dana dan logika interaksi yang kompleks.

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
  • 3
  • Bagikan
Komentar
0/400
GasFeeCriervip
· 07-11 15:43
Lagi-lagi terjadi kegagalan pada smart contract, terlalu buruk ya
Lihat AsliBalas0
SleepTradervip
· 07-11 02:54
又一次Kebijaksanaan melihat ke belakang的安全审计
Lihat AsliBalas0
ApyWhisperervip
· 07-08 15:52
Sekali lagi melihat celah kontrak...
Lihat AsliBalas0
  • Sematkan
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)