bfmedia

Yükleniyor…
  • BTC $99.999
  • BCH $99.999
  • ETH $99.999
  • ETC $99.999
  • XRP $99.999
  • CVT $99.999
  • LTC $99.999
  • ADA $99.999
  • TRX $99.999
  • NEO $99.999

Blockchain Tarayıcısı DoS Saldırılarını Nasıl Önler?

DoS saldırıları, Blockchain tarayıcıları gibi uygulamaları çökertebilir. Bu, çoğu şirket için ölümcül bir tehdit olarak görülebilir.

Blockchain Tarayıcısı DoS Saldırılarını Nasıl Önler?

Özetle: 

  • Sunucuda bir gerçek vardır: istemci herhangi bir çaba harcamadan HTTP istekleri gönderebilir, ancak sunucunun isteği işlemek ve yanıtlamak için çok fazla kaynak tüketmesi gerekebilir. Uygulama katmanı DoS ise bu özelliği saldırmak için kullanır.
  • Blockchain tarayıcıları, cüzdanlar, borsalar, akıllı sözleşmeler ve hatta temeldeki Blockchain protokolünün uygulanması da dahil olmak üzere Blockchain ile ilgili işletmeler için, kapsamlı bir güvenlik denetimi gerekiyorsa, CertiK uzun bir pratik koruma deneyimine ve en iyisine sahiptir.


Tarayıcılardan bahsetmişken, herkesin zihninde ortaya çıkan mutlaka ‘Baidu’ ve ‘Chrome’ tarayıcılarıdır. 

Herkes tarafından iyi bilinen ve hatta konuşulan bu tarayıcılar internetin marka yüzü ve internetin başlangıcıdır.

Ancak herhangi birinin internetle olan ilişkisinden söz edilirse o da mevcut Blockchain teknolojisidir.

İnternet hayatı değiştirir ve Blockchain teknolojisi interneti değiştirir. O zaman, internetin başlangıcı olarak, tarayıcıların da Blockchain teknolojisinden ayrılmaz olması gerektiğine şüphe yoktur. Ortaya çıkan Blockchain tarayıcısı, bilindik bir iniş ürünü olarak, Blockchain kullanıcılarına kolaylıklar getirir.


Blockchain tarayıcısı ne kadar güvenli?

Blockchain tarayıcısı, Blockchain için bir arama motorudur ve kullanıcılar, Blockchain hakkında belirli bilgileri aramak için bu aracı kullanabilir.

Örneğin, Etherscan, Ethereum'un Blockchain tarayıcısıdır. Etherscan sayesinde kullanıcılar bloklar, adresler, işlemler ve Ethereum'daki diğer etkinlikler hakkında kolayca bilgi edinebilir. Başka bir deyişle, Blockchain tarayıcısı daha çok resmi bir Blockchain arama sitesi gibidir.

O zaman günümüzde çoğu Blockchain uygulamasının güvenlik tehditleriyle karşı karşıya olduğu durumda, Blockchain tarayıcısı ne kadar güvenlidir?Blockchain tarayıcısı DoS saldırılarını nasıl önler?
Blockchain tarayıcı uygulamalarının nispeten az saldırgan noktası vardır. Nedenleri aşağıdaki gibidir:

•    Kimlik doğrulaması veya yetkilendirme yapılmadığından hiçbir özel bilgi sızdırılamaz;
•    Web çerçevelerinin (Vue ve React gibi) yaygın kullanımı XSS (siteler arası komut dosyası oluşturma güvenlik açıkları) olasılığını azaltır;

  • Bu, Blockchain tarayıcısına saldırılmayacağı anlamına mı geliyor?
  • Yoksa saldırıya uğrasa bile sorun yaşamayacak anlamına mı?
  • Cevap: hayır 

Blockchain tarayıcısı saldırı türü sınıflandırması

Blockchain tarayıcısının ne tür saldırılara maruz kalabileceği hakkında:

Çünkü Blockchain tarayıcısındaki işlevlerin çoğu arka uç veri tabanından veri aramayı veya doğrudan Blockchain düğümlerinden veri sorgulamayı içerir. Arama sorgusu işlevleri söz konusu olduğunda, insanlar genellikle iki olası güvenlik açığı düşünür:

