Pentest Tanımı:

Belirlenen bilişim sistemlerindeki mantık hataları ve zafiyetleri tespit ederek, söz konusu güvenlik açıklıklarının kötü niyetli kişiler tarafından istismar edilmesini önlemek ve sistemleri daha güvenli hale getirmek maksadıyla, “yetkili” kişiler tarafından ve “yasal” olarak gerçekleştirilen güvenlik testleridir. Pentest çalışmalarındaki asıl amaç, zafiyeti tespit etmekten öte ilgili zafiyeti sisteme zarar vermeyecek şekilde istismar etmek ve yetkili erişimler elde etmektir.
Pentest Çeşitleri:

Pentest hedefe, vektöre, simüle edilecek saldırıya ve sisteme bağlı olarak üçe ayrılır.
  • İç Ağ (Internal) Sızma Testi: Bu sızma testi çeşidinde ilgili kurumun içeriye açık sistemleri üzerinden hangi verilere ve/veya sistemlere erişilebileceği sorusuna cevap aranmaktadır.
  • Dış Ağ (External) Sızma Testi: Bu sızma testi çeşidinde ilgili kurumun dışarıya açık sistemleri üzerinden hangi verilere ve/veya iç sistemlere erişilebileceği sorusuna cevap aranmaktadır.
  • Web Uygulama Sızma Testi: Dış Ağ Sızma Testleri ile aynı soruya cevap aranmaktadır ancak odak noktamız web uygulamalarıdır.
Pentest Yöntemleri:

Temel olarak kabul görmüş üç yöntem vardır:
  • 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.
Vulnerability Assessment (Zafiyet/Açıklık Tarama):

Zafiyet taraması bir sistemdeki muhtemel tüm açıklıkların belirlenmesine yönelik tasarlanmış bir testtir. Bu yöntem için genellikle otomatize araçlar (Nessus, Nmap, Qualys vb) kullanılır. Zafiyet taramasında asıl amaç taranan sistemin anlık olarak genel güvenlik görüntüsünü almaktır. Muhtemel tüm güvenlik tehditlerine karşı bizi uyaran bu yöntem sonucu çıkan tüm bulgular ciddi bir tehdidi göstermeyebilir. Ancak bu da ciddiye alınmaması gerektiğini göstermez. Bizim için önemli olan çıkan bulgulardan hangilerinin sistemimiz için gerçek bir tehdit oluşturduğuna karar vermektir.
Bu yöntemde denetlenen diğer şey ise uyumluluk süreçleridir. Firmaların HIPAA, PCI, SOX vb. gibi dünyaca kabul edilmiş birçok uyumluluk standartlarına göre durumunu da inceler.
Risk Assessment:

Risk Assessment kavramı tamamen farklı bir kavram olup Pentest ve Vulnerability Assessment kavramlarını kapsar. Zaman zaman “Technical Risk Assessment” tanımı kullanılarak “Vulnerability Assessment” kavramı kastedilmektedir.
2- Neden sızma testi yaptırmalıyız?

Sahip olduğunuz bilişim sistemlerindeki güvenlik zafiyetlerinin üçüncü bir göz tarafından kontrol edilmesi ve raporlanması proaktif güvenliğin ilk adımlarındandır. Çünkü siz ne kadar güvenliğe dikkat ederseniz edin saldırganların, sistemi istismar etmek için kullanacağı tekniklerin sınırı yoktur.
Hayal gücü ve bilgi seviyelerine göre ihtimaller değişmektedir. Bir şeylerin gözünüzden kaçma ihtimali vardır. Bu sebeplerden dolayı hackerlara yem olmadan kendi güvenliğinizi Beyaz şapkalı hackerlara test ettirmeniz yararınıza olacaktır. Ek olarak PCI, HIPAA gibi standartlar da Pentest yaptırmayı zorunlu kılmaktadır.
3- Sızma testi projesinin planı nasıl olmalıdır?

Yaptırılacak sızma testi çalışmasından olabildiğince çok verim alabilmek için her işte olduğu gibi burada da plan yapılması gerekmektedir. Pentest planınızı en azından aşağıdaki soruları cevaplayarak hazırlamanız gerçekleştirilecek testten üst düzeyde verim almanızı sağlayacaktır.
  • Sızma Testi’nin kapsamı ne olacak? (White Box, Gray Box, Black Box)
  • Ne çeşit bir sızma testi istiyorum? (Internal Pentest, External Pentest, Web Application Pentest)
  • Testleri kime yaptıracağım?
  • Ne kadar sıklıkla yaptıracağım?
  • Riskli sistem ve servisler kapsam dışı olmalı mı yoksa riski kabul edip sonucunu görmek ister miyim?
  • Pentest kapsamında DDOS testleri de gerçekleştirilecek mi?
4- Pentest yapan firmadan sonuç olarak neler beklemeliyim?
  • Yöneticilere ve teknik çalışanlara özel iki farklı rapor
  • Raporların okunabilir ve anlaşılır olması
  • Testler esnasında keşfedilen kritik seviye güvenlik açıklıklarının anında bildirilmesi
  • Pentest raporunun şifreli bir şekilde iletilmesi
  • Keşfedilen güvenlik açıklarının nasıl kapatılacağı konusunda çözüm önerilerinin sunulması
5 - Pentest sonrası nasıl bir yol izlemeliyim?

Pentest yaptırmak ne kadar önemliyse, sonuçlarını değerlendirip aksiyon almak çok daha önemlidir. Maalesef ki yaygın olarak yapılan yanlış sadece Pentest yapıp/yaptırıp raporu incelemek ve çok acil açıkları kapatmak şeklinde oluyor. Pentest sonrası açıklıkların kapatılmaması ve bir sonraki pentest çalışmasında aynı açıklıkların tekrar çıkması sıklıkla karşılaşılan bir durumdur. Gerçekleştirilen çalışmanın katma değerinin yüksek olması için en azından aşağıdaki maddelerin uygulanması önerilmektedir:
  • Pentest raporlarının üst yönetimle paylaşılıp yönetim desteğinin alınması
  • Sonuçlarının basit açıklıklar olarak değil, bir risk haritası kapsamında yönetime sunulması (bu açıklık hackerlar tarafından değerlendirilirse şu kadar kaybımız olur vb çıkarımlarda bulunularak)
  • Raporu detaylıca inceleyip her bir açıklığın kimin ilgi alanına girdiğinin belirlenmesi
  • Sistem yöneticileri ve yazılım geliştiricilerle toplantı gerçekleştirilip sonuçların paylaşılması.
  • Açıklıkların kapatılmasının takibi.
  • Bir sonraki pentestin tarihinin belirlenmesi