Blockchain (Blok Zinciri) Güvenlik Zafiyetleri

1 Mart 2019
0 Paylaşımlar

Bu zamana kadar yapılan araştırmalarda Blok zincirinin ne kadar güvenli olduğu ve güvenliği ne kadar arttırdığı vurgulandı. Konspetin en önemli ve sürekli vurgulanan özelliklerinden bir tanesi de blok zinciri platformundaki işlemlerin daha güvenli hale getirmesidir. Bugünkü yazımda farklı bir bakış açısıyla yaklaşıp, blok zinciri teknolojisinde ne gibi güvenlik zafiyetleri olduğunu ve atak vektörlerinin neler olduğunu tanımlamaya çalışacağım. Güvenlik tüm blok zinciri teknolojisine entegre edilmiş olsa da, en güçlü blokerler bile modern siber saldırganların saldırısına uğramaktan kurtulamıyorlar. Blok zincir geleneksel siber saldırılara oldukça iyi direnebilir, ancak siber suçlular özellikle blok zincir teknolojisini hacklemek için yeni saldırılar geliştiriyorlar. Herhangi bir teknolojide olduğu gibi blok zincirinin de saldırı vektörleri vardır ve blok zinciri bu zamana kadar hep bu saldırılardan uzak olduğu dile getirildi.

Bilgisayar korsanları zaten kötü niyetli eylemlerde bulunmak için blok zinciri teknolojisini bu zamana kadar kullandılar ve kullanmaya devam ediyorlar. WannaCry ve Petya gibi vb. fidye yazılım saldırılarında eğer saldırganlar kripto para birimleri cinsinden ödüllerini almasaydı şimdiye kadar bu teknolojinin zafiyetlerini paylaşmış olurlardı. Fakat şimdilerde durum biraz daha değişti ve Bilgisayar korsanları blok zinciri güvenlik açıklarını kötüye kullanmayı ana gelir kaynağı olarak görüyorlar. Şimdilerde Bilgisayar korsanları, Bitcoin ve Ethereum gibi devasa platformlara saldırarak blok zinciri güvenliğini bozacak kadar akıllı olduklarını gösterme çabasındalar. Bilgisayar korsanları tarafından oluşturulan tehditlerle nasıl başa çıkılacağını ele almadan önce, genellikle bilgisayar korsanları tarafından hedeflenen beş blok zinciri özelliğini inceleyelim.

1) Blok Zinciri Ağ Saldırıları

Blok zinciri ağı, işlemleri oluşturan ve çalıştıran ve diğer hizmetleri sağlayan düğümleri içerir. Örneğin, Bitcoin ağı, işlemleri gönderen ve alan düğümleri ve bloklara onaylanmış işlemler ekleyen madencileri içerir. Siber suçlular ağ açıklarını araştırmakta ve blok zinciri ağlarına yapılan aşağıdaki saldırılarla onları istismar etmektedir.

DDoS (Dağıtılmış Hizmet Reddi) : Dağıtılmış hizmet reddi (DDoS) saldırılarının bir blok zinciri ağında gerçekleştirilmesi zordur. Yine de, blok zinciri teknolojisi DDoS saldırılarına karşı hassastır ve bu saldırılar aslında blok zinciri ağlarında en yaygın olanıdır. Bir blok zinciri ağına saldırırken, bilgisayar korsanları, tüm işlem kaynaklarını çok sayıda istekte bulundurarak bir sunucuyu yıkma niyetindedir. DDoS saldırganları, maden havuzlarının, e-cüzdanların, kripto borsalarının ve ağın diğer finansal hizmetlerinin bağlantısını kesmeyi amaçlamaktadır. Bir blok zinciri, korsanlar DDoS botnetlerini kullandıkları zaman uygulama katmanında DDoS saldırısına uğrayabilir. Bitcoin, diğer blok zinciri ağlarıyla birlikte, DDoS saldırılarına karşı koruma için önlemler almaktadır.

