Giriş:
Ağları, cihazları ve istatistikleri resmî olmayan erişimden veya yasa dışı kullanımdan koruma becerisi siber güvenlik olarak bilinir. Aynı zamanda bilginin gizliliğini, bütünlüğünü ve erişilebilirliğini sağlamanın bir yoludur. Program Güvenliği, uygulama içindeki verileri koruduğu ve yetkisiz kullanıcıların erişmesini önlediği için Siber güvenliğin temel bir parçasıdır.
Uygulama güvenliği, uygulamaları ve protokolleri korumak için uygulama işlevselliğini ve kullanım yöntemlerini, uygulamadaki veri akışını, iş mantığını, erişim kısıtlamalarını ve yetkilendirme sorunlarını belirlemeye odaklanır. Uygulamanın geliştirme aşamasında belirlenen Güvenli Uygulama Geliştirme Yönergelerini izlemek, uygulama güvenliğinin önemli bir parçasıdır. Örneğin, özel iş uygulamalarının kötü amaçlı yazılımlara maruz kalmamasını sağlamak için geliştiricilerin güvenli uygulama geliştirme metodolojilerini benimsemesi gerekir.
Uygulama güvenliği nedir?
Uygulama uyumluluğu, uygulamaları yetkisiz erişim ve değiştirme gibi tehditlerden korumak için güvenlik protokollerini oluşturma, karıştırma veya entegre etme ve değerlendirme uygulamasıdır.
Uygulama güvenliği neden önemlidir?
Günümüzde uygulamalara genellikle çok sayıda ağ üzerinden erişilebildiği ve buluta bağlandığı için güvenlik tehditlerine ve ihlallerine çok daha açıktırlar. Açıkları bulmak ve onarmak, güvenlik risklerini azaltarak bir kuruluşun genel saldırı yüzeyini küçültmeye yardımcı olur.
Yazılımlardaki güvenlik açıkları sıktır. Kritik olmayan açıklar bile, hepsi önemli olmasa da saldırı zincirlerinde kullanılmak üzere bir araya getirilebilir. Güvenlik kusurlarının ve açıklarının sayısını azaltmak, saldırıların toplam etkisini hafifletmeye yardımcı olur.
Tepkisel güvenlik çözümlerine güvenmek yerine uygulama güvenliğine proaktif bir yaklaşım benimsemek tercih edilir. Proaktif savunucular saldırıları daha erken, bazen herhangi bir zarar verilmeden önce algılayıp etkisiz hâle getirebilir.
Şirketler verilerinin, kodlarının ve operasyonlarının daha fazlasını buluta taşıdıkça, bu varlıklara yönelik saldırıların sayısının artacağı kesindir. Bu tür saldırılar, uygulama güvenliği mekanizmaları uygulanarak azaltılabilir.[1]

