DDoS Benzetimi Projesi Raporu

GTU Bilgisayar Mühendisliği Bitirme Projesi kapsamında hazırlamış olduğum DDoS Benzetimi Projesinin son raporudur.

1
T.C.
GEBZE TEKNĠK ÜNĠVERSĠTESĠ
Bilgisayar Mühendisliği Bölümü
DDoS BENZETĠMĠ
Oğuzcan PAMUK
DanıĢman
Prof. Dr. Ġbrahim SOĞUKPINAR
Haziran, 2016
Gebze, KOCAELĠ
2
3
T.C.
GEBZE TEKNĠK ÜNĠVERSĠTESĠ
Bilgisayar Mühendisliği Bölümü
DDoS BENZETĠMĠ
Oğuzcan PAMUK
DanıĢman
Prof. Dr. Ġbrahim SOĞUKPINAR
Haziran, 2016
Gebze, KOCAELĠ
4
5
Bu çalıĢma ..../..../200.. tarihinde aĢağıdaki jüri tarafından Bilgisayar Mühendisliği
Bölümünde Lisans Bitirme Projesi olarak kabul edilmiĢtir.
Bitirme Projesi Jürisi
DanıĢman Adı Prof.Dr.Ġbrahim SOĞUKPINAR
Üniversite GEBZE TEKNĠK ÜNĠVERSĠTESĠ
Fakülte Mühendislik Fakültesi
Jüri Adı Doç.Dr.Didem GÖZÜPEK
Üniversite GEBZE TEKNĠK ÜNĠVERSĠTESĠ
Fakülte Mühendislik Fakültesi
Jüri Adı Doç.Dr.Hasari ÇELEBĠ
Üniversite GEBZE TEKNĠK ÜNĠVERSĠTESĠ
Fakülte Mühendislik Fakültesi
6
ÖNSÖZ
Bu kılavuzun ilk taslaklarının hazırlanmasında emeği geçenlere, kılavuzun son
halini almasında yol gösterici olan Sayın Prof.Dr.Ġbrahim SOĞUKPINAR hocama
ve bu çalıĢmayı destekleyen Gebze Teknik Üniversitesi’ne içten teĢekkürlerimi
sunarım.
Ayrıca eğitimim süresince bana her konuda tam destek veren aileme ve bana
hayatlarıyla örnek olan tüm hocalarıma saygı ve sevgilerimi sunarım.
Haziran, 2016 Oğuzcan PAMUK
7
ĠÇĠNDEKĠLER
ġEKĠL LĠSTESĠ........................................................................................................ 9
TABLO LĠSTESĠ.................................................................................................... 10
KISALTMA LĠSTESĠ ............................................................................................ 11
ÖZET ....................................................................................................................... 12
SUMMARY ............................................................................................................. 13
1. GĠRĠġ ........................................................................................................... 14
1.1. PROJE TANIMI ..................................................................................... 14
1.2. PROJENĠN NEDEN VE AMAÇLARI ................................................. 15
2. TEMEL BĠLGĠLER VE ĠLGĠLĠ ÇALIġMALAR .................................. 16
2.1. TEMEL BĠLGĠLER .............................................................................. 16
2.2. ĠLGĠLĠ ÇALIġMALAR......................................................................... 16
3. PROJE TASARIMI.................................................................................... 18
3.1. PROJENIN DETAYLARI..................................................................... 18
3.2. SISTEM MIMARISI .............................................................................. 20
3.3. DOS SALDIRILARININ MODELLENMESI..................................... 21
3.3.1 Ölümcül Ping (Ping of Death)……………………………………..21
3.3.2 Smurf………………………………………………………………..21
3.3.3 HTTP Seli (HTTP Flood)………………………………………….21
3.3.4 SYN Seli (SYN Flood)……………………………………………...22
3.3.5 ACK Seli (ACK Flood)…………………………………………….22
3.3.6 FIN Seli (FIN Flood)……………………………………………….22
3.3.7 UDP Seli (UDP Flood)…………………………………………….. 23
3.3.8 ARP Zehirlenmesi (ARP Poisoning)……………………………...23
3.4. UML DĠYAGRAMLARI ....................................................................... 24
3.5. EKRAN TASARIMLARI ...................................................................... 25
3.6. Iġ PLANLARI......................................................................................... 27
3.7. BAġARI KRITERLERI......................................................................... 27
4. DENEYLER VE TARTIġMA ................................................................... 29
8
5. SONUÇ......................................................................................................... 33
6. KAYNAKLAR ............................................................................................ 34
9
ġEKĠL LĠSTESĠ
ġekil 1 Projenin Genel Yapısı................................................................................... 15
ġekil 2 Sistem Mimarisi............................................................................................ 20
ġekil 3 Kullanım – Durum (Use – Case) Diyagramı ............................................... 24
ġekil 4 Modül Diyagramı.......................................................................................... 24
ġekil 5 Web Tarayıcı Modülü................................................................................... 25
ġekil 6 Ağ Tarayıcı Modülü ..................................................................................... 25
ġekil 7 Port Tarayıcı Modülü.................................................................................... 26
ġekil 8 Ping Modülü ................................................................................................. 26
ġekil 9 Deneyler - Ping Modülü-1............................................................................ 29
ġekil 10 Deneyler - Ping Modülü-2.......................................................................... 30
ġekil 11 Deneyler - Web Tarayıcı ............................................................................ 30
ġekil 12 Deneyler - Ağ Tarayıcı ............................................................................... 31
ġekil 13 Deneyler - Port Tarayıcı, Tüm portlar ........................................................ 32
ġekil 14 Deneyler - Port Tarayıcı, Tek port.............................................................. 32
10
TABLO LĠSTESĠ
Tablo 1 ĠĢ Planı......................................................................................................... 27
11
KISALTMA LĠSTESĠ
UML : Unified Modeling Language (BirleĢik Modelleme Dili)
G.T.Ü : Gebze Teknik Üniversitesi
DDoS : Distributed Denial of Service
DoS : Denial of Service
ICMP : Internet Control Message Protocol
HTTP : Hyper-Text Transfer Protocol
TCP : Transmission Control Protocol
UDP : User Datagram Protocol
ARP : Address Resolution Protocol
12
ÖZET
Bu projede, varolan sistemlere gerçekleĢmesi muhtemel DoS/DDoS saldırılarının
etkilerini önceden ölçebilmek amacıyla DoS/DDoS aracı geliĢtirilmiĢtir. Saldırıları
test edebilmek amacıyla sanal bilgisayarlardan oluĢan bir laboratuvar ortamı
oluĢturulmuĢtur.
GeliĢtirilen bu araç, sadece DoS/DDoS saldırıları yapabilmenin dıĢında, kullanıcıya
hedef sistemler hakkında bilgi verebilecek çeĢitli modülleri de
gerçekleĢtirebilmektedir. Hedef sistemin açık portlarını tarayabilmek amacıyla Port
Tarayıcı, hedef sistemin mecvut linklerini tarayabilmek amacıyla Web Gezgini, ağ
üzerinde hangi cihazların bulunduğunu ve bu cihazların ip-mac adreslerini
öğrenebilmek amacıyla Ağ Tarayıcı ve son olarak hedef sistemin ağa bağlı olup
olmadığını görebilmek amacıyla Ping modülleri bulunmaktadır.
Sistemlerin test edilebilmesi amacıyla oluĢturulan saldırı modülünde Kali Linux
saldırı araçlarından yararlanılmıĢtır. Ayrıca bu projede oluĢturulan saldırı ve tespit
aracı Kali Linux ĠĢletim Sistemi üzerinde çalıĢtırılmaktadır. Hali hazırda çalıĢan
sistemlere zarar vermemek amacıyla, geliĢtirilen bu metotlar sanal bilgisayarlar
üzerinde denenmiĢtir.
.
13
SUMMARY
In this project, a DoS/DDoS tool has been developed to measure beforehand the
possible DoS/DDoS attacks to the existing systems. A lab environment is created
from virtual computers to test the attacks.
Besides the ability to make DoS/DDoS attacks, the developed device can also
design various modules that’s able to give information about the targeted systems to
the user. Port Scanner is used to scan the open ports of the targeted system, Web
Crawler is used to scan the current links of the system, Network Scanner is used to
get the information of which devices are on the network and the ip-MAC addresses
of these devices. And finally to see if the targeted system is connected to the
network, there are Ping modules.
Kali Linux attack tools are utilized on the attack module that created to test the
systems. Also, in this project, the created attack and detection tool works on Kali
Linux Operating System. Developed methods are tested on virtual computers to
avoid to harm the currently working systems.
14
1. GĠRĠġ
Bu rapor G.T.Ü. Bilgisayar Mühendisliği Bölümü Lisans Bitirme Projesi dersi
kapsamında hazırlanan DDoS Benzetimi projesinin açıklanması amacıyla
oluĢturulmuĢtur. Projenin tanımı, gereksinimleri, açıklayıcı diyagramları raporun
içeriğini oluĢturmaktadır.
Günümüz dünyasında internet hayatımızın her alanına girmiĢ ve geliĢen teknolojiyle
girmeye devam etmektedir. Bankacılık, kamu, milli güvenlik gibi hayati öneme
sahip birimlerde teknoloji ve internet kavramları çok yaygın olarak kullanılmakta ve
hatta bu birimlerin temelini oluĢturmaktadır. Ġnterneti kullanan ve hayati öneme
sahip olan bu sistemlerin korunması da günlük hayatın normal seviyede
ilerleyebilmesi açısından büyük önem arz etmektedir. Bu sebeplerden dolayı DDoS
saldırılarının önemi gün geçtikçe artmaktadır.
Soğuk savaĢın en etkili silahı olan DDoS saldırıları genel olarak sistemlerin
eriĢilebilirliğini hedef almaktadır. Bahsi geçen saldırılar yoluyla kurban olarak
seçilen kiĢi veya kurumların iĢlevlerini yerine getirememesi amaçlanmaktadır. Bu
sebepten dolayı sistemler oluĢturulurken sistemi kullanacak kullanıcı sayısı, hat
kapasitesi, anlık istek sayısı gibi maddeler üzerinde çalıĢılmalı ve saldırılara
dayanıklı bir sistem tasarlanmalıdır.
1.1. PROJE TANIMI
Birden fazla kaynaktan sistemlere yapılan ve sistemlerin hizmetini yavaĢlatmayı
veya durdurmayı hedefleyen saldırıları gerçekleĢtiren bir araç geliĢtirilmiĢtir.
Tasarlanan bu araçla birlikte aracın simülasyonunu yapabilmeyi sağlayan küçük
çaplı bir laboratuvar oluĢturulmuĢtur.
15
ġekil 1 Projenin Genel Yapısı
ġekil 1’i incelersek sistemi daha iyi anlayabiliriz. Saldırgan olarak gösterilen
kullanıcı, ana kontrol mekanizması üzerinden saldırıyı baĢlatır ve bir bilgisayar
ordusunu andıran bir çok istemci tarafından hedef sistemi saldırı gerçekleĢtirilir.
1.2. PROJENĠN NEDEN VE AMAÇLARI
DDoS Benzetimi Projesinin hangi neden ve amaçlarla baĢlatıldığı aĢağıdaki
maddelerde açıklanmıĢtır:
 Bu proje sayesinde gelebilecek muhtemel DDoS saldırılarına karĢı