DDoS saldırılarının başarı olasılığını sınırlamanın yolları var ama bunu tamamen ortadan kaldıramıyoruz. Örneğin, işlemleri içeren blokların boyutu gibi belirli ağ parametrelerinin değiştirilmesi bir yöntemdir. Bununla birlikte, blok boyutu blok zincirinin ölçeklenebilirliği ile ters orantılıdır. Ne kadar büyük olursa, o kadar fazla işlem yapabilir ve işlem ücretleri o kadar az olur. Aksine, küçüldükçe, sahip olabileceği işlem sayısı azalır ve işlem ücretleri artar. Güvenlik açısından, işlem ücretlerini artırmak ve böylece bilgisayar korsanlarının ağa gönderdikleri her işlem için ödeme yapmak zorunda kalmaları nedeniyle DDoS saldırılarını daha pahalı hale getirmek için boyutu düşürmenin daha iyi olduğu düşünülmektedir. Bu durumda bariz bir doğru veya yanlış çözüm yoktur. Aslında, Pek çok protokol bu parametreleri deneme yanılma biçiminde değiştiriyor, çünkü kendileri de nasıl en iyi şekilde ayarlanacaklarını bilmiyorlar. Temel olarak, sürekli değişen bir ağa sahip olduğumuzda, düğümlerin birleştiği yerlerde, bu parametreleri ayarlamak çok zorlaşıyor. Bu, değiştikçe ağ gereksinimlerini karşılamak için anlık parametre değiştirmeye ihtiyacımız olduğu anlamına geliyor. Özetle, DDoS saldırıları kaçınılmazdır, ancak gelen ve giden bağlantılarımızın adil bir şekilde çeşitlenmesiyle, başarı olasılığını kesinlikle azaltabilir ve bu saldırıları olanaksız kılabiliriz. Bu, değiştikçe ağ gereksinimlerini karşılamak için anlık parametre değiştirmeye ihtiyacımız olduğu anlamına gelir.

İşlem Yapılabilirlik Saldırıları (Malleability Attack) : Bir işlem yapılabilirlik saldırısı, kurbanı iki kez ödemeye yapması için kandırılmasına yöneliktir. Bitcoin ağında, her işlem bir işlem kimliği olan bir karma değere sahiptir. Saldırganlar işlem kimliğini değiştirmeyi başarırsa, değiştirilmiş bir karması olan bir işlemi ağa yayınlamayı deneyebilir ve orijinal işlemden önce onaylanmasını isteyebilir. Gönderen, ilk işlemlerinin başarısız olduğuna inanırken, ödemeler yine de hesaplarından çekilecektir. Gönderen işlemi tekrarlarsa, aynı tutarı iki kez harcamış olacaktır. Bu işlem, iki işlem madencisi tarafından onaylandıktan sonra başarılı olur. Bir Bitcoin takascısı olan MtGox, 2014 yılında yapılan bir işlem yapılabilirlik saldırısı sonucunda iflas etmiştir.

Zaman Aşımı Saldırıları (Timejacking) : Zaman aşımı, Bitcoin zaman damgası işlemesinde teorik bir güvenlik açığından yararlanır. Bir zaman aşımı saldırısı sırasında bir bilgisayar korsanı düğümün ağ zaman sayacını değiştirir ve düğümü alternatif bir blok zinciri kabul etmeye zorlar. Bu, kötü niyetli bir kullanıcı ağa yanlış zaman damgaları ile birden çok sahte eş eklediğinde elde edilebilir. Bununla birlikte, bu saldırı kabul zaman aralıklarını kısıtlayarak veya düğümün sistem zamanını kullanarak önlenebilir.

Yönlendirme Saldırıları (Routing Attack) : Bir yönlendirme saldırısı hem bireysel düğümleri hem de tüm ağı etkileyebilir. Bu saldırı fikri, akranlarına zorlamadan önce işlemlerde değişiklik yapmaktır. Bilgisayar korsanları, ağı birbirleriyle iletişim kuramayan bölümlere böldüğü için diğer düğümlerin bu manupülasyonu algılaması neredeyse imkansızdır.

Postaneye gittiğinizi ve bir arkadaşınıza teslim edilmek üzere bir mektup bıraktığınızı hayal edin. Şimdi posta kuryesinin mektubu açmaya karar verdiğini ve bir parçasını arkadaşınıza teslim etmeden önce bir kısmını çöpe attığını hayal edin. Arkadaşınız mesajı aldığında, birisinin mektubu değiştirdiğini bile fark etmez. Yönlendirme saldırıları örnekteki konsepte çok benzerdir. Ağda yayılan mesajları engellemeye ve manupüle etmeye dayanıyor. Düğümlerin bu tür manupülasyonu algılamasının tek yolu, başka bir düğümden farklı bir kopyasını alması durumunda ortaya çıkar. Tabi, ağ üzerinden yayılan başka bir veri alma kaynağı yoksa… Başka bir deyişle, kötü niyetli düğüm ağı birbiriyle daha fazla iletişim kuramayacak veya göremeyen iki veya daha fazla bölüme ayıracak şekilde bölebiliyorsa.

Yandaki şekilde görüldüğü gibi; Yönlendirme saldırısı örneğini temsil eden bir şemada ağ iki ayrık gruba ayrılır. Kırmızıdaki kötü amaçlı düğümler, mavi olan dürüst düğümleri izole eder.

