İçeriğe geç
parazade

SAST Nedir?

Yayın: · Son güncelleme:

SAST Nedir? Kısaca

SAST (Static Application Security Testing), bir uygulamanın kaynak kodunu ya da derlenmiş kodunu çalıştırmadan inceleyerek güvenlik açıklarını arayan statik uygulama güvenliği testidir.

SAST nedir?
İçindekiler
  1. SAST nedir?
  2. Nasıl çalışır?
  3. SAST ne demek, pratikte nasıl kullanılır?
  4. Sınırları nelerdir?

SAST nedir?

SAST, "Static Application Security Testing" ifadesinin kısaltmasıdır. Türkçede statik uygulama güvenliği testi olarak geçer. Araç, kodu satır satır okur ve bilinen hatalı kalıpları arar. Uygulamanın çalışır durumda olması gerekmediği için geliştirmenin en erken aşamasında kullanılabilir.

Nasıl çalışır?

Araç kodu analiz ederek verinin nereden girip nereye gittiğini izler. Kullanıcıdan gelen bir değerin doğrulanmadan bir veritabanı sorgusuna ulaşması, tipik bir uyarı sebebidir. Koda gömülmüş şifreler, zayıf şifreleme algoritmaları ve tehlikeli fonksiyon kullanımları da raporlanır.

Bulgular genellikle dosya adı ve satır numarasıyla gelir. Geliştirici hatanın tam yerini gördüğü için düzeltme hızlanır.

SAST ne demek, pratikte nasıl kullanılır?

Gündelik dille SAST ne demek sorusunun cevabı "kodun güvenlik açısından otomatik okunması"dır. Ekipler aracı çoğunlukla iki yerde çalıştırır: geliştiricinin kod editöründe ve sürekli entegrasyon hattında.

Örneğin bir ekip, her birleştirme isteğinde SAST taramasını otomatik başlatır. Yüksek önem derecesinde bir bulgu çıkarsa birleştirme durur ve geliştirici sorunu düzeltmeden kod ana dala geçemez.

Sınırları nelerdir?

SAST, çalışma anında ortaya çıkan sorunları göremez. Sunucu yapılandırması, kimlik doğrulama akışındaki mantık hataları veya üçüncü taraf servislerle ilgili riskler bu yöntemle yakalanmaz. Araçlar yanlış alarm da üretebilir. Bu nedenle SAST'ı DAST ve bağımlılık taramasıyla birlikte kullanmak, ilk kurulumda da kurallarınızı ekibinizin diline göre ayarlamak iyi sonuç verir.

Sıkça Sorulan Sorular

SAST hangi programlama dillerini destekler?

Araca göre değişir. Yaygın araçlar Java, C#, JavaScript, Python ve Go gibi popüler dilleri destekler; kullanacağınız aracın dil listesini kontrol edin.

SAST ile kod incelemesi aynı şey mi?

Hayır. SAST otomatik bir taramadır. İnsan gözüyle yapılan kod incelemesi ise iş mantığındaki hataları ve tasarım sorunlarını da yakalayabilir; ikisi birbirini tamamlar.

İlgili terimler

DASTDAST (Dynamic Application Security Testing), çalışan bir uygulamayı dışarıdan, bir kullanıcı ya da saldırgan gibi test ederek güvenlik açıklarını bulmaya çalışan dinamik uygulama güvenliği testidir.Güvenli Kodlama(Secure Coding)Güvenli kodlama, yazılımı geliştirirken enjeksiyon, yetki hatası ve veri sızıntısı gibi güvenlik açıklarının oluşmasını baştan önleyen yazım alışkanlıkları ve ilkeler bütünüdür.Bağımlılık Taraması(Software Composition Analysis)Bağımlılık taraması (SCA), bir yazılımın kullandığı açık kaynak kütüphaneleri ve paketleri listeleyip bunlarda bilinen güvenlik açıkları veya lisans sorunları olup olmadığını kontrol eden analizdir.Uygulama Güvenliği(Application Security)Uygulama güvenliği, web, mobil ve masaüstü uygulamalarının tasarım, geliştirme, test ve yayın aşamalarında güvenlik açıklarından arındırılması ve yayından sonra da korunması için uygulanan yöntemlerin bütünüdür.Şifreleme(Encryption)Şifreleme, okunabilir veriyi bir algoritma ve anahtar kullanarak yetkisiz kişilerin anlayamayacağı bir biçime dönüştüren ve yalnızca doğru anahtarı bilenin eski hâline getirebildiği veri koruma yöntemidir.Kimlik Doğrulama(Authentication)Kimlik doğrulama, bir sisteme bağlanan kişinin ya da cihazın iddia ettiği kişi veya cihaz olduğunu şifre, doğrulama kodu, parmak izi gibi yöntemlerle kanıtlama sürecidir. İngilizcede authentication olarak geçer.