Tutulma saldırısı kötü niyetli bir kişinin ağ üzerindeki node’lara müdahale etmek için kullanabileceği nispeten basit bir saldırıdır. İsminden de anlaşılabileceği gibi saldırı genel bir aksama yaratmak ya da daha sofistike saldırılara ortam hazırlamak için bir katılımcının eşler arası ağ görüntüsünü kesmeyi amaçlar.
Tutulma Saldırısı Nedir?
Tutulma saldırıları yüzeysel olarak Sibil saldırılarına benzermiş gibi gelebilir. Bazı benzerlikleri olsa da (kötü niyetli kişilerin sahte eşlerle ağı doldurması gibi) bu iki saldırının nihai amaçları farklıdır. Tutulma saldırısı tek bir node’u hedef alırken (önümüzdeki bölümlerde açıklanacak nedenlerden) bir Sibil saldırısı protokolün itibari sistemini bozmak için tasarlanmış ağ çapında bir saldırıdır.
Kavram, Boston Üniversitesi ve Kudüs İbrani Üniversitesi’nden araştırmacıların tutulma saldırıları üzerine deneylerinin sonuçlarından ve bu saldırılarla savaşmak için alınabilecek karşı önlemlerden bahseden 2015 tarihli Bitcoin’in Eşler Arası Ağında Tutulma Saldırıları adlı makalede derinlemesine incelenmiştir.
Tutulma Saldırısı Nasıl Çalışır?
Bitcoin madencileri, yeni bloklar oluşturmak için özel donanıma ihtiyaç duyar, ancak madencilik olmayan (veya tam) slotlar çok az bilgi işlem gücü ile çok yavaş çalışabilir. Bu, herkesin düşük kaliteli cihazlarla çalıştırmasına izin verdiği için Bitcoin’in popülaritesine katkıda bulunur. Yazılım, işlemin bir veritabanını tutar ve ağda güncel kalmak için onu en yakın benzerleriyle senkronize eder.
Çoğu düğüm için sınırlayıcı faktör bant genişliğidir. Yazılım üzerinde birçok cihaz çalışsa da, ortalama bir cihaz, Bitcoin yazılımı tarafından belirlenen sınırlamalar nedeniyle (maksimum 125 bağlantıya izin verilir) çoğuna doğrudan bağlanamaz.
Tutulma saldırısında saldırgan, hedef düğümden gelen tüm bağlantıların saldırganın kontrolü altındaki düğümler olduğunu bulur. Saldırgan önce hedefin akışını IP adresine yükler. Bu adresler, uygulamayı yeniden başlatırken kişiyi bağlama olasılığı en yüksek olan adreslerdir.
Hedef yeniden başlamaya zorlanabilir (örneğin, bir DDoS saldırısı yoluyla) veya saldırgan bunun hemen olmasını bekleyebilir. Sıfırlama gerçekleştiğinde, bilinmeyen kişi ana ağa bağlı değildir ve onları kötü niyetli düğümlerin insafına bırakır ve saldırgana sahte veri sağlayamaz.
Tutulma Saldırısının Sonuçları Nasıldır?
Saldırgan bir çifti ağdan çıkarmaya çalışıyorsa, bunu yapmak için bir nedeni olabilir. Ağız ıslakken birçok takip atakları çok daha kolay yapılabilir.
0-Onaylı Çift Harcamalar
Bir kişi herhangi bir onay almadan bir işlemi kabul ederse, masraflarını ikiye katlama riskiyle karşı karşıya kalır. İşlem genişletilebilir, ancak bloğa dahil edilene (ve dolayısıyla blok zincirine dahil edilene) kadar gönderen, aynı miktarı başka bir yere yatırdığı yeni bir işlem oluşturabilir. Yeni işlemin değeri yüksekse, madenci muhtemelen ilk işlemden önce bloğa koyacak ve böylece eski işlemi geçersiz kılacaktır.
Bazı şirketler ve şahıslar bu işlemleri doğrulamadan kabul etmektedir. Lüks bir araba satıcısı olan Bob’u düşünün. Bob, Alice’in Düğümü’nün güneş tutulması olduğunu bilmiyordu ve lüks bir spor araba siparişi aldığında hiç şüphesi yoktu. Alice işi düzenler ve Bob bunu ağda yayınlar. Ödemenin geleceğini düşünerek arabanın anahtarlarını verdi ve Alice hızla uzaklaştı.
Aslında iş aslında ağ üzerinde bilgi yayınlamaz, Bob onları birlikte yürekten Alice’e gönderir, ki hakikati birlikte paylaşmazlar. İşlem ücretsiz olarak askıya alınsa da Alice aynı parayı başka kişilere veya sahip olduğu adrese göndererek ağa (iyi) yatırır. İlk işlem ve Bob nihayet görülse de, paralar harcandığı için atılıyor.
N-Onaylı Çift Harcamalar
Çift onay harcaması, 0 onay ile çift harcamaya benzer, ancak daha fazla destek gerektirir. Birçok şirket, ödemeyi onaylamadan önce belirli onayları beklemeyi tercih ediyor. Bunun için saldırganın hem madencileri hem de tüccarı tutulmada ifşa etmesi gerekir.
Satıcı tarafından sipariş verildiğinde, saldırgan bunu madencilere (maske) dağıtır. İşlem onaylanır ve blok zincirine eklenir, ancak madenci görünmez olduğu için bu blok zinciri çok sayıda katılımcıdan oluşan bir zincir değildir.
Bu noktada saldırgan, blok zincirinin bu sürümünü tedarikçiye iletir ve tedarikçi, işlemin onaylandığını varsayarak ürünleri teslim eder. Maskeli delikler gerçek ağa geri döndüğünde, yanlışlıkla geçerli olduğunu düşündükleri blok zinciri, diğer ağların çalıştığı gerçek zincirden yetim kalır (%51 saldırısı gibi).
Rakip Madencileri Zayıflatma
Maskelenmiş bir düğüm, ağın geri kalanıyla bağlantısının kesildiğini bilmeden çalışmaya devam eder. Madenciler protokolde tanımlanan kurallara göre madencilik yapmaya devam eder, ancak dürüst bir düğüm kullanıldığında kısıtlamalar atılır. Açıkçası, %51 saldırısını desteklemek için madencilik patronlarına karşı büyük bir tutulma saldırısı kullanılabilir.
Normalde, çok sayıda Bitcoin hash gücü elde etmenin maliyeti, en verimli saldırganlar için bile çok yüksektir – ~80TH/s’de saldırganın böyle bir deneyi gerçekleştirmek için 40TH/s’den fazlasına ihtiyacı olacaktır. Hash gücünün on’a (her biri 8TH/s ile) bölündüğü varsayımsal durumda, saldırgan bunları ağda durdurabilir ve saldırı için gereksinimleri %51 oranında azaltabilir.
5. bölüm gün içinde sıkıntı çekiyorsa, sonraki bloğu bulmak için yarıştan 40TH/s ve saldırganın kontrolü ele geçirmek için şimdi 20TH/s’den biraz daha fazlasına ihtiyacı var. Gün içinde hedefleri açığa çıkararak yapılabilecek bir diğer zarar da bencil madencilik veya madenciler arasında bir sonraki bloğu bulmak için yarışma sanatı eşiğini değiştirmektir.
Saldırıları Nasıl Önleyebilirsiniz?
Saldırgan herhangi bir düğümü tam bir IP adresine maruz bırakabilir. Bunun olmasını önlemenin en iyi yolu, hizmet sağlayıcının gelen bağlantıları engellemesi ve belirli düğümlere (diğer düğümler tarafından desteklenenler gibi) bağlanmasıdır. Ancak araştırma raporunda belirtildiği gibi dönüştürmenin yolu bu değil, tüm katılımcılar bu önlemi kullanırsa yeni numaralar ağa giremeyecektir.
Yazarlar, Bitcoin yazılımında çeşitli değişiklikler önermektedir ve bu önerilerden bazıları makalenin yayınlanmasından bu yana dahil edilmiştir. Bu öneriler, koda yeni bağlantılar oluşturma ve adres koruma yeteneklerini artırma gibi küçük değişikliklerle bir bulut saldırısını daha uygun maliyetli hale getirir.
Bu post hakkında tartışma