Yönlendirme saldırıları aslında iki ayrı saldırıdan oluşur; Ağ düğümlerini ayrı gruplara ayıran bir bölümleme saldırısı (Saldırgan, ağı iki veya daha fazla ayrık gruba bölmeye çalışır. Bu, iki grup arasındaki bağlantı noktası olarak işlev gören ağ içindeki bazı noktaları ele geçirerek yapılabilir.) yada iletileri yaymaya zorlayan ve onları ağa gönderen bir gecikme saldırısı (Daha sonra, saldırgan yayılan mesajları alır, bunları manupüle eder ve sonunda onları daha önce görmemiş ağın yanına iter.).

Bunun olmasını hiç önleyebilir miyiz? Cevabım tamamen değil olacak. Bununla birlikte, bu saldırıların gerçekleşmesini sınırlamak için geçerli yöntemler vardır. Örneğin, ağ bağlantılarını sürekli olarak çeşitlendirerek, saldırganın işini çok daha zorlaştıracağız ve ağı iki veya daha fazla ayrık gruba ayıracağız. Diğer bir yöntem, Gidiş-Dönüş Süresi (RTT) gibi ağ parametrelerini izlemek ve düzensiz kalıpları tanımaktır. RTT, temelde düğümlerin veri paylaşması ve teslimini onaylaması için gereken zamandır. Bir kez tespit edildiğinde, düğümler kendilerini kesebilir ve diğer rastgele düğümlere bağlanmayı deneyebilir. Bu şekilde çözüm oluşturulabilir.

Sybil Saldırıları (Sybil Attack) : Eşler arası bir ağa bağlanırken ortaya çıkan en büyük sorunlardan biri Sybil saldırılarıdır. Sybil saldırısı, saldırganın aynı anda birden çok insan gibi davrandığı bir saldırıdır. Bir örnek vererek bunu basitleştirelim. Telefonla sigorta satışı yapan bir satış ekibinde çalıştığınızı hayal edin. Dürüst patronunuz tüm ekibe internet üzerinden topladığı numaraların listesini verir. Şimdi, bu listedeki sayıların çoğunluğunun, satış ekibini birden fazla kişiye ait olduğuna inanmak için kandırmış bir kişiye ait olduğunu hayal edin. Bu ekipteki her satış elemanı, bütün gününü, bir şey satın alma niyeti olmayan bir kişiye sigorta satmaya çalışarak geçirecektir.

Şimdi bunu bir blok zinciri koruyan eşler arası bir ağla ilişkilendirelim. Dürüst bir satış elemanı, ağdaki diğer düğümlerle bağlantı kurmak isteyen herhangi bir dürüst düğüme benzer. Ağda çok fazla kimlik oluşturabilen kötü niyetli bir düğüm noktası olduğunu düşünün. Ağda, bu kötü niyetli düğümler ağın büyük bir yüzdesini temsil eden büyük bir düğüm grubu gibi gözükmektedir. Diğer dürüst düğümler bu tür davranışları tespit edemeyebilir ve verilerin bu kadar çok farklı kaynaktan geldiğini düşünerek bu kötü niyetli düğümden paylaşılan bilgileri kabul edebilir (örn. Rastgelelik uygulanır). Bu şekilde, Sybil saldırılarının ağı belirli bir düğüm değil, bir bütün olarak hedef aldığı anlamına gelir. Bu tür saldırılar tespit etmek zordur, ancak ne yazık ki, meydana gelmesi olasıdır. Örneğin, 250’den fazla sahte Bitcoin düğümü oluşturmuş ve ağ üzerinden yayılan işlemler hakkında bilgi toplamaya çalışırken, blok zinciri analitiği sağlayan İsviçre merkezli Chainalysis şirketi örnek gösterilebilir. Bitcoin geliştiricileri tarafından suçlandıktan sonra şirketin CEO’su, şirketin aslında bu düğümleri oluşturduğunu, ancak sadece amaçlarına rehberlik ettiğini itiraf etmiştir.

Bu tür saldırılara maruz kalma ihtimalimizi azaltmak için alabileceğimiz bazı önlemler olsa da, bunları tamamen ortadan kaldırmanın bir yolu yoktur. Örneğin, güvendiklerimiz dışında ağdaki hiçbir düğüme asla bağlanmamaya karar verelim. Ama gerçekten herhangi bir düğüme güvenir miyiz? Ya bu ilk kez bağlanacaksak ve güvenebileceğimiz düğümleri tanımıyorsak sizce mümkün müdür ? Bu soruna çözüm olarak bir düğümün ne kadar dürüst olduğuna dair bir işaret verebilecek kimlik tabanlı veya itibar tabanlı sistemlerin kullanılması önerilmiştir. Bu yeterli mi? Peki ya gizlilik? Ağa bağlanabilmek için kimliklerini açıklamaya güvenirsek, bu tür sistemlerde anonimliğin arkasındaki amaç nedir?

