Uvijek moramo biti pažljivi prema različitim računalnim napadima kojima smo izloženi. Ovaj put ćemo govoriti o a računalni napad koji napada dostupnost usluge, Riječ je o DoS (Denial of Service) napad. Ovaj napad se može izvesti na distribuiran način (DDoS), obično će se provoditi putem Botneta. Napadači imaju za cilj da ga korisnici usluge ne mogu koristiti jer je zasićena, zasigurno ste čuli za napade koje je pretrpjela PlayStation Network, čak je moguće da zbog jednog od tih napada jednog dana niste mogli igrati na liniji.
Mogli ste vidjeti da je DoS napad i DDoSJedna razlika koju nalazimo između jednog i drugog napada je ta što u prvom koristimo stroj i vezu, a u drugom će se koristiti mnoga računala, pa je napad puno teži i učinkovitiji.
BilješkaDa biste dobro razumjeli napad, potrebno je znati kako funkcionira TCP / IP ili barem imati osnovne pojmove o mrežama.
Različiti načini izvođenja napada
Da biste naučili sigurnost i kako biste se mogli zaštititi, potrebno je znati kako se napadi izvode. U ovom napadu možemo vidjeti da se može provesti na mnogo načina, evo nekih od njih, s kratkim objašnjenjem:
SYN FloodOvaj se napad sastoji od slanja zahtjeva za povezivanje (paketa s aktivnom SYN zastavicom) žrtvi s IP adresa lažnog izvora, koji će odgovoriti paketima koji sadrže ACK i aktivne SYN zastavice te će čekati da izvor veze odgovori s ACK zastava postavljena, ali to se nikada neće dogoditi.
ICMP FloodU ovoj vrsti napadač želi potrošiti propusnost žrtve slanjem brojnih velikih ICMP paketa, a to je putem pinganja.
UDP poplavaOvdje će se stvoriti velike količine UDP paketa koji će se žrtvi slati na slučajnim portovima.
Prepuštanje međuspremnikaVrsta "klasičnog" napada, napadač će žrtvi poslati više paketa nego što međuspremnik usluga može podnijeti, zbog čega usluga ne reagira na legitimne zahtjeve jer je zasićena.
Postoji više vrsta, kao npr HTTP poplava, NTP pojačanjeitd.
Primjer DoS napada u Pythonu
Sada ćemo vidjeti mali primjer koda u Pythonu koji će se temeljiti na SYN poplavnom napadu, testiranje će se provesti na kontroliran način s virtualnim strojevima.
uvoz zapisnika logging.getLogger ("scapy.runtime"). setLevel (logging.ERROR) iz scapy.all import * conf.verb = 0 host = "192.168.56.1" port = 80 originIP = "192.168.1." endIP = 10 broj_paketa = 0 dok je True: broj_paketa + = 1 paket = IP (src = (sourceIP + str (endIP)), dst = host) / TCP (sport = RandShort (), dport = port) slanje (paket, inter = 0,0002) print ("Paket% d poslan"% packet_number) endIP + = 1 if (endIP == 200): endIP = 10Kôd je vrlo jednostavan, koristimo verziju 3 Pythona i biblioteku Scapy koja je vrlo moćna i olakšava nam stvari.
Prvo što vidimo je uvoz potrebnih knjižnica, registar se koristi kako bi se izbjeglo upozorenje koje Scapy pokreće na IPv6. Zatim se koristi conf.glagol = 0, to je učinjeno tako da Scapy ne prikazuje informacije.
Zatim se stvara varijabla domaćin, što nije ništa drugo do IP cilja našeg napada i varijable luka što je luka našeg cilja.
Tako da to nije uvijek ista adresa izvora, stvorio sam varijablu koja ima bazu (podrijetloIP) i još jedan koji će se dodati na kraju (endIP), kao što vidite, oni su povezani prilikom stvaranja paketa originIP + str (endIP).
Varijabla broj_paketa jednostavno se koristi za praćenje paketa koji su poslani.
Posljednji dio je beskonačna petlja, koja se brine za sve, kreiramo paket i šaljemo ga, također pokazujemo da je paket poslan, jer imamo informacije i ažuriramo varijable endIP Y broj_paketa.
Ako pokrenemo kôd i koristimo wireshark, možemo vidjeti kako se paketi šalju, provjeravamo je li izvorni IP svaki put drugačiji, kao i port.
Ako to pogledamo, stupac Izvor prethodne slike stalno se mijenja, a stupac Odredište ne, budući da je to naša žrtva.
Protumjere
Nažalost tvrtke tijekom godine trpe mnoge gubitke zbog ove vrste napada, pa je vrlo važno da provodimo protumjere, u nastavku su neke od onih koje bismo trebali uzeti u obzir:
- Ispravno konfigurirajte Vatrozid ili IDS ili IPS sustave
- Ograničite broj TCP SYN paketa u sekundi
- Analizirajte mrežni promet
- Obrnuto pretraživanje IP -a služi za izbjegavanje lažiranja
Ako želite pročitati više o sigurnosnim pitanjima, možete posjetiti kategoriju posvećenu sigurnosti unutar Solvetića.
Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod