Merkezi Olmayan Finans güvenlik saldırı ve savunma: Yaygın açıklar ve koruma stratejileri tam analizi

robot
Abstract generation in progress

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

Son zamanlarda, bir sektör uzmanı DeFi güvenliği hakkında görüşlerini paylaştı. Web3 sektörünün geçtiğimiz yıl içinde yaşadığı ö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şme güvenlik açıklarını ve önleme tedbirlerini özetledi ve proje sahipleri ile sıradan kullanıcılara bazı güvenlik önerileri sundu.

Yaygın DeFi güvenlik açıkları temel olarak hızlı kredi, fiyat manipülasyonu, fonksiyon yetki sorunları, rastgele dış çağrılar, fallback fonksiyonu sorunları, iş mantığı açıkları, özel anahtar sızıntıları ve yeniden giriş gibi türleri içerir. Aşağıda hızlı kredi, fiyat manipülasyonu ve yeniden giriş saldırıları bu üç tür üzerinde durulacaktır.

Hızlı Kredi

Lightning loan, merkezi olmayan finansın bir inovasyonu olmasına rağmen, sıklıkla hackerlar tarafından kullanılmaktadır. Saldırganlar, lightning loan aracılığıyla büyük miktarda fon ödünç alarak fiyatları manipüle edebilir veya iş mantığını saldırıya uğratabilir. Geliştiricilerin, sözleşme işlevlerinin büyük miktardaki fonlar nedeniyle anormal hale gelip gelmeyeceğini veya büyük miktarda fonla tek bir işlemde birden fazla fonksiyonla etkileşime girerek haksız ödüller elde etme olasılığını dikkate alması gerekmektedir.

Birçok Merkezi Olmayan Finans projesi yüksek kazanç sağlıyormuş gibi görünse de, aslında proje sahiplerinin seviyeleri farklılık göstermektedir. Bazı projeler satın alınan kodları kullanabilir; kodun kendisi güvenli olsa bile, mantıksal olarak hala sorunlar olabilir. Örneğin, bazı projeler belirli zamanlarda pozisyon miktarına göre ödüller dağıtmakta, ancak saldırganlar flash loan kullanarak büyük miktarda token satın alıp, ödül dağıtımında çoğu kazancı elde edebilmektedir.

Fiyat Manipülasyonu

Fiyat manipülasyonu sorunları, genellikle fiyat hesaplamasında bazı parametrelerin kullanıcılar tarafından kontrol edilebilmesi nedeniyle, hızlı kredi ile yakından ilişkilidir. Yaygın sorun türleri iki ana kategoride toplanabilir:

  1. Fiyat hesaplanırken üçüncü taraf verileri kullanılır, ancak kullanımı yanlış veya kontrol eksikliği nedeniyle fiyat kötü niyetli bir şekilde manipüle edilir.

  2. Bazı adreslerin token miktarını hesaplama değişkeni olarak kullanmak, bu adreslerin token bakiyeleri geçici olarak artırılabilir veya azaltılabilir.

Yeniden Giriş Saldırısı

Dış sözleşmeleri çağırmanın ana risklerinden biri, kontrol akışını ele geçirebilmeleri ve verilerde beklenmedik değişiklikler yapabilmeleridir. Örneğin:

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

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

Kullanıcı bakiyesi fonksiyonun sonuna kadar 0 olarak ayarlanmadığı için, ikinci ve sonraki çağrılar yine başarılı olacaktır ve bakiye tekrar tekrar çekilebilir.

Reentrancy sorununu çözmek için aşağıdaki noktalara dikkat edilmelidir:

  1. Sadece tek bir fonksiyonun tekrar çağrılmasını engellemekle kalmaz.
  2. Checks-Effects-Interactions modeline göre kodlama
  3. Doğrulanmış reentrancy modifier'ı kullanın

En iyi, yeni baştan tekerlek icat etmek yerine olgun güvenlik uygulamalarını kullanmaktır. Kendi geliştirdiğiniz yeni çözümler genellikle yeterince doğrulanmamış olup, sorun yaşama olasılığı daha yüksektir.

Güvenlik Önerileri

Proje tarafı güvenlik önerileri

  1. Sözleşme geliştirme en iyi güvenlik uygulamalarına uymalıdır.
  2. Sözleşme yükseltilebilir ve durdurulabilir
  3. Zaman kilidi kullanmak
  4. Güvenlik yatırımlarını artırın, kapsamlı bir güvenlik sistemi kurun.
  5. Tüm çalışanların güvenlik bilincini artırmak
  6. İçsel kötü niyetin önlenmesi, verimliliği artırırken risk kontrolünü güçlendirmek.
  7. Üçüncü tarafları dikkatlice dahil edin, yukarı ve aşağı akışın güvenliğini kontrol edin.

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

  1. Sözleşme açık kaynak mı?
  2. Owner merkezi olmayan çok imzalı bir sistem kullanıyor mu?
  3. Sözleşmenin mevcut işlem durumunu kontrol et
  4. Sözleşme bir vekil sözleşmesi mi, yükseltilebilir mi, zaman kilidi var mı?
  5. Sözleşme birden fazla kurum tarafından denetlendi mi, Sahip yetkisi çok mu büyük?
  6. Oracle güvenliğine dikkat edin

Sonuç olarak, Merkezi Olmayan Finans alanında güvenlik sorunları göz ardı edilemez. Proje ekipleri ve kullanıcılar dikkatli olmalı, gerekli güvenlik önlemlerini almalı ve Merkezi Olmayan Finans ekosisteminin sağlıklı gelişimini ortaklaşa korumalıdır.

Cobo Merkezi Olmayan Finans güvenlik dersi (2. bölüm): Merkezi Olmayan Finans'ta sık karşılaşılan güvenlik açıkları ve önlemleri

DEFI4.87%
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
  • 6
  • Share
Comment
0/400
BearMarketBuildervip
· 8h ago
Bu hatayı düzelttim, bir tane daha geldi. Ne zaman bitecek bu iş?
View OriginalReply0
BackrowObservervip
· 8h ago
Geliştirememenin ne faydası var, yine hacklendik.
View OriginalReply0
NFT_Therapyvip
· 8h ago
Sözleşme sağlam yazılmadı, Hacker kaçamaz.
View OriginalReply0
PhantomMinervip
· 8h ago
Bu hata çok fazla, enayiler hacker ile nasıl başa çıkacak?
View OriginalReply0
consensus_whisperervip
· 8h ago
Yine Merkezi Olmayan Finans güvenliğinden bahsediyoruz.
View OriginalReply0
WalletManagervip
· 8h ago
Kod denetimini inceledikten sonra, soğuk cüzdan yedeğinin bile yeterince güvenli olmadığını düşünüyorum, yeniden giriş açığı bu işin içi çok derin!
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)