•    SQL Injection.

•    DoS (Denial of Service).

Bununla birlikte, farklı tarayıcıları incelerken CertiK teknik ekibi yalnızca bir SQL Injection vakası buldu ve Blockchain tarayıcılarının %50'sinden fazlasının DoS tarafından saldırıya uğrama riski olduğunu belirtti.

DoS saldırısı nedir?

DoS: Denial of Service’in kısaltmasıdır, DoS'a neden olan saldırılara DoS saldırıları denir ve genellikle sistemin yasal kullanıcılara hizmet vermesini engellemek için kullanılır.

Sunucuda bir gerçek vardır: istemci herhangi bir çaba harcamadan HTTP istekleri gönderebilir, ancak sunucunun isteği işlemek ve yanıtlamak için çok fazla kaynak tüketmesi gerekebilir. Uygulama katmanı DoS ise bu özelliği saldırmak için kullanır.

Genel olarak bakıldığında, DoS suçu ve savunması böyle bir sürece benzer ve sonuç kimin daha fazla kaynağa sahip olduğuna bağlıdır. Ancak, arka uç kod uygulamasında boşluklar varsa, sunucuyu çökertmek için tek bir istek yeterlidir.


DoS saldırısı vaka analizi

Sunuculara DoS saldırıları gerçekleştirmenin birçok yolu vardır. Genel olarak, hedef şunları seçecektir:

•    Tüm CPU ve bellek kaynaklarını tüketmek;

•    Tüm ağ bağlantılarını kullanmak;

Aşağıda, DoS tarafından saldırıya uğrayabilecek bazı sunucuların vaka analizi yer almaktadır. Bazılarına kod uygulama hataları, bazılarına ise yapılandırma hataları neden olur:

1.    Kaynak erişim API'sı sınırının olmaması

https://fake.sample.com/api/v1/blocks?limit=10

Yukarıdaki istek, "limit" parametresinde belirtilen sayı ile blok bilgisini alır. Limit 10 olarak ayarlandığında, son 10 bloğun bilgilerini döndürür. Sayı küçük olduğunda, istek normal şekilde çalışabilir.

Ancak, arka uç "limit" parametresi için bir üst sınır ayarlamayabilir. CertiK teknik ekibi "limit" parametresini 9999999 olarak ayarlayıp isteği gönderdiğinde, istek işlendikten 504 gateway time out” hatası verir. Sunucu yukarıdaki isteği işlerken, diğer API'lerin yanıt süresi önemli ölçüde artar.

9999999 ayrıca zincirdeki toplam blok sayısını aşar.

Yani, arka ucun Blockchain’deki her bloğun verilerini almaya çalıştığıdır. Saldırgan, yüksek "limit" parametrelerine sahip çok sayıda istek gönderirse, sunucu normal isteklere yanıt veremez ve hatta doğrudan çökebilir.

2.    İç içe GraphQL sorgusu

Soruşturma sırasında CertiK teknik ekibi, GraphQL kullanarak bazı Blockchain kaynaklarıyla karşılaşır. GraphQL, API'ler için bir sorgu dilidir. Birden çok kaynak istemek için birden çok istek kullanan tipik bir REST API ile karşılaştırıldığında GraphQL, uygulamanın gerektirdiği tüm verileri tek bir istekle elde edebilir. GraphQL'in kullanım oranı çok yüksektir, ancak ilgili koruma önlemleri kullanım sırasında dağıtılmazsa, güvenlik açısından riskler oluşturabilir.

Blockchain tarayıcılarını test ederken, CertiK teknik ekibi, tarayıcılardan birinin GraphQL arayüzünü kullandığını ve bunun tarafından tanımlanan iki türün karşılıklı olarak içerildiğini keşfetti ve bu da kullanıcıların çok karmaşık bir iç içe sorgu oluşturmasına izin verdi.

Bu tür iç içe sorguların gönderilmesi, sunucudaki CPU kullanımında önemli bir artışa neden olabilir. Normal koşullar altında, bu tür birkaç istek CPU kullanımını %100'ün üzerine çıkarabilir ve bu da sunucunun normal kullanıcı isteklerine yanıt verememesine neden olur.