sistemlerin vereceği tepkiler önceden belirlenmiĢ olacaktır.
 Saldırı tekniklerinin yapısı incelenerek gelebilecek saldırıların neden
kaynaklandığı bilinecektir.
 Bu saldırıların gerçekleĢtirilmesi amacıyla oluĢturulan laboratuvar ortamının
oluĢturulması.
16
2. TEMEL BĠLGĠLER VE ĠLGĠLĠ ÇALIġMALAR
2.1. TEMEL BĠLGĠLER
Projeyi daha iyi anlayabilmek adına DDoS ile ilgili bilinmesi gereken temel bilgiler
bu baĢlık altında verilecektir.
 DoS
Herhangi bir sistemin hizmetini yavaĢlatma veya durdurma amacıyla yapılan
saldırılardır.
 DDoS
DOS saldırılarının organize bir Ģekilde birden fazla kaynak tarafından
gerçekleĢtirilmesidir.
 Zombi
ÇeĢitli amaçlar için ele geçirilmiĢ bilgisayarlardır. Bu projede sanal makinalar
zombi olarak kullanılacaktır. Zombiler yardımıyla DDOS gerçekleĢtirilecektir.
 IP Gizleme (IP Spoofing)
IP adresinin olduğundan farklı gösterilmesidir. Bu sayede saldırıyı yapan
kiĢinin yakalanma riski yok edilmiĢ olacaktır.
2.2. ĠLGĠLĠ ÇALIġMALAR
DoS ve DDoS saldırılarına iliĢkin çeĢitli kaynaklar üzerinde yapılan araĢtırmalara
göre saldırıların genel amacı; bankacılık sistemleri, e-posta ve telefon hizmetleri
gibi bilgisayar mimarisi üzerine kurulmuĢ ve hayati önem taĢıyan yapıların iĢlevsiz
hale getirilmesidir. Bazı politik ve ticari sebepler bu saldırıların en büyük nedenleri
olarak gösterilebilir. Bahsi geçen bu saldırılar yıllar önce geliĢtirilmiĢ ve günümüzde
halen daha yaygın bir Ģekilde kullanılan protokollerin eksiklerinden veya
sistemlerde kullanılan mevcut yazılımların açıklarından faydalanılarak oluĢturulur.
Saldırıları gerçekleĢtirmek için ağ kavramının bulunması yeterlidir. Zorunlu olarak
17
internete ihtiyaç bulunmamaktadır. Ġp gizleme tekniği kullanılarak yapılan
saldırıların kim tarafından yapıldığını bulmak neredeyse imkansız hale gelmektedir.
Yapılan araĢtırmalara göre ICMP, TCP, UDP ve SIP gibi protokoller üzerinden
DoS/DDoS saldırıları gerçekleĢtirilebilmesi mümkündür. Günümüzde en yaygın
olan saldırılar ise; TCP Syn Seli (Syn Flood), UDP Seli (UDP Flood), TCP Ack
Seli (Ack Flood), HTTP Seli (HTTP Flood), DNS Seli (DNS Flood) ve Ölümcül
Ping (Ping of Death) saldırılarıdır. Bu saldırılar yapılıĢ Ģekillerine göre iki ayrı
kategoriye ayrılmaktadırlar. Bunlardan ilki ağ trafiğini iĢlevsiz hale getirmek için
çeĢitli yöntemlerle ağ trafiğini doldurmaya yönelik saldırılar, diğeri ise iĢlemci gibi
kurban sistemin kaynaklarının gereksiz yere tüketilmesinden oluĢmaktadır.[3]
DoS/DDoS saldırılarını gerçekleĢtiren çeĢitli araçlar mevcuttur. Özellikle Kali
Linux araçları sayesinde bir çok farklı saldırı tipi gerçekleĢtirilebilir. Nmap, Hping,
DoS Http, Scapy gibi araçlar vasıtasıyla mevcut sunucuların bu saldırılara nasıl
reaksiyon gösterdiğini görmek mümkündür..[3]
ÇeĢitli araçlar kullanılarak DoS/DDoS saldırılarının simülasyonu yapılabilir. NS2
isimli simülatör sayesinde çeĢitli saldırıların nasıl gerçekleĢtirildiğini görmek ve bu
saldırıların yapısını anlamak mümkündür. Bu saldırıları gerçekleĢtiribilmek için
NS2 Tcl script kodları yazmak gerekmektedir. Daha sonra çizilen ağ topolojisi
üzerinde simülasyon gerçekleĢtirilebilir[1]. Sanal makinalar kullanarak çeĢitli ağ
ortamları kurulabilir ve bu ağlarda simülasyon gerçekleĢtirilebilir. En az iki sanal
zombi bilgisayar, kurban olarak gösterilecek bir sanal bilgisayar, atağı baĢlatacak ve
zombileri kontrol edebilecek bir bilgisayar simülasyon için yeterli olacaktır. Fakat
bu sistemlerin ve oluĢturulacak ağın gücü ne kadar kuvvetli olursa gerçekleĢtirilmek
istenen simülasyonun gerçekçiliği de bir o kadar fazla olacaktır.[5]
18
3. PROJE TASARIMI
Proje gerçekleĢtirilirken kullanılan sistemler, kütüphaneler, geliĢtirme ortamları gibi
kavramlar alt baĢlıklarda belirtilmiĢtir.
3.1. PROJENĠN DETAYLARI
GeliĢtirilen bu projede, kullanıcıya hedef sistemler hakkında bilgi verebilecek
modüller oluĢturulmuĢ ve saldırıların benzetiminin gerçekleĢtirilebilmesi adına
saldırı modülleri tasarlanmıĢtır.
 Projenin Modülleri
 Kullacının hedef sistemin açık portlarını kontrol edebilmesi amacıyla
port tarayıcısı tasarlanmıĢtır.
 Kullanıcının ağ üzerindeki sistemleri öğrenebilmesi amacıyla ağ
tarayıcısı tasarlanmıĢtır.
 Kullanıcının hedef web sisteminin linklerini tarayabilmesini sağlayan
web link tarayıcısı tasarlanmıĢtır.
 Kullanıcının simülasyonu gerçekleĢtirebilmesi ve sistemi kontrol
edebilmesi amacıyla web arayüz geliĢtirilmiĢtir.
 Web arayüz ile modüller arası iletiĢimin kurulması için web servisi
oluĢturulmuĢ ve proje ürün haline getirilmiĢtir.
 Saldırı tekniklerinin ve geliĢtirilen bu modüllerin benzetiminin
gerçekleĢtirilebilmesi adına sanal makinalardan oluĢturulan küçük
çaplı bir laboratuvar ortamı kurulmuĢtur. Bu ortam DoS saldırılarının
DDoS saldırılarına çevirilebilmesi adına kullanılacak olan Zombi
19
sistemlerden ve hedef olarak belirlenen çeĢitli servislerden
oluĢturulmuĢtur.
 Kullanılan Kütüphane ve Framework Teknolojileri
 Sistemler Java Programlama Dili kullanılarak oluĢturulmuĢtur.
 Web Servisi tasarımı için güvenliği ön planda tutan “Spring
Framework” yapısı kullanılmıĢtır.
 Kullanıcının sistemi kullanabilmesi ve simülasyonu
gerçekleĢtirebilmesi adına geliĢtirilecek olan web arayüzü için
“AngularJs” ve “NodeJs” teknolojileri kullanılmıĢtur.
 Ağ tarayıcısı için “nmap” aracından yararlanılmıĢtır.
 DoS teknikleri için Kali Linux ĠĢletim Sisteminin Nmap, Hping,
