Başarılı ve sağlıklı bir sızma testi için gerekli olan belli başlı faaliyet ve süreçler bulunmaktadır. Payment Card Indurstry Data Security Standart kapsamında yapılacak olan sızma testi sürecinin yönetmeliğe uygun bir biçimde yürütülmesi ve her aşamanın incelenmesi gerekmektedir. Bu makale sızma testi sürecini, Sızma Testi Öncesi, Sızma Testi ve Sızma Testi Sonrası olmak üzere 3 bölüme ayırarak her aşamanın açıklamasını içermektedir.
- Sızma Testi Öncesi
Test öncesinde yapılması gereken hazırlık, tarafları bilgilendirme ve yol haritası çizmek gibi önemli adımların yürütülmesi, testin daha fonksiyonel ve tarafların memnun kaldığı bir test meydana getirecektir. Bu konuda öncelikle tüm tarafların (kuruluş, test ekibi, denetçi) gerçekleştirilecek olan test türleri (iç ağ, dış ağ, sosyal mühendislik vs.) konusunda bilgilendirilmeli ve bu hususlarda mutabık kalınmalıdır. Bu tip hassas ayrıntıların test öncesinde konuşulması, testin yapılacağı Cardholder Data Environment (CDE) kapsamının yanlış anlaşılması veya eksik testler yapılması gibi sorunların önüne geçer.
- Kapsam Belirleme
Belirlenen kapsam içerisinde CDE ve kritik yapıların bulunduğundan emin olunmalıdır. İki tarafın da kapsam içerisinde hiçbir yapının göz ardı edilmediği konusunda kontroller sağlaması testin asıl amacı doğrultusunda çok önemli bir yere sahiptir. Sonuç olarak sızma testinin kapsamının tüm erişim noktalarını, kritik sitemleri, CDE için kullanılan segmentasyon metodolojilerini kapsaması gerekmektedir.
- Dokümantasyon
Mümkün olduğunca, kapsamda yer alan tüm yapıların ayrıntılı dokümantasyonu test uzmanları ile paylaşılmalıdır. Bu bilgiler, test uzmanına test sürecinde oldukça kolaylık sağlamakla beraber, genel yapı hakkındaki görüş, düşünce ve önerilerini daha uygun biçimde oluşturmasına olanak tanır ve testi yaptıracak kuruma da epey fayda sağlar. Kapsam dokümanında, kart sahibi veri akış diyagramı, test kapsamındaki ağların ağ topolojisi, CDE dahilinde çalışan servis ve port bilgileri, ayrıca kapsamı daraltmak açısından CDE’den ayrılmış ve izole edilmiş ağların listesi gibi bilgi ve belgelerin test uzmanı ile paylaşılması, daha kontrollü bir test süreci ve kapsam dışındaki ağ yapısı ile CDE yapısının doğru ve güvenilir biçimde ayrıldığının kontrolünü de sağlayacaktır.
- Test Kuralları
Test öncesinde testin şartlarının ve süreç içerisinde izin verilen sömürü derecesinin belirlenmesi ve bunların belgelendirilmesi önemlidir. Bu test uzmanını yetkilendirmekle beraber kurumun da sızma testinden ne beklemesi gerektiğini de anlamasını sağlar. Aşağıdaki angajman kurallarına örnekler verilmiştir:
- Testlerin gerçekleştirileceği zaman aralığı.
- Otomatik tarama ile bilinen zafiyetli sistemler var mı? Varsa, bu sistemlere karşı nasıl yaklaşılmalı?
- Test sırasında yapılan işlemler ve karşılaşılacak sorunlar ile alakalı iletişim kurulacak kişi ve yöntemler.
- Testi algılayacak ve engelleyecek koruma sistemlerinin devre dışı bırakılıp bırakılmayacağı.
- Test sırasında ele geçirilen kullanıcı adı, parola veya hassas bilgilerin listesini açıklamak zorunda mı?
- Test ekibinin kullanacağı ekipmanların, sisteme zarar verip veremeyeceği gibi daha birçok şart maddelerinin test öncesinde belirlenip belgelendirilmesi önemlidir.
- Third Party Hosted veya Bulut Ortamları
Kuruluşun üçüncü taraflar tarafından veya bulut ortamları için anlaşma kurallarına dahil edilebilecek birkaç husus vardır. Bunlardan bazıları şunlardır:
- Yapılacak test türü, üçüncü taraf şirketlerden izin alınmasını gerektiriyorsa kuruluşun bu izinleri de alması gerekmektedir.
- Kapsam üçüncü taraf tarafından kuruluşa sağlanan altyapıyı içermeyebilir. Kuruluş tarafından yönetilen veya kullanılan herhangi bir sistemi içerebilir.
- Başarı Kriteri
Sızma testlerinin amacı, gerçek dünyada yapılan siber saldırıları simüle ederek sistemin ne kadar güvenli olduğunu, saldırı esnasında alınan reaksiyonları, saldırı sonucunda sisteme ne kadar sızılabileceğini tespit etmektir. Sızma testi için belli bir başarı kriteri koymak, test ekibinin ne kadar derine ineceği konusunda bir fikrinin olmasına da yardımcı olur. Örnek vermek gerekirse; Active Directory yapısında Admin yetkisine sahip bir kullanıcının hesabı ele geçirilirse testin durması mı yoksa devam edip diğer sistemlerin de ele geçirilmesi mi gerekmekte sorusunun cevabı, bu başarı kriterlerinin arasındadır.
- Geçmiş Tehdit ve Zafiyetlerin Gözden Geçirilmesi
Test yaptıran kuruluşun son 12 Ay içerisinde tespit ettiği zafiyet veya uğradığı saldırıları sızma testi ekibine bildirmesi ve bu tehditlerin değerlendirilmesi gerekmektedir. Bu, son değerlendirmeden bu yana kuruluş ağında gerçekleştirilen güncellemeler ve güvenlik açıklıklarına tarihsel bir bakış açısı sağlar. Sızma testi uzmanının da son 12 Ay içerisinde sektörde görülen zafiyet ve tehditlere hakim olması gerekmektedir. Testin türüne göre değişmekle beraber (white-box, grey-box, black-box), aşağıda yer alan incelemeler ele alınabilir:
- Kuruluş tarafından tespit edilen ancak düzeltilmemiş güvenlik açıklıkları
- Güvenlik zafiyetlerini telafi edecek kontroller
- Devam eden yazılım ve donanım kurulumları veya güncellemeleri
- Önceki yılların sızma testlerinin doğrulaması
- En son sızma testinde tespit edilememiş olması muhtemel olan sektördeki mevcut güvenlik açıklıklarının durumunun belirlenmesi
- Güvenlik Cihazlarını Tarama Girişiminin Önlenmesi
Birçok ortamda, saldırıya maruz kalan servisleri korumak için belli başlı koruma güvenlik sistemleri bulunmaktadır. Örneğin Intrusion Prevention System (IPS), Web Application Firewall (WAF) gibi aktif koruma kontrolleri. Sızma testinin amacı, bu saldırı önleme sistemlerinin yeteneklerini değil çalışan servislerin sömürülebilirliğini değerlendirmek olduğu için bu kontroller ile etkileşime girilmesi önlenmelidir. Bu uygulama, eğer ki aktif koruma sistemleri başarısız olursa içeride çalışan sistemlerin güvende olup olmadığını anlamayı sağlamaktadır.
- Sızma Testi
Her kurum farklı niteliklere sahip bir yapıya sahiptir. Bu sebeple sızma testi öncesinde verilen dokümanlar hazırlık aşamasından öteye gidemez. Sızma testi, en temelde manuel bir çabadır. Dokümanların amacı, sızma testi sırasında kullanılacak olan teknik, taktik ve araçlar konusunda bir yol haritası çizmeye yarar.
Sızma testi uzmanına yardımcı olacak, saldırıları otomatik hale getirecek bazı araçlar bulunmaktadır. Bu araçların kullanımı sonrasında elde edilen sonucun değerlendirilmesi ve bir sonraki adımın belirlenmesi tamamen sızma testi uzmanının takdirindedir. Sızma testinin sağlıklı ve duraksamadan devam edebilmesi için internet sağlayıcısı tarafından servis ve portlara gerekli izinlerin de tanımlanmış olması ve ortamın sızma testine uygun hale getirilmesi gerekmektedir. Test sırasında test uzmanı eğer sıradan İnternet bağlantısı kullanıyorsa sisteme zarar verecek kötücül yazılım ve faaliyetlerden korunmak için SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), SMB (Small to Medium-Sized Business) vb. portların kısıtlanmış olduğundan emin olmalıdır.
- Uygulama Katmanı
Test uzmanı uygulamayı test ederken, uygulamanın tanımladığı kullanıcıların perspektifinden çalışması gerekmektedir. Yani uygulama içerisinde tanımlı admin ve standart kullanıcı varsa, testin bu iki kullanıcı ile yapılması ayrıca oluşturulmuş ve farklı haklara sahip üçüncü bir kullanıcı ile yapılmaması gerekmektedir. Eğer üçüncü bir kullanıcı oluşturulduysa da normalde bulunan diğer iki kullanıcının da ayrıntılı bir şekilde incelendiğinden emin olunmalıdır. Test uzmanına kuruluş tarafından gerekli teşviklerin verilmesi tespit edilen bulguların kritiklik seviyesini etkileyeceğinden, test sonrası düzeltmeler yapıldığında uygulamanın çok daha güvenli bir seviyeye yükselmesi de kaçınılmazdır. Bu sebeple test uzmanına gerekli bilgi ve hakların sağlanması önemlidir.
Uygulamanın bir back-end API’si kullandığı durumlarda, API kapsam dokümanına alınmalıdır. Test uzmanının uygulama ile back-end etkileşimini, API servislerinin işlevlerini, API’ye erişimlerin güvenliğini test etmelidir. Bu kontroller sonrasında API için bağımsız bir test gerekip gerekmediğine karar verilebilir.
- Ağ Katmanı
Genelde ağ katmanlarında protokoller tanımlı ve yapı oturmuştur. Bu sebeple ağ katmanı testlerinde otomatik araçlar kullanılması, ilk adımda yer alabilmektedir. Otomatik araçlar içeride kullanılan servisler hakkında genel bilgi edinilmesi, kullanılan yazılımların güncel olup olmadığı, parola korumasının olduğu yerlerde varsayılan kimlik bilgilerinin denenmesi gibi konularda test uzmanına ciddi yardımcı olur. Ancak bu otomatik araçların fonksiyonu, tek başına sızma testi olmaya yetmez. Bu sadece sızma testi uzmanına belli bir sıra belirleyerek, plan oluşturmasında rol oynar. Uzmanın bulunan makinalar arasındaki etkileşimleri, CDE yapısına erişimlerin kimlik doğrulaması ve belli ayrıcalıklı yetkiler ile olup olmadığı, CDE kapsamında sadece yetkilendirilmiş hizmetlerin çalıştığını kontrol etmeli ve otomatik araçların sonuçlarını yorumlayarak ilerlemesi gerekmektedir.
- Segmentasyon
Segmentasyon kontrolü, sızma testinin başlangıcında yapılan testlerin (nmap ile port taraması, servis keşif taraması vb.) yapılması ile gerçekleştirilir. Bu kontrolün amacı esasında kapsam dışındaki LAN (Local Area Network)’ların kritik CDE yapısına erişemediğini anlamaktır. CDE’den dışarıda kalan ve izole edilen birçok ağ yapısı olan durumlarda temsilci bir alt küme oluşturularak, segmentasyon testinin kapsamı daraltılabilir. Eğer segmentasyon kontrolü sırasında CDE’ye erişimi olmaması gereken bir LAN segmentinin erişimi varsa bunun kuruma bildirilmesi ve PCI-DSS yönetmeliğine uygun olacak biçimde erişimin engellenip iletişimin koparılması gerekmektedir.
- Kart Verisi ile Karşılaşıldığında Yapılması Gerekenler
Test sırasında test uzmanı eğer CDE’de yer alan kart verilerine erişim sağlarsa bunu acilen kuruluşa bildirmesi ve olabilecek en ayrıntılı biçimde erişim yolunu, yöntemini ve elde ettiği bilgileri belgeleyerek IT (Information Technologies) yetkililerine ulaştırması gerekmektedir.
Kuruluş bu zafiyetin farkına vardıktan sonra derhal bu konuda olay yanıt müdahalesi yapılarak açığın kapatılması gerekmektedir. Test uzmanının hazırladığı acil durum raporunda gizli kart verileri bulunuyorsa bu belgenin PCI-DSS kurallarına uygun bir biçimde saklanması gerekmektedir.
- Sömürü Sonrası
Sömürü sonrası başlığı, ağda yer alan sistem veya cihazın istismar edilerek ele geçirildikten sonra yapılan faaliyetleri ifade etmektedir. Genellikle hak yükseltme veya pivot tekniği ile ele geçirilen bir sistemi yeni bir saldırı vektörü olarak kullanılması anlamına gelmektedir. Bu durumda ele geçirilen bir makinayı kullanarak yeni makinalara erişim sağlamak mümkün olduğundan sızma testi uzmanı ek erişimler sağlayabilir. Test uzmanının, elde ettiği hak ve erişimlerin CDE’ye karşı teşkil ettiği tehlikeyi açıklayarak arz etmesi gerekmektedir.
- Sızma Testi Sonrası
Sızma testi tamamlandıktan sonra iki tarafa da düşen belli sorumluluklar vardır.
- En İyi İyileştirme Uygulamaları
Sızma testi oldukça kapsamlı olsa da uygulama veya ağ içerisinde tespit edilen zafiyetlerin bulunduğu her yeri görebilmesi veya gösterebilmesi mümkün değildir. Örnek vermek gerekirse bir web uygulamasının girdi noktalarından birinde XSS (Cross-Site Scripting) bulunduysa diğer bütün girdi noktalarında tespit edilememiş veya hepsine bakılamamış olabilir. Bu sebeple yapılan iyileştirme çabalarının bütün uygulamayı kapsaması gerekmektedir. Sadece tek noktaya odaklanılmamalıdır. Başka bir örnek vermek gerekirse yerel ağ içerisinde tespit edilen SWEET32 zafiyetinin sadece tarama sonucunda gösterilen makinada değil ağ içerisinde yer alan bütün makinaların kontrol edilerek bu zafiyetin kapatılması gerekmektedir.
- Tespit Edilen Zafiyetlerin Tekrardan Test Edilmesi
Kuruluş test sonrasında tespit edilen güvenlik açıklıklarını kapatmak için gerekli aksiyonları almalıdır. Güvenlik açıklıklarının kapatılması işlemi bittikten sonra ilk sızma testinin üzerinden bir daha geçilmeli ve açıklıkların kapatıldığından emin olunması gerekmektedir. Ancak bazı durumlarda eğer ilk sızma testinde kritik bulgular elde edildiyse düzeltmelerden sonra daha stabil ve güncel bir ortamda tekrardan bir sızma testi gerekebilir. Bu durum ilk sızma testinin sonuçlarına ve sonrasında yapılan düzeltme ve değişikliklere bağlıdır.
- Kanıtların Temizlenmesi
Test uzmanının, test sırasında (Kapsam dokümanının izin verdiği ölçüde) sistemde yaptığı değişiklikleri belgelendirerek kuruluşa sunması, sisteme kurduğu araçları kaldırması gerekmektedir. Kuruluşun sızma testi için oluşturduğu oturum, VPN gibi hesaplarını kaldırmalıdır. Bu işlemlerin yapılması sistemde oluşan değişikliklerin, daha sonra sisteme zarar vermeyeceğinden emin olmaktır.
- Ek Kaynaklar
Sızma testi faaliyetlerinde rehberlik sağlayabilecek birçok endüstri tarafından da kabul edilen metodolojiler bulunmaktadır. Bunlardan bazıları aşağıda verilmiştir.
- Açık Kaynaklı Güvenlik Testi Metodolojisi (OSSTMM)
- The National Institute of Standards and Technology (NIST) Special Publication 800-115
- OWASP Testing Guide
- Penetration Testing Execution Standard
- Penetration Testing Framework
Certby uzman sızma testi ekibi ve kullandığı güncel ve sektörde önde gelen araçlar sayesinde müşterilerine en etkili sızma testi hizmetini ve sonrasında en güvenli yapıları sunmaktadır.