Merkezi Olmayan Finans'la İlgili Yaygın Güvenlik Açıkları ve Önleme Tedbirleri
Son zamanlarda, bir güvenlik uzmanı topluluk üyeleriyle Merkezi Olmayan Finans güvenlik bilgilerini paylaştı. Uzman, Web3 sektörünün son bir yılda karşılaştığı önemli güvenlik olaylarını gözden geçirdi, olayların nedenlerini ve önleme yöntemlerini tartıştı, yaygın akıllı sözleşme güvenlik açıklarını ve önleyici tedbirleri özetledi ve bazı güvenlik önerileri sundu.
Yaygın DeFi güvenlik açıkları arasında hızlı 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ı ve yeniden giriş gibi durumlar bulunmaktadır. Bu yazıda hızlı kredi, fiyat manipülasyonu ve yeniden giriş saldırıları olmak üzere bu üç tür üzerinde durulacaktır.
Hızlı Kredi
Acil kredi, DeFi'nin bir yeniliğidir, ancak hackerlar tarafından kullanıldığında, saldırılar için büyük miktarda fonu maliyetsiz bir şekilde ödünç alabilirler. Yaygın saldırılar genellikle acil kredilerle birlikte gerçekleşir; saldırganlar büyük miktarda fonu ödünç aldıktan sonra fiyatları manipüle eder veya iş mantığını hedef alır.
Geliştiricilerin, sözleşme işlevlerinin büyük miktardaki fonlar nedeniyle anormallikler gösterip göstermeyeceğini veya bir işlemde birden fazla fonksiyonla etkileşimde bulunarak haksız kazanç elde edilip edilmeyeceğini dikkate alması gerekir.
Bazı projeler, belirli bir zaman diliminde pozisyonlara göre ödüller dağıtırken, saldırganlar tarafından flash loan kullanılarak büyük miktarda token satın alınarak ödüllerin çoğunu almak için istismar edilebilir. Diğer projeler ise Token ile fiyat hesaplaması yapar ve flash loan'lar tarafından etkilenebilir. Proje ekipleri bu sorunlara karşı dikkatli olmalıdır.
Fiyat Manipülasyonu
Fiyat manipülasyonu sorunları, ani kredi işlemleri ile yakın bir ilişkiye sahiptir ve iki ana türü vardır:
Fiyat hesaplanırken üçüncü parti veriler kullanılıyor, ancak kullanım şekli yanlış veya kontrol eksikliği nedeniyle fiyat kötü niyetli bir şekilde manipüle ediliyor.
Bazı adreslerin Token miktarı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ı
Dış sözleşmeleri çağırmanın başlıca riski, kontrol akışını ele geçirebilmeleri ve verileri beklenmedik bir şekilde değiştirebilmeleridir. Örneğin:
function withdrawBalance() public {
uint amountToWithdraw = userBalances[msg.sender];
(bool success, ) = msg.sender.call.value(amountToWithdraw)("");
require(success);
userBalances[msg.sender] = 0;
}
Fonksiyon sonunda bakiye sıfırlandığı için, tekrar çağırma işlemleri hala başarılı bir şekilde çekim yapabilir.
Reentransiyon saldırı yöntemleri çeşitlidir, birden fazla fonksiyon veya sözleşmeyi içerebilir. Reentransiyon sorununu çözmek için dikkat edilmesi gerekenler:
Sadece tek bir fonksiyonun yeniden girişini önlemekle kalmaz
Checks-Effects-Interactions modeline göre kodlama
Onaylanmış reentrancy modifier'ını kullanın
Olgun güvenlik uygulamalarını kullanmaya çalışmalı ve tekerleği yeniden icat etmekten kaçınmalısınız.
Proje Tarafı Güvenlik Önerileri
Sözleşme geliştirme en iyi güvenlik uygulamalarına uygun olmalıdır.
Sözleşme güncellenebilir, durdurulabilir: Zamanında tespit edilerek kayıplar azaltılır.
Zaman kilidi kullanın: Kontrol ve tepki süresi verin
Kapsamlı bir güvenlik sistemi kurmak: Riskleri tamamen önlemek
Tüm çalışanların güvenlik bilincini artırmak
İçeriden kötü niyetli davranışları önlemek, verimliliği artırırken risk kontrolünü güçlendirmek
Üçüncü tarafları dikkatlice tanıtın: Üst ve alt akış güvenliğini doğrulayı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
Sözleşmenin mevcut işlem durumunu kontrol et
Sözleşme yükseltilebilir mi, zaman kilidi var mı?
Birden fazla kurumun denetimini kabul ediyor musunuz, Owner yetkisi fazla mı?
Oracle'ın güvenilirliğine dikkat edin
Sonuç olarak, Merkezi Olmayan Finans alanında güvenlik son derece önemlidir. Proje sahipleri ve kullanıcılar dikkatli olmalı ve riskleri azaltmak için gerekli ö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.
13 Likes
Reward
13
2
Share
Comment
0/400
StableGeniusDegen
· 16h ago
Yine sıfırdan güvenlik öğrenmeye başlayacağım, kafam çok karışık.
View OriginalReply0
DAOplomacy
· 16h ago
güvenlik tiyatrosu en güzel haliyle... aynı eski güvenlik açıkları, aynı eski holder uyumsuzluğu açıkçası
DeFi üç büyük güvenlik açığı analizi: Flaş Krediler, fiyat manipülasyonu ve yeniden giriş saldırısı
Merkezi Olmayan Finans'la İlgili Yaygın Güvenlik Açıkları ve Önleme Tedbirleri
Son zamanlarda, bir güvenlik uzmanı topluluk üyeleriyle Merkezi Olmayan Finans güvenlik bilgilerini paylaştı. Uzman, Web3 sektörünün son bir yılda karşılaştığı önemli güvenlik olaylarını gözden geçirdi, olayların nedenlerini ve önleme yöntemlerini tartıştı, yaygın akıllı sözleşme güvenlik açıklarını ve önleyici tedbirleri özetledi ve bazı güvenlik önerileri sundu.
Yaygın DeFi güvenlik açıkları arasında hızlı 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ı ve yeniden giriş gibi durumlar bulunmaktadır. Bu yazıda hızlı kredi, fiyat manipülasyonu ve yeniden giriş saldırıları olmak üzere bu üç tür üzerinde durulacaktır.
Hızlı Kredi
Acil kredi, DeFi'nin bir yeniliğidir, ancak hackerlar tarafından kullanıldığında, saldırılar için büyük miktarda fonu maliyetsiz bir şekilde ödünç alabilirler. Yaygın saldırılar genellikle acil kredilerle birlikte gerçekleşir; saldırganlar büyük miktarda fonu ödünç aldıktan sonra fiyatları manipüle eder veya iş mantığını hedef alır.
Geliştiricilerin, sözleşme işlevlerinin büyük miktardaki fonlar nedeniyle anormallikler gösterip göstermeyeceğini veya bir işlemde birden fazla fonksiyonla etkileşimde bulunarak haksız kazanç elde edilip edilmeyeceğini dikkate alması gerekir.
Bazı projeler, belirli bir zaman diliminde pozisyonlara göre ödüller dağıtırken, saldırganlar tarafından flash loan kullanılarak büyük miktarda token satın alınarak ödüllerin çoğunu almak için istismar edilebilir. Diğer projeler ise Token ile fiyat hesaplaması yapar ve flash loan'lar tarafından etkilenebilir. Proje ekipleri bu sorunlara karşı dikkatli olmalıdır.
Fiyat Manipülasyonu
Fiyat manipülasyonu sorunları, ani kredi işlemleri ile yakın bir ilişkiye sahiptir ve iki ana türü vardır:
Fiyat hesaplanırken üçüncü parti veriler kullanılıyor, ancak kullanım şekli yanlış veya kontrol eksikliği nedeniyle fiyat kötü niyetli bir şekilde manipüle ediliyor.
Bazı adreslerin Token miktarı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ı
Dış sözleşmeleri çağırmanın başlıca riski, kontrol akışını ele geçirebilmeleri ve verileri beklenmedik bir şekilde değiştirebilmeleridir. Ö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(success); userBalances[msg.sender] = 0; }
Fonksiyon sonunda bakiye sıfırlandığı için, tekrar çağırma işlemleri hala başarılı bir şekilde çekim yapabilir.
Reentransiyon saldırı yöntemleri çeşitlidir, birden fazla fonksiyon veya sözleşmeyi içerebilir. Reentransiyon sorununu çözmek için dikkat edilmesi gerekenler:
Olgun güvenlik uygulamalarını kullanmaya çalışmalı ve tekerleği yeniden icat etmekten kaçınmalısınız.
Proje Tarafı Güvenlik Önerileri
Sözleşme geliştirme en iyi güvenlik uygulamalarına uygun olmalıdır.
Sözleşme güncellenebilir, durdurulabilir: Zamanında tespit edilerek kayıplar azaltılır.
Zaman kilidi kullanın: Kontrol ve tepki süresi verin
Kapsamlı bir güvenlik sistemi kurmak: Riskleri tamamen önlemek
Tüm çalışanların güvenlik bilincini artırmak
İçeriden kötü niyetli davranışları önlemek, verimliliği artırırken risk kontrolünü güçlendirmek
Üçüncü tarafları dikkatlice tanıtın: Üst ve alt akış güvenliğini doğrulayı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
Sözleşmenin mevcut işlem durumunu kontrol et
Sözleşme yükseltilebilir mi, zaman kilidi var mı?
Birden fazla kurumun denetimini kabul ediyor musunuz, Owner yetkisi fazla mı?
Oracle'ın güvenilirliğine dikkat edin
Sonuç olarak, Merkezi Olmayan Finans alanında güvenlik son derece önemlidir. Proje sahipleri ve kullanıcılar dikkatli olmalı ve riskleri azaltmak için gerekli önlemleri almalıdır.