Blackbox Penetrasyon Testi-1

Kara kutu (blackbox) penetrasyon testi, test altındaki sistem hakkında genellikle hiç bilgi sahibi olunmadan veya sınırlı bir bilgiye sahip olunduğunda yada kaynak koda erişimin olmadığı durumlarda kullanılır.

Kara kutu güvenlik testleri web sayfalarının yayınlanmasından önce potansiyel güvenlik açıklarını gidermek ve teşhis etmek yada yayınlanmış sistemler içerisindeki güvenlik sorunlarını gidermek  ve teşhis etmek için yürütülür.

Kara kutu test araçlarının önemli bir kısmı uygulama güvenliği ile ilgili sorunlara odaklanmıştır. Bunlardan bazıları:

•input checking and validation (giriş kontrol ve doğrulama)

•SQL insertion attacks (Sql ekleme atakları)

•injection flaws (enjeksiyon hataları)

•session management issues (Oturum yönetimi sorunları)

•cross-site scripting attacks (Siteler arası komut saldırıları)

•buffer overflow vulnerabilities (Hafıza Taşması güvenlik açıkları)

•directory traversal attacks

Güvenlik araçları geliştiren ve açık kaynak toplulukları tarafından dağıtıcıların bazıları şunlardır: Open Web Application Security Project (OWASP), Cenzic, HP (formerly SPI Dynamics), NT Objectives, IBM (formerly Sanctum), ve diğerleri.

Kara kutu test faaliyetleri neredeyse evrensel araçlarının kullanımı ile bir sistem içinde potansiyel güvenlik açıklarını tespit etmeye yardımcı olmaktadır.

Network güvenlik test araçları firewall, server  ve router gibi erişilebilir cihazları test etmeye odaklanmıştır. Network Güvenlik araçları genel olarak tüm aktif cihazlara, hostlarda çalışan servisler ve bu servislerde çalışan her bir uygulamayı belirlemek için port taramasıyla başlar.

Bazı network tarama araçları açık tarama fonksiyonunu da gerçekleştirir. Potansiyel açıklıklar güvensiz servislere erişime izin verilen, zayıf uygulama yada konfigürasyondan kaynaklanan açıklıklara ilgili uygulamalar  ve işletim sistemlerinin kullanılmasından kaynaklanmaktadır. Herbir açık saldırgan tarafından sistemlere yada kaynaklara yetkisiz erişim kazandırmasını sağlayabilecek bir olanak sağlar.

Database Güvenlik test araçları sistem database’nde açıkları tanımlamaya odaklanmıştır. Bunlar database Güvenlik parametrelerinin yanlış konfigürasyonunun yada database erişimde kullanılan iş mantığının uygunsuz uygulanmasının sonucu olabilmektedir. Bu açıklar database’deki hassas datanın değiştirilmesi veya açıklanmasıyla veya çalınmasıyla sonuçlanabilir. Database tarama araçları genellikle ağ güvenliği veya web Uygulama güvenliği araçları içerisinde bulunabildiği gibi artık database’lere özel çeşitli güvenlik araçları da kullanılmaya başlanmıştır.

Web Uygulama güvenliği araçları internet üzerinden erişilen uygulamaların içerisindeki güvenlik sorunlarının altını önemle çizmektedir. Network Güvenlik araçlarının aksine Uygulama güvenlik araçları genellikle açıkları tanımlamaya aynı zamanda tcp/80 (http) ve tcp/443 (https) portları üzerinde uygulanan uygulamalar içerisinde anormal davranışlara odaklanmıştır. Bu bağlantı noktaları web sunuculara erişim için geleneksel olarak firewall’lar üzerinde izin verilir.

