Download - DDoS Benzetimi Projesi Raporu
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