Hardcoded Credentials (Koddaki parolalar Nedir?

Hardcoded Credentials Nedir?

Hardcoded Credentials (Sabitlenmiş Kimlik Bilgileri) Nedir?

Hardcoded credentials, yazılım geliştiricilerin kullanıcı adı, şifre, API anahtarı veya erişim token’ı gibi gizli bilgileri doğrudan kaynak kod içine gömmesiyle oluşan ciddi bir güvenlik açığıdır.

Nasıl Ortaya Çıkar?

Geliştirme sürecinde test veya kolay erişim için kod içerisine sabit kullanıcı bilgileri eklenebilir. Ancak bu bilgiler, kod versiyon kontrolüne (örneğin Git) dahil edilirse ya da production ortamına taşınırsa, siber saldırganlar tarafından kolayca keşfedilebilir.

// Kötü örnek:
String username = "admin";
String password = "admin123"; // hardcoded credential
    

Riskleri Nelerdir?

  • Uygulamanın ele geçirilmesi
  • Veritabanı veya API erişiminin sızması
  • Bulut servislerinin (AWS, Azure) kontrolünün kaybedilmesi
  • Gizli verilerin ifşası
  • Arka kapı bırakılması (backdoor)

Gerçek Hayattan Örnek

2017’de Uber, özel bir GitHub reposunda hardcoded AWS anahtarları bıraktığı için 57 milyon kullanıcının verisini sızdırdı. Bu olay şirkete milyonlarca dolar cezaya mal oldu.

Korunma Yöntemleri

  • Ortam Değişkenleri (Environment Variables): Şifre ve token gibi bilgileri ortam değişkenlerinde tutun.
  • Secrets Manager Kullanımı: AWS Secrets Manager, Azure Key Vault gibi çözümlerden yararlanın.
  • .env Dosyaları: Geliştirme sırasında bu dosyaları kullanın ve versiyon kontrolüne dahil etmeyin.
  • Static Code Analysis Araçları: Kodda gizli bilgi kontrolü yapan araçlar (örneğin: TruffleHog, Gitleaks) entegre edin.
  • Kod Gözden Geçirme: Kodda şifre, token, API anahtarı aranmalı ve tespit edilmeli.

Test Etme Yöntemleri

  • Gizli bilgilerin kod içinde aranması (örn. grep -i password .)
  • Secrets tarayıcı araçlar: Gitleaks, TruffleHog
  • CI/CD pipeline içinde otomatik kontroller
Not: Hardcoded credential sadece bir kod kalitesi sorunu değil, aynı zamanda ciddi bir güvenlik açığıdır. Özellikle açık kaynak kodlu projelerde bu durum daha tehlikeli hale gelir.

Sonuç

Sabitlenmiş kimlik bilgileri, modern uygulama güvenliğinde sık yapılan ama çok tehlikeli bir hatadır. Bu tür bilgilerin yönetimi için çevresel değişkenler, gizli anahtar yöneticileri ve kod analiz araçları aktif olarak kullanılmalıdır.

Scroll to Top