Blockchain tarayıcısı DoS saldırılarını nasıl önler?

Sunucunun bu tür Graphql isteklerini işlerken CPU kullanım oranı.

Aşağıdaki şekilde "dos_query", iç içe grafql örneğini göstermektedir:

Bu tür kötü niyetli GraphQL isteklerinin sunucu üzerindeki etkisi, sorgunun karmaşıklığına ve sunucunun performansına bağlıdır. Sunucu çok zaman geçirdikten sonra sorguyu başarıyla yanıtlayabilir, Ancak, yüksek CPU kullanımı nedeniyle sunucunun doğrudan çökmesi de mümkündür.

(GraphQL güvenliği hakkında daha fazla bilgi için makalenin sonundaki referans bağlantısı 1'i ziyaret edebilirsiniz.)


3.    Doğrudan ifşa edilen Cosmos RPC API'sı

https://fake.cosmos.api.com/txs?message.action=send&limit=100&tx.minheight=1

Yukarıdaki Cosmos API'sı, blok 1'den başlayarak gönderilen 100 işlemi arar. Şimdiye kadar Cosmos ana ağında 2.712.445 blok mevcut. CosmosHub'da gösterilen RPC API düğümleri arasında, isteği işleyebilecek hiçbir düğüm bulunamadı. Bu isteği alan sunucu, bir süre sonra “502 Bad Gateway” hatası vererek isteğin başarısız olduğunu belirtir.

Düğümün RPC sunucusu birkaç saniye içinde yukarıda açıklandığı gibi yüzlerce arama isteği alırsa, tüm API isteklerine aşağıdaki hatayı döndürür. Bazı düğüm sunucuları hatalardan kendilerini kurtarabilirken, diğerlerinin yeniden başlatılması gerekir.

Okuyucuların yukarıdaki sorunları daha iyi anlamalarını ve etkilerini göstermelerini sağlamak için CertiK teknik ekibi tamamen senkronize edilmiş bir Cosmos tam düğümü oluşturdu ve yukarıda belirtilen sorguyu düğüme saldırmak için kullandı: 
https://fake.cosmos.api.com/txs?message.action=send&limit=100&tx.minheight=1.

Grafana CPU kullanım paneli üç aşamaya ayrılabilir:

1.    Düğüm çalışır ve sistemin CPU kullanımı% 35.

2.    Düğümler DoS saldırılarıyla karşı karşıyadır ve sistem CPU kullanım oranı% 97'ye ulaşır.

3.    Düğüm çöker ve Grafana'ya yeni veri sağlayamaz.

Bu görselde, bir DoS saldırısı altında sunucunun birkaç dakika içinde çöktüğü gösterilmektedir. Sunucu çöktükten sonra sunucu SSH kullanarak sunucuya bağlanamadığı için, operatör sunucuyu yeniden başlatmak zorunda kalır.

4.    İstek işleyicideki mevcut arıza 

https://fake.sample.com/api/v1?feature=Always_time_out

CertiK teknik ekibi, bir süre sonra yüklenmeye ve zaman aşımı göstermeye devam edecek bir API ile karşılaşır, ancak sunucuya birden fazla istek göndermek diğer API'lerin yanıt süresini etkilemez. Ön tahmin bu özel API'nin işleme yönteminin CPU veya belleği kaplamaması yönündedir. Bu Blockchain tarayıcısı açık kaynak olmadığından, API kodunun uygulanması hakkında ilgili bilgi elde etmek imkânsızdır ve API uç noktasının amacına göre adını belirlemek imkânsızdır.

Bu API'ya saldırmanın sunucunun çökmesine neden olması olası bir durum olmasa da, saldırgan tüm ağ bağlantılarını işgal etmek için bu tür “Always hang and time out” isteği gönderebilir ve böylece diğer kullanıcıların bu sunucudaki API'ya erişmesini engelleyebilir.

Örneğin, "sleep to handle request" işlevi, bir isteğin çok az CPU ve bellek tüketebileceğini gösterir, ancak uzun süre yüklenecek ve ağ bağlantısını işgal edecektir.

Diğer üç sunucunun tamamen çöktüğü veya kurtarılması uzun sürdüğü durumla karşılaştırıldığında, bu durumda sunucu saldırı durduktan hemen sonra kurtarıldı.


DoS saldırılarının etkisi

Bir DoS saldırısıyla karşılaştığında, güvenlik açığı bulunan sunucu normal kullanıcı isteklerine yanıt veremez. Bazı sunucular saldırı durduktan hemen sonra veya bir süre sonra normal durumlarına dönebilirken, diğerleri tamamen çökecek ve yeniden başlatılması gerekecektir.

Blockchain tarayıcısını kullanamama, kullanıcılar açısından büyük sıkıntıya neden olacaktır. Çünkü kullanıcılar zincirdeki aktiviteler hakkında kolayca bilgi edinemezler. Buna ek olarak, Cosmos tabanlı bir zincirde, bir düğümün DoS saldırısına uğraması durumunda, bağlı Blockchain tarayıcısı yalnızca düğümden veri elde edememekle kalmaz, kullanıcılar da API'yı token gönderme veya tokenleri doğrulayıcılara devretme gibi işlemleri gerçekleştirmek için kullanamazlar.

Öneri

Herhangi bir uygulama DoS saldırıları tarafından tehdit edilir. Dünyada DoS saldırılarını mükemmel şekilde önleyebilecek bir çözüm yoktur. Bununla birlikte, saldırıların maliyetini artırmak için bazı yöntemler kullanılabilir, böylece potansiyel saldırganların saldırı işlemleri gerçekleştirmesi ve Blockchain tarayıcı uygulamalarında güvenlik açıkları olasılığını azaltması zorlaşır.

CertiK teknik ekibi, uygulamanın saldırı olasılığını en aza indirmek için bazı öneriler sıraladı:

1.    Hız Sınırı

Arka uç API'si uygulamada yeterince güvenli olsa bile, bir saldırgan yine de sunucuya çok sayıda istek göndererek saldırabilir. Bu nedenle, API'ler kötü amaçlı IP'leri geçici veya kalıcı olarak engellemek için her durumda hız sınırları belirlemelidir.

Hız sınırlaması sorunu tamamen çözemese de, operasyonu nispeten uygundur ve DoS saldırılarına karşı ilk savunma hattını oluşturabilir.

2.    Geliştirilmiş tasarım ve uygulama

İyi programlama ve kod uygulaması aynı donanım koşullarında daha iyi performans gösterebilir. Bu etki, veri tabanı arama ve veri işleme ile ilgili işlevlerde daha belirgindir. Ancak performansı düşünmeden önce, kodun hatasız olduğundan emin olmak gerekir.

Bu nedenle, API üretim ortamına dağıtılmadan önce birim testleri yazmak için çok zaman harcamak faydalı olacaktır. Bu, beklendiği gibi çalıştıklarından emin olmak içindir.

3.    Giriş doğrulama ve parametre kısıtlamaları

Kullanıcı tarafından sağlanan değişkenleri doğrulamadan ve kısıtlamadan, bir saldırgan API'yı kötüye kullanabilir.

Kodun beklendiği gibi çalıştığını belirledikten sonra, bir sonraki adım saldırganların API'yı alışılmadık girdilerle kötüye kullanamayacaklarından emin olmaktır. 9999999 veri bloğunun getirilmesine veya 1000 düzeyli döngülerle GraphQL sorgularının işlenmesine benzer isteklere izin verilmemelidir.

Bu nedenle, tüm kullanıcı girişlerinin güvenilir olmadığı düşünüldüğü an sunucu işlemeden önce girişi doğrulamalıdır.

Yukarıda belirtilen durumda, GraphQL API, döngüsel sorguların DoS saldırılarına karşı etkili bir şekilde savunmak için maksimum katman sayısını ayarlayabilirken, blok veri toplama API'si maksimum blok sayısını 50 gibi makul bir değerle sınırlayabilir.

Geliştiriciler, kod uygulaması ve program tasarımına dayanarak mevcut program için en uygun giriş doğrulama ve kısıtlama şemalarını özetleyebilirler.

4.    Düğüm RPC'sini ifşa etmeme

Tüm API kodu uygulamaları geliştiricilerin kontrolü altında değildir.

Örneğin, geliştiriciler Cosmos RPC API'sinin kodunu değiştirmenizi önermez. Cosmos SDK'daki bazı arama sorgularının performansı çok iyi değil, o zaman ne yapılmalı?

Çözümlerden biri: Cosmos RPC API'sı etrafında bir paketleme API'si katmanı oluşturmak ve Blockchain verilerini düğümlerden senkronize eden Blockchain verilerini depolamak için bir veri tabanı oluşturmak. Dış ambalaj API'sı halka açıktır, kullanıcı isteklerini alır, işler ve ardından isteği Cosmos RPC'ye iletir veya arka uç veri tabanındaki verileri arar. Dış API'yi eklemek, kullanıcıların doğrudan düğüm RPC API'sı ile etkileşime girmesini önler. Veri tabanı, düğümlerin arama sorgusu istekleri tarafından bunaltılmasını önleyebilir ve geliştiriciler veri tabanını istedikleri şekilde optimize edebilir.

Cosmos forumunda "kwunyeung" kullanıcısı da bir çözüm önerdi: RPC ara yüzünü korumak için bir HTTP (Nginx veya Caddy gibi) kullanmak gerek. Genel olarak ifade edilirse: RPC ara yüzleri doğrudan halka açıklanamaz ve aynı zamanda koruyucu önlemler alınmalıdır.
5.    Önerilen donanım gereksinimlerini karşılamak    

Yukarıdaki savunma mekanizmalarının tümü dağıtılmış olsa bile, kullanıcıların API sunucularını veya Tendermint gibi kararlı düğümleri çalıştırmak için minimum donanım gereksinimlerine dikkat etmeleri gerekir (ayrıntılar için referans bağlantı 2'ye bakın). Sunucu, sıradan kullanıcıların web sitesine erişme isteklerini işlemede zorluk yaşıyorsa, yöneticinin donanımı yükseltmeyi düşünmesi gerekir.


Sonuç

DoS saldırıları, Blockchain tarayıcıları gibi uygulamaları çökertebilir. Bu, çoğu şirket için ölümcül bir tehdit olarak görülebilir.

CertiK'ın profesyonel güvenlik teknolojisi ekibi, uygulama güvenlik açığı değerlendirmesi, Solidity, RUST ve Go gibi farklı dillerde kod denetimleri ve Ethereum, Cosmos ve Substrate gibi platformların güvenlik bakımı konusunda kapsamlı deneyime ve profesyonel güvenlik bilgisine sahiptir.

Blockchain tarayıcıları, cüzdanlar, borsalar, akıllı sözleşmeler ve hatta temeldeki Blockchain protokolünün uygulanması da dahil olmak üzere Blockchain ile ilgili işletmeler için, kapsamlı bir güvenlik denetimi gerekiyorsa, CertiK uzun bir pratik koruma deneyimine ve en iyisine sahiptir.


Ekler:

Bu, Cosmos düğümünün DoS saldırılarına karşı savunmasız olup olmadığını sınamak için örnek bir komut dosyasıdır. "Url" değişkeni değiştirilerek farklı uygulamalar test edilebilir.

Lütfen yetkisiz uygulamalar üzerinde çalıştırmayın:


DoS Saldırısı Nedir?

Denial of Service’in kısaltmasıdır, DoS'a neden olan saldırılara DoS saldırıları denir ve genellikle sistemin yasal kullanıcılara hizmet vermesini engellemek için kullanılır.


Kaynak: apollographql & github & fengniaocaijing




dos blockchain denial of service


Yorumlar (0)

Henüz hiç yorum yapılmamış. İlk yorum yapan sen ol.






FİZİKSEL MAĞAZALAR

Coinsfera
Coinsfera Görseli
Çemberlitaş Tramvay Durağı (T1)
Sirius Coin
Sirius Coin Görseli
Beyazıt - Kapalıçarşı Tramvay Durağı (T1)


ÜLKELERİN YASALLIK DURUMLARI