Son günlerde, çoklu zincir etkileşim protokolü Poly Network, bir hacker saldırısına uğradı ve bu durum sektörde geniş bir ilgi uyandırdı. Güvenlik ekibinin analizi, bu saldırının keeper özel anahtarının sızdırılmasından kaynaklanmadığını, aksine saldırganların özenle yapılandırılmış verilerle EthCrossChainData sözleşmesinin keeper adresini değiştirdiklerini göstermektedir.
Saldırı Çekirdeği
Saldırının temelinde EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunun _executeCrossChainTx fonksiyonu aracılığıyla belirli bir çapraz zincir işlemini gerçekleştirebilmesidir. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu sonuncusu öncekisinin putCurEpochConPubKeyBytes fonksiyonunu çağırarak sözleşmenin keeper'ını değiştirebilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özenle hazırlanmış veriler göndererek _executeCrossChainTx fonksiyonunun EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırmasını sağlar ve böylece keeper rolünü saldırganın belirlediği adrese değiştirir. Bu adım tamamlandığında, saldırgan sözleşmeden herhangi bir miktarda para çekmek için işlem oluşturabilir.
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ştirdi ve sözleşmeden fonları çekti.
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 BSC üzerinde gerçekleşmiyor, Ethereum ağında da benzer işlemler ortaya çıkıyor.
Sonuç
Bu saldırının anahtarı, EthCrossChainData sözleşmesinin keeper'ının EthCrossChainManager sözleşmesi tarafından değiştirilebilmesiydi. Sonuncusunun verifyHeaderAndExecuteTx fonksiyonu, _executeCrossChainTx fonksiyonu aracılığıyla kullanıcıdan gelen verileri yürütme yeteneğine sahipti. Saldırgan, bu tasarım açığını kullanarak belirli veriler oluşturarak EthCrossChainData sözleşmesinin keeper adresini değiştirdi ve böylece saldırı amacına ulaştı.
Bu olay, çapraz zincir protokollerinin güvenliğinin önemini bir kez daha vurguladı ve geliştiricilere akıllı sözleşmeler tasarlarken daha dikkatli olmaları gerektiğini hatırlattı; özellikle de kritik rol izin değişiklikleriyle ilgili işlevlerde. Aynı zamanda, kullanıcılar için de çapraz zincir hizmetlerini kullanırken dikkatli olmaları ve ilgili güvenlik gelişmelerini takip etmeleri önemlidir.
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.
15 Likes
Reward
15
4
Share
Comment
0/400
LiquidatedAgain
· 08-03 22:02
Kod açıklarının sonuçları çok kötü.
View OriginalReply0
MoonBoi42
· 08-01 16:37
Kötü oldu kötü oldu, kripto dünyası yine bir sorun çıkardı.
Poly Network, Hacker saldırısına uğradı EthCrossChainData sözleşme açığı kullanıldı
Poly Network'in Hacker Saldırısı Olayı Analizi
Son günlerde, çoklu zincir etkileşim protokolü Poly Network, bir hacker saldırısına uğradı ve bu durum sektörde geniş bir ilgi uyandırdı. Güvenlik ekibinin analizi, bu saldırının keeper özel anahtarının sızdırılmasından kaynaklanmadığını, aksine saldırganların özenle yapılandırılmış verilerle EthCrossChainData sözleşmesinin keeper adresini değiştirdiklerini göstermektedir.
Saldırı Çekirdeği
Saldırının temelinde EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunun _executeCrossChainTx fonksiyonu aracılığıyla belirli bir çapraz zincir işlemini gerçekleştirebilmesidir. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu sonuncusu öncekisinin putCurEpochConPubKeyBytes fonksiyonunu çağırarak sözleşmenin keeper'ını değiştirebilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özenle hazırlanmış veriler göndererek _executeCrossChainTx fonksiyonunun EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çağırmasını sağlar ve böylece keeper rolünü saldırganın belirlediği adrese değiştirir. Bu adım tamamlandığında, saldırgan sözleşmeden herhangi bir miktarda para çekmek için işlem oluşturabilir.
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ştirdi ve sözleşmeden fonları çekti.
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 BSC üzerinde gerçekleşmiyor, Ethereum ağında da benzer işlemler ortaya çıkıyor.
Sonuç
Bu saldırının anahtarı, EthCrossChainData sözleşmesinin keeper'ının EthCrossChainManager sözleşmesi tarafından değiştirilebilmesiydi. Sonuncusunun verifyHeaderAndExecuteTx fonksiyonu, _executeCrossChainTx fonksiyonu aracılığıyla kullanıcıdan gelen verileri yürütme yeteneğine sahipti. Saldırgan, bu tasarım açığını kullanarak belirli veriler oluşturarak EthCrossChainData sözleşmesinin keeper adresini değiştirdi ve böylece saldırı amacına ulaştı.
Bu olay, çapraz zincir protokollerinin güvenliğinin önemini bir kez daha vurguladı ve geliştiricilere akıllı sözleşmeler tasarlarken daha dikkatli olmaları gerektiğini hatırlattı; özellikle de kritik rol izin değişiklikleriyle ilgili işlevlerde. Aynı zamanda, kullanıcılar için de çapraz zincir hizmetlerini kullanırken dikkatli olmaları ve ilgili güvenlik gelişmelerini takip etmeleri önemlidir.