DoS DDoS Saldırıları ve Korunma Yöntemleri Kitabı

Embed Size (px)

DESCRIPTION

Huzeyfe ÖNAL tarafından

Citation preview

  • 1. DOS/DDOS Saldrlar, Savunma Yollar ve zm nerileri Huzeyfe NAL

2. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 2 ERK TABLOSU DOS/DDOS Saldrlar .................................................................................... 7 Genel Tanmlar............................................................................................ 7 DOS/DDOS Saldrlar................................................................................. 7 Neden Kaynaklanr?................................................................................... 8 (D)DOS eitleri.......................................................................................... 8 Sonularna gre (D)DOS eitleri ........................................................... 8 Yapl ekline gre (D)DOS eitleri ....................................................... 9 Synflood (D)DOS Saldrlar ...................................................................... 9 Synflood yapldn nasl anlarsnz? ..................................................... 10 HTTP Get Flood Saldrlar...................................................................... 10 Interneti durdurma(DNS DOS)Saldrlar................................................ 11 Trkiyede DOS Saldrlar Asndan Gncel Durum............................... 12 Korunma Yollar ve Yntemleri .................................................................. 13 Router(Ynlendirici) Seviyesinde Koruma............................................. 13 Gvenlik Duvar Seviyesinde Koruma.................................................... 14 Gvenlik duvar zerinde n tanml ayarlarn deitirilmesi................... 14 TCP ve UDP paketleriyle ilgili oturum bilgilerinin varsaylan deerlerinin deitirilmesi............................................................................................ 15 Saldr Tespit ve Engelleme (NIPS) Seviyesinde Koruma..................... 15 Basit bir SYNFlood nlemi ...................................................................... 16 Web Sunuculara Ynelik Koruma........................................................... 16 letim sistemleri zerinde basit koruma ayarlar ................................. 17 Synflood saldrlarna kar koruma......................................................... 17 Anzdan DOS/DDOS yaplmasn Engelleme....................................... 17 SynFlood DDOS Saldrlar.......................................................................... 18 Nedir? ........................................................................................................ 18 SYN Flood Saldrlarnn Temel Kayna ................................................ 18 Temel TCP bilgisi...................................................................................... 19 TCP Balantlarnda Bayrak Kavram (TCP Flags) ................................ 19 TCP Oturum balatma ............................................................................ 20 TCP Oturum Sonlandrma....................................................................... 22 Balant sonlanmas esnasnda oluan durumlar: .................................. 22 SynFlood Saldrlar Nasl Gerekletirilir?............................................ 24 Backlog queue kavram ........................................................................... 24 Synflood matematik hesab..................................................................... 25 SynFlood DDOS Saldrs Nasl Anlalr?.............................................. 25 SynFlood Saldr Testleri ......................................................................... 26 Scapy ile basit Synflood arac ................................................................. 27 Hping Kullanarak SYNflood Testleri........................................................ 27 SYNFlood Saldrs Esnasnda Yaplacaklar .......................................... 28 lkeye gre IP bloklama .......................................................................... 29 3. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 3 Trkiye IP Bloklar Nereden Edinilebilir ................................................. 29 Synflood nleme Yntem ve eitleri....................................................... 29 Syncookie Nasl alr? .......................................................................... 30 Syn cookie dezavantajlar........................................................................ 30 SynCache nasl alr? ........................................................................... 31 Syn Proxy nasl alr? ........................................................................... 31 Anzdan SYN Flood yaplmasn Engelleme........................................... 32 OpenBSD PF ile URPF kullanm?........................................................... 32 Snort Kullanarak SYNFlood saldrlarnn Belirlenmesi........................ 33 letim Sistemlerinde SYNFlood Korumas ............................................... 33 Backlog Queue deerini arttrma............................................................ 33 Linux iin backlog queue deerini arttrma.............................................. 34 FreeBSD backlog queue deeri arttrma................................................. 34 Zaman am(Timeout) deerlerini drme ........................................... 34 Syncookie aktivasyonu............................................................................ 34 Web Sunuculara Ynelik DoS/DdoS Saldrlar......................................... 36 HTTPe Giri.............................................................................................. 36 HTTP Nasl alr? ................................................................................ 36 Klasik bir HTTP istei.............................................................................. 37 HTTP isteine dnebilecek cevaplar....................................................... 37 HTTP ve TCP ilikisi................................................................................. 37 Http Pipelining .......................................................................................... 39 Web Sunuculara Ynelik DOS Saldrlar ............................................... 39 Kaba kuvvet DOS/DDOS Saldrlar........................................................ 40 Yazlmsal ya da tasarmsal eksikliklerden kaynaklanan DOS/DDOS Saldrlar................................................................................................. 41 Web sunucularna ynelik performans test aralar ................................ 41 Ab(ApacheBenchmark) kullanarak yk testi ........................................... 42 DOS/DDOS Saldrlarndan Korunma Yntemleri................................... 42 Sonu......................................................................................................... 43 DNS Hizmetine Ynelik DoS/DdoS Saldrlar............................................ 44 DNS Hakknda Temel Bilgiler .................................................................. 45 DNS Nedir? ............................................................................................. 45 DNS Protokol Detay ............................................................................... 45 Detayl DNS balk bilgisi incelemesi iin http://www.networksorcery.com/enp/protocol/dns.htm adresinden faydalnabilir. ........................................................................................... 46 DNS Paket boyutu................................................................................... 46 DNS Kayt Tipleri..................................................................................... 47 DNS Sorgulamalar ................................................................................. 48 DNS Sorgulamalarn Yorumlama - Dig .................................................. 48 4. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 4 DNS Sorgu eitleri ................................................................................ 51 DNS Sunucu Yazlmlar........................................................................... 55 DNS Sunucu Tipini Belirleme.................................................................. 55 stee Gre DNS Paketi retmek ........................................................... 56 DNS Gvenlik Zafiyetleri.......................................................................... 59 2011 Yl ISC Bind Yazlmnda km Gvenlik Zafiyetleri ................... 59 DNS Protokolnde IP Sahtecilii ( IP Spoofing).................................... 60 Kaynak Portun Rastgeleliinin Sorgulanmas ......................................... 61 DNS Transaction ID Deerinin Rastgeleliinin Sorgulanmas ................ 61 DNS ve TCP likisi ................................................................................. 62 DNSe Ynelik DoS ve DDoS Saldrlar.................................................. 66 Yazlm Temelli DoS Saldrlar ............................................................... 66 DNS Flood DoS/DDoS Saldrlar............................................................ 67 DNS Flood DDoS Saldrlar ........................................................................ 68 DNS Flood ve UDP Flood DDoS Saldrlar Arasndaki Farklar .............. 68 Netstress Kullanarak DNS Flood DDoS Ata Gerekletirme ............... 70 Saldrlarda Sahte(spoofed) IP Adreslerinin Kullanm............................ 71 Bilinen DNS Sunucu IP Adreslerinden DNS Flood Gerekletirme ........ 73 DNS Performans lm........................................................................ 74 Amplified DNS DoS Saldrlar................................................................. 77 Adm Adm DNS Amplification DoS Saldrs .......................................... 77 rnek DNS Amplified DoS Saldrs........................................................ 80 DNS Flood DDoS Saldrlarn Yakalama ................................................ 80 DNS Flood DDoS Saldrlarn Engelleme............................................... 80 DNS Flood saldrlarn engellemek iin kullanlan temel yntemler: ...... 80 Rate Limiting Yntemi ............................................................................. 80 DFAS....................................................................................................... 81 DNS Caching Cihazlarn Atlatma Saldrlar........................................... 83 DdoS Saldr Analizi ve Adli Biliim ncelemesi........................................ 85 DDoS Analizi in Gerekli Yapnn Kurulmas ........................................... 85 Saldr Analizinde Cevab Aranan Sorular.............................................. 86 Alet antasnda Bulunmas Gereken Aralar ........................................ 86 DDoS Saldr Tespit Sistemleri................................................................ 86 DDoS Saldrlarnda Delil Toplama.......................................................... 87 Paket Kaydetme........................................................................................ 88 Tcpdump ile paket kaydetme .................................................................. 88 DDoS Saldr Tipi Belirleme ..................................................................... 88 TCP Bayraklar Kullanlarak Gerekletirilen DDoS Saldrlar ............ 91 SYN Flood Saldrs Analizi ..................................................................... 91 Saldrnn iddetini Belirleme.................................................................. 92 Saldr Kaynan Belirleme ..................................................................... 93 Saldrda Kullanlan Top 10 IP Adresi ..................................................... 95 5. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 5 HTTP GET Flood Saldrsnda Kullanlan IP Adresleri............................ 95 Saldrda Kullanlan IP Adresleri Hangi lkeden?................................. 97 Saldr Paketlerini Pasif Snort Sisteminden Geirme............................ 97 NTP Servisi Kullanarak Gerekletirilen Amplification DDoS Saldrlar........ 99 Hping Nedir? .............................................................................................. 110 Hpingin kullanlaca alanlar................................................................ 110 Nasl Edinebilirim? ................................................................................. 110 Temel Hping Kullanm .............................................................................. 111 Hping versiyonu renme ..................................................................... 112 Hping alma Modlar........................................................................... 112 Hping ile paket gnderimi...................................................................... 112 TCP Paketleriyle Oynama ...................................................................... 113 TCPdeki bayraklar ve hping parametreleri ........................................... 114 Hping ktsn yorumlama..................................................................... 115 Hping kullanmnda port belirtimi........................................................... 116 RST Bayrakl TCP paketleri olusturmak................................................ 116 Ayn pakette birden fazla bayrak kullanm ........................................... 117 IP Paketleriyle Oynama ............................................................................. 117 Hping ile spoof edilmi paketler oluturma(IP Spoofing)................... 117 ICMP Paketleriyle Oynama........................................................................ 119 Broadcast ICMP Paketleri ..................................................................... 121 UDP Paketleriyle Oynama ......................................................................... 122 UDP kullanarak traceroute .................................................................... 122 Broadcast UDP Paketleri ...................................................................... 123 6. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 6 Giri DOS/DDOS saldrlar internet dnyasnn balangcndan beri nemi hi eksilmeyen bir tehdit olarak bilinmektedir. Gvenlik aklklar kapatlsa da TCP/IP protokol yaps deimeden bu soruna kesin zm bulunamayacaktr. Bu kitapta DOS, DDOS saldrlar hakknda genel bilgi, gncel rnekler ve zm yollar anlatlmtr. 7. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 7 DOS/DDOS Saldrlar Genel Tanmlar DOS (Denial Of Service): Herhangi bir sistemi, servisi, a ilevini yerine getiremez hale getirmek iin yaplan saldrlar DDOS (Distributed Of Service) DOS saldrlarnn organize ekilde birden fazla kaynakla yaplmasna DDOS denir. Zombi: Ele geirilmi ve sahibinden habersiz ekilde eitli amalar iin kullanlan bilgisayar sistemleri. Zombiler en nemli DDOS kaynaklarndandr. Botnet (Robot Networks) Zombiler tarafndan oluturulan ve eitli amalarla kullanlan sanal bilgisayar ordulardr. Zombiler botnetleri oluturur, botnetler organize siber sularda sk kullanlan ara elemanlardr. SYN: TCP balnda bulunan bayraklardan biridir. TCP balantlarnda ilk gnderilecek paket SYN bayrana sahip olmaldr. Oturumun balatlmas iin gnderilir ve hedeften cevap olarak SYN-ACK bayrakl paket beklenir. IP Spoofing: Saldrgann yakalanma riskini yok etmek iin IP adresini olduundan farkl gstermesi DOS/DDOS Saldrlar DOS/DDOS saldrlar gnmz internet dnyasnn en temel sorunlarndan biridir. Internetin ilk kt gnden beri zlemeyen bu tehdit hlihazrda kullanlan TCP/IP protokolyle uzun sre zlemeyecek kadar ciddi bir problemdir. DDOS saldrlarnda ana ama sistemi ilevsiz klmaktr. Yaplan saldrya gre DOSun etkileri aadaki maddelerden biriyle sonulanabilir Web sayfasnn ulalamaz olmas 8. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 8 Web sayfas/servislerinin isteklere ge cevap dnmesi A performansnda yavalama letim sistemlerinde CPU/Ram performans problemi Uyar sistemlerinin kmesi (D)DOS Saldrlar Neden Kaynaklanr? (D)DOS eitleri Sonularna gre (D)DOS eitleri DOS saldrlarnda temel ama hedefi ilevsiz klmaktr, bunun iin yaplacak ili ey vardr: hedef sistemin sahip olduu bandwith miktarndan daha fazla trafik gndermek ya da hedef sistemin kaynaklarn dier kullanclarn kullanamayaca ekilde smrmek. 9. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 9 Her ne kadar DOS denildiinde ou kiinin aklna ilk yntem gelse de aslnda asl tehlikeli olan DDOS eidi ikinci tip olan kaynak tketimidir. lk yntemi gerekletirebilmek iin saldrgann organize almas ve salam bir botnete sahip olmas gerekir. Oysa ikinci yntem olan kaynak tketimi saldrlarnda saldrgan hedef sistemin bandwith in 1/10na sahip olduunda genellikle baarl bir DOS saldrs gerekletirebilir. zellikle gnmz network cihazlarnn DOSa kar salkl bir koruma salayamamasndan kaynaklanan bu sorun gelecekte de en fazla ba artan konulardan olmaya devam edecektir. Yapl ekline gre (D)DOS eitleri Synflood Udpflood Ack flood HTTP GET flood DNS flood Teardrop Ping of death Synflood (D)DOS Saldrlar 1 SYN paketi 60 byte, 50Mb balants olan biri saniyede teorik olarak 1.000.000 kadar paket gnderebilir. Bu deer gnmzde kullanlan ou gvenlik cihaznn kapasitesinden yksektir. (D)DOS Bandwidth Doldurma Kaynak Tketimi 10. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 10 Gnmzde en sk karlalan ve en etkili DOS/DDOS yntemi SYNflood saldrlardr. Synflood yapldn nasl anlarsnz? Netstat an p tcp komutunu altrdnzda fazla sayda SYN_RECEIVED satr gryorsanz muhtemelen bir Synflood saldr yaplyor demektir. HTTP Get Flood Saldrlar 11. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 11 Interneti durdurma(DNS DOS)Saldrlar nternetin almas iin gerekli temel protokollerden biri DNS (isim zme) protokoldr. DNS in almad bir internet, levhalar ve ynlendirmeleri olmayan bir yol gibidir. Yolu daha nceden bilmiyorsanz hedefinize ulamanz ok zordur. DNS protokol ve dns sunucu yazlmlarnda getiimiz yllarda eitli gvenlik aklklar kt. Bu aklklarn bazlar dorudan dns sunucu yazlmn alamaz hale getirme amal DOS aklklardr. zellikle internette en fazla kullanlan DNS sunucu yazlm olan Bindin bu adan gemii pek parlak deildir. DNS sunucular eer dikkatli yaplandrlmadysa gnderilecek rastgele milyonlarca dns isteiyle zor durumda braklabilir. Bunun iin internette eitli aralar mevcuttur. DNS sunucunun loglama zellii, e zamanl alabilecei dns istek says, gereksiz rekursif sorgulamalara ak olmas, gereksiz zelliklerinin ak olmas (edns vs) vs hep DOSa kar sistemleri zor durumda brakan sebeplerdir. DNS sunucularda kan DOS etkili zafiyetlere en etkili rnek olarak 2009 yl Bind akl gsterilebilir. Hatrlayacak olursak 2009 ylnda Bind DNS yazlmnda kan aklk tek bir paketle Bind DNS altran sunucularn almasn durdurabiliyor. DNS paketleri udp tabanl olduu iin kaynak ip adresi de rahatlkla gizlenebilir ve saldrgann belirlenmesi imknsz hale gelir. Trkiyede yaptmz aratrmada sunucularn %70nin bu akla kar korumasz durumda olduu ortaya kmtr. Kt bir senaryo ile ciddi bir saldrgan Trkiye internet trafiini be dakika gibi ksa bir srede byk oranda ilevsiz klabilir. Siber gvenlik zerine alan ciddi bir kurumun eksiklii bu tip olaylarda daha net ortaya kmaktadr. 12. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 12 Trkiyede DOS Saldrlar Asndan Gncel Durum Trkiye apnda 100e yakn byk lekli firma zerinde yaptmz aratrma sonucu aadaki grafik kmtr. Firmalarn byk bir blm DOS/DDOS konusunda kullandklar gvenlik duvar ve IPS rnne gvenmektedirler. Bu firmalardan seilen 10 tanesine yaplan DOS deneme testlerinde 9 tanesinin ortalama bir DOS saldrsna kar sistemlerinin (Firewall, IPS) dayanksz olduu belirlenmitir. Yaplan testler ve yntemleri hakknda detay bilgi iin yazar ile iletiime geebilirsiniz. 13. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 13 Korunma Yollar ve Yntemleri DOS saldrlarndan korunmann sihirbazvari bir yolu yoktur. Korunmann en salam yntemi korumaya altnz network yapsnn iyi tasarlanmas, iyi bilinmesi ve bu konuyla grevli alanlarn TCP/IP bilgisinin iyi derecede olmasdr. ou DOS saldrs yukarda saylan bu maddelerin eksiklii sebebiyle baarl olur. Router (Ynlendirici) Seviyesinde Koruma Snr koruma dzeninde ilk eleman genellikle routerdr. Sisteminize gelen- giden tm paketler ncelikle routerdan geer ve arkadaki sistemlere iletilir. Dolaysyla saldr annda ilk etkilenecek sistemler routerlar olur. Kullanlan router zerinde yaplacak baz ayalar bilinen DOS saldrlarn engellemede, ya da en azndan saldrnn iddetini drmede yardmc olacaktr. Yine saldr annda eer gnderilen paketlere ait karakteristik bir zellik belirlenebilirse router zerinden yazlacak ACL (Eriim Kontrol Listesi) ile saldrlar kolaylkla engellenebilir. Mesela saldrgann SYN flood yaptn ve gnderdii paketlerde src.port numarasnn 1024 olduunu dnelim (Trkiyede yaplan dos saldrlarnn ounluu sabit port numarasyla yaplr). Router zerinde kaynak port numaras 1024 olan paketleri engellersek saldrdan en az kaypla kurtulmu oluruz. Bu arada kaynak portunu 1024 olarak seen ama saldr yapmayan kullanclardan gelen trafiklerde ilk aamada bloklanacak ama normal kullanclardaki TCP/IP stacki hemen port numarasn deitirerek ayn istei tekrarlayacaktr. 14. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 14 Tabi bu engelleme yntemi her saldr iin geerli olmayabilir. Yine routerlar zerinden alnacak Netflow bilgisiyle saldrnn iddeti, karakteristii, ne kadar srd ve nerelerden geldii bilgileri kayt altna alnabilir. D routerlarda eer cihaz performans problemine sebep vermeyecek ekilde Netflow almn salyorsa bu zellik mutlaka kullanlmaldr. Fakat baz sistemler dzgn yaplandrlmadndan netflow sunucuya paket gndermeye alrken performans problemine sebep olabilirler. Gvenlik Duvar Seviyesinde Koruma Gvenlik duvarlarnda alnabilecek nlemlerden ilki eer cihaz destekliyorsa- rate limiting zelliini aktif etmektir. Rate limiting zelliiyle belirli bir ip adresinden gelecek maksimum paket says belirlenip eik deerini aan ip adresleri belirli sreliine bloklanabilir. Bylece saldr yapan sistemler ve normal sistemler ayrt edilebilir. Bu zellik dikkatli kullanlmazsa akll bir saldrgan tm internet balantnz bloklayabilir. Bunun haricinde gvenlik duvarlarnda kurulumla birlikte gelen n tanml baz ayarlar deitirilmelidir. Bu ayarlar Firewalldan gelip-geen paketler iin ne kadarlk bir sre kaynak ayrm yaplacan belirtir. Gvenlik duvar zerinde n tanml ayarlarn deitirilmesi Gvenlik duvar ksaca koruma altna ald sistemlere gelen paketleri karlayan ve zerinde yazl politikaya gre paketlerin geiine izin veren sistemlerdir. Gnmz gvenlik duvarlar durum koruma (stateful) zelliine sahiptir. Bylece her gelen paket iin tm gvenlik duvar kurallar tekrar tekrar incelenmez, eer gelen-giden paket daha nceki bir balantya ait ise dorudan geirilir. Bunu salayabilmek iin gvenlik duvarlar zerinden gelip geen her bir paket iin sistemde kaynak ayrr. (Paketin cevabn ne kadarlk sre beklenecei vs). Ayrlan bu kaynaklar DDOS saldrs esnasnda abucak tkenir. DDOS saldrlarna kar daha salam bir gvenlik duvar iin gelip- giden paketler iin tutulan zaman am sreleri ksaltlabilir. 15. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 15 TCP ve UDP paketleriyle ilgili oturum bilgilerinin varsaylan deerlerinin deitirilmesi Yukardaki deerler Packet Filter gvenlik duvarndan alnmtr(pfctl s timeouts), TCP balantlar iin balang paketi SYN alndktan sonra ACK paketinin gelmesi iin balant 120 sn ak braklmaktadr. Bu deerler gnmz internet dnyas iin fazla gelmektedir. Bu deerlerin 10da biri bile normal ileyen bir ada yeterlidir. Saldr esnasnda bu deerlerin drlmesi saldrnn etkisini nemli oranda azaltacaktr. Gvenlik duvar syncookie, synproxy zelliklerinden birine sahipse bu zelliin aktif edilmesi Synflood saldrlarna kar en ciddi korumay salayacaktr. Syncookie, syncache ve synproxy zellikleri synflood saldrlarnda oturum kurulmam TCP paketlerinin sunucuya ulamasn engelleyip DDOSdan korumu olur. Gelen saldrnn iddetine gre syncookie korumas yapan gvenlik duvar da devre d kalabilir. Eer sisteminiz destekliyorsa syncookie yerine synproxy zellii daha salkl bir koruma salayacaktr. Saldr Tespit ve Engelleme (NIPS) Seviyesinde Koruma IPSler bilinen DOS/DDOS saldrlarna ynelik eitli saldr imzalarn veri tabanlarnda barndrrlar. Her ne kadar bu saldr tipleri ok klasik olsa da gnmzde denenmektedir. IPSler zerinde ilk yaplacak ilem DOS/DDOS saldrlarna kar nlem olabilecek imzalarn devreye alnmasdr. 16. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 16 Basit bir SYNFlood nlemi Aadaki saldr imzas shaft arac kullanlarak yaplan DDOS saldrlarn belirler. Saldr Tespit/Engelleme sistemlerinin bu tip bilinen aralar iin eitli imzalar bulunmaktadr. alert tcp $HOME_NET any $EXTERNAL_NET any (msg:"DDOS shaft synflood"; flow:stateless; flags:S,12; seq:674711609; metadata:policy security-ips drop; reference:arachnids,253; reference:cve,2000-0138; classtype:attempted-dos; sid:241; rev:11;) Alternatif bir kural (Generic Syn Flood Ata) alert tcp any any -> $WEB_SUNUCU 80 (msg:"Syn Flood Saldirisi"; flow: stateless; flags:S,12; threshold: type threshold, track by_src, count 100, seconds 1; classtype:attempted-recon; sid:10009;rev2;) Ek olarak eer destekliyorsa IPS zerinde syncookie zellii devreye alnmaldr ve firewalldakine benzer ekilde stateful balantlarda zamanam srelerinin iyi ayarlanmas saldrlarn etkisini azaltacaktr. Web Sunuculara Ynelik Koruma Web sunucular irketlerin da bakan yz olduu iin genellikle saldry alan sistemlerdir. Web sunuculara ynelik eitli saldrlar yaplabil fakat en etkili saldr tipleri GET flood saldrlardr. Bu saldr ynteminde saldrgan web sunucunun kapasitesini zorlayarak normal kullanclarn siteye eriip ilem yapmasn engeller. Bu tip durumlarda gvenlik duvarlarnda uygulanan rate limiting zellii ya da web sunucular nne koyulacak gl yk dengeleyici/datc(load balancer)cihazlar ve ters proxy sistemleri olduka iyi koruma salayacaktr. Gvenlik duvar kullanarak http GET isteklerine limit koyulamaz. Zira http keepalive zellii sayesinde tek bir TCP balants ierisinden yzlerce http GET komutu gnderebilir. Burada paket ieriine bakabilecek gvenlik duvar/ips sistemleri kullanlmaldr. Mesela Snort saldr tespit/engelleme sistemi kullanlarak aadaki kuralla 3 saniyede 50den fazla http GET istei gnderen ip adresleri bloklanabilmektedir. 17. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 17 Drop tcp any any -> $WEB_SUNUCU 80 (msg:"HTTP GET Flood Attack Attempt"; flow:established,to_server; content:"GET /"; detection_filter: track by_src, count 50, seconds 3; sid:1000001; rev:1;) letim sistemleri zerinde basit koruma ayarlar Synflood saldrlarna kar koruma Syncookie Linux sistemlerde syncookie zelliinin aktif hale getirilmesi iin /etc/sysctl.conf dosyasna net.ipv4.tcp_syncookies = 1 eklenmeli ve sysctl p komutu altrlmal ya da geici olarak, echo 1 > /proc/sys/net/ipv4/tcp_syncookies Komutu kullanlmaldr. Windows iin ayn zellii devreye alacak eitli registry ayarlar mevcuttur. Anzdan DOS/DDOS yaplmasn Engelleme Yaplan aratrmaya gre Fortune 500 firmasnn %30u eitli botnetlere ye gzkyor. Kendi sistemlerinizden DOS yaplmasn engellemek iin ilk olarak gvenlik duvarlarndan ip soofing mekanzmasn engellemek gerekir. Yamalarnn tam olmas ve ortamda bir anormallik tespit sisteminin almas size anz hakknda bilgi verecektir. 18. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 18 SynFlood DDOS Saldrlar SYN Flood Nedir? Synflood servis engelleme saldrlarndan (DOS) en bilineni ve sk karlalandr. Ama: hedef sisteme kapasitesinden fazla SYN bayrakl TCP paket gnderip sistem kaynaklarn hizmet veremez hale getirmektir. Gnmzde genellikle WEB sunuculara ynelik yaplmakta ve sonu olarak web sayfalarnn alamaz hale gelmektedir. Synflood saldrlar ilk olarak 1994 ylnda teorik olarak Firewalls And Internet Security kitabnda bahsi gemi ve 1996 ylnda Phrack dergisinde exploit aracnn kmasyla yaygnlamaya balamtr. Synflood saldrlarn anlayabilmek ve gerekli nlemleri alabilmek iin TCP/IP ailesinin en sk kullanlan bileeni TCP (RFC 793)nin yaps ve alma mantnn iyi bilinmesi arttr. Synflood saldrsn gerekletirenin bilmesi gereken ise sadece hedef ip hedef port ve kullanaca ddos programnn ismidir. SYN Flood Saldrlarnn Temel Kayna SynFlood saldrsnn temel sebebi balanan istemcilerin herhangi bir dorulama (balant yapann gerekten ilgili IP adresine sahip olduu bilgisi) mekanizmasndan gememesidir. Bu aslnda Ipv4 e ait bir eksiklik olmakla birlikte Ipv6a gei yapldnda ksmen ortadan kalkacaktr. Syn Flood Saldr Tipini Gerekletirmek nternette arama yapabilen her bilgisayar kullanc bu saldr tipini gerekletirebilir. Hem Windows hem de Linux/UNIX sistemler iin onlarca ddos arac bulunmaktadr. Saldrnn etkili olabilmesi iin sahip olunmas gereken trafik miktar belli bir deerin zerinde olmaldr (>50Mbps gibi). Saldry kimin yaptn bulmak teoride mmkn gibi gzkse de gnmz internet dnyasnn yaps dnldnde spoof edilmi ip adresleri zerinden yaplan SynFlood saldrsnn gerek kaynan bulmak imknszdr. 19. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 19 Syn Flood saldrlarnn tam olarak anlalabilmesi iin detay TCP/IP bilgisine ihtiya duyulacaktr. Kitap iinde temel TCP/IP bilgisine yer verilmitir. Detay TCP/IP bilgisi iin Richard Stevensin TCP/IP Volume-I kitab incelenebilir. Temel TCP bilgisi OSI katmanna gre 4. Katta yer alan TCP gnmz internet dnyasnda en sk kullanlan protokoldr. Ayn katta yer alan komu protokol UDPe gre olduka kark bir yapya sahiptir. HTTP, SMTP, POP3, HTTPS gibi protokoller altyap olarak TCP kullanrlar. TCP Balantlarnda Bayrak Kavram (TCP Flags) TCP balantlar bayraklarla (flags) yrtlr. Bayraklar TCP balantlarnda durum belirleme konumuna sahiptir. Yani balantnn balamas, veri transferi, onay mekanizmas ve balantnn sonlandrlmas ilemleri tamamen bayraklar aracl ile gerekleir (SYN, ACK, FIN, PUSH, RST, URG bayrak eitleridir). UDPde ise byle bir mekanizma yoktur. UDPde gvenilirliin (paketlerin onay mekanizmas) salanmas st katmanlarda alan uygulamalar yazlarak halledilebilir. DNS protokol UDP aracl ile nasl gvenilir iletiim kurulaca konusunda detay bilgi verecektir. UNIX/Windows sistemlerde balantlara ait en detayl bilgi netstat (Network statistics) komutu ile elde edilir. Netstat kullanarak TCP, UDP hatta UNIX domain socketlere ait tm bilgileri edinebiliriz. 20. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 20 TCPde balantya ait olduka fazla durum vardr. TCP balantlarnda netstat aracl ile grlebilecek eitli durumlar: CLOSE_WAIT, CLOSED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SEND ve TIME_WAIT TCP Oturum balatma Web sayfalarn gezmek iin kullanlan http zerinden rnek vermek gerekirse bir web sayfasna ulap ieriini grebilmemiz iin ncelikle TCP oturumunun kurulmas (3 l el skma) gerekir. Bu adm tamamlandktan sonra web sayfasnn ieriini grntleyecek komutlar sisteme gnderilir. Hizmet veren bir TCP portu aksa kendisine gelen SYN paketine karlk olarak ACK+SYN paketi dner. Dnen paketlerden ACK (onay paketi), SYN ise hizmet veren tarafn istek balatma paketidir. Port kapalysa RST dner, SYNflood saldrsnn baarl olabilmesi iin portun ak ve dinlemede (LISTEN mod) olmas gerekir. Oturum balangcnda portun alabilecei durumlar SYN_SEND: Hedef sistemle TCP balants oluturma admnn ilkidir. Ksaca SYN bayrakl paket gnderilip buna karlk cevap bekleme zamannda portun alaca durum. SYN_RECEIVED: Hedef sistem portu balant kurulmas iin gerekli ilk adm olan SYN paketini almtr ve cevap olarak SYN+ACK dnmtr, kar taraftan son ACK paketi gelene kadar bu pozisyonda bekler. ESTABLISHED: son ACK paketi de gelmi ve 3 l el skma tamamlanm artk taraflar veri transferi yapabilir durumdadr. LISTEN: O portun balant kabul eder olduunu belirtir. 21. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 21 Gelen bir SYN paketine ka kere SYN+ACK dner ve dnen her cevap ka bytedir? Ortalama bir TCP bal 60 Byte, buna dnen SYN+ACK cevab da 60 Byte civar olacaktr ve yaplandrlna gre SYN paketini alan sistem son ACK paketini alana kadar 5-6 kere SYN+ACK paketini tekrar gnderir ki bu da ortalama 3 dakika tutar. LISTEN durumunda olan bir TCP portuna SYN paketi geldiinde SYN_RECEIVED durumuna geer ve son ACK paketi gelene kadar verileri bir veri yapsnda tutar. Bu veri yaps TCB (Transmission Control Block) olarak adlandrlr. letim sistemlerine gre TCB deeri deikenlik gsterse de ortalama olarak sistemden 280-1300 byte aras bellek kullanr (l el skma tamamlanana kadar bir SYN paketininin sistemden kulland bellek miktar) letim sistemleri gelecek fazla isteklerden kaynaklanacak bellek yetmezliini nleme amal TCBlerin tutaca max bellek miktarn snrlandrrlar. 22. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 22 TCP Oturum Sonlandrma Oturum sonlandrma her iki tarafnda anlamas sonucu tamamlanr. Taraflardan birinin ilgili bayrakl paketi gndermemesi, ge gndermesi balantnn salkl olarak sonlanmasna engel olur. Balant sonlandrma aamalarnda eitli durumlar oluur. Bu durumlara gemeden bir TCP balantsnn nasl kapatldn inceleyelim. Grlecei zere A ve B sistemleri arasndaki balanty kapatmak iin 4 paket transferi oluyor. Bu paketleri Wireshark ya da tcpdump ile rahatlkla grebilirsiniz. tcpdump kts 2007-08-13 21:38:57.239126 IP 80.93.212.86.3306 > 88.233.216.57.2175: F 75:75(0) ack 1 win 65535 2007-08-13 21:38:57.292806 IP 88.233.216.57.2175 > 80.93.212.86.3306: . ack 76 win 17446 2007-08-13 21:38:57.295927 IP 88.233.216.57.2175 > 80.93.212.86.3306: F 1:1(0) ack 76 win 17446 2007-08-13 21:38:57.295941 IP 80.93.212.86.3306 > 88.233.216.57.2175: . ack 2 win 65534 Balant sonlanmas esnasnda oluan durumlar: FIN_WAIT_1: Balant sonlandrmak iin ilem balatan taraf(A) hedef sisteme FIN bayrakl TCP paketi gnderir. Ardndan kar taraftan(B) ayr ayr ACK ve FIN bayrakl paketleri bekler. Bu arada durumunu FIN_WAIT_1 olarak ayarlar. 23. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 23 FIN_WAIT_2: Balant sonlandrma isteini(FIN bayrakl ilk paket) alan taraf(B) bu pakete karlk olarak ACK(onay) bayrakl TCP paketi hazrlar ve gnderir ve durumunu CLOSE_WAITe alr. Ilk FIN bayrakl paketi gnderen taraf(A) ACK paketini aldnda durumunu FIN_WAIT_2 olarak ayarlar. Bylece balant sonlandrma ileminin ilk yars tamamlanmtr. Dier yarsda salkl tamamlandktan sonra balant tamamen sonlanm olacaktr. LAST_ACK: B taraf ACK bayrakl paket gnderdikten sonra, kendisinin de balanty sonlandrmak istediini bildiren FIN bayrakl paket oluturarak A sistemine gnderir ve durumunu LAST_ACK olarak ayarlar. TIME_WAIT : A sistemi FIN bayrakl paketi aldktan sonra buna cevaben ACK bayrakl bir paket oluturarak Bye gnderir ve durumunu TIME_WAIT olarak belirler. A sistemi TIME_WAIT durumunda son gnderilen ACK bayrakl paketin hedef sisteme(B) ulatn garantilemek iin bir mddet bekler. Bu mddet eer gereinden fazla(eski tip UNIX sistemlerde 4 dakikaya kadar kabiliyor.) ise sisteminizde netstat -an altrdnzda oldukca fazla TIME_WAIT satr grebilirsiniz. Bu da sistemi gereinden fazla megul edecei iin performans problemleri yaanmas kanlmaz olacaktr. rnek bir sistem zerinde inceleme: TCP/80 portuna yaplan bir istek ve istein sonlanmas srasnda netstat ile alnan durum ktlar. Sadece sunucu tarafn gsterdii iin baz durumlar gzkmemektedir. stei yapan taraf da incelenecek olursa eksik kalan ksmlar tamamlanr. tcp4 0 0 80.93.212.86.80 88.233.216.57.2348 SYN_RECEIVED tcp4 0 0 80.93.212.86.80 88.233.216.57.2348 ESTABLISHED tcp4 0 0 80.93.212.86.80 88.233.216.57.2348 FIN_WAIT_2 tcp4 0 0 80.93.212.86.80 88.233.216.57.2348 TIME_WAIT 24. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 24 SynFlood Saldrlar Nasl Gerekletirilir? Syn Flood saldrs basitce ak bir porta hedef sistemin kapasitesinden fazla gnderilecek SYN paketleriyle gerekletirilir. Buradaki kapasite tanm nemlidir. Teknik olarak bu kapasiteye Backlog Queue denilmektedir. Backlog queue kavram letim sistemleri ald her SYN paketine karlk l el skmann tamamlanaca ana kadar bellekten bir alan kullanrlar, bu alan TCB olarak adlandrlr ve bu alanlarn toplam backlog queue olarak adlandrlr. Baka bir ifadeyle iletim sisteminin half-open olarak ne kadar balant tutabileceini backlog queue veriyaps belirler. Bu deer her iletim sisteminde vardr ve n tanml olarak dk bir deerdir (256 gibi). SYNFlood saldrlarnda bu deer arttrlarak saldrya kar ek nlem alnabilir. Synflood saldrlarnda tm mesele backlog queuenin dolmas ve yeni gelen balantlarn reddedilmesidir. Backlog queue deerinin byk olmas demek daha fazla half-open(SYN paketi) balant kabul edebilmek demektir. Backlog queue dolmasyla birlikte iletim sistemi yeni balant kabul edemez ve bu esnada sunucuya balanmaya alanlar balanamazlar ki bu da SYN Flood saldrsna denk gelir. 25. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 25 Synflood matematik hesab Gnmzde yeterli nlem alnmam sistemlerin Synflooda kar ne kadar dayanksz olduunu gstermek iin basit bir matematik hesab yapalm: Backlog queue deeri 1000 olan sisteme 1000 adet SYN paketi gndererek servis veremez duruma getirilebilir. 1000 adet SYN paketi=1000*60byte=60.000 byte=468Kpbs olacaktr ki bu deer gnmzde ou ADSL kullancsnn sahip olduu hat kapasitesine yakndr. Servis verememe durumu ilgili porta gelen paketlerin timeout deeriyle doru orantldr. Her 60 saniye de bir bu kadar paket gnderilmesi durumunda sistem tamamen eriilmez olabilir. Not: Bir porta SYN paketi geldiinde cevap olarak ACK +SYN dnecei iin iki kat malzeme harcanr. Bu durum zellikle gvenlik cihazlarndaki PPS(Saniyede ileyebilecei paket says) deerlerini lerken gz ard edilir. Bir cihaz 100.000 pps diyorsa aslnda bu saniyede 50.000 SYN paketi kabul edebilir demektir. SynFlood DDOS Saldrs Nasl Anlalr? UNIX/Linux ve Windows iletim sistemlerinde netstat komutuna uygun parametre vererek SYN Flood saldrlar anlalabilir. Gvenlik cihazlarnda ise state(durum) tablosuna bakarak ya da connection tablosuna bakarak Syn Flood saldrlar anlalabilir. 26. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 26 Ya da basit olarak aadaki komutu altrlr # netstat -ant|grep SYN_RECV|grep ":80"|wc -l 1002 Bu komutun kts belli bir deerin zerindeyse sisteme SYNFlood saldrs yaplyor olabilir. (Yukardaki komut sadece 80. Porta gelen syn paketlerini saydrmak iin kullanlr, tm sisteme gelen syn paketlerini grmek iin grep :80 kolonu kaldrlabilir. Ek olarak Linux altnda SYNFlooda urayan bir sistem messages dosyasna aadaki gibi bir log atar. possible SYN flooding on port 80. Sending cookies. SynFlood Saldr Testleri Syn Flood saldrlar sizi bulmadan nce kendi sistemlerinizi bu tip saldrlara kar yaplandrmanz ve test yapmanz bir saldr karsnda hangi durumlara debileceiniz konusunda fikir verecektir. Aada baz ara isimleri ve 27. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 27 kullanmlar verilmitir, bunlar tamamen kendi sistemlerinizi test etme amal kullanlmaldr. nternet zerinde bu tip ataklar yapanlar daha basit ve etkili aralar kullanmaktadr. (bkz: botnet ynetim konsollar) Scapy ile basit Synflood arac Scapy, istenilen trde TCP/IP paketleri retmeye ve bu paketler zerinde eitli ilemler yapmaya izin veren bir atdr. Python ile yazldndan Python destekleyen sistemlerde(Tm iletim sistemleri) almaktadr. Scapy kullanarak aadaki gibi istenilen aralkta spoofed ip reten SYNFlood saldrs denenebilir. >>>send(IP(src=RandIP('78.0.0.0/16'),dst='www.example.com')/TCP(sport=a ndShort(),dport=80), loop=1) Hping Kullanarak SYNflood Testleri Hping TCP/IP paket retim aracdr. Hpingin flood ve rand-source zellikleri kullanlarak yksek miktarlarda SYN Flood saldrlar simulasyonu yaplabilir. Hping ile spoof edilmi ip adreslerinden Syn Flood saldrs #hping --rand-source -p 80 -S www.hedefsistem1.com --flood 28. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 28 Benzeri aralar kullanarak sahip olduunuz trafik miktarna gre olduka yksek saylarda SYN paketi retip gnderebilirsiniz. SYN paketinin 60 byte civarnda olduunu dnrsek 50Mb hat ile saniyede 100.000 SYN paketi retip gnderilebilir ki bu deer birok gvenlik duvarnn sahip olduu balant limiti saysn ksa srede arr.(gnmz gvenlik duvarlarnda en yksek balant limitleri 400-500k civarndadr). Balant limit says 500.000 olan(e zamanl 500.000 balant tutabilen) bir sistemi 50Mb hat ile 5 saniyede ilevsiz braklabilir. Not: Burada gvenlik duvarlar zerinde syncookie, synproxy gibi zelliklerin aktif olmadn dnyoruz. SynFlood saldrlarnda kaynak ip adresleri eer internette ak olan ip adreslerinden seilirse etkisi dk olur. Zira ak olan bir ip adresini spoof ederek gnderilecek SYN paketine sunucu SYN+ACK cevab dnecektir ve bu cevap spoof edilen makineye gelecektir, makine de daha nce byle bir paket gndermedii iin RST paketi gnderip balantnn hzlca kapanmasn salayacaktr. SYNFlood Saldrs Esnasnda Yaplacaklar lk olarak gelen giden tm paketleri grebilecek bir sistem zerinde(Port mirroring, TAP cihaz vs yi dinleyen Linux/UNIX makine)n saldry analiz etmek iin paket kayd yaplmaldr. Bunun iin tcpdump kullanlabilir. #tcpdump -ttttnn -s0 tcp -w SYNFLOOD.pcap & Tcpdump ile sadece SYN bayrakl TCP paketlerini grmek iin verilecek komut: tcpdump 'tcp[13] & 2 != 0' -i eth0 -nnn Saldr esnasnda paketleri incelemek baz basit saldrlarda faydal olabilmektedir. Mesela Synflood iin ok sk tercih edilen Juno arac ntanml olarak kaynak port numarasn 1024/3072 yapmaktadr. Eer saldrgan Juno.cnin kaynak kodunu inceleyip kaynak port numaralarn random hale getirmemise bu saldr router zerinden yazlacak basit bir ACL(eriim listesi) ile engellenebilir. Sistemleriniz gvenlik duvar, IPS vs ile korunuyorsa bu sistemlerindeki Syncookie, Synproxy zellikleri aktif edilmeli. (Eer saldrnn boyutu 29. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 29 yksekse bu tip engellemelerin ksa srede devre d kalaca da bilinmelidir). Bu gibi durumlarda alternatif yntemler denenerek sistemlerin ulalabilir olmas salanabilir. Dns kaytlarnn TTL deerlerinin drlerek farkl ip adresine geilmesi gibi. lkeye gre IP bloklama SynFlood esnasnda syncookie vs ie yaramadysa portu dnyaya kapatp sadece Trkiye IP bloklarna aabiliriz, eer SYNFLood yapan tamamen random ip retiyorsa bu tip bir nlem saldry %70-%90 orannda etkisiz hale getirecektir. Peki, spoof edilmi ip adresleri arasnda Trkiye ip adresleri de olursa? Bunlar iin de zm dorudan Trkiye ip aralndan paket kabul etmek yerine bu ip aralndan gelecek istekleri SYNProxy'e devredip bu ip aralndan gelebilecek muhtemel saldr paketlerini de elemi oluruz. Sk kullanlan SYNflood aralar kaynak ip adresini istee gre oluturma zelliine sahip deildir, genelde kaynak ip adresi random retilir. Fakat bu yntem bu konuda tecrbeli saldrganlar iin sadece bir engeldir, ilgili programn kaynak kodunda yaplacak basit deiikliklerle istee gre kaynak ip adresi retilebilir. (78.*.*.* bloundan random ip ret gibi.) mz arac bu ama iin kullanlabilir. Trkiye IP Bloklar Nereden Edinilebilir nternet zerinde lkerelere ait ip bloklarn cretsiz datan eitli servisler vardr. Google zerinden yaplacak country ip blocks aramas yeterli sonu verecektir. Buradan alnacak ip bloklar ciddi saldrlar esnasnda ie yarayacaktr. Synflood nleme Yntem ve eitleri SynFlood saldrlarna kar eitli nlemler gelitirilmitir. Bunlar arasnda gnmzde teoriden pratie gei yapabilmi temel yntem bulunmaktadr. Syncookie syncache(FreeBSD default) SynProxy TCP Authentication 30. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 30 Syncookie Nasl alr? Normal TCP balantlarnda gelen SYN bayrakl pakete karlk ACK paketi ve SYN paketi gnderilir. Gnderilen ikinci(sunucunun gnderdii) SYN paketinde ISN deeri random olarak atanr ve son gelecek ACK paketindeki sra numarasnn bizim gnderdiimizden bir fazla olmas beklenir, son paket gelene kadar da sistemden bu balant iin bir kaynak ayrlr(backlog queue). Eer bizim gnderdiimiz SYN paketine dnen ACK cevab bizim ISN+1 deilse paket kabul edilmez. Syncookie aktif edilmi bir sistemde gelen SYN paketi iin sistemden bir kaynak ayrlmaz, bunun aksine SYN paketine dnecek cevaptaki ISN numaras zel olarak hesaplanr (kaynak.ip+kaynak.port+.hedef.ip+hedef.port+x deeri) ve hedefe gnderilir, hedef son paket olan ACKi gnderdiinde ISN hesaplama ilemi tekrarlanr ve eer ISN numaras uygunsa balant kurulur, deilse balant kurulmaz. Bylece spoof edilmi binlerce ip adresinden gelen SYN paketleri iin sistemde bellek tketilmemi olacaktr ki bu da sistemin SYNflood saldrlar esnasnda daha dayankl olmasn salar. Syncookie mekanizmas backlogqueue kullanmad iin sistem kaynaklarn daha az tketir. Syncookie aktif iken hazrlanan zel ISN numaras cookie olarak adlandrlr. stemci taraf syncookie zellii nverse syn cookie (Scanrand arac) aralar kullanlarak syncookie engellemesi alabilir. Bu durumda da bir ip adresinden gelecek max balant says limitlenerek saldr engellenmi olur. Syn cookie dezavantajlar Syncookiede zel hazrlanacak ISNler iin retilen random deerler sistemde matematiksel ilem gc gerektirdii iin CPU harcar ve eer saldrnn boyutu yksekse CPU performans problemlerinden dolay sistem yine darboaz yaar. DDOS Engelleme rnleri(baz IPSler de ) bu darboaz amak iin sistemde Syncookie zelliini farkl zel bir CPUya devredeler. Bylece Syncookie ilemleri iin farkl, sistemin ileyii iin farkl CPUlar kullanlr. Syncookie zellii sadece belirli bir sistem iin alamaz. Ya aktr ya kapal, bu zellik eitli IPS sistemlerinde probleme sebep olabilir. Syncookie uygulamalarndan bazlar TCP seeneklerini tutmad iin baz balantlarda sorun yaatabilir. 31. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 31 SynCache nasl alr? LISTEN modundanki bir portun gelen SYN paketlerinde bellekten bir alan ayrdn ve bu alann belirli boyutlarda olduundan bahsetmitik. SynCache zellii FreeBSD sistemlerde gelen SYN paketleri iin TCB deerinden daha az yer kaplayan baka bir veri yaps kullanmay nerir. Bylece sisteme gelen SYN paketlerinde daha az bellek alan harcanr(Normalde 700 Byte civar, 160 Byte Syncache kullanldnda). Fakat youn bir saldr da bu zellik ksa srede ie yaramaz hale gelecektir. Bu sebepledir ki Syncache tek bana synflood saldrlarna kar efektif bir koruma salamaz. Syncookiei tetikleyici olarak kullanlr. Yani sistemde n tanml olarak syncookie aktif edilmez, syncache aktif edilir. Syncache belli bir deerin zerinde SYN paketi almaya baladnda SYNCookieei tetikler ve sistem koruma moduna geer. Syn Proxy nasl alr? SynProxy, adndan da anlalaca zere SYN paketlerine kar proxylik yapmaya yarayan bir zelliktir. Gvenlik duvarlarnda ve Syncookienin kullanmnn skntl olduu durumlarda rahatlkla kullanlabilir. Syncookie gibi arkasnda korumaya ald sistemlere gelecek tm SYN paketlerini karlar ve l el skma tamamlandktan sonra paketleri koruduu sistemlere ynlendirir. Synproxy yapan sistem kendisi de SYNFlood'a dayankl olmaldr. 32. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 32 Anzdan SYN Flood yaplmasn Engelleme SYNFlood saldrlar genelde iki ekilde yaplr: -BotNet kullanarak gerek makinelerden -Bwi yksek sistemler zerinde spoof edilmi ip adreslerinden Gnmz SynFlood saldrlar genellikle spoof edilmi ip adresleri kullanlr. Dier trl saldr ok efektif olmayacaktr. Eer firmalar, zellikle de telekom firmalar Spoof edilmi ip adreslerinden trafik kna izin vermeyecek yaplar kursa ip adres spoofing ilemi yaplamayaca iin Syn flood saldrlar byk oranda engellenebilecektir. Gnmz internet dnyasnda irketler spoofed ipleri engellese de internetin ounluunu oluturan masast kullanclarna hizmet veren Telekom firmalar bu zellii kullanmamaktad(Ya da kullanamamaktadr) Kullandnz network/gvenlik sistemlerinde URFP (Unicast Reverse Path Forwarding) zellii varsa kullanarak anzdan dar kacak spoof edilmi paketleri engelleyebilirsiniz. OpenBSD PF ile URPF kullanm? URPF kullanilarak eer paket uygun arabirimden gelmiyorsa paketin spoofed olduguna karar verilir ve PF ile bu tip paketler yasaklanir. Anlasilir olmasi icin bir ornekleyelim. Guvenlik duvarimizda iki a arabirimi olsun. Biri i aa bakan(fxp0) ve ip adresi 192.168.0.1, dieri de d aa (Modem/router vs) baksn(xl0) ve ip adresi 172.16.10.2 #netstat -rn -f inet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Interface default 172.16.10.1 UGS 2 20010970 xl0 192.168.0/24 link#2 UC 1 0 fxp0 172.16.10/24 link#1 UC 2 0 xl0 Normal durumlarda fxp0 arabirimine sadece 192.168.0/24 networkune ait ip adresli makinelerden paket gelmesi gerekir. Bunun harici ip adreslerinden 33. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 33 paket geliyorsa ya an ierisinde baka alt alar kurulmu ya da birileri ip adreslerini spoof etmeye alyor demektir. OpenBSD PFe urpf kural girerek istenen a arabirimi zerinde geriye doru ynlendirme yaplamayacak ip adreslerinden gelen isteklerin bloklanmas salanabilir. urpf icin OpenBSD PF kurali. block in quick on $int_if from urpf-failed Not-I: urfp kullanrken dikkatli olmak lazm, zira gnmz alar artk alt alardan oluuyor . URPF kullanmadan nce ynlendirme tablosu detaylca incelenip karar verilmeli. Snort Kullanarak SYNFlood saldrlarnn Belirlenmesi Snort saldr tespit ve engelleme sistemidir. Spoof edilmi ip adreslerinden yaplacak SYNFLood saldrlar karsnda herhangi bir engelleme zellii olmamakla beraber, synflood saldrsnn yapldn belirleyebilir. alert tcp any any -> $WEB_SUNUCU 80 (msg:"Syn Flood Saldirisi"; flow: stateless; flags:S,12; threshold: type threshold, track by_src, count 100, seconds 1; classtype:attempted-recon; sid:10009;rev2;) letim Sistemlerinde SYNFlood Korumas Her iletim sistemi Synflood saldrlarna kar benzer zm nermektedir. 1. Alabilecekmaksimumhalf-opensaysnn arttrlmas (SAYN_RECEIVED durumu) 2. Half-open balantlarda bekleme sresini ksaltma 3. TCP paketleri iin zamanam srelerini drme Backlog Queue deerini arttrma Backlog queue deeri dorudan sistemde var olan fiziksel bellekle alakaldr. Bu deeri arttrrken sistemdeki bellei de gz nne almak gerekir. 34. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 34 Linux iin backlog queue deerini arttrma n tanml deeri: # cat /proc/sys/net/ipv4/tcp_max_syn_backlog 1024 Artrmak iin echo 4096 > /proc/sys/net/ipv4/tcp_max_syn_backlog bu deerin kalc olabilmesi iin /etc/sysct.conf dosyasna yazlmas gerekir. FreeBSD backlog queue deeri arttrma # sysctl kern.ipc.somaxconn=4096 kern.ipc.somaxconn: 128 -> 4096 Zaman am(Timeout) deerlerini drme letim sistemleri SYN paketi aldnda buna SYN+ACK cevab dner ve ACK cevab bekler. Eer ACK cevab gelmezse belirli bir sre SYN+ACK cevabn tekrarlar. Bir Synflood saldrs esnasnda kaynak ipler spoof edilmi olacandan gereksiz yere binlerce ip adresine defalarca SYN+ACK cevabi dnlecek ve kaynak tketilecektir. Backlog queude bekleme zamann deitirerek spoof edilmi ip adreslerinden gelen syn paketlerinin abucak paketlerin drop edilmesini salayabiliriz. Linux altnda gelen SYN paketine karlk ka kere ACK+SYN dnlecei tcp_synack_retries deerinde saklanr. cat /proc/sys/net/ipv4/tcp_synack_retries 5 Bu deerin 5 olmas demek aa yukar balantnn dakika asl kalmas ve backlog queuei iirmesi demektir. Bu deeri iki ya da yaparak balantlarn ok daha ksa srelerde drlmesini salayabiliriz. Syncookie aktivasyonu Linux iin; sysctl net.ipv4.tcp_syncookies = 1 35. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 35 FreeBSD iin sysctl net.ipv4.tcp_syncookies = 1 ayarlarn kalc olabilmesi iin /etc/sysctl.conf dosyasna yukardaki formatta yazlm olmas gerekir. Syn Flood DDOS saldrlar olduka basit, basit olduu kadar da etkili bir saldr yntemidir. Teknik olarak saldrnn altyaps ve a yaps bilinirse daha kolay nlem alnabilir. DDOS konusunda akldan karlmamas gereken husus bu tip saldrlarn tak altr cihazlarla engellenemeyeceidir. Alnacak DDOS koruma rnleri mutlaka kullanlacak an trafik yapsna gre ayarlanmal ve zellikleri iyi bilinmelidir. Tak ve altr tipi cihazlar kark saldrlara kar etkisiz kalacaktr. 36. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 36 Web Sunuculara Ynelik DoS/DdoS Saldrlar Web, siber dnyada bizleri temsil eden hayatmzn ayrlmaz bir paras oldu. ok kullanlyor bu yzden gz nnde ve hackerlarn dikkatini ekiyor. Sistemlerde aklk bulamayan hackerlar ou zaman ya benimsin ya hi kimsenin mantyla fazla bilgi ve beceri gerektirmeyen DDOSa bavuruyor ve web sunucularn ilevsiz kalmasna neden oluyorlar. HTTPe Giri HTTP(Hypertext Transfer Protocol) OSI modelinde uygulama katmannda yer alan iletiim protokoldr. Gnmzde zamanmzn ounu geirdiimiz sanal dnyada en sk kullanlan protokoldr.(%96 civarnda) HTTP Nasl alr? Httpnin istemci-sunucu mantyla alan basit bir yaps vardr. nce TCP balants alr, kullanc istek(HTTP istei) gnderir sunucu da buna uygun cevap dner ve TCP balants kapatlr. stemci(kullanc) tarafndan gnderilen istekler birbirinden bamszdr ve normalde her HTTP istei iin bir TCP balants gerekir. HTTPnin basitliinin yannda gnmz web sayfalar sadece http sunuculardan olumaz, ou sistemin bilgilerini tutmak iin kullanlan veri tabanlar da artk web sayfalarnn vazgeilmez bileeni olmutur. Yukardaki resim klasik bir web sayfasn temsil eder. Buna gre web sayfalarmz ister web sunucuyla ayn makinede olsun ister baka bir makinede olsun bir veritabannda bamldr. Web in alma mant istek ve cevaplardan oluur, istekler ve bunlara dnlecek cevaplar farkldr. Bu konuda detay iin HTTP RFCsi 2616 incelenebilir. 37. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 37 Klasik bir HTTP istei HTTP isteine dnebilecek cevaplar Yaplan istein eidine gre sunucudan dnecek cevap da farkl olacaktr. Mesela istenen dosya sistem zerinde yoksa 404 cevab, gelen istek yetkisi olmayan bir dosyay istiyorsa 403 forbidden cevab dnecektir. HTTP ve TCP ilikisi HTTP TCP kullanan bir protokoldr. Her HTTP balants ncesinde mutlaka TCP balants kurulmaldr. Basit bir hesapla her HTTP balants iin ortalama 10 adet TCP paketi gidip gelmektedir(3 adet TCP balant balangc, 4 adet TCP balant koparlmas, 2-3 adet de HTTP istei ve buna dnecek cevap paketlerinin tand TCP paketleri). Bu da klasik HTTP kullanmnda performans sorununu beraberinde getirir. Gnmzde normal bir haber portalinin yklenmesi iin ortalama 40-50 HTTP GET istei gnderilmektedir. Bunu da hesaplarsak portal sayfasnn almas iin ortalama 50X10=500 TCP paketinin gidip gelmesi gerekir ki bu deer haber kullancy okumaktan vazgeirecek kadar fazladr. 38. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 38 Klasik bir HTTP Oturumu HTTPde bu performans sorununu aabilmek iin eitli yntemler gelitirilmitir. Bunlarn banda HTTP KeepAlive(persistent connection) zellii gelmektedir. HTTP Keep Alive zellii her HTTP istei iin ayr bir TCP balants amak yerine bir adet TCP balants ierisinden belirli sayda (5, 10, ..) HTTP isteinin aktarlabilmesini salar. 39. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 39 Http Pipelining pipelining http isteklerinin e zamanl olarak gnderilmesi ilemidir, genellikle Keep Alive kavramyla kartrlr fakat birbirlerinden farkl kavramlardr. Klasik http balantlarnda nce istek gnderilir, cevap beklenir, sonra tekrar istek gnderilir, cevab beklenir. Pipelining kullanldnda cevaplar beklemeksizin birden fazla http istei e zamanl olarak gnderilebilir bu arada istenirse KeepAlive zellii kullanlarak her istek iin ek bir TCP balants almaz. Web Sunuculara Ynelik DOS Saldrlar Web sunucularna ynelik DOS/DDOS saldrlarnda ama sayfann ilevsiz kalmas ve o sayfa zerinden verilen hizmetlerin kesintiye uratlmasdr. DOS/DDOSa maruz kalan web sunucularnda alan web sayfalarnda genelde aadakine benzer bir hata ile karlalr, eer saldr younluu yksekse sayfa hi gelmeyebilir. 40. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 40 Web sunuculara ynelik yaplacak DOS saldrlar temelde iki trden oluur; Kaba kuvvet saldrlar(Flood) Tasarmsal/yazlmsal eksikliklerden kaynaklanan zaafiyetler Kaba kuvvet DOS/DDOS Saldrlar Bu tip saldrlarda sunucu zerinde ne altna baklmakszn e zamanl olarak binlerce istek gnderilir ve sunucunun kapasitesi zorlanr. Literatrde ad GET Flood, POST Flood olarak geen bu saldrlar iki ekilde yaplabilir. Bir kii ya da birden fazla kiinin anlaarak belli bir hedefe e zamanl yzlerce, binlerce istek gnderir ya da bu ii hazr klelere(zombie) devredilerek etki gc ok daha yksek Dos saldrlar gerekletirilir. lk yntemde bir iki kii ne yapabilir diye dnlebilir fakat orta lekli ou irketin web sayfas tek bir kiinin oluturaca ezamanl yzlerce istee kar uzun sre dayanamayacaktr. Gzel olan u ki bu tip saldrlarn gerekletirilmesi ne kadar kolaysa engellemesi de o kadar kolaydr (gvenlik duvarlar/IPSlerin rate limiting zellii vs) kinci yntem yani Zombi ordular (BotNetler) araclyla yaplan HTTP Flood saldrlar ise binlerce farkl kaynaktan gelen HTTP istekleriyle gerekletirilir. Gelen balantlarn kayna dnyann farkl yerlerinden farkl ip subnetlerinden gelebilecei iin network seviyesinde bir koruma ya da rate limiting bir ie yaramayacaktr. 41. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 41 Yazlmsal ya da tasarmsal eksikliklerden kaynaklanan DOS/DDOS Saldrlar Tasarmsal zafiyetler protokol dzenlenirken detayl dnlmemi ya da kolaylk olsun diye esnek braklm baz zelliklerin ktye kullanlmasdr. Tasarmsal zafiyetlerden kaynaklanan DOS saldrlarna en iyi rnek getiimiz aylarda yaynlanan Slowloris aracdr. Bu arala tek bir sistem zerinden Apache HTTP sunucu yazlmn kullanan sistemler rahatlkla devre d braklabilir. Benzeri ekilde Captcha kullanlmayan formlarda ciddi DOS saldrlarna yol aabilir. Mesela form zerinden alnan bilgiler bir mail sunucu araclyla gnderiliyorsa saldrgan olmayan binlerce e-posta adresine bu form zerinden istek gnderip sunucunun mail sistemini kilitleyebilir. Zaman zaman da web sunucu yazlmn kullanan ve web sayfalarn dinamik olarak altrmaya yarayan bileenlerde eitli zafiyetler kmaktadr. Mesela yine getiimiz gnlerde yaynlanan bir PHP zafiyeti (PHP multipart/form- data denial of service)ni kullanlarak web sunucu rahatlkla ilevsiz brakabilir. Bu tip zafiyetler klasik snr koruma aralaryla kapatlamayacak kadar karmaktr. Yazlmlar gncel tutma, yaplandrma dosyalarn iyi bilme en iyi zmdr. Web sunucularna ynelik performans test aralar DDOS korumasnda web sunucularmz olas bir DOS/DDOSa maruz kalmadan test edip gerekli ayarlamalar, nlemleri almak yaplacak ilk ilemdir. Bunun iin saldrganlarn hangi aralar nasl kullanacan bilmek ie yarayacaktr. Zira gnmzde saldrgan olarak konumlandrdmz kiilerin eskisi gibi uzman seviyesinde bilgi sahibi olmasna gerek kalmamtr, aada ekran grntsnden grlecei gibi sadece hedef ip/host girilerek etkili bir dos saldrs balatlabilir. 42. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 42 Basit bir ADSL hattndan yaplan deneme ve sonular Bu yazda saldrganlarn kullandklar aralarn isimlerini verilmeyecektir, ayn ii yapan ve eitli kstlamalara sahip olan baz aralarn isimlerini vermekteyse bir saknca grmyorum. Benim kendi sistemlerimi test etmek istediimde kullandm temel aralar: ab, siege, http_load, hping ve curl. Bu aralarla istediiniz trde HTTP DOS saldr testleri gerekletirip sunucunuzun durumunu inceleyebilirsiniz. Ab(ApacheBenchmark) kullanarak yk testi labs-lifeoverip#ab -c 100 -p post1.txt -T application/x-www-form-urlencoded - n 10000 -r -q http://blog.lifeoverip.net/searchme.php ya da keepalive(-k parametresi kullanlarak) istekler gndererek TCP (layer 4) seviyesinde rate limitin kullanan sistemler atlatlabilir. DOS/DDOS Saldrlarndan Korunma Yntemleri Koruma konusunda bilinmesi gereken en temel kanun yaplan saldrnn iddeti (kullanlan bandwidth) sizin sahip olduunuzdan yksekse hibir ey yapamayacanzdr. Bu durumda i hizmet aldnz telekom firmasna der. 43. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 43 Web sunuculara ynelik DOS/DDOS saldrlarndan korunma dier DOS/DDOS yntemlerine gre daha zordur(synflood, udp flood, smurf vs). Dier saldr yntemleri genelde L4(TCP/UDP/ICMP) seviyesinde gerekletii iin a koruma cihazlar( Router, Firewall, NIPS)tarafndan belirli oranda engellenebilir fakat HTTP zerinden yaplan DOS saldrlarnda istekler normal kullanclardan geliyormu gibi gzkt iin a gvenlik cihazlar etkisiz kalmaktadr. Yine de web sunucular ve nlerine koyulacak a gvenlik cihazlar iyi yaplandrlabilirse bu tip saldrlardan byk oranda korunulabilir. Kullanlan web sunucu yazlm konfigrasyonunda yaplacak performans iyiletirmeleri stekleri daha rahat karlayacak ve gerektiinde bellee alabilecek sistemler kullanlmal Loadbalancer, reverseProxy kullanm(Nginx gibi) Firewall/IPS ile belirli bir kaynaktan gelebilecek max. stek/paket says snrlandrlmal (rate limiting kullanm) Saldr annda loglar incelenerek saldrya zel bir veri alan belirlenebilirse (User-Agent, Refererer vs) IPS zerinden zel imzalar yazlarak bu veri alanna sahip paketler engellenebilir fakat bunun normal kullanclar da etkileyecei bilinmesi gereken nir konudur. Web sunucunun destekledii dos koruma modlleri kullanlabilir (Apache Mod_dosevasive) yi yaplandrlm bu modlle orta dzey DOS saldrlarnn ou rahatlkla kesilebilir. Fakat kullanrken dikkat edilmesi gereken baz nemli noktalar vardr. Mesela DOS yapt phelenilen kullanclara HTTP 403 cevab dnmek yerine dorudan saldr yapanlar iptables(APF) ile bloklatmak sunucuyu gereksiz yere yormayacaktr. Sonu Siber dnyada gn getike Webin nemi artacak ve HTTPe ynelik DOS/DDOS saldrlar da ciddi artlar gsterecektir. DOS/DDOS saldrlarn engellemeye ynelik atlacak en salkl adm kullanlan sistemleri iyi bilmek ve DOS/DDOS saldrs kapnz almadan kendinizi test etmek ya da ettirmektir. Bu konuda hazr zm sunan ticari rnlerin onu yaplandran kadar ilevsel olaca unutulmamaldr. 44. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 44 DNS Hizmetine Ynelik DOS/DDDOS Saldrlar Internet dnyasnn almasn salayan ana protokoller incelediinde gvenlik asndan en nemli protokollerden birinin DNS olduu ortaya kmaktadr. Basite DNS, gnmz e-posta iletiiminin ve internet altyapsnn salkl almasnda kritik rol oynamaktadr. rnek olarak Trkiyenin internet altyapsna ynelik gerekletirilecek en nemli saldr lkenin en yetkili DNS sunucularna yaplacak saldrdr. Bu sistemler yeteri kadar korunmuyorsa internetten edinilecek eitli yazlmlarla DNS sunucu uzun sreler alamaz hale getirilebilir. Bunun sonucu olarak da Trkiyedeki tr. uzantl sistemlere eriim ve e-posta trafiinde ciddi aksamalar yaanabilir. DNS, UDP zerinden alan basit bir protokoldr ve son on yl incelendiinde gvenlik asndan karnesi snfta kalmaya yetecek kadar ktdr. DNS in sk kullanlyor olmas da bu protokol zerine gerekletirilen istismar almalarn ynlendirmektedir. DNS gvenliinden kast genellikle DNS kullanlarak gerekletirilen dns cache poisoning ve eriilebilirlii hedef alan DOS saldrlar olmaktadr. zellikle DNSe ynelik DoS/DDoS saldrlar son yllarda ciddi oranda art gstermektedir. DNSin UDP zerine kurulmu olmas ve UDP zerinden gerekletirilen iletiimde kaynak IP adresinin gerek olup olmadn anlamann kesin bir yolunun olmamas saldrgann kendini gizleyerek saldr gerekletirmesini kolaylatrmakta ve engellemeyi zorlatrmaktadr. 45. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 45 Bilgi Gvenlii AKADEMS 2011 Yl Siber Tehditler Anketi sonucu da DoS saldrlarnn en nemli tehditler arasnda yer aldn gstermektedir. DNS Hakknda Temel Bilgiler DNS Nedir? DNS(Domain Name System), temelde TCP/IP kullanlan a ortamlarnda isim- IP/IP-isim elemesini salar ve e-posta trafiinin salkl almas iin altyap sunar. Gnmzde DNSsiz bir a dnlemez denilebilir. Her yerel ada ve tm internet anda- hiyerarik bir DNS yaps vardr. Mesela bir e-postann hangi adrese gideceine DNS karar verir. Bir web sayfasna eriilmek istendiinde o sayfann nerede olduuna, nerede tutulacana yine DNS zerinden karar verilir. Bir sistemin DNS sunucusunu ele geirmek o sistemi ele geirmek gibidir. DNS Protokol Detay DNS, UDP temelli basit bir protokoldr. DNS balk bilgisi incelendiinde istek ve bu istee dnecek eitli cevaplar (kodlar kullanlarak bu cevaplarn eitleri belirlenmektedir) 46. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 46 Detayl DNS balk bilgisi incelemesi iin http://www.networksorcery.com/enp/protocol/dns.htm adresinden faydalanlabilir. DNS Paket boyutu DNS paketi denildiinde akla DNS istei ve DNS cevab gelmektedir. Bir DNS istek paketinin ortalama boyutu 40-60 Byte civarnda deimektedir(alt protokol bilgileri dhil). DNS cevab da yine sorgulanan alan ad ve kayda gre deiebilir ve 512 Bytedan kk olmaldr. rnek DNS Paketi Boyutu Dig komutunun kts (son satr: MSG SIZE) incelenerek dnen DNS paketinin boyutu hakknda bilgi edinilebilir. Buradaki boyut bilgisi protokol balk bilgileri eklenmemitir. $ dig www.bga.com.tr @8.8.8.8 ; www.bga.com.tr @8.8.8.8 ;; global options: printcmd ;; Got answer: ;; ->>HEADERHEADERHEADERHEADERHEADER ### Protocol Breakdown ### > ktda dikkatimizi aadaki satrlar ekmekte. [2] tcp 529590 ( 98.59%) 178126550 ( 99.60%) 336.35 90. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 90 [3] smtp 238109 ( 44.33%) 14288975 ( 7.99%) 60.01 Bu satrlara bakarak u yorum yaplabilir: Saldr TCP kullanlarak gerekletirilmi ve hedef port SMTPdir. Eer kt aadaki gibi olsayd: (%99 orannda UDP) rahatlkla saldrnn TCP tabanl deil UDP tabanl olduu yorumu yaplabilirdi. # tcpdstat -n ddos1.pcap DumpFile: ddos1.pcap FileSize: 0.36MB Id: 201005181127 StartTime: Tue May 18 11:27:53 2010 EndTime: Tue May 18 11:28:20 2010 TotalTime: 27.78 seconds TotalCapSize: 0.30MB CapLen: 96 bytes # of packets: 3464 (320.10KB) AvgRate: 91.67Kbps stddev:50.34K ### Packet Size Distribution (including MAC headers) ### > ### Protocol Breakdown ### 11.22.33.44.53: Flags [S], seq 4202405882, win 65535, options [mss 1460,sackOK,eol], length 0 22:04:23.033997 IP 91.3.119.80.64170 > 11.22.33.44.53: Flags [S], seq 1040357906, win 65535, options [mss 1460,sackOK,eol], length 0 22:04:23.146001 IP 91.3.119.80.59170 > 11.22.33.44.53: Flags [S], seq 3560482792, win 65535, options [mss 1460,sackOK,eol], length 0 22:04:23.164997 IP 91.3.119.80.59171 > 20.17.222.88.25: Flags [S], seq 92. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 92 1663706635, win 65535, options [mss 1460,sackOK,eol], length 0 22:04:23.384994 IP 91.3.119.80.59136 > 11.22.33.44.53: Flags [S], seq 192522881, win 65535, options [mss 1460,sackOK,eol], length 0 22:04:23.432994 IP 91.3.119.80.59137 > 11.22.33.44.53: Flags [S], seq 914731000, win 65535, options [mss 1460,sackOK,eol], length 0 ya da ayn ii yapan tcp[13] & 2 != 0 parametresi kullanlabilir. Eer saldr klasik syn flood deilse alternatif flagleri deneyerek benzer sonular elde edilebilir. ACK Flood Analizi Tcpdump kullanarak ACK bayrakl paketleri ayklama # tcpdump -i bce1 -n tcp[13] & 16 != 0 FIN Flood Analizi Tcpdump kullanarak FIN bayrakl paketleri ayklama # tcpdump -i bce1 -n tcp[13] & 1 != 0 and tcp port 80 tcp[13] demek TCP balndaki 13. byte anlamna gelir. Bu da bayraklar temsil eden bytedr. Her bayrak iin verilecek deer aadaki resimden alnabilir. HTTP GET Flood Saldrs TCP paketleri ierisindeki GET komutlarnn tcpdump ile ayklanabilmesi iin kullanlmas gereken parametreler. #tcpdump -n -r ddos3.pcap tcp port 80 and ( tcp[20:2] = 18225 ) Saldrnn iddetini Belirleme DDoS saldr analizine balarken cevaplamaya altmz sorulardan biri de saldrnn iddetiydi. Saldrnn iddetini iki ekilde tanmlayabiliriz 93. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 93 1. Gelen trafiin ne kadar bant genilii harcad 2. Gelen trafiin PPS deeri Tcpstat arac kullanlarak trafik dosyalar zerinde saldrnn PPS deeri, ne kadar bantgenilii harcand bilgileri detayl olarak belirlenebilir. # tcpstat r ddos_analizi.pcap -o "Byte/s:%B MinPacketSize:%m PPS:%p TCP:%T UDP:%U n" 5 Byte/s:3401176.20 MinPacketSize:40 PPS:5929.20 TCP:29004 UDP:637 Byte/s:3145824.60 MinPacketSize:40 PPS:5247.60 TCP:25797 UDP:436 Byte/s:3140760.20 MinPacketSize:40 PPS:5252.40 TCP:25661 UDP:594 Byte/s:3850993.20 MinPacketSize:40 PPS:13602.80 TCP:66808 UDP:756 Byte/s:4360434.30 MinPacketSize:40 PPS:14904.80 TCP:73681 UDP:435 Byte/s:4460434.40 MinPacketSize:40 PPS:14874.80 TCP:73681 UDP:457 Byte/s:4960434.60 MinPacketSize:40 PPS:13904.80 TCP:73681 UDP:535 Byte/s:5460434.20 MinPacketSize:40 PPS:24904.80 TCP:73681 UDP:456 Saldr Kaynan Belirleme DDoS saldrlarnda en nemli sorunlardan biri saldry gerekletiren asl kaynan bulunamamasdr. Bunun temel sebepleri saldry gerekletirenlerin zombie sistemler kullanarak kendilerini saklamalar ve baz saldr tiplerinde gerek IP adresleri yerine spoof edilmi IP adreslerinin kullanlmasdr. Saldr analizinde saldrda kullanlan IP adreslerinin gerek IPler mi yoksa spoofed IPler mi olduu rahatlkla anlalabilir. Internet zerinde sk kullanlan DDoS aralar incelendiinde IP spoofing seenei aktif kullanlrsa random retilmi sahte IP adreslerinden tek bir paket gnderildii grlecektir. Yani saldr srasnda kaydedilen dosya incelendiinde fazla sayda tek balant gzkyorsa saldrnn spoof edilmi IP adresleri kullanlarak gerekletirildii hkmne varlabilir. Tek cmleyle zetleyecek olursak: Eer ayn IPden birden fazla balant yoksa spoofed IP kullanlm olma ihtimali yksektir. #tcpdump -n -r ddos.pcap |awk -F" " '{print $3}'|cut -f1,2,3,4 -d"."|sort - 94. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 94 n|uniq -c 1 6.65.194.168 1 6.65.208.248 1 6.65.226.233 1 6.65.232.125 1 6.65.235.140 1 6.65.248.199 1 6.65.249.104 1 6.65.32.97 1 6.65.44.199 1 6.65.48.49 1 6.65.62.221 1 6.65.62.30 1 37.83.136.81 1 37.83.14.12 1 37.83.152.203 1 37.83.164.223 1 37.83.165.146 1 37.83.166.132 1 37.83.185.89 1 37.83.194.21 1 62.185.46.86 1 62.185.60.100 1 62.185.64.248 1 62.185.66.32 1 62.185.75.23 95. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 95 1 62.185.9.193 1 62.185.92.77 1 62.185.96.16 Yukardaki tcpdump komutu saldr yapan IP adreslerini ve ilgili IP adresinden saldr boyunca ka adet paket gnderildiini bulmaya yarar. ktdan da grlecei zere youn ekilde spoofed IP kullanlmtr. Saldrda Kullanlan Top 10 IP Adresi Saldrda kullanlan ve en fazla paket gnderen 10 ip adresine ulalmak istenirse aadaki komut satr i grecektir. # tcpdump -r TEST.pcap -n |cut -f3 -d" "|cut -f1-4 -d"."|sort -n|uniq -c|awk -F" " '{print $2 "t" $1 }'|sort -rn -k 2|head -10 reading from file TEST.pcap, link-type EN10MB (Ethernet) 11.22.228.246 482196 11.22.243.10 62095 11.22.228.73 27515 11.22.241.138 24972 93.18.207.182 24761 11.22.28.78 13205 195.142.247.7 5041 18.89.192.37 4870 78.16.195.145 4268 78.86.3.178 4157 ktda sol taraf IP adresi, sa taraf ise ilgili IP adresinden saldr boyunca ka adet paket gnderildiidir. HTTP GET Flood Saldrsnda Kullanlan IP Adresleri HTTP GET flood saldrlarnda IP spoofing yapmak mmkn deildir. Bir system HTTP istei gnderebilmesi iin ncelikli olarak 3l el skmasn tamamlamas gerekmektedir. Gnmz iletim sistemi/a/gvenlik cihazlarnda 3l el skma esnasnda TCP protokoln kandrarak IP spoofing yapmak mmkn gzkmemektedir. Dolaysyla HTTP GET flood saldrlar analizinde saldr yapan IP adresleri %99 gerek IP adreslerdir. 96. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 96 # tcpdump -n -r ddos3.pcap tcp port 80 and ( tcp[20:2] = 18225 )|sort - k3 -n|cut -f3 -d" "|cut -f1,2,3,4 -d"."|sort -n |uniq -c reading from file ddos3.pcap, link-type EN10MB (Ethernet) 1092 62.202.27.120 92 62.111.223.1 7 62.227.26.27 52000 62.227.33.111 63 62.72.23.102 1300 66.229.63.26 2 67.193.112.72 1 77.77.31.226 31020 77.160.72.77 93 77.161.12.233 71 77.161.227.192 90232 77.161.32.210 23 77.162.1.137 2 77.162.3.170 12900 77.162.76.177 21 77.163.6.127 3 77.163.132.37 79100 77.163.217.137 21 77.165.97.107 9 77.166.197.232 2700 77.166.60.175 35100 77.166.65.133 74200 77.167.126.119 22009 77.169.152.239 97. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 97 11891 77.171.175.77 Sa taraf IP adresi, sol taraftaki say da ilgili IP adresinden ka adet HTTP GET Flood istei gnderildiidir. Saldrda Kullanlan IP Adresleri Hangi lkeden? Gerekletirilen saldr bir botnet araclyla gerekletirilmi ve IP adresleri spoof edilmemise saldrda kullanlan IP adreslerinin hangi lkelere ait olduu bulunabilir. kan sonu grafie dkldnde aadaki kt alnacaktr. Saldr Paketlerini Pasif Snort Sisteminden Geirme Snort ak kaynak kodlu bir IPS sistemidir ve bnyesinde barndrd saldr imzalaryla ou klasik DDoS aracn /tipini tanmaktadr. Saldr esnasnda kaydedilen paketler Snortun pasif IPS motorundan geirilirse hangi saldr tipleri/aralar kullanlm bilgisi alnabilir. 98. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 98 #snort -r pids.pcap -c /usr/local/etc/snort/snort.conf -q O Jun 9 12:15:37 netdos1 snort: [1:2000545:6] ET SCAN NMAP -f -sS [Classification: Attempted Information Leak] [Priority: 2]: {TCP} 0.0.0.0:45295 - > 0.0.0.0:80 Jun 9 12:15:37 netdos1 snort: [1:2000545:6] ET SCAN NMAP -f -sS [Classification: Attempted Information Leak] [Priority: 2]: {TCP} 0.0.0.0:45296 - > 0.0.0.0:707 Jun 9 12:15:40 netdos1 snort: [1:408:5] ICMP Echo Request Flood [Classification: Misc activity] [Priority: 3]: {ICMP} 0.0.0.0 -> 0.0.0.0 Jun 1 10:15:23 netdos1 snort: [1:1000003:6] SYN Flood [Classification: DDoS] [Priority: 3]: {TCP} 0.0.0.0:1024 -> 0.0.0.0:80 Jun 9 12:15:37 netdos1 snort: [1:1000002:6] HTTP GET FlOOD [Classification: DDoS] [Priority: 2]: {TCP} 0.0.0.0:15295 -> 0.0.0.0:80 99. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 99 NTP Servisi Kullanarak Gerekletirilen Amplification DDoS Saldrlar DDoS saldrlar her geen gn nemi artryor ve yeni yeni yntemler, teknikler kefediliyor. Son zamanlarda kullanlan yntemler standart ara tabanl yntemlerden olduka farkl, arka plan dnlm, tasarlanm ve yksek boyutta olmaktadr. Yeni olarak nitelendirilse de teknik olarak daha nceden bilinen, teorik olarak dkmante edilmi fakat pratiini grmediimiz tipte saldrlar bunlar. 2014 ylnda NTP servisindeki monlist zelliini istismar eden Amplification DDoS saldrs 400 Gbps(2013 yl Trkiye internet kna yakn) civarnda idi ve bu rakam dnyadaki en ciddi ddos saldrs olarak tarihe gemitir. Amplification DDoS Saldrlar Standart DDoS saldrlarnda ama olabildiince ok fazla sayda sistem zerinden hedef sistemlere belirli sayda paket gnderimi yaparak devre d kalmasn salamaktr. Amplification tipi saldrlarnda ise trafik kapasitesi yksek arac sistemler kullanarak saldrgan sahip olduu bandwidth miktarndan ok daha fazlasn hedef sisteme ynlendirir. lk olarak Smurf olarak adlandrlan bir ddos saldrsnda kullanlan bu yntem hzl bir ekilde alnan nlemlerle internet dnyasnn gndemini uzunca bir sre megul etmemiti. Tekrar 2009 ylnda DNS kullanlarak karmza kt, 2013 ylnda ise DNS kullanlarak o zamana kadar ki en byk DDoS saldrs (Yaklak 300 Gbps) gerekletirildi. 2014 ylnda NTP ile birlikte 400 Gbpse ulam oldu. Bu rakamlar ciddi korumas ve datk altyaps olmayan eriim salayclar iin olduka tehlikeli ve nlemesi bir o kadar da zordur. Smurf saldrs broadcaste gnderilen bir adet ICMP paketine karlk ilgili ada ak olan tm sistemlerin cevap vermesi mantyla alr. Bylece hedef broadcast adresinde 100 tane sistem aka bir paket ile 100 paketlik cevap alnabilir. Gnderilen paketlerin kaynak ip adresi ddos yaplmak istenen hedef olarak verilirse saldrgan 10 Mbps trafikle hedefe 1 Gpbs saldr trafii retebilir. Burada saldrya yapan kaynak adresleri ilgili ada bulunan ve broadcast ICMP paketlerine cevap dnen sradan sistemler olacaktr. Broadcaste gelen ICMP isteklerine cevap vermeyecek ekilde yaplandrlmasyla bu zafiyet hzlca kapatlmtr. Linux sistemlerin ICMP paketlerine (broadcast) cevap verip vermedii aadaki komutla renilebilir. 100. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 100 sysctl net.ipv4.icmp_echo_ignore_broadcasts komutun ktsnn aadaki gibi olmas gerekir. net.ipv4.icmp_echo_ignore_broadcasts = 1 Smurf ICMP kulland iin ve ICMP genellikle yardmc protokol grevine sahip olduu iin ICMPnin kapatlmas ile Smurf ve benzeri birok atak engellenmi oldu. Amplification saldrlar ICMPnin yannda NTP, SNMP ve DNS protokolleri zerinden de gerekletirilebilir. Son zamanlarda daha ok DNS ve NTP kullanlarak gerekletirildiini gryoruz. NTP zerinden gerekletirilen amplification ddos saldrlar NTP, zaman senkronize protokoldr. Biliim sistemlerinin merkezi olarak zaman bilgilerini alp gncelleyecei bir servistir. UDP/123 portundan alr ve herhangi bir kimlik dorulama aamas bulunmamaktadr. ncelikle belirtmek gerekir ki bir protokol UDP tabanl ise onun gvenliini salamak iin protokolden iki kat daha fazla uygulama uygulama gelitiricisine i der. Bir NTP sunucusunun durumunu renmek iin aadaki komut yeterli olacaktr. [root@s-guard19 ~]# ntpq -pn remote refid st t when poll reach delay offset jitter =========================================================== =================== -208.53.158.34 164.244.221.197 2 u 266 512 377 20.715 8.447 0.091 +50.116.55.65 200.98.196.212 2 u 247 512 377 7.651 -1.170 0.225 +129.250.35.250 209.51.161.238 2 u 269 512 377 1.025 -0.229 0.096 *10.0.77.54 172.18.1.12 3 u 437 1024 377 0.135 0.568 0.522 NTP Monlist zellii ve istismar 101. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 101 ntp sunucular, kendine daha nce sorgu yapan ip adreslerini bellekte tutar ve bunu bir sorgu ile renmemize frsat tanr. Aadaki komut ile o NTP sunucuyu kullanan son 600 ip adresi alnabilir. [root@s-guard19 ~]# ntpdc -n -c monlist 50.22.202.163|more remote address port local address count m ver code avgint lstint =========================================================== ==================== 50.22.202.163 58609 50.22.202.163 2 7 2 0 32 0 184.45.66.119 80 50.22.202.163 69 7 2 0 7 0 83.250.130.244 80 50.22.202.163 1 7 2 0 0 0 199.255.209.211 6005 50.22.202.163 4914 7 2 0 4 0 89.108.86.169 21 50.22.202.163 736 7 2 0 4 0 83.108.22.62 80 50.22.202.163 76 7 2 0 4 1 141.0.23.147 80 50.22.202.163 140 7 2 0 4 2 83.98.143.20 80 50.22.202.163 142 7 2 0 4 2 76.76.4.146 80 50.22.202.163 2577 7 2 0 4 2 85.153.46.92 80 50.22.202.163 1383 7 2 0 3 2 5.39.114.89 53 50.22.202.163 4876 7 2 0 2 3 139.216.201.12 80 50.22.202.163 22 7 2 0 269 3 207.244.74.132 6005 50.22.202.163 97 7 2 0 4 3 178.235.0.18 80 50.22.202.163 38 7 2 0 7 4 184.173.86.203 80 50.22.202.163 105 7 2 0 80 8 31.169.77.59 35157 50.22.202.163 9 7 2 0 154 22 Burada gnderilen istein (NTP istei) boyutu incelenirse yaklak olarak 250 Byte civarnda olduu gzkecektir. Bu pakete dnen cevaplarn toplam (bir adet istee kar toplamda 10-15 cevap dnmektedir) 7500 Bytea yakndr. Buradan bir istekle hedef sistem zerinden 30 kat daha fazla trafik retebileceimizi grebiliriz. 102. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 102 NTP, UDP tabanl olduu iin gnderilecek isteklerde kaynak ip adresi olarak ddos saldrs gerekletirilmek istenen hedef verilirse saldrgan 10 Mbps ile 300 Mbps trafik retebilir. Bunun gibi 100lerce ak NTP sunucusu bularak Monlist zellii aktif sistemlerin tespiti Nmapin ntp monlist scripti kullanarak bir adaki monlist zellii aktif olan NTP sunucular tespit edilebilir. nmap -sU -pU:123 -Pn -n --script=ntp-monlist 192.168.0.0/24 rnek bir kt aadaki gibi olacaktr. [root@s-guard19 /usr/local/share/nmap/scripts]# nmap -sU -pU:123 -Pn -n -- script=ntp-monlist localhost Starting Nmap 5.35DC1 ( http://nmap.org ) at 2014-03-09 10:10 CDT Nmap scan report for localhost (127.0.0.1) Host is up (0.00010s latency). PORT STATE SERVICE 123/udp open ntp | ntp-monlist: | Target is synchronised with 129.250.35.251 | Alternative Target Interfaces: | 10.32.83.4 50.22.202.133 50.22.202.163 | Private Servers (1) | 10.0.77.54 | Public Servers (3) | 38.229.71.1 50.116.38.157 129.250.35.251 | Other Associations (14) | 127.0.0.1 (You?) seen 3 times. last tx was unicast v2 mode 7 103. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 103 | 84.24.85.156 seen 11 times. last tx was unicast v2 mode 7 | 94.242.255.62 seen 10 times. last tx was unicast v2 mode 7 | 199.255.209.211 seen 11 times. last tx was unicast v2 mode 7 | 141.0.23.147 seen 11 times. last tx was unicast v2 mode 7 | 130.193.170.56 seen 10 times. last tx was unicast v2 mode 7 | 178.235.0.18 seen 10 times. last tx was unicast v2 mode 7 | 84.248.95.88 seen 21 times. last tx was unicast v2 mode 7 | 86.141.107.15 seen 11 times. last tx was unicast v2 mode 7 | 76.76.4.146 seen 10 times. last tx was unicast v2 mode 7 | 31.220.4.151 seen 10 times. last tx was unicast v2 mode 7 | 106.219.29.214 seen 10 times. last tx was unicast v2 mode 7 | 83.98.143.20 seen 9 times. last tx was unicast v2 mode 7 |_ 50.90.225.202 seen 4 times. last tx was unicast v2 mode 7 Nmap done: 1 IP address (1 host up) scanned in 1.17 seconds Korunma Yntemleri En temel ve nemli korunma yntemi NTP sunucusu ak olmas gerekmiyorsa servisin kapatlmas veya gvenlik duvar arkasnda ise portun Firewalldan kapatlmasdr. NTP sunucu olarak hizmet verilmesi gerekiyorsa ilk admdaki neriler ie yaramayacaktr. Bunun icin NTP yaplandrma dosyasna gidip disable monitor satrnn eklenmesi ve ntp servisinin yeniden balatlmas yeterli olacaktr. [root@s-guard19 ~]# /etc/rc.d/ntpd restart Stopping ntpd. Starting ntpd. 104. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 104 [root@s-guard19 ~] # ntpdc -n -c monlist 50.22.202.163 ***Server reports data not found nceleme amal rnek bir monlist paket dosyasna www.bga.com.tr/ntp.pcap adresinden eriim salanabilir. 105. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 105 EKLER: DoS/DDoS, 2012 ylnda tm dnyada gerekletirilen siber saldrlarn banda gelmektedir. Bunun temel nedeni DDoS saldrsn gerekletirmek iin herhangi bir bilgi birikimi gerekmemesi ve etkisini annda gstermesidir. Internet zerinden elde edilecek eitli otomatik aralar kullanlarak cok rahatlikla kurumsal web sayfalar alamaz hale getirilebilir. DDoS'un bu kadar basit bir saldr olmas ou gvenlik uzman ve kurum tarafndan yeteri kadar ciddiye alnmamasna neden olmaktadr. Oysa siber saldrlarn byk ounluu kurumlarn ve uzmanlarn yeteri kadar ciddiye almadklar yerlerden gelmektedir. DdoS bir altyap problemidir ve tm ISPler biraraya gelip ortak kurallar erevesinde hareket etmedikce sonlanmayacaktr. DDoS Pentest / Hizmet Durdurma Simulasyon Saldrlar DDoS testlerinde hedef seerken dikkatli olunmal, ana sayfann eriilemez olmasn isteyen bir saldrgan sadece ana sayfaya ynelik bir ddos saldrs gerekletirmez. DNS, Firewall, veya daha korumasz grd bir sisteme saldr denemesinde bulunabilir. Bu nedenle ddos testlerinde farkl hedefler belirleyerek bu hedeflere ynelik gerekletirilecek saldrlarn hangi noktalarda sknt oluturduu bir excel olarak tutulmaldr. DDoS Test eitleri Internet zerinde 60a yakn DdoS saldrs gerekletirilmektedir. Bunlardan en temel saldrlar SYN Flood, DNS Flood, UDP flood ve HTTP Floodolarak bilinmektedir. DDoS testlerinin gerek anlamda salkl sonular verebilmesi iin aadaki 106. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 106 ana balklar iermesi beklenmektedir: Syn Flood Saldrlar ACK Flood Saldrlar FIN Flood Saldrlar TCP Connection Flood Saldrlar UDP Flood DDoS Saldrlar ICMP Flood DDoS Saldrlar HTTP GET, POST Flood Saldrlar DNS Flood DDoS Saldrlar Botnet Simulasyonu Rate Limiting, Karantina zelliklerinin Test Edilmesi Uygulamalara zel DoS Testleri SSL, HTTPS DoS Testleri Sahte IP Paketleriyle Test DDoS testlerinde Botnet gibi yasal olmayan sistemler kullanlamayaca iin test yapacak firmann internet zerinde ip spoofing yapabilecek zelliklere sahip sistemleri olmas gerekmektedir. Gnmzde ou ISP kendi sistemlerinden sahte ip adresleri ile trafiin kmamas iin UPRF gibi eitli nlemler almaktadr. Gerekletirilen testler iin kullanlacak sistemlerin nnde URPF korumal bir ynlendirici bulunuyorsa siz paketlerin gittiini dnrsnz fakat sahte retilen paketler bir sonraki ynlendirici cihazdan ileri gidemez. Test Trafik Kapasitesi Ortalama trafik retimi 2-5 Gbps ve retilmesi gereken paket miktar 3.000.000 PPS civarnda olmaldr. Bunun altnda kalacak ddos testleri klasik ddos engelleme sistemleri tarafndan rahatlkla engellenebilir. in Mantn Anlayarak Test Yapma DDoS testlerinin kolay gerekletirilebiliyor olmas bu konuda hi bir bilince sahip olmayan kiilerin de test gerekletirebilmesini salamaktadr. DDoS 107. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 107 engelleme sistemleri internet zerinden indirilip altrlacak ou ddos test/paket retici yazlm iin basit koruma zelliklerine sahiptir. Mesela Hping kullanarak yaplacak klasik bir SYN flood saldrsnn korumal bir sistemde hi bir etkisi olmayacaktr. Hping SYN paketleri retirken sradan bir TCP balantsndan farkl retmektedir. Bu fark yakalayan DDoS engelleme sistemleri paketleri ilemeden drmektedir. Hping TCP SYN Paketi Anormallik rnei Klasik bir TCP balants balatma isteinde balk bilgileri aadaki gibi olacaktr. Transmission Control Protocol, Src Port: 57306 (57306), Dst Port: http (80), Seq: 688192453, Len: 0 Source port: 57306 (57306) Destination port: http (80) [Stream index: 0] Sequence number: 688192453 Header length: 40 bytes Flags: 0x002 (SYN) 000. .... .... = Reserved: Not set ...0 .... .... = Nonce: Not set .... 0... .... = Congestion Window Reduced (CWR): Not set .... .0.. .... = ECN-Echo: Not set .... ..0. .... = Urgent: Not set .... ...0 .... = Acknowledgment: Not set .... .... 0... = Push: Not set .... .... .0.. = Reset: Not set .... .... ..1. = Syn: Set [Expert Info (Chat/Sequence): Connection establish request (SYN): server port http] [Message: Connection establish request (SYN): server port http] [Severity level: Chat] Hping tarafndan retilecek SYN paketlerinde TCP SYN paketinde ise ACK bayra set edilmedii halde ACK numaras alan dolu olarak gnderilmektedir. Transmission Control Protocol, Src Port: here-lm (1409), Dst Port: http (80), Seq: 239285634, Len: 0 Source port: here-lm (1409) Destination port: http (80) [Stream index: 0] Sequence number: 239285634 Acknowledgment Number: 0x1f7f9dc1 [should be 0x00000000 because 108. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 108 ACK flag is not set] [Expert Info (Warn/Protocol): Acknowledgment number: Broken TCP. The acknowledge field is nonzero while the ACK flag is not set] [Message: Acknowledgment number: Broken TCP. The acknowledge field is nonzero while the ACK flag is not set] [Severity level: Warn] [Group: Protocol] Header length: 20 bytes Flags: 0x002 (SYN) 000. .... .... = Reserved: Not set ...0 .... .... = Nonce: Not set .... 0... .... = Congestion Window Reduced (CWR): Not set .... .0.. .... = ECN-Echo: Not set .... ..0. .... = Urgent: Not set .... ...0 .... = Acknowledgment: Not set .... .... 0... = Push: Not set .... .... .0.. = Reset: Not set .... .... ..1. = Syn: Set ou DDOS engelleme sistemi bu anormallii yakalayarak Hping tarafndan retilecen paketleri ilemeden pe atmaktadr DDoS Test Amal Kullanlan Yazlmlar DoS/ DDoS testlerinde yasal olmayan yollarla elde edilmi Botnet yazlmlar kullanlamaz. Botnet'lerin oluturaca trafiin benzerini oluturabilecek kapasitede ak kaynak kodlu ve ticari yazlmlar bulunmaktadr. Hping3 Nping Juno T50 ab Apache Jmeter DoSHTTP Mz Hyanae DDoSim 109. DoS/DdoSSaldrlarveKorunmaYollarKitabHuzeyfeNAL BilgiGvenliiAKADEMS|www.bga.com.tr|[email protected] 109 Bonesi Not: HTTP ve TCP zerinden alan dier uygulama seviyesi protokollerde ip spoofing yaplamayaca iin internet zerinden yaplacak ddos testlerinde bu protokollere ait paket retimleri gerekletirilemez. Yerel ada lab ortam kurarak http ve benzeri protokoller iin ip spoofing yaplarak tam bir botnet/zombi ordusu simlasyonu gerekletirilebilir. Internet zerinden eitli bulut biliim zmleri kullanlarak 100-500-1000 ip adreslik uygulama seviyesi ddos saldrlar simle edilebilir. cretsiz yazlmlar genellikle kstl zelliklere sahiptir. Gelitirme programlama dili olarak C ve Perl kullanld iin kod taraf incelenerek eklemeler yaplabilir. Mesela hping paketleri gnderirken sadece bir ip adresinden ya da tamamen rastgele ip adreslerinden gnderebilir fakat belirli ip aralndan paket gnderme zellii yoktur(botnet simlasyonu iin). Testlerde Kullanlan Kaynak Sistemlerin Konumlandrlmas Baz DDoS koruma sistemleri internetten gelecek ataklara kar baarl bir koruma salarken eksik/hatal yaplan