İş Kanıtı (PoW) gibi diğer önlemlerin madencilik sırasında Sybil saldırılarına karşı korunmak için birçok kripto para birimi tarafından kullanıldığından bahsetmekte fayda vardır. PoW, pahalı bir kripto bulmacasında rekabet edebilmek için madencilik sürecine katılmak isteyen her düğümü gerektirir. Şimdi, birden fazla kimlik oluşturmak hala mümkün, ancak bu bulmacayı çözmek için hesaplama gücü sağlamak o zaman sorun haline geliyor. Peki bu yöntem Sybil saldırılarının gerçekleşmesini tamamen önlüyor mu? Tamamen değil, ama kesinlikle şansını düşürüyor.

Tutulma Saldırıları (Eclipse Attack) : Tutulma saldırıları, belirli düğümlerin tüm eşler arası ağdan tutulmasını amaçlayan bir tür ağ saldırısıdır. Bu, basitçe, bir düğümün bağlantılarını, saldıran düğümler dışındaki hiçbir düğümden bilgi alamaması için tekelleştirmek anlamına gelir. Sybil saldırılarının aksine, Eclipse saldırıları temel olarak tüm ağa bir kerede ve tek düğüme saldırmaya odaklanır.

Eclipse saldırılarının en büyük korkusu peşinden gelebilecek saldırılardır. Örneğin, bir saldıran düğüm, böyle bir ortamda kolayca bir çift harcama saldırısı gerçekleştirebilir. Bu, kurban düğüme, ödeme kanıtı gösteren bir işlem göndererek, onu ağdan uzaklaştırarak ve ardından aynı belirteçleri tekrar harcayarak ve tüm ağa başka bir işlem göndererek kolayca yapılabilir. Kurban düğümünün izole edildiği ve yalnızca kötü niyetli düğümlerden veri aldığı gerçeği göz önüne alındığında, blok zincirinin yanlış bir durumuna inanmaya devam edeceği aşikardır.

Yandaki şekilde Eclipse saldırısında ağı temsil eden bir şema. Kırmızı tutulmadaki kötü niyetli düğümler, bağlantılarını tekelleştirerek tüm ağdan mavi olan dürüst düğümlerden birini izole eder.

Bağlantıların nasıl tekelleştirilebileceğini açıklamadan önce bağlantıların nasıl kurulduğunu anlamamız gerekir. Her bir düğüm, daha önce bağlantı kurduğu veya akranlarından bildiği IP adreslerinin bir kopyasını tutar. Bir düğüm ağa bağlanmak istediğinde, genellikle bu tutulan değerlerden IP adreslerini rastgele seçer ve bunlara bağlantı ister. Şimdi, sürekli ve agresif bir şekilde saldırgan tarafından kontrol edilen IP adreslerini kurban düğümü gönderen bir saldırgan düğüm hayal edin. Kurban düğümü bir kerede yalnızca sabit sayıda adres tutabildiğinden, eskileri ortadan kaldırmaya başlar ve onları saldırgan tarafından gönderilen yenileriyle değiştirir. Saldırı, ancak o mağdur düğüm çevrimdışı olduğunda ve ağa yeniden bağlanmaya karar verdiğinde tamamlanmış ve başarılıdır.

Bu tür saldırıları azaltmaya yardımcı olabilecek tartışılan birçok önlem vardır. Çoğu, bir düğümün daha sonra ağa yeniden bağlanmak için kullanacağı IP adreslerini yerel olarak nasıl sakladığını içerir. Ancak, önceki saldırılara benzer şekilde, onları tamamen ortadan kaldırmanın bir yolu yoktur.

Tutulma saldırısı, bir bilgisayar korsanının çok sayıda IP adresini kontrol etmesini veya dağıtılmış bir botnet’in olmasını gerektirir. Daha sonra saldırgan kurban düğümünün denenmiş masasındaki adreslerin üzerine yazar ve kurban düğümü yeniden başlatılıncaya kadar bekler. Yeniden başlattıktan sonra, kurban düğümün tüm giden bağlantıları, saldırgan tarafından kontrol edilen IP adreslerine yönlendirilecektir. Bu, kurbanın ilgilendikleri işlemleri elde edememesini sağlar. Boston Üniversitesi’nden araştırmacılar Ethereum ağına bir tutulma saldırısı başlattı ve sadece bir veya iki makine kullanarak bu saldırıyı gerçekleştirmeyi başardı.

