Ders 6.5: Güvenli geliştirme ve kod incelemesi
Zafiyetleri üretimde bulmak, onları bulmanın en pahalı yoludur. Güvenli bir yazılım geliştirme yaşam döngüsü güvenliği daha erkene taşır: güvenlik gereksinimleri, tehdit modelleme (STRIDE), çatılarda güvenli varsayılanlar, kod incelemesi, derleme hattında otomatik kontroller (lint, SAST, SCA, sır taraması, DAST) ve OWASP ASVS gibi standartlar. Laboratuvarda bir yüklenicinin çekme isteği bir hediye kartı sayfası ekliyor ve cumadan önce birleştirilmeyi istiyor. Onu bir güvenlik mühendisi gibi inceliyorsun: PHP'ye kontrol ettiriyor, bu kurstaki riskli örüntüler için arıyor ve her sorunu ve düzeltmesini adlandıran bir inceleme yazıyorsun.
17 dk
Bu derste öğreneceklerin
- Güvenli bir yazılım geliştirme yaşam döngüsü fikrini açıklamak
- Tehditler hakkında düşünmek için STRIDE kullanmak
- Kodu bu kurstaki zafiyet örüntüleri açısından incelemek
- Bir derleme hattı için otomatik kontroller saymak
- Her biri için bir düzeltmeyle inceleme bulguları yazmak
Temel terimler
- Güvenli yazılım geliştirme yaşam döngüsü (SDLC)
- Yazılım geliştirmenin her aşamasındaki güvenlik etkinlikleri: gereksinimler, tasarım, kodlama, test, yayın ve işletim.
- Tehdit modelleme
- Bir tasarımı inşa etmeden önce incelemek ve neyin ters gidebileceğini sormak, sonra her tehdit için ne yapılacağına karar vermek.
- OWASP ASVS
- Uygulama Güvenliği Doğrulama Standardı: tasarlamak, inşa etmek ve sınamak için üç düzeyde ayrıntılı bir güvenlik gereksinimleri listesi.
- SAST (statik uygulama güvenliği testi)
- Kaynak kodu çalıştırmadan analiz eden ve zafiyetli örüntüler arayan araçlar.
- DAST (dinamik uygulama güvenliği testi)
- Çalışan uygulamayı, bir saldırganın yapacağı gibi istekler göndererek dışarıdan sınayan araçlar.
- Sır taraması
- Parolaları, anahtarları ve belirteçleri, gönderilmeden ya da yayımlanmadan önce kodda ve işlemelerde otomatik olarak aramak.
← nmap ile makine ve hizmet keşfi, kapsam içinde · Tüm dersler · Anonimlik, gizlilik ve dijital iz →