Merkezi Olmayan Finans güvenliği: Yaygın güvenlik açıkları türleri ve önleme kılavuzu

robot
Abstract generation in progress

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

Son zamanlarda, bir güvenlik uzmanı DeFi güvenliği hakkında görüşlerini paylaştı, geçen yıl 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şme güvenlik açıklarını ve önleyici tedbirleri özetledi ve projelerin sahipleri ile kullanıcılara bazı güvenlik önerileri sundu.

Yaygın DeFi açıkları arasında flaş 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ı, yeniden giriş gibi durumlar bulunmaktadır. Aşağıda flaş kredi, fiyat manipülasyonu ve yeniden giriş saldırısı olmak üzere bu üç tür üzerinde durulacaktır.

Hızlı Kredi

Açık Krediler, Merkezi Olmayan Finans'ın bir yeniliğidir, ancak aynı zamanda hackerlar tarafından saldırılar için kullanılmaktadır. Saldırganlar, Açık Krediler aracılığıyla büyük miktarda fon borç alarak fiyatları manipüle edebilir veya iş mantığını saldırıya uğratabilir. Geliştiriciler, sözleşme işlevlerinin büyük miktarda fon nedeniyle anormal hale gelip gelmeyeceğini veya haksız ödüller elde etmek için kullanılabileceğini düşünmelidir.

Birçok Merkezi Olmayan Finans projesi yüksek getiri vaat etse de, aslında proje sahiplerinin seviyeleri oldukça farklılık göstermektedir. Bazı projelerin kodları satın alınmış olabilir, bu durumda kodun kendisi hatasız olsa bile, mantıksal açıdan sorunlar yaşanabilir. Örneğin, bazı projeler belirli bir zamanda pozisyonlara göre ödül dağıtırken, saldırganlar flash loan kullanarak büyük miktarda token satın alabilir ve bu sayede ödüllerin çoğunu elde edebilir.

Fiyat Manipülasyonu

Fiyat manipülasyonu sorunu, kullanıcıların kontrol edebildiği parametrelerden kaynaklandığı için, ani kredilerle yakından ilişkilidir. Yaygın sorun türleri iki şekilde ortaya çıkar:

  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 miktarını hesaplama değişkeni olarak kullanmak, bu adreslerin token bakiyesi 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çirebilir ve veriler üzerinde beklenmedik değişiklikler yapabilirler. Örneğin:

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

function withdrawBalance() public { uint çekilecekMiktar = kullanıcıBakiye[msg.sender]; (bool başarı, ) = msg.sender.call.value(çekilecekMiktar)(""); require(başarı); userBalances[msg.sender] = 0; }

Kullanıcı bakiyesi fonksiyonun sonunda sıfıra inene kadar, tekrar eden çağrılar başarılı olmaya devam edecek ve bakiye tekrar tekrar çekilebilir.

Çift çağrı sorununu çözmek için dikkat edilmesi gerekenler:

  1. Sadece tek bir fonksiyonun yeniden girmesini önlemekle kalmaz
  2. Checks-Effects-Interactions modelini takip et
  3. Doğrulanmış reentrancy modifier'ını kullanın

Reentrancy saldırı yöntemleri çeşitlidir ve birden fazla fonksiyon veya sözleşme içerebilir, bu nedenle çözümü oldukça karmaşıktır. En iyi uygulamaları kullanmak, tekerleği yeniden icat etmekten çok daha iyidir.

Proje Tarafı Güvenlik Önerileri

  1. Sözleşme geliştirmede en iyi güvenlik uygulamalarını izleyin
  2. Sözleşmelerin yükseltilebilir ve durdurulabilir işlevlerini gerçekleştirmek
  3. Zaman kilidi mekanizması kullanma
  4. Güvenlik yatırımlarını artırmak, kapsamlı bir güvenlik sistemi kurmak
  5. Tüm çalışanların güvenlik bilincini artırmak
  6. İçeriden kötüye kullanımı önlemek, verimliliği artırırken risk kontrolünü güçlendirmek
  7. Üçüncü taraf bileşenlerini dikkatlice tanıtın, güvenlik kontrolünü iyi yapın.

Kullanıcılar akıllı sözleşmelerin güvenliğini nasıl değerlendirir?

  1. Sözleşmenin açık kaynak olup olmadığını doğrulayın
  2. Owner'ın çok imzalı mı olduğunu ve çok 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ı, yükseltilebilir olup olmadığını ve zaman kilidi olup olmadığını belirleyin.
  5. Sözleşmenin birden fazla kurum tarafından denetlenip denetlenmediğini ve Owner yetkisinin fazla olup olmadığını kontrol edin.
  6. Oracle kullanımına dikkat edin

Sonuç olarak, Merkezi Olmayan Finans alanında güvenlik sorunları özellikle önemlidir. Proje sahipleri güvenlik yatırımlarına önem vermeli, kullanıcılar da dikkatli olmalı ve temkinli katılmalıdır. Ancak ortak çaba ile daha güvenli ve güvenilir bir Merkezi Olmayan Finans ekosistemi inşa edilebilir.

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

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
BoredRiceBallvip
· 2h ago
Onun saçmalıklarını dinleme, yine bir Rug Pull oldu.
View OriginalReply0
SchrodingerProfitvip
· 07-12 06:52
Şu anda hala insanları enayi yerine koymayan enayiler var mı?
View OriginalReply0
ContractSurrendervip
· 07-12 06:50
Yine Emiciler Tarafından Oyuna Getirilmek Büyük Rehberi!
View OriginalReply0
SnapshotDayLaborervip
· 07-12 06:50
Kesinlikle dikkatli olmalısın, iyi ki hızlı koşabiliyorum.
View OriginalReply0
CoconutWaterBoyvip
· 07-12 06:37
Açıkça söylemek gerekirse bu bir zeka vergisi!
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)