2) Kullanıcı Cüzdanı Saldırıları

Aslında, blok zinciri ve siber güvenlik, insanlar onlarla etkileşime girene kadar tuzun, karabiber ile bir araya gelmesine benzer. Şaşırtıcı gelebilir, fakat blok zinciri kullanıcıları en büyük güvenlik tehdidi oluşturmaktadır. İnsanlar blok zincirinin güvenliğini abartma ve potansiyel saldırı vektörlerini görmezden gelme eğilimindedir. Kullanıcı cüzdanı kimlik bilgileri, siber suçlular için ana hedeftir. Hacker’lar kimlik avı ve sözlük (dictionary) saldırıları gibi geleneksel yöntemleri veya kriptografik algoritmalarda zayıflıkları bulmak gibi yeni karmaşık yöntemleri kullanmaya çalışır. Bu bölümde kullanıcı cüzdanlarına saldırmanın en yaygın yollarını değerlendirelim ve inceleyelim.

  • Kimlik Avı Saldırıları (Phishing Attack) : Yeni bir IOTA cüzdanına saldırı, sahte bir çevrimiçi tohum üreticisi olan iotaseed.io (şu anda çevrimdışı) ile başlatıldı. Hackerlar bu servisle bir phishing kampanyası yürüttüler ve gizli tohumlarla kayıt topladılar. Sonuç olarak, 2018 Ocak’ında hackerlar kurbanların cüzdanlarından 4 milyon dolar değerinde IOTA’yı başarıyla çaldılar.
  • Sözlük Saldırıları (Dictionary Attack) : Bu saldırılar sırasında bilgisayar korsanları bir kurbanın şifreleme hash’ini kırmaya çalışıyor. Saldırganlar, clear-text metin şifrelerini hash’a çevirerek, örneğin “password1” gibi yaygın şifrelerin hash değerlerini alarak cüzdanların kimlik bilgilerini bulabilirler.
  • Savunmasız İmzalar : Blok zincir ağları, kullanıcı imzaları oluşturmak için çeşitli şifreleme algoritmaları kullanır, ancak bu teknolojilerin de güvenlik açıkları olabilir. Örneğin, Bitcoin otomatik olarak benzersiz özel anahtarlar oluşturmak için ECDSA şifreleme algoritmasını kullanır. Bununla birlikte, ECDSA’nın yetersiz entropiye sahip olduğu ve bu da birden fazla imzada aynı rastgele değere yol açabileceği görülmektedir. IOTA ayrıca eski Curl hash fonksiyonu ile şifreleme problemleriyle karşı karşıya kaldı.
  • Hatalı anahtar üretimi : Anahtar üretimlerindeki güvenlik açıklarını araştıran Johoe olarak bilinen hacker Aralık 2014’te Blockchain.info tarafından sağlanan özel anahtarlara erişim sağladı. Saldırı, kod güncellemesi sırasında ortaya çıkan bir hata sonucu ortaya çıktı ve girdilerin kamuya açık hale getirilmesinde kötü bir şekilde sonuçlandı. Bu güvenlik açığı hızlı bir şekilde azaltılmasına rağmen, hata ECDSA algoritmasıyla hala mümkündür.
  • Soğuk cüzdanlara saldırılar : Donanım cüzdanları veya diğer bir değişle soğuk cüzdanlar da saldırıya uğrayabilir. Örneğin, araştırmacılar yakın zamanda Nano S Ledger cüzdanındaki hataları kullanarak bir Evil Maid saldırısı başlattılar. Bu saldırının bir sonucu olarak, araştırmacılar özel anahtarların yanı sıra PIN’leri, recovery seed’lerini ve kurbanların şifrelerini elde etmişlerdir.
  • Sıcak cüzdanlara saldırılar : Sıcak cüzdanlar, özel şifreleme anahtarlarını saklamak için kullanılan internete bağlı uygulamalardır. Cryptocurrency borsaları sahipleri, kullanıcı verilerini webden çıkardıkları cüzdanlarda sakladıklarını iddia etse de, Coincheck’e yapılan son 500 milyon dolarlık bir saldırı bunun her zaman doğru olmadığını kanıtlamıştır.
3) Akıllı Sözleşme Atakları

