Blockchain Güvenliği ve Sızma Testi Metodolojisi

Geçtiğimiz yıllarda daha çok kripto para borsası üzerinden ismini duyduğumuz blockchain teknolojisi, kullanımının kolaylığı ve sağladığı faydalar açısından gelecekte de sık sık karşımıza çıkacağını kanıtlamış görünüyor. Veri gizliliğini, değiştirilemez olmasını ve devamlılığı ortaya çıkardığı için (Confidentiality– Integrity – Availability) gelecekte de tercih edilecek olması su götürmez bir gerçek. Hastaneler, tapu daireleri, işletmeler, belediyeler ve çeşitli ticaret alanlarına güvenlik ve şeffaflık getirebilmesinden dolayı devlet dairelerinde de kullanılması bekleniyor.

Peki nedir bu Blockchain Teknolojisi?

Blockchain teknolojisini kısaca özetlemek gerekirse Dağıtık Veri Tabanı tanımını kullanabiliriz. Hedef veri tabanı içerisinde tuttuğu verileri sadece tek bir adreste tutmak ve verileri sağlamak yerine, elinde veri tabanına dair kayıt defteri olan herkeste aynı bilgilerin değiştirilemez şekilde depolanmasıdır. Bu sistemde ilk açılan kayıt defterinin ardından gelen kayıt defterleri hem kendisine hem de bir önceki bloğa ait bir hash ve verilerini depolar. Hash’lerle oluşturulan dijital imzalar sayesinde bloklarda gerçekleşecek manipülasyonlar, herhangi bir tehdit aktörünün basit bir şekilde veri tabanına zarar vermesine izin vermez. Bütün kullanıcılarda bulunan kayıt defterleri, oynanmış veri bloklarını dijital imzaları ile ayırt ederek bütün zincire etki etmesine izin vermezler. Bu nedenle bir zincir ne kadar kalabalık olursa güvenliği de o kadar artar.

Kaynak: https://tr.cointelegraph.com/news/a-simple-explanation-of-what-is-blockchain-and-how-its-works

Blockchain ve Siber Tehditleri

Blok zincirinin son derece güvenli ve değiştirilemez olması gerektiği için, birçok kişi blockchain teknolojisini “hack’lenemez” olarak adlandırıyor. Ancak son yaşanan olaylar, tehdit aktörlerinin belirli durumlarda block zincirlerine erişim sağlayabileceğini göstermiştir. Zinciri tamamen kaybetmenin mümkün olduğu %51 saldırıları ve Sybil atakları ile verileri manipüle etmek mümkün olmaktadır.

%51 Saldırısı:

Block zincirindeki hash oranının yarısından fazlasının, bir saldırganın veya grubun eline geçmesiyle blok zinciri tamamen kaybedilir ve saldırganlar istediği gibi veriyi manipüle edebilirler. Bu saldırıların, daha küçük ölçekli blok zincirlerinde gerçekleşme olasılığı daha yüksektir çünkü daha karmaşık blok zincirleri üzerinde kontrol elde etmek oldukça zordur.

Kaynak: https://www.youtube.com/watch?v=DHa5w1jWGuw

Sybil Saldırısı

Sybil saldırısı, bir saldırganın birçok sahte kimlik oluşturarak tüm ağı kontrol etmeyi hedeflediği bir saldırı türüdür. Adını, çoklu kimlik bozukluğu teşhisi konan bir kadının vaka çalışmasını ele alan Sybil adlı kitaptan almıştır. Saldırganın birden fazla bozulmuş düğümle yavaş yavaş doğru düğümleri de bozmasıyla oluşmaktadır. Önüne geçilmezse saldırı başlangıcından itibaren zincirin kalanının kaybedilmesiyle sonuçlanabilmektedir.

https://ieeexplore.ieee.org/document/8798489

Blockchain için Sızma Testi Metodolojisi

Blok zincirlerini daha güvenli hale getirmek için yapılan sızma testleri, uzmanlar tarafından belirlenen beş adımlık metodoloji ile gerçekleşmektedir.

1. Keşif

Öncelik zincirin mimarisini analiz etmektir. Veri akışının nasıl ilerlediğini keşfettikten sonra blokların bulunduğu sistemlerde potansiyel zafiyet kontrolü yapılmalı, veri depolamalar için uygun aksiyon alınmalı ve zincir legal gerekliliklere uygun hale getirilmelidir.

2. Değerlendirme

Keşif aşamasında elde edilen sonuçlarla atak vektörleri belirlenmeli, zincirdeki sistemlerde yerel ağa yönelik sızma testi gerçekleştirilmeli ve zincirin arayüzü ve kayıt defterleri kontrol edilmelidir.

3. Fonksiyonel Testler

Bu aşamada yapılması gereken blok zincirinde bulunan aplikasyonların olması gerektiği şekilde çalışıp çalışmadığı kontrol edilmelidir.

3.1 Bloğun ve Zincirin Boyutu

Bloklar yapılan işlemlerin bilgisini tuttuğu için düzenli olarak boyutları kontrol edilmelidir. Zincir sürekli artmaya devam edeceği için yeni gelecek blokların doğru şekilde eklenilmesi sağlanmalıdır.

3.2 API Testleri

Sistemdeki API’lar doğru çalışıyor mu, isteklerin ve cevapların geçerlilik kontrollerinin yapılması gerekir.

3.3 Entegrasyon Testi

Blok zinciri paralel platformlarda çalışacağından ötürü bileşenlerinin bütün olarak çalışma durumu kontrol edilmelidir.

 3.4 Performans Testi

Zincir üretime çıkmadan darboğaz noktaları belirlenmeli ve sistem dışı bırakma testleri gerçekleştirilmelidir.

3.5 Güvenlik Testi

Blok zincir zararlı yazılım ve virüslere karşı tamamen güvenilir hale getirilmelidir.

4. Raporlama

 Her sızma testinin sonunda olduğu gibi, gerekli çözümlerin uygulanabilmesi için, bulunan zafiyetlerin detaylı raporlanması gerekir. 

5. İyileştirme

“Best Practice”’ler ile yapılan testlerin detaylı raporlarından sonra zafiyetli kısımlarda iyileştirme çalışmaları tamamlanır ve hedef zincir son kez doğrulama taramalarından geçer.

Yazar: Sencer Kılıç

Kaynak:

https://tr.cointelegraph.com/news/a-simple-explanation-of-what-is-blockchain-and-how-its-works

https://ieeexplore.ieee.org/document/8798489

https://en.wikipedia.org/wiki/Sybil_attack