Güvenli Kodlama Nedir?
İngilizce: Secure Coding
Yayın: · Son güncelleme:
Güvenli Kodlama Nedir? Kısaca
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.

Güvenli kodlama nedir?
Güvenli kodlama, güvenliği yazılım bittikten sonra eklenen bir katman olarak değil, kodun yazıldığı anda düşünülen bir özellik olarak ele alır. Bir açığı tasarım ya da geliştirme sırasında yakalamak, ürün yayına çıktıktan sonra düzeltmekten çok daha ucuzdur. Bu yaklaşım genellikle "güvenliği sola kaydırmak" diye de anılır.
Temel ilkeler nelerdir?
Dillere göre ayrıntılar değişse de ilkelerin özü aynıdır:
- Girdiye güvenmeyin: Kullanıcıdan gelen her veriyi doğrulayın.
- Parametreli sorgu kullanın: Veritabanı sorgularını metin birleştirerek kurmayın.
- Çıktıyı kodlayın: Ekrana basılan veriyi bağlamına uygun biçimde işleyin.
- En az yetki: Her bileşen yalnızca ihtiyaç duyduğu izinle çalışsın.
- Gizli bilgileri koddan ayırın: Şifre ve API anahtarlarını depoya yazmayın.
Sık görülen hatalar
Pratikte en yaygın hatalardan biri, hata mesajlarında fazla bilgi vermektir. Örneğin bir giriş formu "bu e-posta kayıtlı değil" ve "şifre yanlış" uyarılarını ayrı gösterirse, kötü niyetli biri hangi adreslerin sistemde kayıtlı olduğunu öğrenebilir. Tek bir genel uyarı göstermek bu sızıntıyı engeller.
Bir diğer tuzak, eski kütüphanelerin güncellenmeden kullanılmasıdır. Kendi kodunuz temiz olsa bile bağımlılıklardaki bir açık uygulamayı etkileyebilir.
Ekipte nasıl uygulanır?
Kod incelemelerine kısa bir güvenlik kontrol listesi ekleyin ve otomatik analiz araçlarını sürekli entegrasyon hattına bağlayın. OWASP'ın konu bazlı rehberleri, ekibin ortak kurallarını yazarken iyi bir başlangıç kaynağıdır.
Sıkça Sorulan Sorular
Güvenli kodlama yalnızca güvenlik uzmanlarının işi mi?
Hayır. Kodu yazan her geliştiricinin temel ilkeleri bilmesi gerekir. Güvenlik ekibi rehberlik eder, araç sağlar ve kritik incelemeleri yapar.
Güvenli kodlama için hangi araçlar kullanılır?
Kaynak kodu inceleyen SAST, çalışan uygulamayı test eden DAST ve kütüphaneleri tarayan bağımlılık tarama araçları en yaygın kullanılan türlerdir.