OWASP İLK 10 ZAFİYET Web Güvenlik Topluluğu OWASP-Türkiye Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the.

Download Report

Transcript OWASP İLK 10 ZAFİYET Web Güvenlik Topluluğu OWASP-Türkiye Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the.

OWASP İLK 10 ZAFİYET
Web Güvenlik Topluluğu
OWASP-Türkiye
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Uygulamanın kullanıcıdan veri alması ve bunları
herhangi bir kodlama ya da doğrulama işlemine
tabi tutmadan sayfaya göndermesi ile oluşur.
Kurbanın
tarayıcısında
oturum
bilgilerinin
çalınmasına, web sayfasının tahrif edilmesine,
solucan yüklenmesine, v.b. sebep olur.
CROSS SITE SCRIPTING - XSS
2
XSS – Korunma
Gelen verilerin doğrulanması
Çıkan verilerin kodlanması (HTML/URL Kodlama)
Sayfa kodlamalarının belirtilmesi (UTF8/ISO-8859-9)
Kara liste yöntemlerinin kullanılmaması
Varsayılan hata çıktılarının izlenmesi
Kodlama standartlarının yanlış kullanılmaması
3
Enjeksiyon, kullanıcı tarafından alınan verinin
yorumlayıcıya (interpreter) komut ya da sorgunun
bir parçası olarak gönderilmesi durumda oluşur.
Özellikle SQL enjeksiyonuna web sitelerinde sıkça
rastlanmaktadır.
ENJEKSİYON HATALARI
4
Enjeksiyon – Korunma
Gelen verilerin doğrulanması
Parametrelenmiş sorgu API’larının kullanılması
Dinamik sorgu tiplerinin kullanılmaması
Minimum hak prensibinin uygulanması
Detaylı hata mesajlarının önlenmesi
Kodlama standartlarının yanlış kullanılmaması
5
Zararlı dosya çalıştırılması, kullanıcıdan dosya adı
veya dosya kabul eden PHP, XML veya diğer
uygulama çatılarını etkileyebilir.
Özellikle PHP uygulamalarında RFI saldırılarına
sıkça rastlanmaktadır.
ZARARLI DOSYA
ÇALIŞTIRMA
6
Zararlı Dosya Çalıştırma – Korunma
Dolaylı nesne referans haritası kullanılması
Gelen verilerin doğrulanması
Sunucular için güvenlik duvarı kuralları uygulanması
Sunucularda chroot kullanılması
PHP yapılandırma sıkılaştırmalarının yapılması
7
Doğrudan Kaynak Referansı; geliştirici dosya, dizin,
veritabanı kaydı gibi bir bilgiyi URL veya form
parametresi olarak alıp bunu uygulamaya referans
olarak tanımladığı zaman oluşur.
Böylece saldırgan referansı manipüle ederek yetkisi
olmayan nesnelere erişebilir.
GÜVENSİZ DOĞRUDAN KAYNAK REFERANSI
8
Kaynak Referansı – Korunma
Hassas nesne referanslarının gösterilmemesi
Hassas nesne referanslarının doğrulanması
Referans verilmiş bütün nesnelerin
yetkilendirme kontrollerinin yapılması
9
CSRF saldırıları; sisteme giriş yapmış kurbana ait
tarayıcının, aynı web uygulamasına sonradan
saldırganın yararına olacak, özel olarak hazırlanmış
ve önceden doğrulanmış bir istek göndermesine
sebep olur.
CSRF, saldırdığı web uygulaması kadar güçlü
olabilir.
SİTELER ÖTESI İSTEK SAHTECİLİĞİ
CSRF
10
CSRF – Korunma
Uygulamalarda XSS açıklıklarının yok
edilmesi
Her form ve URL’ye özel tokenlar konulması
Hassas veri transferlerinde veya işlemlerinde
yeniden kimlik doğrulaması istenmesi
Hassas veri transferlerinde veya işlemlerinde
GET metodunun kullanılmaması
Sadece POST metoduna güvenilmemesi
11
Uygulamalar istemeden de olsa yapılandırmaları, iç
işleyişleri hakkında bilgi sızdırabilir veya uygulama
sorunlarından dolayı güvenlik ihlallerine yol
açabilirler.
Saldırganlar, bu zayıflıkları sonradan daha ciddi
saldırılar gerçekleştirmek veya önemli bilgileri
çalmak için kullanabilir.
BİLGİ İFŞASI VE
YETERSİZ HATA YÖNETİMİ
12
Bilgi İfşası – Korunma
Bütün geliştirici takımının hata
yönetiminde aynı yolu izlediğine emin
olunması
Bütün katmanlardan gelen detaylı hata
mesajlarına izin verilmemesi /
kısıtlandırılması
Varsayılı hata mesajlarında HTTP 200
dönmesinin sağlanması
13
Hesap bilgileri ve oturum anahtarları çoğu zaman
düzgün olarak korunmamaktadır.
Saldırganlar şifreleri ve kimlik denetimi anahtarlarını
kullanıcının
diğer
bilgilerini
elde
etmek
için
kullanabilirler.
YETERSİZ KİMLİK DOĞRULAMA
OTURUM YÖNETİMİ
14
Kimlik Doğrulama / Oturum Yönetimi
Korunma
Sunucunun sağladığı oturum yönetimi
mekanizmalarını kullanın
Önceden verilmiş, yeni veya hatalı oturum
bilgilerinin kabul edilmemesi
Özel cookielerin kimlik doğrulama ve
oturum yönetimi işlemleri için
kullanılmaması
Kimlik doğrulama sonrası yeni bir cookie
oluşturun
15
Kimlik Doğrulama / Oturum Yönetimi
Korunma
Zaman aşımı kontrollerinin uygulanması
Şifre değişiminde eski şifrenin sorulması
Sahtesi üretilebilecek bilgileri kimlik
doğrulamada güvenmeyin (Referer, IP, DNS
isimleri)
16
Web uygulamaları verilerin ve bilgilerin güvenliğini
sağlamak için nadiren kriptografik fonksiyonları
kullanırlar.
Saldırganlar zayıf korunan veriyi, kimlik hırsızlığı ve
kredi kartı dolandırıcılığı gibi diğer suçları işlemek
için kullanırlar.
GÜVENSIZ KRİPTOĞRAFİK DEPOLAMA
17
Güvensiz Kriptoğrafi – Korunma
Kişisel kriptoğrafik algoritmalar kullanılmaması
Zayıf kriptoğrafik algoritmaların kullanılmaması
Private key’lerin dikkatlice saklanması
Arka uç hassas bilgilerinin dikkatlice saklanması
Gerekmeyen bilginin kesinlikle saklanmaması
18
Uygulamalar sıklıkla hassas bağlantıların korunması
gerektiğinde ağ trafiğini şifrelemede başarısız
olurlar.
Şifreleme (genellikle SSL) bütün bağlantıların kimlik
doğrulaması için özellikle hem internet erişimi olan
web sayfaları için hem de sunucu uygulamaları için
kullanılmak zorundadır.
GÜVENSİZ İLETİŞİM
19
Güvensiz İletişim – Korunma
Kimlik doğrulama ve diğer hassas bilgilerin
işlendiği trafiklerde SSL kullanılması
Arka uç sistemlerdeki bağlantılarda SSL
kullanılması
20
Uygulamalar hassas fonksiyonelliklerini korumak
için
çoğunlukla
linkleri
veya
URL’leri
yetkilendirilmemiş
kullanıcılara
göstermemeyi
seçerler.
Saldırganlar bu URL’lere doğrudan erişerek, yetkisi
olmayan işlemleri gerçekleştirmek için bu zayıflığı
kullanabilirler.
YETERSİZ URL ERİŞİMİ KISITLAMA
21
Yetkisizi URL Erişimi – Korunma
Yetkilendirme matrisinin güçlü bir şekilde
kullanılması
Uygulamaya penetrasyon testi
gerçekleştirilmesi
Gizli URL’lere ve HTML parametrelere
güvenilmemesi
Sunucunun anlamadığı bütün dosya
uzantılarına önlemesi
Yamaların ve virüs korumasının yenilenmesi
22
webguvenligi.org
owasp.org
23