Cross-chain protokol açığı büyük bir güvenlik olayına yol açtı
Son zamanlarda, tanınmış bir cross-chain etkileşim protokolü bir siber saldırıya uğradı ve bu olay sektörde geniş bir ilgi uyandırdı. Profesyonel güvenlik ekiplerinin analizine göre, bu saldırı anahtar sızıntısı nedeniyle gerçekleşmedi, aksine saldırganlar sözleşme açığını ustaca kullanarak kritik parametreleri değiştirdi.
Saldırı Çekirdeği
Saldırının anahtarı, EthCrossChainManager sözleşmesindeki verifyHeaderAndExecuteTx fonksiyonudur. Bu fonksiyon, belirli bir cross-chain işlemini _executeCrossChainTx fonksiyonu aracılığıyla gerçekleştirebilir. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu sözleşme, sözleşmenin keeper'ını değiştirmek için önceki sözleşmenin putCurEpochConPubKeyBytes fonksiyonunu çağırabilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özenle tasarlanmış veriler göndererek _executeCrossChainTx fonksiyonunun çalıştırılmasını tetikledi ve böylece EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırarak keeper rolünü saldırganın belirttiği adrese değiştirdi. Bu adım tamamlandıktan sonra, saldırgan işlemler oluşturabilir ve sözleşmeden istedikleri kadar fon çekebilir.
Saldırı Süreci
Saldırgan önce EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunu çağırarak putCurEpochConPubKeyBytes fonksiyonunu kullanarak keeper'ı değiştirdi.
Ardından, saldırgan bir dizi saldırı işlemi gerçekleştirmeye başladı ve sözleşmeden para çekti.
Keeper değiştirildiği için diğer kullanıcıların normal işlemleri reddedildi.
Benzer saldırı yöntemleri Ethereum ağında da uygulanmaktadır, süreç büyük ölçüde aynıdır.
Olaydan Çıkarım
Bu olay, akıllı sözleşme tasarımındaki önemli bir açığı ortaya çıkardı. EthCrossChainData sözleşmesinin keeper'ı, EthCrossChainManager sözleşmesi tarafından değiştirilebilir ve bu sözleşmenin verifyHeaderAndExecuteTx fonksiyonu, kullanıcı tarafından girilen verileri çalıştırabilir. Bu tasarım, saldırganlara fırsat sunmaktadır.
Bu saldırı, keeper'ın özel anahtarının sızdırılması nedeniyle değil, sözleşme tasarımındaki bir açığın varlığından kaynaklanmaktadır. Bu, bize, cross-chain protokolü tasarlarken yetki yönetimi ve veri doğrulama mekanizmalarını daha dikkatli bir şekilde düşünmemiz gerektiğini hatırlatıyor, böylece benzer güvenlik olaylarının bir daha yaşanmasını önleyebiliriz.
Tüm blockchain sektörü için bu olay, güvenlik denetimlerinin önemini bir kez daha vurgulamaktadır. Görünüşte mükemmel olan protokoller bile gözden kaçan açıklar içerebilir. Sürekli güvenlik kontrolleri ve açıkların kapatılması, kullanıcı varlıklarının güvenliğini sağlamak için hayati öneme sahiptir.
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.
16 Likes
Reward
16
4
Share
Comment
0/400
SundayDegen
· 07-14 15:39
Yine de bir sıfır koruma eklemek gerekiyor.
View OriginalReply0
GasGrillMaster
· 07-14 15:36
Yine bir sorun çıktı, kayboldu gitti.
View OriginalReply0
RooftopVIP
· 07-14 15:29
Yine çatıya çıkıp güneşlenmek gerek.
View OriginalReply0
TokenCreatorOP
· 07-14 15:22
Klasik işlem... enayiler için biçme makinesi işte.
Cross-chain protokol sözleşme açığı hacker saldırısına uğradı. Güvenlik tasarımı yeniden alarm veriyor.
Cross-chain protokol açığı büyük bir güvenlik olayına yol açtı
Son zamanlarda, tanınmış bir cross-chain etkileşim protokolü bir siber saldırıya uğradı ve bu olay sektörde geniş bir ilgi uyandırdı. Profesyonel güvenlik ekiplerinin analizine göre, bu saldırı anahtar sızıntısı nedeniyle gerçekleşmedi, aksine saldırganlar sözleşme açığını ustaca kullanarak kritik parametreleri değiştirdi.
Saldırı Çekirdeği
Saldırının anahtarı, EthCrossChainManager sözleşmesindeki verifyHeaderAndExecuteTx fonksiyonudur. Bu fonksiyon, belirli bir cross-chain işlemini _executeCrossChainTx fonksiyonu aracılığıyla gerçekleştirebilir. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu sözleşme, sözleşmenin keeper'ını değiştirmek için önceki sözleşmenin putCurEpochConPubKeyBytes fonksiyonunu çağırabilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özenle tasarlanmış veriler göndererek _executeCrossChainTx fonksiyonunun çalıştırılmasını tetikledi ve böylece EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırarak keeper rolünü saldırganın belirttiği adrese değiştirdi. Bu adım tamamlandıktan sonra, saldırgan işlemler oluşturabilir ve sözleşmeden istedikleri kadar fon çekebilir.
Saldırı Süreci
Saldırgan önce EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunu çağırarak putCurEpochConPubKeyBytes fonksiyonunu kullanarak keeper'ı değiştirdi.
Ardından, saldırgan bir dizi saldırı işlemi gerçekleştirmeye başladı ve sözleşmeden para çekti.
Keeper değiştirildiği için diğer kullanıcıların normal işlemleri reddedildi.
Benzer saldırı yöntemleri Ethereum ağında da uygulanmaktadır, süreç büyük ölçüde aynıdır.
Olaydan Çıkarım
Bu olay, akıllı sözleşme tasarımındaki önemli bir açığı ortaya çıkardı. EthCrossChainData sözleşmesinin keeper'ı, EthCrossChainManager sözleşmesi tarafından değiştirilebilir ve bu sözleşmenin verifyHeaderAndExecuteTx fonksiyonu, kullanıcı tarafından girilen verileri çalıştırabilir. Bu tasarım, saldırganlara fırsat sunmaktadır.
Bu saldırı, keeper'ın özel anahtarının sızdırılması nedeniyle değil, sözleşme tasarımındaki bir açığın varlığından kaynaklanmaktadır. Bu, bize, cross-chain protokolü tasarlarken yetki yönetimi ve veri doğrulama mekanizmalarını daha dikkatli bir şekilde düşünmemiz gerektiğini hatırlatıyor, böylece benzer güvenlik olaylarının bir daha yaşanmasını önleyebiliriz.
Tüm blockchain sektörü için bu olay, güvenlik denetimlerinin önemini bir kez daha vurgulamaktadır. Görünüşte mükemmel olan protokoller bile gözden kaçan açıklar içerebilir. Sürekli güvenlik kontrolleri ve açıkların kapatılması, kullanıcı varlıklarının güvenliğini sağlamak için hayati öneme sahiptir.