Uygulama güvenliği nasıl çalışır?
Yazılım geliştirme döngüsü boyunca ve uygulama ömrü boyunca güvenlik prosedürlerinin iyileştirilmesi, güvenlik önlemlerine örnektir. Tüm uygulama güvenliği işlemleri, kötü niyetli kişilerin sistemlere, uygulamalara veya verilere yetkisiz erişim sağlamasını engellemelidir. Uygulama güvenliğinin nihai amacı, saldırganların hassas veya tescilli verilere erişmesini, bunları değiştirmesini veya silmesini önlemektir.
Uygulama güvenliğini garanti altına almak için atılan her adıma önlem veya güvenlik kontrolü denir. Ulusal Standartlar ve Teknoloji Enstitüsü'ne (NIST) göre: "Bir kanıt sisteminin veya kuruluşun, kanıtının gizliliğini, güvenilirliğini ve erişilebilirliğini korumak ve belirlenmiş bir güvenlik standartları kümesini karşılamak için önerilen bir koruma veya önlem."
Uygulama güvenlik duvarı, bir tür yazılım önlemidir. Kurulu uygulamaya göre güvenlik duvarları dosyaların nasıl çalıştırılacağını ve verilerin nasıl yönetileceğini belirler. En sık kullanılan donanım önlemi yönlendiricilerdir. Tek bir bilgisayarın İnternet Protokolü (IP) adresinin internette doğrudan görüntülenmesini engellerler.
Aşağıdakiler bazı ek önlemlerdir:
- Standart engeller
- Şifreleme ve şifre çözme için programlar
- Virüsten koruma yazılımı
- Casus yazılımlar için algılama ve temizleme uygulamaları
- Biyometri kullanan kimlik doğrulama sistemleri
Uygulama güvenliği türleri nelerdir?
Şifreleme, kimlik doğrulama, günlük tutma, yetkilendirme ve uygulama güvenliği testi uygulama güvenliği yapılarına örnektir. Tasarımcılar ayrıca uygulamalardaki güvenlik kusurlarını hafifletmek için kod da kullanabilir.
Şifreleme: Hassas verilerinizi yetkisiz kişilerden korumak için. Veriler, yetkisiz veya suç amaçlı kullanıma karşı güvende kalması için şifrelenir.
Kimlik doğrulama: Yazılım geliştiricilerin, yalnızca meşru operatörlerin programa erişebildiğinden emin olmak için programda kullandığı araçlara değinir. Doğrulama, operatörün söylediği kişi olup olmadığını kontrol eder. Bu, bir uygulamada oturum açarken kullanıcıdan bir operatör adı ve parola istenerek yapılabilir. Kimlik doğrulama, bildiğiniz bir şey (parola), olduğunuz bir şey (kimliğiniz) (parmak izi veya yüz tanıma) ve sahip olduğunuz bir şey (mobil cihaz) gibi unsurları birleştirir.
Günlük tutma: Bir uygulamanın güvenliği ihlal edilirse, günlük tutma verilere kimin eriştiğini ve bunu nasıl yaptığını kontrol etmeye yardımcı olabilir. Programın hangi bölümlerine kim tarafından erişildiğinin izi uygulama günlük dosyalarında tutulur.
Yetkilendirme: Bir operatörün kimliği doğrulandıktan sonra, programa girme ve onu çalıştırma izni verilebilir. Sistem, kullanıcının kimliğini onaylı kullanıcılar listesiyle ilişkilendirerek çalışanın programa erişme yetkisine sahip olduğundan emin olabilir. Programın yeni doğrulanmış kullanıcı adlarını ve parolaları onaylı kullanıcı listesiyle eşleştirebilmesi için kimlik doğrulama yetkilendirmeden önce gerçekleşmelidir.
Uygulama güvenliği testi: test, tüm bu güvenlik politikalarının yürürlükte olduğundan ve etkili biçimde çalıştığından emin olmanın hayati bir adımıdır.[2]
Uygulama güvenlik kontrolleri nelerdir?
Uygulama güvenlik kontrolleri, kullanıcının derlenmiş kodunun güvenliğini artırmaya ve saldırganlara maruz kalmasını azaltmaya yönelik tekniklerdir. Bu seçeneklerin çoğu, programın bir bilgisayar korsanının istismar etmeye çalışabileceği olağandışı girdilere nasıl tepki verdiğiyle ilgilidir. Bir programcı, beklenmedik girdilerin nasıl ele alınacağı üzerinde daha fazla kontrol sağlayan bir uygulama kodu oluşturabilir. Fuzzing, yaratıcıların beklenmedik değerlerin veya girdilerin sonuçlarını inceleyerek hangilerinin programın beklenmedik biçimde davranmasına neden olduğunu ve belki bir güvenlik açığını ortaya çıkardığını gördüğü bir tür uygulama güvenliği testidir.
Uygulama güvenliğinin avantajları nelerdir?
- Her iki olası tehdidin tehlikesini azaltır.
- Haberlerde yer almadığını göstererek markanın imajını güçlendirir.
- Tüketici verileri güvende tutulur ve tüketici sadakati artar.
- Hassas bilgilerin sızdırılmasını önler.
- Önemli yatırımcıların ve borç verenlerin güvenini artırır.
- Loshin, P. uygulama güvenliği. Şuradan ulaşılabilir: https://searchsoftwarequality.techtarget.com/definition/application-security.
- Uygulama Güvenliği Nedir?; Şuradan ulaşılabilir: https://www.vmware.com/topics/glossary/content/application-security.html.
Yaygın uygulama güvenlik açıkları
- Enjeksiyon (SQL, komut): güvenilmeyen girdi, bir sorgunun anlamını değiştirir.
- Bozuk kimlik doğrulama: zayıf parolalar veya oturum yönetimi.
- Bozuk erişim kontrolü: kullanıcılar kendilerine ait olmayan verilere ulaşabilir.
- Siteler arası betik çalıştırma (XSS): kötü amaçlı betikler bir ziyaretçinin tarayıcısında çalışır.
- Güvenlik yanlış yapılandırması ve güncel olmayan bileşenler.
OWASP Top 10, en kritik web uygulaması risklerinin standart listesidir.
En iyi uygulamalar
- Girdileri doğrulayın ve parametreli sorgular kullanın.
- Parolaları doğru şekilde özetleyin (hash) ve çok faktörlü kimlik doğrulama sunun.
- Yalnızca arayüzde değil, sunucuda da en az ayrıcalık erişim kontrolü uygulayın.
- Kütüphaneleri ve çerçeveleri güncel tutun.
- Test: kod incelemesi, otomatik tarama ve periyodik sızma testleri.
- Kaydedin ve izleyin.
Bu uygulamalarla, ilk kod satırından itibaren güvenli web ve mobil uygulamalar geliştiriyoruz.
More about application security
Want to go further with application security? These Netstech guides and services are a good next step:



