@BGASecurity
- 2014-
BEYAZ ŞAPKALI HACKER EĞİTİMİ
BÖLÜMLER
XVI – XVII - XVIII
@BGASecurity
BGA Bilgi Güvenliği A.Ş
BGA Security Hakkında
Siber güvenlik dünyasına yönelik, yenilikçi
profesyonel çözümleri ile katkıda bulunmak
amacı ile 2008 yılında kurulan BGA Bilgi
Güvenliği A.Ş. stratejik siber güvenlik
danışmanlığı ve güvenlik eğitimleri konularında
büyük ölçekli çok sayıda kuruma hizmet
vermektedir.
Gerçekleştirdiği vizyoner danışmanlık projeleri
ve nitelikli eğitimleri ile sektörde saygın bir yer
kazanan BGA Bilgi Güvenliği, kurulduğu günden
bugüne kadar alanında lider finans, enerji,
telekom ve kamu kuruluşları ile 1.000'den fazla
eğitim ve danışmanlık projelerine imza
atmıştır.
ARGE
EĞİTİM
MSSP
PENTEST
SOME / SOC
SECOPS
BGA | Hakkında
@BGASecurity
Web Sunucularına Yönelik
DDOS Saldırıları
BÖLÜM - XVI
BGA | CEH
@BGASecurity
HTTP’e Giriş
 HTTP(Hypertext Transfer Protocol) OSI modelinde
uygulama katmanında yer alan iletişim protokolüdür.
 Günümüzde zamanımızın çoğunu geçirdiğimiz sanal
dünyada en sık kullanılan protokoldür.(%96 civarında)
 Transport katmanında TCP kullanır
BGA | CEH
@BGASecurity
HTTP Nasıl Çalışır?
 Http istemci-sunucu mantığıyla çalışır
 Önce TCP bağlantısı açılır, kullanıcı istek(HTTP isteği) gönderir
sunucu da buna uygun cevap döner ve TCP bağlantısı kapatılır.
 Her HTTP isteği için bir TCP bağlantısı gerekir.
BGA | CEH
@BGASecurity
Web Uygulama Bileşenleri
 Kullanıcı
 Web sunucu yazılımı
 Web uygulama programlama dili
 Veritabanı
 ...
BGA | CEH
@BGASecurity
HTTP İstek ve Cevapları
 Web’in çalışma mantığı istek ve cevaplardan oluşur, istekler
ve bunlara dönülecek cevaplar farklıdır.
 Bu konuda detay için HTTP RFC’si 2616 incelenebilir.
 HTTP isteklerinden önce mutlaka 3’lü el sıkışma
tamamlanmalıdır!
BGA | CEH
@BGASecurity
HTTP GET Paket Boyutu
Ortalama 100-400 byte
BGA | CEH
@BGASecurity
HTTP İstek Ve Cevapları
BGA | CEH
@BGASecurity
HTTP ve TCP ilişkisi
 HTTP TCP kullanan bir protokoldür.
 Her HTTP bağlantısı öncesinde mutlaka TCP bağlantısı kurulmalıdır.
 Basit bir hesapla her HTTP bağlantısı için ortalama 10 adet TCP paketi
gidip gelmektedir
▪ 3 adet TCP bağlantı başlangıcı
▪ 4 adet TCP bağlantı koparılması
▪ 2-3 adet de HTTP isteği ve buna dönecek cevap paketlerinin taşındığı TCP
paketleri
 HTTP’nin performansı TCP’e bağlıdır
BGA | CEH
@BGASecurity
HTTP ve TCP İlişkisi
 Günümüzde normal bir haber
portalının yüklenmesi için ortalama
40-50 HTTP GET isteği
gönderilmektedir
 ortalama 50X10=500 TCP paketinin gidip
gelmesi gerekir
 Ciddi performans sorunu vardır
BGA | CEH
@BGASecurity
HTTP Performansı İçin Ek Özellikler
 KeepAlive ve Pipelining özellikleri eklenmiştir
 HTTP/1.1 de her iki özellik de kullanılabilir
 Hem sunucu hem de istemci bu özellikleri
desteklemeli
BGA | CEH
@BGASecurity
HTTP KeepAlive
 HTTP KeepAlive(persistent
connection)
 HTTP Keep Alive özelliği her
HTTP isteği için ayrı bir TCP
bağlantısı açmak yerine bir
adet TCP bağlantısı
içerisinden belirli sayıda (5,
10, ..) HTTP isteğinin
aktarılabilmesini sağlar.
BGA | CEH
@BGASecurity
HTTP Pipelining
 Pipelining http isteklerinin eş zamanlı olarak gönderilmesi işlemidir
 Genellikle Keep Alive kavramıyla karıştırılır fakat birbirlerinden farklı
kavramlardır.
 Klasik http bağlantılarında önce istek gönderilir, cevap beklenir, sonra
tekrar istek gönderilir, cevabı beklenir
 Pipelining kullanıldığında cevapları beklemeksizin birden fazla http
isteği eş zamanlı olarak gönderilebilir
BGA | CEH
@BGASecurity
Pipelining+KeepAlive
Pipelining ve KeepAlive özelliği kullanılarak her
istek için ek bir TCP bağlantısı açılmaz, tek bir
TCP bağlantısı içerisinden eşzamanlı yüzlerce
HTTP isteği gönderilebilir
BGA | CEH
@BGASecurity
Web Sunuculara Yönelik DOS Saldırıları
Web sunucularına yönelik DOS/DDOS saldırılarında
amaç sayfanın işlevsiz kalması ve o sayfa üzerinden
verilen hizmetlerin kesintiye uğratılmasıdır.
BGA | CEH
@BGASecurity
Web Sunuculara Yönelik DOS/DDoS Saldırıları-II
Web sunuculara yönelik yapılacak DOS
saldırıları temelde iki türden oluşur;
kaba kuvvet saldırıları (Flood)
tasarımsal/yazılımsal eksikliklerden kaynaklanan
zaafiyetler
BGA | CEH
@BGASecurity
GET/POST Flood Saldırıları
 Synflood için önlem alınan yerlere karşı denenir
 Daha çok web sunucunun limitlerini zorlayarak sayfanın
ulaşılamaz olmasını sağlar
 Önlemesi Synflood’a göre daha kolaydır
 HTTP için IP spoofing “pratik olarak” imkansızdır.
 Rate limiting kullanılarak rahatlıkla önlenebilir
 False positive durumu
 #ab –n 100000 –c 5000 http://www.google.com/
BGA | CEH
@BGASecurity
Kaba Kuvvet (Flood) Saldırıları
 Bu tip saldırılarda sunucu üzerinde ne çalıştığına bakılmaksızın
eş zamanlı olarak binlerce istek gönderilir ve sunucunun
kapasitesi zorlanır.
 Literatürde adı “GET Flood”, “POST Flood” olarak geçen bu
saldırılar iki şekilde yapılabilir.
 Tek bir bilgisayardan
 Botnet sistemlerden(binlerce farklı bilgisayar)
BGA | CEH
@BGASecurity
HTTP Üzerinden DOS
BGA | CEH
@BGASecurity
HTTP GET Flood Saldırıları
 Hedef sisteme binlerce HTTP GET paketi gönderilir
 HTTP GET Flood yaparken tek bir kaynaktan gönderilecek
paket sayısı sınırlıdır
 IP spoofing yapılamaz
 BotNet kullanılmadan yapılan saldırılar etkili olmaz
 Küçük sistemlere karşı etkili olabilir
BGA | CEH
@BGASecurity
HTTP Flood Test Araçları
 Netstress
 Ab
 Siege
 DOSHTTP
 Skipfish
 ....
BGA | CEH
@BGASecurity
Ab (Apache Benchmark)
 POST Flood
 #ab -c 100 -p post1.txt -T application/x-www-form-
