akıllı sözleşmeler DoS saldırı riski ve önleme stratejileri analizi

robot
Abstract generation in progress

Akıllı sözleşmelerde hizmet reddi saldırısı

hizmet reddi saldırısı(DoS) saldırıları, akıllı sözleşmelerin belirli bir süre boyunca hatta kalıcı olarak düzgün çalışamamasına yol açabilir. Temel nedenler şunlardır:

  1. Sözleşme mantığında eksiklikler var. Örneğin, bazı public fonksiyonların implementasyonu hesaplama karmaşıklığını dikkate almadı, bu da Gas sınırını aşarak işlemlerin başarısız olmasına neden olabilir.

  2. Akıllı sözleşmeler arası çağrı senaryolarında, sözleşme yürütmesi dış sözleşme durumuna bağımlıdır. Dış sözleşmenin yürütülmesinin güvenilir olmaması, bu sözleşmenin çalışmasını engelleyebilir, örneğin fonların kilitlenmesi nedeniyle yatırma veya çekme işlemleri yapılamaz.

  3. İnsan faktörleri, örneğin sözleşme sahibinin özel anahtarını kaybetmesi, kritik sistem durumunun güncellenememesine neden olur.

Aşağıda belirli örneklerle DoS saldırı açığını analiz edeceğiz.

1. Dışarıdan değiştirilebilen büyük veri yapılarının döngüsel olarak gezilmesi

Aşağıda kayıtlı kullanıcılara "kar payı" vermek için basit bir akıllı sözleşme bulunmaktadır:

Sözleşme durumu, kayıtlı kullanıcı listesini ve hesap bakiye eşlemesini içerir. Kullanıcılar register_account() aracılığıyla kayıt olabilir ve başlatabilir.

Yönetici, kullanıcılara kar payı vermek için distribute_token() aracılığıyla registered dizisini dolaşarak her bir kullanıcıya belirli miktarda token transfer eder.

Sorun, registered boyutunun sınırsız olması ve kötü niyetli bir şekilde manipüle edilebilmesidir; bu da dolaşım sırasında Gas tüketiminin sınırları aşmasına neden olmaktadır.

Önerilen çözüm:

  • Veri yapısının boyutunu sınırlayın, maksimum değere ulaşıldığında bile Gas kısıtlamasını aşmamayı sağlayın.
  • Çekim modunu benimseyin, önce muhasebe yapın, kullanıcı ödüllerini withdraw ile geri alır.

2. Akıllı sözleşmeler arası durum bağımlılığı nedeniyle tıkanma

Bir "ihale" sözleşmesi senaryosunu düşünün:

  • Mevcut en yüksek teklif veren ve miktarını kaydedin
  • Kullanıcılar hesap kaydedip teklif vermeye katılabilir.
  • Mevcut en yüksek fiyatın üzerinde bir teklif verildiğinde, önceki en yüksek fiyat geri verilir, durum güncellenir.

Sorun, geri ödemenin dış sözleşme durumuna bağlı olmasıdır. Eğer daha önceki en yüksek teklif sahibinin hesabı kapatıldıysa, geri ödeme başarısız olur ve en yüksek fiyat güncellenemez, bu da tüm açık artırma sürecinin engellenmesine neden olur.

Çözüm: Dış çağrıların başarısız olabileceğini göz önünde bulundurarak, makul bir hata işleme uygulayın. Örneğin, geri alınamayan fonları geçici olarak saklayın ve ardından kullanıcıların bunları ayrı olarak çekmelerine izin verin.

3. Yönetici özel anahtarın kaybolması

Bazı kritik fonksiyonlar (, örneğin işlemleri duraklatma/yeniden başlatma ) yalnızca yöneticiler tarafından çağrılabilir. Yöneticinin özel anahtarının kaybolması, bu işlevlerin kullanılamaz hale gelmesine neden olacak ve sözleşme uzun süre düzgün çalışamayabilir.

Çözüm: Tek bir yöneticiyi yerine çoklu imza mekanizması kullanarak merkeziyetsiz yönetim sağlamak, tek noktada arıza riskini önlemek.

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
  • 7
  • Share
Comment
0/400
NFTFreezervip
· 07-16 03:27
Zaten tahmin ediliyordu, numara çalındı, işte bu kadar.
View OriginalReply0
BridgeJumpervip
· 07-15 12:26
Özel Anahtar'ı kaybettin, neden kaybolan pantolondan bahsetmiyorsun?
View OriginalReply0
AirdropF5Brovip
· 07-13 07:29
Patron, önce çoklu imza atın, bir önlem alın.
View OriginalReply0
MetaEggplantvip
· 07-13 07:28
Testin gerçekten maliyeti biraz yüksek.
View OriginalReply0
Ser_This_Is_A_Casinovip
· 07-13 07:26
Çok kötü, dos'un sadece web ile ilgilenebileceğini sanıyordum.
View OriginalReply0
RiddleMastervip
· 07-13 07:13
Özel Anahtar kaybolursa doğrudan gönder!
View OriginalReply0
NFTBlackHolevip
· 07-13 07:13
Yine cüzdanla bir şeyler yapıyor.
View OriginalReply0
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)