Analisis Mendalam Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang menarik perhatian luas. Tim keamanan melakukan analisis mendalam terhadap peristiwa ini dan berpendapat bahwa penyerang telah memodifikasi peran keeper dari kontrak EthCrossChainData melalui data yang dirancang dengan cermat, bukan karena kebocoran kunci privat keeper seperti yang sebelumnya dirumorkan.
Inti Serangan
Kunci 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, maka yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData untuk mengubah keeper kontrak.
Penyerang hanya perlu memasukkan data yang dirancang dengan hati-hati melalui fungsi verifyHeaderAndExecuteTx, sehingga dapat menjalankan panggilan fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData melalui fungsi _executeCrossChainTx, yang mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang. Setelah penggantian alamat peran keeper selesai, 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, untuk mengubah peran keeper.
Selanjutnya, penyerang mulai melakukan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Setelah serangan selesai, karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Metode serangan serupa juga diterapkan di jaringan Ethereum, prosesnya mirip dengan serangan di BSC.
Kesimpulan
Penyebab mendasar dari serangan ini adalah bahwa keeper dari kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, dan fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data masukan pengguna melalui fungsi _executeCrossChainTx. Penyerang memanfaatkan celah ini dengan membangun data tertentu, berhasil mengubah keeper dari kontrak EthCrossChainData menjadi alamat yang mereka kendalikan, sehingga melakukan penarikan ilegal terhadap dana kontrak.
Peristiwa ini sekali lagi menekankan pentingnya audit keamanan kontrak pintar, terutama dalam sistem kompleks yang melibatkan operasi lintas rantai dan manajemen peran kunci. Tim pengembang harus lebih berhati-hati dalam merancang dan mengimplementasikan mekanisme manajemen izin kontrak untuk mencegah eksploitasi kerentanan keamanan serupa.
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.
4 Suka
Hadiah
4
4
Bagikan
Komentar
0/400
ChainWanderingPoet
· 14jam yang lalu
Sudah dibobol lagi? Kontrak masih bisa dipelihara.
Analisis mendalam tentang serangan hacker Poly Network: peran keeper kontrak EthCrossChainData telah dimodifikasi
Analisis Mendalam Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang menarik perhatian luas. Tim keamanan melakukan analisis mendalam terhadap peristiwa ini dan berpendapat bahwa penyerang telah memodifikasi peran keeper dari kontrak EthCrossChainData melalui data yang dirancang dengan cermat, bukan karena kebocoran kunci privat keeper seperti yang sebelumnya dirumorkan.
Inti Serangan
Kunci 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, maka yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData untuk mengubah keeper kontrak.
Penyerang hanya perlu memasukkan data yang dirancang dengan hati-hati melalui fungsi verifyHeaderAndExecuteTx, sehingga dapat menjalankan panggilan fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData melalui fungsi _executeCrossChainTx, yang mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang. Setelah penggantian alamat peran keeper selesai, 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, untuk mengubah peran keeper.
Selanjutnya, penyerang mulai melakukan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Setelah serangan selesai, karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Metode serangan serupa juga diterapkan di jaringan Ethereum, prosesnya mirip dengan serangan di BSC.
Kesimpulan
Penyebab mendasar dari serangan ini adalah bahwa keeper dari kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, dan fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data masukan pengguna melalui fungsi _executeCrossChainTx. Penyerang memanfaatkan celah ini dengan membangun data tertentu, berhasil mengubah keeper dari kontrak EthCrossChainData menjadi alamat yang mereka kendalikan, sehingga melakukan penarikan ilegal terhadap dana kontrak.
Peristiwa ini sekali lagi menekankan pentingnya audit keamanan kontrak pintar, terutama dalam sistem kompleks yang melibatkan operasi lintas rantai dan manajemen peran kunci. Tim pengembang harus lebih berhati-hati dalam merancang dan mengimplementasikan mekanisme manajemen izin kontrak untuk mencegah eksploitasi kerentanan keamanan serupa.