urlencoded -n 10000 -r -
q http://blog.lifeoverip.net/searcme.php
 GET Flood
 #ab -c 100 -n 10000
http://blog.lifeoverip.net/searcme.php
BGA | CEH
@BGASecurity
HTTP GET Flood Saldırıları-II
BGA | CEH
@BGASecurity
Tasarımsal/Yazılımsal DoS Saldırıları
 Kullanılan web sunucu yazılımında ya da
programlama dilinde çıkan DoS zaafiyetleri
 Apache slowloris
 PHP “multipart/form-data” denial of service)
 Nginx DoS
 Captcha kullanılmayan formlar
BGA | CEH
@BGASecurity
DOS/DDOS Saldırılarından Korunma Yöntemleri
 Web sunuculara yönelik DOS/DDOS saldırılarından korunma diğer
DOS/DDOS yöntemlerine göre daha zordur(synflood, udp flood,
smurf vs).
 HTTP Flood saldırıları Firewall/IPS gibi sistemler üzerinden
engellenebilir fakat gerçek kullanıcıları da engelleme riski yüksektir
 Bot üzerinden gelen saldırılarda gerçek kullanıcıyla saldırganı ayırd etmek
çok zordur
BGA | CEH
@BGASecurity
Web Sunucu Yapılandırması
 İstekleri daha rahat karşılayacak ve gerektiğinde belleğe
alabilecek sistemler kullanılmalı Loadbalancer, reverse
Proxy kullanımı (Nginx gibi)
 Web sunucunun desteklediği dos koruma modülleri
kullanılabilir (Apache Mod_dosevasive)
BGA | CEH
@BGASecurity
Firewall/IPS Üzerinden Ek Ayarlar
 Firewall/IPS ile belirli bir kaynaktan gelebilecek max. İstek/paket
sayısı sınırlandırılmalı( rate limiting kullanımı)
 HTTP isteklerini gönderecek IP adresleri sahte olamayacağı için
rate limiting işlemi sağlıklı çalışacaktır
 Eğer HTTP flood saldırısı Keep alive özelliğini kullanıyorsa Firewall
HTTP istekleri içerisine bakmadığı için bunu engelleyemez
 Tek bir TCP bağlantısı içerisinden 100 adet HTTP paketi geçirme
BGA | CEH
@BGASecurity
Snort ile HTTP Flood saldırıları Engelleme
• Mantık basit: HTTP sunucuya gelebilecek HTTP
isteklerini ip bazında sınırlama(TCP seviyesinde değil)
• Her ip den anlık gelebilecek max HTTP
GET/HEAD/POST isteği=100
BGA | CEH
@BGASecurity
HTTP Flood engelleme
 OpenBSD Packet Filter
pass in log(all) quick on $ext_if proto tcp to $web_server port {80 443}
flags S/SA synproxy state (max-src-conn 1000, max-src-conn-rate 100/3,
overload <ddos_host> flush global)
table <ddos_host> persist file /etc/ddos
block in quick log on $ext_if from <ddos_host>
 False positive durumuna karşı her saat başı yasaklı ip listesini sıfırla!
 Sayfa yoğunluğuna göre
Kurallar düzenlenmeli
BGA | CEH
@BGASecurity
HTTP Get Flood Engelleme-II
 Apache Loglarını inceleyen ve belirli bir değerin
üzerinde istek gönderenleri iptables ile engelleyen
bir script yazılabilir
 Netstat ile establish olmuş bağlantılardan belirli
değerin üzerindekileri engelleyen script yazılabilir
 Apache dos engelleme modülleri kullanılabilir
BGA | CEH
@BGASecurity
Özel BotNet Yasaklama
Saldırı anında loglar incelenerek saldırıya özel bir veri alanı
belirlenebilirse(User-Agent, Refererer vs) IPS üzerinden özel
imzalar yazılarak bu veri alanına sahip paketler engellenebilir
User-Agent: Zeus
Referrer:http://www.example.com
BGA | CEH
@BGASecurity
UDP
 Basit bir protokoldür
 Herhangi bir onay mekanizması yoktur
 Onay gerektiren durumlarda üst seviye protokoller veya yazılım geliştiriciler
önlem almak zorunda
 Ip spoofing yapılabilir
 Broadcast çalışabildiğinden olduğundan ciddi DoS saldırılarında
kullanılabilir
 RFC’e göre
 Açık UDP portuna gelen isteklere cevap dönülmez
 Kapalı UDP portuna gelen isteklere ICMP Port unrc. Mesajı döner
BGA | CEH
@BGASecurity
UDP İçin State Kavramı
 Gerçek State durumu yoktur
 TCP’deki gibi bayrak mekanizması yoktur
 Firewall/IPS/DDoS sistemleri UDP bağlantısına ait state tutabilir
 Kaynak ip adresi, kaynak port
 Hedef ip adresi, hedef port
 Zaman
bilgileri kullanılır
BGA | CEH
@BGASecurity
RFC’e Göre UDP
UDP Kapalı Port
UDP Açık Port
BGA | CEH
@BGASecurity
UDP Paket Boyutu
Ortalama 30 byte
BGA | CEH
@BGASecurity
UDP Flood Saldırıları
 UDP stateless bir protokol, yönetimi zor!
 Paket boyutları küçük, etkisi yüksek
 Amaç UDP servislerini çökertmekten çok aradaki güvenlik
cihazlarının kapasitesini zorlayıp cevap veremez hale getirmektir.
 Zaman zaman DNS sunuculara yönelik de yapılır
 Syncookie/synproxy gibi kolay bir çözümü yok!
 Denenmiş, kanıtlanmış standart bir çözüm bulunmamaktadır.
BGA | CEH
@BGASecurity
UDP Flood Saldırıları-II
 IP spoofing yapılabilir
 hping –udp www.lifeoverip.net -p 53 -a www.teakolik.com
 Paket boyutu ~ 30 byte
 20Mb hat ile saniyede 90.000 pps üretilebilir.
▪ 20*1024*1024/8/30
 UDP bağlantısının kapatılması için gerekli ortlama süre 60 saniye
 Her gönderilen UDP paketi 60 saniye boyunca Firewall/IPS
oturum kapasitesinde yer kaplayacaktır.
BGA | CEH
@BGASecurity
UDP Flood saldırıları-III
 Rastgele üretilmiş sahte ip adreslerinden saniyede
90.000 paket. Her paket için 60 saniye bekleme süresi
 Piyasadaki çoğu Firewall/IPS ürününün kapasitesinin
üzerinde
BGA | CEH
@BGASecurity
Hping İle UDP Flood Saldırısı Gerçekleştirme
UDP Flood
DNS Sunucu cevap veremiyor
BGA | CEH
@BGASecurity
UDP Flood Korunma Yöntemleri
 Genel geçer bir korunma yöntemi yoktur
 Güçlü güvenlik duvarları tercih edilmeli
 Router’lar üzerinden kullanılmayan UDP servislerini kapama
 Kapalı UDP portları için cevap dönmeme
 Belirli ip adresinden gelecek istekleri sınırlama
 X saniyede Y’den fazla paket gönderen IP adresini karantinaya al
 UDP timeout sürelerini değiştirme
BGA | CEH
@BGASecurity
UDP Flood Korunma Yöntemleri-II
 Kapalı UDP portlarına cevap dönmeme
 RFC’ye göre kapalı bir UDP portuna gelen isteğe ICMP Dest. Port
Unreachable mesajı dönülür
 Kapalı porta gelen her UDP paketi için ICMP mesajı dönmek
Firewall/IPS sistemini yorar
 Güvenlik sistemleri kapalı udp portlarından cevap vermeyecek
