Son günlerde, çoklu zincirler arası etkileşim protokolü Poly Network, bir Hacker saldırısına uğradı ve sektörde geniş bir dikkat çekti. Güvenlik ekibinin analizine göre, bu saldırı keeper özel anahtarının sızdırılması nedeniyle gerçekleşmemiştir, aksine saldırgan, özenle oluşturulmuş veriler aracılığıyla EthCrossChainData sözleşmesinin keeper adresini başarıyla değiştirmiştir.
Saldırı Detayları
Saldırının özü, EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunun _executeCrossChainTx fonksiyonu aracılığıyla belirli bir çapraz zincir işlemini gerçekleştirebilmesidir.
EthCrossChainData sözleşmesinin mülkiyeti EthCrossChainManager sözleşmesine aittir, bu da sonuncusunun keeper'ı değiştirmek için putCurEpochConPubKeyBytes fonksiyonunu çağırabilmesini sağlar.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonunun özelliklerini kullanarak özenle tasarlanmış verileri geçirir ve _executeCrossChainTx fonksiyonunun EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırmasına neden olur, böylece keeper rolünü saldırganın belirttiği adrese değiştirir.
Keeper rolü değişimi tamamlandıktan sonra, saldırgan serbestçe işlem oluşturabilir ve sözleşmeden istedikleri miktarda fon çekebilir.
Saldırı Süreci
Saldırgan, öncelikle EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunu çağırarak putCurEpochConPubKeyBytes fonksiyonunu kullanır ve keeper'ı başarıyla değiştirir.
Daha sonra, saldırgan bir dizi saldırı işlemi gerçekleştirmeye başladı ve sözleşmeden fon çekti.
Keeper'ın değiştirilmesi nedeniyle diğer kullanıcıların normal işlemleri reddedildi.
Bu saldırı modeli yalnızca BSC zincirinde değil, Ethereum ağında da benzer işlemler ortaya çıktı.
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 EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonu kullanıcı tarafından sağlanan verileri çalıştırabilmektedir. Saldırgan, bu tasarım açığını kullanarak, dikkatlice oluşturulmuş verilerle EthCrossChainData sözleşmesinin keeper adresini başarılı bir şekilde değiştirmiştir ve bu sayede fonların çalınmasını sağlamıştır. Bu olay, akıllı sözleşme tasarımında yetki yönetimi ve fonksiyon çağrılarının güvenliğinin son derece önemli olduğunu bir kez daha hatırlatmaktadır.
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.
13 Likes
Reward
13
7
Repost
Share
Comment
0/400
GasDevourer
· 6h ago
Sözleşme yine sömürüldü, berbat oldu.
View OriginalReply0
RetailTherapist
· 08-09 15:39
Bir başka saldırıya uğramış gitti.
View OriginalReply0
StableGeniusDegen
· 08-09 15:31
Bir soğuk daha~
View OriginalReply0
NotSatoshi
· 08-09 15:28
Yine bir Hacker olay çıkarıyor.
View OriginalReply0
ShibaSunglasses
· 08-09 15:23
Yine kara kara yiyorduk.
View OriginalReply0
SorryRugPulled
· 08-09 15:20
Yine Rug Pull mu? Artık alıştım.
View OriginalReply0
RektButSmiling
· 08-09 15:10
Yine bir sorun mu var? Keeper da güvenli değil mi?
Poly Network, Hacker saldırısına uğradı: EthCrossChainData sözleşme keeper'ı değiştirildi.
Poly Network'in Hacker Saldırısı Olayı Analizi
Son günlerde, çoklu zincirler arası etkileşim protokolü Poly Network, bir Hacker saldırısına uğradı ve sektörde geniş bir dikkat çekti. Güvenlik ekibinin analizine göre, bu saldırı keeper özel anahtarının sızdırılması nedeniyle gerçekleşmemiştir, aksine saldırgan, özenle oluşturulmuş veriler aracılığıyla EthCrossChainData sözleşmesinin keeper adresini başarıyla değiştirmiştir.
Saldırı Detayları
Saldırının özü, EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunun _executeCrossChainTx fonksiyonu aracılığıyla belirli bir çapraz zincir işlemini gerçekleştirebilmesidir.
EthCrossChainData sözleşmesinin mülkiyeti EthCrossChainManager sözleşmesine aittir, bu da sonuncusunun keeper'ı değiştirmek için putCurEpochConPubKeyBytes fonksiyonunu çağırabilmesini sağlar.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonunun özelliklerini kullanarak özenle tasarlanmış verileri geçirir ve _executeCrossChainTx fonksiyonunun EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırmasına neden olur, böylece keeper rolünü saldırganın belirttiği adrese değiştirir.
Keeper rolü değişimi tamamlandıktan sonra, saldırgan serbestçe işlem oluşturabilir ve sözleşmeden istedikleri miktarda fon çekebilir.
Saldırı Süreci
Saldırgan, öncelikle EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunu çağırarak putCurEpochConPubKeyBytes fonksiyonunu kullanır ve keeper'ı başarıyla değiştirir.
Daha sonra, saldırgan bir dizi saldırı işlemi gerçekleştirmeye başladı ve sözleşmeden fon çekti.
Keeper'ın değiştirilmesi nedeniyle diğer kullanıcıların normal işlemleri reddedildi.
Bu saldırı modeli yalnızca BSC zincirinde değil, Ethereum ağında da benzer işlemler ortaya çıktı.
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 EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonu kullanıcı tarafından sağlanan verileri çalıştırabilmektedir. Saldırgan, bu tasarım açığını kullanarak, dikkatlice oluşturulmuş verilerle EthCrossChainData sözleşmesinin keeper adresini başarılı bir şekilde değiştirmiştir ve bu sayede fonların çalınmasını sağlamıştır. Bu olay, akıllı sözleşme tasarımında yetki yönetimi ve fonksiyon çağrılarının güvenliğinin son derece önemli olduğunu bir kez daha hatırlatmaktadır.