Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang menarik perhatian luas dari industri. Setelah analisis tim keamanan, serangan ini bukan disebabkan oleh kebocoran kunci pribadi keeper, melainkan penyerang telah memodifikasi alamat keeper kontrak EthCrossChainData melalui data yang dirancang dengan cermat.
Inti Serangan
Kunci serangan terletak pada fungsi verifyHeaderAndExecuteTx dalam kontrak EthCrossChainManager. Fungsi ini 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 tersebut.
Penyerang memanfaatkan fungsi verifyHeaderAndExecuteTx dengan memasukkan data khusus, sehingga fungsi _executeCrossChainTx memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData, yang mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang. Setelah langkah ini selesai, penyerang dapat membangun transaksi untuk menarik sejumlah dana yang tidak terbatas dari kontrak.
Proses Serangan
Penyerang mengubah keeper melalui pemanggilan fungsi putCurEpochConPubKeyBytes pada fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager.
Selanjutnya, penyerang melakukan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Metode serangan serupa juga digunakan di jaringan Ethereum, di mana penyerang juga memodifikasi keeper dan melaksanakan serangan.
Kesimpulan
Inti dari serangan ini terletak pada bahwa keeper dari kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, sementara fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data yang diberikan oleh pengguna. Penyerang memanfaatkan mekanisme ini dengan membangun data tertentu untuk mengubah alamat keeper dari kontrak EthCrossChainData, sehingga mencapai tujuan serangan.
Peristiwa ini sekali lagi mengingatkan pentingnya keamanan protokol lintas rantai, terutama dalam manajemen peran kunci dan kontrol akses. Ke depan, proyek-proyek serupa perlu lebih berhati-hati dalam perancangannya untuk menghindari kemungkinan celah yang dapat dimanfaatkan oleh penyerang.
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.
10 Suka
Hadiah
10
5
Posting ulang
Bagikan
Komentar
0/400
TestnetNomad
· 08-17 10:27
Sigh, lagi-lagi dicuri. Bolak-balik masih saja jebakan ini.
Lihat AsliBalas0
NotSatoshi
· 08-16 15:15
Blockchain pelacur guru
Lihat AsliBalas0
GateUser-7b078580
· 08-16 15:11
Ini adalah celah dalam smart contract lagi. Berapa banyak kontrak yang masih bisa dipercaya?
Lihat AsliBalas0
GmGnSleeper
· 08-16 15:05
Sudah gelap lagi, sigh, tidak ada yang bisa dikatakan.
Lihat AsliBalas0
DarkPoolWatcher
· 08-16 15:04
Sekali lagi datang seorang Hacker yang dirancang dengan teliti
Poly Network diserang oleh Hacker: keeper kontrak EthCrossChainData telah dimanipulasi
Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang menarik perhatian luas dari industri. Setelah analisis tim keamanan, serangan ini bukan disebabkan oleh kebocoran kunci pribadi keeper, melainkan penyerang telah memodifikasi alamat keeper kontrak EthCrossChainData melalui data yang dirancang dengan cermat.
Inti Serangan
Kunci serangan terletak pada fungsi verifyHeaderAndExecuteTx dalam kontrak EthCrossChainManager. Fungsi ini 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 tersebut.
Penyerang memanfaatkan fungsi verifyHeaderAndExecuteTx dengan memasukkan data khusus, sehingga fungsi _executeCrossChainTx memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData, yang mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang. Setelah langkah ini selesai, penyerang dapat membangun transaksi untuk menarik sejumlah dana yang tidak terbatas dari kontrak.
Proses Serangan
Penyerang mengubah keeper melalui pemanggilan fungsi putCurEpochConPubKeyBytes pada fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager.
Selanjutnya, penyerang melakukan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Metode serangan serupa juga digunakan di jaringan Ethereum, di mana penyerang juga memodifikasi keeper dan melaksanakan serangan.
Kesimpulan
Inti dari serangan ini terletak pada bahwa keeper dari kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, sementara fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data yang diberikan oleh pengguna. Penyerang memanfaatkan mekanisme ini dengan membangun data tertentu untuk mengubah alamat keeper dari kontrak EthCrossChainData, sehingga mencapai tujuan serangan.
Peristiwa ini sekali lagi mengingatkan pentingnya keamanan protokol lintas rantai, terutama dalam manajemen peran kunci dan kontrol akses. Ke depan, proyek-proyek serupa perlu lebih berhati-hati dalam perancangannya untuk menghindari kemungkinan celah yang dapat dimanfaatkan oleh penyerang.