şekilde yapılandırılmalıdır
BGA | CEH
@BGASecurity
UDP Flood Korunma Yöntemleri-III
 Rate limiting kullanarak udp flood engelleme
 Bir ip adresinden gelebilecek anlık/zamana bağlı UDP paket
sayısını belirlemek ve eşik değerini aşan ip adreslerini belirli
süreliğine engelleme yöntemidir.
 UDP paketlerinde ip spoofing kontrolü yapılamayacağı için rate
limiting kullanımı sıkıntı doğuracaktır.
 Piyasadaki çoğu ürün UDP flood saldırılarını bu şekilde
engellemektedir.
BGA | CEH
@BGASecurity
UDP Flood Korunma Yöntemleri-IV
 DFAS(Drop first, Accept Second) yöntemi
 Normal durumda UDP isteği gönderen bir host karşı sistemden
cevap alamazsa ilk UDP paketini tekrar gönderir (retransmission)
 DDoS engelleme sistemi gelen tüm udp paketlerini drop edip aynı
ip adresinden ikinci udp paketi geldiğinde kabul et şeklinde
yapılandırılabilir.
 %99 udp saldırıları için geçerli bir çözüm olacaktır
 Saldırgan sahte ip adreslerinden gönderilecek paketleri
ayarlayabileceği için sahte iplerden birden fazla udp paketi
göndererek bu korumayı aşabilir.
BGA | CEH
@BGASecurity
UDP Flood Korunma Yöntemleri-V
 UDP timeout değerleri ile oynama
 Bir UDP paketi güvenlik sisteminden izinli olarak geçtiğinde güvenlik
sistemi belirli süreliğine bu UDP paketi için oturum bilgisi tutar.
 Firewall’dan açık ama arka tarafta kapalı bir UDP portu varsa bu sisteme
gönderilecek UDP istekleri için Firewall ortalama 60 saniye boyunca
oturum bilgisi tutacaktır.
 Firewall/IPS sistemleri üzerinden UDP timeout süreleri düşürülerek
açıkta kalan udp oturumlarının hızlı kapatılması sağlanabilir
@BGASecurity
DNS Servisine Yönelik
DDOS Saldırıları
BÖLÜM - XVII
BGA | CEH
@BGASecurity
Amaç
 Hizmet veren DNS sunucuların işlevsiz kalması
 DNS , internetin en önemli protokolüdür
 DNS’in çalışmadığı bir internet düşünülemez!
 DNS’den önce nasıl işliyordu?
 DNS sunuculara yönelik DoS/DDoS saldırıları özel anlam
taşımaktadır
 Tek bir paketle milyonlarca insanın internetinin çalışmaması sağlanabilir
BGA | CEH
@BGASecurity
DNS Servisine yönelik DDOS Saldırıları
 DNS UDP üzerinden çalışır= kandırılmaya müsait servis
 DNS = Internet’in en zayıf halkası
 E-posta hizmetleri
 Web sayfalarının çalışması
 İnternetim çalışmıyor şikayetinin baş kaynağı 
 DNS sunuculara yönelik DDOS saldırıları
 DNS yazılımında çıkan buglar
 ENDS kullanımı ile amplification saldırıları
 DNS sunucuların kapasitelerini zorlama
BGA | CEH
@BGASecurity
DNS ve UDP
 DNS, UDP tabanlı bir protokoldür
 UDP tabalı sistemlerde ip spoofing kolaydır
BGA | CEH
@BGASecurity
DNS Sorgu Çeşitleri
Dns Query
IterativeRecursive
BGA | CEH
@BGASecurity
Recursive DNS Sorgular
Recursive dns sunucu demek saldırılarda kötü
amaçlı kullanılabilecek dns sunucu demektir.
BGA | CEH
@BGASecurity
DNS’e Yönelik DDoS Saldırıları
 Dns Flood Saldırıları
 Amplified DNS DoS Saldırıları
 DNS sunucu yazılımlarını hedef alan DoS
Saldırıları
BGA | CEH
@BGASecurity
DnsFlood Saldırıları
 DNS sunucuya apoof edilmiş random ip adreslerinden
yüzbinlerde sahte(gerçekte olmayan) domain isimleri
için istek gönderme
 Her gelen istek için DNS sunucunun root dnslere gidip
yorulması ve gerçek isteklere cevap verememesi
sağlanmaya çalışılır
 DNS sunucunun kapasitesini zorlama
BGA | CEH
@BGASecurity
DNS Flood Örneği
BGA | CEH
@BGASecurity
Dns Flood Engelleme
 IP başına yapılacak sorgu sayısını belirleme
 DNS sunucuları ağın dışında güçlü sistemlerde tutma
 Kiralama
 Dağıtık DNS sunucu kullanımı
 DNS sunucularını genele açmama
 Saldırı anında gelen DNS isteklerini UDP’den TCP’e
çevirip SYN Cookie/proxy çalıştırma
BGA | CEH
@BGASecurity
Amplified DNS DoS
Amaç:
recursive dns sunuculara çeşitli paketler göndererek
daha yüksek boyutlu cevaplar almak ve bu cevapları
istenen bir IP Adresine yönlendirme
BGA | CEH
@BGASecurity
DNS Amplification Saldırısı
 UDP üzerinden taşınan dns paketleri 512 byten büyük olamaz
 EDNS(RFC 2671) dns sorgularının cevapları 512 bytedan daha
büyük olabilir
 60 byte(dns isteği) gönderip cevap olarak 4000 byte
alınabilir(cevap=56X istek)
 10Mb bağlantıdan 10X65=650 Mbit trafik üretilebilir.
 Koruma: recursive dns sorguları ve edns desteği iyi ayarlanmalı
BGA | CEH
@BGASecurity
DNS Amplification DOS
Internette herkese açık dns sunucu sayısı ~600,000
DNS
sunucu
DOSYapan Kurban
DNS İsteği
SRC: Kurban
(60 byte)
EDNS Cevabı
(4000 byte)
DNS Amplification Saldırısı: ( 65 amplification )
DNS
sunucu
DNS
sunucu DNS
sunucu
BGA | CEH
@BGASecurity
DNS Trafiğini Yükseltici Olarak Kullanma
 Amplification saldırısı
 Çarşıdan aldık bir byte
eve geldik 10 byte...
 Sahte DNS istekleriyle
servis yorma
 Saniyede 50.000 dns
isteği ve olmayan
domainler için...
BGA | CEH
@BGASecurity
Amplified DNS DoS Saldırıları-I
 Bu saldırı tipinde gönderilen DNS isteğine dönecek cevabın
kat kat fazla olması özelliğini kullanır.
 Sisteme gönderilecek 50 byte’lık bir DNS isteğine 500
