Aikido
Uygulama Güvenliği Terimler Sözlüğü

SAST & DAST

SAST, uygulamanız çalışmadan önce kodunuzdaki güvenlik açıklarını kontrol ederken, DAST ise uygulamanız çalışırken ortaya çıkan sorunları gerçek zamanlı olarak tespit etmek için test eder.

İkisini birlikte kullanmak, geliştirme aşamasından dağıtım aşamasına kadar güvenlik sorunlarını tespit etmeye yardımcı olur ve uygulamanızın güvenli olmasını sağlar. Hadi konuyu daha ayrıntılı inceleyelim.

SAST ve DAST: Bilmeniz gerekenler

Demek SAST ve DAST arıyorsunuz. Ya da SAST ve DAST araçlarının ne olduğunu anlamaya çalışıyorsunuz.

Statik Uygulama Güvenlik Testi (SAST) ve Dinamik Uygulama Güvenlik Testi (DAST), yazılımdaki güvenlik açıklarını tespit etmeye yardımcı olan, uygulama güvenliği alanında iki temel yöntemdir. 

En önemli farklar nelerdir? Bunları birlikte nasıl kullanabilirsiniz? Bunlara ihtiyacınız var mı? Doğru yerdesiniz. Hadi konuyu derinlemesine inceleyelim.


Ama önce, özet: 

Özetle: SAST (Statik Uygulama Güvenlik Testi), uygulamanız çalışmaya başlamadan önce kodunuzda güvenlik açıkları olup olmadığını kontrol ederken, DAST (Dinamik Uygulama Güvenlik Testi) ise uygulamanız çalışırken test yaparak gerçek zamanlı olarak ortaya çıkan sorunları tespit eder.

SAST, kodunuzu inceleyen uzman bir yazılım geliştiriciye benzer; DAST ise sisteme sızmaya çalışan bir hacker'a benzer.

İkisini birlikte kullanmak, geliştirme aşamasından dağıtım aşamasına kadar güvenlik sorunlarını tespit etmeye yardımcı olur ve uygulamanızın güvenli olmasını sağlar. Biraz reklam yapalım: SAST ve DAST arıyorsanız, bize bir göz atın. Biz sizin arkanızdayız, böylece siz de geliştirmeye devam edebilirsiniz.

SAST nedir?

SAST (Statik Uygulama Güvenlik Testi), bir uygulamanın kaynak kodunu statik veya çalışmıyor durumda analiz eden bir test yöntemidir. Bu, bir “beyaz kutu” test tekniğidir.


SAST, geliştiricilerin kod geliştirme veya kod inceleme aşamaları gibi yazılım geliştirme döngüsü (SDLC) sürecinin erken aşamalarında güvenlik açıklarını tespit etmelerine olanak tanır. SAST araçları, CI/CD boru hatlarına ve IDE’lere kolayca entegre edilebilir; böylece kodunuzu yazılırken güvenli hale getirebilir ve değişiklikleri depoya kaydetmeden önce kodunuzu tarayabilirsiniz.

SAST, SQL enjeksiyonu, siteler arası komut dosyası çalıştırma (XSS), sabit kodlanmış kimlik bilgileri ve diğer OWASP Top 10 güvenlik açıkları gibi zafiyetleri tespit edebilir. Aikido SAST gibi SAST araçları, kodunuzu tarayarak National Vulnerability Database (NVD) gibi bilinen güvenlik açıkları veritabanlarıyla karşılaştırır.

Şöyle düşünün: SAST, bir uzmanın kodunuzu en ince ayrıntısına kadar inceleyip, tespit ettiği sorunlar hakkında size anında geri bildirim vermesi gibidir.

Bununla birlikte, SAST’ın sınırları vardır ve yapılandırma hataları veya çalışma zamanı bağımlılıkları gibi çalışma zamanı veya ortama özgü güvenlik açıklarını tespit etmek için kullanılamaz. Kod taraması yapmak için, kullandığınız programlama dilini destekleyen bir SAST aracı seçmeniz gerekir.

Bunun önemi nedir? Bu erken tespit, geliştiricilerin uygulama devreye alınmadan önce sorunları gidermelerine olanak tanıdığı için hayati önem taşır; böylece sorunların erken aşamada çözülmesi daha kolay ve daha az maliyetli hale gelir. SAST, proaktif bir güvenlik yaklaşımıdır ve gelecekte hem zamandan hem de baş ağrısından büyük ölçüde tasarruf sağlayabilir.

DAST nedir?

DAST (Dinamik Uygulama Güvenlik Testi), bir uygulamayı çalışır durumdayken değerlendiren bir test yöntemidir

SAST, kaynak kodunuzun içini incelerken, DAST ise kaynak koduna erişim gerektirmez. Bunun yerine, DAST, uygulamalarınızın güvenliğini test etmek için dışarıdan bir yaklaşım benimser. DAST, tıpkı bir hackerın yapacağı gibi uygulamaya yönelik saldırıları simüle eder. Bu, bir “kara kutu” tekniğidir.

DAST, web uygulamasının yüzeyini veya ön ucunu test ettiği için “yüzey izleme” olarak da adlandırılabilir. DAST araçları, kullanıcı arayüzü aracılığıyla uygulama ile etkileşime girer; çeşitli girdileri test eder ve çıktıları gözlemleyerek kimlik doğrulama sorunları, sunucu yapılandırma hataları ve diğer çalışma zamanı güvenlik açıkları gibi zafiyetleri tespit eder. DAST, çalışma zamanında çalıştığı için, DAST testlerinin anlamlı olabilmesi için önce çalışan bir uygulamaya ihtiyacınız vardır; bu da genellikle ön üretim ve üretim aşamalarında gerçekleşir.

DAST, harici olarak çalıştığı ve uygulamanıza bağlanmak için HTTP gibi standart protokolleri kullandığı için, SAST’ın aksine belirli bir programlama diline bağlı değildir.


Bu neden önemlidir? Bu yöntem, dağıtım öncesinde tespit edemediğiniz sorunları ortaya çıkarmak açısından önemlidir. DAST, farklı hata kategorilerini kapsar. DAST, uygulama çalışır durumdayken ortaya çıkan riskleri tespit eder; örneğin sunucu veya veritabanı yapılandırma hataları, yetkisiz erişime imkân veren kimlik doğrulama ve şifreleme sorunları ya da uygulamanızın bağlandığı web hizmetlerinden kaynaklanan riskler gibi.

SAST ve DAST’ın Birlikte Kullanımı

SAST ve DAST’ın birlikte kullanılması tavsiye edilir. SAST ve DAST’ı bir araya getirmek, yazılım geliştirme yaşam döngüsü boyunca geniş bir kapsama alanı sağlar. SAST ile erken aşamada önlem alın ve daha sonra DAST ile gerçek ortamda dayanıklılığı garanti altına alın. Bu kombinasyon, ekiplerin güvenlik açıklarını çeşitli aşamalarda ele almasına olanak tanır ve sonuçta daha güvenli uygulamalar ortaya çıkar.

Ücretsiz olarak başlayın

GitHub, GitLab, Bitbucket veya Azure DevOps hesabınızı bağlayarak depolarınızı ücretsiz olarak taramaya başlayın.

Ücretsiz Başlayın
Verileriniz paylaşılmayacaktır · Yalnızca okuma erişimi