Merkezi Olmayan Finans'ın yaygın güvenlik açıklarının analizi: Flaş Krediler, fiyat manipülasyonu ve yeniden giriş saldırısı risklerinin önlenmesi

robot
Abstract generation in progress

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

Son zamanlarda, bir güvenlik uzmanı topluluk üyeleri için Merkezi Olmayan Finans güvenlik kursu paylaştı. Kurs, son bir yıl içinde Web3 endüstrisinin karşılaştığı önemli güvenlik olaylarını gözden geçiriyor, bu olayların nedenlerini ve önlenme yöntemlerini araştırıyor, yaygın akıllı sözleşme güvenlik açıklarını ve önleyici tedbirleri özetliyor ve proje sahipleri ile sıradan kullanıcılara bazı güvenlik önerileri sunuyor.

Sıkça görülen Merkezi Olmayan Finans (DeFi) açıkları arasında flash loan, fiyat manipülasyonu, fonksiyon yetki sorunları, rastgele dış çağrılar, fallback fonksiyonu sorunları, iş mantığı açıkları, özel anahtar sızıntısı ve yeniden giriş saldırıları bulunmaktadır. Bu makalede flash loan, fiyat manipülasyonu ve yeniden giriş saldırısı olmak üzere 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, Merkezi Olmayan Finans'ın bir yeniliğidir, ancak aynı zamanda hackerlar tarafından da kullanılabilir. Saldırganlar genellikle açık kredi aracılığıyla büyük miktarda fon borçlanarak fiyatları manipüle eder veya iş mantığına saldırır. Geliştiricilerin, sözleşme işlevlerinin büyük miktardaki fonlar nedeniyle anormalliklere yol açıp açmayacağını veya büyük miktardaki fonların tek bir işlemde birden fazla fonksiyonla etkileşime girerek haksız kazanç elde etmesine olanak tanıyıp tanımayacağını dikkate alması gerekir.

Birçok Merkezi Olmayan Finans projesi yüksek getiri vaat ediyor gibi görünse de, proje ekiplerinin kalitesi değişkenlik göstermektedir. Bazı projeler satın alınmış kodlar kullanıyor olabilir, bu kodlar kendisi hatasız olsa bile, mantıksal olarak sorunlar içerebilir. Örneğin, bazı projeler belirli zaman dilimlerinde, token sahiplerinin miktarına göre ödül dağıtımı yapar; bu durum, saldırganların büyük miktarda token satın almak için flash loan kullanarak, ödül dağıtımı sırasında çoğu ödülü elde etmesine olanak tanıyabilir.

Fiyat Manipülasyonu

Fiyat manipülasyonu sorunu, kullanıcıların kontrol edebileceği bazı parametreler nedeniyle, genellikle fiyat hesaplaması ile yakından ilişkilidir. Yaygın sorun türleri iki tanedir:

  1. Fiyat hesaplanırken üçüncü taraf verileri kullanılır, ancak kullanım şekli yanlış veya kontrol eksikliği nedeniyle fiyat kötü niyetli bir şekilde manipüle edilir.
  2. Belirli adreslerin token miktarlarını hesaplama değişkeni olarak kullanın, 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 başlıca risklerinden biri, kontrol akışını ele geçirebilmeleri ve verilere beklenmedik değişiklikler yapabilmeleridir. Örneğin, bir çekim fonksiyonunda, eğer kullanıcı bakiyesi fonksiyonun sonuna kadar 0 olarak ayarlanmıyorsa, ikinci (ve daha sonraki) çağrılar hala başarılı olacak ve bu da tekrar eden çekimlere neden olacaktır.

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

  1. Sadece tek bir fonksiyonun tekrar çağırılma sorununu önlemek yeterli değil.
  2. Checks-Effects-Interactions modeline göre kod yazın.
  3. Zamanla test edilmiş reentrancy modifier'ını kullanın.

Dikkate değer olan, tekrarlanan tekerlek yapımının daha fazla risk getirebileceğidir. İyi bir şekilde doğrulanmış en iyi güvenlik uygulamalarını kullanmak genellikle yeni yöntemler geliştirmekten daha güvenlidir.

Proje Tarafı Güvenlik Önerileri

  1. Sözleşme geliştirmede en iyi güvenlik uygulamalarına uyun.
  2. Sözleşmenin güncellenebilir ve durdurulabilir olmasını sağlamak.
  3. Zaman kilidi mekanizması kullanın.
  4. Güvenlik yatırımlarını artırmak ve kapsamlı bir güvenlik sistemi kurmak.
  5. Tüm çalışanların güvenlik bilincini artırın.
  6. İçsel kötü niyetli eylemleri ö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ı varsayın.

Kullanıcı/LP Akıllı Sözleşmenin Güvenliğini Nasıl Değerlendirir

  1. Sözleşmenin açık kaynak olup olmadığını doğrulayın.
  2. Owner'ın çoklu imza kullanıp kullanmadığını ve çoklu imzanın merkeziyetsiz olup olmadığını kontrol edin.
  3. Sözleşmenin mevcut işlem durumunu kontrol et.
  4. Sözleşmenin bir vekil sözleşmesi olup olmadığını, güncellenip güncellenemeyeceğini ve zaman kilidi olup olmadığını onaylayın.
  5. Sözleşmenin birden fazla kuruluştan denetim alıp almadığını ve Owner yetkisinin aşırı olup olmadığını kontrol edin.
  6. Oraklerin kullanım durumuna dikkat edin.

Bu alanlara dikkat ederek, kullanıcılar akıllı sözleşmelerin güvenliğini daha iyi değerlendirebilir ve riskli projelere katılma olasılığını azaltabilir.

DEFI11.73%
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
GateUser-a180694bvip
· 7h ago
Flaş Krediler ah ah ah Emiciler Tarafından Oyuna Getirilmek olan eski dostlar değil mi?
View OriginalReply0
ContractCollectorvip
· 7h ago
Şu anda Flaş Krediler gerçekten en çok açık istismar edilenler arasında.
View OriginalReply0
AirdropChaservip
· 7h ago
Önce bir test yapayım, bu sefer birkaç enayiyi insanları enayi yerine koymak.
View OriginalReply0
BridgeTrustFundvip
· 7h ago
Yine Flaş Krediler başına bir iş geldi.
View OriginalReply0
DeFiVeteranvip
· 7h ago
Yine Flaş Krediler mağdurları mı olacak
View OriginalReply0
MidnightSnapHuntervip
· 7h ago
Reentrancy saldırıları artık herkesin bildiği bir konu değil mi? Artık kimse bunun ne olduğunu bilmiyor.
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)