Bir kurumun uğrayacağı saldırıların önceden tespit edilmesi ve hedeflenen sistemlere/ verilere yetkisiz erişim sağlamayı hedefleyen siber saldırı simülasyonları ve bu doğrultuda yapılan işlemler sızma testi ya da pentest diye adlandırılmaktadır.
Günümüz dünyasında teknolojik gelişmelerle birlikte bilgiye erişim, kritik bir hale gelmiştir. Dünya çapında kurumlar erişimlerini kontrol altına almayı hedefleseler de saldırganlar her zaman bir yolunu bulmaya çalışmaktadır.
Bu noktada saldırgan bakış açısıyla yaklaşarak bir kurumun uğrayacağı saldırıların önceden tespit edilmesi ve hedeflenen sistemlere/ verilere yetkisiz erişim sağlamayı hedefleyen siber saldırı simülasyonları ve bu doğrultuda yapılan işlemler sızma testi ya da pentest diye adlandırılmaktadır.
Pentest (Sızma Testi) ana hatları ile hedeflenen sistem ve uygulamaların varlığının tespiti, analizi ve açıklık barındırıp barındırmadıklarının değerlendirilmesi sonrasında istismar (exploit) edilerek sistem ve verilere yetkisiz erişim sağlanması şeklinde uygulanır.
Burada dikkat edilmesi gereken nokta zafiyet analizi ve sızma testi kavramlarının karıştırılmamasıdır. Zafiyet analizinde olası açıklar tespit edilir. Sızma testinde ise bu açıklar saldırganlar tarafından kullanılarak sızma işlemi yapılıabilir mi sorusunun cevabı aranır.
Kurumlar son yıllarda riskin farkına vardıkları için pentest firmalarına olan ihtiyaç artmış ve doğal olarak piyasada birçok BT güvenlik hizmeti veren firma kurulmuştur.
Sektördeki açıktan faydalanan ve çoğunlukla müşterisinin konu hakkında yeterli bilgisi olmadığı için uygulamalı sızma testi yerine sadece port tarama ya da otomatize tool ile zafiyet analizini, siber güvenlik testi gibi rapor olarak veren firmalar da çoğalmıştır.
Bu firmalar bünyesinde sızma testi uzmanı diye, yeterli sertifikası ve yetkinliği olmayan personel çalıştırmaktadır. Sızma testi yaptıracak kurumun test yapacak firmada çalışan sızma testi uzmanının yetkinliğini sorgulaması daha önce yapılmış penetrasyon testi örneklerini incelemesi ve kararları bu doğrultuda vermesi gerekir.
Sızma Testi Adımları
Bilgi Toplama
Test hedeflerini ve kapsamını açıkça tanımlamak ve belgelemek için kurum ile birlikte çalışılır. Kurumun test hedeflerini ve ihtiyaçlarını, güvenlik ve uyumluluk gereksinimlerini, iş risklerini ve diğer ilgili faktörleri tam olarak anlamak için görüşmeler yapılır. Belirtilen hedef ve altyapı hakkında önemli bilgileri toplanır ve incelenir.
Planlama Analizi
Test kapsamına bağlı olarak, bilgiler işlevsellik, kullanım durumları, kullanıcı rolleri, mimari, güvenlik mekanizmaları, güvenlik açısından kritik alanlar, barındırma ortamı ve daha fazlasını içerebilir. Bu kritik noktaların tamamını göz önünde bulundurularak test planı yapılır.
Güvenlik Açığı Tespiti
Test planı doğrultusunda otomatik tarama yazılımı ve manuel testler ile hedef üzerinde bulunan güvenlik açıkları tespit edilir. Uygulamalar için geçerli olan belirli güvenlik testlerini tamamlanır ve ayrıca uygulamada yer alan iş mantığı kavranarak olası saldırı senaryolarını belirlenir.
Penetrasyon Testi
Test hedeflerinin, kapsamını ve katılım kurallarını dikkate alarak elde edilen güvenlik açıklarının uyglanabilirliği kurum ile birlikte hareket ederek tespit edilir.
Raporlama
Penetrasyon testlerinin tamamlanmasından sonra düzeltici önlemler almak için ayrıntılı raporlar hazırlanır. Tanımlanan tüm güvenlik açıkları ve önerilen düzeltici yöntemler bu raporlarda listelenir.
Sızma Testi Çeşitleri
360 derece bakış açısında, saldırganlar tarafından yapılabilecek her türlü atak dikkate alınmalıdır. Bu doğrultuda test yapılacak altyapı baştan uca iyice incelenmeli ve kapsam ona göre belirlenmelidir. Daha sonra sızma testi adımlarına göre testler gerçekleştirilmeli çıkan bulgulara göre rapor hazırlanmalıdır.
Kurumlar teknolojik altyapı olarak farklılık gösterir. Bu nedenle de kapsam her kurumda farklı olacaktır. Örneğin mobil uygulaması olan bir kuruma mobil uygulama güvenlik testi yapılırken uygulaması olmayan başka bir kurumda diğer alanlara odaklanılır. Dışarıya açık uygulamalar (web, VPN, E-mail, FTP vb.), iç network, kablosuz ağ, kaynak kod analizi ve DDOS testleri de diğer sızma testi çeşitleridir.
Dışarıya açık uygulamalar: Kurumlar verdiği hizmete göre teknolojik altyapısında bulunan birçok sistemi dışarıya açmak zorunda kalırlar. Web sitesi, VPN erişimi, E-mail, Dosya transfer protokolü (FTP) gibi sistem ve servisleri örnek olarak gösterebiliriz. Bu uygulamalara yönelik yapılan testler bütünüdür.
İç Network: Saldırganların herhangi bir yol izleyerek (phising-kablosuz ağ zafiyeti vb.) iç networke eriştiği varsayılır. İç networkte yapabileceği saldırıların test edilmesidir.
Kablosuz Ağ: Kurumun iç networküne doğrudan erişim sağlayacak kablosuz ağların ne kadar güvenliği olduğunun tespit edilmesine yönelik gerçekleştirilen sızma testleridir.
Kaynak Kod Analizi: Kurumun web ya da mobil uygulamada kullandığı kaynak kodun zafiyet içerip içermediğine yönelik gerçekleştirilen sızma testleridir.
DDOS Tesleri: Kurumun dışarıya açık uygulamalarının servis dışı bırakma saldırılarına karşı direncinin ölçüldüğü testlerdir.
Saldırganların hangi zafiyeti kullanarak atak yapacakları belli değildir. Örneğin personelin bilgi güvenliği farkındalığının yetersiz olmasından faydalanarak sosyal mühendislik yapabilir. Sosyal mühendislik, psikolojik manipülasyon tekniklerini kullanarak insanları bir aksiyonu uygulamaya yöneltmek veya kişiye özel verilerin deşifre edilmesidir. Sosyal mühendislik kendi içinde farklı tekniklere ayrılsa bile genel olarak bir kişiyi minimal düzeyde teknik bilgi kullanarak, mental olarak “hackleyip” tuzağa düşürmektir.
Sosyal mühendislikte en çok kullanılan yöntem setoolkit diğer adıyla Social Engineering Toolkit. Peki nedir setoolkit? Sosyal mühendislik saldırılarının İsviçre çakısı olarak adlandırabileceğimiz bir yapıdır. İçerisinde web sitesi saldırısı, “phishing” saldırıları, zararlı medya yaratıcısı, “payload” ve “listener” yaratıcısı, çoklu e-posta saldırısı gibi bir sürü modül bulundurur. Bu yapı Kali Linux ile gelen varsayılan programlar arasındadır. Başka bir Kali-Linux aracı da metasploittir. Yine metasploit nedir ya da metasploit framework nedir diye soracak olursak kali üzerinde bulunan ve hedef bilgisayarda yetkisiz oturum açma zaralı kod yürütme gibi birçok işleme olanak sağlayan kali Linux uygulamasıdır. Bu araçlar saldırganlar tarafından kullanıldığı gibi sızma testi uzmanları tarafından da kullanılmaktadır.
Sızma işlemi gerçekleştirebilmek için uzun uğraşlar gerekse de bazen sunucu ve istemci arasına girmek yeterli olacaktır. DNS tünelleme ya da Poodle tarzı ataklarda saldırgan, isteği yapan kişi ve istek yapılan uygulama arasına girerek erişim bilgilerini istismar eder. Man in the middle diye tabir edilen bu atak türü için yukarıda saydığımız sızma testlerinin tamamına yakını yapılması gerekmektedir.
Testler için kurumdan alınan bilgiler test türlerini de etkilemektedir. Bu bağlamda alınan bilgilere göre çeşitler üçe ayrılmaktadır. Black Box, Grey Box ve White Box. Bu terimlere kısaca bakacak olursak;
Black Box: Bu yaklaşımda, başlangıçta güvenlik testi yapılacak sistemle ilgili bir bilgi yoktur. Tamamen bilinmeyen bir sistem ile ilgili bilgi toplanacak ve testler yapılacaktır. Bu yöntemde test ekibinin sistem ile ilgili bilgi düzeyi hiç olmadığından, yanlışlıkla sisteme zarar verme ihtimalleri de yüksektir. Bilgi toplama safhası oldukça zaman alır. Süre bakımından en uzun süren yaklaşım tarzıdır.
Gray Box: Bu yaklaşımda, sistem ile ilgili bilgiler mevcuttur. Örneğin; IP adres listesi, sunucu sistem ile ilgili versiyon bilgisi vb. Bilgiler güvenlik testi yapacak ekibe önceden sağlanır. Black Box yaklaşımına göre daha kısa zaman alır. Kontrolü ve testi istenen IP adresleri belli olduğundan sistemin, istem dışı zarar görme ihtimali de azalmış olur.
White Box: Beyaz kutu olarak ifade edilen bu yaklaşımda, güvenlik testi ekibi, sistemin kendisi ve arka planda çalışan ilave teknolojiler hakkında tam bilgi sahibidir. Black Box tekniğine göre kurum ve firmaya daha büyük fayda sağlar. Hata ve zafiyetleri bulmak kolaylaşacağından bunlara tedbir alınma süresi de azalacaktır. Sistemin zarar görme riski çok azdır ve maliyet olarak da en az maliyetli olandır.
%100 Güvenli Sistem
Siber güvenlik alanı sürekli geliştiği için sızma testleri de yapılmış bir altyapıya tamamen güvenli diyemeyiz. Yapılan testler ve alınan önlemler güvenlik seviyesini yukarıya çekecektir. Fakat yarın başka bir zafiyet çıkmayacağının garantisi hiçbir zaman yoktur. Bu nedenle testlerin periyodik olarak yapılması tavsiye edilir.