güvenli uygulama geliştirme · 2016-07-24 · kaynak kod güvenlik testleri prosedürü...
TRANSCRIPT
Güvenli Uygulama Geliştirme
Güvenli SDLC ve Kurumsal Deneyimler
Ali Mersin @ Avea
markcurphey@AppSecUS2011
ASL?
• Yazılım geliştirme sürecinde güvenlik ne zaman başlar / ne zaman biter?
Soru
Yazılım geliştirme fikri oluştuğu anda başlar üretilen yazılımın son kopyası ortadan kalkana kadar devam eder.
Güvenli SDLC
Güvenlik Açıklarını Giderme Maliyeti
İstatistik
• Güvenliği uygulamanın ana unsuru olarak gören yönetim
• Standartlara uygun (standartlardan türetilmiş) Bilgi Güvenliği Politikaları
• Gerekli güvenlik kontrollerinin, testlerinin yer aldığı bir yazılım geliştirme süreci
Güvenli SDLC Güvenli Uygulamalar İçin
İnsan
Süreç
Teknoloji
Güvenli SDLC Güvenli Uygulamalar İçin
• Erişim Yöntemleri • Veri Girişi • Kontroller • OWASP
• Politika • Standartlar • Eğitim • Görevler • Öncelik • Uzman Yardımı
• SDLC • Uygulama / Veri Envanteri • Gereksinimler • Risk Yönetimi
SDLC Analiz Tasarım Geliştirme Test Dağıtım
Güvenli SDLC
Gereksinim / Risk Analizi
Tehdit Modelleme
Kaynak Kod Analizi
Üretim Öncesi Testler
Monitör ve Gözlem
• Avea Güvenlik Gereksinimleri
– Uygulamaların tipine, erişim yöntemine, işledikleri verinin kritiklik seviyesine vb. kriterlere göre değişiklik gösteren gereksinimler
• Risk analizlerinin yapılması
– Gerekli durumlarda analiz değişikliği
• Gereksiz özelliklerin kaldırılması
• Veri kritikliğine göre özelliklerde değişiklik
• …
Güvenli SDLC
Gereksinim / Risk
Analizi
Tehdit Modelleme
Kaynak Kod Analizi
Üretim Öncesi Testler
Monitör ve Gözlem
• Olası tehditlerin gözden geçirilmesi
• Analiz ve değerlendirme sonuçlarına göre kontrollerin, yöntemlerin ve araçların belirlenmesi
– OWASP ESAPI
– OWASP Cheat Sheets
Güvenli SDLC
Gereksinim / Risk
Analizi
Tehdit Modelleme
Kaynak Kod Analizi
Üretim Öncesi Testler
Monitör ve Gözlem
• Yazılımcı farkındalığı başarılı bir süreç için kritik
• Güvenli Yazılım Geliştirme Eğitimleri
– Güvenlik Kontrolleri
– Sık Yapılan Hatalar (OWASP Top 10)
– Örnek Açıklar / Giderme Yöntemleri (WebGoat)
Güvenli SDLC
Gereksinim / Risk
Analizi
Tehdit Modelleme
Kaynak Kod Analizi
Üretim Öncesi Testler
Monitör ve Gözlem
• Yazılım geliştirme sürecine entegre edilmiş kaynak kod güvenlik testleri prosedürü
– Ürünlerin üretim planlarına (Release Plan) göre otomatik / yarı otomatik çalışan statik kaynak kod analizi
– Bulgu kritikliğine göre farklı aksiyonlar
– OWASP Development Guide
Güvenli SDLC
Gereksinim / Risk
Analizi
Tehdit Modelleme
Kaynak Kod Analizi
Üretim Öncesi Testler
Monitör ve Gözlem
• Analiz ve Tasarım aşamasında kararlaştırılan gereksinimlerin yerine getirilip getirilmediğinin kontrolü
• Web Uygulamaları için kritiklik ve erişim seviyelerine göre iç / dış sızma, güvenlik testleri
– OWASP Testing Guide
Güvenli SDLC
Gereksinim / Risk
Analizi
Tehdit Modelleme
Kaynak Kod Analizi
Üretim Öncesi Testler
Monitör ve Gözlem
• Zafiyet takibi
– Konfigürasyon ve altyapı gövenliği uygulama güvenliğini direkt etkiliyor
• Kritik seviyesi yüksek uygulamalar için düzenli sızma testleri
• Herhangi bir sorun durumunda üretilen alarmlar
• Log incelemeleri
Güvenli SDLC
Gereksinim / Risk
Analizi
Tehdit Modelleme
Kaynak Kod Analizi
Üretim Öncesi Testler
Monitör ve Gözlem
When we face a choice between adding features and resolving security issues, we need to choose security. Our products should emphasize security right out of the box, and we must constantly refine and improve that security as threats evolve.
Bill Gates
Trustworthy Computing
Güvenli SDLC Sonuç