Sızma Testi Nedir? Penetrasyon testleri günümüz bilgi güvenliği dünyasının en popüler konularından biridir. BGA tarafından verilen güvenlik eğitimlerinde, sızma testi hakkında oldukça fazla soru ile karşılaşılmaktadır. Bu sorulara referans cevaplar olması adına “10 Soruda Sızma Testi” konulu yazıyı hazırlamış bulunmaktayız. Pentest nedir? Neden yaptırmalıyım? Kime nasıl yaptırmalıyım? gibi sorulara cevap arıyoruz. Sizin de bu konu hakkında fikirleriniz varsa yorumlarınızla zenginleştirebilirsiniz.
Öncelikle “pentest” kavramından ne anladığınızı ve ne beklediğinizi bilmek size bu süreçte yardımcı olacaktır. Zira ne olduğunu bilmediğiniz bir servisi alarak sonradan bu muydu yani? Bu kadar parayı bu iş için mi verdim ya da bu sistemlere neden baktırmadım gibi sorular sormak durumunda kalabilirsiniz. Yazı boyunca pentest, penetrasyon testi, sızma testi şeklinde farklı ifadeler kullanılmıştır.
1- Sızma testi (Pentest) nedir? Vulnerability Assessment ve Risk Assesment kavramlarından farkı nedir?
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 firması seçimi konusunda nelere dikkat etmeliyim?
Pentest yaptıracağınız firmaya ne kadar güvenirseniz güvenin – aranızda muhakkak imzalı ve maddeleri açık bir NDA olmalı – siz yine de işinizi garantiye alma açısından firmanın yapacağı tüm işlemleri loglamanız yararınıza olacaktır. Peki bunu nasıl yaparsınız? Firmanın pentest yapacağı IP adres bilgilerini isteyerek bu IP adreslerinden gelecek tüm trafiği Snort, Tcpdump vb. trafik kaydı gerçekleştirebilen bir yazılım kullanarak loglayabilirsiniz. Özellikle web trafiğini -ki en kritik bilgiler burada çıkacaktır. Snort ile çok rahatlıkla sonradan incelendiğinde anlaşılacak şekilde trafik kaydettirilebilir. Bunun dışında dikkat etmeniz gereken konular şunlardır;
- Firmada test yapacak çalışanların CV’lerini isteyin.
- Varsa testi yapacak çalışanların konu ile ilgili teknik sertifikasyonlara (CEH, OSCP vb.) sahip olmasını tercih edin.
- Testi yapacak çalışanların ilgili firmanın elemanı olmasına dikkat edin.
- Firmanın daha önceki referansları ile iletişime geçerek bunlardan birkaçına memnuniyetlerini sorun.
- Mümkünse firma seçimi öncesinde teknik kapasiteyi belirlemek için tuzak sistemler kurarak firmaların bu sistemlere saldırması ve sizin de bildiğiniz açıklığı bulmalarını isteyin.
- Firmadan daha önce yaptığı testlerle ilgili örnek raporlar isteyin. Örnek bir sızma testi raporuna bu adresten ulaşabilirsiniz. https://www.slideshare.net/bgasecurity/szma-testleri-sonuc-raporu
- Testlerin belirli IP adreslerinden yapılmasını ve bu IP adreslerinin size bildirilmesini talep edin.
- Firmaya test için kullandıkları standartları sorun.
- Firmanın test raporunda kullandığı tüm araçları da yazmasını isteyin.
- Pentest teklifinin diğerlerine göre çok düşük olmamasına dikkat edin.
- Sızma testi işi firmanın özel işi mi yoksa öylesine yaptığı bir iş mi? Bu sorgu size firmanın konu hakkında yetkinliğine dair ipuçları verecektir.
5- 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ı
6- 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
7- Türkiye’de Pentest yapan hangi firmalar var?
Türkiye’ de bu alanda sektör hızla gelişmektedir. Ayrıca kurumsal firmaların yanında kişisel olarak sızma testi yapan kişiler de bulunmaktadır. Ancak bu konuda Pentest yaptıracağınız kişiyi net olarak tanımıyorsanız, kişi yerine bir firma tercih etmeniz güvenliğiniz açısından daha sağlıklı olacaktır.
8- Pentest konusunda kendimi geliştirmek için izlemem gereken yol haritası nasıl olmalıdır?
Pentest konusunda kendinizi geliştirmek için öncelikle bu alana meraklı bir yapınızın olması gerekmektedir. İçinizde bilişim konularına karşı ciddi merak hissi ve sistemleri bozmaktan korkmadan kurcalayan bir düşünce yapınızın olması yolun başında sizi ön sıraya taşıyacaktır. Aksi halde işiniz biraz zor demektir. Çünkü “Pentester” olmak demek başkalarının düşünemediğini düşünmek, yapamadığını yapmak ve farklı olmak demektir.
Bu işin en kolay öğrenimi bireysel çalışmalar, kendi kendinize deneyerek öğrenmeye çalışmak, yanılmak sonra tekrar yanılmak ve doğrusunu öğrenmektir. Eğitimler bu konuda destekçi olabilir. Sizin 5-6 ayda katedeceğiniz yolu bir iki haftada size aktarabilir ama hiçbir zaman sizi tam anlamıyla yetiştirmez, “sadece” yol gösterici olur. Pentest konularının konuşulduğu güvenlik listelerine üyelik de sizi hazır bilgi kaynaklarına doğrudan ulaştıracak bir yöntemdir ve gündemi takip etmenizi sağlar.
Örnek; https://codewk.com
Bunun yanında Linux işletim sisteminin kullanımı hakkında tecrübe ve temel ağ güvenliği konularında bilgi sahibi olmak, Pentest konusunda sizi 1 adım öne çıkaracaktır. Bu işi ciddi anlamda yapmak istiyorsanız bu iki konuda ne kadar bilgi ve tecrübe sahibi olursanız rakiplerinize karşı o kadar fark atabilirsiniz demektir.
9- Pentest için hangi yazılımlar kullanılır?
Açık kod ve ticari yazılımlar olmak üzere iki çeşit kullanılır.
Açık Kod Pentest Yazılımları:
- Nmap
- Nessus
- Metasploit
- Inguma
- Hping
- Webscarab
- John the Ripper
- W3af
…bunlardan bazılarıdır. Açık kodlu olarak bilinen çoğu Pentest yazılımı Kali Linux dağıtımı ile birlikte kurulu olarak gelmektedir.
Ticari Pentest Yazılımları:
- Immunity Canvas
- Core Impact
- HP Webinspect
- Saint Ssecurity Scanner
Bu araçların yanında araçlar kadar önemli olan “Pentest Metodolojileri” vardır. Bunların da araçlar kadar iyi bilinmesi ve kullanılması gerekir. Bunlar;
- OWASP Guide
- NIST
- ISSAF
- OSTTM
10- Pentest konusunda hangi eğitimler vardır?
BGA Security Bilgi Güvenliği Akademisi Güncel Eğitim Takvimi sayfamız üzerinden güncel eğitimleri inceleyebilirsiniz. Siber Güvenlik Eğitim Takvimi: https://www.bgasecurity.com/egitim-takvimi/
- SANS Pentest Eğitimleri https://www.sans.org/curricula/penetration-testing
- Ec-Council Pentest eğitimleri http://www.penetration-testing.com