ddos benzetimi projesi ara raporu

23
i 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 Mart, 2016 Gebze, KOCAELİ

Upload: oguzcan-pamuk

Post on 11-Apr-2017

125 views

Category:

Education


5 download

TRANSCRIPT

i

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

Mart, 2016

Gebze, KOCAELİ

ii

iii

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

Mart, 2016

Gebze, KOCAELİ

iv

İÇİNDEKİLER

İÇİNDEKİLER ....................................................................................................... İV

ŞEKİL LİSTESİ ....................................................................................................... V

TABLO LİSTESİ .................................................................................................... Vİ

KISALTMA LİSTESİ .......................................................................................... Vİİ

1. GİRİŞ ............................................................................................................ 8

1.1. PROJE TANIMI ....................................................................................... 8

1.2. PROJENİN NEDEN VE AMAÇLARI ................................................... 9

2. TEMEL BİLGİLER VE İLGİLİ ÇALIŞMALAR .................................. 10

2.1. TEMEL BİLGİLER .............................................................................. 10

2.2. İLGİLİ ÇALIŞMALAR ......................................................................... 10

3. PROJE TASARIMI .................................................................................... 12

3.1. PROJE GEREKSINIMLERI ................................................................ 12

3.2. SISTEM MIMARISI .............................................................................. 14

3.3. DOS SALDIRILARININ MODELLENMESI ..................................... 15

3.4. UML DİYAGRAMLARI ....................................................................... 17

3.5. EKRAN TASARIMLARI ...................................................................... 18

3.6. IŞ PLANLARI ......................................................................................... 20

3.7. BAŞARI KRITERLERI ......................................................................... 20

4. SONUÇ......................................................................................................... 22

5. KAYNAKLAR ............................................................................................ 23

v

ŞEKİL LİSTESİ

Şekil 1 Projenin Genel Yapısı ..................................................................................... 9 Şekil 2 Sistem Mimarisi ............................................................................................ 14

Şekil 3 Use - Case Diyagramı ................................................................................... 17 Şekil 4 Modül Diyagramı.......................................................................................... 17 Şekil 5 Kullanıcı Arayüzü - Saldırılar ...................................................................... 18 Şekil 6 Kullanıcı Arayüzü - Port Scanner ................................................................. 18

Şekil 7 Kullanıcı Arayüzü - Network Scanner ......................................................... 19 Şekil 8 Kullanıcı Arayüzü - Web Crawler ................................................................ 19

vi

TABLO LİSTESİ

Tablo 1 İş Planı ......................................................................................................... 20

vii

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

8

1. GİRİŞ

Bu rapor G.T.Ü. Bilgisayar Mühendisliği Bölümü Lisans Bitirme Projesi dersi

kapsamında hazırlanmakta olan 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ştirilecektir.

Tasarlanacak olan bu araçla birlikte aracın simülasyonunu yapabilmeyi sağlayan

küçük çaplı bir laboratuvar oluşturulacaktır.

9

Ş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ına

sahip olunacaktır.

10

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 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

11

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; Synflood, Udpflood, Ackflood, HTTP GET flood, DNS flood ve

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]

12

3. PROJE TASARIMI

Projenin gerçekleştirilebilmesi adına ihtiyaç duyulan sistemler, kütüphaneler,

geliştirme ortamları gibi kavramlar alt başlıklarda incelenmiştir.

3.1. PROJE GEREKSİNİMLERİ

Bu projede hem kullanıcıya kurban sistemler hakkında ön bilgiler verilecek

modüller oluşturulacak hem de çeşitli saldırı teknikleri tasarlanarak kullanıcının

saldırıları simüle etmesi sağlanacaktır. Hedeflenen bu işlemleri gerçekleştirebilmek

adına belirlenen gereksinimler maddelerce açıklanmıştır:

Genel Gereksinimler

Kullacının hedef sistemin açık portlarını kontrol edebilmesi amacıyla

port tarayıcısı tasarlanmalıdır.

Kullanıcının ağ üzerindeki sistemleri öğrenebilmesi amacıyla ağ

tarayıcısı tasarlanmalıdır.

Kullanıcının hedef web sisteminin linklerini tarayabilmesini sağlayan

web link tarayıcısı tasarlanmalıdır.

Kullanıcının simülasyonu gerçekleştirebilmesi ve sistemi kontrol

edebilmesi amacıyla web arayüz geliştirilecektir.

Web arayüz ile modüller arası iletişimin kurulması için web servisi

oluşturulacaktır.

Saldırı tekniklerini gerçekleştirebilmek amacıyla labroratuvar

ortamına ihtiyaç duyulmaktadır. Bu ortam gerçekleştirilen saldırı

tekniğinin simülasyonunun yapılabilmesine imkan sağlayacak

düzeyde olmalıdır. Temel olarak sanal makinelerden oluşacak olan

13

bu ortam web servis, zombi olarak kullanılacak sanal

bilgisayarlardan, ağın kurulabilmesi amacıyla ise en az bir

modemden oluşmalıdır. Saldırı metotlarının yapısına göre ihtiyaçlar