Byte~cevap döndüğü düşünülürse saldırgan elindeki bant
genişliğinin 10 katı kadar saldırı trafiği oluşturabilir.
BGA | CEH
@BGASecurity
Amplified DNS DoS Saldırıları-II
BGA | CEH
@BGASecurity
Amplified DNS DoS Saldırıları-III
Adım Adım DNS Amplification DoS Saldırısı
1.Adım: Saldırgan rekursif sorguya açık DNS sunucu bulur ve daha önce
hazırladığı özel alan adını sorgulatır (Gerçek hayatta özel bir alan adı değil “.”
sorgulanır.). Bu isteğin boyutu 50 Byte tutmaktadır.
2.Adım: Ara DNS sunucu kendi ön belleğinde olmayan bu isteği gidip ana DNS
sunucuya sorar (50 Byte)
3.Adım: Ana DNS sunucu test.bga.com.tr için gerekli cevabı döner (500~byte)
BGA | CEH
@BGASecurity
Amplified DNS DoS Saldırıları
Adım Adım DNS Amplification DoS Saldırısı-2
4. Adım: Ara DNS sunucu cevabo ön belleğine alarak bir kopyasını Saldırgana
döner. Burada amaç ARA DNS sunucunun dönen 500 Byte’lık cevabı ön belleğe
almasını sağlamaktır.
5.Adım: Test kullanıcısı (saldırganın kontrolünde) test.bga.com.tr alan adını
sorgular ve cevabın cachede olup olmadığını anlamaya çalışır.
6.Adım: Ara DNS sunucu ön belleğinden 500 byte cevap döner
BGA | CEH
@BGASecurity
Amplified DNS DoS Saldırıları
Adım Adım DNS Amplification DoS Saldırısı-3
7.Adım: Saldırgan Kurban’ın IP adresinden geliyormuş gibi sahte DNS paketleri
gönderir. DNS paketleri test.bga.com.tr’i sorgulamaktadır (ortalama 100.000
dns q/s). Bu üretilen paketlerin Saldırgana maliyeti 100.000 X53 Byte
8.Adım: Ara DNS sunucu gelen her paket için 500 Byte’lık cevabı Kurban
sistemlere dönmeye çalışacaktır. Böylece Ara DNS sunucu 100.000X500 Byte
trafik üreterek saldırganın kendi trafiğinin 10 katı kadar çoğaltarak Kurban’a
saldırıyor gözükecektir
BGA | CEH
@BGASecurity
Amplified DNS DoS Saldırıları
Adım Adım DNS Amplification DoS Saldırısı-4
BGA | CEH
@BGASecurity
Amplified DNS DoS Saldırıları
Adım Adım DNS Amplification DoS Saldırısı-4
BGA | CEH
@BGASecurity
Amplified DNS DoS Saldırıları
Örnek DNS Amplification DoS Saldırısı
DoS yapılacak Hedef Sistem: kurban.example.com (V)
Aracı olarak kullanılacak DNS sunucu: dns-sunucu.example.com (A)
Saldırgan ( C )
./amfdns –a dns-sunucu.example.com –t A –q . –target kurban.example.com
BGA | CEH
@BGASecurity
DNS Sunucularda Çıkan Buglar ve DOS
Yıl 2009 ...
Tek paketle DNS sunucuyu
durdurma saldırısı
%85 DNS sunucusu ISC Bind
BGA | CEH
@BGASecurity
BIND Dynamic Update DoS
 ISC bind 2009 Temmuz
 Bu tarihe kadarki tüm bind sürümlerini etkileyen “basit” ama
etkili bir araç
 Tek bir paketle Türkiye’nin internetini durdurma(!)
 Tüm büyük isp’ler bind kullanıyor
 Dns=udp=src.ip.spoof+bind bug
 %78 dns sunucu bu zaafiyete açık
 Sistem odalarında nazar boncuğu takılı
BGA | CEH
@BGASecurity
BGP Anonslarıyla DOS
 YouTube IP= 208.65.152.0/22 ( 210 IP adresi)
www.youtube.com -> 208.65.153.238, 239..
 Şubat 2008’de:
 Pakistan telekom youtube yasaklamak için 208.65.153.0/24 aralığını
anons etmeye başladı
 Spesifik prefixler daha önceliklidir(Routing karar mekanizmasında)
 Anons sonrası Internet youtube.com’u Pakistan Telekomda sanıyordu
 2 saatliğine kesinti
 Önlemi?
70
BGA | CEH
@BGASecurity
BGP Çalışma Mantığı
BGA | CEH
@BGASecurity
Mail Bombing
Farklı SMTP sunucular kullanarak farklı gönderici adreslerinden
tek bir adrese yönelik yoğun e-posta gönderimi.
72
BGA | CEH
@BGASecurity
Mail Bomb Örnek
73
BGA | CEH
@BGASecurity
Mailbomb Örnek
74
Mail bomb
yapan IP
adresi
BGA | CEH
@BGASecurity
Yerel Kaynak Tüketimi
75
@BGASecurity
Alternatif DDOS
Engelleme Yöntemleri
BÖLÜM - XVIII
BGA | CEH
@BGASecurity
Ülke Engelleme
 Estonya örneği
 Saldırı boyunca Estonya IP adresleri haricine internet kapatıldı
 İsrail örneği
 Mavi Marmara olayı süresince
Türkiye IP blokları engellendi.
 Akıllı saldırganların rahatlıkla
Aşabileceği bir engelleme
yöntemi
BGA | CEH
@BGASecurity
Router Üzerinden DDoS Engelleme
BGA | CEH
@BGASecurity
Router Üzerinden Juno Engelleme
 Synflood saldırılarında en sık kullanılan araç
 Source port numarası 1024 olan TCP paketlerini
engelle
 Source port numarası 3072 olan TCP paketlerini
engelle
BGA | CEH
@BGASecurity
Ağınızdan DDOS Yapılmasını Engelleme
 DDOS saldırılarında belirleyici iki temel etken:
 IP spoofing
 Bir ip adresinden anormal seviyede trafik gönderimi
 IP spoofing engelleme(ağınızdan dışarı doğru)
 URPF(Unicast Reverse Path Forwarding)
 block in from urpf-failed to any (OpenBSD PF)
 Ip başına anormallik tespiti
 Ourmon, Packet Filter rate limit
 Netflow/pfflowd
BGA | CEH
@BGASecurity
AntiSpoofing Özelliği (URPF)
BGA | CEH
@BGASecurity
BlackHole Routing
 Saldırı yapılan sisteme gelen paketleri backbone
routerdan null’a yönlendirme işlemi
 Amaç hedef sistem zarar görürken başka sistemlerin
zarar görmesini engelleme
ip route add blackhole 192.168.32.128/32
ip route 192.168.0.0 255.255.0.0 Null0
BGA | CEH
@BGASecurity
DNS Kullanarak DDoS Engelleme
www.lifeoverip.net 1400 IN A 91.93.119.87
www.lifeoverip.net 1400 IN A 91.93.119.80
www.lifeoverip.net 1400 IN A 91.93.119.81
www.lifeoverip.net 1400 IN A 91.93.119.85
www.lifeoverip.net 1400 IN A 91.93.119.86
TTL değeri 1400 saniye
Round-robin DNS
 Saldırı anında hangi IP Adresi hedef seçilmişse DNS’den o IP adresini anons
etmeyi bırakmak lazım
 Basit ama etkili bir yöntemdir
 Saldırgan inat ettiyse bu yöntemi bypass edebilir
 Nasıl ?
BGA | CEH
@BGASecurity
ISP’de Engelleme
Eğer yapılan saldırı belirli kaynak IP adreslerinden
yapılıyorsa ISP ile iletişime geçilerek ilgili IP Adresleri
için access list yazılması sağlanabilir
BGA | CEH
@BGASecurity
BotNet Engelleme
 Botnete üye olan makineler
merkezden yönetilirler
 Merkez sistemleri engelleme
