Cross-chain protokol güvenlik açığı analizi: Saldırganlar nasıl keeper'ı değiştirerek fon kontrolünü ele geçirir?

robot
Abstract generation in progress

Cross-chain protokol güvenlik açığına uğradı: Derinlemesine bir analiz

Son zamanlarda, bir cross-chain etkileşim protokolü ciddi bir güvenlik açığı ile karşılaştı ve bu durum sektörde geniş bir ilgi uyandırdı. Güvenlik uzmanları ekibi bu olayı ayrıntılı olarak analiz etti ve saldırganların nasıl sözleşme açığını kullanarak yetki elde ettiğini ve nihayetinde saldırıyı gerçekleştirdiğini ortaya koydu.

Saldırı Prensibi

Analizler, bu saldırının merkezinin protokoldeki bir ana sözleşme fonksiyonundaki bir açığın bulunduğunu göstermektedir. Saldırganlar, özenle oluşturulmuş verilerle, başka bir önemli sözleşmedeki yönetici adresini başarıyla değiştirmiş ve böylece fonlar üzerindeki kontrolü elde etmiştir. Bu, daha önceki yönetici özel anahtarının sızdığına dair iddialarla çelişmektedir.

Saldırı Ayrıntıları

  1. Saldırgan, cross-chain işlemleri gerçekleştirebilen verifyHeaderAndExecuteTx adlı bir fonksiyonu kullandı.

  2. Sözleşmeler arasındaki mülkiyet ilişkisi nedeniyle, saldırgan yukarıda belirtilen fonksiyonu kullanarak başka bir sözleşmenin putCurEpochConPubKeyBytes fonksiyonunu çağırarak kritik keeper rolünü değiştirebiliyor.

  3. Saldırgan, verifyHeaderAndExecuteTx fonksiyonunun putCurEpochConPubKeyBytes fonksiyonunu dolaylı olarak çağırmasını sağlayacak şekilde belirli bir işlem verisi oluşturdu ve keeper rolünü saldırganın kontrolündeki bir adrese değiştirdi.

  4. 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 öncelikle bir blok zinciri ağında saldırıyı başlatarak, dikkatlice tasarlanmış işlemlerle keeper adresini değiştirdi. Ardından, saldırgan sürekli olarak birden fazla işlem gerçekleştirerek saldırıya uğrayan sözleşmeden büyük miktarda para çekti.

Saldırı tamamlandıktan sonra, keeper değiştirildiği için diğer kullanıcıların normal işlemleri reddedildi.

Dikkate değer olan, saldırganların benzer bir yöntemi başka bir ana akım blok zinciri ağında da saldırı gerçekleştirmek için kullanmalarıdır; bu, planlı bir çapraz zincir saldırısı eylemi olduğunu göstermektedir.

Özet

Bu saldırı olayının temel nedeni, protokol tasarımındaki açıkların varlığıdır. Saldırganlar, akıllı sözleşmeler arasındaki çağrı ilişkisini ve yetki ayarlarını ustaca kullanarak, özel işlem verileri oluşturarak, kritik keeper adresini başarıyla değiştirdiler. Bu bulgu, daha önceki özel anahtar sızıntısı ile ilgili yanlış varsayımları düzeltmiş olup, benzer protokollerin güvenlik tasarımı için önemli bir referans sağlamaktadır.

Bu olay, merkeziyetsiz finans protokollerinin güvenlik açısından karşılaştığı zorlukları bir kez daha vurguladı ve geliştiricilere, cross-chain etkileşim işlevlerini tasarlarken daha dikkatli olmaları gerektiğini, çeşitli olası saldırı senaryolarını dikkate almaları gerektiğini hatırlattı.

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.
  • Reward
  • 5
  • Share
Comment
0/400
BuyHighSellLowvip
· 07-21 18:25
Aşırı, yine kaybettim. Sözleşmeyi incelemem için beni çağırmadınız, değil mi?
View OriginalReply0
MetaRecktvip
· 07-19 15:28
Tsk tsk, akıllı sözleşme kodu incelemesi yeterince dikkatli değil.
View OriginalReply0
zkProofInThePuddingvip
· 07-19 15:27
Bir başka akıllı sözleşmeler açığı istismar edildi.
View OriginalReply0
screenshot_gainsvip
· 07-19 15:21
Ne kadar kötü, bu kadar kolay bir şekilde karalanmış.
View OriginalReply0
GateUser-aa7df71evip
· 07-19 15:18
Aman Tanrım, cross-chain yine sorun çıkardı, bu projeler neden her gün Klip Kuponlar ile soyuluyor?
View OriginalReply0
  • Pin
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)