tekrardan gözden geçirilecektir.

Kütüphane ve Framework Gereksinimleri

Sistemler Java Programlama Dili kullanılarak oluşturulacaktır. Bazı

sistemler için C Programlama Dili kullanılması gerekebilir.

Web Servisi tasarımı için güvenliği ön planda tutan “Spring

Framework” yapısı kullanılacaktır.

Kullanıcının sistemi kullanabilmesi ve simülasyonu

gerçekleştirebilmesi adına geliştirilecek olan web arayüzü için

“AngularJs Framework” ’ünden yararlanılacaktır.

Ağ tarayıcısı için “nmap” aracı gerekmektedir.

DoS teknikleri için Kali Linux İşletim Sistemi ihtiyacı

bulunmaktadır.

14

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ü tasarlanacak araç olacaktı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

Scanner”, “Web Crawler”, “Network Scanner” ve DoS saldırılarını

gerçekleştirebileceği saldırılar modülüne erişebilmelidir.

15

3.3. DOS SALDIRILARININ MODELLENMESİ

Saldırı modülünde kullanılacak saldırı tekniklerinin açıklamaları ve modellenirken

nasıl bir yol izleneceği bu başlık altında incelenecektir.

DoS saldırıları çeşitli protokollerin eksiklerinden faydalanarak oluşturulmaktadır.

Bu projede hangi protokollerin hangi eksiklerine dayanarak saldırı teknikleri

oluşturulacağı alt maddelerde belirtilmiştir. Aşağıdaki tekniklere ek olarak yeni

tekniklerin gerçekleştirilmesi muhtemel bir sonuçtur. İncelemeler devam etmektedir.

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ınacaktır.

Smurf

Broadcast adreslere ICMP paketi gönderen DoS saldırı tekniğidir. “Kali

Linux Smurf6” aracı kullanılarak gerçekleştirilmesi mümkündür. 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ınacaktır.

HTTP Get/Post

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.

Synflood

TCP’nin eksikliğinden faydalanarak oluşturulan saldırı çeşitidir. Sisteme

“SYN” mesajları gönderip “ACK” mesajlarını reddederek gerçekleştirilir.

16

Scapy ve Hping araçlarından faydalanılması düşünülmektedir. TCP kullanan

her türlü sisteme gerçekleştirilebilmesi mümkündür.

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.

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. Java Programlama Dili kullanılarak ARP paketleri

göndermek mümkündür. Herhangi bir bilgisayar ve sisteme uygulanabilir.

Genel olarak anahtar cihazları hedef alınacaktır. Bu saldırının en temel

gereksinimi saldırganın kurbanla aynı ağa bağlı olmasıdır.

17

3.4. UML DİYAGRAMLARI

Use – Case Diyagramı

Şekil 3 Use - Case Diyagramı

Modül Diyagramı

Şekil 4 Modül Diyagramı

18

3.5. EKRAN TASARIMLARI

Kullanıcıyla projenin etkileşimini sağlayacak ekranların tasarımlarının ilk halleri bu

başlık altında verilmiştir. Tasarımların amacı basit ve sade bir şekilde arayüzün

kullanıcıya hangi imkanları sağlayacağını anlatmaktır.

Şekil 6 Kullanıcı Arayüzü - Port Scanner

Şekil 5 Kullanıcı Arayüzü - Saldırılar

19

Şekil 8 Kullanıcı Arayüzü - Web Crawler

Şekil 7 Kullanıcı Arayüzü - Network Scanner

20

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ştirilecektir. Proje yapısı itibariyle manuel

ve bazı tekniklere göre yapılacak testler büyük önem arz etmektedir. Bu bağlamda

test kısmına verilen gün sayısı diğer görevlere göre daha fazladır.

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

ölçümlerinin nasıl gerçekleştirileceği aşağıdaki maddelerde anlatılmıştır:

Literatüre göre güncel sayılan DDoS tekniklerinden en az 5 tanesi

gerçekleştirilebilir olmalıdır.

21

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.

Yapılacak olan manuel testlerin sonuçlarına göre yukarıda belirtilen kriterlerin

hesaplamaları gerçekleştirilecek ve raporlanacaktır.

22

4. SONUÇ

Bu rapor G.T.Ü. Bilgisayar Mühendisliği Bölümü Lisans Bitirme Projesi dersi

kapsamında hazırlanmakta olan 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ştirileceği hakkında bilgiler verilmiştir. Projenin daha iyi

anlaşılması amacıyla çeşitli diyagram ve görsellerden yararlanılmıştır.

DDoS Saldırılarının gerçekleştirilmesi hem tehlikeli hem de anayasal bir suç teşkil

ettiği için bu projenin öneminin yüksek olduğı anlaşılmış ve projeyi

gerçekleştirebilme adına laboratuvar ortamının kurulması gerektiği kanısına

varılmıştır. Tasarlanmakta olan DDoS Benzetimi Projesi sayesinde gelebilecek

muhtemel saldırılara karşı sistemlerin nasıl bir tepki vereceği önceden görülmüş

olması hedeflenmektedir.

23

5. 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