çoğu zaman saldırıları
azaltmada işe yarayacaktır ve
sizin ağınızdan DDOS
yapılmasını engelleyecektir.
BGA | CEH
@BGASecurity
Zeus Tracker
Zeus BotnEt’in kullandığı
sistemlerin listesi engellenerek
botnet’e dahil sistemlerin
komut alması engellenir.
BGA | CEH
@BGASecurity
Kullanılmayan IP Bloklarını Engelleme
0.0.0.0/8 - Historical Broadcas
10.0.0.0/8 - RFC 1918 Private Network
127.0.0.0/8 - Loopback
169.254.0.0/16 - Link Local Networks
172.16.0.0/12 - RFC 1918 Private Network
192.0.2.0/24 -TEST-NET
192.168.0.0/16 - RFC 1918 Private Network
224.0.0.0/4 - Class D Multicast
240.0.0.0/5 - Class E Reserved
248.0.0.0/5 - Unallocated
255.255.255.255/32 - Broadcast
@BGASecurity
Devamı için sonraki bölümlere geçiniz.
bgasecurity.com | @bgasecurity

Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18

  • 1.
    @BGASecurity - 2014- BEYAZ ŞAPKALIHACKER EĞİTİMİ BÖLÜMLER XVI – XVII - XVIII
  • 2.
    @BGASecurity BGA Bilgi GüvenliğiA.Ş BGA Security Hakkında Siber güvenlik dünyasına yönelik, yenilikçi profesyonel çözümleri ile katkıda bulunmak amacı ile 2008 yılında kurulan BGA Bilgi Güvenliği A.Ş. stratejik siber güvenlik danışmanlığı ve güvenlik eğitimleri konularında büyük ölçekli çok sayıda kuruma hizmet vermektedir. Gerçekleştirdiği vizyoner danışmanlık projeleri ve nitelikli eğitimleri ile sektörde saygın bir yer kazanan BGA Bilgi Güvenliği, kurulduğu günden bugüne kadar alanında lider finans, enerji, telekom ve kamu kuruluşları ile 1.000'den fazla eğitim ve danışmanlık projelerine imza atmıştır. ARGE EĞİTİM MSSP PENTEST SOME / SOC SECOPS BGA | Hakkında
  • 3.
  • 4.
    BGA | CEH @BGASecurity HTTP’eGiriş  HTTP(Hypertext Transfer Protocol) OSI modelinde uygulama katmanında yer alan iletişim protokolüdür.  Günümüzde zamanımızın çoğunu geçirdiğimiz sanal dünyada en sık kullanılan protokoldür.(%96 civarında)  Transport katmanında TCP kullanır
  • 5.
    BGA | CEH @BGASecurity HTTPNasıl Çalışır?  Http istemci-sunucu mantığıyla çalışır  Önce TCP bağlantısı açılır, kullanıcı istek(HTTP isteği) gönderir sunucu da buna uygun cevap döner ve TCP bağlantısı kapatılır.  Her HTTP isteği için bir TCP bağlantısı gerekir.
  • 6.
    BGA | CEH @BGASecurity WebUygulama Bileşenleri  Kullanıcı  Web sunucu yazılımı  Web uygulama programlama dili  Veritabanı  ...
  • 7.
    BGA | CEH @BGASecurity HTTPİstek ve Cevapları  Web’in çalışma mantığı istek ve cevaplardan oluşur, istekler ve bunlara dönülecek cevaplar farklıdır.  Bu konuda detay için HTTP RFC’si 2616 incelenebilir.  HTTP isteklerinden önce mutlaka 3’lü el sıkışma tamamlanmalıdır!
  • 8.
    BGA | CEH @BGASecurity HTTPGET Paket Boyutu Ortalama 100-400 byte
  • 9.
    BGA | CEH @BGASecurity HTTPİstek Ve Cevapları
  • 10.
    BGA | CEH @BGASecurity HTTPve TCP ilişkisi  HTTP TCP kullanan bir protokoldür.  Her HTTP bağlantısı öncesinde mutlaka TCP bağlantısı kurulmalıdır.  Basit bir hesapla her HTTP bağlantısı için ortalama 10 adet TCP paketi gidip gelmektedir ▪ 3 adet TCP bağlantı başlangıcı ▪ 4 adet TCP bağlantı koparılması ▪ 2-3 adet de HTTP isteği ve buna dönecek cevap paketlerinin taşındığı TCP paketleri  HTTP’nin performansı TCP’e bağlıdır
  • 11.
    BGA | CEH @BGASecurity HTTPve TCP İlişkisi  Günümüzde normal bir haber portalının yüklenmesi için ortalama 40-50 HTTP GET isteği gönderilmektedir  ortalama 50X10=500 TCP paketinin gidip gelmesi gerekir  Ciddi performans sorunu vardır
  • 12.
    BGA | CEH @BGASecurity HTTPPerformansı İçin Ek Özellikler  KeepAlive ve Pipelining özellikleri eklenmiştir  HTTP/1.1 de her iki özellik de kullanılabilir  Hem sunucu hem de istemci bu özellikleri desteklemeli
  • 13.
    BGA | CEH @BGASecurity HTTPKeepAlive  HTTP KeepAlive(persistent connection)  HTTP Keep Alive özelliği her HTTP isteği için ayrı bir TCP bağlantısı açmak yerine bir adet TCP bağlantısı içerisinden belirli sayıda (5, 10, ..) HTTP isteğinin aktarılabilmesini sağlar.
  • 14.
    BGA | CEH @BGASecurity HTTPPipelining  Pipelining http isteklerinin eş zamanlı olarak gönderilmesi işlemidir  Genellikle Keep Alive kavramıyla karıştırılır fakat birbirlerinden farklı kavramlardır.  Klasik http bağlantılarında önce istek gönderilir, cevap beklenir, sonra tekrar istek gönderilir, cevabı beklenir  Pipelining kullanıldığında cevapları beklemeksizin birden fazla http isteği eş zamanlı olarak gönderilebilir
  • 15.
    BGA | CEH @BGASecurity Pipelining+KeepAlive Pipeliningve KeepAlive özelliği kullanılarak her istek için ek bir TCP bağlantısı açılmaz, tek bir TCP bağlantısı içerisinden eşzamanlı yüzlerce HTTP isteği gönderilebilir
  • 16.
    BGA | CEH @BGASecurity WebSunuculara Yönelik DOS Saldırıları Web sunucularına yönelik DOS/DDOS saldırılarında amaç sayfanın işlevsiz kalması ve o sayfa üzerinden verilen hizmetlerin kesintiye uğratılmasıdır.
  • 17.
    BGA | CEH @BGASecurity WebSunuculara Yönelik DOS/DDoS Saldırıları-II Web sunuculara yönelik yapılacak DOS saldırıları temelde iki türden oluşur; kaba kuvvet saldırıları (Flood) tasarımsal/yazılımsal eksikliklerden kaynaklanan zaafiyetler
  • 18.
    BGA | CEH @BGASecurity GET/POSTFlood Saldırıları  Synflood için önlem alınan yerlere karşı denenir  Daha çok web sunucunun limitlerini zorlayarak sayfanın ulaşılamaz olmasını sağlar  Önlemesi Synflood’a göre daha kolaydır  HTTP için IP spoofing “pratik olarak” imkansızdır.  Rate limiting kullanılarak rahatlıkla önlenebilir  False positive durumu  #ab –n 100000 –c 5000 http://www.google.com/
  • 19.
    BGA | CEH @BGASecurity KabaKuvvet (Flood) Saldırıları  Bu tip saldırılarda sunucu üzerinde ne çalıştığına bakılmaksızın eş zamanlı olarak binlerce istek gönderilir ve sunucunun kapasitesi zorlanır.  Literatürde adı “GET Flood”, “POST Flood” olarak geçen bu saldırılar iki şekilde yapılabilir.  Tek bir bilgisayardan  Botnet sistemlerden(binlerce farklı bilgisayar)
  • 20.
  • 21.
    BGA | CEH @BGASecurity HTTPGET Flood Saldırıları  Hedef sisteme binlerce HTTP GET paketi gönderilir  HTTP GET Flood yaparken tek bir kaynaktan gönderilecek paket sayısı sınırlıdır  IP spoofing yapılamaz  BotNet kullanılmadan yapılan saldırılar etkili olmaz  Küçük sistemlere karşı etkili olabilir
  • 22.
    BGA | CEH @BGASecurity HTTPFlood Test Araçları  Netstress  Ab  Siege  DOSHTTP  Skipfish  ....
  • 23.
    BGA | CEH @BGASecurity Ab(Apache Benchmark)  POST Flood  #ab -c 100 -p post1.txt -T application/x-www-form- urlencoded -n 10000 -r - q http://blog.lifeoverip.net/searcme.php  GET Flood  #ab -c 100 -n 10000 http://blog.lifeoverip.net/searcme.php
  • 24.
    BGA | CEH @BGASecurity HTTPGET Flood Saldırıları-II
  • 25.
    BGA | CEH @BGASecurity Tasarımsal/YazılımsalDoS Saldırıları  Kullanılan web sunucu yazılımında ya da programlama dilinde çıkan DoS zaafiyetleri  Apache slowloris  PHP “multipart/form-data” denial of service)  Nginx DoS  Captcha kullanılmayan formlar
  • 26.
    BGA | CEH @BGASecurity DOS/DDOSSaldırılarından Korunma Yöntemleri  Web sunuculara yönelik DOS/DDOS saldırılarından korunma diğer DOS/DDOS yöntemlerine göre daha zordur(synflood, udp flood, smurf vs).  HTTP Flood saldırıları Firewall/IPS gibi sistemler üzerinden engellenebilir fakat gerçek kullanıcıları da engelleme riski yüksektir  Bot üzerinden gelen saldırılarda gerçek kullanıcıyla saldırganı ayırd etmek çok zordur
  • 27.
    BGA | CEH @BGASecurity WebSunucu Yapılandırması  İstekleri daha rahat karşılayacak ve gerektiğinde belleğe alabilecek sistemler kullanılmalı Loadbalancer, reverse Proxy kullanımı (Nginx gibi)  Web sunucunun desteklediği dos koruma modülleri kullanılabilir (Apache Mod_dosevasive)
  • 28.
    BGA | CEH @BGASecurity Firewall/IPSÜzerinden Ek Ayarlar  Firewall/IPS ile belirli bir kaynaktan gelebilecek max. İstek/paket sayısı sınırlandırılmalı( rate limiting kullanımı)  HTTP isteklerini gönderecek IP adresleri sahte olamayacağı için rate limiting işlemi sağlıklı çalışacaktır  Eğer HTTP flood saldırısı Keep alive özelliğini kullanıyorsa Firewall HTTP istekleri içerisine bakmadığı için bunu engelleyemez  Tek bir TCP bağlantısı içerisinden 100 adet HTTP paketi geçirme
  • 29.
    BGA | CEH @BGASecurity Snortile HTTP Flood saldırıları Engelleme • Mantık basit: HTTP sunucuya gelebilecek HTTP isteklerini ip bazında sınırlama(TCP seviyesinde değil) • Her ip den anlık gelebilecek max HTTP GET/HEAD/POST isteği=100
  • 30.
    BGA | CEH @BGASecurity HTTPFlood engelleme  OpenBSD Packet Filter pass in log(all) quick on $ext_if proto tcp to $web_server port {80 443} flags S/SA synproxy state (max-src-conn 1000, max-src-conn-rate 100/3, overload <ddos_host> flush global) table <ddos_host> persist file /etc/ddos block in quick log on $ext_if from <ddos_host>  False positive durumuna karşı her saat başı yasaklı ip listesini sıfırla!  Sayfa yoğunluğuna göre Kurallar düzenlenmeli
  • 31.
    BGA | CEH @BGASecurity HTTPGet Flood Engelleme-II  Apache Loglarını inceleyen ve belirli bir değerin üzerinde istek gönderenleri iptables ile engelleyen bir script yazılabilir  Netstat ile establish olmuş bağlantılardan belirli değerin üzerindekileri engelleyen script yazılabilir  Apache dos engelleme modülleri kullanılabilir
  • 32.
    BGA | CEH @BGASecurity ÖzelBotNet Yasaklama Saldırı anında loglar incelenerek saldırıya özel bir veri alanı belirlenebilirse(User-Agent, Refererer vs) IPS üzerinden özel imzalar yazılarak bu veri alanına sahip paketler engellenebilir User-Agent: Zeus Referrer:http://www.example.com
  • 33.
    BGA | CEH @BGASecurity UDP Basit bir protokoldür  Herhangi bir onay mekanizması yoktur  Onay gerektiren durumlarda üst seviye protokoller veya yazılım geliştiriciler önlem almak zorunda  Ip spoofing yapılabilir  Broadcast çalışabildiğinden olduğundan ciddi DoS saldırılarında kullanılabilir  RFC’e göre  Açık UDP portuna gelen isteklere cevap dönülmez  Kapalı UDP portuna gelen isteklere ICMP Port unrc. Mesajı döner
  • 34.
    BGA | CEH @BGASecurity UDPİçin State Kavramı  Gerçek State durumu yoktur  TCP’deki gibi bayrak mekanizması yoktur  Firewall/IPS/DDoS sistemleri UDP bağlantısına ait state tutabilir  Kaynak ip adresi, kaynak port  Hedef ip adresi, hedef port  Zaman bilgileri kullanılır
  • 35.
    BGA | CEH @BGASecurity RFC’eGöre UDP UDP Kapalı Port UDP Açık Port
  • 36.
    BGA | CEH @BGASecurity UDPPaket Boyutu Ortalama 30 byte
  • 37.
    BGA | CEH @BGASecurity UDPFlood Saldırıları  UDP stateless bir protokol, yönetimi zor!  Paket boyutları küçük, etkisi yüksek  Amaç UDP servislerini çökertmekten çok aradaki güvenlik cihazlarının kapasitesini zorlayıp cevap veremez hale getirmektir.  Zaman zaman DNS sunuculara yönelik de yapılır  Syncookie/synproxy gibi kolay bir çözümü yok!  Denenmiş, kanıtlanmış standart bir çözüm bulunmamaktadır.
  • 38.
    BGA | CEH @BGASecurity UDPFlood Saldırıları-II  IP spoofing yapılabilir  hping –udp www.lifeoverip.net -p 53 -a www.teakolik.com  Paket boyutu ~ 30 byte  20Mb hat ile saniyede 90.000 pps üretilebilir. ▪ 20*1024*1024/8/30  UDP bağlantısının kapatılması için gerekli ortlama süre 60 saniye  Her gönderilen UDP paketi 60 saniye boyunca Firewall/IPS oturum kapasitesinde yer kaplayacaktır.
  • 39.
    BGA | CEH @BGASecurity UDPFlood saldırıları-III  Rastgele üretilmiş sahte ip adreslerinden saniyede 90.000 paket. Her paket için 60 saniye bekleme süresi  Piyasadaki çoğu Firewall/IPS ürününün kapasitesinin üzerinde
  • 40.
    BGA | CEH @BGASecurity Hpingİle UDP Flood Saldırısı Gerçekleştirme UDP Flood DNS Sunucu cevap veremiyor
  • 41.
    BGA | CEH @BGASecurity UDPFlood Korunma Yöntemleri  Genel geçer bir korunma yöntemi yoktur  Güçlü güvenlik duvarları tercih edilmeli  Router’lar üzerinden kullanılmayan UDP servislerini kapama  Kapalı UDP portları için cevap dönmeme  Belirli ip adresinden gelecek istekleri sınırlama  X saniyede Y’den fazla paket gönderen IP adresini karantinaya al  UDP timeout sürelerini değiştirme
  • 42.
    BGA | CEH @BGASecurity UDPFlood Korunma Yöntemleri-II  Kapalı UDP portlarına cevap dönmeme  RFC’ye göre kapalı bir UDP portuna gelen isteğe ICMP Dest. Port Unreachable mesajı dönülür  Kapalı porta gelen her UDP paketi için ICMP mesajı dönmek Firewall/IPS sistemini yorar  Güvenlik sistemleri kapalı udp portlarından cevap vermeyecek şekilde yapılandırılmalıdır
  • 43.
    BGA | CEH @BGASecurity UDPFlood Korunma Yöntemleri-III  Rate limiting kullanarak udp flood engelleme  Bir ip adresinden gelebilecek anlık/zamana bağlı UDP paket sayısını belirlemek ve eşik değerini aşan ip adreslerini belirli süreliğine engelleme yöntemidir.  UDP paketlerinde ip spoofing kontrolü yapılamayacağı için rate limiting kullanımı sıkıntı doğuracaktır.  Piyasadaki çoğu ürün UDP flood saldırılarını bu şekilde engellemektedir.
  • 44.
    BGA | CEH @BGASecurity UDPFlood Korunma Yöntemleri-IV  DFAS(Drop first, Accept Second) yöntemi  Normal durumda UDP isteği gönderen bir host karşı sistemden cevap alamazsa ilk UDP paketini tekrar gönderir (retransmission)  DDoS engelleme sistemi gelen tüm udp paketlerini drop edip aynı ip adresinden ikinci udp paketi geldiğinde kabul et şeklinde yapılandırılabilir.  %99 udp saldırıları için geçerli bir çözüm olacaktır  Saldırgan sahte ip adreslerinden gönderilecek paketleri ayarlayabileceği için sahte iplerden birden fazla udp paketi göndererek bu korumayı aşabilir.
  • 45.
    BGA | CEH @BGASecurity UDPFlood Korunma Yöntemleri-V  UDP timeout değerleri ile oynama  Bir UDP paketi güvenlik sisteminden izinli olarak geçtiğinde güvenlik sistemi belirli süreliğine bu UDP paketi için oturum bilgisi tutar.  Firewall’dan açık ama arka tarafta kapalı bir UDP portu varsa bu sisteme gönderilecek UDP istekleri için Firewall ortalama 60 saniye boyunca oturum bilgisi tutacaktır.  Firewall/IPS sistemleri üzerinden UDP timeout süreleri düşürülerek açıkta kalan udp oturumlarının hızlı kapatılması sağlanabilir
  • 46.
    @BGASecurity DNS Servisine Yönelik DDOSSaldırıları BÖLÜM - XVII
  • 47.
    BGA | CEH @BGASecurity Amaç Hizmet veren DNS sunucuların işlevsiz kalması  DNS , internetin en önemli protokolüdür  DNS’in çalışmadığı bir internet düşünülemez!  DNS’den önce nasıl işliyordu?  DNS sunuculara yönelik DoS/DDoS saldırıları özel anlam taşımaktadır  Tek bir paketle milyonlarca insanın internetinin çalışmaması sağlanabilir
  • 48.
    BGA | CEH @BGASecurity DNSServisine yönelik DDOS Saldırıları  DNS UDP üzerinden çalışır= kandırılmaya müsait servis  DNS = Internet’in en zayıf halkası  E-posta hizmetleri  Web sayfalarının çalışması  İnternetim çalışmıyor şikayetinin baş kaynağı   DNS sunuculara yönelik DDOS saldırıları  DNS yazılımında çıkan buglar  ENDS kullanımı ile amplification saldırıları  DNS sunucuların kapasitelerini zorlama
  • 49.
    BGA | CEH @BGASecurity DNSve UDP  DNS, UDP tabanlı bir protokoldür  UDP tabalı sistemlerde ip spoofing kolaydır
  • 50.
    BGA | CEH @BGASecurity DNSSorgu Çeşitleri Dns Query IterativeRecursive
  • 51.
    BGA | CEH @BGASecurity RecursiveDNS Sorgular Recursive dns sunucu demek saldırılarda kötü amaçlı kullanılabilecek dns sunucu demektir.
  • 52.
    BGA | CEH @BGASecurity DNS’eYönelik DDoS Saldırıları  Dns Flood Saldırıları  Amplified DNS DoS Saldırıları  DNS sunucu yazılımlarını hedef alan DoS Saldırıları
  • 53.
    BGA | CEH @BGASecurity DnsFloodSaldırıları  DNS sunucuya apoof edilmiş random ip adreslerinden yüzbinlerde sahte(gerçekte olmayan) domain isimleri için istek gönderme  Her gelen istek için DNS sunucunun root dnslere gidip yorulması ve gerçek isteklere cevap verememesi sağlanmaya çalışılır  DNS sunucunun kapasitesini zorlama
  • 54.
  • 55.
    BGA | CEH @BGASecurity DnsFlood Engelleme  IP başına yapılacak sorgu sayısını belirleme  DNS sunucuları ağın dışında güçlü sistemlerde tutma  Kiralama  Dağıtık DNS sunucu kullanımı  DNS sunucularını genele açmama  Saldırı anında gelen DNS isteklerini UDP’den TCP’e çevirip SYN Cookie/proxy çalıştırma
  • 56.
    BGA | CEH @BGASecurity AmplifiedDNS DoS Amaç: recursive dns sunuculara çeşitli paketler göndererek daha yüksek boyutlu cevaplar almak ve bu cevapları istenen bir IP Adresine yönlendirme
  • 57.
    BGA | CEH @BGASecurity DNSAmplification Saldırısı  UDP üzerinden taşınan dns paketleri 512 byten büyük olamaz  EDNS(RFC 2671) dns sorgularının cevapları 512 bytedan daha büyük olabilir  60 byte(dns isteği) gönderip cevap olarak 4000 byte alınabilir(cevap=56X istek)  10Mb bağlantıdan 10X65=650 Mbit trafik üretilebilir.  Koruma: recursive dns sorguları ve edns desteği iyi ayarlanmalı
  • 58.
    BGA | CEH @BGASecurity DNSAmplification DOS Internette herkese açık dns sunucu sayısı ~600,000 DNS sunucu DOSYapan Kurban DNS İsteği SRC: Kurban (60 byte) EDNS Cevabı (4000 byte) DNS Amplification Saldırısı: ( 65 amplification ) DNS sunucu DNS sunucu DNS sunucu
  • 59.
    BGA | CEH @BGASecurity DNSTrafiğini Yükseltici Olarak Kullanma  Amplification saldırısı  Çarşıdan aldık bir byte eve geldik 10 byte...  Sahte DNS istekleriyle servis yorma  Saniyede 50.000 dns isteği ve olmayan domainler için...
  • 60.
    BGA | CEH @BGASecurity AmplifiedDNS DoS Saldırıları-I  Bu saldırı tipinde gönderilen DNS isteğine dönecek cevabın kat kat fazla olması özelliğini kullanır.  Sisteme gönderilecek 50 byte’lık bir DNS isteğine 500 Byte~cevap döndüğü düşünülürse saldırgan elindeki bant genişliğinin 10 katı kadar saldırı trafiği oluşturabilir.
  • 61.
    BGA | CEH @BGASecurity AmplifiedDNS DoS Saldırıları-II
  • 62.
    BGA | CEH @BGASecurity AmplifiedDNS DoS Saldırıları-III Adım Adım DNS Amplification DoS Saldırısı 1.Adım: Saldırgan rekursif sorguya açık DNS sunucu bulur ve daha önce hazırladığı özel alan adını sorgulatır (Gerçek hayatta özel bir alan adı değil “.” sorgulanır.). Bu isteğin boyutu 50 Byte tutmaktadır. 2.Adım: Ara DNS sunucu kendi ön belleğinde olmayan bu isteği gidip ana DNS sunucuya sorar (50 Byte) 3.Adım: Ana DNS sunucu test.bga.com.tr için gerekli cevabı döner (500~byte)
  • 63.
    BGA | CEH @BGASecurity AmplifiedDNS DoS Saldırıları Adım Adım DNS Amplification DoS Saldırısı-2 4. Adım: Ara DNS sunucu cevabo ön belleğine alarak bir kopyasını Saldırgana döner. Burada amaç ARA DNS sunucunun dönen 500 Byte’lık cevabı ön belleğe almasını sağlamaktır. 5.Adım: Test kullanıcısı (saldırganın kontrolünde) test.bga.com.tr alan adını sorgular ve cevabın cachede olup olmadığını anlamaya çalışır. 6.Adım: Ara DNS sunucu ön belleğinden 500 byte cevap döner
  • 64.
    BGA | CEH @BGASecurity AmplifiedDNS DoS Saldırıları Adım Adım DNS Amplification DoS Saldırısı-3 7.Adım: Saldırgan Kurban’ın IP adresinden geliyormuş gibi sahte DNS paketleri gönderir. DNS paketleri test.bga.com.tr’i sorgulamaktadır (ortalama 100.000 dns q/s). Bu üretilen paketlerin Saldırgana maliyeti 100.000 X53 Byte 8.Adım: Ara DNS sunucu gelen her paket için 500 Byte’lık cevabı Kurban sistemlere dönmeye çalışacaktır. Böylece Ara DNS sunucu 100.000X500 Byte trafik üreterek saldırganın kendi trafiğinin 10 katı kadar çoğaltarak Kurban’a saldırıyor gözükecektir
  • 65.
    BGA | CEH @BGASecurity AmplifiedDNS DoS Saldırıları Adım Adım DNS Amplification DoS Saldırısı-4
  • 66.
    BGA | CEH @BGASecurity AmplifiedDNS DoS Saldırıları Adım Adım DNS Amplification DoS Saldırısı-4
  • 67.
    BGA | CEH @BGASecurity AmplifiedDNS DoS Saldırıları Örnek DNS Amplification DoS Saldırısı DoS yapılacak Hedef Sistem: kurban.example.com (V) Aracı olarak kullanılacak DNS sunucu: dns-sunucu.example.com (A) Saldırgan ( C ) ./amfdns –a dns-sunucu.example.com –t A –q . –target kurban.example.com
  • 68.
    BGA | CEH @BGASecurity DNSSunucularda Çıkan Buglar ve DOS Yıl 2009 ... Tek paketle DNS sunucuyu durdurma saldırısı %85 DNS sunucusu ISC Bind
  • 69.
    BGA | CEH @BGASecurity BINDDynamic Update DoS  ISC bind 2009 Temmuz  Bu tarihe kadarki tüm bind sürümlerini etkileyen “basit” ama etkili bir araç  Tek bir paketle Türkiye’nin internetini durdurma(!)  Tüm büyük isp’ler bind kullanıyor  Dns=udp=src.ip.spoof+bind bug  %78 dns sunucu bu zaafiyete açık  Sistem odalarında nazar boncuğu takılı
  • 70.
    BGA | CEH @BGASecurity BGPAnonslarıyla DOS  YouTube IP= 208.65.152.0/22 ( 210 IP adresi) www.youtube.com -> 208.65.153.238, 239..  Şubat 2008’de:  Pakistan telekom youtube yasaklamak için 208.65.153.0/24 aralığını anons etmeye başladı  Spesifik prefixler daha önceliklidir(Routing karar mekanizmasında)  Anons sonrası Internet youtube.com’u Pakistan Telekomda sanıyordu  2 saatliğine kesinti  Önlemi? 70
  • 71.
    BGA | CEH @BGASecurity BGPÇalışma Mantığı
  • 72.
    BGA | CEH @BGASecurity MailBombing Farklı SMTP sunucular kullanarak farklı gönderici adreslerinden tek bir adrese yönelik yoğun e-posta gönderimi. 72
  • 73.
  • 74.
    BGA | CEH @BGASecurity MailbombÖrnek 74 Mail bomb yapan IP adresi
  • 75.
    BGA | CEH @BGASecurity YerelKaynak Tüketimi 75
  • 76.
  • 77.
    BGA | CEH @BGASecurity ÜlkeEngelleme  Estonya örneği  Saldırı boyunca Estonya IP adresleri haricine internet kapatıldı  İsrail örneği  Mavi Marmara olayı süresince Türkiye IP blokları engellendi.  Akıllı saldırganların rahatlıkla Aşabileceği bir engelleme yöntemi
  • 78.
    BGA | CEH @BGASecurity RouterÜzerinden DDoS Engelleme
  • 79.
    BGA | CEH @BGASecurity RouterÜzerinden Juno Engelleme  Synflood saldırılarında en sık kullanılan araç  Source port numarası 1024 olan TCP paketlerini engelle  Source port numarası 3072 olan TCP paketlerini engelle
  • 80.
    BGA | CEH @BGASecurity AğınızdanDDOS Yapılmasını Engelleme  DDOS saldırılarında belirleyici iki temel etken:  IP spoofing  Bir ip adresinden anormal seviyede trafik gönderimi  IP spoofing engelleme(ağınızdan dışarı doğru)  URPF(Unicast Reverse Path Forwarding)  block in from urpf-failed to any (OpenBSD PF)  Ip başına anormallik tespiti  Ourmon, Packet Filter rate limit  Netflow/pfflowd
  • 81.
  • 82.
    BGA | CEH @BGASecurity BlackHoleRouting  Saldırı yapılan sisteme gelen paketleri backbone routerdan null’a yönlendirme işlemi  Amaç hedef sistem zarar görürken başka sistemlerin zarar görmesini engelleme ip route add blackhole 192.168.32.128/32 ip route 192.168.0.0 255.255.0.0 Null0
  • 83.
    BGA | CEH @BGASecurity DNSKullanarak DDoS Engelleme www.lifeoverip.net 1400 IN A 91.93.119.87 www.lifeoverip.net 1400 IN A 91.93.119.80 www.lifeoverip.net 1400 IN A 91.93.119.81 www.lifeoverip.net 1400 IN A 91.93.119.85 www.lifeoverip.net 1400 IN A 91.93.119.86 TTL değeri 1400 saniye Round-robin DNS  Saldırı anında hangi IP Adresi hedef seçilmişse DNS’den o IP adresini anons etmeyi bırakmak lazım  Basit ama etkili bir yöntemdir  Saldırgan inat ettiyse bu yöntemi bypass edebilir  Nasıl ?
  • 84.
    BGA | CEH @BGASecurity ISP’deEngelleme Eğer yapılan saldırı belirli kaynak IP adreslerinden yapılıyorsa ISP ile iletişime geçilerek ilgili IP Adresleri için access list yazılması sağlanabilir
  • 85.
    BGA | CEH @BGASecurity BotNetEngelleme  Botnete üye olan makineler merkezden yönetilirler  Merkez sistemleri engelleme çoğu zaman saldırıları azaltmada işe yarayacaktır ve sizin ağınızdan DDOS yapılmasını engelleyecektir.
  • 86.
    BGA | CEH @BGASecurity ZeusTracker Zeus BotnEt’in kullandığı sistemlerin listesi engellenerek botnet’e dahil sistemlerin komut alması engellenir.
  • 87.
    BGA | CEH @BGASecurity KullanılmayanIP Bloklarını Engelleme 0.0.0.0/8 - Historical Broadcas 10.0.0.0/8 - RFC 1918 Private Network 127.0.0.0/8 - Loopback 169.254.0.0/16 - Link Local Networks 172.16.0.0/12 - RFC 1918 Private Network 192.0.2.0/24 -TEST-NET 192.168.0.0/16 - RFC 1918 Private Network 224.0.0.0/4 - Class D Multicast 240.0.0.0/5 - Class E Reserved 248.0.0.0/5 - Unallocated 255.255.255.255/32 - Broadcast
  • 88.
    @BGASecurity Devamı için sonrakibölümlere geçiniz. bgasecurity.com | @bgasecurity