Penetrasyon yani sızma testi; sistemlerde, web sitelerinde, ağlarda ve uygulamalarda yararlanılabilecek güvenlik açıklarını tespit etmek için simüle edilmiş siber saldırıların kasıtlı olarak başlatılmasıdır. Sızma testinin temel amacı, güvenlik yetersizliklerini/kusurlarını ve zayıflıklarını tespit etmektir. Ayrıca, güvenlik politikasının sağlamlığını, mevzuata uygunluğu (derecesini), çalışanların güvenlik farkındalığını ve işletmenin güvenlik tehditlerini veya olaylarını belirleme ve bunlara yanıt verme konusundaki genel hazırlığını ve kapasitesini test eder.
Sızma testleri, bilgisayar korsanlarının sisteme erişmesine izin verecek her türlü güvenlik açığını ortaya çıkarır ve bu, şirketin güvenlik politikalarını sıkılaştırmasını sağlar. Bu testlerde olası hedeflerle ilgili ayrıntılar toplanır, potansiyel giriş noktaları tespit edilir ve içeri girmeye çalışılır.
Web uygulaması güvenliği söz konusu olduğunda, bir web uygulaması güvenlik duvarını (WAF) iyileştirmek için sızma testi kullanılır.
Pentest, kod enjeksiyon saldırılarına karşı savunmasız olan güvenlik açıklarını ortaya çıkarmak için uygulama protokol arayüzleri (API’ler), ön uç sunucuları, arka uç sunucuları gibi uygulama sistemleri ihlal edilmeye çalışılabilir. Sızma testi, WAF güvenlik ilkelerinizde ince ayar yapmanıza ve algılanan güvenlik açıklarını düzeltmenize yardımcı olabilir.
Penetrasyon testi manuel olarak veya güvenlik araçlarıyla yapılabilir.
Otomatik penetrasyon testi genellikle aşağıdaki amaçlarla yapılır:
- Sınırlı güvenlik personeli ile maliyet bilincine sahip CISO’lar
- Yanlış pozitifleri azaltmak için uygulama güvenliğine ihtiyaç duyan DevOps ekipler
- Geliştirme zaman çizelgelerini engellemeden katmanlı güvenlik sağlamak zorunda olan uygulama güvenlik ekipleri.
- Uygulamalardaki güvenlik açıklarının ayrıntılı bir listesinden yararlanacak kırmızı ekipler
Penetrasyon (Sızma) Testi Aşamaları
Sızma testi aşamaları aşağıdaki şekildedir:
1. Planlama ve Keşif
Bu ilk aşamada, ele alınacak sistemler ve kullanılacak test yöntemleri dahil olmak üzere testin kapsamı ve hedefleri tanımlanır. Bir hedefin nasıl çalıştığını ve güvenlik açıklarının neler olduğunu anlamak için ağ adları, alan adları, posta sunucuları vb. gibi istihbarat toplama gerçekleşir.
2. Tarama
Bu adımda, hedef uygulamanın çeşitli izinsiz giriş girişimlerine nasıl yanıt vereceği anlaşılır. Bu, statik analiz ve dinamik analiz kullanılarak yapılır.
Statik analizde, çalışırken nasıl davranacağını tahmin etmek için bir uygulamanın kodu incelenir. Araç, kodun tamamını tek bir geçişte tarayabilir. Dinamik analiz, uygulamanın kodunu çalışır durumda inceler. Bir uygulamanın performansına gerçek zamanlı bir bakış sağladığı için daha pratik olduğu kabul edilir.
3. Erişim Kazanma
Bu aşamada, SQL enjeksiyonu, siteler arası komut dosyası çalıştırma ve arka kapılar gibi web uygulaması saldırıları kullanılarak hedefin güvenlik açıkları ortaya çıkarılır. Ardından test uzmanları, neden olabilecekleri hasarı daha iyi anlamak için veri çalarak, ayrıcalıkları artırarak, trafiği yakalayarak vb. yöntemlerle bu güvenlik açıklarından yararlanır.
4. Erişimi Sürdürmek
Gelişmiş kalıcı tehditler, şirketin hassas verilerini çalmak için genellikle bir sistemde aylarca birlikte kalan tehditlerdir. Bu aşama, güvenlik açıklarından herhangi birinin istismar edilen sistemde potansiyel olarak kalıcı bir varlığa ulaşıp ulaşamayacağını görmeyi amaçlar.
5. Analiz
Son olarak analiz aşamasında, pentest sonuçları, yararlanılan güvenlik açıkları, erişilen hassas veriler ve pentest cihazının sistemde tespit edilmeden kalabildiği süre hakkında ayrıntıları içeren bir rapor halinde derlenir.
Güvenlik personeli bu bilgileri analiz eder ve güvenlik açıklarını yamalamak ve gelecekteki siber saldırılara karşı koruma sağlamak için şirketin WAF ayarlarını ve uygulama güvenlik çözümlerini yapılandırır.
Penetrasyon Testi Türleri
Penetrasyon testi türlerini anlamak, katılımların derinliği, odak noktası ve süresi bakımından farklılık gösterdiğinden, işletmeniz için en uygun olanı seçmenizi sağlayacaktır. Ortak etik bilgisayar korsanlığı testleri aşağıdakileri içerir:
1. Dahili ve Harici Altyapı Penetrasyon Testi
Dahili ve harici altyapı penetrasyon testinde, sistem ana bilgisayarları, güvenlik duvarları, yönlendiriciler ve anahtarlar dahil olmak üzere şirket içi ve bulut ağ altyapısının bir değerlendirmesi yapılır. Bu, dahili bir sızma testi veya harici bir sızma testi olarak çerçevelenebilir. Dahili pentest, genellikle güvenlik duvarının arkasındaki bir uygulamaya erişebilen ve kötü niyetli bir içeriden saldırıyı simüle edebilen bir test uzmanı tarafından şirket ağı içindeki varlıklara odaklanır. Harici sızma testi, örneğin şirket web sitesi, web uygulaması, e-posta ve alan adı sunucuları (DNS) gibi internete dönük varlıklara ve altyapıya odaklanır. Amaç, değerli verilere erişmek ve bunları çıkarmaktır. Bir testin kapsamını belirlemek için ağın boyutunu, test edilecek dahili ve harici IP’lerin sayısını ve site sayısını bilmek gerekir.
2. Kablosuz Sızma Testi (Wireless Penetration Testing)
Bu, özellikle bir işletmenin WLAN’ını (kablosuz yerel alan ağı) ve ayrıca ZigBee, Bluetooth ve Z-Wave gibi kablosuz protokollerini hedefleyen bir testtir. Sahte erişim noktalarını, WPA güvenlik açıklarını ve şifrelemedeki zayıflıkları tespit etmeye yardımcı olur. Bunun için test uzmanları, değerlendirilecek kablosuz ve misafir ağların sayısı, konumları ve benzersiz SSID’ler hakkında bilgilendirilmelidir.
3. Web Uygulama Testi (Web Application Testing)
Bu tür testlerde, web üzerinden sunulan web siteleri ve özel uygulamalar, kötüye kullanılabilecek tasarım, geliştirme ve kodlama kusurlarını ortaya çıkarmak için değerlendirilir.
4. Mobil Uygulama Testi
Bu, yetkilendirme, veri sızıntısı ve kimlik doğrulama, yetkilendirme sorunlarını belirlemek için mobil uygulamaları Android ve iOS gibi işletim sistemlerinde (OS) test etmekle ilgilidir. Bir testin kapsamını belirlemek için test sağlayıcılarının, uygulamanın test edilmesi gereken işletim sistemi türlerini/sürümlerini, API çağrısı sayısını ve kök algılama gereksinimlerini bilmesi gerekir.
5. Derleme ve Yapılandırma İncelemesi
Bu bölümde, web ve uygulama sunucuları, güvenlik duvarları ve yönlendiriciler genelinde yanlış yapılandırmaları tespit etmek için ağ yapıları ve yapılandırmaları gözden geçirilir.
- Blind testing’de, test eden kişiye sadece hedeflenen işletmenin adı verilir. Bu, güvenlik personelinin gerçek bir uygulama saldırısının nasıl gerçekleştiğini gerçek zamanlı olarak görmesini sağlar.
- Double-blind testing’de, güvenlik personelinin simüle edilen saldırı hakkında hiçbir ön bilgisi olmaz. Tıpkı gerçek dünya senaryosunda olduğu gibi bir ihlal girişiminden önce savunmalarını yapacak zamanları olmaz.
- Hedefli testte, test cihazı ve güvenlik personeli birlikte çalışır ve hareketlerinden birbirlerini haberdar eder. Bu, güvenlik ekibine bir bilgisayar korsanının bakış açısından gerçek zamanlı geri bildirim sağlayan değerli bir eğitim alıştırması olduğunu kanıtlar.
- Bir sözleşmeden önce paylaşılan bilgi miktarının sonuç üzerinde büyük bir etkisi olabileceği açıktır. Test stili genellikle beyaz kutu, kara kutu veya gri kutu sızma testi olarak sınıflandırılır.
- Beyaz kutu sızma testi, tam ağ ve sistem bilgileri, ağ haritaları ve kimlik bilgilerinin tümü test cihazı ile paylaşılır. Bu, zamandan tasarruf sağlar ve maliyetleri azaltır. Beyaz kutu penetrasyon testi, mümkün olan maksimum saldırı vektörleri kullanılarak belirli bir sistem hedeflenirken çok faydalıdır.
- Kara kutu penetrasyon testinde testi yapan kişiye herhangi bir bilgi verilmez. Pentest böylece ilk erişim ve uygulamadan istismara kadar ayrıcalıksız bir bilgisayar korsanının siber saldırısını simüle eder. Böyle bir senaryo, herhangi bir içeriden bilgisi olmayan bir bilgisayar korsanının bir kuruluşu nasıl hedef alıp tehlikeye atacağını gösteren, en özgün senaryo olarak kabul edilir. Ancak bu aynı nedenle en pahalı seçenektir.
- Gri kutu penetrasyon testinde testi yapan kişiyle sınırlı bilgiler paylaşılır. Örneğin, yalnızca oturum açma kimlik bilgileri. Bu test sayesinde, ayrıcalıklı bir kullanıcının kazanabileceği erişim düzeyi ve verebileceği potansiyel zarar ölçülür. Gri kutu testi, derinlik ve verimlilik arasında optimal bir denge sağlar ve içeriden gelen bir tehdidi veya harici bir ağ saldırısını simüle etmeye yardımcı olabilir. Gerçek dünyada, ısrarcı bir bilgisayar korsanı, hedef çevre üzerinde keşif yaparak onlara içeriden birine benzer bilgiler verir. Gri kutu testi, zaman alan keşif aşamasını ortadan kaldırarak verimlilik ve orijinallik arasında optimal bir denge sağlar.
Sızma Testi ve Web Uygulaması Güvenlik Duvarları
Sızma testi ve WAF’ler, karşılıklı yarar sağlayan güvenlik önlemleri olsa da birbirinden farklıdır.
Test cihazı, bir uygulamanın zayıf noktalarını bulmak ve bunlardan yararlanmak için büyük olasılıkla günlükler gibi WAF verilerini kullanır. Bu, blind ve double-blind testing dışında birçok türde pentest için geçerlidir.
WAF yöneticileri de sızma testi verilerinden yararlanır. Bir testin tamamlanmasının ardından testte yeni keşfedilen zayıf noktalara karşı güvenliği sıkılaştırmak için WAF yapılandırmalarını günceller.
Pentest, daha da önemlisi, güvenlik denetim prosedürleri, PCI DSS ve SOC 2 ve diğerleri için bazı uyumluluk gerekliliklerini karşılar. PCI-DSS 6.6 gibi sadece sertifikalı bir WAF kullanılarak karşılanabilecek belirli standartlar olsa da, bu, pentesti daha az çekici ve kullanışlı hale getirmez.
Sızma Testinin Avantajları ve Dezavantajları
Tüm güvenlik çözüm ve yaklaşımları gibi sızma testlerinin de faydaları, riskleri ve zorlukları vardır. Sızma testinin en önemli avantajı, insan yapımı gerçek saldırıları simüle eden tek araç olmasıdır. Otomatik güvenlik teknolojisi, bilgisayar korsanlarının tekniklerini gerçek hayatta taklit edemez. Bu nedenle, sızma test cihazları, bilgisayar korsanlarının neler yapabileceğine dair teknik bilgiler sağlamada hayati önem taşır.
Sızma testinin diğer faydaları arasında güvenlik açıklarının, hataların ve zayıflıkların tespit edilmesi yer alır. Sızma testleri esnektir ve özelleştirilebilir. Bu, işletmelerin farklı senaryoları test etmesine ve modern tehditler ortaya çıktıkça bunlara uyum sağlamasına olanak tanır. Testler ayrıca bir hatanın veya hatalı yapılandırmanın sahip olabileceği sonuçları da ortaya çıkarabilir.
Otomatik araçlar, hataları tespit etmede de iyidir, ancak genellikle bir bilgisayar korsanı bir güvenlik açığından yararlanırsa ne olacağına dair fikir vermez. Sızma testleri ile en uzman test uzmanları düzeltme önerileri sağlar. Bu, işletmelerin sadece zayıf noktalarının nerede olduğunu anlamalarına değil, aynı zamanda bunları nasıl düzelteceklerine ve harekete geçmelerine de olanak tanır.
Öte yandan, sızma testlerinin de bazı sakıncaları vardır. Ücretsiz araçlar kullansanız bile sızma testi, güvenlik uzmanlarını veya danışmanlarını işe alma masrafını içerir. Bu profesyonellerin işleri bittiğinde, ağda bir dayanak elde etmek için kurmuş olabilecekleri arka kapıları veya başka herhangi bir şeyi kaldırarak temizlemeleri gerekir.
Testin verimliliği, sızma testi uzmanlarına ve masaya getirdikleri becerilere bağlıdır. Sektörün karşı karşıya olduğu bir başka zorluk da sızma testlerinin öneminin anlaşılması ve katılım sağlanmasıdır. Sızma testi 1970’lerde bir konsept olarak başlamış olsa da, birçok işletme hala sistemlerinde test yapma konusunda isteksizdir.
Sızma testinin nasıl geliştiğine ve ne kadar etkili olabileceğine dair güvenlik kültürü ve farkındalığı eksikliği, birçok karar vericiyi geride tutar. İş operasyonları için sisteminiz, hassas verileriniz ve kritik varlıklarınız konusunda bir penetrasyon test cihazına güvenmek de bir engel olabilir, çünkü özellikle pentester’lar gerçek siber saldırıları simüle eder.
Sızma Testinden Sonra Yapılması Gerekenler
Sızma testleri, beyaz şapkalı hacker’lar güvenlik açıklarını tespit ettikten sonra sona ermez. Raporlama ve düzeltme, asla dışarıda bırakılmaması gereken hayati bileşenlerdir. En iyi pentest sağlayıcıları, hatalara, sonuçlara ve güvenlik açıklarını düzeltmeye yönelik önerilere 360 derecelik bir bakış sağlayan eksiksiz raporlar sunar.
Raporlama ayrıca güvenlik ekiplerine, BT’ye, geliştiricilere, çalışanlara ve üst düzey karar vericilere hizmet eder. Bu yüzden işletmenin tüm çalışmaları ve performansı raporlama yoluyla geliştirilmelidir. Sızma testlerinin temel amacı zayıflığı tespit etmek değil, verimliliği ve güvenliği artırmak ve riskleri daha iyi önlemektir.
Ek olarak, sızma testi uzmanları ve işletmeler için en iyi uygulama, sistemleri bir saldırıdan önceki orijinal durumuna geri yüklemektir. Sızma testi yapanlar konfigürasyonları ve ayarları değiştirir, yazılım yükler veya sistemde başka herhangi bir değişiklik yaparsa, sistemi temizlemeli ve geri yüklemelidir.
Ek olarak, penetrasyon testleri yapan şirketler, bunları pentest program ve çerçeveleri içinde gerçekleştiriyor olmalıdır. Düzeltmeden sonra, pentest ekipleri güvenlik yükseltmelerini ve yamaları izlemeli ve bir sonraki planlanmış testi çalıştırmaya hazırlanmalıdır. Sızma testi tek seferlik bir süreç değildir; sürekli bir iştir.
Özetle diyebiliriz ki, sızma testi, güvenlik açıklarını bilgisayar korsanlarından önce bulabilen kritik derecede önemli bir siber güvenlik uygulamasıdır. Tehdit avcılığının yanı sıra sadece araçlarla yapılamayan bir uygulamadır; bir insan unsuru gerektirir. Bu insanların işi doğru yapmak için eğitilmeleri ve hazırlanmaları gerekir. Bu kolay bir girişim değildir, ancak her işletmenin mümkün olan en iyi şekilde yapması gereken bir iştir.
İlgili İçerikler:
Mail Transfer Agent (MTA) Nedir? İşletmeler Online Ortamda E-Posta Hesaplarını Nasıl Korumalı?
Siber Saldırı Nedir? İşletmeler E-Posta Verilerini Siber Saldırıdan Nasıl Korumalıdır?
TLS Nedir? SSL/TLS Kullanarak Güvenli E-posta Gönderin veya Alın
Siber Güvenlik Nedir? Veri Güvenliğini Nasıl Sağlarız?
Firewall Nedir, Ne İşe Yarar? Firewall Türleri
Phishing Nedir? Phishing (Oltalama) Saldırısı Nasıl Engellenir?
Mail Gateway (Güvenli E-Posta Ağ Geçidi) Nedir?
Ransomware Nedir, Nasıl Çalışır? Ransomware Virüsünün Mail Yoluyla Bulaşmasını Engelleme
Sosyal Mühendislik Nedir? Sosyal Mühendislik Saldırıları Nasıl Önlenir?
Business Email Compromise (BEC) Nedir? BEC Saldırıları Nasıl Engellenir?
Mail Engelleme, Gelen E-Postalar Nasıl Engellenir?
Man-in-the-Middle Atağı (MitM) Nedir? Nasıl Çalışır? Nasıl Önlenir?