Smurf6 araçlarından faydalanılmıĢtır.
20
3.2. SĠSTEM MĠMARĠSĠ
Bu bölümde çeĢitli görsel kaynaklardan yararlanarak sistemin daha iyi anlaĢılması
hedeflenmektedir.
ġekil 2 Sistem Mimarisi
ġekil 2’de sistemin nasıl çalıĢacağı özetlenmiĢtir. Buradaki “Command & Control”
modülü tasarlanan araçtır. “Zombie” olarak tanımlanan modüller ise sanal
makinalardan oluĢan saldırıyı farklı kaynaklardan gerçekleĢtiren istemcilerdir.
Kullanıcı kontrol sistemi sayesinde sistem hakkında bilgilere sahip olabileceği “Port
Tarayıcı”, “Web Gezgini”, “Ağ Tarayıcı” ve DoS saldırılarını gerçekleĢtirebileceği
saldırılar modülüne eriĢebilmelidir.
21
3.3. DOS SALDIRILARININ MODELLENMESĠ
Saldırı modülünde kullanılacak saldırı tekniklerinin açıklamaları ve modellenirken
nasıl bir yol izlendiği bu baĢlık altında incelenmiĢtir.
DoS saldırıları çeĢitli protokollerin eksiklerinden faydalanarak oluĢturulmaktadır.
Bu projede hangi protokollerin hangi eksiklerine dayanarak saldırı teknikleri
oluĢturulduğu ve hangi saldırıların proje devamında eklenebileceği alt maddelerde
belirtilmiĢtir.
3.3.1 Ölümcül Ping (Ping of Death)
Saldırganın hedef aldığı sisteme büyük boyutlu ping paketleri göndermesine
dayanmaktadır. ICMP protokolünün eksikliğinden faydalanarak oluĢturulan
saldırı tekniğidir. Ping komutuyla bu saldırıyı gerçekleĢtirmek mümkündür.
Bu saldırıda günlük kullanımdaki herhangi bir bilgisayar veya istemci –
sunucu mantığıyla çalıĢan sistemler hedef alınmıĢtır. Hedef sistemin bağlı
olduğu ağdan düĢmesi veya iĢletim sisteminin çökmesi beklenmektedir.
3.3.2 Smurf
Broadcast adreslere ICMP paketi gönderen DoS saldırı tekniğidir. “Kali
Linux Smurf6” aracı kullanılarak gerçekleĢtirilmiĢtir. Ping of Death saldırısı
gibi günlük kullanımdaki herhangi bir bilgisayar veya istemci – sunucu
mantığıyla çalıĢan sistemler hedef alınmıĢtır. Hedef sistemin bağlı olduğu
ağdan düĢmesi veya iĢletim sisteminin çökmesi beklenmektedir.
3.3.3 HTTP Seli (HTTP Flood)
Web adreslerine yanıt verebileceğinden fazla yapılan “GET” ve “POST”
isteklerine dayanan saldırı çeĢitidir. Direkt olarak web servislerini hedef
almaktadır. Etkilerini hem manuel hem de yapılan istek sayısına göre
22
anlamak mümkündür. Yapılan saldırı sonucunda hedef sistemi ayakta tutan
sunucunun çökmesi ve hizmet verememesi beklenmektedir. Nmap aracı
kullanılarak gerçekleĢtirilmiĢtir.
3.3.4 SYN Seli (SYN Flood)
TCP’nin eksikliğinden faydalanarak oluĢturulan saldırı çeĢitidir. Sisteme
“SYN” mesajları gönderip “ACK” mesajlarını reddederek gerçekleĢtirilir.
Hping aracından faydalanılarak gerçekleĢtirilmiĢtir. TCP kullanan her türlü
sisteme bu saldırının gerçekleĢtirilebilmesi mümkündür. Firewall/IPS gibi
cihazlar ilk olarak “SYN” mesajları beklediği için hedef sistem olarak
seçilebilmektedirler. Hedef sistem üzerinde Netstat komutu
gerçekleĢtirildiğinde bu saldırının yapıldığı anlaĢılabilmektedir.
3.3.5 ACK Seli (ACK Flood)
TCP’nin eksikliğinden faydalanarak oluĢturulan saldırı çeĢitidir. Sisteme
kabul edebileceğinden fazla “ACK” mesajları gönderilmesine dayanır.
Hping aracından faydalanılarak gerçekleĢtirilmiĢtir. TCP kullanan her türlü
sisteme gerçekleĢtirilebilmesi mümkündür. Durum bilgisi tutan Firewall/IPS
gibi cihazlara karĢı etkisizdir. Hedef sistem üzerinde Netstat komutu
gerçekleĢtirildiğinde bu saldırının yapıldığı anlaĢılabilmektedir.
3.3.6 FIN Seli (FIN Flood)
TCP’nin eksikliğinden faydalanarak oluĢturulan saldırı çeĢitidir. Sisteme
kabul edebileceğinden fazla “FIN” mesajları gönderilmesine dayanır. Hping
aracından faydalanılarak gerçekleĢtirilmiĢtir. TCP kullanan her türlü sisteme
gerçekleĢtirilebilmesi mümkündür. Durum bilgisi tutan Firewall/IPS gibi
cihazlara karĢı etkisizdir. Hedef sistem üzerinde Netstat komutu
gerçekleĢtirildiğinde bu saldırının yapıldığı anlaĢılabilmektedir.
23
3.3.7 UDP Seli (UDP Flood)
Hedef alınan porta çok sayıda UDP paketi gönderme iĢlemine dayanır. Java
programlama diliyle oluĢturulacak olan UDP bağlantısıyla kodlanması
mümkündür. IP gizleme iĢlemine uygun bir tekniktir. UDP kullanan her türlü
sistem üzerine uygulanabilecek bir saldırıdır. Genel olarak DNS Servisleri ve
Firewall cihazları hedef alınacaktır. Hedef alınan sisteme gönderilen ICMP
paketi ile saldırının baĢarılı gerçekleĢip gerçekleĢmediği anlaĢılabilir.
3.3.8 ARP Zehirlenmesi (ARP Poisoning)
Hedef alınan bilgisayara sahte ARP mesajı gönderilir. Bu mesajın içeriği
sayesinde hedef bilgisayarla aynı ağda bulunan tüm bilgisayarlar hedef
bilgisayara paket gönderecektir. Bu teknik ile hedefin ethernet limitini
doldurmak amaçlanır. Bu saldırının bir diğer sonucu olarak fazlasıyla
kullanılan iĢlemci gücü dolayısıyla iĢletim sisteminin kullanım dıĢı kalması
söz konusu olabilir. Herhangi bir bilgisayar ve sisteme uygulanabilir. Genel
olarak anahtar cihazları hedef alınmaktadır. Bu saldırının en temel
gereksinimi saldırganın kurbanla aynı ağa bağlı olmasıdır.
24
3.4. UML DĠYAGRAMLARI
Kullanım – Durum Diyagramı (Use – Case)
ġekil 3 Kullanım – Durum (Use – Case) Diyagramı
Modül Diyagramı
ġekil 4 Modül Diyagramı
25
3.5. EKRAN TASARIMLARI
Kullanıcıyla projenin etkileĢimini sağlayan arayüzün çıktıları aĢağıdaki ekran
görüntülerinde belirtilmiĢtir.
ġekil 5 Web Tarayıcı Modülü
ġekil 6 Ağ Tarayıcı Modülü
26
ġekil 7 Port Tarayıcı Modülü
ġekil 8 Ping Modülü
27
3.6. Ġġ PLANLARI
Projenin baĢarılı bir Ģekilde yürütülmesi ve gerçekçi sonuçlara ulaĢabilmesi
amacıyla hazırlanan iĢ planı aĢağıdaki tabloda verilmiĢtir. Belirtilen süre boyunca bu
tabloya bağlı kalınarak iĢlemler gerçekleĢtirilmiĢtir.
Tablo 1 ĠĢ Planı
Görevler BaĢlangıç Tarihi Süre(Gün)
Literatür AraĢtırması 08.02.2016 21
Proje Gereksinimlerinin
Belirlenmesi
24.02.2016 3
Port Scanner Kodlaması 01.03.2016 3
Network Scanner
Kodlaması
04.03.2016 7
Web Crawler Kodlaması 12.03.2016 7
DoS Tekniklerinin
Kodlanması
20.03.2016 20
Web Servis Kodlaması 15.04.2016 7
Uygulama Arayüz
Tasarlanması
23.04.2016 7
Test 03.03.2016 45
Hataların Kontrolü ve
Düzeltilmesi
01.05.2016 7
Raporlama ve Sunum 09.05.2016 7
3.7. BAġARI KRĠTERLERĠ
Projenin baĢarılı sayılabilmesi adına hedefler oluĢturulmuĢtur. Bu hedefler ve
ulaĢılan sonuçlar aĢağıdaki maddelerde belirtilmiĢtir.
 Literatüre göre güncel sayılan DDoS tekniklerinden TCP Syn Seli, TCP Ack
Seli, TCP Fin Seli, Smurf, Http Seli ve Ölümcül Ping saldırıları
gerçekleĢtirilebilmektedir. OluĢturulan bu yapı esnek bir Ģekilde
oluĢturulduğundan yeni saldırı modülleri eklemek herhangi bir sıkıntıya yol
açmayacaktır.
28
 Ağın hızıyla ve sistemlerin gücüyle doğru orantılı olarak yapılan
hesaplamalar sonucunda DDoS tekniklerinin baĢarısının en az %70 olması
gerekmektedir.
 Ağ hızıyla doğru orantılı olarak yapılan hesaplamalar sonucunda kullanıcıya
bilgi vermesi hedeflenen port, ağ ve web link tarayıcılarının baĢarısının en
az %80 olması gerekmektedir. Bahsi geçen tüm modüller kodlanmıĢ ve
ekstra olarak Ping Modülü eklenmiĢtir. Bu modüller en az %80-85 civarında
baĢarı sağlamaktadırlar.
29
4. DENEYLER VE TARTIġMA
Kullanıcının sistem hakkında ön bilgiye sahip olması için tasarlanan ve hedef
sistemlere DoS/DDoS saldırılarını gerçekleĢtirebilmesini sağlayacak modüller
üzerinde yapılan deneyler bu baĢlık altında görsellerde desteklenerek incelenecektir.
 Ping Modülü
Bu modül saldırı yapılması düĢünülen sistemlerin herhangi bir ağa bağlı olup
olmadığını kontrol etmek amacıyla oluĢturulmuĢtur. Yerel ağa bağlı olan veya
aynı yerel ağda olmayıp internete bağlı olan cihazlar üzerinde yapılan testler
sonucunda, modülün %100 baĢarı sağladığı tespit edilmiĢtir.
ġekil 9 Deneyler - Ping Modülü-1
30
ġekil 10 Deneyler - Ping Modülü-2
 Web Tarayıcı
Bu modül hedef sistem web sitesi ise kullanılabilinecektir. Modülün iĢleyiĢi,
web sitesinin varolan tüm linklerinin taranmasıdır. Amacı ise saldırı yapılacak
web sistemini daha iyi tanımak ve hangi url üzerinden saldırı
gerçekleĢtirilebileceğini kullanıcıya sunmaktır. ”oguzpamuk.com” üzerinden
yapılan testler sonucunda sitenin varolan tüm linkleri tasarlanan web crawler
tarafından bulunmuĢ olup, modülün baĢarı yüzdesi %100 olarak belirlenmiĢtir.
ġekil 11 Deneyler - Web Tarayıcı
31
 Ağ Tarayıcı
Bu modül hedef ağ üzerinde keĢif yapmayı sağlamaktadır. Hedef ağda bulunan
ve aktif olarak ağa bağlı olan tüm cihazların mac-ip adreslerinin bilinmesini
sağlamaktadır. Yerel ağ ve uzak ağ üzerinden yapılan araĢtırmalar sonucunda
mobil cihazların bazılarının bulunamadığı tespit edilmiĢtir. Mobil cihazlar
dıĢındaki tüm cihazların tespit edilebilmektedir.
ġekil 12 Deneyler - Ağ Tarayıcı
 Port Tarayıcı
