Kod İmzalama Sertifikaları Artık Çok Daha Uygun! — EV ve OV Kod İmzalama sertifikalarında özel kampanya fiyatları!
Anasayfa İletişim
Güvenlik

Yazılım Güvenliği Checklist: Geliştirici İçin 15 Maddelik Kontrol Listesi

Yazılım yayınlamadan önce kontrol etmeniz gereken 15 güvenlik maddesi. Kod imzalama, bağımlılık tarama, güvenli derleme ve dağıtım güvenliği kontrol listesi.

4 dk okuma

Yazılım güvenliği sadece kod yazmakla bitmez — doğru derleme, imzalama, test ve dağıtım süreçleri de en az kod kalitesi kadar önemlidir. Bu checklist, yazılımınızı yayınlamadan önce kontrol etmeniz gereken 15 kritik güvenlik maddesini kapsamaktadır.

Kod Güvenliği (Madde 1-5)

✅ 1. Statik Kod Analizi (SAST) Çalıştırın

SonarQube, Semgrep veya CodeQL gibi araçlarla kaynak kodunuzu güvenlik açıklarına karşı tarayın. SQL injection, XSS, buffer overflow gibi yaygın zafiyetleri otomatik tespit edin.

✅ 2. Bağımlılık Taraması Yapın

npm audit, pip audit, OWASP Dependency-Check veya Snyk ile bağımlılıklarınızdaki bilinen güvenlik açıklarını kontrol edin. CVE veritabanına karşı tüm kütüphaneleri tarayın.

✅ 3. Secret Taraması Yapın

GitLeaks, TruffleHog veya GitHub Secret Scanning ile kodunuzda yanlışlıkla commit edilmiş API anahtarları, şifreler veya token'lar olup olmadığını kontrol edin.

✅ 4. Lisans Uyumluluğunu Kontrol Edin

Kullandığınız açık kaynak kütüphanelerin lisanslarının projenizle uyumlu olduğunu doğrulayın. FOSSA veya License Finder araçlarını kullanın.

✅ 5. Input Validation Kontrol Edin

Tüm kullanıcı girdilerinin doğrulanıp sanitize edildiğinden emin olun. Özellikle dosya yolları, URL'ler, SQL sorguları ve komut satırı parametrelerine dikkat edin.

Build & İmzalama (Madde 6-10)

✅ 6. Release Modda Derleyin

Debug sembollerini ve test kodunu production build'den çıkarın. Release konfigürasyonunda optimizasyonları etkinleştirin.

✅ 7. Kod İmzalama Sertifikası ile İmzalayın

Tüm dağıtılacak dosyaları (EXE, DLL, MSI, JAR, APK) güvenilir bir kod imzalama sertifikası ile imzalayın. SHA-256 algoritması ve RFC 3161 timestamp kullanın.

✅ 8. Timestamp (Zaman Damgası) Ekleyin

İmzalama sırasında mutlaka timestamp ekleyin. Bu, sertifika süresi dolsa bile imzanızın geçerli kalmasını sağlar.

✅ 9. İmzayı Doğrulayın

İmzalama sonrası signtool verify /pa ile imzanın geçerli ve zincirin tam olduğunu doğrulayın.

✅ 10. SBOM (Software Bill of Materials) Oluşturun

CycloneDX veya SPDX formatında SBOM oluşturun. Yazılımınızdaki tüm bileşenleri ve sürümlerini belgeleyin.

Test & Dağıtım (Madde 11-15)

✅ 11. VirusTotal Taraması Yapın

Dağıtmadan önce yazılımınızı VirusTotal'da taratarak false positive kontrolü yapın. Tespit varsa ilgili antivirüs firmalarına bildirim yapın.

✅ 12. Güvenli Dağıtım Kanalı Kullanın

Yazılımınızı HTTPS üzerinden dağıtın. İndirme sayfasında hash değerleri (SHA-256) yayınlayın. Mümkünse GPG imzalı sürüm notu sağlayın.

✅ 13. Güncelleme Mekanizmasını Güvenli Hale Getirin

Otomatik güncelleme kullanıyorsanız, güncelleme dosyalarını imzalayın ve istemci tarafında imza doğrulaması yapın. Man-in-the-middle saldırılarına karşı TLS certificate pinning düşünün.

✅ 14. Rollback Planı Hazırlayın

Güvenlik sorunu keşfedilirse hızla eski sürüme dönebilecek bir mekanizma kurun. Sürüm numaralama ve değişiklik kaydı tutun.

✅ 15. Güvenlik İletişim Kanalı Oluşturun

security.txt dosyası ve responsible disclosure politikası ile güvenlik araştırmacılarının size ulaşabilmesini sağlayın.

Hızlı Referans Tablosu

MaddeAraç ÖrnekleriÖncelik
SASTSonarQube, Semgrep, CodeQLYüksek
Bağımlılık Taramanpm audit, Snyk, DependabotYüksek
Secret TaramaGitLeaks, TruffleHogKritik
Kod İmzalamaSignTool, jarsigner, codesignKritik
SBOMCycloneDX, Syft, SPDXOrta
VirusTotalvirustotal.comYüksek

Sık Sorulan Sorular

Bu checklist'in tamamını yapmak ne kadar sürer?

İlk kurulum 1-2 gün sürebilir. CI/CD pipeline'a entegre edildikten sonra çoğu kontrol otomatik olarak çalışır ve ek zaman gerektirmez.

Küçük projeler için tüm maddeler gerekli mi?

En azından kod imzalama (7), timestamp (8) ve bağımlılık taraması (2) mutlaka yapılmalıdır. Diğer maddeler projenin ölçeğine ve risk seviyesine göre önceliklendirilebilir.

Bu yazıyı paylaş
Yazar

Ali Yiğit

Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Yorum Yaz