Analisis Kejadian Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang memicu perhatian luas. Menurut analisis tim keamanan, serangan ini bukan disebabkan oleh kebocoran kunci privat keeper, melainkan penyerang memanfaatkan data yang dibangun secara cerdik untuk memodifikasi alamat keeper dari kontrak EthCrossChainData melalui celah kontrak.
Inti Serangan
Kunci dari serangan terletak pada fungsi verifyHeaderAndExecuteTx di kontrak EthCrossChainManager. Fungsi ini dapat mengeksekusi transaksi lintas rantai tertentu melalui fungsi _executeCrossChainTx. Karena pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, maka yang terakhir berhak memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData untuk mengubah keeper.
Penyerang memanfaatkan mekanisme ini dengan mengirimkan data yang dirancang dengan cermat melalui fungsi verifyHeaderAndExecuteTx, sehingga fungsi _executeCrossChainTx mengeksekusi panggilan fungsi putCurEpochConPubKeyBytes pada kontrak EthCrossChainData, sehingga mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang.
Proses Serangan
Penyerang pertama-tama memanggil fungsi putCurEpochConPubKeyBytes melalui fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager, mengubah keeper.
Setelah menyelesaikan penggantian alamat peran keeper, penyerang dapat dengan bebas membangun transaksi dan menarik jumlah dana yang tidak terbatas dari kontrak.
Setelah serangan selesai, karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Pola serangan ini tidak hanya diterapkan di jaringan BSC, tetapi juga terjadi operasi serupa di jaringan Ethereum.
Kesimpulan
Penyebab mendasar dari serangan ini adalah bahwa keeper kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, sementara fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data yang diteruskan oleh pengguna. Penyerang memanfaatkan cacat desain ini dengan membentuk data tertentu untuk mengubah alamat keeper kontrak EthCrossChainData, bukan kebocoran kunci pribadi keeper yang sebelumnya dirumorkan.
Peristiwa ini sekali lagi menyoroti pentingnya desain keamanan protokol lintas rantai, serta tuntutan ketat terhadap manajemen hak akses kontrak. Ini juga mengingatkan kita bahwa, dalam ekosistem blockchain, bahkan fungsi yang tampaknya tidak berbahaya, jika disalahgunakan, dapat menyebabkan kerentanan keamanan yang serius.
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 oleh Hacker: Kerentanan kontrak menyebabkan keeper diubah
Analisis Kejadian Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang memicu perhatian luas. Menurut analisis tim keamanan, serangan ini bukan disebabkan oleh kebocoran kunci privat keeper, melainkan penyerang memanfaatkan data yang dibangun secara cerdik untuk memodifikasi alamat keeper dari kontrak EthCrossChainData melalui celah kontrak.
Inti Serangan
Kunci dari serangan terletak pada fungsi verifyHeaderAndExecuteTx di kontrak EthCrossChainManager. Fungsi ini dapat mengeksekusi transaksi lintas rantai tertentu melalui fungsi _executeCrossChainTx. Karena pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, maka yang terakhir berhak memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData untuk mengubah keeper.
Penyerang memanfaatkan mekanisme ini dengan mengirimkan data yang dirancang dengan cermat melalui fungsi verifyHeaderAndExecuteTx, sehingga fungsi _executeCrossChainTx mengeksekusi panggilan fungsi putCurEpochConPubKeyBytes pada kontrak EthCrossChainData, sehingga mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang.
Proses Serangan
Penyerang pertama-tama memanggil fungsi putCurEpochConPubKeyBytes melalui fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager, mengubah keeper.
Setelah menyelesaikan penggantian alamat peran keeper, penyerang dapat dengan bebas membangun transaksi dan menarik jumlah dana yang tidak terbatas dari kontrak.
Setelah serangan selesai, karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Pola serangan ini tidak hanya diterapkan di jaringan BSC, tetapi juga terjadi operasi serupa di jaringan Ethereum.
Kesimpulan
Penyebab mendasar dari serangan ini adalah bahwa keeper kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, sementara fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data yang diteruskan oleh pengguna. Penyerang memanfaatkan cacat desain ini dengan membentuk data tertentu untuk mengubah alamat keeper kontrak EthCrossChainData, bukan kebocoran kunci pribadi keeper yang sebelumnya dirumorkan.
Peristiwa ini sekali lagi menyoroti pentingnya desain keamanan protokol lintas rantai, serta tuntutan ketat terhadap manajemen hak akses kontrak. Ini juga mengingatkan kita bahwa, dalam ekosistem blockchain, bahkan fungsi yang tampaknya tidak berbahaya, jika disalahgunakan, dapat menyebabkan kerentanan keamanan yang serius.