Bu modül, hedef sistem üzerindeki açık ve kullanılabilir olan tüm portları
kullanıcıya bildirmektedir. Kullanıcı isterse spesifik olarak portları tarayabilir
yada tüm açık portların gösterilmesini isteyebilir. Spesifik port tarama iĢleminde
portun açık veya kapalı olduğu bilgisine %100 baĢarı ile ulaĢılabilmektedir. Tüm
portları tarama iĢleminde ise bazı durumlarda timeout süresinden kaynaklanan
sorunlardan dolayı %80-%90 arasında baĢarılı sonuçlar elde edildiği
saptanmıĢtır.
32
ġekil 13 Deneyler - Port Tarayıcı, Tüm portlar
ġekil 14 Deneyler - Port Tarayıcı, Tek port
 Saldırı Modülü
Bu modül ise kullanıcının hedef olarak seçtiği sisteme çeĢitli saldırıları
gerçekleĢtirebilmesini sağlayan modüldür. Web sistemleri üzerine yapılan
saldırılar sonucunda bazı saldırıların sistemi kullanılamaz hale getirdiği,
bazılarının ise sistemi yavaĢlattığı görülmüĢtür. Bu konudaki incelemeler devam
etmekte olup saldırıların %70-80 arası baĢarılı olduğu saptanmıĢtır.
33
5. SONUÇ
Bu rapor G.T.Ü. Bilgisayar Mühendisliği Bölümü Lisans Bitirme Projesi dersi
kapsamında hazırlanan, sistemlerin hizmetlerini yavaĢlatmayı veya durdurmayı
hedefleyen DDoS saldırılarının simülasyonunu gerçekleĢtirmeyi hedefleyen DDoS
Benzetimi projesinin açıklanması amacıyla oluĢturulmuĢtur. Projenin
gerçekleĢtirilmesi için gerekenler belirtilmiĢ ve nasıl bir yol izlenerek projenin
gerçekleĢtirildiği hakkında bilgiler verilmiĢtir. Projenin daha iyi anlaĢılması
amacıyla çeĢitli diyagram ve görsellerden yararlanılmıĢtır.
Proje toplamda beĢ farklı modülden meydana gelmektedir. Bu modüllerin ilk dördü
sistem hakkında bilgi vermek amacıyla oluĢturulmuĢ ve son modülde saldırı
tekniklerini gerçekleĢtirebilmek amacıyla oluĢturulmuĢtur. Hedef sistem hakkında
bilgi veren modüller; port tarama iĢlemi, web linklerini tarama iĢlemi, ağ üzerinde
bulunan cihazların ip-mac adreslerinin neler olduğu ve sistemlerin ağa bağlı olup
olmadığını kullanıcıya bildiren iĢlemler gerçekleĢtirebilmektedir. Ayrıca projenin
içeriğini oluĢturan saldırı modülü sayesinde TCP Syn Seli, TCP Ack Seli, TCP Fin
Seli, Http Seli, Smurf ve Ölümcül Ping saldırıları gerçekleĢtirebilmek mümkündür.
GeliĢtirilen yapı esnek bir Ģekilde oluĢturulmuĢ olup, yeni saldırılar eklemeye
müsait bir yapıdadır.
Soğuk savaĢın en etkili silahı halini alan bu saldırılar gün geçtikçe yaygınlaĢmaya
devam etmektedir ve daha tehlikeli bir hal almaktadır. Bu sebepten dolayı sanal
ortamda sistemleri muhtemel saldırılara karĢı test etmenin önemi oldukça fazladır.
GeliĢtirilen araç ve simülasyon teknikleri bahsedilen bu ihtiyaca binayen
oluĢturulmuĢ ve geliĢtirilmeye devam edilecektir.
34
6. KAYNAKLAR
[1] SINGH,J,KUMAR,K,MONIKA,S,SIDHU,N, DDoS Attack’s Simulation Using
Legitimate and Attack Real Data Sets 2229-5518,2012.
[2] MISHRA,M,GUPTA,B,JOSHI,R, A Comparative Study of Distributed Denial of
Service Attacks,Intrusion Tolerance and Mitigation Techniques,European
Intelligence and Security Informatics Conference,2011.
[3] ÖNAL, H, DOS/DDOS Saldırıları, Savunma Yolları ve Çözüm Önerileri , Bilgi
Güvenliği Akademisi,2014.
[4] MISHRA,M,GUPTA,B,JOSHI,R, Distributed Denial of Service Prevention
Techniques, 1793-8163.
[5]ALOMARI,E, GUPTA,B, MANICHAM,S, SINGH,P, ANBAR,M, Design,
Deployment and use of HTTP-based Botnet (HBB) Testbed , ISBN 978-89-968650-
3-2
[6] Mirkovic, J., and Reiher, P. (2004, April). A taxonomy of DDoS attack and
DDoS defense mechanisms. ACM SIGCOMM Computer Communications Review,
34(2), 39–53.
[7] C. Douligeris, A. Mitrokotsa “DDoS attacks and defense mechanisms:
classification and state of the art”. Elsevier Science Direct Computer Networks 44
(2004) 643-666.
[8] B. B. Gupta, R. C. Joshi, M. Misra, “Distributed Denial of Service Prevention
Techniques,” International Journal of Computer and Electrical Engineering (IJCEE),
vol. 2, number 2, ISSN: 1793- 8198, Singapore, pp. 268-276, 2010.
[9] Molsa, J. (2005). Mitigating denial of service attacks: A tutorial. Journal of
Computer Security, 13, 807–837.
[10] Juniper Network, “Combating Bots and Mitigating DDoS Attacks (Solution
brief)”, Juniper Networks, Inc, 2006

Recommandé

DDoS Saldırıları ve Benzetim Teknikleri par
DDoS Saldırıları ve Benzetim TeknikleriDDoS Saldırıları ve Benzetim Teknikleri
DDoS Saldırıları ve Benzetim TeknikleriOğuzcan Pamuk
563 vues13 diapositives
DDoS Benzetimi Projesi Ara Raporu par
DDoS Benzetimi Projesi Ara RaporuDDoS Benzetimi Projesi Ara Raporu
DDoS Benzetimi Projesi Ara RaporuOğuzcan Pamuk
445 vues23 diapositives
DDoS - Bitirme Projesi Ön Sunumu par
DDoS - Bitirme Projesi Ön SunumuDDoS - Bitirme Projesi Ön Sunumu
DDoS - Bitirme Projesi Ön SunumuOğuzcan Pamuk
950 vues9 diapositives
Bitirme sunum par
Bitirme sunumBitirme sunum
Bitirme sunumOben Işik
18.5K vues56 diapositives
DoS/DDoS Saldırıları par
DoS/DDoS SaldırılarıDoS/DDoS Saldırıları
DoS/DDoS SaldırılarıOğuzcan Pamuk
869 vues34 diapositives
Man in-the-browser Saldırılarının Analizi par
Man in-the-browser Saldırılarının AnaliziMan in-the-browser Saldırılarının Analizi
Man in-the-browser Saldırılarının AnaliziBGA Cyber Security
2.9K vues20 diapositives

Contenu connexe

Tendances

Garnizon dns guvenligi par
Garnizon dns guvenligiGarnizon dns guvenligi
Garnizon dns guvenligiAlper Başaran
1.5K vues14 diapositives
Ddos analizi par
Ddos analiziDdos analizi
Ddos analizifangjiafu
609 vues15 diapositives
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı par
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımıSüleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımıKasım Erkan
1.7K vues46 diapositives
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri par
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriBGA Cyber Security
584 vues47 diapositives
3. parti firma risklerinden nasıl korunulur? par
3. parti firma risklerinden nasıl korunulur?3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?BGA Cyber Security
830 vues38 diapositives

Tendances(13)

Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı par Kasım Erkan
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımıSüleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı
Kasım Erkan1.7K vues
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri par BGA Cyber Security
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
Oylg2013 web uygulamalari sizmatesti par Mehmet Ince
Oylg2013 web uygulamalari sizmatestiOylg2013 web uygulamalari sizmatesti
Oylg2013 web uygulamalari sizmatesti
Mehmet Ince1.6K vues
Sosyal mühendislik saldırıları par Alper Başaran
Sosyal mühendislik saldırılarıSosyal mühendislik saldırıları
Sosyal mühendislik saldırıları
Alper Başaran11.6K vues
Bilişim Sistemlerinde Adli Bilişim Analizi ve Bilgisayar Olayları İnceleme par BGA Cyber Security
Bilişim Sistemlerinde Adli Bilişim Analizi ve Bilgisayar Olayları İncelemeBilişim Sistemlerinde Adli Bilişim Analizi ve Bilgisayar Olayları İnceleme
Bilişim Sistemlerinde Adli Bilişim Analizi ve Bilgisayar Olayları İnceleme
BGA Cyber Security32.8K vues
Ozgur web teknolojileri'13 par Mehmet Ince
Ozgur web teknolojileri'13Ozgur web teknolojileri'13
Ozgur web teknolojileri'13
Mehmet Ince2.8K vues
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları par BGA Cyber Security
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
BGA Cyber Security1.8K vues

En vedette

Python 101 par
Python 101Python 101
Python 101Oğuzcan Pamuk
1K vues37 diapositives
Metin Madenciliği ile Cümleleri Kategorilendirme par
Metin Madenciliği ile Cümleleri KategorilendirmeMetin Madenciliği ile Cümleleri Kategorilendirme
Metin Madenciliği ile Cümleleri KategorilendirmeOğuzcan Pamuk
1.8K vues35 diapositives
Kerkuk 2012 par
Kerkuk 2012Kerkuk 2012
Kerkuk 2012Dr.Zeynep Elif Yildizel
587 vues9 diapositives
Global Perspective for Oil and Gas in Energy Policies par
Global Perspective for Oil and Gas in Energy PoliciesGlobal Perspective for Oil and Gas in Energy Policies
Global Perspective for Oil and Gas in Energy PoliciesDr.Zeynep Elif Yildizel
586 vues16 diapositives
Kenya afrika par
Kenya afrikaKenya afrika
Kenya afrikaDr.Zeynep Elif Yildizel
680 vues15 diapositives
GDA Kazilan Kuyular 2007 par
GDA Kazilan Kuyular 2007GDA Kazilan Kuyular 2007
GDA Kazilan Kuyular 2007Dr.Zeynep Elif Yildizel
458 vues4 diapositives

En vedette(20)

