Merkezi Olmayan Finans sık karşılaşılan güvenlik açıklarının analizi: Flaş Krediler, fiyat manipülasyonu ve yeniden giriş saldırılarının önlenmesi

robot
Abstract generation in progress

Merkezi Olmayan Finans Yaygın Güvenlik Açıkları ve Önleme Önlemleri

Son günlerde, bir güvenlik uzmanı topluluk üyeleri için bir Merkezi Olmayan Finans güvenlik dersi paylaştı. Geçtiğimiz bir yıl içinde Web3 sektörünün karşılaştığı önemli güvenlik olaylarını gözden geçirdi, bu olayların nedenlerini ve nasıl önlenebileceğini tartıştı, yaygın akıllı sözleşmelerin güvenlik açıklarını ve önleme yöntemlerini özetledi ve projelerin sahiplerine ve sıradan kullanıcılara bazı güvenlik önerileri sundu.

Yaygın DeFi açık türleri genellikle flash loan, fiyat manipülasyonu, fonksiyon izin sorunları, rastgele dış çağrılar, fallback fonksiyonu sorunları, iş mantığı açıkları, özel anahtar sızıntısı, reentrancy gibi sorunlardır. Aşağıda flash loan, fiyat manipülasyonu ve reentrancy saldırısı bu üç tür üzerinde durulacaktır.

Cobo Merkezi Olmayan Finans güvenlik dersi (2. bölüm): Merkezi Olmayan Finans'ta yaygın güvenlik açıkları ve önleme

Hızlı Kredi

Açık kredi, DeFi'nin bir yeniliği olmasına rağmen, hackerlar tarafından kullanıldığında büyük kayıplara neden olabilir:

  • Saldırgan, flash loan aracılığıyla büyük miktarda fon borç alarak fiyatları manipüle eder, iş mantığına saldırır vb.
  • Geliştiricilerin, sözleşme fonksiyonlarının büyük miktarda fon nedeniyle anormal hale gelip gelmeyeceğini veya kötüye kullanılmak suretiyle haksız kazanç elde edilip edilmeyeceğini dikkate alması gerekir.
  • Bazı projeler, işlevleri tasarlarken flash loan'ın etkisini göz önünde bulundurmadı ve bu da fonların çalınmasına neden oldu.

Son iki yılda birçok flash kredi ile ilgili sorun ortaya çıktı. Bazı projeler yüksek getiri sağlıyormuş gibi görünüyor, ancak aslında mantık hataları var, örneğin:

  • Belirli zamanlarda pozisyon miktarına göre ödül dağıtımı yapılır, hızlı krediler kullanılarak büyük ödüller elde edilir.
  • Token ile fiyat hesaplayan projeler, anlık kredi ile fiyatı etkileyebilir.

Proje tarafı bu sorunlara karşı dikkatli olmalıdır.

Fiyat Manipülasyonu

Fiyat manipülasyonu sorunu ile flash kredi arasındaki ilişki yakından bağlantılıdır, temel olarak iki tür vardır:

  1. Fiyat hesaplama sırasında üçüncü taraf verileri kullanılır, ancak kullanım şekli yanlış veya kontrol eksik.
  2. Belirli adreslerin Token miktarını hesaplama değişkeni olarak kullanmak ve bu miktarların geçici olarak manipüle edilebilmesi.

Yeniden Giriş Saldırısı

Dış sözleşmeleri çağırmak, kontrol akışının ele geçirilmesine ve verilerin beklenmedik bir şekilde değiştirilmesine neden olabilir. Tipik bir yeniden giriş saldırısı örneği:

katılık mapping (address => uint) private userBalances;

function withdrawBalance() public { uint miktarCekilecek = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(başarı); userBalances[msg.sender] = 0; }

Kullanıcı bakiyesi yalnızca işlevin sonunda 0 olarak ayarlandığından, tekrar eden çağrılar bakiyeyi birden fazla kez çekebilir.

Reentrancy sorununu çözmek için dikkat edilmesi gerekenler:

  1. Sadece tek bir fonksiyonun yeniden girmesini önlemekle kalmaz
  2. Checks-Effects-Interactions modeline uyun
  3. Doğrulanmış reentrancy modifikatorünü kullanın

Gelişmiş en iyi güvenlik uygulamalarını kullanmanızı öneririm, tekerleği yeniden icat etmekten kaçının.

Güvenlik Önerileri

Proje sahiplerine öneriler:

  1. Sözleşme geliştirmede en iyi güvenlik uygulamalarına uyun
  2. Sözleşmenin güncellenebilir, durdurulabilir işlevselliğini sağlamak
  3. Zaman kilidi kullanma
  4. Güvenlik yatırımlarını artırmak ve kapsamlı bir güvenlik sistemi kurmak
  5. Tüm çalışanların güvenlik farkındalığını artırmak
  6. İçeriden kötü niyetli davranışları önlemek, verimliliği artırırken risk kontrolünü güçlendirmek.
  7. Üçüncü tarafları dikkatli bir şekilde dahil edin, varsayılan olarak yukarı ve aşağı akışın güvenli olmadığını kabul edin.

Kullanıcılar akıllı sözleşmelerin güvenli olup olmadığını nasıl belirler:

  1. Sözleşmenin açık kaynak olup olmadığını kontrol edin
  2. Owner'ın merkeziyetsiz çok imzalı olup olmadığını kontrol et
  3. Sözleşmenin mevcut işlem durumunu kontrol et
  4. Sözleşmenin yükseltilebilir olup olmadığını ve zaman kilidi olup olmadığını kontrol edin.
  5. Birden fazla kuruluşun denetimini kabul edip etmediğini kontrol et, Owner yetkisi fazla mı.
  6. Oracle'ın güvenilirliğine dikkat edin

Sonuç olarak, DeFi alanında, hem proje sahiplerinin hem de sıradan kullanıcıların güvenlik bilincini artırması, gerekli güvenlik önlemlerini alması gerekmektedir, böylece riskleri azaltabilir ve varlık güvenliğini koruyabilirler.

DEFI-6.17%
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
  • Repost
  • Share
Comment
0/400
TooScaredToSellvip
· 08-11 10:27
O kadar kuraldan bahsetme, doğrudan coin pazarına girmek asıl mesele.
View OriginalReply0
MysteryBoxBustervip
· 08-11 08:22
Yine Flaş Krediler hakkında anlıyormuş gibi mi yapıyorsun...
View OriginalReply0
GhostWalletSleuthvip
· 08-09 18:44
Rug Pull yapmak gerçek bir kara teknolojidir.
View OriginalReply0
CodeAuditQueenvip
· 08-09 18:43
Bu sadece web1 döneminin enjeksiyon açığının bir katman değiştirmesi.
View OriginalReply0
MoonlightGamervip
· 08-09 18:39
Kim dedi ki defi'nin yeni bir oyunu yok? Bu işte geldi!
View OriginalReply0
HashBanditvip
· 08-09 18:36
bruh 2021'de flashloan istismarı nedeniyle 50 eth kaybetti... hala bana kabuslar veriyor aslında
View OriginalReply0
OneBlockAtATimevip
· 08-09 18:16
Yine emiciler tarafından oyuna getirildim.
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)