Yazılım Geliştirme Sürecinde OWASP Projeleri Dr. Eminİslam Tatlı OWASP-Türkiye Web Güvenliği Günü 9 Haziran 2012
Hakkımda Senior Security Consultant @ Daimler TSS Bilgi Güvenliği Mimarı & Penetration-Tester Eğitmen => Secure Design and Coding, Secure SDLC by Daimler Board Member @ OWASP Almanya ve Türkiye Blog: www.architectingsecurity.com Twitter: @eitatli
Konu Başlıkları Uygulama Güvenliği @ Daimler Web Uygulama Güvenliği Kontrol Listesi Geçmiş, Bugün, Gelecek ESAPI ile Simetrik Şifreleme Password Patterns Mahremiyet İhlalleri
Uygulama Güvenliği @ Daimler Daimler & Daimler TSS
Uygulama Güvenliği @ Daimler OWASP Projeleri Güvenli Yazılım Geliştirme Süreci Yararlandığımız OWASP Projeleri Eğitimler => Top 10, Webgoat Tasarım & Geliştirme => ASVS, ESAPI Pen-Tests => Testing Guide, Web Uygulama Güvenliği Kontrol Listesi, Araçlar (DirBuster, WSFuzzer vs.) Kontroller => Prevention Cheat Sheets (örn. XSS, SQLi, CSRF)
Uygulama Güvenliği @ Daimler ASVS (Application Security Verification Standard)
Uygulama Güvenliği @ Daimler Webgoat
Uygulama Güvenliği @ Daimler SQL Injection Prevention Cheat Sheet
Uygulama Güvenliği @ Daimler XSS Prevention Cheat Sheet
Web Uygulama Güvenliği Kontrol Listesi Geçmiş & Bugün Güvenli web uygulamalarında aktif olması gereken denetim adımlarını içeren bir dokümantasyon projesidir. Sürüm 1 => 2010 (42 kontrol maddesi, Türkçe, Word Belgesi) Sürüm 2 => 2012 (61 kontrol maddesi, Türkçe/İngilizce Excel/Word Belges Kategoriler, OWASP Testing Guide ın kategorilerini temel almaktadır. Her kontrol maddesi bir ASVS kategorisi ile eşlendi. Risk seviyesi ve sorumlular kısmı revize edildi. Excel ile güvenlik aktivitelerinin durumlarının takip edilebilmesi sağlanıyor. Durum girdisine göre farklı risk seviyesindeki ve de toplamdaki güvenlik durumu grafiksel olarak gösterilmektedir. Link: https://code.google.com/p/wasclist/
Web Uygulama Güvenliği Kontrol Listesi Geçmiş & Bugün Sürüm 2 Excel Belgesi
Web Uygulama Güvenliği Kontrol Listesi Geçmiş & Bugün Sürüm 2 Word Belgesi
Web Uygulama Güvenliği Kontrol Listesi Geçmiş & Bugün Sürüm 2 Grafikler
Web Uygulama Güvenliği Kontrol Listesi Geçmiş & Bugün Sürüm 3 Farklı rollere (geliştiriciler, IT-mimarları, güvenlik mimarları, güvenlik testçileri, sistem yöneticileri, denetmenler) göre özel kontrol listesi ve raporlamalar sunan bir uygulama geliştirilecek. Her kontrol maddesi farklı OWASP dökümanlarına referans veren alt maddeler içerecek ve bu alt maddelerin de değerlendirilmesi gerekecek. Geliştiriciler => Secure-Coding-Practices IT-Mimarları/Güvenlik Mimarları => ASVS Güvenlik Testçileri => Testing Guide Sistem Yöneticileri => Secure-Coding-Practices, ASVS Durum bilgisi daha geniş kapsamlı olacak şekilde (ör. bitirme yüzdesi) genişletilecek. İstekler/Yorumlar => checklist @ webguvenligi.org
Web Uygulama Güvenliği Kontrol Listesi Geçmiş & Bugün Sürüm 3 Örnek Madde Kontrol Listesi Madde 16: Uygulama ile son kullanıcı arasında aktarılan kullanıcı adı, parola, kredi kartı no, adres gibi hassas veriler HTTPS protokolü üzerinden aktarılmalıdır. Geliştiriciler => Secure Coding Practices Checklist Communication Security Implement encryption for the transmission of all sensitive information. Verify that backend TLS connection failures are logged. IT/Güvenlik Mimarı => ASVS - Communication Security Verification Verify that all connections to external systems that involve sensitive information or functions are authenticated. Sistem Yöneticileri => ASVS - Communication Security Verification Verify that a path can be built from a trusted CA to each Transport Layer Security (TLS) server certificate, and that each server certificate is valid. Güvenlik Testçisi => Testing Guide OWASP-CM-001-4.3.1 SSL/TLS Testing (SSL Version, Algorithms, Key length, Digital Cert. Validity) - SSL Weakness
OWASP ESAPI Standard Simetrik Şifreleme Alıntı => http://java.sun.com/developer/technicalarticles/security/aes/aes_v1.html
OWASP ESAPI ESAPI ile Simetrik Şifreleme Simetrik şifreleme için Referans kod örneği: src\main\java\org\owasp\esapi\reference\crypto\javaencryptor.java Öne Çıkan Özellikler PlainText, CipherText sınıfları Merkezi güvenlik yapılandırma dosyası (ESAPI.properties) Öntanımlışifeleme ve hash algoritmaları, anahtar uzunluğu, izin verilen şifreleme modları, IV oluşturma yöntemi vs. MasterKey, MasterSalt, Fixed IV Assert durum kontrolleri Ekstra kontroller Şifreleme algoritması, anahtar uzunluğu, combined-mode, IV, düz metni silme
Password Patterns rockyou.com hacked
Password Patterns Parola Analizi Analiz Raporu: http://www.imperva.com/docs/wp_consumer_password_worst_practices.pdf
Password Patterns Parola Analizi Top 20
Password Patterns Parola Karmaşıklığı z6ifk#rdlr vs. TØpsecret. Rasgele üretilmiş Çeşitli patternler içeriyor (ör. ilk harf büyük, nokta ile bitiyor, o->sıfır)
Password Patterns Pattern Analizi 2 li ve 3 lü [:alpha:], [:digit:] ve [:punct:] karakterlerin birleşimleri Karakter değişimi ( [:alpha:] => [:digit:], [:punct:]) Özel patternler Sembollerin sıklık istatistiği
Password Patterns İkili Birleşim
Password Patterns Üçlü Birleşim
Password Patterns Karakter Değişimi
Password Patterns Özel Patternler
Password Patterns Sembol Kullanım Sıklıkları
Mahremiyet İhlalleri
Mahremiyet İhlalleri
Mahremiyet İhlalleri
Referanslar OWASP Top 10: https://www.owasp.org/index.php/category:owasp_top_ten_project OWASP Testing Guide: https://www.owasp.org/index.php/owasp_testing_project OWASP ASVS: https://www.owasp.org/index.php/category:owasp_application_security_verification_standard _Project OWASP ESAPI: www.esapi.org OWASP Cheat Sheets: https://www.owasp.org/index.php/cheat_sheets OWASP Webgoat: https://www.owasp.org/index.php/category:owasp_webgoat_project OWASP DirBuster: https://www.owasp.org/index.php/category:owasp_dirbuster_project OWASP WSFuzzer: https://www.owasp.org/index.php/category:owasp_wsfuzzer_project Web Uygulama Güvenliği Kontrol Listesi: https://code.google.com/p/wasclist/ Password Patterns: http://www.architectingsecurity.com/2010/09/11/password-patterns/
Sorular?