Güvenli yazılım geliştirme yaşam döngüsü
Bir yazılımın fikirden üretime uzanan yolculuğunun her adımına hangi güvenlik işinin girdiğini öğrenir, küçük bir ekip için uygulanabilir bir güvenli geliştirme süreci kurarsın.
Seviye 101 · 16 ders · 15 pratik lab
Dersler
Yaşam döngüsünü tanımak
- Yazılım yaşam döngüsünün aşamaları: fikirden bakıma
- Geç bulunan hatanın bedeli
- Kim neyden sorumlu: geliştirici, test, operasyon, güvenlik
- Güvenli geliştirme çerçeveleri: NIST SSDF ve OWASP SAMM
- Kısa görev: örnek bir projenin aşamalarına güvenlik işlerini yerleştir
Gereksinim ve tasarım
- OWASP ASVS ile güvenlik gereksinimleri yazmak
- Kötüye kullanım senaryoları: kullanıcı hikâyesinin karanlık yüzü
- Güvenli tasarım ilkeleri: en az yetki, derinlemesine savunma, güvenli varsayılan
- Tasarım incelemesi: hangi sorular sorulur
- Kısa görev: bir giriş özelliği için beş kötüye kullanım senaryosu yaz
Geliştirme, test ve sürüm
- Güvenlik gözüyle kod incelemesi
- Otomatik denetimler: SAST, SCA ve gizli bilgi taraması
- Sürüm ölçütleri: hangi bulgu sürümü durdurur
- Sürüm sonrası: açık bildirimi ve security.txt
- Kısa görev: ekibin için sürüm öncesi güvenlik kontrol listesi hazırla
Bitirme
- Bitirme görevi: küçük bir ekibin geliştirme sürecine güvenliği yerleştir
Pratik lablar
- Güvenlik işlerini yaşam döngüsü aşamalarına yerleştir: On güvenlik etkinliğini gereksinim, tasarım, geliştirme, test, yayın ve bakım aşamalarına dağıt.
- Geç bulunan hatanın bedelini örnek veriden hesapla: Aynı hatanın tasarımda, testte ve üretimde bulunmasının harcattığı saatleri karşılaştır ve farkı bir cümleyle açıkla.
- Bir projenin sorumluluk tablosunu çıkar: Göktaşı Yazılım’ın ekibi için on iki güvenlik işinde kimin yaptığını, onayladığını ve bilgilendirildiğini gösteren tabloyu doldur ve sahipsiz kalan işi bul.
- Bir özellik için ASVS maddelerini seç: Parola sıfırlama özelliğine uyan beş ASVS gereksinimini bul ve numaralarıyla listele.
- Giriş özelliği için beş kötüye kullanım senaryosu yaz: Her kullanıcı hikâyesinin karşısına bir kötüye kullanım senaryosu ve onu engelleyecek gereksinimi yaz.
- Belirsiz gereksinimleri sınanabilir güvenlik gereksinimine çevir: Güvenli olmalı türünden altı ifadeyi ölçülebilir kabul ölçütleriyle yeniden yaz ve her birinin nasıl sınanacağını belirt.
- Tasarımdaki güvenli olmayan varsayılanı bul: Bir sayfalık tasarım notunda varsayılan olarak açık bırakılan iki ayarı işaretle ve güvenli değerini yaz.
- Tasarım incelemesi sorularını bir özelliğe uygula: Dosya paylaşma özelliği için kimlik, yetki, veri ve hata başlıklarında on soruyu yanıtla ve açık kalan üçünü not et.
- Tek savunmaya dayanan tasarıma ikinci katmanı ekle: Yalnızca ön yüz denetimine güvenen ödeme akışında eksik katmanları belirle ve en az yetki ile derinlemesine savunmayı uygulayan düzeltilmiş tasarımı çiz.
- SSDF uygulamalarını örnek etkinliklerle eşle: Sekiz ekip etkinliğini NIST SSDF’nin dört uygulama grubuna yerleştir.
- Bir ekibi SAMM’in iki uygulamasında puanla: Verilen görüşme notlarından tehdit değerlendirmesi ve güvenlik testi uygulamalarının olgunluk düzeyini belirle ve kanıtını yaz.
- Değerlendirmeden üç aylık iyileştirme planı çıkar: En düşük puanlı üç alan için ölçülebilir hedef, sahibi ve bitiş tarihi olan bir plan yaz ve neyi bilinçli olarak ertelediğini belirt.
- Yayın öncesi güvenlik denetim listesini doldur: Örnek sürüm için tarama sonuçları, açık bulgular ve onaylar maddelerini kanıtına bakarak işaretle.
- Güvenlik açığı bildirimi için karşılama süreci yaz: Dışarıdan gelen bildirimin kime ulaşacağını, yanıt süresini ve düzeltme adımlarını gösteren kısa bir süreç ve security.txt dosyası hazırla.
- Bir projenin güvenli geliştirme planını baştan sona yaz: Lavinya Klinikleri’nin randevu uygulaması için her aşamada yapılacak güvenlik işini, çıktısını ve geçiş ölçütünü içeren iki sayfalık plan hazırla.
Kurs hakkında
Bir yazılımın fikirden üretime uzanan yolculuğunun her adımına hangi güvenlik işinin girdiğini öğrenir, küçük bir ekip için uygulanabilir bir güvenli geliştirme süreci kurarsın.
Ne öğreneceksin
- Yaşam döngüsünü tanımak
- Gereksinim ve tasarım
- Geliştirme, test ve sürüm
- Bitirme
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.