Generátor Kybernetických Útoků Generator of Cyber Attacks
Total Page:16
File Type:pdf, Size:1020Kb
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION ÚSTAV TELEKOMUNIKACÍ DEPARTMENT OF TELECOMMUNICATIONS GENERÁTOR KYBERNETICKÝCH ÚTOKŮ GENERATOR OF CYBER ATTACKS DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE Bc. Peter Halaška AUTHOR VEDOUCÍ PRÁCE Ing. Jan Hajný, Ph.D. SUPERVISOR BRNO 2016 Diplomová práce magisterský navazující studijní obor Telekomunikační a informační technika Ústav telekomunikací Student: Bc. Peter Halaška ID: 146825 Ročník: 2 Akademický rok: 2015/16 NÁZEV TÉMATU: Generátor kybernetických útoků POKYNY PRO VYPRACOVÁNÍ: Práce je zaměřena na bezpečnost sítí TCP/IP, především na oblast zátěžových testů a generování škodlivého provozu pro testování zranitelností. Výstupem práce bude softwarový generátor záplavových útoků v jazyce C, postavený na vlastní knihovně optimalizované pro vysoký výkon pps (packets per second). Budou realizovány útoky SYNflood, UDPflood, RSTflood, ICMPflood, ARPflood a nejméně 2 útoky na aplikační vrstvě. Bude navrženo a realizováno ovládací rozhraní. Systém bude optimalizován pro použití v 10 GbE prostředí. DOPORUČENÁ LITERATURA: [1] NEMETH, Evi, Garth SNYDER a Trent R HEIN. Linux: kompletní příručka administrátora : 2. aktulizované vydání. Vyd. 1. Brno: Computer Press, 2008, 984 s. Administrace (Computer Press). ISBN 978-80-251-2410-9. [2] An investigation into the detection and mitigation of denial of service (DoS) attacks: critical information infrastructure protection. New Delhi: Springer, 2011, xv, 345 s. ISBN 978-81-322-0276-9. Termín zadání: 1.2.2016 Termín odevzdání: 25.5.2016 Vedoucí práce: Ing. Jan Hajný, Ph.D. Konzultant diplomové práce: doc. Ing. Jiří Mišurec, CSc., předseda oborové rady UPOZORNĚNÍ: Autor diplomové práce nesmí při vytváření diplomové práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení § 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č.40/2009 Sb. Fakulta elektrotechniky a komunikačních technologií, Vysoké učení technické v Brně / Technická 3058/10 / 616 00 / Brno ABSTRAKT Práca sa zaoberá bezpečnosťou počítačových sietí založených na protokolovej sade TCP/IP. Hlavným cieľom práce je vytvorenie softvérového generátoru DoS útokov zápla- vového typu v jazyku C, ktorý realizuje útoky SYN flood, RST flood, UDP flood, ICMP flood, ARP flood, DNS flood a DHCP starvation. Teoretická časť práce popisuje funkcie uvedených útokov a s nimi spojené protokoly či mechanizmy. Ďalšia časť sa venuje po- rovnaniu vybraných nástrojov (Hping3, Mausezahn, Trafgen) z hľadiska počtu paketov za sekundu (pps) a vyťaženia prenosovej linky (MB/s). Praktická časť práce popisuje návrh a realizáciu nového nástroja. Je tu vysvetlený význam jednotlivých modulov ná- stroja, jeho inštalácia a možnosti ovládania. Následne je nový nástroj testovaný. Ďalej je popísaný vývoj, možnosti a inštalácia ovládacieho rozhrania, ktoré bolo realizované formou webovej aplikácie. KĽÚČOVÉ SLOVÁ útok, DoS, záplava, Trafgen, pps, DoSgen, JavaScript, Node.js ABSTRACT This work deals with the security of computer networks based on TCP/IP protocol stack. The main objective is to develop a generator of DoS flooding attacks which carries out attacks such SYN flood, RST flood, UDP flood, ICMP flood, ARP flood, DNS floodand DHCP starvation. The theoretical part describes the features of the mentioned attacks and protocols or mechanisms associated with them. Next part deals with the comparison of selected tools (Hping3, Mausezahn, Trafgen) in terms of number of packets per second (pps) and the link utilization (MB/s). The practical part describes design and implementation of the new attacking tool. There is explained the importance of it’s individual modules, it’s installation and usage options. New tool is also being tested. Then there is described the development, options and installation of control interface which is in the form of web application. KEYWORDS attack, DoS, flood, Trafgen, pps, DoSgen, JavaScript, Node.js HALAŠKA, Peter. Generátor kybernetických útoků: diplomová práca. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomu- nikací, 2016. 58 s. Vedúci práce bol Ing. Jan Hajný, Ph.D. PREHLÁSENIE Prehlasujem, že som svoju diplomovoú prácu na tému „Generátor kybernetických útoků“ vypracoval samostatne pod vedením vedúceho diplomovej práce, využitím odbornej li- teratúry a ďalších informačných zdrojov, ktoré sú všetky citované v práci a uvedené v zozname literatúry na konci práce. Ako autor uvedenej diplomovej práce ďalej prehlasujem, že v súvislosti s vytvorením tejto diplomovej práce som neporušil autorské práva tretích osôb, najmä som nezasiahol nedovoleným spôsobom do cudzích autorských práv osobnostných a/alebo majetkových a som si plne vedomý následkov porušenia ustanovenia S 11 a nasledujúcich autorského zákona č. 121/2000 Sb., o práve autorskom, o právach súvisiacich s právom autorským a o zmene niektorých zákonov (autorský zákon), v znení neskorších predpisov, vrátane možných trestnoprávnych dôsledkov vyplývajúcich z ustanovenia časti druhej, hlavy VI. diel 4 Trestného zákonníka č. 40/2009 Sb. Brno . ................................... (podpis autora) POĎAKOVANIE Rád by som poďakoval vedúcemu diplomovej práce, pánovi Ing. Janovi Hajnému, Ph.D., za odborné vedenie, konzultácie, trpezlivosť a podnetné návrhy k práci. Brno . ................................... (podpis autora) Faculty of Electrical Engineering and Communication Brno University of Technology Purkynova 118, CZ-61200 Brno Czech Republic http://www.six.feec.vutbr.cz POĎAKOVANIE Výzkum popsaný v této diplomové práci byl realizován v laboratořích podpořených z pro- jektu SIX; registrační číslo CZ.1.05/2.1.00/03.0072, operační program Výzkum a vývoj pro inovace. Brno . ................................... (podpis autora) OBSAH Úvod 12 1 DoS útoky 13 1.1 Charakteristika . 13 1.2 Typy.................................... 13 1.2.1 Základné delenie . 13 1.2.2 Delenie podľa počtu útočiacích zariadení . 13 1.2.3 Delenie podľa spotreby zdrojov . 14 1.2.4 Delenie podľa rýchlosti . 15 1.2.5 Delenie podľa spoja . 15 1.3 Konkrétne útoky . 15 1.3.1 SYN flood . 16 1.3.2 RST flood . 17 1.3.3 UDP flood . 18 1.3.4 ICMP flood . 19 1.3.5 ARP flood . 19 1.3.6 DNS flood . 21 1.3.7 DHCP starvation . 22 2 Nástroje pre DoS útoky 24 2.1 Teoretický popis . 24 2.1.1 Hping3 . 24 2.1.2 Mausezahn . 24 2.1.3 Trafgen . 25 2.2 Praktické porovnanie nástrojov . 25 2.2.1 Výbava laboratória . 25 2.2.2 Podmienky . 26 2.2.3 Výsledky merania . 27 3 Vývoj vlastného nástroja 30 3.1 Konfiguračný jazyk nástroja Trafgen . 30 3.2 Realizácia nástroja . 31 3.2.1 DoSgen . 32 3.2.2 LibDoS . 32 3.2.3 Trafgen wrapper . 32 3.3 Použitie nástroja . 34 3.4 Testovanie nástroja . 34 4 Ovládacie rozhranie 39 4.1 Node.js . 39 4.2 Realizácia ovládacieho rozhrania . 39 4.2.1 Front end . 40 4.2.2 Back end . 44 4.3 Inštalácia ovládacieho rozhrania . 46 5 Súhrnné informácie o novovzniknutom nástroji 47 6 Záver 48 Literatúra 49 Zoznam skratiek 52 Zoznam príloh 54 A Argumenty nástroja DoSgen 55 B Náhľad na webovú aplikáciu 57 C Obsah priloženého DVD 58 ZOZNAM OBRÁZKOV 1.1 DDoS útok [10] . 14 1.2 Rozdelenie konkrétnych útokov na základe vrstiev TCP/IP modelu . 16 1.3 Nadviazanie TCP spojenia . 16 1.4 Útok SYN flood [10] . 17 1.5 Útok RST flood . 18 1.6 Útok UDP flood . 18 1.7 Útok ICMP flood . 19 1.8 Útok ARP flood . 20 1.9 Zjednodušená komunikácia s využitím DNS servera [9] . 21 1.10 Útok DNS flood . 22 1.11 Základná komunikácia s použitím DHCP servera . 23 1.12 Útok DHCP starvation . 23 2.1 Schéma zapojenia zariadení v laboratóriu . 26 2.2 Grafické porovnanie nástrojov v počte prenesených paketov za sekundu 27 2.3 Grafické porovnanie nástrojov vo vyťažení prenosovej linky . 28 2.4 Chybné výsledky pri meraní nástroja Trafgen . 28 3.1 Základná štruktúra nového nástroja . 32 3.2 Použitie nástroja na laboratórnom serveri, útok SYN flood . 35 3.3 Závislosť počtu paketov za sekundu na počte procesov, útok UDP flood 36 3.4 Grafické porovnanie útokov nástroja DoSgen v počte prenesených pa- ketov za sekundu . 37 4.1 Základná štruktúra ovládacieho rozhrania . 39 4.2 Prihlasovací formulár pred zadaním autentizačných údajov . 40 4.3 Prihlasovací formulár po zadaní chybných autentizačných údajov . 40 4.4 Blok pre spoločné nastavenie . 41 4.5 Blok pre útok ICMP flood . 41 4.6 Konečný výstup v ovládacom rozhraní . 43 A.1 Argumenty zobrazené v prostredí nástroja . 56 B.1 Náhľad na webovú aplikáciu . 57 ZOZNAM VÝPISOV ZDROJOVÝCH KÓDOV 3.1 Príklad konfigurácie TCP paketu s príznakom SYN . 31 3.2 Skrátený výpis zdrojového kódu súboru trafgen_wrapper.c pre útok SYN flood . 33 4.1 Skrátený výpis zdrojového kódu súboru login.ejs .......... 40 4.2 Skrátený výpis zdrojového kódu súboru client.js .......... 42 4.3 Zjednodušený výpis zdrojového kódu vygenerovaného bloku . 42 4.4 Skrátený výpis zdrojového kódu súboru dosgen.js .......... 45 ZOZNAM TABULIEK 2.1 Namerané hodnoty pri útoku SYN flood . 27 2.2 Namerané hodnoty pri útoku UDP flood . 27 3.1 Zápis hodnôt v konfiguračnom jazyku nástroja Trafgen [21] . 30 3.2 Vybrané makrá konfiguračného jazyka nástroja Trafgen [21] . 30 3.3 Namerané hodnoty pri útoku UDP flood . 35 3.4 Porovnanie jednotlivých útokov v počte prenesených paketov za se- kundu . 37 A.1 Použiteľné argumenty