Son günlerde, çapraz zincir etkileşim protokolü Poly Network'e yönelik bir hacker saldırısı geniş bir dikkat çekti. Güvenlik ekibi yaptığı analizde, bu saldırının keeper özel anahtarının ifşası nedeniyle olmadığını, aksine saldırganların özenle hazırlanmış verilerle EthCrossChainData sözleşmesinin keeper adresini başarıyla değiştirdiğini belirtti.
Saldırı Prensibi
Saldırının özü, EthCrossChainManager sözleşmesindeki açığı kullanmaktır. Bu sözleşmenin verifyHeaderAndExecuteTx fonksiyonu, _executeCrossChainTx fonksiyonu aracılığıyla çapraz zincir işlemleri gerçekleştirebilir. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu sözleşme öncekinin putCurEpochConPubKeyBytes fonksiyonunu çağırarak keeper'ı değiştirebilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özenle tasarlanmış veriler göndererek, _executeCrossChainTx fonksiyonunun EthCrossChainData sözleşmesindeki putCurEpochConPubKeyBytes fonksiyonunu çağırmasını sağladı ve böylece keeper rolünü saldırganın belirttiği adrese değiştirdi. Bu adımı tamamladıktan sonra, saldırgan sözleşmeden istedikleri kadar fonu çekmek için rastgele işlemler oluşturabilir.
Ardından, saldırgan bir dizi saldırı işlemi gerçekleştirerek sözleşmeden fonları çıkardı.
Saldırı tamamlandıktan sonra, keeper değiştirildiği için diğer kullanıcıların normal işlemleri reddedildi.
Bu saldırı modeli sadece Binance Akıllı Zinciri (BSC) üzerinde gerçekleşmiyor, Ethereum ağı üzerinde de benzer işlemler meydana geldi.
Sonuç
Bu saldırının temel nedeni EthCrossChainData sözleşmesinin keeper'ının EthCrossChainManager sözleşmesi tarafından değiştirilebilmesidir ve bu sözleşmenin verifyHeaderAndExecuteTx fonksiyonu kullanıcı tarafından iletilen verileri çalıştırabilmektedir. Saldırgan, bu tasarım kusurunu kullanarak belirli veriler oluşturmuş ve EthCrossChainData sözleşmesinin keeper'ını değiştirmiştir, böylece fonların çalınmasını sağlamıştır.
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurguladı; özellikle de zincirler arası işlemler ve kritik rol yönetimi söz konusu olduğunda, daha dikkatli bir tasarım ve kapsamlı bir güvenlik denetimi gerekmektedir. Blockchain projeleri için, güvenlik mekanizmalarını sürekli olarak geliştirmek, potansiyel açıkları zamanında tespit etmek ve düzeltmek son derece önemlidir. Aynı zamanda, sıradan kullanıcılar için, yeni ortaya çıkan blockchain projelerine katılırken dikkatli olmaları, projenin güvenlik değerlendirmelerini ve denetim raporlarını göz önünde bulundurmaları gerekmektedir.
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
10 Likes
Reward
10
4
Share
Comment
0/400
pvt_key_collector
· 08-01 16:56
Bir başka büyük açık
View OriginalReply0
HodlOrRegret
· 07-31 04:26
Alarm zilleri kulakları sağır edecek şekilde çalıyor.
Poly Network, Hacker saldırısına uğradı; EthCrossChainManager sözleşmesindeki açık nedeniyle fon kaybı yaşandı.
Poly Network'in Hacker Saldırısı Olayı Analizi
Son günlerde, çapraz zincir etkileşim protokolü Poly Network'e yönelik bir hacker saldırısı geniş bir dikkat çekti. Güvenlik ekibi yaptığı analizde, bu saldırının keeper özel anahtarının ifşası nedeniyle olmadığını, aksine saldırganların özenle hazırlanmış verilerle EthCrossChainData sözleşmesinin keeper adresini başarıyla değiştirdiğini belirtti.
Saldırı Prensibi
Saldırının özü, EthCrossChainManager sözleşmesindeki açığı kullanmaktır. Bu sözleşmenin verifyHeaderAndExecuteTx fonksiyonu, _executeCrossChainTx fonksiyonu aracılığıyla çapraz zincir işlemleri gerçekleştirebilir. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu sözleşme öncekinin putCurEpochConPubKeyBytes fonksiyonunu çağırarak keeper'ı değiştirebilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özenle tasarlanmış veriler göndererek, _executeCrossChainTx fonksiyonunun EthCrossChainData sözleşmesindeki putCurEpochConPubKeyBytes fonksiyonunu çağırmasını sağladı ve böylece keeper rolünü saldırganın belirttiği adrese değiştirdi. Bu adımı tamamladıktan sonra, saldırgan sözleşmeden istedikleri kadar fonu çekmek için rastgele işlemler oluşturabilir.
Saldırı Süreci
Saldırgan, öncelikle EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonu aracılığıyla putCurEpochConPubKeyBytes fonksiyonunu çağırarak keeper'ı değiştirdi.
Ardından, saldırgan bir dizi saldırı işlemi gerçekleştirerek sözleşmeden fonları çıkardı.
Saldırı tamamlandıktan sonra, keeper değiştirildiği için diğer kullanıcıların normal işlemleri reddedildi.
Bu saldırı modeli sadece Binance Akıllı Zinciri (BSC) üzerinde gerçekleşmiyor, Ethereum ağı üzerinde de benzer işlemler meydana geldi.
Sonuç
Bu saldırının temel nedeni EthCrossChainData sözleşmesinin keeper'ının EthCrossChainManager sözleşmesi tarafından değiştirilebilmesidir ve bu sözleşmenin verifyHeaderAndExecuteTx fonksiyonu kullanıcı tarafından iletilen verileri çalıştırabilmektedir. Saldırgan, bu tasarım kusurunu kullanarak belirli veriler oluşturmuş ve EthCrossChainData sözleşmesinin keeper'ını değiştirmiştir, böylece fonların çalınmasını sağlamıştır.
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurguladı; özellikle de zincirler arası işlemler ve kritik rol yönetimi söz konusu olduğunda, daha dikkatli bir tasarım ve kapsamlı bir güvenlik denetimi gerekmektedir. Blockchain projeleri için, güvenlik mekanizmalarını sürekli olarak geliştirmek, potansiyel açıkları zamanında tespit etmek ve düzeltmek son derece önemlidir. Aynı zamanda, sıradan kullanıcılar için, yeni ortaya çıkan blockchain projelerine katılırken dikkatli olmaları, projenin güvenlik değerlendirmelerini ve denetim raporlarını göz önünde bulundurmaları gerekmektedir.