Merkezi Olmayan Finans'ta Yaygın Güvenlik Açıkları ve Önleme Önlemleri
Son zamanlarda, bir güvenlik uzmanı topluluk üyeleri için bir Merkezi Olmayan Finans güvenlik dersi paylaştı. Geçtiğimiz bir yıldan fazla süre içinde Web3 sektöründe meydana gelen önemli güvenlik olaylarını gözden geçirdi, bu olayların nedenlerini ve nasıl kaçınılacağına dair tartıştı, yaygın akıllı sözleşme güvenlik açıklarını ve önleme yöntemlerini özetledi, ayrıca proje ekipleri ve sıradan kullanıcılar için bazı güvenlik önerileri sundu.
Yaygın DeFi açık türleri 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ı gibi sorunlar bulunmaktadır. Bu yazıda, flash loan, fiyat manipülasyonu ve yeniden giriş saldırısı olmak üzere bu üç tür üzerine odaklanılacaktır.
Hızlı Kredi
Hızlı kredi, Merkezi Olmayan Finans'ın bir yeniliğidir, ancak genellikle hackerlar tarafından kullanılmaktadır:
Saldırgan, flash loan aracılığıyla büyük miktarda fon borç alarak fiyatı manipüle ediyor veya iş mantığını hedef alıyor.
Geliştiricilerin, sözleşme fonksiyonlarının büyük miktarda fon nedeniyle anormal hale gelip gelemeyeceğini veya kötüye kullanılarak haksız ödüller elde edilip edilemeyeceğini dikkate alması gerekmektedir.
Bazı projeler tasarlandığında flash loan etkisini dikkate almadı, bu da fonların çalınmasına neden oldu.
Son iki yılda, flash loan birçok soruna neden oldu. Bazı yüksek getiri Merkezi Olmayan Finans projeleri, geliştirme seviyeleri farklılık gösterdiği için birçok açık barındırıyor. Örneğin, bazı projeler belirli bir zaman diliminde pozisyonlarına göre ödül dağıtıyor ve bu durum, saldırganlar tarafından flash loan kullanılarak büyük miktarda token satın alınıp ödüllerin çoğunu almak için istismar ediliyor. Ayrıca, Token ile fiyat hesaplayan bazı projeler, flash loan ile fiyatlarının etkilenmesine neden olabiliyor. Proje ekipleri bu sorunlara karşı dikkatli olmalıdır.
Fiyat Manipülasyonu
Fiyat manipülasyonu sorunları, hızlı kredilerle yakından ilişkilidir ve temel olarak iki türü vardır:
Üçüncü taraf verilerini fiyatları hesaplamak için kullanmak, ancak yanlış kullanım veya yeterli kontrol eksikliği nedeniyle fiyatların kötü niyetli bir şekilde manipüle edilmesine yol açar.
Belirli adreslerin Token bakiyelerini hesaplama değişkeni olarak kullanın ve bu bakiyeler geçici olarak artırılabilir veya azaltılabilir.
Yeniden Giriş Saldırısı
Dış sözleşmeleri çağırmanın başlıca riski, kontrol akışını ele geçirebilmeleri ve verilerde beklenmeyen değişiklikler yapabilmeleridir. Örneğin:
function withdrawBalance() public {
uint çekilecekMiktar = userBalances[msg.sender];
(bool success, ) = msg.sender.call.value(amountToWithdraw)("");
require(başarı);
userBalances[msg.sender] = 0;
}
Kullanıcı bakiyesi sadece fonksiyonun sonunda sıfırlanacağı için, tekrar eden çağrılar hâlâ bakiye çekme işlemini başarıyla gerçekleştirebilir.
Reentrancy saldırısının birçok biçimi vardır ve birden fazla fonksiyon veya sözleşmeyi içerebilir. Reentrancy sorununu çözerken dikkat edilmesi gerekenler:
Sadece tek bir fonksiyonun yeniden girişini önlemekle kalmaz
Checks-Effects-Interactions modeline uyun
Onaylanmış reentrancy modifier'ı kullanın
En iyisi, tekerleği yeniden icat etmek yerine mevcut en iyi güvenlik uygulamalarını kullanmaktır. Olgun çözümler, kendin geliştirdiğin yeni çözümlerden daha güvenli ve güvenilirdir.
Proje Tarafı Güvenlik Önerileri
Sözleşme geliştirme en iyi güvenlik uygulamalarına uyun
Sözleşmenin yükseltilebilir ve durdurulabilir işlevselliğinin sağlanması
Zaman kilidi mekanizması kullanma
Güvenlik yatırımlarını artırmak, kapsamlı bir güvenlik sistemi kurmak
Tüm çalışanların güvenlik bilincini artırmak
İçerideki kötü niyetli davranışları önlemek, verimliliği artırırken risk kontrolünü güçlendirmek.
Üçüncü tarafları dikkatlice tanıtın, güvenlik doğrulamasını iyi yapın
Kullanıcılar Akıllı Sözleşmelerin Güvenliğini Nasıl Değerlendirir?
Sözleşmenin açık kaynak olup olmadığını doğrulayın
Owner'ın merkezi olmayan çoklu imza kullanıp kullanmadığını kontrol edin
Mevcut sözleşmenin işlem durumunu kontrol et
Sözleşmenin yükseltilebilir olup olmadığını, zaman kilidi olup olmadığını belirleyin.
Sözleşmenin birden fazla kuruluş tarafından denetlenip denetlenmediğini, Sahip yetkisinin fazla olup olmadığını onaylayın.
Oracle kullanımını takip et
Sonuç olarak, Merkezi Olmayan Finans ekosisteminde, proje sahipleri ve kullanıcıların yüksek güvenlik bilincini koruması, gerekli önlemleri alması ve ekosistemin sağlıklı gelişimini birlikte sürdürmesi gerekmektedir.
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.
16 Likes
Reward
16
3
Share
Comment
0/400
ImpermanentPhobia
· 11h ago
Hem hacker hem de Flaş Krediler, gerçekten heyecan verici.
View OriginalReply0
SnapshotBot
· 12h ago
Proje Ekibi hâlâ her gün enayileri enayi yerine koymakta.
Merkezi Olmayan Finans güvenlik savunması: Flaş Krediler, fiyat manipülasyonu ve yeniden giriş saldırısı önleme kılavuzu
Merkezi Olmayan Finans'ta Yaygın Güvenlik Açıkları ve Önleme Önlemleri
Son zamanlarda, bir güvenlik uzmanı topluluk üyeleri için bir Merkezi Olmayan Finans güvenlik dersi paylaştı. Geçtiğimiz bir yıldan fazla süre içinde Web3 sektöründe meydana gelen önemli güvenlik olaylarını gözden geçirdi, bu olayların nedenlerini ve nasıl kaçınılacağına dair tartıştı, yaygın akıllı sözleşme güvenlik açıklarını ve önleme yöntemlerini özetledi, ayrıca proje ekipleri ve sıradan kullanıcılar için bazı güvenlik önerileri sundu.
Yaygın DeFi açık türleri 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ı gibi sorunlar bulunmaktadır. Bu yazıda, flash loan, fiyat manipülasyonu ve yeniden giriş saldırısı olmak üzere bu üç tür üzerine odaklanılacaktır.
Hızlı Kredi
Hızlı kredi, Merkezi Olmayan Finans'ın bir yeniliğidir, ancak genellikle hackerlar tarafından kullanılmaktadır:
Son iki yılda, flash loan birçok soruna neden oldu. Bazı yüksek getiri Merkezi Olmayan Finans projeleri, geliştirme seviyeleri farklılık gösterdiği için birçok açık barındırıyor. Örneğin, bazı projeler belirli bir zaman diliminde pozisyonlarına göre ödül dağıtıyor ve bu durum, saldırganlar tarafından flash loan kullanılarak büyük miktarda token satın alınıp ödüllerin çoğunu almak için istismar ediliyor. Ayrıca, Token ile fiyat hesaplayan bazı projeler, flash loan ile fiyatlarının etkilenmesine neden olabiliyor. Proje ekipleri bu sorunlara karşı dikkatli olmalıdır.
Fiyat Manipülasyonu
Fiyat manipülasyonu sorunları, hızlı kredilerle yakından ilişkilidir ve temel olarak iki türü vardır:
Üçüncü taraf verilerini fiyatları hesaplamak için kullanmak, ancak yanlış kullanım veya yeterli kontrol eksikliği nedeniyle fiyatların kötü niyetli bir şekilde manipüle edilmesine yol açar.
Belirli adreslerin Token bakiyelerini hesaplama değişkeni olarak kullanın ve bu bakiyeler geçici olarak artırılabilir veya azaltılabilir.
Yeniden Giriş Saldırısı
Dış sözleşmeleri çağırmanın başlıca riski, kontrol akışını ele geçirebilmeleri ve verilerde beklenmeyen değişiklikler yapabilmeleridir. Örneğin:
katılık mapping (address => uint) private userBalances;
function withdrawBalance() public { uint çekilecekMiktar = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(başarı); userBalances[msg.sender] = 0; }
Kullanıcı bakiyesi sadece fonksiyonun sonunda sıfırlanacağı için, tekrar eden çağrılar hâlâ bakiye çekme işlemini başarıyla gerçekleştirebilir.
Reentrancy saldırısının birçok biçimi vardır ve birden fazla fonksiyon veya sözleşmeyi içerebilir. Reentrancy sorununu çözerken dikkat edilmesi gerekenler:
En iyisi, tekerleği yeniden icat etmek yerine mevcut en iyi güvenlik uygulamalarını kullanmaktır. Olgun çözümler, kendin geliştirdiğin yeni çözümlerden daha güvenli ve güvenilirdir.
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 ekosisteminde, proje sahipleri ve kullanıcıların yüksek güvenlik bilincini koruması, gerekli önlemleri alması ve ekosistemin sağlıklı gelişimini birlikte sürdürmesi gerekmektedir.