Uygulama Güvenliği Nedir?
İngilizce: Application Security
Yayın: · Son güncelleme:
Uygulama Güvenliği Nedir? Kısaca
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.

Uygulama güvenliği nedir?
Uygulama güvenliği, bir yazılımın saldırganlar tarafından kötüye kullanılamayacak şekilde geliştirilmesi ve korunmasıdır. Bankacılık uygulamasından bir restoranın sipariş sitesine kadar her yazılım bu kapsamdadır. Ağ ne kadar korunursa korunsun, uygulamadaki tek bir hata verilerin sızmasına yol açabilir.
Bu alan yalnız test aşamasıyla sınırlı değildir. Güvenlik, tasarım toplantısından yayından sonraki güncellemelere kadar sürecin her adımına yayılır.
Nasıl sağlanır?
Yaygın yöntemler birbirini tamamlar:
- Tehdit modelleme ile tasarım aşamasında riskleri belirleme
- Güvenli kodlama kurallarına uyma
- SAST ile kaynak kodu, DAST ile çalışan uygulamayı tarama
- Üçüncü taraf kütüphanelerdeki açıklar için bağımlılık taraması
- Yayından önce sızma testi
Örneğin bir giriş formunda kullanıcıdan gelen veri doğrulanmadan veritabanı sorgusuna eklenirse SQL enjeksiyonu riski doğar. Parametreli sorgu kullanmak bu sorunu kod yazılırken önler. Aynı hatayı yayından sonra düzeltmek çok daha maliyetlidir.
Nelere dikkat etmeli?
Açıkların önemli bir kısmı kendi kodunuzdan değil, kullandığınız hazır kütüphanelerden gelir. Bu yüzden bağımlılıkları güncel tutmak ve bilinen açıkları izlemek gerekir. Gizli anahtarların ve şifrelerin koda gömülmemesi de basit ama sık ihlal edilen bir kuraldır.
Geliştirici ekibin yılda en az bir kez güvenli kodlama eğitimi alması hataları kaynağında azaltır. Başlangıç noktası olarak OWASP Top 10 listesini ekipçe incelemek somut bir ilk adımdır.
Sıkça Sorulan Sorular
Uygulama güvenliği kimin sorumluluğudur?
Yalnız güvenlik ekibinin değil, geliştiricilerin, test uzmanlarının ve ürün sahiplerinin ortak sorumluluğudur. Güvenliğin sürecin başından itibaren ele alınmasına DevSecOps yaklaşımı denir.
SAST ile DAST arasındaki fark nedir?
SAST kaynak kodu çalıştırmadan inceler, DAST ise çalışan uygulamaya dışarıdan istek göndererek açık arar. İkisi farklı türde hataları yakaladığı için birlikte kullanılır.