Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, sebuah insiden serangan hacker terhadap protokol interoperabilitas lintas rantai Poly Network telah menarik perhatian luas. Setelah analisis oleh tim keamanan, serangan ini bukan disebabkan oleh kebocoran kunci privat keeper, melainkan penyerang berhasil memodifikasi alamat keeper dari kontrak EthCrossChainData melalui data yang dirancang dengan cermat.
Prinsip Serangan
Inti dari serangan ini adalah memanfaatkan celah dalam kontrak EthCrossChainManager. Fungsi verifyHeaderAndExecuteTx dari kontrak ini dapat mengeksekusi transaksi lintas rantai melalui fungsi _executeCrossChainTx. Karena pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari yang pertama untuk mengubah keeper.
Penyerang mengirimkan data yang dirancang dengan cermat ke fungsi verifyHeaderAndExecuteTx, sehingga fungsi _executeCrossChainTx mengeksekusi panggilan ke fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData, yang mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang. Setelah langkah ini 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, mengubah keeper.
Selanjutnya, penyerang melakukan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Setelah serangan selesai, karena keeper diubah, transaksi normal pengguna lain ditolak untuk dijalankan.
Pola serangan ini tidak hanya terjadi di Binance Smart Chain (BSC), tetapi juga muncul operasi serupa di jaringan Ethereum.
Kesimpulan
Penyebab mendasar dari serangan ini adalah bahwa keeper dari kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, dan fungsi verifyHeaderAndExecuteTx dari yang terakhir dapat mengeksekusi data yang diberikan oleh pengguna. Penyerang memanfaatkan cacat desain ini dengan membangun data tertentu untuk mengubah keeper dari kontrak EthCrossChainData, sehingga berhasil mencuri dana.
Peristiwa ini sekali lagi menyoroti pentingnya keamanan kontrak pintar, terutama dalam hal operasi lintas rantai dan manajemen peran kunci, yang memerlukan desain yang lebih hati-hati dan audit keamanan yang komprehensif. Bagi pihak proyek blockchain, sangat penting untuk terus memperbaiki mekanisme keamanan, serta menemukan dan memperbaiki potensi kerentanan tepat waktu. Sementara itu, bagi pengguna biasa, mereka juga harus tetap waspada saat terlibat dalam proyek blockchain yang baru muncul, dengan memperhatikan penilaian keamanan proyek dan laporan audit.
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.
Poly Network diserang Hacker, kelemahan kontrak EthCrossChainManager menyebabkan kehilangan dana
Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, sebuah insiden serangan hacker terhadap protokol interoperabilitas lintas rantai Poly Network telah menarik perhatian luas. Setelah analisis oleh tim keamanan, serangan ini bukan disebabkan oleh kebocoran kunci privat keeper, melainkan penyerang berhasil memodifikasi alamat keeper dari kontrak EthCrossChainData melalui data yang dirancang dengan cermat.
Prinsip Serangan
Inti dari serangan ini adalah memanfaatkan celah dalam kontrak EthCrossChainManager. Fungsi verifyHeaderAndExecuteTx dari kontrak ini dapat mengeksekusi transaksi lintas rantai melalui fungsi _executeCrossChainTx. Karena pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari yang pertama untuk mengubah keeper.
Penyerang mengirimkan data yang dirancang dengan cermat ke fungsi verifyHeaderAndExecuteTx, sehingga fungsi _executeCrossChainTx mengeksekusi panggilan ke fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData, yang mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang. Setelah langkah ini 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, mengubah keeper.
Selanjutnya, penyerang melakukan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Setelah serangan selesai, karena keeper diubah, transaksi normal pengguna lain ditolak untuk dijalankan.
Pola serangan ini tidak hanya terjadi di Binance Smart Chain (BSC), tetapi juga muncul operasi serupa di jaringan Ethereum.
Kesimpulan
Penyebab mendasar dari serangan ini adalah bahwa keeper dari kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, dan fungsi verifyHeaderAndExecuteTx dari yang terakhir dapat mengeksekusi data yang diberikan oleh pengguna. Penyerang memanfaatkan cacat desain ini dengan membangun data tertentu untuk mengubah keeper dari kontrak EthCrossChainData, sehingga berhasil mencuri dana.
Peristiwa ini sekali lagi menyoroti pentingnya keamanan kontrak pintar, terutama dalam hal operasi lintas rantai dan manajemen peran kunci, yang memerlukan desain yang lebih hati-hati dan audit keamanan yang komprehensif. Bagi pihak proyek blockchain, sangat penting untuk terus memperbaiki mekanisme keamanan, serta menemukan dan memperbaiki potensi kerentanan tepat waktu. Sementara itu, bagi pengguna biasa, mereka juga harus tetap waspada saat terlibat dalam proyek blockchain yang baru muncul, dengan memperhatikan penilaian keamanan proyek dan laporan audit.