Akıllı Sözleşmelere Yönelik Hizmet Reddi Saldırıları: Nasıl Düzeltilir ve Önlenir (Uzman Kılavuzu) PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Akıllı Sözleşmelere Yönelik Hizmet Reddi Saldırıları: Nasıl Düzeltilir ve Önlenir (Uzman Kılavuzu)

Okuma zamanı: 6 dakika

Yükleme süresi uzun olan ve şu anda açılamadığını fark eden bir siteyi hiç ziyaret ettiniz mi? Bu tamamen Hizmet Reddi Saldırılarının etkisi ile ilgilidir. 

Hizmet Reddi (DoS) Saldırıları, akıllı sözleşmeleri denetlerken büyük ölçüde göz önünde bulundurulan birçok güvenlik açığından biridir. Bu blog, DoS saldırısının giriş ve çıkışlarını - ne olduğu, Etkisi, türleri ve eklenecek çok daha fazlasını çözmeyi amaçlıyor.

Haydi hızlıca içeri girelim ve hepsini keşfedelim. 

DoS Saldırısı Nedir?

DoS saldırısı, bir ağın, sunucunun veya uygulamanın işleme yeteneklerini bozmayı, meşru kullanıcılardan gelen isteklerin alınmasını engellemeyi amaçlar. Bunda saldırgan, sunucuların belleğini ve bant genişliğini tüketen daha fazla trafik göndererek ağı bozar. 

Blockchain'in sahip olduğu muazzam potansiyel nedeniyle, DoS saldırılarının zenginlikleri çalmak için birincil hedefidir. Bitcoin gibi en ünlü kripto para birimleri, Ethereum, vb. de DoS saldırıları yaşadı. 

Dağıtılmış Hizmet Reddi (DDoS)

Dağıtılmış Hizmet Reddi (DDoS), saldırganın hedef düğüme bir saldırı başlatmak için birden fazla cihazı kontrol etmesini içeren bir DoS saldırısıdır.

Saldırgan hedef düğümü gözlemler ve kontrolü altındaki birden fazla cihazı hedef düğüme akan büyük miktarda bilgi göndermek için yönlendirir. Bu, hedefin çökmesine ve belirtilen görevi yerine getirememesine neden olur.  

Blockchain Ekosistemindeki DoS Saldırılarının Hedefleri

DoS saldırılarının geçmiş olaylarının kayıtlarından, blok zinciri ekosisteminin her parçası DoS saldırılarına karşı savunmasızdır. Ve birkaç isim vermek gerekirse, 

Kripto para cüzdanları: Herhangi bir cüzdanda olduğu gibi, kripto para cüzdanı kripto para birimlerini depolamak, göndermek veya almak için kullanılır. Ve bu çevrimiçi cüzdanlar, hizmetlerini ve Dapps ile etkileşimini engelleyen DoS saldırılarına eğilimli akıllı sözleşmeler kullanır. 

Kripto para birimi değişim hizmetleri: Kripto para birimlerinin alınıp satıldığı ve alışverişin kullanıcılar arasında gerçekleştiği çevrimiçi platform. Bilgisayar korsanlarının, platformun ve hizmetlerinin kullanılamamasına neden olan DoS saldırıları gerçekleştirmesi için ana hedeflerdir. 

Ör: Bitcoin değişim platformu, Bifinex birkaç kez DDoS saldırılarına maruz kaldı. 

Bellek (işlem) havuzları: Blok zincirindeki işlemlerin bloklara eklenmeden önce doğrulanması gerekir. O zamana kadar, işlem talepleri, bir madenci tarafından alınmayı bekleyen onaylanmamış işlemlerin deposu gibi olan mempool'da saklanır. 

Yüksek ücretli işlemin madenci tarafından seçilmesi daha olasıdır. Bu nedenle, mempool'u küçük ücretlerle dolu birçok işlemle doldurmak, kullanıcının işlemlerini gerçekleştirmek için yüksek ücretler ödemesine neden olur. Böylece DoS saldırısı sihrini işlem ücretini artırmada kullandı. 

