Neden kaynak kod analizi yapmalıyız?

kaleileriteknoloji
2 min readAug 11, 2021

Neden kaynak kod analizi yapmalıyız?

Bir web uygulamasını üç yöntemle güvenlik açıklarının tespit edilmesini sağlayabiliriz.

Bunların ilki web zafiyet taraması yaparak güvenlik açıklıkların tespit edilmesini sağlayabiliriz. Bu yöntemde Acunetix, Netsparker, Vega, Nikto, Burp Suite Professional, Appscan, vb. araçlar kullanılabilir. Bu araçlar veritabanlarındaki zafiyet ve bu zafiyeti tespit etmek için kullanılan payload listeleri kadar detaylı sonuç çıkarabilirler.
False pozitif sonuçlar web zafiyet taramasında sıklıkla karşımıza çıkmaktadır.

Güvenlik açıklıklarının tespit edilmesinde kullanılan ikinci yöntemde ise web sızma testi yapılması olacaktır. Bu yöntemde ise web zafiyet taramalarına ek olarak sızma testi uzmanının deneyimi ile yapılan manuel kontrollerle zafiyetler tespit edilebilecektir. Web sızma testinde uygulamaya göre (farklı rollere göre, sızma testi çeşidine göre) adam/gün’ün doğru bir şekilde belirlenerek sızma testi yapılmalıdır. Ayrıca sızma testi bir yılda birden fazla yapılıyorsa uygulamaya farklı kişilerin bakması farklı zafiyetlerin tespit edilmesini sağlayabilir.

Üçüncü yöntem ise kaynak kod analizi yapılmasıdır. Bu yöntemde kaynak kod Fortify vb. bir araç yardımı ile girdilerden çıktılara kadar bir ağaç oluşturarak; bu ağaç yapısında ilgili zafiyetlere yol açan fonksiyon ve komutlar regex veya farklı yöntemlerle tespit edilmesi ve raporlanması sağlanacaktır. Kaynak kod analizi zafiyete sebep olan kod parçacığına odaklandığı için web zafiyet taraması ve web sızma testine göre daha efektiftir.

En efektif şekilde web uygulamasında güvenlik açıklıkların tespiti için uygulama geliştirirken periyodik olarak kaynak kod analizi yapılmalı ve ilgili zafiyetlerin kapatılması sağlanmalıdır. Uygulama canlıya çıkmadan test sunucusunda önce ise web sızma testinin yapılmalıdır. Uygulamada minimum kritik ve yüksek seviyedeki zafiyetler kapatıldıktan sonra canlıya çıkması planlanmalıdır.

Bu yazı dizimizde manuel olarak kaynak kod analizini nasıl yapabiliriz sorusuna cevap arayacağız.

Yazı dizimizdeki diğer yazılar:

Manuel Kaynak Kod Analizinde SQL Injection Zafiyetinin Tespit Edilmesi
Manuel Kaynak Kod Analizinde Command Injection Zafiyetinin Tespit Edilmesi
Manuel Kaynak Kod Analizinde File Upload Zafiyetinin Tespit Edilmesi
Manuel Kaynak Kod Analizinde XSS Zafiyetinin Tespit Edilmesi ve Kapatılmasına Ait Öneriler
Manuel Kaynak Kod Analizinde File Inclusion Zafiyeti Tespiti

--

--