Merkezi Olmayan Finans Yaygın Güvenlik Açıkları ve Önleme Tedbirleri
Son zamanlarda, bir güvenlik uzmanı DeFi güvenliği üzerine bir ders paylaştı ve Web3 sektöründe son zamanlarda meydana gelen önemli güvenlik olaylarını ele aldı, bu olayların nedenlerini analiz etti ve bunlardan nasıl kaçınılacağına dair bilgiler sundu. Ayrıca akıllı sözleşmelerde sıkça görülen güvenlik açıkları ve önleyici tedbirler hakkında bir özet yaptı. Bu makale, üç yaygın açık türü olan arbitraj kredisi, fiyat manipülasyonu ve yeniden giriş saldırısını vurgulayacaktır.
Hızlı Kredi
Ateşleme kredisi, merkezi olmayan finansın bir tür yeniliğidir, ancak genellikle hackerlar tarafından saldırılar için kullanılmaktadır:
Saldırganlar, fiyatları manipüle etmek veya iş mantığını saldırıya uğratmak için büyük miktarda fonu ani kredi ile ödünç alır.
Geliştiricilerin, sözleşme işlevinin büyük miktardaki fonlar nedeniyle anormal hale gelip gelmeyeceğini veya bir işlemde fazla ödül elde etmek için kullanılıp kullanılmayacağını dikkate alması gerekir.
Sıkça Sorulan Sorular: Token miktarını kullanarak ödül hesaplama veya DEX işlem çifti içindeki Token miktarını kullanarak hesaplama.
Son iki yılda birçok sorun ortaya çıktı. Bazı Merkezi Olmayan Finans projeleri yüksek getiri sağlıyormuş gibi görünüyor, ancak geliştirme seviyeleri oldukça farklılık gösteriyor. Örneğin, bazı projeler sabit bir zamanda pozisyona göre ödül dağıtıyor ve saldırganlar bu durumu kullanarak büyük miktarda token satın almak için flash kredilerini kullanarak çoğu ödülü alıyor.
Fiyat Manipülasyonu
Fiyat manipülasyonu ve hızlı kredilerle yakından ilişkilidir, başlıca iki sorun vardır:
Fiyat hesaplaması yaparken üçüncü taraf verileri kullanın, ancak kullanma şekli yanlış veya kontrol eksik olabilir.
Belirli adreslerin Token bakiyelerini hesaplama değişkeni olarak kullanmak, bu bakiyelerin geçici olarak artırılıp azaltılabilmesi.
Yeniden Giriş Saldırısı
Dış sözleşmeleri çağırmanın ana riski, kontrol akışını ele geçirme ve verileri beklenmedik bir şekilde değiştirme olasılığıdır.
Tipik bir reentrancy saldırısı örneği:
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ı);
userBalances[msg.sender] = 0;
}
Kullanıcı bakiyesi, fonksiyonun sonuna kadar sıfırlanmadığı için, tekrar tekrar çağrılarak birden fazla kez çekim yapılabilir.
Reentrancy sorununu çözmek için dikkat edilmesi gerekenler:
Sadece tek bir fonksiyon tekrarına karşı korunma
Checks-Effects-Interactions modelini izleyin
Doğrulanmış reentrancy modifier'ını kullanın
Olgun güvenlik uygulamalarını kullanmanızı öneririz, tekerleği yeniden icat etmekten kaçının.
Proje Tarafı Güvenlik Önerileri
Sözleşmeleri en iyi güvenlik uygulamalarına göre geliştirin
Sözleşmenin yükseltilebilir ve durdurulabilir özelliklerini gerçekleştirmek
Zaman kilidi kullanmak
Gelişmiş bir güvenlik sistemi oluşturmak
Tüm çalışanların güvenlik bilincini artırmak
İçerideki kötü niyetli eylemleri önlemek, verimliliği artırırken risk kontrolünü güçlendirmek
Üçüncü tarafları dikkatlice dahil edin, güvenli olmadıklarını varsayın ve doğrulama yapın.
Kullanıcılar akıllı sözleşmelerin güvenliğini nasıl değerlendirir?
Sözleşme açık kaynak mı?
Owner merkezi olmayan çoklu imza kullanıyor mu?
Mevcut sözleşme işlemlerini kontrol et
Sözleşme yükseltilebilir mi, zaman kilidi var mı?
Birden fazla kuruluşun denetimini kabul ediyor mu, Owner yetkisi çok mu büyük?
Oracle'ın güvenilirliğine dikkat edin
Sonuç olarak, Merkezi Olmayan Finans alanında güvenlik son derece önemlidir. Proje sahipleri, kapsamlı bir güvenlik sistemi kurmalı, kullanıcılar da dikkatli olmalı ve temkinli bir şekilde katılmalıdır.
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.
17 Likes
Reward
17
8
Share
Comment
0/400
DeFiVeteran
· 07-24 01:36
Cüzdan yine kayboldu, hiç de garip değil.
View OriginalReply0
DisillusiionOracle
· 07-23 19:20
Tamam, defi devam ediyor. İnsanlar Hacker her gün boğa tüyü yoluyor.
View OriginalReply0
GateUser-bd883c58
· 07-21 12:00
Yine de bir arka kapı bırakmak gerekiyor!
View OriginalReply0
LayoffMiner
· 07-21 02:24
Ha, yine aynı şekil, çeşit çeşitle madencilik.
View OriginalReply0
LiquidationWatcher
· 07-21 02:19
Bu kadar çok açık varken DeFi ile ne oynayacağız?
View OriginalReply0
NestedFox
· 07-21 02:18
Yine Emiciler Tarafından Oyuna Getirilmek.
View OriginalReply0
Layer2Observer
· 07-21 02:08
Kod en sert kanıttır.
View OriginalReply0
SerumSurfer
· 07-21 02:07
Flaş Krediler hala köpeklerin bile oynamadığı bir şey.
Merkezi Olmayan Finans'ın üç büyük güvenlik açığı: Flaş Krediler, fiyat manipülasyonu ve yeniden giriş saldırıları
Merkezi Olmayan Finans Yaygın Güvenlik Açıkları ve Önleme Tedbirleri
Son zamanlarda, bir güvenlik uzmanı DeFi güvenliği üzerine bir ders paylaştı ve Web3 sektöründe son zamanlarda meydana gelen önemli güvenlik olaylarını ele aldı, bu olayların nedenlerini analiz etti ve bunlardan nasıl kaçınılacağına dair bilgiler sundu. Ayrıca akıllı sözleşmelerde sıkça görülen güvenlik açıkları ve önleyici tedbirler hakkında bir özet yaptı. Bu makale, üç yaygın açık türü olan arbitraj kredisi, fiyat manipülasyonu ve yeniden giriş saldırısını vurgulayacaktır.
Hızlı Kredi
Ateşleme kredisi, merkezi olmayan finansın bir tür yeniliğidir, ancak genellikle hackerlar tarafından saldırılar için kullanılmaktadır:
Son iki yılda birçok sorun ortaya çıktı. Bazı Merkezi Olmayan Finans projeleri yüksek getiri sağlıyormuş gibi görünüyor, ancak geliştirme seviyeleri oldukça farklılık gösteriyor. Örneğin, bazı projeler sabit bir zamanda pozisyona göre ödül dağıtıyor ve saldırganlar bu durumu kullanarak büyük miktarda token satın almak için flash kredilerini kullanarak çoğu ödülü alıyor.
Fiyat Manipülasyonu
Fiyat manipülasyonu ve hızlı kredilerle yakından ilişkilidir, başlıca iki sorun vardır:
Yeniden Giriş Saldırısı
Dış sözleşmeleri çağırmanın ana riski, kontrol akışını ele geçirme ve verileri beklenmedik bir şekilde değiştirme olasılığıdır.
Tipik bir reentrancy saldırısı örneği: 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ı); userBalances[msg.sender] = 0; }
Kullanıcı bakiyesi, fonksiyonun sonuna kadar sıfırlanmadığı için, tekrar tekrar çağrılarak birden fazla kez çekim yapılabilir.
Reentrancy sorununu çözmek için dikkat edilmesi gerekenler:
Olgun güvenlik uygulamalarını kullanmanızı öneririz, tekerleği yeniden icat etmekten kaçının.
Proje Tarafı Güvenlik Önerileri
Kullanıcılar akıllı sözleşmelerin güvenliğini nasıl değerlendirir?
Sonuç olarak, Merkezi Olmayan Finans alanında güvenlik son derece önemlidir. Proje sahipleri, kapsamlı bir güvenlik sistemi kurmalı, kullanıcılar da dikkatli olmalı ve temkinli bir şekilde katılmalıdır.