Konsensüs katılımcıları: Mantığı çözen ve blok zincirine eklenecek bloklara karar veren oyunculardır. Konsensüs liderine DoS saldırıları uygulamak tüm sistemi durdurur. 

Karıştırma hizmetleri: Kullanıcıların işlemleri anonim olarak gerçekleştirmeleri için bir protokol kullanır. Karıştırma havuzuna aşırı katılım talepleri, karıştırma için tutarsız girdiler vb. gibi çeşitli yollarla DoS saldırılarına maruz kalırlar. 

Akıllı sözleşmeler: Akıllı sözleşme, blok zincirindeki her işlemin arkasındaki temel protokoldür. Akıllı sözleşmelere yönelik DoS saldırıları, barındırdığı Dapp'lerin çalışmasını durduran düğümü çökertebilir.

DoS saldırıları, aşağıdaki bölümde ayrıntılı olarak açıklanan çeşitli olası yollarla üzerlerinde gerçekleştirilir.

Akıllı Sözleşme DoS Saldırılarının Türlerini Analiz Etme 

Akıllı sözleşmelerdeki DoS güvenlik açığı, sınırsız kaynak kullanımı veya sözleşmenin manipülasyonu ile sonuçlanır. Bu, normal faaliyetlerin yürütülmesinde askıya alınmasına yol açar veya sözleşmenin mantığını kesintiye uğratır ve çökertir. 

Aşağıda, akıllı sözleşmelerdeki çeşitli DoS saldırılarının sınıflandırılması yer almaktadır.

Beklenmeyen Geri Döndürme DoS

Akıllı sözleşmelere yönelik bu DoS saldırısını incelemek için örnek olarak bir açık artırma sözleşmesini ele alalım. Açık artırma sözleşmesi, alınan her en yüksek teklifle güncellenir ve mevcut tekliften daha düşük olduğu için önceki teklif sahibinin teklif tutarını döndürür.

contract Auction {
    address frontRunner;
    uint256 highestBid;

    function bid() public payable {
        require(msg.value > highestBid, "Need to be higher than highest bid");
        // Refund the old leader, if it fails then revert   
        require(payable(frontRunner).send(highestBid), "Failed to send Ether");
 
        frontRunner = msg.sender;
        highestBid = msg.value;
    }
}

Saldırgan sözleşmesi, açık artırma sözleşmesine erişim kazanan yapıcıdaki açık artırma sözleşmesiyle başlatılır. Bunda saldırgan, 'attack()' fonksiyonunu çağırarak tutarı kilitler ve bu nedenle, bundan daha yüksek bir teklif alsa bile teklif tutarını saldırgana iade edemez. 

import "./Auction.sol";   
contract Attacker{
    Auction auction;

    constructor(Auction _auctionaddr){
        auction = Auction(_auctionaddr);
    }

    function attack (){
        auction.bid{value: msg.value}();
    }

}

Bunun nedeni, 'saldırgan' sözleşmesinin Ether'i iade etmek için herhangi bir 'alma()' veya geri dönüş işlevi içermemesidir, bu da beklenmedik bir geri dönüşe neden olur. Bu, saldırganın her zaman en yüksek teklifi veren sözleşme yapmasını sağlar. 

Blok Gaz Limiti DoS 

Blok, yapılacak hesaplamalı iş miktarıyla orantılı olarak harcanacak maksimum gaz sınırına sahiptir. Gaz limitinin aşılması durumunda iki tür DoS saldırısına yol açar.

Gaz Limiti DoS – Sınırsız Sözleşmeli İşlem

Belirlenmiş bir gas limiti vardır ve işlemler belirlenen limitten daha yüksek bir gas limitine ulaşırsa işlem başarısız olur. 

Saldırgan gereken gazı manipüle ettiğinde daha da kötüleşir. Bu, saldırganın çok küçük bir geri ödeme için birkaç adres eklediği zamandır. Her geri ödeme bir gaz ücretine tabidir; dolayısıyla gaz maliyeti, iade işlemlerinin gerçekleşmesini engelleyen sınırı aşıyor. 

struct Payee {
    address addr;
    uint256 value;
}

Payee[] payees;
uint256 nextPayeeIndex;

