Web Uygulamalarında Güvenli Kodlama Pratiklerinin Teşvik Edilmesi

Güvenlik, her boşluğu kapatırken büyük resmi görmektir, bu nedenle etkili olabilmek için güvenli kodlama pratiklerinin şirket kültürüne derinlemesine nüfuz etmesi gerekir.

Özetle;

Güvenli Kodlama Pratikleri’ni yapılması gerekenler listesi olarak görmek çoğu zaman kaçınılmazdır. Hatta bu amaç için takip edebileceğiniz bir kaynak bile var: OWASP Secure Coding Practices Quick Reference Guide.

Fakat buradaki problem, kod geliştiricilere bir kontrol listesi vererek uygulamanın güvenlik kriterini karşılayacağına inanmaktır. Her geliştirme ortamı, ortak görevler için seçilmiş bir dizi itimatlı, güvenli ve güncel bileşenler içermelidir, böylece kod geliştiricilerin tekerleği yeniden icat etmesine gerek kalmaz. Güvenli kodlama yaklaşımınız, framework ve programlama dilleri seçiminize bağlı olarak farklılık gösterecektir. Tüm modern high-level programlama dilleri belirli bir ölçüde belirli low-level zafiyetleri engellemektedir. Dolayısı ile tüm bu diller, geliştiricilerin bilmesi ve sürekli kullanması gereken kapsamlı ve olgun standart kitaplıklara sahiptir. Burada altın kural sadece iş mantığı işleyişi için özelleştirilmiş kod yazmanız gerektiğidir. Geri kalan her iş için gömülü fonksiyonları kullanmanız size zaman ve finansal avantaj kazandıracağı gibi aynı zamanda test edilmiş ve güvenli kod kullanmanızı sağlayacaktır. Bu framework‘ler için de geçerlidir. Framework şeçiminizi yaparken güvenlik kriterlerinizi bu sürece dahil etmeniz gerekir. Doğru bir framework ve doğru bir eğitim ile, kod geliştiricileriniz girdi doğrulama ve çıktı enkodlama gömülü mekanizmalarını kullanarak birçok ortak zafiyetin önüne geçecektir.

Güvenli yazılım güvenli kodlama ile başlar. Kod geliştiricilerin güvenlik geri bildirimini hızlı bir şekilde almalarını ve işlerine dahil etmelerini sağlamak için güvenlik testi araçları ve iş akışlarının kod geliştirme süreçlerinin ayrılmaz bir parçası olması gerekmektedir. Statik Kaynak Kodu Analizi (SAST) araçları, güvenli kod geliştirme yaşam döngüsü (SDLC) için bariz bir seçimdir. Kaynak kodun ötesine geçmek ve run-time’da oluşabilecek yazılım güvenlik açıklarını bulmak için Dinamik Uygulama Güvenliği Testine (DAST) de ihtiyacınız vardır.İlgili tüm testlerin SDLC süreçlerinde gerçekleştirilmesi ve otomasyon dahiline alınması kod geliştiricilerin kodlarındaki güvenlik riskleri hakkında hızlı geri bildirim almasını ve uzun vadede yazılım güvenliğini arttırmalarını sağlayacaktır.

Kaynak

Mehmet Türker
Technical Account Manager & Cyber Security Engineer
Endpoint Bilgi Teknolojileri Güvenliği ArGe A.Ş – 2022
LinkedIn