Ethereum, EOS ve NEO platformlarına dayanan akıllı sözleşmelerdeki güvenlik açıklarını analiz etme konusunda bazı çalışmalar gerçekleştirdim. Akıllı sözleşmelerle ilgili en önemli blok zincir güvenlik sorunları, kaynak kodundaki olası hatalar, bir ağın sanal makinesi, akıllı sözleşmeler için çalışma ortamı ve blok zincirinin kendisiyle ilgili olduğunu tespit ettim. Bu saldırı vektörlerini aşağıda detaylandıralım ve her birini daha yakından inceleyelim.

  • Sözleşme kaynak kodundaki güvenlik açıkları : Akıllı bir sözleşmenin kaynak kodunda güvenlik açıkları varsa, sözleşmeyi imzalayan taraflar için risk oluşturur. Örneğin, bir Ethereum sözleşmesinde tespit edilen hatalar, 2016 yılında sahiplerine 80 milyon dolara mal oldu. Solidity’deki ortak güvenlik açıklarından biri, kontrolü, reentrancy saldırısı olarak bilinen diğer akıllı sözleşmelerin güvenilmeyen işlevlerine devretme olanağı sunar. Bu saldırı sırasında, A sözleşmesi tanımlanmamış bir davranışı olan B sözleşmesinden bir fonksiyon çağırır. Buna karşılık, B sözleşmesi, A sözleşmesinden bir işlev arayabilir ve kötü amaçlı amaçlar için kullanabilir.
  • Sanal makinelerdeki güvenlik açıkları : Ethereum Sanal Makinesi (EVM), Ethereum tabanlı blok zincir tüm akıllı sözleşmelerinin gerçekleştirildiği dağıtılmış bir yığın tabanlı bilgisayardır. EVM’deki en yaygın güvenlik açıkları şunlardır:
    • Sabit kusurlar : Blok zincir blokları doğası gereği değişmezdir, yani akıllı bir sözleşme oluşturulduktan sonra değiştirilemez. Ancak akıllı bir sözleşmede kodunda herhangi bir hata varsa, düzeltmeleri de imkansızdır. Siber suçluların, DAO saldırısında olduğu gibi Ether’i çalmak veya yeni bir çatallaşma oluşturmak için kod açıklarını keşfetme ve kullanma riskleri vardır.
    • Transferler sırasında kripto para kayıpları : Bu, Ether’in sahibi veya sözleşmesi olmayan bir kimsesiz adresine aktarılması durumunda mümkündür.
    • Erişim kontrolündeki hatalar : Ethereum akıllı sözleşmelerinde, bir bilgisayar korsanının sözleşmedeki hassas işlevlere erişmesine izin veren kaçırılmış bir değiştirici hata vardır.
    • Kısa adres saldırıları : Bu, EVM’nin yanlış doldurulmuş argümanları kabul edebilmesi nedeniyle mümkündür. Hackerlar bu güvenlik açığından potansiyel olarak kurbanlara özel hazırlanmış adresler göndererek yararlanabilir. Örneğin, 2017’de Coindash ICO’ya başarılı bir saldırı sırasında, Coindash Ethereum adresinde yapılan bir değişiklik, kurbanların Ether’lerini hacker’ın adresine göndermesini sağlamıştır.

Genel olarak akıllı sözleşmeler, bilgisayar korsanlarının DDoS, eclipse ve çeşitli düşük seviye saldırıları da dahil olmak üzere blockchain teknolojisini tehlikeye atmak için tipik olan diğer yöntemleri uygulayarak tehlikeye atabilecekleri yeni bir kayıt zinciri saldırı vektörlerini temsil ediyor.

Bununla birlikte, Cardano ve Zilliqa gibi küçük blok zincirler farklı sanal makineler kullanır: IELE, KEVM vb. Bu yeni blok zincir protokolleri dahilinde akıllı sözleşmelerin güvenliğini garanti ettiğini iddia ediyor.

4) İşlem doğrulama mekanizması saldırıları

Finansal kurumların aksine, blok zinciri yalnızca ağdaki tüm düğümler anlaşma yaptıktan sonra işlem onayı sağlar. Bir işlem içeren bir blok doğrulanana kadar, işlem doğrulanmamış olarak sınıflandırılır. Bununla birlikte, doğrulama belirli bir zaman alır, bu da siber saldırılar için mükemmel bir atak vektörü oluşturur.

(Double-spending) Çifte harcama, işlem doğrulama mekanizmasını kullanan yaygın bir blok zincirleme saldırıdır. Bir block zinciri üzerindeki tüm işlemlerin geçerli kabul edilmesi için diğer kullanıcılar tarafından doğrulanması gerekir, bu işlem biraz zaman alır. Saldırganlar bu gecikmeyi kendi yararlarına kullanabilir ve sistemi aynı para veya token’leri farklı işlemlerde kullanmaları için kandırabilirler. Bir işlemin başlatılması ve onaylanması arasındaki süreden yararlanmaya dayanan en yaygın saldırı türlerini inceleyelim.

  • Finney saldırısı : Bir işlem bir bloğa önceden yazıldığında ve bu önceden madencilik yapılan bloğun ağa bırakılmasından önce aynı bir işlem yapıldığında ve böylece ikinci aynı işlemi geçersiz kılan bir Finney saldırısı mümkündür.
  • Yarış saldırısı : Bir saldırgan, iki çelişen işlem oluşturduğunda bir yarış saldırısı gerçekleştirilir. İlk işlem, ödemeyi kabul eden ve işlemi onaylamalarını beklemeden ürünü gönderen kurbanlara gönderilir. Aynı zamanda, saldırgana aynı miktarda şifreli para birimi döndüren çakışan bir işlem ağa yayınlanır ve sonuçta ilk işlemi geçersiz kılar.
  • Vector76 : Vector76, Finney ve Yarış saldırılarının birleşiminden oluşur. Bu durumda kötü niyetli bir madenci, biri yalnızca değişim düğümüne, diğeri blok zincir ağındaki iyi bağlanmış eşlere bağlı iki düğüm oluşturur. Bundan sonra madenci, bir yüksek değer ve bir düşük değer olmak üzere iki işlem yaratır. Daha sonra, saldırgan, bir exchange servisine yüksek değerli bir işlem uygulayan bir bloğu önler ve durdurur. Bir blok yayınının ardından, önceden madencilik yapılmış bloğu doğrudan exchange servisine gönderir. Bazı madencilerle birlikte, ön madencilik yapılmış bloğu ana zincir olarak görecek ve bu işlemi onaylayacaktır. Bu nedenle, bu saldırı ağın bir bölümünün, saldırganın bir bloğa eklediği işlemi gördüğü ve ağın diğer kısmı bu işlemi göremediği gerçeğinden faydalanır. Değişim hizmeti yüksek değerli işlemi onayladıktan sonra, saldırgan, nihayetinde yüksek değerli işlemi reddeden ana ağa düşük değerli bir işlem gönderir. Sonuç olarak, saldırganın hesabına yüksek değerli işlemin tutarı yatırılır. Bu saldırı için başarı şansı yüksek olsa da yaygın değildir, çünkü bir onaydan sonra ödemeyi kabul eden, barındırılan bir e-cüzdan ve gelen bir işlemi olan bir düğüm gerektirir.
  • Alternatif Geçmiş saldırısı : Alternatif bir geçmiş saldırısı, birden fazla onay durumunda bile gerçekleşebilir, ancak bilgisayar korsanının büyük miktarda hesaplama gücüne ihtiyaç duyar. Bu durumda, kötü niyetli kullanıcı satıcıya bir işlem gönderir ve aynı zamanda aynı paraları veren başka bir işlemle alternatif bir çatallama madenciliği gerçekleştirir. Satıcı’nın onayından sonra ürününü gönderse bile, eğer saldırgan daha uzun bir zinciri serbest bırakır ve parayı geri alırsa para kaybedebilir.
  • % 51 veya çoğunluk saldırısı : Bir bilgisayar korsanı, ağ hash oranının % 51’ini kontrol altına aldığında ve nihai olarak mevcut olanlardan öncelikli olan alternatif bir çatallaşma oluşturduğunda büyük bir saldırı mümkündür. Bu saldırı başlangıçta bilinen tek Blok zinciri kırılganlığıydı ve yakın geçmişte gerçekçi görünmüyordu. Ancak, en az beş kripto para birimi – Verge, ZenCash, Monacoin, Bitcoin Gold ve Litecoin Cash – zaten % 51 saldırılardan muzdarip durumdadır. Bu vakaların her birinde, siber suçlular şebekeyi tehlikeye atacak ve milyonlarca doları harcayacak yeteri kadar güç topladılar. Ne yazık ki, tüm küçük kripto para birimleri hala risk altındadır. Daha az sayıda madenciyi cezbettiği için saldırganlar ağın çoğunluğunu oluşturmak için bilgi işlem gücü kiralayabilirler. Crypto51’in geliştiricileri, daha küçük kripto para birimleri kırma potansiyel risklerine dikkat çekmeye çalıştılar. Onların web sitesi, çeşitli bloklara % 51’lik bir saldırının beklenen maliyetlerini göstermektedir. Çifte harcama saldırısını önlemeye yönelik olası tedbirler, bir dinleme süresi boyunca alınan işlemleri izleme, çifte harcama girişimlerini iletme, işlemleri gözlemlemek için diğer düğümleri ekleme ve doğrudan gelen bağlantıları reddetmeyi içerir. Ayrıca, işlem doğrulama mekanizmasındaki zayıf yönlerden yararlanma sorununu çözmek için tasarlanmış olan yıldırım ağı (lightning network) adı verilen yenilikçi bir teknoloji var. Bu ağ, kullanıcıların fonları saklama yetkisi vermeden iki yönlü ödeme kanalları ağı aracılığıyla işlemleri anında doğrulamalarını sağlar. Ancak, hala biri 2018 Mart’ında gerçekleşen DDoS saldırılarına karşı hassastır.