Metin Madenciliği ile Cümleleri Kategorilendirme par Oğuzcan Pamuk
Metin Madenciliği ile Cümleleri KategorilendirmeMetin Madenciliği ile Cümleleri Kategorilendirme
Metin Madenciliği ile Cümleleri Kategorilendirme
Oğuzcan Pamuk1.8K vues
Yasamımız elektrik par glcnpaus
Yasamımız elektrikYasamımız elektrik
Yasamımız elektrik
glcnpaus610 vues
Git ile versiyon kontrolü par Ilhan Çetin
Git ile versiyon kontrolüGit ile versiyon kontrolü
Git ile versiyon kontrolü
Ilhan Çetin249 vues
Fieldbus Sistemlerinin Temelleri ve Karşılaştırılması par WAGO Türkiye
Fieldbus Sistemlerinin Temelleri ve KarşılaştırılmasıFieldbus Sistemlerinin Temelleri ve Karşılaştırılması
Fieldbus Sistemlerinin Temelleri ve Karşılaştırılması
WAGO Türkiye2.4K vues
SIEM – VAR OLAN VERİLERİN ANLAMI - Hacktrickconf par Mehmet KILIÇ
SIEM – VAR OLAN VERİLERİN ANLAMI - HacktrickconfSIEM – VAR OLAN VERİLERİN ANLAMI - Hacktrickconf
SIEM – VAR OLAN VERİLERİN ANLAMI - Hacktrickconf
Mehmet KILIÇ242 vues

Similaire à DDoS Benzetimi Projesi Raporu

Proje dökümanı par
Proje dökümanıProje dökümanı
Proje dökümanıEmrah Gürcan
763 vues2 diapositives
Sunucu işletim sistemi 3 par
Sunucu işletim sistemi 3Sunucu işletim sistemi 3
Sunucu işletim sistemi 3Erol Dizdar
2.5K vues52 diapositives
Mobil i̇şletim sistemlerinde güvenlik par
Mobil i̇şletim sistemlerinde güvenlikMobil i̇şletim sistemlerinde güvenlik
Mobil i̇şletim sistemlerinde güvenlikFuat Savaş
1.6K vues76 diapositives
Sistem güvenliği par
Sistem güvenliğiSistem güvenliği
Sistem güvenliğiOnur Şaner
1.8K vues57 diapositives
Nesne tabanlı programlama 3 par
Nesne tabanlı programlama 3Nesne tabanlı programlama 3
Nesne tabanlı programlama 3Erol Dizdar
2.7K vues101 diapositives
Xamarin ile Android Uygulama par
Xamarin ile Android UygulamaXamarin ile Android Uygulama
Xamarin ile Android UygulamaM.Bugra (Bora) Kanmaz
11.1K vues54 diapositives

Similaire à DDoS Benzetimi Projesi Raporu(20)

Sunucu işletim sistemi 3 par Erol Dizdar
Sunucu işletim sistemi 3Sunucu işletim sistemi 3
Sunucu işletim sistemi 3
Erol Dizdar2.5K vues
Mobil i̇şletim sistemlerinde güvenlik par Fuat Savaş
Mobil i̇şletim sistemlerinde güvenlikMobil i̇şletim sistemlerinde güvenlik
Mobil i̇şletim sistemlerinde güvenlik
Fuat Savaş1.6K vues
Sistem güvenliği par Onur Şaner
Sistem güvenliğiSistem güvenliği
Sistem güvenliği
Onur Şaner1.8K vues
Nesne tabanlı programlama 3 par Erol Dizdar
Nesne tabanlı programlama 3Nesne tabanlı programlama 3
Nesne tabanlı programlama 3
Erol Dizdar2.7K vues
Yapay Sinir Ağı Geliştirmesi ve Karakter Tanıma par Busra Pamuk
Yapay Sinir Ağı Geliştirmesi ve Karakter TanımaYapay Sinir Ağı Geliştirmesi ve Karakter Tanıma
Yapay Sinir Ağı Geliştirmesi ve Karakter Tanıma
Busra Pamuk2.2K vues
Işletim sistemi kurulumu par Erol Dizdar
Işletim sistemi kurulumuIşletim sistemi kurulumu
Işletim sistemi kurulumu
Erol Dizdar2.3K vues
Gömülü Cihaz Güvenliği ve Zollard Botnet Analizi par Ibrahim Baliç
Gömülü Cihaz Güvenliği ve Zollard Botnet AnaliziGömülü Cihaz Güvenliği ve Zollard Botnet Analizi
Gömülü Cihaz Güvenliği ve Zollard Botnet Analizi
Ibrahim Baliç427 vues
Açık-Kaynak-Kod-Geçiş-Rehberi-2023.pdf par Mustafa Kuğu
Açık-Kaynak-Kod-Geçiş-Rehberi-2023.pdfAçık-Kaynak-Kod-Geçiş-Rehberi-2023.pdf
Açık-Kaynak-Kod-Geçiş-Rehberi-2023.pdf
Mustafa Kuğu6 vues
Internet programcılığı 5 par Erol Dizdar
Internet programcılığı 5Internet programcılığı 5
Internet programcılığı 5
Erol Dizdar1.2K vues
ISG Admin Guide TR.pdf par Mert339194
ISG Admin Guide TR.pdfISG Admin Guide TR.pdf
ISG Admin Guide TR.pdf
Mert339194167 vues
GÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİ par BGA Cyber Security
GÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİGÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİ
GÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİ
BGA Cyber Security8.6K vues
Bulut Bilişim ve Bilgisayar Ağları par cgoze
Bulut Bilişim ve Bilgisayar AğlarıBulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar Ağları
cgoze4.3K vues

