Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang memicu perhatian luas di industri. Setelah analisis tim keamanan, serangan ini tidak disebabkan oleh kebocoran kunci pribadi keeper, tetapi penyerang berhasil mengubah alamat keeper dari kontrak EthCrossChainData melalui data yang disusun dengan cermat.
Detail Serangan
Inti dari serangan adalah fungsi verifyHeaderAndExecuteTx pada kontrak EthCrossChainManager dapat mengeksekusi transaksi lintas rantai tertentu melalui fungsi _executeCrossChainTx.
Kepemilikan kontrak EthCrossChainData adalah milik kontrak EthCrossChainManager, sehingga yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes untuk mengubah keeper.
Penyerang memanfaatkan karakteristik fungsi verifyHeaderAndExecuteTx dengan mengirimkan data yang dirancang dengan cermat, sehingga fungsi _executeCrossChainTx memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData, yang mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang.
Setelah menyelesaikan penggantian peran keeper, penyerang dapat dengan bebas membangun transaksi dan menarik jumlah dana yang tidak terbatas dari kontrak.
Proses Serangan
Penyerang pertama-tama memanggil fungsi putCurEpochConPubKeyBytes melalui fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager, berhasil mengubah keeper.
Selanjutnya, penyerang mulai melaksanakan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Mode serangan ini tidak hanya terjadi di jaringan BSC, tetapi juga muncul operasi serupa di jaringan Ethereum.
Kesimpulan
Penyebab utama serangan ini adalah bahwa keeper dari kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, dan fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data yang diberikan oleh pengguna. Penyerang memanfaatkan celah desain ini dengan menyusun data yang cermat untuk berhasil mengubah alamat keeper dari kontrak EthCrossChainData, sehingga berhasil mencuri dana. Peristiwa ini kembali mengingatkan kita bahwa dalam desain kontrak pintar, manajemen hak akses dan keamanan pemanggilan fungsi sangat penting.
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.
14 Suka
Hadiah
14
7
Posting ulang
Bagikan
Komentar
0/400
GasDevourer
· 12jam yang lalu
Kontrak telah diambil lagi, sangat parah.
Lihat AsliBalas0
RetailTherapist
· 08-09 15:39
Satu lagi telah diserang dan pergi.
Lihat AsliBalas0
StableGeniusDegen
· 08-09 15:31
Sekali lagi dingin~
Lihat AsliBalas0
NotSatoshi
· 08-09 15:28
Lagi-lagi Hacker membuat masalah
Lihat AsliBalas0
ShibaSunglasses
· 08-09 15:23
Sekali lagi, ini adalah tindakan saling menyerang di antara mereka sendiri.
Poly Network diserang oleh Hacker: keeper kontrak EthCrossChainData telah dimodifikasi
Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang memicu perhatian luas di industri. Setelah analisis tim keamanan, serangan ini tidak disebabkan oleh kebocoran kunci pribadi keeper, tetapi penyerang berhasil mengubah alamat keeper dari kontrak EthCrossChainData melalui data yang disusun dengan cermat.
Detail Serangan
Inti dari serangan adalah fungsi verifyHeaderAndExecuteTx pada kontrak EthCrossChainManager dapat mengeksekusi transaksi lintas rantai tertentu melalui fungsi _executeCrossChainTx.
Kepemilikan kontrak EthCrossChainData adalah milik kontrak EthCrossChainManager, sehingga yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes untuk mengubah keeper.
Penyerang memanfaatkan karakteristik fungsi verifyHeaderAndExecuteTx dengan mengirimkan data yang dirancang dengan cermat, sehingga fungsi _executeCrossChainTx memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData, yang mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang.
Setelah menyelesaikan penggantian peran keeper, penyerang dapat dengan bebas membangun transaksi dan menarik jumlah dana yang tidak terbatas dari kontrak.
Proses Serangan
Penyerang pertama-tama memanggil fungsi putCurEpochConPubKeyBytes melalui fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager, berhasil mengubah keeper.
Selanjutnya, penyerang mulai melaksanakan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Mode serangan ini tidak hanya terjadi di jaringan BSC, tetapi juga muncul operasi serupa di jaringan Ethereum.
Kesimpulan
Penyebab utama serangan ini adalah bahwa keeper dari kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, dan fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data yang diberikan oleh pengguna. Penyerang memanfaatkan celah desain ini dengan menyusun data yang cermat untuk berhasil mengubah alamat keeper dari kontrak EthCrossChainData, sehingga berhasil mencuri dana. Peristiwa ini kembali mengingatkan kita bahwa dalam desain kontrak pintar, manajemen hak akses dan keamanan pemanggilan fungsi sangat penting.