Merkezi Olmayan Finans 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ı. Uzman, son bir yıldan fazla sürede 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 proje sahiplerine ile normal kullanıcılara bazı güvenlik önerileri sundu.
Yaygın DeFi açıkları genellikle 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ıları ve yeniden giriş saldırıları gibi türleri içerir. Bu yazıda, flash loan, fiyat manipülasyonu ve yeniden giriş saldırıları üzerine odaklanılacaktır.
Hızlı Kredi
Hızlı kredi, Merkezi Olmayan Finans'ın (DeFi) bir yeniliğidir, ancak genellikle saldırganlar tarafından kötüye kullanılır. Saldırganlar, hızlı kredi aracılığıyla büyük miktarda para borç alarak fiyatları manipüle edebilir veya iş mantığını saldırıya uğratabilir. Geliştiricilerin, sözleşme işlevlerinin büyük miktarda para nedeniyle anormal hale gelip gelemeyeceğini veya kötüye kullanılarak haksız kazanç elde edilip edilemeyeceğini dikkate alması gerekmektedir.
Birçok Merkezi Olmayan Finans projesi yüksek kazançlar sağlıyormuş gibi görünse de, aslında proje sahiplerinin kalitesi oldukça farklılık göstermektedir. Bazı projelerin kodları satın alınmış olabilir; kodun kendisinde bir açık olmasa bile, mantıksal olarak sorunlar barındırabilir. Örneğin, bazı projeler belirli bir zamanda, token sahiplerinin sayısına göre ödüller dağıtırken, saldırganlar flash loan kullanarak büyük miktarda token satın alabilir ve ödüllerin dağıtımında büyük bir kısmını elde edebilirler.
Fiyat Manipülasyonu
Fiyat manipülasyonu sorunu, kullanıcıların kontrol edebildiği bazı parametrelerden kaynaklanarak, genellikle anlık kredi ile yakından ilişkilidir. Yaygın sorun türleri ikiye ayrılmaktadır:
Fiyat hesaplanırken üçüncü taraf verileri kullanılır, ancak kullanım şekli yanlış veya kontrol eksikliği nedeniyle fiyat kötü niyetli olarak manipüle edilir.
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ı
Reentrancy saldırısı, dış sözleşmeleri çağırırken karşılaşılabilecek ana tehlikelerden biridir. Saldırgan kontrol akışını ele geçirebilir ve verilerde beklenmedik değişiklikler yapabilir. Örneğin:
function withdrawBalance() public {
uint amountToWithdraw = userBalances[msg.sender];
(bool success, ) = msg.sender.call.value(amountToWithdraw)("");
require(başarı);
userBalances[msg.sender] = 0;
}
Bu örnekte, kullanıcı bakiyesi yalnızca fonksiyonun sonuna kadar 0 olarak ayarlandığı için, saldırgan ilk çağrıyı başarılı bir şekilde gerçekleştirdikten sonra bu fonksiyonu tekrar çağırarak bakiyeyi birden fazla kez çekebilir.
Reentrancy sorununu çözerken aşağıdaki noktalara dikkat edilmelidir:
Sadece tek bir fonksiyonun tekrar çağrılma sorununu önlemekle kalmamalıyız;
Checks-Effects-Interactions modeline uygun kodlama yapın;
Zamanla kanıtlanmış reentrancy modifier'ı kullanın.
Reentrancy saldırısının tipik bir örneği Omni Protocol olayıdır. Bu saldırıda, açığı keşfeden saldırganın gönderdiği işlem, diğer hackerlar tarafından ele geçirilip öncelikli olarak gerçekleştirildi; bu da orijinal saldırganın yalnızca kısmi kazanç elde etmesine yol açtı. Bu, Web3 ekosistemindeki "karanlık orman" özelliğini vurgular; saldırganlar arasında da av olma durumu söz konusu olabilir.
Güvenlik Önerileri
Proje tarafı güvenlik önerisi
Sözleşme geliştirme için en iyi güvenlik uygulamalarına uyun.
Sözleşmelerin güncellenebilir ve durdurulabilir olmasını sağlamak.
Zaman kilidi mekanizması kullanın.
Güvenlik yatırımlarını artırmak ve mükemmel bir güvenlik sistemi kurmak.
Üçüncü taraf hizmetlerini dikkatlice entegre edin, "varsayılan olarak yukarı ve aşağı akışın güvensiz olduğu" ilkesine uyun.
Kullanıcı/LP akıllı sözleşmenin güvenli olup olmadığını nasıl değerlendirir?
Sözleşmenin açık kaynak olup olmadığını kontrol edin.
Owner'ın merkezi olmayan çoklu imza mekanizmasını kullanıp kullanmadığını doğrulayın.
Sözleşmenin mevcut ticaret durumunu kontrol et.
Sözleşmenin bir vekil sözleşmesi olup olmadığını, yükseltilebilir olup olmadığını ve zaman kilidi olup olmadığını onaylayın.
Sözleşmenin birden fazla kurum tarafından denetlenip denetlenmediğini kontrol edin, Owner yetkisini aşırı değerlendirip değerlendirmediğini değerlendirin.
Oracle'ların seçimi ve kullanımı konusunda dikkatli olun.
Sonuç olarak, Merkezi Olmayan Finans alanında güvenlik sorunları her zaman en önemli hususlardan biridir. Hem proje sahipleri hem de sıradan kullanıcılar, riskleri azaltmak ve varlık güvenliğini sağlamak için yüksek bir dikkat göstermeli ve uygun güvenlik önlemleri almalı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.
14 Likes
Reward
14
8
Share
Comment
0/400
BearMarketBarber
· 33m ago
Saç miktarı ve coin miktarı çift taraflı büyük düşüş yaşadı, çoktan insanların enayi yerine koyulmasına uğradı.
View OriginalReply0
TokenomicsTrapper
· 16h ago
sadece aynı eski istismarlar tarafından degens'lerin yakıldığı bir günü daha izliyorum... bu modeli aylardır tahmin etmiştim açıkçası
View OriginalReply0
DegenWhisperer
· 16h ago
Hem siyah hem beyaz, hepsini anlamak.
View OriginalReply0
degenonymous
· 16h ago
Yine akıllı sözleşmeler yüzünden düştük, öyle mi?
View OriginalReply0
BlockchainFries
· 16h ago
Yarım gün boşlukları aramak, dışarıdan yemek siparişi vermekle aynı değildir.
View OriginalReply0
Ser_This_Is_A_Casino
· 16h ago
defi gerçekten bir kumarhane, kaybetmeye mahkum.
View OriginalReply0
OPsychology
· 16h ago
Flaş Krediler neyi korkutuyor? Benim hepsi Godek coin.
Merkezi Olmayan Finans güvenlik açıkları genel değerlendirmesi: Flaş Krediler, fiyat manipülasyonu ve yeniden giriş saldırısı risk analizleri
Merkezi Olmayan Finans 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ı. Uzman, son bir yıldan fazla sürede 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 proje sahiplerine ile normal kullanıcılara bazı güvenlik önerileri sundu.
Yaygın DeFi açıkları genellikle 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ıları ve yeniden giriş saldırıları gibi türleri içerir. Bu yazıda, flash loan, fiyat manipülasyonu ve yeniden giriş saldırıları üzerine odaklanılacaktır.
Hızlı Kredi
Hızlı kredi, Merkezi Olmayan Finans'ın (DeFi) bir yeniliğidir, ancak genellikle saldırganlar tarafından kötüye kullanılır. Saldırganlar, hızlı kredi aracılığıyla büyük miktarda para borç alarak fiyatları manipüle edebilir veya iş mantığını saldırıya uğratabilir. Geliştiricilerin, sözleşme işlevlerinin büyük miktarda para nedeniyle anormal hale gelip gelemeyeceğini veya kötüye kullanılarak haksız kazanç elde edilip edilemeyeceğini dikkate alması gerekmektedir.
Birçok Merkezi Olmayan Finans projesi yüksek kazançlar sağlıyormuş gibi görünse de, aslında proje sahiplerinin kalitesi oldukça farklılık göstermektedir. Bazı projelerin kodları satın alınmış olabilir; kodun kendisinde bir açık olmasa bile, mantıksal olarak sorunlar barındırabilir. Örneğin, bazı projeler belirli bir zamanda, token sahiplerinin sayısına göre ödüller dağıtırken, saldırganlar flash loan kullanarak büyük miktarda token satın alabilir ve ödüllerin dağıtımında büyük bir kısmını elde edebilirler.
Fiyat Manipülasyonu
Fiyat manipülasyonu sorunu, kullanıcıların kontrol edebildiği bazı parametrelerden kaynaklanarak, genellikle anlık kredi ile yakından ilişkilidir. Yaygın sorun türleri ikiye ayrılmaktadır:
Yeniden Giriş Saldırısı
Reentrancy saldırısı, dış sözleşmeleri çağırırken karşılaşılabilecek ana tehlikelerden biridir. Saldırgan kontrol akışını ele geçirebilir ve verilerde beklenmedik değişiklikler yapabilir. Örneğin:
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; }
Bu örnekte, kullanıcı bakiyesi yalnızca fonksiyonun sonuna kadar 0 olarak ayarlandığı için, saldırgan ilk çağrıyı başarılı bir şekilde gerçekleştirdikten sonra bu fonksiyonu tekrar çağırarak bakiyeyi birden fazla kez çekebilir.
Reentrancy sorununu çözerken aşağıdaki noktalara dikkat edilmelidir:
Reentrancy saldırısının tipik bir örneği Omni Protocol olayıdır. Bu saldırıda, açığı keşfeden saldırganın gönderdiği işlem, diğer hackerlar tarafından ele geçirilip öncelikli olarak gerçekleştirildi; bu da orijinal saldırganın yalnızca kısmi kazanç elde etmesine yol açtı. Bu, Web3 ekosistemindeki "karanlık orman" özelliğini vurgular; saldırganlar arasında da av olma durumu söz konusu olabilir.
Güvenlik Önerileri
Proje tarafı güvenlik önerisi
Kullanıcı/LP akıllı sözleşmenin güvenli olup olmadığını nasıl değerlendirir?
Sonuç olarak, Merkezi Olmayan Finans alanında güvenlik sorunları her zaman en önemli hususlardan biridir. Hem proje sahipleri hem de sıradan kullanıcılar, riskleri azaltmak ve varlık güvenliğini sağlamak için yüksek bir dikkat göstermeli ve uygun güvenlik önlemleri almalıdır.