Son günlerde, çapraz zincir etkileşim protokolü Poly Network, bir Hacker saldırısına uğradı ve geniş bir dikkat çekti. Güvenlik ekibinin analizine göre, bu saldırı keeper özel anahtarının sızması nedeniyle gerçekleşmedi, aksine saldırgan, ustaca yapılandırılmış veriler kullanarak, sözleşme açığını kullanarak EthCrossChainData sözleşmesinin keeper adresini değiştirdi.
Saldırı Prensibi
Saldırının temelinde EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunun çapraz zincir işlemleri gerçekleştirebilmesi yatmaktadır. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu nedenle, ilki, keeper'ı değiştirmek için ikincinin putCurEpochConPubKeyBytes fonksiyonunu çağırabilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özenle hazırlanmış veriler göndererek, iç çağrı ile _executeCrossChainTx fonksiyonunu kullanmış ve nihayetinde EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çalıştırarak keeper rolünü saldırganın belirlediği adrese değiştirmiştir.
Keeper rolü değiştirildikten sonra, saldırgan istediği gibi işlemler oluşturabilir ve sözleşmeden herhangi bir miktarda 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ştirdi ve sözleşmeden fonları çekti.
Keeper'in değiştirilmesi nedeniyle diğer kullanıcıların normal işlemleri reddedildi.
Benzer saldırılar Ethereum ağında da yapılmakta, saldırı yöntemi aynıdır.
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 sağlanan verileri çalıştırabilmektedir. Saldırgan, bu tasarım hatasını kullanarak belirli veriler oluşturarak EthCrossChainData sözleşmesinin keeper adresini değiştirmiş ve böylece saldırı amacına ulaşmıştır.
Bu olay, zincirler arası protokoller tasarlarken yetki yönetimi ve veri doğrulamasına özellikle dikkat edilmesi gerektiğini bir kez daha hatırlatıyor. Benzer güvenlik açıklarının istismar edilmesini önlemek için. Aynı zamanda, potansiyel güvenlik risklerini zamanında tespit etmek ve düzeltmek için düzenli güvenlik denetimleri ve hata ödül programlarının önemini de vurguluyor.
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.
24 Likes
Reward
24
5
Share
Comment
0/400
MetaDreamer
· 07-04 18:08
Bir başka mantı alındı.
View OriginalReply0
CoffeeNFTs
· 07-02 15:50
akıllı sözleşmeler tekrar mı patladı? Bu devirde hala coin saklamaya cesaret mi ediyorsun
View OriginalReply0
ShitcoinConnoisseur
· 07-02 15:48
Yine bir akıllı sözleşme sömürüldü.
View OriginalReply0
LayoffMiner
· 07-02 15:47
Güvenlik açığı tekrar geldi, kaçtım kaçtım.
View OriginalReply0
HodlVeteran
· 07-02 15:31
Her yıl enayiler insanları enayi yerine koymak alıştık.
Poly Network, Hacker saldırısına uğradı: EthCrossChainManager sözleşmesi açığı nedeniyle fon kaybı
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 geniş bir dikkat çekti. Güvenlik ekibinin analizine göre, bu saldırı keeper özel anahtarının sızması nedeniyle gerçekleşmedi, aksine saldırgan, ustaca yapılandırılmış veriler kullanarak, sözleşme açığını kullanarak EthCrossChainData sözleşmesinin keeper adresini değiştirdi.
Saldırı Prensibi
Saldırının temelinde EthCrossChainManager sözleşmesinin verifyHeaderAndExecuteTx fonksiyonunun çapraz zincir işlemleri gerçekleştirebilmesi yatmaktadır. EthCrossChainData sözleşmesinin sahibi EthCrossChainManager sözleşmesi olduğundan, bu nedenle, ilki, keeper'ı değiştirmek için ikincinin putCurEpochConPubKeyBytes fonksiyonunu çağırabilir.
Saldırgan, verifyHeaderAndExecuteTx fonksiyonuna özenle hazırlanmış veriler göndererek, iç çağrı ile _executeCrossChainTx fonksiyonunu kullanmış ve nihayetinde EthCrossChainData sözleşmesinin putCurEpochConPubKeyBytes fonksiyonunu çalıştırarak keeper rolünü saldırganın belirlediği adrese değiştirmiştir.
Keeper rolü değiştirildikten sonra, saldırgan istediği gibi işlemler oluşturabilir ve sözleşmeden herhangi bir miktarda 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ştirdi ve sözleşmeden fonları çekti.
Keeper'in değiştirilmesi nedeniyle diğer kullanıcıların normal işlemleri reddedildi.
Benzer saldırılar Ethereum ağında da yapılmakta, saldırı yöntemi aynıdır.
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 sağlanan verileri çalıştırabilmektedir. Saldırgan, bu tasarım hatasını kullanarak belirli veriler oluşturarak EthCrossChainData sözleşmesinin keeper adresini değiştirmiş ve böylece saldırı amacına ulaşmıştır.
Bu olay, zincirler arası protokoller tasarlarken yetki yönetimi ve veri doğrulamasına özellikle dikkat edilmesi gerektiğini bir kez daha hatırlatıyor. Benzer güvenlik açıklarının istismar edilmesini önlemek için. Aynı zamanda, potansiyel güvenlik risklerini zamanında tespit etmek ve düzeltmek için düzenli güvenlik denetimleri ve hata ödül programlarının önemini de vurguluyor.