Merhabalar,
Verimli bir sızma testi yaptırmak konulu yazı dizimize, “Test Esnasında Bilgilendirme ve Yetkilendirmeler” konusu ile devam ediyoruz.
Sızma testi süreçleri ile yakından ilgilenmeyen kişilerce bakıldığında, sanki tüm sızma testi çalışanlarında uygulanan yaklaşımın ve yapılan işlerin birbiri ile benzer olduğu düşünülebilir. Oysa aşağıda detaylandırılacağı üzere bu süreçte farklı yaklaşımların uygulanabilmesi ve bunların birbirlerine göre avantaj/dezavantaj içermesi söz konusudur.
Konuyu başlangıç noktasından takip etmek isteyen okurlar dizinin önceki yazılarına aşağıdaki bağlantılardan erişilebilirler.
- Verimli Bir Sızma Testi Yaptırmak: Yola Çıkarken
- Verimli Bir Sızma Testi Yaptırmak: Planlama ve Kapsam Belirleme
- Verimli Bir Sızma Testi Yaptırmak: Doğru Adresi Bulma
Aşağıda başlıklar halinde “bilgilendirme ve yetkilendirme” konusu ele alınmıştır.
Test ekibi ile bilgi paylaşım şekline göre test türleri bilinmeli ve uygun yöntem tercih edilmelidir
Sızma testleri gerçekleştirirken test ekibine sağlanacak bilginin detayına göre farklı yaklaşımlar olabilir. Farklı kaynaklar farklı anlatımlar olsa da aşağıdaki gibi genel bir tanım yapılabilir.
Özet tablodanda görüldüğü üzere, blacbox yöntemi gerçek hayata en uygun senaryo olmakla beraber daha uzun ve zahmetli bir süreçtir. Bu durum aynı zamanda, efor ve maliyet açısından daha fazla yük getirmektedir.
Öte yandan ülkemizde, sızma testi hizmeti alan tarafların genellikle görece olarak yüksek maliyetlere katlanmak konusunda görülsüz olduğu gözlemlenmektedir.
İşte bu şartlarda, sırf gerçeğe uygun olsun diye, yüksek maliyet bedelleri ödemeden “blackbox” yöntemine gitmek sağlıksız bir sonuç doğurabilir. Zira test hizmeti sunan taraf, “blackbox” için kendi emeğini karşılayacak maddi karşılığı almamış olduğundan yeterince zorlama yapmadan testi sonuçlandırabilir. Böyle bir senaryoda, başarı için somut bir kriter koymak zor olacağından testi alan taraf için verimli sonuçların üretilmediği bir çalışma ile süreç sonuçlanmış olabilir.
Sonuç olarak, sızma testi alan taraflar öncelikle test ekibine gerekli izinlerin verilerek tüm kontrollerin detaylı bir şekilde yapıldığı senaryo (“whitebox”) üzerinden yürümelidir. Bu şekilde belirli bir olgunluk seviyesine ulaştıktan sonra, “greybox” ve “blackbox” senaryoları denenmelidir.
Test esnasında içerideki ekip ile bilgi paylaşım şekline göre test türleri bilinmeli ve uygun yöntem tercih edilmelidir
Test esnasında hizmet alan ekibin süreç hakkında bilgi sahibi olma türüne göre aşağıdaki gibi farklı yöntemler olabilir.
Firma öncelikle bu yöntemlerin farkında olup kendi pozisyonuna göre bir seçim yapmalıdır.
Burada test yaptıran tarada çoğu zaman blind yada double-blind yöntemleri cazip gelebilir. Çünkü bu yöntemlerin gerçek senaryona daha uygun olduğu düşünülür.
Ancak bu yöntemlerde, kısıtlı sürede bilgi paylaşım eksikliği nedeni ile birçok kritik noktanın gözden kaçması söz konusu olabilir.
Bu bağlamda hizmet alacak kurumların testlerinde, öncelikle tarafların full işbirliği ile çalıştığı “targeted” yönteminden başlayarak olgunluk seviyesi arttıkça blind yada double-blind yöntemlerine evrilemeleri daha doğru bir yaklaşım olacaktır.
Uygulama ve sistemlerin güvenliği önlerinde yer alan sistemlere veya network bazlı önlemlere bırakılmamalıdır.
Kurumların sahip olduğu uygulamalar için kendi güvenlik yapılarından bağımsız olarak bazı önlemlerin alınması söz konusudur. Uygulama veya sistemlerin yalnızca lokal ağda hizmet vermesi, dışarıdan erişimde IP kısıtı uygulanması ve uygulama önüne Web Application Firewall (WAF) konması gibi. Bunlar elbette faydalı önlemlerdir.
Uygulama ve sistem testlerinde hizmet alan taraflar çoğu zaman gerçek hayata uygun bir test senaryosu oluşturma motivasyonu ile uygulama ve sistemlerin önünde yer alan bu mekanizmaları aktif tutmak istemektedir.
Öte yandan uygulama ve sistemler kendi güvenliklerini bu yapılara dayanmadan “zero trust” mantığı ile sağlayabiliyor olmalıdırlar. Zira bu konfigürasyonlarda yaşanabilecek muhtemel bir hata saldırganın zafiyetli uygulama ve sistem ile baş başa kalmasına neden olacaktır.
Bilgi güvenliğindeki önemli bakış açılarından biri olan “katmanlı güvenlik yapısı” da bunu gerektirmektedir.
Bu bağlamda, özellikle uygulama ve sistemlerin güvenlik olgunluğu belli bir seviyeye ulaşana kadar, test ekibine doğrudan erişim için gerekli izinlerin tanımlanması faydalı olacaktır.
Rol ve kullanıcı sayısı fazla olan uygulamalarda mutlaka hesaplı test yapılmalıdır.
Temel kullanım şekli olarak kullanıcı hesabı ile giriş yapılarak işlemlerin gerçekleştirdiği uygulama testlerinde temelde 2 farklı yaklaşım söz konusu olabilir.
- 1.Yaklaşım: Test ekibine sadece uygulamanın giriş paneline izin verilir. Bu noktada girişte yapılan kimlik doğrulama sürecini atlatması veya giriş yapılmadan sızabilecek başka bilgiler üzerinden bulgular bulunması beklenir.
- 2.Yaklaşım: Test ekibine uygulama girişinde yapılacak kontrollere ek olarak bir de kullanıcı hesapları açılır. Test ekibi bu hesap üzerinden; yatayda veya dikeyde yetki aşımlarını zorlar. Önceki senaryoya göre kendine açılan ek girdi alanları ve özellikleri istismar ederek yetkisinden olmayan verilere ve fonksiyonlara erişmeye çalışır.
“1.Yaklaşım” senaryosunda karşılaşılan ürün özellikleri daha kısıtlı olduğu için test eforu ve buna bağlı olarak da maliyet açısından daha sınırlı rakamlar ortaya çıkar. Bu durumda çoğu zaman testi yaptıran tarafa bu yaklaşım daha cazip gelir.
Öte yandan özellikle birden fazla rolün ve hesabın geçerli olduğu uygulamalarda kullanıcıların uygulamaya giriş yaptıktan sonraki yetki aşımları ciddi bir risk doğurmaktadır.
Bu noktada bazen uygulama sahipleri kullanıcıların tamamının güvenilir olduğu varsayımı ile hareket edip buradaki riski göz ardı edebilir.
Ancak bu noktada, eğer kullanıcılardan birinin hesabı bir şekilde sızar ve ele geçirilirse bu varsayım geçersiz kalacak, saldırgan erişim sağladığı uygulamada yetki artırımlarını yaparak çok daha ciddi bir zararın ortaya çıkmasına neden olacaktır.
Sonuç olarak kullanıcı hesabı ile giriş yapılarak işlemlerin gerçekleştirdiği uygulamalarda, mutlaka giriş sonrası kısımlar için de test yapılmalıdır.