4. @BGASecurity
Eğitim Ders Planı BGA | Dos/DDoS
Ø I. Gün
Ø Temel Kavramlar, DoS/DDoS Saldırı Çeşitleri ve Araçları
Ø Türkiye Ve Dünyadan DDoS Saldırı Örnekleri
Ø TCP Flood DDoS Saldırıları
Ø Web Sunuculara Yönelik DDoS Saldırıları
Ø II.Gün
Ø DDoS Saldırı Analizi
Ø DDoS Engelleme Ürünleri
Ø DNS Güvenliği
Ø III.Gün
Ø DNS flood ddos saldırıları.
Ø Mail güvenliği ve ATM güvenliği
8. @BGASecurity
Eğitim İçeriği BGA | Dos/DDoS
v Temel TCP/IP güvenliği bilgisi
v Temel kavramlar, DoS/DDoS saldırıları ve çeşitleri
v Türkiye ve dünyadan DDoS saldırı istatistikleri
v Yerel ve kablosuz ağlarda “DoS”
v Syn Flood DDoS saldırıları
v Web sunuculara yönelik DDoS saldırıları
v UDP Flood saldırıları
v Dns kullanılarak yapılan DDoS saldırıları
v Uygulamaya özel DoS saldırıları
v DDoS saldırı analizi ve araçları
v DDoS engelleme ürünleri
v Alternatif DDoS engelleme yöntemleri
v OpenBSd Packet Filter DDoS koruma sistemi
v Güncel DDoS kaynakları
12. @BGASecurity
Neden TCP/IP Bilgisi BGA | Dos/DDoS
v Günümüzde içerisinde Ağ(network) kelimesi geçen her şeyin temeli TCP/IP’dir.
v TCP/IP detayları ne kadar iyi bilinirse network güvenliği ve network işlemleri o kadar kolay anlaşılabilir.
v TCP/IP bilgisi olmadan yönetilen network/güvenlik sistemleri her zaman bilinmeyen saldırılara açıktır.
v DDoS saldırıları ve engelleme yöntemleri tamamen TCP/IP bilgisine dayanır.
v TCP/IP bilmeden yönetilecek ağ güvenliği sistemleri alfabeyi iyi bilmeden yabancı dil konuşmak gibidir.
v Sadece kalıplaşmış işler yapılabilir.
19. @BGASecurity
ARP DOS BGA | Dos/DDoS
• Kurban Olarak bir Host/Network Seçilir.
• Gateway IP Adresi Öğrenilir.
• Kurban sisteme bozuk ARP-REPLY paketleri gönderilir.
• Gateway 00:00:00:00:02:01 adresinde
• Kurban ile Gateway arasında tüm iletişim durur!
• Kurban aynı ağdaki arkadaşlarıyla konuşabilirken diğer ağlara, internete erişimi kesilmiş olur
23. @BGASecurity
Internet Protocol BGA | Dos/DDoS
• Internetin Temel Yapıtaşı
• Güncel IP sürümü:v4
• Yakın gelecekteki IP sürümü:v6
• Ağlar arası yönlendirme işlemini yapar.
• Hata kontrol mekanizması yoktur.
• Gönderici ve Alıcı arasında bir kimlik doğrulama işlemi yoktur.
• DDoS açısından IP spoofing en ciddi problemdir.
28. @BGASecurity
IP Spoofing BGA | Dos/DDoS
• Ne anlama gelir?
• Hedef sisteme olduğundan farklı bir IP adresini kullanarak paket/veri gönderme.
• Genellikle saldırganların kimliğini gizleme amaçlı kullandıkları yöntemlerdendir.
• Günümüzde TCP üzerinde koşan uygulamalar için teorik olarak çalışsa da pratik olarak çalışması
imkansızdır.
• Proxy üzerinden ip değiştirme ip spoofing değildir
• Ücretsiz proxy hizmetleri üzerinden paket gönderimi
29. @BGASecurity
IP Spoofing-II BGA | Dos/DDoS
• IP korumasız, onaysız bir protokoldür.
• İstenilen IP adresi ile hedef sistemlere paket gönderilebilir.
• IP spoofing
• Daha üst katmandaki uygulamalar IP spoofing engellemek için ek önlemler almak zorundadır.
• TCP için random ISN numaraları vs
• Hangi uygulamarda yapılabilir.
• OSI’e göre 7. katmandaki protokollerde IP spoofing teoride mümkündür
• Pratikte imkansıza yakındır.
30. @BGASecurity
Hping Spoof Örneği BGA | Dos/DDoS
• Hping:TCP/IP paket üreteci
• İstenilen türde paket üretmeye yarar.
• Stateless paketler üretebilir(SMTP bağlantısı kuramaz, sadece SYN paketi vs gönderebilir)
• Hping –a parametresi kullanılarak gönderilecek paketlerin istenilen bir IP adresinden çıkması
sağlanabilir.
# hping -S -p 80 -a www.microsoft.com www.linux.com
HPING www.linux.com (bge0 140.211.167.55): S set, 40 headers + 0 data bytes
^C
--- www.linux.com hping statistic ---
3 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
37. @BGASecurity
Smurf Saldırısı Analizi BGA | Dos/DDoS
• Smurf saldırısı günümüzde çalışmaz. Neden?
• Linux sistemler(diğer işletim sistemleri de) broadcaste gelen ICMP isteklerine cevap vermezler.
• ICMP smurf saldırısının gerçekleşmesi için broadcaste gelen icmp paketlerine cevap verilmesi gerekir
• Linux için ICMP broadcaste cevap verme
• # sysctl net.ipv4.icmp_echo_ignore_broadcasts=0
net.ipv4.icmp_echo_ignore_broadcasts = 0
38. @BGASecurity
UDP(User Datagram Protocol) BGA | Dos/DDoS
• Gönder ve UNUT!
• Connectionless
• Sıra numarası kavramı yok
• Handshake yok
• Onay mekanizması yok
• Akış kontrolü yok.
• Hata kurtarma mekanizması yok!
• Zaman aşımı ve gelen cevaplara göre çalışır.
• Broadcast çalışabilir.
• IP spoofing için ek bir önlem yoktur
49. @BGASecurity
Initil Sequence Number (ISN) BGA | Dos/DDoS
• 32-bit’dir.
• 3’lü el sıkışmada ilk SYN paketinde ve ikinci SYN paketinde kullanılır.
• Bu değerin tahmin edilebilir olması TCP hijacking saldırılarına yol açabilir.
• Günümüz işletim sistemlerinde bu değer tahmin edilemeyecek* şekilde üretilir.
• *Tahmin edilmesi güçleştirilmiş random değerler.
• TCP’de IP spoofing yapılamamasının sebebi
54. @BGASecurity
Data Aktarımı
KONTROL
BGA | Dos/DDoS
TCP paket no 100 ve içerisinde 20 byte var
Tamamdır 120’yi aldım, 121’den başla
Bu TCP paketi 121 ve içerisinde 50 byte var
• Aktarılan her veri parçası için onay gerekir.
• Onay ACK bayrakları ile gerçekleşir.
• Data aktarımı PUSH bayrakları ile.
68. @BGASecurity
DHCP BGA | Dos/DDoS
• Dynamic Host Configuration Protocol(RFC 2131)
• DHCP ağdaki istemcilerin ağ ayarlarını otomatik almalarını sağlayan protokoldür.
• Otomatik Ağ Ayarları;
• IP Adresi
• Alt Ağ maskesi
• DNS sunucu
• Varsayılan Ağ geçidi
• Proxy adresi...
• UDP Tabanlı “broadcast” çalışan Protokol
• Hangi Portlardan Çalışır?
82. @BGASecurity
DNS Cache BGA | Dos/DDoS
• DNS cevapları sorgulayan taraflar tarafından belirli süreliğine hatırlanmak üzere kaydedilir.
• TTL( değeri alan adının sahibi tarafından belirlenir.
• TTL değerinin düşük olması
• Daha sık DNS sorgusu gerektirir.
• DNS sunucuyu yorar.
• TTL değerinin yüksek olması
• Daha az DNS sorgusu gerektirir, dns sunucuyu fazla yormaz.
• IP adresine ulaşılamayan durumlarda veya ip değişikliği durumlarında sisteme erişim sağlanmaz.
• Olumsuz cevaplar da kaydedilir.
• Olmayan domainlere yapılacak sorgulamalarda zaman kaybı olmasın diye
• DDoS saldırılarında oldukça faydalı olabilir.
• Nasıl?
89. @BGASecurity
TAP Kullanımı BGA | Dos/DDoS
• En sık sniffer yerleşiminde tercih edilir.
• IDS(Saldırı Tespit Sistemi) için zorunluluk
• Trafik analizi, izleme amaçlı
• Compliance, DLD(Data Leakage Detection)
• SPAN işleminin sınırlı sayıda olması
• Network yöneticileri SPAN alır, güvenlikciler analiz yapacak yer bulamaz.
• Inline ya da pasif olabilir.
100. @BGASecurity
Sniffer Olarak Wireshark BGA | Dos/DDoS
• Eski adı Ethereal
• Açık kaynak kodlu Sniffer aracı
• Grafik arabirimli/ komut satırı
• Bilinen çoğu işletim sistemlerinde çalışır
• Bilinen tüm protokolleri destekler
• Yakalanan paketleri kaydedebilme
• Kaydedilmiş paketleri diskten okuma
• Protokol renklendirme
103. @BGASecurity
Filtreler BGA | Dos/DDoS
Capture Filter
• Yakalanacak paketlere uygulanır.
• Tcpdump formatı ile aynıdır.
• Tcp port 22 and host vpn.lifeoverip.net
or icmp
• gibi
Display Filter
• Yakalanan paketler üzerinde analiz
yapılırken kullanılır.
• Farklı bir formata sahiptir.
• (Tcp.port eq 22) and (ip.addr eq
blabla...)
• Arabirimden filtre yazılabilir
107. @BGASecurity
Trafik Çıktılarını Anonimleştirme BGA | Dos/DDoS
• Trafik dosyaları hangi özel bilgileri içerebilir?
• -IP adresleri
• -MAC adresleri ve buradan da kullanılan donanımların türleri (Intel, Vmware, Cisco, Juniper vs)
• -Paketin veri kısmında kaydedilmiş diğer veriler
• Özel bilgi içerek tüm bileşenler rastgele verilerle değiştirilerek trafik kayıtlarının anonimleştirilmesi
sağlanabilir.
• Trafik anonimleştirme için çeşitli araçlar vardır
• Bunlardan en esnek ve kolay kullanıma sahip olanı tcprewrite
108. @BGASecurity
Tcpwrite ile Trafik Anonimleştirme BGA | Dos/DDoS
root@seclabs:~# tcpdump -n -r kayit1.pcap
02:45:05.597166 IP 192.168.56.101.22 > 192.168.56.1.3199: P 368772774:368772906(132) ack 2254292994 win 8576
02:45:05.597704 IP 192.168.56.1.3199 > 192.168.56.101.22: . ack 132 win 64675
02:45:07.204945 IP 192.168.56.1.137 > 192.168.56.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:07.807829 IP 192.168.56.1.3199 > 192.168.56.101.22: P 1:53(52) ack 132 win 64675
02:45:07.814418 IP 192.168.56.101.22 > 192.168.56.1.3199: P 132:184(52) ack 53 win 8576
02:45:07.954580 IP 192.168.56.1.137 > 192.168.56.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:08.058572 IP 192.168.56.1.3199 > 192.168.56.101.22: . ack 184 win 64623
02:45:08.704682 IP 192.168.56.1.137 > 192.168.56.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
Tcprewrite kullanarak hedef ve kaynak IP adreslerinin rastgele değişmesini sağlayalım.
root@seclabs:~# tcpdump -n -r kayit_random.pcap
02:45:05.597166 IP 214.92.41.183.22 > 214.92.41.191.3199: P 368772774:368772906(132) ack 2254292994 win 8576
02:45:05.597704 IP 214.92.41.191.3199 > 214.92.41.183.22: . ack 132 win 64675
02:45:07.204945 IP 214.92.41.191.137 > 214.92.41.131.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:07.807829 IP 214.92.41.191.3199 > 214.92.41.183.22: P 1:53(52) ack 132 win 64675
02:45:07.814418 IP 214.92.41.183.22 > 214.92.41.191.3199: P 132:184(52) ack 53 win 8576
02:45:07.954580 IP 214.92.41.191.137 > 214.92.41.131.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:08.058572 IP 214.92.41.191.3199 > 214.92.41.183.22: . ack 184 win 64623
109. @BGASecurity
Paket Boyutları BGA | Dos/DDoS
• DDoS saldırılarında paket boyutları çok önemlidir.
• Saldırganın ne kadar paket gönderebileceği, kurbanın ne kadar trafik kaldırabileceği paket boyutlarıyla
doğrudan orantılıdır.
• Genel geçer kural: paket boyutu küçüldükçe güvenlik sistemlerinin performansı düşer!
• Ortalama
• Bir TCP paketi 60 Byte
• Bir UDP paketi 40 Byte
• Bir HTTP paketi 400 Byte
110. @BGASecurity
100-1000 Mb ile Neler Yapılabilir BGA | Dos/DDoS
• Saldırı Tipine göre
• SYNFlood olursa
• [100 Mb 200.000 pps]
• [1Gb 2.000.000 pps]
• UDP flood olursa
• [100Mb 400.000pps]
• [1Gb 4.000.000 pps]
• GET Flood olursa
• [100Mb 32.000 pps]
• [1Gb 320.000 pps]
• 100Mb=100x1024Kb=100x1024x1024b=104857600bit
• 104857600bit/8=13107200byte/60=218.000 pps
120. @BGASecurity
Malware BGA | Dos/DDoS
• Kötücül yazılım
• Bilişim sistemlerine yüklenerek sistemi kötü amaçlı kullanımını sağlayan yazılım türü
• Malware bulaşan sistem zombi haline dönüşerek sahibinin isteklerini yerine getirmek için çalışır
• Spam gönderimi, ddos saldırısı,
• reklam tıklamaları vs gibi amaçlarla
• kullanılırlar.
122. @BGASecurity
Zombi/(ro)BOT BGA | Dos/DDoS
• Zombi: Emir kulu
• Çeşitli açıklıklardan faydalanılarak sistemlerine sızılmış ve arka kapı yerleştirilmiş sistemler
• Temel sebebi: Windows yamalarının eksikliği
• roBOT = Uzaktan yönlendirilebilir sistemler
• Zombi
• Dünyada milyonlarca vardır.
• Internet üzerinde bazı illegal sitelerde BotNet satış işlemleri gerçekleştirilmektedir.
141. @BGASecurity
DoS/DDoS Çeşitleri BGA | Dos/DDoS
• Bandwidth şişirme
• Udp flood, icmp flood (diğer tüm tipler)
• Kaynak tüketimi(Firewall, server)
• Synflood, ACK/FIN flood, GET/POST Flood, udp flood
• Programsal hata
• Bind DoS
• Protokol istismarı
• DNS amplification DoS
• Sahte IP kullanarak/ Gerçek IP kullanarak
179. @BGASecurity
Wikileaks DDoS Saldırıları BGA | Dos/DDoS
• Wikileaks olayının patlak vermesinden sonra çift taraflı DDoS saldırıları başladı
• Bir taraf Wikileaks.org sistemlerine yönelik saldırı başlattı
• Diğer taraf Wikileaks’e kapılarını kapatan firmalara(Paypal, Visa...) yönelik saldırı başlattı
• Gönüllü BotNet kurulumu konusunda ilk defa bu kadar yüksek seviyeye ulaşıldı!
• Gönüllü olarak botnete katılanların IP adresleri kayıt altına alındı.
182. @BGASecurity
Root DNS Sunucularına Yönelik DDoS BGA | Dos/DDoS
• Feb. 6, 2007:
• 13 Ana DNS sunucuya Botnet kullanarak DDoS yapıldı
• 2.5 saat sürdü
• DNS sunuculardan bazıları performans sıkıntısı yaşadığı için internet yavaşladı
• g-root (DoD), l-root (ICANN)
• 2002’de yapılan benzeri saldırı da 13 DNS sunucudan 9 tanesi devre dışı kalmıştı
183. @BGASecurity
Google DoS BGA | Dos/DDoS
• Firefox phishing/malware kouma özelliği:
§Browserlar kara listeyi Google’dan alırlar
• http://safebrowsing.clients.google.com/safebrowsing/gethash
§Bu liste zararlı url’lere ait hash değerlerini tutar
§Firefox bir URL’i açmadan bu listeyi sorgular
• 31 Ocak 2009 : Google listeye yanlışlıkla “/” ekledi
§55 dakika tüm siteler karalistede gözüktüğü için sorun yaşandı
§Sebep: insan hatası
193. @BGASecurity
Syn Flood DDoS Saldırıları BGA | Dos/DDoS
• TCP flood saldırılarında en etkili saldırı tipidir
• Hedef sistemin kaynaklarını tüketmek amaçlı gerçekleştirilir
• Internet dünyasında en sık gerçekleştirilen DDoS saldırı tipi
• Gerekli önlemler alınmamışsa 2Mb hat ile 100Mb hatta sahip olan sistemler devre dışı bırakılabilir.
• Saldırı yapması kadar korunması da kolaydır.
• Genellikle sahte IP adresleri kullanılarak gerçekleştirilir.
194. @BGASecurity
Syn Flood Sorunu Kaynağı BGA | Dos/DDoS
• Problem:
• SYN paketini alan sistemin SYN-ACK paketi gönderdikten sonra paketi gönderenin gerçek olup
olmadığını onaylamadan sistemden kaynak ayırması.
• Çözüm:
• Paketi gönderen IP adresinin gerçek olduğu belirlenmeden sistemden kaynak ayırılmamalı!
195. @BGASecurity
SYN BGA | Dos/DDoS
• TCP’e ait bir özelliktir.
• 8 TCP bayrağından biri
• TCP oturumlarını başlatmak için kullanılan TCP bayrağı
• Sadece oturumun başlangıç aşamasında görülür
• SYN paketleri veri taşıyamaz
• İstisna durumlar anormallik olarak adlandırılır
• Hping –p 8 0-S localhost –d 100 –E data komutuyla SYN bayraklı TCP paketine veri taşıttırılabilir.
198. @BGASecurity
TCP Handshake-II BGA | Dos/DDoS
• Handshake esnasında sunucu tarafında hangi bilgiler tutulur?
• TCP Control Block (TCB) tarafından aşağıdaki bilgileri tutulabilir
• > 280 byte
• FlowID, timer info, Sequence number, flow control status, out-of-band data, MSS, ..
• Half-open TCB verileri zaman aşımına kadar tutulur
• Kaynak yeterli değilse yeni bağlantı kabul edilmeyecektir
202. @BGASecurity
Nasıl Gerçekleştirilir? BGA | Dos/DDoS
• Syn Flood saldırısı basitce açık bir porta hedef sistemin kapasitesinden fazla gönderilecek SYN
paketleriyle gerçekleştirilir.
• Buradaki “kapasite” tanımı önemlidir.
• Teknik olarak bu kapasiteye Backlog Queue denilmektedir.
• İşletim sistemlerinde Backlog queue değeri değiştirilebilir
• Arttırılabilir, azaltılabilir
• Saldırıyı yapan kendini gizlemek için gerçek IP adresi kullanmaz
210. @BGASecurity
Gerçek IP SynFlood Analizi BGA | Dos/DDoS
• Gerçek ip adresleri kullanılarak gerçekleştirilecek SYN flood saldırısının etki seviyesi düşük
olacaktır.
• Neden?
• Gönderilen her gerçek SYN paketi sonrası gelecek SYN/ACK cevabına işletim sistemi
kızarak(kendisi göndermedi, özel bir araç kullanılarak gönderildi SYN paketi) RST paketi
dönecektir.
• Syn flood yapılan sistemde RST paketi alındığında oturum tablosundan ilgili ip adresine ait
bağlantılar silinecektir.
214. @BGASecurity
SynFlood DDoS Saldırıları Nasıl Anlaşılır? BGA | Dos/DDoS
• Temel mantık:
• Normalin üzerinden SYN paketi geliyorsa veya normalin üzerinde SYN_RECV durumu
gözüküyorsa SYN Flood olma ihtimali vardır.
• Linux/Windows sistemlerde netstat komutuyla SYN flood saldırısı anlaşılabilir.
• Linux için netstat komutu:
• Netstat –antgrep SYN_
• Windows için netstat komutu:
• Netstat –an –p tcp |find “SYN_RCVD”
217. @BGASecurity
Sahte Ip Kullanımının Dezavantajları BGA | Dos/DDoS
• Synflood saldırısında sahte IP adresleri kullanılırsa
• Her gönderilen SYN paketine karşılık hedef sistem sahte IP adreslerine SYN ACK paketi
dönecektir.
• Bu durumda sahte IP adreslerinin gerçek sahipleri sizden ACK flood saldırısı geliyormuş
zannedebilir
• Saldırgan belirli bir firmanın IP Adresinden geliyormuş gibi SynFlood Saldırısı gönderebilir
218. @BGASecurity
SynFlood Saldırılarını Engelleme BGA | Dos/DDoS
• Syn Flood Saldırısı gerçekleştirme çok kolaydır.
• Syn flood saldırılarını engellemek kolaydır.
• Syn flood saldırıları için tüm dünya iki temel çözümü kullanır
• Syn cookie
• Syn proxy
• Bu iki çözüm haricinde endüstri standartı haline gelmiş başka çözüm bulunmamaktadır
• Farklı adlandırmalar kullanılabilir (syn authentication gibi)
220. @BGASecurity
SynCookie Aktifken TCP Bağlantısı BGA | Dos/DDoS
• Syncookie aktif edilmiş bir sistemde gelen SYN paketi için sistemden bir kaynak ayrılmaz
• SYN paketine dönecek cevaptaki ISN numarası özel olarak hesaplanır
(kaynak.ip+kaynak.port+.hedef.ip+hedef.port+x değeri) ve hedefe gönderilir
• Hedef son paket olan ACK’i gönderdiğinde ISN hesaplama işlemi tekrarlanır ve eğer ISN numarası
uygunsa bağlantı kurulur
• Değilse bağlantı iptal edilir
222. @BGASecurity
Syn Cookie Ek Bilgiler BGA | Dos/DDoS
• Syncookie bazı sistemlerde belirli SYN paketi değerini aştıktan sonra devreye girer.
• Mesela saniyedeki SYN paketi sayısı
• SYN cookie de aradaki güvenlik sistemi SYN/ACK paketinde cookie cevabı döner. ,
• Bu cookie değeri ISN'dir.
• Cookie değeri nasıl hesaplanır
• MD5 hash (source address, port number, destination address, port number, ISN değeri (SYN
packet)
• Karşı taraftan gelecek ACK paketindeli onay numarası cookie+1 değilse paketi çöpe atar.
• cookie+1 ise oturum kurulur.
224. @BGASecurity
Syn Cookie-II BGA | Dos/DDoS
• Böylece spoof edilmiş binlerce ip adresinden gelen SYN paketleri için sistemde bellek
tüketilmemiş olacaktır ki bu da sistemin SYNflood saldırıları esnasında daha dayanıklı olmasını
sağlar.
• Syncookie mekanizması backlog queue kullanmadığı için sistem kaynaklarını daha az kullanır
• Syncookie aktif iken hazırlanan özel ISN numarası cookie olarak adlandırılır.
226. @BGASecurity
SynCookie Dezavantajları BGA | Dos/DDoS
• Syncookie’de özel hazırlanacak ISN’ler için üretilen random değerler sistemde matematiksel işlem
gücü gerektirdiği için CPU harcar.
• Eğer saldırının boyutu yüksekse CPU performans problemlerinden dolayı sistem yine darboğaz
yaşar.
• DDoS Engelleme ürünleri(bazı IPS’ler de ) bu darboğazı aşmak için sistemde Syncookie özelliği
farklı CPU tarafından işletilir.
227. @BGASecurity
SynCookie Dezavantajları-II BGA | Dos/DDoS
• Syncookie özelliği sadece belirli bir sistem için açılamaz.
• Ya açıktır ya kapalı
• Bu özellik çeşitli IPS sistemlerinde probleme sebep olabilir.
• Syncookie uygulamalarından bazıları TCP seçeneklerini tutmadığı için bazı bağlantılarda sorun
yaşatabilir.
230. @BGASecurity
SynProxy Dezavantajları BGA | Dos/DDoS
• Synproxy’de proxylik yapan makine state bilgisi tuttuğundan yoğun saldırılarda state tablosu
şişebilir.
• Synproxy ya hep açıktır ya da kapalı
• Belirli değerin üzerinde SYN paketi gelirse aktif et özelliği yoktur
232. @BGASecurity
Syn Flood Engelleme BGA | Dos/DDoS
• Synflood engelleme standartı:Syncookie/SynProxy
• Linux sistemlerde Syncookie ile yapılabilir
• Syncookie STATE tutmaz, state tablosunu kullanmaz
• OpenBSD PF Synproxy
• En esnek çözüm: ip, port, paket özelliklerine göre aktif edebilme ya da kapatabilme özelliği
• pass in log (all) quick on $ext_if proto tcp to $web_servers port {80 443} flags S/SA synproxy
state
• (Loglama sıkıntı çıkarabilir)
233. @BGASecurity
SynFlood Engelleme-II BGA | Dos/DDoS
• TCP timeout değerleriyle oynama
Ø Default değerler yüksektir...
Ø Saldırı anında dinamik olarak bu değerlerin 1/10’a düşürülmesi saldırı etkisini azaltacaktır.
• Linux için sysctl ile (manuel)
• OpenBSD PF için
Ø set timeout {tcp.first 10, tcp.opening 10 tcp.closing 33, tcp.finwait 10, tcp.closed 20} gibi...
Ya da
• Packet Filter adaptive timeout özelliği!
• State tablosu dolmaya başladıkça timeout değerlerini otomatik azalt!
235. @BGASecurity
SynFlood Engelleme-IV BGA | Dos/DDoS
• Beyaz liste, kara liste uygulaması
Ø Daha önce state oluşturmuş, legal trafik geçirmiş ip adresleri
• Ülkelerin IP bloklarına göre erişim izni verme
Ø Saldırı anında sadece Türkiye IP’lerine erişim açma
• (IP spoofing kullanıldığı için çoğu zaman işe yaramaz)
• DNS round-robin & TTL değerleriyle oynayarak engelleme
237. @BGASecurity
SynProxy Dezavantajları BGA | Dos/DDoS
• SynProxy=State=Ram gereksinimi
• State tablosu ciddi saldırılarda çok çabuk dolar
Ø 100Mb~=200.000 SYN=200.000 State
Ø 40 saniyede 8.000.000 state = ~5GB ram ...
• Tcp timeout değerlerini olabildiğince düşürmek bir çözüm olabilir
Ø Timeout süresi 5 saniye olursa?
(Genel Çözüm: Stateless SynProxy çözümü)
238. @BGASecurity
Rate Limiting Dezavantajları BGA | Dos/DDoS
• Akıllı saldırganın en sevdiği koruma yöntemidir.
• Paket gönderen IP adresinin gerçek olup olmadığı belirlenmeden gerçekleştirilecek rate limiting
ciddi sıkıntılara sebep olabilir.
ØSaldırgan istediği IP adresini rate limiting yapan sisteme engellettirebilir.
• Nasıl belirlenir?
ØHedef sisteme belirli sayının üzerinde SYN paketi gönderilir.
ØBir müddet beklendikten sonra bağlantı kurulmaya çalışılır.
• Hedef sistem cevap dönmüyorsa rate limiting özelliği devreye girmiş ve paket gönderen tarafı
engellemiştir.
239. @BGASecurity
ACK, FIN, PUSH Flood Saldırıları BGA | Dos/DDoS
• SynFlood’a karşı önlem alınan sistemlerde denenir.
• Hedef sisteme ACK, FIN, PUSH bayraklı TCP paketleri göndererek güvenlik cihazlarının kapasitesini
zorlama
• Diğer saldırı tiplerine göre engellemesi oldukça kolaydır.
• Etki düzeyi düşüktür.
242. @BGASecurity
HTTP’e Giriş BGA | Dos/DDoS
• 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 (%96 civarında)
protokoldür.
• Transport katmanında TCP kullanır
248. @BGASecurity
HTTP ve TCP İlişkisi BGA | Dos/DDoS
• 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
251. @BGASecurity
HTTP KeepAlive BGA | Dos/DDoS
• 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.
252. @BGASecurity
HTTP Pipelining BGA | Dos/DDoS
• 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
256. @BGASecurity
GET/POST Flood Saldırıları BGA | Dos/DDoS
• 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/
264. @BGASecurity
DoS/DDoS Saldırılarından Korunma Yöntemleri BGA | Dos/DDoS
• 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ırt etmek çok zordur.
268. @BGASecurity
HTTP Flood Engelleme BGA | Dos/DDoS
• 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
269. @BGASecurity
HTTP Get Flood Engelleme-II BGA | Dos/DDoS
• 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 üzerindekilaeri engelleyen script
yazılabilir.
• Apache dos engelleme modülleri kullanılabilir
270. @BGASecurity
Özel BotNet Yasaklama BGA | Dos/DDoS
• 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
272. @BGASecurity
UDP BGA | Dos/DDoS
• 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
273. @BGASecurity
UDP İçin State Kavramı BGA | Dos/DDoS
• 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
276. @BGASecurity
UDP Flood Saldırıları BGA | Dos/DDoS
• 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.
277. @BGASecurity
UDP Flood Saldırıları-II BGA | Dos/DDoS
• IP spoofing yapılabilir.
Ø hping –udp www.lifeoverip.net -p 53 -a www.microsoft.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.
280. @BGASecurity
UDP Flood Korunma Yöntemi BGA | Dos/DDoS
• 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
282. @BGASecurity
UDP Flood Korunma Yöntemleri-III BGA | Dos/DDoS
• 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.
283. @BGASecurity
UDP Flood Korunma Yöntemleri-IV BGA | Dos/DDoS
• 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.
284. @BGASecurity
UDP Flood Korunma Yöntemleri-V BGA | Dos/DDoS
• 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
286. @BGASecurity
DDoS Saldırı Analizi BGA | Dos/DDoS
• DDoS saldırılarında dikkate alınması gereken iki temel husus vardır.
Ø İlki saldırıyı engelleme
Ø ikincisi saldırının kim tarafından ne şiddete ve hangi yöntemler, araçlar kullanılarak
yapıldığının belirlenmesidir.
• Analiz kısmı genellikle unutulur fakat en az engelleme kadar önemlidir
Ø Aynı saldırı tekrar ederse nasıl engelleme yapılacağı konusunda yol haritası çıkarılmış olmalı
287. @BGASecurity
DDoS Analizi İçin Gerekli Yapının Kurulması BGA | Dos/DDoS
• Amaç DDoS saldırılarında otomatik olarak devreye girip saldırıya ait delil olabilecek paketlerin kaydı.
• Saldırı anında paketler kaydedilirse saldırıya ait tüm detaylar istenildiği zaman öğrenilebilir.
• Paket kaydı hedef sistem üzerinde (Windows/Linux) veya ağ ortamında TAP/SPAN portu aracılığıyla
yapılabilir.
• Paket kaydında tcpdump, Wireshark kullanılabilir
293. @BGASecurity
DDoS Saldırılarında Delil Toplama BGA | Dos/DDoS
• DDoS saldırılarında sonradan incelenmek üzere paketler kaydedilmelidir.
• Kaydedilen trafik miktarına bağlı olarak ciddi sistemlere(CPU, RAM, Disk alanı bakımından)
ihtiyaç olabilir.
• Paket kaydetme işlemi kesinlikle aktif cihazlar tarafından (IPS, DDoS engelleme Sistemi,
Firewall) yapılmamalıdır.
• Tüm paket detayları kaydedilmelidir!
Ø Tcpdump –s0
306. @BGASecurity
Saldırı Kaynağını Belirleme BGA | Dos/DDoS
• DDoS saldırılarında en önemli sorunlardan biri saldırıyı gerçekleştiren asıl kaynağın
bulunamamasıdır.
• Bunun temel sebepleri saldırıyı gerçekleştirenlerin zombie sistemler kullanarak kendilerini
saklamaları ve bazı saldırı tiplerinde gerçek IP adresleri yerine spoof edilmiş IP adreslerinin
kullanılmasıdır.
• Saldırı analizinde saldırıda kullanılan IP adreslerinin gerçek IP’ler mi yoksa spoofed IPler mi olduğu
rahatlıkla anlaşılabilir.
308. @BGASecurity
Spoof IP Belirleme BGA | Dos/DDoS
• Saldırının gerçek IP adreslerinden mi Spoof edilmiş IP adreslerinden mi gerçekleştirildiği nasıl
belirlenebilir?
Ø Internet üzerinde sık kullanılan DDoS araçları incelendiğinde IP spoofing seçeneği aktif
kullanılırsa random üretilmiş sahte IP adreslerinden tek bir paket gönderildiği görülecektir.
• Fazla sayıda tek bağlantı gözüküyorsa saldırının spoof edilmiş IP adresleri kullanılarak
gerçekleştirildiği varsayılabilir.
311. @BGASecurity
GET Flood Saldırısında Kullanılan IP Adresleri BGA | Dos/DDoS
• HTTP GET flood saldırılarında IP spoofing yapmak mümkün değildir.
• Bir sistem HTTP isteği gönderebilmesi için öncelikli olarak 3lü el sıkışmasını tamamlaması
gerekmektedir.
• Günümüz işletim sistemi/ağ/güvenlik cihazlarında 3’lü el sıkışma esnasında TCP protokolünü
kandırarak IP spoofing yapmak mümkün gözükmemektedir.
• Dolayısıyla HTTP GET flood saldırıları analizinde saldırı yapan IP adresleri %99 gerçek IP adreslerdir.
324. @BGASecurity
Güvenlik Duvarları ve DDoS Saldırıları BGA | Dos/DDoS
• Güvenlik duvarları DDoS saldırıları engelleme amaçlı düşünülmemiştir
Ø İstisnalar mevcuttur, Packet Filter gibi
• Genellikle izin ver, engelle, session tut gibi özelliklere sahiptir
Ø Bazı Firewallar syn cookie, syn proxy, rate limiting özelliklerine sahiptir
• Session tabloları sınırlıdır
Ø Max değer 10.000.000
• Donanım tabanlı olmayanlar ciddi saldırılar karşısında işe yaramaz
325. @BGASecurity
Linux Iptables BGA | Dos/DDoS
• Linux işletim sistemi syncookie özelliğine sahiptir.
Ø Fakat bu özellik sadece işletim sisteminin kendini korumak içindir.
Ø Linux iptables tarafından korunan sistemlere doğru syncookie özelliği yoktur.
• Rate limiting özelliği vardır fakat tasarım hatasına sahiptir!
• Ciddi saldırılar karşısında yetersizdir!
iptables -I INPUT -p tcp --dport 25 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
328. @BGASecurity
OpenBSD Packet Filter BGA | Dos/DDoS
• DDoS engelleme amaçlı geliştirilmiş güvenlik duvarı
• Her tür engelleme özelliği bulunmaktadır
Ø Syn proxy
Ø Rate limiting
Ø IP başına session limit, zaman limiti
Ø Sahte ip geçirmeme özelliği
Ø FIN,ACK,NULL Flood özellikleri
Ø Adaptive timeout özelliği
Ø ...
• 1 Gb’e kadar DDoS saldırılarında rahatlıkla kullanılabilir
329. @BGASecurity
CheckPoint BGA | Dos/DDoS
• En fazla tercih edilen Güvenlik duvarı yazılımı
• Donanım versiyonları da vardır fakat Intel tabanlıdır.
Ø İstisnalar mevcut olabilir.
• Eski tip DoS/DDoS saldırılarına karşı Smartdefense eklentisi kullanılabilir.
• Yeni tip DDoS saldırılarına karşı dayanıksızdır!
• Rate limiting özelliği vardır
Ø IP başına zamana bağlı paket geçirme
334. @BGASecurity
Netscreen BGA | Dos/DDoS
• Donanım tabanlı güçlü sistemlerdir.
• Eski tip ve yeni ddos saldırılarına karşı çeşitli özellikler barındırmaktadır.
• IP spoofing koruma
• Syn cookie özelliği
• Udp flood, icmp flood özellikleri
• IP başına session, paket belirleme
• Kandırmaya açıktır!
Ø Spoof edilmiş ip adreslerinden UDP istekleri gelirse??
337. @BGASecurity
Fortinet BGA | Dos/DDoS
• Güçlü donanımsal güvenlik duvarlarından biri
• Pazar payı gün geçtikçe artmaktadır.
• Alternatif güvenlik duvarlarında bulunan özelliklerin çoğunu barındırır.
• Yeni sürümlerinde DDoS engelleme özellikleri de gelmektedir.
• Akıllı DDoS engelleme/Botnet keşif özellikleri yoktur.
• Eski ve yeni tip DDoS saldırılarını engelleyebilir.
341. @BGASecurity
Snort ve DoS Saldırıları BGA | Dos/DDoS
• Snort DDoS saldırılarına karşı korumada yetersiz bir sistemdir
Ø Syncookie koruma özelliği yok
Ø Spoofed IP’lerden yapılan saldırılar karşısında performansı kötü
• Rate limiting yapılabilir
Ø Belirli bir IP’den gelen atakları durdurabilir
Ø Bot’ları engellemede kullanılabilir.
• Snort yerine bu iş için en ideal çözüm olan OpenBSD/FreeBSD Packet Filter kullanılabilir.
342. @BGASecurity
Snort ve DoS Saldırıları-II BGA | Dos/DDoS
• Eski tip DoS araçlarını tanır.
• RBN tanır.
• Kural yazılırsa GET flood , POSt Flood, DNS flood gibi uygulama seviyesi DDoS ataklarını
yakalayabilir, engelleyebilir.
• Synflood tanır ama engelleme modülü yok!
• Spoof edilmemiş IP adreslerinden gelen Synflood ataklarını engelleyebilir.
• Udp flood engelleyebilir.