Statik Kod Analizi Nedir |
Uygulama sızma testleri bağlamında statik kod analizini whitebox testi olarak da değerlendirebiliriz.
Tıpkı dinamik pentestlerde olduğu gibi statik kod analizinde de otomatik araçlar ve manuel yöntemler birlikte kullanılır.
STATİK KOD ANALİZİ ve PENTEST İLİŞKİSİ
Statik kod analizi ve dinamik pentesti birbirlerinin alternatifi olmaktan ziyade birbirlerinin tamamlayıcısı olarak görmek gerekir. Test yöntemi olarak her ikisinin de birbirlerine nazaran avantajları olduğundan,iki test türünün de uygulanması güvenlik seviyesini artıracaktır.
Statik Kod Analizi'nin Dinamik Pentest'e Göre Avantajları |
Dinamik pentest sırasında tüm kullanım durumları ve dolayısıyla tüm kod bölümlerinin davranışı gözlenemeyebilir. Bu nedenle dinamik pentestler sırasında bazı açıklıkların gözden kaçırılması olasıdır. Statik kod analiziyle bu eksikliklerin kapatılması imkanı doğabilir.
Dinamik pentest çalışmalarının sağlıklı biçimde yapılabilmesi için uygulamanın tamamlanmış olması ve yeterli test verisinin bulunması gerekmektedir. Statik kod analizinde ise böyle bir ihtiyaç bulunmadığı için statik kod analizleri yazılım geliştirme yaşam döngüsünün daha önceki aşamalarında gerçekleştirilebilir. Bu da açıklıkların daha önce tespit edilebilmesi ve dolayısıyla daha düşük maliyetle bu açıklıkların giderilebilmesine imkan tanır.
Yazılım geliştirme sırasında hemen ortaya çıkmasa bile uzun vadede güvenlik açıklıkları doğurabilecek hatalar yapılabilir. Örneğin kod içinde hardcoded erişim bilgilerinin bulunması, hata doğurabilecek durumlar için hata ele alma kodlarının geliştirilmemiş olması, uygulama kodları içinde hassas bilgileri ifşa edebilecek debug loglama bölümlerinin kalması, kullanıcı parolalarının açık olarak veritabanında saklanması bu tür uygunsuzluklar arasında sayılabilir. Statik kod analizi ile pentest ile tespit edilemeyecek bu tür güvenli yazılım geliştirme uygunsuzlukları tespit edilebilir.
SOURCE (KAYNAK) VE SINK (HEDEF) KAVRAMLARI
Source ve Sink Kavramları |
Statik kod analizinde kullanılan araçlar uygulamanın veriyi aldığı girdi noktasından ulaştığı hedef noktasına kadar izini sürebilir. Bunu yaparken verinin herhangi bir validasyona tabi tutulmadığını tespit ederse bulgu üreterek test uzmanının işini kolaylaştırmış olur. Elbette bu işlemi manuel olarak da yapmak mümkündür, ancak otomasyon imkanı varsa bunu da kullanmak akıllıca olacaktır.
BTRisk pentest hizmetleri ile ilgili daha fazla bilgi almak ve BTRisk'e ulaşmak için aşağıdaki sayfaları ziyaret edebilirsiniz:
https://www.btrisk.com/hizmetler/pentest-sizma-testi-hizmeti/
https://www.btrisk.com/iletisim/