Uygulama Güvenliği süreçlerinde zafiyetleri erken aşamada tespit etmek ve önlem almak çok önemlidir. Yazılım Geliştirme Yaşam Döngüsü’nde (SDLC) ve DevSecOps süreçlerinde Shift Left olarak geçen bu kavram, zafiyetlerin erken tespit edilmesi ile proje risk ve maliyetinin düşürülmesini hedefler. Uygulama Güvenliği’nin en önemli süreçlerinden biri olan Statik Kod Analizi (SAST) aşamasında da Shift Left kavramı çok önemlidir ve bu kavramı destekleyecek teknolojik imkanlar bulunmaktadır.
Bu yazıda, SAST süreçlerinde destek verdiğimiz Fortify SCA ürünü ve Visual Studio IDE’si üzerinden örnek bir uygulamadan bahsedecek, Visual Studio Fortify extensionlarını inceleyeceğiz.
Visual Studio için Fortify’ın 3 farklı extensionı bulunmaktadır. Bunlar:
Fortify Security Assistant for Visual Studio: Yazılımcı kod geliştirirken anlık güvenlik bildirileri veren ve açıklıkları gösteren extensiondır.
Fortify Extension for Visual Studio: Kodlama tamamlandıktan sonra Visual Studio üzerinden statik kod analizi taraması tetiklemek, zafiyetleri analiz etmek ve sonuçları Software Security Center’a yüklemek için kullanılan extensiondır.
Fortify on Demand Extension for Visual Studio: Fortify’ın SAST için kullanılan Cloud platformudur. Bu yazıda kapsam dışında bırakılmıştır.
Bu yazıda iletilen bilgiler ve görseller için Visual Studio 2022 Community kullanılmıştır.
Extensionları listelemek için VS 2022’de Extensions –> Manage Extensions tıklanarak Browse alanına Fortify yazılır ve arama yapılır. Yapılan arama neticesinde yukarıda bahsettiğimiz üç extension görülecektir.
Fortify Extensionları
Browse ekranında ilk iki extension için install tıklandıktan sonra Visual Studio uygulaması kapatılır ve yükleme gerçekleşir.
Extensionların Yüklenmesi
VS tekrar açıldıktan sonra Extensions alanında Fortify ve Fortify Security Assistant görülebilir.
VS Ekranında Fortify Extensionları
VS kurulu olan istemciye veya sunucuya SCA uygulaması yüklendikten ve bazı ayarlar (lisans yükleme vb.) yapıldıktan sonra projeler analiz edilebilir.
Security Assistant Bulguları
Zafiyet Detayları
Security Assistant Ekranı
Security Assistant, derleme yapmadan kod üzerinde analiz gerçekleştirdiğinden zafiyetlerin tamamını gösteremez. Yazılımcıların kodlama sırasında görebilecekleri bazı zafiyetler gösterilir ve zafiyetlerin düzeltilmesine yönelik bilgiler içerir.
Fortify Extension ise daha komple bir çözümdür. Proje derlenebilir hale geldikten sonra build alınarak tarama işlemi gerçekleştirilir. Bu yüzden projede bulunan bütün zafiyetlerin tespit edilmesi beklenir.
Fortify Extension Üzerinden SCA ile Analiz
Yapılan tarama sonucunda Analysis Results ekranında zafiyetler görüntülenir.
Analiz Ekranı
Görüntülenen zafiyetlere ilişkin bütün detaylar (Remediation, Audit, Diagram, History vb.) bu extension vasıtasıyla IDE’de görüntülenebilir.
Analiz Ekranı ve Zafiyetlerin Yorumlanması
Örnek Bir Bulguya İlişkin Diyagram Ekranı
Recommendations ekranı bulgunun nasıl düzeltileceğine ilişkin detaylı bilgiler içerir.
Remediations Ekranı
Tespit edilen zafiyetler, Fortify SAST ürününün merkezi yönetim konsolu olan Software Security Center’a yüklenir. Böylece sonuçlar SSC üzerinden de analiz edilebilir.
Sonuçların SSC Portalına Yüklenmesi
Sonuçların SSC Portalına Yüklenmesi
SSC’de Projeye İlişkin Zafiyetlerin Görüntülenmesi
SSC’de Zafiyetlerin Analiz Edilmesi
Analiz Edilen ve Yorumlanan Bulgulara İlişkin History Ekranı
Bu yazıda Fortify Extension’ları kullanılarak örnek bir IDE ekranında projelerin taranması ve zafiyetlerin analiz edilmesini incelemiş olduk.