BT yöneticileri ve Güvenlik uzmanları network içerisinde firewall ve diğer Güvenlik cihazlarını kurmayı ve yönetmeyi aynı zamanda Yazılım açıklarına karşı Güvenlik yamalarını yönetmeyi öğrenmişlerdir. Aynı zamanda, saldırganlar ve Güvenlik uzmanları web tabanlı uygulamalar içerisinde Güvenlik açıklarına yeni bir sınıf daha belirlediler. Bu Güvenlik açıklarının yeni sınıfı firewall tarafından kontrol edilenememekle birlikte Uygun Yazılım dizaynı ve uygulamasıyla adreslenebilir. Gartner grup raporunda web tabanlı ataklarının %75’i açık web Uygulama portları tcp/80 ve tcp/443 portlar üzerinden gerçekleştiğini göstermektedir.  Sonuç olarak, web tabanlı uygulamalar saldırgınlara yazılımın bir açığını avantaja çevirmeye izin vermeyecek şekilde bir davranışta dizayn edilmelidir. Bu açıklardan bazıları şunlardır:

•improper input validation (Yanlış girdi doğrulama)

•parameter injection and overflow (Parametre enjecsiyon ve taşması)

•SQL injection attacks

•cross-site scripting vulnerabilities

•cross-site request forgeries

•directory traversal attacks

•buffer overflows (arabellek taşmaları)

•inappropriate trust (i.e. istemci tarafı –Uygunsuz güven)

•poor session management (kötü oturum yönetimi)

•improper authorization and access control mechanisms (Uygunsuz yetkilendirme ve erişim kontrol mekanizmaları)

Uygulama güvenliği test araçları ticari ve kişisel web uygulamalarının içerisinde potansiyel Güvenlik açıklarını teşhis etmeye yardımcı olmak için kullanılabilir. Yazılım geliştiriciler web tabanlı uygulamaların daha evvelki dağıtımlarını test etmek için Uygulama Güvenlik araçlarını kullanmalıdır.

Bu araçların bazıları organizasyon Güvenlik politikalarını geliştirmek ve zorlamak için yetenekler içerdiği gibi bazılarında özel roller oluşturmak, Uygulama Güvenlik testleri zamanlanarak otomatik olarak yaptırmak ve/veya sıfır gün ataklarına karşın geniş kapsamlı açıklık database’leri  gibi çok yönlü fonksiyonlar içermektedir.

 

Bu araçlar açık kaynak toplulukları ve ticari şirketler tarafından geliştirilir ve sunulur. Daha once belirtildiği gibi kara kutu test araçları çeşitli test alanlarına odaklanmaktadır.

Ticari Araçlar

Aşağıda karakutu Güvenlik testlerinde kullanılabilecek bazı ticari araçlara örnektir.

Cenzic Hailstorm

Internet Security Scanner IBM (formerly Internet Security Systems)

NTOSpider NT Objectives

Appscan IBM (formerly Watchfire and Santum)

Security Innovation (Holodeck)

WebInspect, DevInspect HP (formerly SPI Dynamics)

Açık Kaynak/Ücretsiz Yazılım

Aşağıda karakutu Güvenlik testlerinde kullanılabilecek bazı açık kaynak araçlara örnektir.

Nikto

Odysseus

WebScarab OWASP

Paros Proxy

SPIKE

Araç Seçimi

Kara kutu test aracı seçilmesi bu alanda ticari ve açık kaynak projelerinin çokluğu nedeniyle zor bir görevdir. Özel uygulamalarınız ve organizasyonunuz için bir Yazılım seçmeden once aşağıdaki konuları düşünmeniz gerekir:

•test coverage and completeness (Test kapsamı ve bütünlüğü)

•accuracy or “false-positive” rate (doğruluğu yada yanlış-pozitif oranı)

•capacity and “freshness” of vulnerability database (Kapasite ve database açıklığının  güncelliği)

•ability to create custom tests (özel testler oluşturma yeteneği)

•ease of use (Kullanım kolaylığı)

•reporting Capabilities (Rapaorlama yeteneği)

•cost  (Maliyet)

Not: Bir sonraki yazımda kara kutu penetrasyon testinde kullanılan teknolojiler ve değerlendirme kriterlerinde bahsediyor olacağım. 

Yazar: Cüneyt BERGEL

Konuyla İlgili Diğer Yazılar

Leave a Reply