Son günlerde, çapraz zincir etkileşim protokolü Poly Network, bir Hacker saldırısına uğradı ve bu durum sektörde geniş yankı uyandırdı. Güvenlik ekibinin analizine göre, bu saldırı keeper özel anahtarının sızdırılmasıyla değil, saldırganın dikkatlice yapılandırılmış verilerle EthCrossChainData sözleşmesinin keeper adresini değiştirmesiyle gerçekleşti.
Saldırı Çekirdeği
Saldırının anahtarı, EthCrossChainManager sözleşmesindeki verifyHeaderAndExecuteTx fonksiyonundadır. Bu fonksiyon, _executeCrossChainTx fonksiyonu aracılığıyla belirli bir çapraz zincir işlemini gerçekleştirebilir. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu sonuncusu EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırarak sözleşmenin keeper'ını değiştirebilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özel veriler geçirerek, _executeCrossChainTx fonksiyonunun EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırmasını sağlıyor ve böylece keeper rolünü saldırganın belirlediği adrese değiştiriyor. Bu adım tamamlandıktan sonra, saldırgan sözleşmeden istedikleri kadar fon akışı sağlamak için işlem oluşturabiliyor.
Ardından, saldırgan bir dizi saldırı işlemi gerçekleştirdi ve sözleşmeden fonları çıkardı.
Keeper'ın değiştirilmesi nedeniyle diğer kullanıcıların normal işlemleri reddedildi.
Benzer saldırı yöntemleri Ethereum ağında da kullanıldı, saldırganlar da keeper'ı değiştirip saldırıyı gerçekleştirdi.
Sonuç
Bu saldırının temelinde, EthCrossChainData sözleşmesinin keeper'ının EthCrossChainManager sözleşmesi tarafından değiştirilebilmesi yatmaktadır. Ayrıca, EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonu, kullanıcı tarafından sağlanan verileri yürütme yeteneğine sahiptir. Saldırganlar, bu mekanizmayı kullanarak belirli verileri yapılandırmış ve EthCrossChainData sözleşmesinin keeper adresini değiştirmiştir, böylece saldırı amacına ulaşmışlardır.
Bu olay, özellikle kritik rol yönetimi ve yetki kontrolü açısından, çapraz zincir protokollerinin güvenliğinin önemini bir kez daha hatırlatıyor. Gelecekte, benzer projelerin tasarımında daha dikkatli olunması ve saldırganlar tarafından kullanılabilecek açıkların ortaya çıkmasının önlenmesi gerekiyor.
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.
9 Likes
Reward
9
5
Repost
Share
Comment
0/400
TestnetNomad
· 7h ago
Ah bir başka çalınan, yine aynı tuzaklar.
View OriginalReply0
NotSatoshi
· 08-16 15:15
Blok Zinciri piyasa öğretmeni
View OriginalReply0
GateUser-7b078580
· 08-16 15:11
Yine akıllı sözleşmelerin bir açığı. Kaç sözleşme güvenilir kaldı?
Poly Network, Hacker saldırısına uğradı: EthCrossChainData sözleşmesi keeper'ı değiştirilmiş.
Poly Network'in Hacker Saldırısı Olayı Analizi
Son günlerde, çapraz zincir etkileşim protokolü Poly Network, bir Hacker saldırısına uğradı ve bu durum sektörde geniş yankı uyandırdı. Güvenlik ekibinin analizine göre, bu saldırı keeper özel anahtarının sızdırılmasıyla değil, saldırganın dikkatlice yapılandırılmış verilerle EthCrossChainData sözleşmesinin keeper adresini değiştirmesiyle gerçekleşti.
Saldırı Çekirdeği
Saldırının anahtarı, EthCrossChainManager sözleşmesindeki verifyHeaderAndExecuteTx fonksiyonundadır. Bu fonksiyon, _executeCrossChainTx fonksiyonu aracılığıyla belirli bir çapraz zincir işlemini gerçekleştirebilir. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu sonuncusu EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırarak sözleşmenin keeper'ını değiştirebilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özel veriler geçirerek, _executeCrossChainTx fonksiyonunun EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırmasını sağlıyor ve böylece keeper rolünü saldırganın belirlediği adrese değiştiriyor. Bu adım tamamlandıktan sonra, saldırgan sözleşmeden istedikleri kadar fon akışı sağlamak için işlem oluşturabiliyor.
Saldırı Süreci
Saldırgan, 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ştirdi ve sözleşmeden fonları çıkardı.
Keeper'ın değiştirilmesi nedeniyle diğer kullanıcıların normal işlemleri reddedildi.
Benzer saldırı yöntemleri Ethereum ağında da kullanıldı, saldırganlar da keeper'ı değiştirip saldırıyı gerçekleştirdi.
Sonuç
Bu saldırının temelinde, EthCrossChainData sözleşmesinin keeper'ının EthCrossChainManager sözleşmesi tarafından değiştirilebilmesi yatmaktadır. Ayrıca, EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonu, kullanıcı tarafından sağlanan verileri yürütme yeteneğine sahiptir. Saldırganlar, bu mekanizmayı kullanarak belirli verileri yapılandırmış ve EthCrossChainData sözleşmesinin keeper adresini değiştirmiştir, böylece saldırı amacına ulaşmışlardır.
Bu olay, özellikle kritik rol yönetimi ve yetki kontrolü açısından, çapraz zincir protokollerinin güvenliğinin önemini bir kez daha hatırlatıyor. Gelecekte, benzer projelerin tasarımında daha dikkatli olunması ve saldırganlar tarafından kullanılabilecek açıkların ortaya çıkmasının önlenmesi gerekiyor.