DDoS Benzetimi Projesi Raporu

  • 1. 1 T.C. GEBZE TEKNĠK ÜNĠVERSĠTESĠ Bilgisayar Mühendisliği Bölümü DDoS BENZETĠMĠ Oğuzcan PAMUK DanıĢman Prof. Dr. Ġbrahim SOĞUKPINAR Haziran, 2016 Gebze, KOCAELĠ
  • 2. 2
  • 3. 3 T.C. GEBZE TEKNĠK ÜNĠVERSĠTESĠ Bilgisayar Mühendisliği Bölümü DDoS BENZETĠMĠ Oğuzcan PAMUK DanıĢman Prof. Dr. Ġbrahim SOĞUKPINAR Haziran, 2016 Gebze, KOCAELĠ
  • 4. 4
  • 5. 5 Bu çalıĢma ..../..../200.. tarihinde aĢağıdaki jüri tarafından Bilgisayar Mühendisliği Bölümünde Lisans Bitirme Projesi olarak kabul edilmiĢtir. Bitirme Projesi Jürisi DanıĢman Adı Prof.Dr.Ġbrahim SOĞUKPINAR Üniversite GEBZE TEKNĠK ÜNĠVERSĠTESĠ Fakülte Mühendislik Fakültesi Jüri Adı Doç.Dr.Didem GÖZÜPEK Üniversite GEBZE TEKNĠK ÜNĠVERSĠTESĠ Fakülte Mühendislik Fakültesi Jüri Adı Doç.Dr.Hasari ÇELEBĠ Üniversite GEBZE TEKNĠK ÜNĠVERSĠTESĠ Fakülte Mühendislik Fakültesi
  • 6. 6 ÖNSÖZ Bu kılavuzun ilk taslaklarının hazırlanmasında emeği geçenlere, kılavuzun son halini almasında yol gösterici olan Sayın Prof.Dr.Ġbrahim SOĞUKPINAR hocama ve bu çalıĢmayı destekleyen Gebze Teknik Üniversitesi’ne içten teĢekkürlerimi sunarım. Ayrıca eğitimim süresince bana her konuda tam destek veren aileme ve bana hayatlarıyla örnek olan tüm hocalarıma saygı ve sevgilerimi sunarım. Haziran, 2016 Oğuzcan PAMUK
  • 7. 7 ĠÇĠNDEKĠLER ġEKĠL LĠSTESĠ........................................................................................................ 9 TABLO LĠSTESĠ.................................................................................................... 10 KISALTMA LĠSTESĠ ............................................................................................ 11 ÖZET ....................................................................................................................... 12 SUMMARY ............................................................................................................. 13 1. GĠRĠġ ........................................................................................................... 14 1.1. PROJE TANIMI ..................................................................................... 14 1.2. PROJENĠN NEDEN VE AMAÇLARI ................................................. 15 2. TEMEL BĠLGĠLER VE ĠLGĠLĠ ÇALIġMALAR .................................. 16 2.1. TEMEL BĠLGĠLER .............................................................................. 16 2.2. ĠLGĠLĠ ÇALIġMALAR......................................................................... 16 3. PROJE TASARIMI.................................................................................... 18 3.1. PROJENIN DETAYLARI..................................................................... 18 3.2. SISTEM MIMARISI .............................................................................. 20 3.3. DOS SALDIRILARININ MODELLENMESI..................................... 21 3.3.1 Ölümcül Ping (Ping of Death)……………………………………..21 3.3.2 Smurf………………………………………………………………..21 3.3.3 HTTP Seli (HTTP Flood)………………………………………….21 3.3.4 SYN Seli (SYN Flood)……………………………………………...22 3.3.5 ACK Seli (ACK Flood)…………………………………………….22 3.3.6 FIN Seli (FIN Flood)……………………………………………….22 3.3.7 UDP Seli (UDP Flood)…………………………………………….. 23 3.3.8 ARP Zehirlenmesi (ARP Poisoning)……………………………...23 3.4. UML DĠYAGRAMLARI ....................................................................... 24 3.5. EKRAN TASARIMLARI ...................................................................... 25 3.6. Iġ PLANLARI......................................................................................... 27 3.7. BAġARI KRITERLERI......................................................................... 27 4. DENEYLER VE TARTIġMA ................................................................... 29
  • 8. 8 5. SONUÇ......................................................................................................... 33 6. KAYNAKLAR ............................................................................................ 34
  • 9. 9 ġEKĠL LĠSTESĠ ġekil 1 Projenin Genel Yapısı................................................................................... 15 ġekil 2 Sistem Mimarisi............................................................................................ 20 ġekil 3 Kullanım – Durum (Use – Case) Diyagramı ............................................... 24 ġekil 4 Modül Diyagramı.......................................................................................... 24 ġekil 5 Web Tarayıcı Modülü................................................................................... 25 ġekil 6 Ağ Tarayıcı Modülü ..................................................................................... 25 ġekil 7 Port Tarayıcı Modülü.................................................................................... 26 ġekil 8 Ping Modülü ................................................................................................. 26 ġekil 9 Deneyler - Ping Modülü-1............................................................................ 29 ġekil 10 Deneyler - Ping Modülü-2.......................................................................... 30 ġekil 11 Deneyler - Web Tarayıcı ............................................................................ 30 ġekil 12 Deneyler - Ağ Tarayıcı ............................................................................... 31 ġekil 13 Deneyler - Port Tarayıcı, Tüm portlar ........................................................ 32 ġekil 14 Deneyler - Port Tarayıcı, Tek port.............................................................. 32
  • 10. 10 TABLO LĠSTESĠ Tablo 1 ĠĢ Planı......................................................................................................... 27
  • 11. 11 KISALTMA LĠSTESĠ UML : Unified Modeling Language (BirleĢik Modelleme Dili) G.T.Ü : Gebze Teknik Üniversitesi DDoS : Distributed Denial of Service DoS : Denial of Service ICMP : Internet Control Message Protocol HTTP : Hyper-Text Transfer Protocol TCP : Transmission Control Protocol UDP : User Datagram Protocol ARP : Address Resolution Protocol
  • 12. 12 ÖZET Bu projede, varolan sistemlere gerçekleĢmesi muhtemel DoS/DDoS saldırılarının etkilerini önceden ölçebilmek amacıyla DoS/DDoS aracı geliĢtirilmiĢtir. Saldırıları test edebilmek amacıyla sanal bilgisayarlardan oluĢan bir laboratuvar ortamı oluĢturulmuĢtur. GeliĢtirilen bu araç, sadece DoS/DDoS saldırıları yapabilmenin dıĢında, kullanıcıya hedef sistemler hakkında bilgi verebilecek çeĢitli modülleri de gerçekleĢtirebilmektedir. Hedef sistemin açık portlarını tarayabilmek amacıyla Port Tarayıcı, hedef sistemin mecvut linklerini tarayabilmek amacıyla Web Gezgini, ağ üzerinde hangi cihazların bulunduğunu ve bu cihazların ip-mac adreslerini öğrenebilmek amacıyla Ağ Tarayıcı ve son olarak hedef sistemin ağa bağlı olup olmadığını görebilmek amacıyla Ping modülleri bulunmaktadır. Sistemlerin test edilebilmesi amacıyla oluĢturulan saldırı modülünde Kali Linux saldırı araçlarından yararlanılmıĢtır. Ayrıca bu projede oluĢturulan saldırı ve tespit aracı Kali Linux ĠĢletim Sistemi üzerinde çalıĢtırılmaktadır. Hali hazırda çalıĢan sistemlere zarar vermemek amacıyla, geliĢtirilen bu metotlar sanal bilgisayarlar üzerinde denenmiĢtir. .
  • 13. 13 SUMMARY In this project, a DoS/DDoS tool has been developed to measure beforehand the possible DoS/DDoS attacks to the existing systems. A lab environment is created from virtual computers to test the attacks. Besides the ability to make DoS/DDoS attacks, the developed device can also design various modules that’s able to give information about the targeted systems to the user. Port Scanner is used to scan the open ports of the targeted system, Web Crawler is used to scan the current links of the system, Network Scanner is used to get the information of which devices are on the network and the ip-MAC addresses of these devices. And finally to see if the targeted system is connected to the network, there are Ping modules. Kali Linux attack tools are utilized on the attack module that created to test the systems. Also, in this project, the created attack and detection tool works on Kali Linux Operating System. Developed methods are tested on virtual computers to avoid to harm the currently working systems.
  • 14. 14 1. GĠRĠġ Bu rapor G.T.Ü. Bilgisayar Mühendisliği Bölümü Lisans Bitirme Projesi dersi kapsamında hazırlanan DDoS Benzetimi projesinin açıklanması amacıyla oluĢturulmuĢtur. Projenin tanımı, gereksinimleri, açıklayıcı diyagramları raporun içeriğini oluĢturmaktadır. Günümüz dünyasında internet hayatımızın her alanına girmiĢ ve geliĢen teknolojiyle girmeye devam etmektedir. Bankacılık, kamu, milli güvenlik gibi hayati öneme sahip birimlerde teknoloji ve internet kavramları çok yaygın olarak kullanılmakta ve hatta bu birimlerin temelini oluĢturmaktadır. Ġnterneti kullanan ve hayati öneme sahip olan bu sistemlerin korunması da günlük hayatın normal seviyede ilerleyebilmesi açısından büyük önem arz etmektedir. Bu sebeplerden dolayı DDoS saldırılarının önemi gün geçtikçe artmaktadır. Soğuk savaĢın en etkili silahı olan DDoS saldırıları genel olarak sistemlerin eriĢilebilirliğini hedef almaktadır. Bahsi geçen saldırılar yoluyla kurban olarak seçilen kiĢi veya kurumların iĢlevlerini yerine getirememesi amaçlanmaktadır. Bu sebepten dolayı sistemler oluĢturulurken sistemi kullanacak kullanıcı sayısı, hat kapasitesi, anlık istek sayısı gibi maddeler üzerinde çalıĢılmalı ve saldırılara dayanıklı bir sistem tasarlanmalıdır. 1.1. PROJE TANIMI Birden fazla kaynaktan sistemlere yapılan ve sistemlerin hizmetini yavaĢlatmayı veya durdurmayı hedefleyen saldırıları gerçekleĢtiren bir araç geliĢtirilmiĢtir. Tasarlanan bu araçla birlikte aracın simülasyonunu yapabilmeyi sağlayan küçük çaplı bir laboratuvar oluĢturulmuĢtur.
  • 15. 15 ġekil 1 Projenin Genel Yapısı ġekil 1’i incelersek sistemi daha iyi anlayabiliriz. Saldırgan olarak gösterilen kullanıcı, ana kontrol mekanizması üzerinden saldırıyı baĢlatır ve bir bilgisayar ordusunu andıran bir çok istemci tarafından hedef sistemi saldırı gerçekleĢtirilir. 1.2. PROJENĠN NEDEN VE AMAÇLARI DDoS Benzetimi Projesinin hangi neden ve amaçlarla baĢlatıldığı aĢağıdaki maddelerde açıklanmıĢtır:  Bu proje sayesinde gelebilecek muhtemel DDoS saldırılarına karĢı sistemlerin vereceği tepkiler önceden belirlenmiĢ olacaktır.  Saldırı tekniklerinin yapısı incelenerek gelebilecek saldırıların neden kaynaklandığı bilinecektir.  Bu saldırıların gerçekleĢtirilmesi amacıyla oluĢturulan laboratuvar ortamının oluĢturulması.
  • 16. 16 2. TEMEL BĠLGĠLER VE ĠLGĠLĠ ÇALIġMALAR 2.1. TEMEL BĠLGĠLER Projeyi daha iyi anlayabilmek adına DDoS ile ilgili bilinmesi gereken temel bilgiler bu baĢlık altında verilecektir.  DoS Herhangi bir sistemin hizmetini yavaĢlatma veya durdurma amacıyla yapılan saldırılardır.  DDoS DOS saldırılarının organize bir Ģekilde birden fazla kaynak tarafından gerçekleĢtirilmesidir.  Zombi ÇeĢitli amaçlar için ele geçirilmiĢ bilgisayarlardır. Bu projede sanal makinalar zombi olarak kullanılacaktır. Zombiler yardımıyla DDOS gerçekleĢtirilecektir.  IP Gizleme (IP Spoofing) IP adresinin olduğundan farklı gösterilmesidir. Bu sayede saldırıyı yapan kiĢinin yakalanma riski yok edilmiĢ olacaktır. 2.2. ĠLGĠLĠ ÇALIġMALAR DoS ve DDoS saldırılarına iliĢkin çeĢitli kaynaklar üzerinde yapılan araĢtırmalara göre saldırıların genel amacı; bankacılık sistemleri, e-posta ve telefon hizmetleri gibi bilgisayar mimarisi üzerine kurulmuĢ ve hayati önem taĢıyan yapıların iĢlevsiz hale getirilmesidir. Bazı politik ve ticari sebepler bu saldırıların en büyük nedenleri olarak gösterilebilir. Bahsi geçen bu saldırılar yıllar önce geliĢtirilmiĢ ve günümüzde halen daha yaygın bir Ģekilde kullanılan protokollerin eksiklerinden veya sistemlerde kullanılan mevcut yazılımların açıklarından faydalanılarak oluĢturulur. Saldırıları gerçekleĢtirmek için ağ kavramının bulunması yeterlidir. Zorunlu olarak
  • 17. 17 internete ihtiyaç bulunmamaktadır. Ġp gizleme tekniği kullanılarak yapılan saldırıların kim tarafından yapıldığını bulmak neredeyse imkansız hale gelmektedir. Yapılan araĢtırmalara göre ICMP, TCP, UDP ve SIP gibi protokoller üzerinden DoS/DDoS saldırıları gerçekleĢtirilebilmesi mümkündür. Günümüzde en yaygın olan saldırılar ise; TCP Syn Seli (Syn Flood), UDP Seli (UDP Flood), TCP Ack Seli (Ack Flood), HTTP Seli (HTTP Flood), DNS Seli (DNS Flood) ve Ölümcül Ping (Ping of Death) saldırılarıdır. Bu saldırılar yapılıĢ Ģekillerine göre iki ayrı kategoriye ayrılmaktadırlar. Bunlardan ilki ağ trafiğini iĢlevsiz hale getirmek için çeĢitli yöntemlerle ağ trafiğini doldurmaya yönelik saldırılar, diğeri ise iĢlemci gibi kurban sistemin kaynaklarının gereksiz yere tüketilmesinden oluĢmaktadır.[3] DoS/DDoS saldırılarını gerçekleĢtiren çeĢitli araçlar mevcuttur. Özellikle Kali Linux araçları sayesinde bir çok farklı saldırı tipi gerçekleĢtirilebilir. Nmap, Hping, DoS Http, Scapy gibi araçlar vasıtasıyla mevcut sunucuların bu saldırılara nasıl reaksiyon gösterdiğini görmek mümkündür..[3] ÇeĢitli araçlar kullanılarak DoS/DDoS saldırılarının simülasyonu yapılabilir. NS2 isimli simülatör sayesinde çeĢitli saldırıların nasıl gerçekleĢtirildiğini görmek ve bu saldırıların yapısını anlamak mümkündür. Bu saldırıları gerçekleĢtiribilmek için NS2 Tcl script kodları yazmak gerekmektedir. Daha sonra çizilen ağ topolojisi üzerinde simülasyon gerçekleĢtirilebilir[1]. Sanal makinalar kullanarak çeĢitli ağ ortamları kurulabilir ve bu ağlarda simülasyon gerçekleĢtirilebilir. En az iki sanal zombi bilgisayar, kurban olarak gösterilecek bir sanal bilgisayar, atağı baĢlatacak ve zombileri kontrol edebilecek bir bilgisayar simülasyon için yeterli olacaktır. Fakat bu sistemlerin ve oluĢturulacak ağın gücü ne kadar kuvvetli olursa gerçekleĢtirilmek istenen simülasyonun gerçekçiliği de bir o kadar fazla olacaktır.[5]
  • 18. 18 3. PROJE TASARIMI Proje gerçekleĢtirilirken kullanılan sistemler, kütüphaneler, geliĢtirme ortamları gibi kavramlar alt baĢlıklarda belirtilmiĢtir. 3.1. PROJENĠN DETAYLARI GeliĢtirilen bu projede, kullanıcıya hedef sistemler hakkında bilgi verebilecek modüller oluĢturulmuĢ ve saldırıların benzetiminin gerçekleĢtirilebilmesi adına saldırı modülleri tasarlanmıĢtır.  Projenin Modülleri  Kullacının hedef sistemin açık portlarını kontrol edebilmesi amacıyla port tarayıcısı tasarlanmıĢtır.  Kullanıcının ağ üzerindeki sistemleri öğrenebilmesi amacıyla ağ tarayıcısı tasarlanmıĢtır.  Kullanıcının hedef web sisteminin linklerini tarayabilmesini sağlayan web link tarayıcısı tasarlanmıĢtır.  Kullanıcının simülasyonu gerçekleĢtirebilmesi ve sistemi kontrol edebilmesi amacıyla web arayüz geliĢtirilmiĢtir.  Web arayüz ile modüller arası iletiĢimin kurulması için web servisi oluĢturulmuĢ ve proje ürün haline getirilmiĢtir.  Saldırı tekniklerinin ve geliĢtirilen bu modüllerin benzetiminin gerçekleĢtirilebilmesi adına sanal makinalardan oluĢturulan küçük çaplı bir laboratuvar ortamı kurulmuĢtur. Bu ortam DoS saldırılarının DDoS saldırılarına çevirilebilmesi adına kullanılacak olan Zombi
  • 19. 19 sistemlerden ve hedef olarak belirlenen çeĢitli servislerden oluĢturulmuĢtur.  Kullanılan Kütüphane ve Framework Teknolojileri  Sistemler Java Programlama Dili kullanılarak oluĢturulmuĢtur.  Web Servisi tasarımı için güvenliği ön planda tutan “Spring Framework” yapısı kullanılmıĢtır.  Kullanıcının sistemi kullanabilmesi ve simülasyonu gerçekleĢtirebilmesi adına geliĢtirilecek olan web arayüzü için “AngularJs” ve “NodeJs” teknolojileri kullanılmıĢtur.  Ağ tarayıcısı için “nmap” aracından yararlanılmıĢtır.  DoS teknikleri için Kali Linux ĠĢletim Sisteminin Nmap, Hping, Smurf6 araçlarından faydalanılmıĢtır.
  • 20. 20 3.2. SĠSTEM MĠMARĠSĠ Bu bölümde çeĢitli görsel kaynaklardan yararlanarak sistemin daha iyi anlaĢılması hedeflenmektedir. ġekil 2 Sistem Mimarisi ġekil 2’de sistemin nasıl çalıĢacağı özetlenmiĢtir. Buradaki “Command & Control” modülü tasarlanan araçtır. “Zombie” olarak tanımlanan modüller ise sanal makinalardan oluĢan saldırıyı farklı kaynaklardan gerçekleĢtiren istemcilerdir. Kullanıcı kontrol sistemi sayesinde sistem hakkında bilgilere sahip olabileceği “Port Tarayıcı”, “Web Gezgini”, “Ağ Tarayıcı” ve DoS saldırılarını gerçekleĢtirebileceği saldırılar modülüne eriĢebilmelidir.
  • 21. 21 3.3. DOS SALDIRILARININ MODELLENMESĠ Saldırı modülünde kullanılacak saldırı tekniklerinin açıklamaları ve modellenirken nasıl bir yol izlendiği bu baĢlık altında incelenmiĢtir. DoS saldırıları çeĢitli protokollerin eksiklerinden faydalanarak oluĢturulmaktadır. Bu projede hangi protokollerin hangi eksiklerine dayanarak saldırı teknikleri oluĢturulduğu ve hangi saldırıların proje devamında eklenebileceği alt maddelerde belirtilmiĢtir. 3.3.1 Ölümcül Ping (Ping of Death) Saldırganın hedef aldığı sisteme büyük boyutlu ping paketleri göndermesine dayanmaktadır. ICMP protokolünün eksikliğinden faydalanarak oluĢturulan saldırı tekniğidir. Ping komutuyla bu saldırıyı gerçekleĢtirmek mümkündür. Bu saldırıda günlük kullanımdaki herhangi bir bilgisayar veya istemci – sunucu mantığıyla çalıĢan sistemler hedef alınmıĢtır. Hedef sistemin bağlı olduğu ağdan düĢmesi veya iĢletim sisteminin çökmesi beklenmektedir. 3.3.2 Smurf Broadcast adreslere ICMP paketi gönderen DoS saldırı tekniğidir. “Kali Linux Smurf6” aracı kullanılarak gerçekleĢtirilmiĢtir. Ping of Death saldırısı gibi günlük kullanımdaki herhangi bir bilgisayar veya istemci – sunucu mantığıyla çalıĢan sistemler hedef alınmıĢtır. Hedef sistemin bağlı olduğu ağdan düĢmesi veya iĢletim sisteminin çökmesi beklenmektedir. 3.3.3 HTTP Seli (HTTP Flood) Web adreslerine yanıt verebileceğinden fazla yapılan “GET” ve “POST” isteklerine dayanan saldırı çeĢitidir. Direkt olarak web servislerini hedef almaktadır. Etkilerini hem manuel hem de yapılan istek sayısına göre
  • 22. 22 anlamak mümkündür. Yapılan saldırı sonucunda hedef sistemi ayakta tutan sunucunun çökmesi ve hizmet verememesi beklenmektedir. Nmap aracı kullanılarak gerçekleĢtirilmiĢtir. 3.3.4 SYN Seli (SYN Flood) TCP’nin eksikliğinden faydalanarak oluĢturulan saldırı çeĢitidir. Sisteme “SYN” mesajları gönderip “ACK” mesajlarını reddederek gerçekleĢtirilir. Hping aracından faydalanılarak gerçekleĢtirilmiĢtir. TCP kullanan her türlü sisteme bu saldırının gerçekleĢtirilebilmesi mümkündür. Firewall/IPS gibi cihazlar ilk olarak “SYN” mesajları beklediği için hedef sistem olarak seçilebilmektedirler. Hedef sistem üzerinde Netstat komutu gerçekleĢtirildiğinde bu saldırının yapıldığı anlaĢılabilmektedir. 3.3.5 ACK Seli (ACK Flood) TCP’nin eksikliğinden faydalanarak oluĢturulan saldırı çeĢitidir. Sisteme kabul edebileceğinden fazla “ACK” mesajları gönderilmesine dayanır. Hping aracından faydalanılarak gerçekleĢtirilmiĢtir. TCP kullanan her türlü sisteme gerçekleĢtirilebilmesi mümkündür. Durum bilgisi tutan Firewall/IPS gibi cihazlara karĢı etkisizdir. Hedef sistem üzerinde Netstat komutu gerçekleĢtirildiğinde bu saldırının yapıldığı anlaĢılabilmektedir. 3.3.6 FIN Seli (FIN Flood) TCP’nin eksikliğinden faydalanarak oluĢturulan saldırı çeĢitidir. Sisteme kabul edebileceğinden fazla “FIN” mesajları gönderilmesine dayanır. Hping aracından faydalanılarak gerçekleĢtirilmiĢtir. TCP kullanan her türlü sisteme gerçekleĢtirilebilmesi mümkündür. Durum bilgisi tutan Firewall/IPS gibi cihazlara karĢı etkisizdir. Hedef sistem üzerinde Netstat komutu gerçekleĢtirildiğinde bu saldırının yapıldığı anlaĢılabilmektedir.
  • 23. 23 3.3.7 UDP Seli (UDP Flood) Hedef alınan porta çok sayıda UDP paketi gönderme iĢlemine dayanır. Java programlama diliyle oluĢturulacak olan UDP bağlantısıyla kodlanması mümkündür. IP gizleme iĢlemine uygun bir tekniktir. UDP kullanan her türlü sistem üzerine uygulanabilecek bir saldırıdır. Genel olarak DNS Servisleri ve Firewall cihazları hedef alınacaktır. Hedef alınan sisteme gönderilen ICMP paketi ile saldırının baĢarılı gerçekleĢip gerçekleĢmediği anlaĢılabilir. 3.3.8 ARP Zehirlenmesi (ARP Poisoning) Hedef alınan bilgisayara sahte ARP mesajı gönderilir. Bu mesajın içeriği sayesinde hedef bilgisayarla aynı ağda bulunan tüm bilgisayarlar hedef bilgisayara paket gönderecektir. Bu teknik ile hedefin ethernet limitini doldurmak amaçlanır. Bu saldırının bir diğer sonucu olarak fazlasıyla kullanılan iĢlemci gücü dolayısıyla iĢletim sisteminin kullanım dıĢı kalması söz konusu olabilir. Herhangi bir bilgisayar ve sisteme uygulanabilir. Genel olarak anahtar cihazları hedef alınmaktadır. Bu saldırının en temel gereksinimi saldırganın kurbanla aynı ağa bağlı olmasıdır.
  • 24. 24 3.4. UML DĠYAGRAMLARI Kullanım – Durum Diyagramı (Use – Case) ġekil 3 Kullanım – Durum (Use – Case) Diyagramı Modül Diyagramı ġekil 4 Modül Diyagramı
  • 25. 25 3.5. EKRAN TASARIMLARI Kullanıcıyla projenin etkileĢimini sağlayan arayüzün çıktıları aĢağıdaki ekran görüntülerinde belirtilmiĢtir. ġekil 5 Web Tarayıcı Modülü ġekil 6 Ağ Tarayıcı Modülü
  • 26. 26 ġekil 7 Port Tarayıcı Modülü ġekil 8 Ping Modülü
  • 27. 27 3.6. Ġġ PLANLARI Projenin baĢarılı bir Ģekilde yürütülmesi ve gerçekçi sonuçlara ulaĢabilmesi amacıyla hazırlanan iĢ planı aĢağıdaki tabloda verilmiĢtir. Belirtilen süre boyunca bu tabloya bağlı kalınarak iĢlemler gerçekleĢtirilmiĢtir. Tablo 1 ĠĢ Planı Görevler BaĢlangıç Tarihi Süre(Gün) Literatür AraĢtırması 08.02.2016 21 Proje Gereksinimlerinin Belirlenmesi 24.02.2016 3 Port Scanner Kodlaması 01.03.2016 3 Network Scanner Kodlaması 04.03.2016 7 Web Crawler Kodlaması 12.03.2016 7 DoS Tekniklerinin Kodlanması 20.03.2016 20 Web Servis Kodlaması 15.04.2016 7 Uygulama Arayüz Tasarlanması 23.04.2016 7 Test 03.03.2016 45 Hataların Kontrolü ve Düzeltilmesi 01.05.2016 7 Raporlama ve Sunum 09.05.2016 7 3.7. BAġARI KRĠTERLERĠ Projenin baĢarılı sayılabilmesi adına hedefler oluĢturulmuĢtur. Bu hedefler ve ulaĢılan sonuçlar aĢağıdaki maddelerde belirtilmiĢtir.  Literatüre göre güncel sayılan DDoS tekniklerinden TCP Syn Seli, TCP Ack Seli, TCP Fin Seli, Smurf, Http Seli ve Ölümcül Ping saldırıları gerçekleĢtirilebilmektedir. OluĢturulan bu yapı esnek bir Ģekilde oluĢturulduğundan yeni saldırı modülleri eklemek herhangi bir sıkıntıya yol açmayacaktır.
  • 28. 28  Ağın hızıyla ve sistemlerin gücüyle doğru orantılı olarak yapılan hesaplamalar sonucunda DDoS tekniklerinin baĢarısının en az %70 olması gerekmektedir.  Ağ hızıyla doğru orantılı olarak yapılan hesaplamalar sonucunda kullanıcıya bilgi vermesi hedeflenen port, ağ ve web link tarayıcılarının baĢarısının en az %80 olması gerekmektedir. Bahsi geçen tüm modüller kodlanmıĢ ve ekstra olarak Ping Modülü eklenmiĢtir. Bu modüller en az %80-85 civarında baĢarı sağlamaktadırlar.
  • 29. 29 4. DENEYLER VE TARTIġMA Kullanıcının sistem hakkında ön bilgiye sahip olması için tasarlanan ve hedef sistemlere DoS/DDoS saldırılarını gerçekleĢtirebilmesini sağlayacak modüller üzerinde yapılan deneyler bu baĢlık altında görsellerde desteklenerek incelenecektir.  Ping Modülü Bu modül saldırı yapılması düĢünülen sistemlerin herhangi bir ağa bağlı olup olmadığını kontrol etmek amacıyla oluĢturulmuĢtur. Yerel ağa bağlı olan veya aynı yerel ağda olmayıp internete bağlı olan cihazlar üzerinde yapılan testler sonucunda, modülün %100 baĢarı sağladığı tespit edilmiĢtir. ġekil 9 Deneyler - Ping Modülü-1
  • 30. 30 ġekil 10 Deneyler - Ping Modülü-2  Web Tarayıcı Bu modül hedef sistem web sitesi ise kullanılabilinecektir. Modülün iĢleyiĢi, web sitesinin varolan tüm linklerinin taranmasıdır. Amacı ise saldırı yapılacak web sistemini daha iyi tanımak ve hangi url üzerinden saldırı gerçekleĢtirilebileceğini kullanıcıya sunmaktır. ”oguzpamuk.com” üzerinden yapılan testler sonucunda sitenin varolan tüm linkleri tasarlanan web crawler tarafından bulunmuĢ olup, modülün baĢarı yüzdesi %100 olarak belirlenmiĢtir. ġekil 11 Deneyler - Web Tarayıcı
  • 31. 31  Ağ Tarayıcı Bu modül hedef ağ üzerinde keĢif yapmayı sağlamaktadır. Hedef ağda bulunan ve aktif olarak ağa bağlı olan tüm cihazların mac-ip adreslerinin bilinmesini sağlamaktadır. Yerel ağ ve uzak ağ üzerinden yapılan araĢtırmalar sonucunda mobil cihazların bazılarının bulunamadığı tespit edilmiĢtir. Mobil cihazlar dıĢındaki tüm cihazların tespit edilebilmektedir. ġekil 12 Deneyler - Ağ Tarayıcı  Port Tarayıcı Bu modül, hedef sistem üzerindeki açık ve kullanılabilir olan tüm portları kullanıcıya bildirmektedir. Kullanıcı isterse spesifik olarak portları tarayabilir yada tüm açık portların gösterilmesini isteyebilir. Spesifik port tarama iĢleminde portun açık veya kapalı olduğu bilgisine %100 baĢarı ile ulaĢılabilmektedir. Tüm portları tarama iĢleminde ise bazı durumlarda timeout süresinden kaynaklanan sorunlardan dolayı %80-%90 arasında baĢarılı sonuçlar elde edildiği saptanmıĢtır.
  • 32. 32 ġekil 13 Deneyler - Port Tarayıcı, Tüm portlar ġekil 14 Deneyler - Port Tarayıcı, Tek port  Saldırı Modülü Bu modül ise kullanıcının hedef olarak seçtiği sisteme çeĢitli saldırıları gerçekleĢtirebilmesini sağlayan modüldür. Web sistemleri üzerine yapılan saldırılar sonucunda bazı saldırıların sistemi kullanılamaz hale getirdiği, bazılarının ise sistemi yavaĢlattığı görülmüĢtür. Bu konudaki incelemeler devam etmekte olup saldırıların %70-80 arası baĢarılı olduğu saptanmıĢtır.
  • 33. 33 5. SONUÇ Bu rapor G.T.Ü. Bilgisayar Mühendisliği Bölümü Lisans Bitirme Projesi dersi kapsamında hazırlanan, sistemlerin hizmetlerini yavaĢlatmayı veya durdurmayı hedefleyen DDoS saldırılarının simülasyonunu gerçekleĢtirmeyi hedefleyen DDoS Benzetimi projesinin açıklanması amacıyla oluĢturulmuĢtur. Projenin gerçekleĢtirilmesi için gerekenler belirtilmiĢ ve nasıl bir yol izlenerek projenin gerçekleĢtirildiği hakkında bilgiler verilmiĢtir. Projenin daha iyi anlaĢılması amacıyla çeĢitli diyagram ve görsellerden yararlanılmıĢtır. Proje toplamda beĢ farklı modülden meydana gelmektedir. Bu modüllerin ilk dördü sistem hakkında bilgi vermek amacıyla oluĢturulmuĢ ve son modülde saldırı tekniklerini gerçekleĢtirebilmek amacıyla oluĢturulmuĢtur. Hedef sistem hakkında bilgi veren modüller; port tarama iĢlemi, web linklerini tarama iĢlemi, ağ üzerinde bulunan cihazların ip-mac adreslerinin neler olduğu ve sistemlerin ağa bağlı olup olmadığını kullanıcıya bildiren iĢlemler gerçekleĢtirebilmektedir. Ayrıca projenin içeriğini oluĢturan saldırı modülü sayesinde TCP Syn Seli, TCP Ack Seli, TCP Fin Seli, Http Seli, Smurf ve Ölümcül Ping saldırıları gerçekleĢtirebilmek mümkündür. GeliĢtirilen yapı esnek bir Ģekilde oluĢturulmuĢ olup, yeni saldırılar eklemeye müsait bir yapıdadır. Soğuk savaĢın en etkili silahı halini alan bu saldırılar gün geçtikçe yaygınlaĢmaya devam etmektedir ve daha tehlikeli bir hal almaktadır. Bu sebepten dolayı sanal ortamda sistemleri muhtemel saldırılara karĢı test etmenin önemi oldukça fazladır. GeliĢtirilen araç ve simülasyon teknikleri bahsedilen bu ihtiyaca binayen oluĢturulmuĢ ve geliĢtirilmeye devam edilecektir.
  • 34. 34 6. KAYNAKLAR [1] SINGH,J,KUMAR,K,MONIKA,S,SIDHU,N, DDoS Attack’s Simulation Using Legitimate and Attack Real Data Sets 2229-5518,2012. [2] MISHRA,M,GUPTA,B,JOSHI,R, A Comparative Study of Distributed Denial of Service Attacks,Intrusion Tolerance and Mitigation Techniques,European Intelligence and Security Informatics Conference,2011. [3] ÖNAL, H, DOS/DDOS Saldırıları, Savunma Yolları ve Çözüm Önerileri , Bilgi Güvenliği Akademisi,2014. [4] MISHRA,M,GUPTA,B,JOSHI,R, Distributed Denial of Service Prevention Techniques, 1793-8163. [5]ALOMARI,E, GUPTA,B, MANICHAM,S, SINGH,P, ANBAR,M, Design, Deployment and use of HTTP-based Botnet (HBB) Testbed , ISBN 978-89-968650- 3-2 [6] Mirkovic, J., and Reiher, P. (2004, April). A taxonomy of DDoS attack and DDoS defense mechanisms. ACM SIGCOMM Computer Communications Review, 34(2), 39–53. [7] C. Douligeris, A. Mitrokotsa “DDoS attacks and defense mechanisms: classification and state of the art”. Elsevier Science Direct Computer Networks 44 (2004) 643-666. [8] B. B. Gupta, R. C. Joshi, M. Misra, “Distributed Denial of Service Prevention Techniques,” International Journal of Computer and Electrical Engineering (IJCEE), vol. 2, number 2, ISSN: 1793- 8198, Singapore, pp. 268-276, 2010. [9] Molsa, J. (2005). Mitigating denial of service attacks: A tutorial. Journal of Computer Security, 13, 807–837. [10] Juniper Network, “Combating Bots and Mitigating DDoS Attacks (Solution brief)”, Juniper Networks, Inc, 2006