5) Madencilik Havuzu Saldırıları

Madenciler sıklıkla bilgisayar güçlerini birleştirerek bir maden havuzu oluşturuyorlar. Bu, daha fazla blok madencilik yapmalarını ve böylece ödülün bir payını almalarını sağlar. Bitcoin gibi büyük kripto para birimleri için, bireysel madencilerin kâr elde etmesi gerçekten imkansız hale geliyor, bu nedenle madencilik havuzları oluşturarak bilgi işlem güçlerini birleştiriyorlar. Şu anda, en büyük Bitcoin maden havuzları BTC.com, AntPool ve ViaBTC’dir. Birlikte, Blockchain.com’a göre Bitcoin ağının karma oranının yüzde 52’sinden fazlasını elde ediyorlar.

Maden havuzları aslında önemli bir hedefi temsil ediyor. Kötü niyetli madenciler, blok zinciri fikir birliği mekanizmasındaki güvenlik açıklarından yararlanarak hem iç hem de dış madencilik havuzları üzerinde kontrol sahibi olmaya çalışıyorlar. Maden havuzlarına yapılan en yaygın saldırıların detaylarını bu bölümde birlikte inceleyelim.

  • Bencil Madencilik : Bencil madencilik, kötü niyetli bir madencinin, madencilik bloklarını bir süre ağa yayınlamamaları ve aynı anda birkaç blok bırakarak, diğer madencilerin bloklarını kaybetmelerine neden olarak ödül paylarını artırma girişimlerini ifade eder. Bu tür bir saldırının önlenmesi için muhtemel önlemler, madencilerin çeşitli havuz dallarına rastgele atanması, daha yeni bir zaman damgalı bloğu tercih etmesi veya maksimum kabul edilebilir bir sürede bloklar üretilmesi olabilir. Bu tür bir saldırı aynı zamanda blok stopaj olarak da bilinir. 2014 yılında Eligius havuzuna bencil bir madencilik saldırısı sonucu  madenciler 300 BTC’yi kaybetti. Bu tür bencil madencilik yüksek başarı şansına sahip ve tüm kripto para birimleri ile olabilir. Bencil madenciliğe karşı olası önleyici tedbirler, kısmi bir Çalışma Kanıtı ile tam İş Kanıtı arasındaki farkı gizlemek için yalnızca güvenilir madencileri kayıt altına almak veya mevcut Bitcoin protokolünde değişiklikler yapmak olabilir.
  • Blok Tutma Sonrası Çatallanma (Fork-after-withold) saldırısı : Blok Tutma Sonrası Çatallanma Saldırısı (FAW), saldırganlar için daha faydalı olduğu ortaya çıkan bencil madenciliğin bir çeşididir. Bir FAW saldırısı sırasında, kötü niyetli madenci kazanan bir bloğu gizler ve duruma bağlı olarak bir çatal oluşturmak için onu atar veya daha sonra serbest bırakır. Bu saldırı kavramı, Ujin Kwon liderliğindeki bir grup araştırmacı tarafından açıkça tanımlandı.

Blok zinciri, bug’ları ve kırılganlıkları olan nispeten yeni bir teknolojidir. Blockchain popülaritesi artıyor olsa da, blok zincirlerine artan sayıda siber saldırı bu süreci yavaşlatabilir. Blockchain kullanıcılarının güvenlik açıkları konusundaki farkındalıklarını artırarak bu saldırıların çoğundan kaçınılabilirken, bazıları sadece profesyonel uzmanlıklarla önlenebilir. Bu yazımda en yaygın blok zinciri saldırılarını sizlerle paylaşmak istedim, umarım sizler için faydalı olmuştur. Blok zincirindeki güvenlik açıklarını sürekli olarak inceliyorum ve takip ediyorum. Bir sonraki yazılarımda blok zincirinde bulduğum açıklıkları sizlerle POC çalışmalarla paylaşmayı düşünüyorum.

0 0 Oy
Article Rating
0 Paylaşımlar
Yazı Etiketleri:
· · ·
Abone ol
Bildir
0 Yorum
Satır İçi Geri Bildirimler
Tüm yorumları görüntüleyin
0
Makalem ile ilgili yorumlarınız varsa lütfen yorum yapın.x
()
x
error: Uyarı: İçerik korunmaktadır !!