4. Kimdir? Türkiye’ de Polis ve Askeri Kuvvetler için çalıştı Amerika, Kanada, İngiltere, İskoçya, İrlanda, Almanya, Japonya ve Türkiye’ de bir çok firma için güvenlik ve penetration testing hizmeti verdi Web uygulaması güvenliği konusunda dünyaca kabul gören bir çok araç, araştırma yayınladı ve bir çoğuna da katkıda bulundu Netsparker’ ın geliştiricisi ve Mavituna Security’ nin kurucusu
5. Giriş Web uygulaması güvenliği tarayıcısı nedir? Tarayıcıların Sorunları Bu sorunların nedenleri Çözümleri
6. Sorun1 – Tarayıcıların Üşengeçliği Tarayıcılar basit bir şekilde bazı açıkları gözardı etti Gruplu Blind SQL Injection’ lar Vakit tabanlı Blind SQL Injection’ lar Blacklist ile filtrelenmiş XSS’ ler
7. SQL Örneği SELECT * FROM Users WHERE NOT (active=0 OR expired=0) AND (username=$USER)
8. Sorun 2 – “False Positive” ler False Positive’ lerin Kabulü CSRF gibi otomatik olarak yapması zor işleri yapmaya yeterli temel olmadan yapmaya çalışmaları Zararları Vakit kaybı Güvenlik uzmanı olmayanların araca güvensizliği (IDS Sendromu) Otomatik entegrasyonu engel olması (Rapor, WAF vs. entegrasyonu)
9. Sorun 3 – Exploitation Vulnerability Assessment vs. Penetration Testing Olmamasının Zararları Geliştiricilerin güvenlik açıklarını yeterince ciddiye almaması Gerçek etkiyi analiz edememe Post-exploitation analizlerinin yapılamaması
10. Sorun 4 – Post Exploitation SQL Injection’ dan sonra Database kullanıcısının haklarının analizi Privilige Escalation LFI’ dan sonra Config, şifre vs. içeren dosyaların analizi File Upload Privilige Escalation vs... Command Execution Local Network’ sızma
11. Neden? Neden son 8 senede uygulama güvenliği ciddi bir ilerleme gösterirken black-box scanner’ lar bundan nasiplerini alamadılar?
12. Neden 1 - Kullanıcı İkilemi Kullanıcı yazılımı güvenlik açığı bulmak için kullanır Yazılım güvenlik açığı bulmaz Ama aslında güvenlik açığı vardır Kullanıcı hiç bir zaman açıktan haberdar olmaz ve hiç bir zaman yazılımı suçla(ya)maz
13. Neden 2 – Gizli Tekel Markette az oyuncunun olması ve market fragmantasyonunun yüksek olması her oyuncuya kendi köşesinde yeterli olacak kadar mali getiri sağladı Birbirlerini teknik zorlamak yerine çift tıklamanın patentini almak gibi “injection” işleminin patentini alıp bir birbilerini dava etmeyi seçtiller.
14. Neden 3 - Vizyon Yazılımların bir çoğu otomasyonu kendi görüşlerinde limitlediler, bir çok yazılım açık açık şunları söyledi: False Positive’ ler engellenemez Otomatik tarayıcılar hiç bir zaman manual testing yerini tutmayacak Bu her ne kadar doğru olsa da buradaki çizgiyi yanlış çektiler. Bir çok güvenlik açığı otomatik olarak manual’ e göre daha verimli tespit edilebilir.
15. Neden 3.5 – Otomasyona Yaklaşım Otomasyon’ da hile yapmak çok kolaydır, “Bu işlem çok komplike, bunu kullanıcıya bırakalım, yazılım bunu verimli şekilde bilemez.” demeniz yeterli. Bundan nasibini alan bazı konular URL Rewrite Authentication Özelleştirilmiş 404 sayfaları Hatta size diskinizi kontrol edip belli bir dosyayı aramanızı söyleyen bir tarayıcı var. Kendisi tespit etmek yerine siz testin başarılı olup olmadığını test sisteminin C:sine erişerek test ediyorsunuz! Tabii erişim hakkınız varsa...
16. Neden 3.5 – Otomasyona Yaklaşım Bir çok seçim ve ayarı kullanıcıya bırakmak neden kötü? Vakit kaybı Deneyimsiz kullanıcıların ayarları bilmemesi veya doğru şekilde yapamıyor olması Bazen ayarları doğru yapabilmeniz için sitede olabilecek güvenlik açıklarını sizin tahmin etmeniz gerekli! Bu da gene deneyimsiz kullanıcıları kötü bir yerde bırakıyor
17. Neden 4 – Feedback Yetersizliği Bir çok kişi testlerdeki hataları tüm detayları tarayıcı firmalara raporlayamıyor. Başlıca nedenleri: NDA (Non Disclosure Aggreements) “Top Secret” Hükümet ve Ticari Testler Henüz yayınlanmamış projeler Dışarıdan erişilmeyen projeler Son olarak verimli bir raporlama gerçekten vakit gerektiren bir iş.
18. Üşengeçlik Çözümü Tarayıcılar gruplu SQL Injection’ ları bulamıyor ya da bazı XSS’ leri kaçırıyor demiştik Çözüm Geniş test sistemleri, test matriksleri ve test otomasyonu. Tüm gerçekçi olasılıkları kapsadığından emin olmak Daha zeki saldırılar, mesela XSS için...
19. False Positive Çözümü “eğer exploit edebiliyorsanız false positive değildir” Otomatik exploitation SQL Injection XSS LFI vs.
Tarayıcı bu destekleri manual koyduğunda her zaman feature listesine ekleyebilir ya da buna desteği var mı diyen kişilere evet diyebilir. Ama yazılımı çalıştırmadan önce doğru ayarları yapamazsanız aslında günveli açıklarını bulmaycak.
XSS için <net sparker> gibi generic bir injection kullanıp daha sonradan ekstra analiz yapma