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.
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:
Fiyat hesaplama sırasında üçüncü taraf verileri kullanılır, ancak kullanım şekli yanlış veya kontrol eksik.
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:
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:
Sadece tek bir fonksiyonun yeniden girmesini önlemekle kalmaz
Checks-Effects-Interactions modeline uyun
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:
Sözleşme geliştirmede en iyi güvenlik uygulamalarına uyun
Sözleşmenin güncellenebilir, durdurulabilir işlevselliğini sağlamak
Zaman kilidi kullanma
Güvenlik yatırımlarını artırmak ve kapsamlı bir güvenlik sistemi kurmak
Tüm çalışanların güvenlik farkındalığını artırmak
İçeriden kötü niyetli davranışları önlemek, verimliliği artırırken risk kontrolünü güçlendirmek.
Üçü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:
Sözleşmenin açık kaynak olup olmadığını kontrol edin
Owner'ın merkeziyetsiz çok imzalı olup olmadığını kontrol et
Sözleşmenin mevcut işlem durumunu kontrol et
Sözleşmenin yükseltilebilir olup olmadığını ve zaman kilidi olup olmadığını kontrol edin.
Birden fazla kuruluşun denetimini kabul edip etmediğini kontrol et, Owner yetkisi fazla mı.
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.
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.
11 Likes
Reward
11
7
Repost
Share
Comment
0/400
TooScaredToSell
· 08-11 10:27
O kadar kuraldan bahsetme, doğrudan coin pazarına girmek asıl mesele.
View OriginalReply0
MysteryBoxBuster
· 08-11 08:22
Yine Flaş Krediler hakkında anlıyormuş gibi mi yapıyorsun...
View OriginalReply0
GhostWalletSleuth
· 08-09 18:44
Rug Pull yapmak gerçek bir kara teknolojidir.
View OriginalReply0
CodeAuditQueen
· 08-09 18:43
Bu sadece web1 döneminin enjeksiyon açığının bir katman değiştirmesi.
View OriginalReply0
MoonlightGamer
· 08-09 18:39
Kim dedi ki defi'nin yeni bir oyunu yok? Bu işte geldi!
View OriginalReply0
HashBandit
· 08-09 18:36
bruh 2021'de flashloan istismarı nedeniyle 50 eth kaybetti... hala bana kabuslar veriyor aslında
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
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.
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:
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:
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:
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:
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:
Kullanıcılar akıllı sözleşmelerin güvenli olup olmadığını nasıl belirler:
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.