function payOut() {
    uint256 i = nextPayeeIndex;
    while (i < payees.length && msg.gas > 200000) {
      payees[i].addr.send(payees[i].value);
      i++;
    }
    nextPayeeIndex = i;
}

Bu nedenle bir dizi üzerinde döngü uygularken gerekli adımlar göz önünde bulundurulmalıdır. 

Blok Doldurma

Saldırgan, yüksek gaz fiyatları ile hesaplama açısından yoğun işlemler göndererek işlemlerin bloklara eklenmesini engellemek için bu saldırıyı başlatır. Gaz limitinin tamamını tüketmek için benzer şekilde birkaç işlem yapılır. 

Saldırgan, yüksek gaz ücreti ödeyerek, diğerlerini dışarıda bırakarak bloklara yalnızca amaçlanan işlemlerin eklenmesini sağlar. 

Sahip İşlemi

Her sözleşmenin, işlemleri açma veya askıya alma yetkisine sahip bir sahibi adresi vardır. Tüm işlem, sahibinin adresine bağlıdır ve bu nedenle, kaybolursa, kullanıcı hiçbir şekilde jeton gönderemez ve sözleşme işlevi çökecektir.

DoS Saldırısının Etkisi

Blok doldurma, meşru işlemlerin bloklara eklenmesini engelleyen birçok etkiden biridir. Ancak, DoS saldırılarının başka etkileri de vardır. 

Şişirilmiş defter: Blockchain defteri, işlemlerin kalıcı olarak kaydedildiği yerdir. Blok zinciri düğümleri, çift harcamaları doğrulamak için işlemlerin bir kopyasını saklar. Bir DoS saldırısı, defteri spam işlemleriyle şişirebilir.

Ağ trafiği: Eşler arası moda dayalı blok zinciri işlevlerini biliyoruz. Blok zincirindeki her düğüm işlemin bir kopyasını alır. Bir DoS taşması, ağ bant genişliğini tüketen büyük bir işlem hacmine neden olabilir. 

Düğüm hataları: Blok zinciri, büyük hacimli verileri işlemek için yazılımın desteğini gerektiren düğümlerde çalışır. İşlem taşması sırasında, düğümlerin bellekleri tükenebilir ve bu da işlemleri durdurabilir.

Yazılım Çöküşü: Tartıştığımız gibi, mempool veya bloklar kendilerine ayrılan bellekte belirli sınırlarla gelir. Yazılım, belirlenen limit dahilinde işlemleri alır, işler ve saklar. Gelen işlemler yerleşik limitleri aştığında yazılım çöker.  

Akıllı Sözleşmeleri DoS Saldırılarından Koruyun 

DoS saldırılarının analizinden, saldırıyı azaltmak için aşağıdaki yollar kullanılabilir. 

Bulmacalar: Sunucular, hafıza bulmacaları, zaman kilitli bulmacalar, CPU'ya bağlı bulmacalar vb. Gibi bulmacalar üretebilir. Bir kullanıcının bir hizmete erişebilmesi için, bulmacaların spam saldırılarıyla mücadele eden çözülmesi gerekir.

Ücrete dayalı yaklaşım: Madencilik havuzları için madencilik ücretleri, işlem ücretleri vb. gibi blok zincirine ekstra bir ücret uygulanabilir. Bu, DoS hack'ini saldırganlar için maliyetli hale getirir ve böylece bu tür saldırıları azaltır. 

Sonuç Notu

Şurada gerçekleştirilen bir Akıllı sözleşme denetimi QuillDenetimleri kodlamada yatan potansiyel güvenlik açıklarını arar. Bazıları yeniden giriş güvenlik açığı, depolama çakışması, rastgelelik saldırısı, Hizmet Reddi vb. 

Bu açıkça şu anlama gelir akıllı sözleşmeler Hizmet Reddi saldırı tehditleri içermediği kapsamlı bir şekilde test edilmiştir. Bu, projenizin Web3 alanının olası güvenlik açıklarından korunmasını sağlar.

Hizmetlerimiz hakkında en son bilgileri toplamak için Telegram kanalımıza dikkat edin: https://t.me/quillhash

13 Görünümler

Zaman Damgası:

Den fazla tüyo