web tarayıcılarının evrimi
TRANSCRIPT
WEB GÜVENLİĞİ TARAYICILARININ EVRİMİ
Ferruh [email protected]
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
Giriş
Web uygulaması güvenliği tarayıcısı nedir?
Tarayıcıların Sorunları Bu sorunların nedenleri Çözümleri
Sorun 1 – 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
SQL Örneği
SELECT * FROM Users WHERE NOT (active=0 OR expired=0) AND (username=$USER)
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)
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ı
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
Neden?
Neden son 8 senede uygulama güvenliği ciddi bir ilerleme
gösterirken black-box scanner’ lar bundan nasiplerini alamadılar?
Neden 1 - Kullanıcı İkilemi1. Kullanıcı yazılımı güvenlik açığı
bulmak için kullanır2. Yazılım güvenlik açığı bulmaz3. Ama aslında güvenlik açığı vardır 4. Kullanıcı hiç bir zaman açıktan
haberdar olmaz ve hiç bir zaman yazılımı suçla(ya)maz
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.
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.
Neden 3.5 – Otomasyona YaklaşımOtomasyon’ 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...
Neden 3.5 – Otomasyona YaklaşımBir ç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
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ş.
Üş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...
False Positive Çözümü
“eğer exploit edebiliyorsanız false positive değildir”
Otomatik exploitation SQL Injection XSS LFI vs.
Netsparker – XSS Demosu
XSS Demo
Exploitation Çözümü
SQL Injection & LFI Tespit ve
Exploitation Demosu
SORULAR?
TEŞEKKÜRLER...
Ferruh [email protected]