See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 12729|Vastuse: 1

[Tehniline analüüs] Põhjalik ja lihtne arusaadav: Sissejuhatus võrgurünnaku ja -kaitse rünnakusse

[Kopeeri link]
Postitatud 25.10.2014 21:04:02 | | |
1. DDoS rünnaku põhitõed

DDoS (hajutatud teenusetõkestus) rünnakud on üks võimsamaid ja raskemaid rünnakuid, mille vastu kaitsta, sest DDoS-rünnakute peamine eesmärk on takistada määratud sihtmärgil tavapäraseid teenuseid pakkumast või isegi internetist kadumast.

DDoS-i saab lihtsalt jagada kolme kategooriasse vastavalt sellele, kuidas neid algatatakse.

Esimene kategooria võidab jõugaHiiglaslikud andmepaketid tungivad interneti kõikidest nurkadest, blokeerides IDC sissepääsu, muutes erinevad võimsad riistvaralised kaitsesüsteemid ning kiired ja tõhusad hädaolukorra protsessid kasutuks. Selle tüüpi rünnakute tüüpilised näited on ICMP Flood ja UDP Flood, mis on nüüd haruldased.

Teine kategooria võidab nutikuse tõttu, nutikas ja märkamatu, saates iga paari minuti tagant paki või vajades ainult pakki, võib panna luksusliku konfiguratsiooniserveri enam reageerima. Seda tüüpi rünnakuid käivitatakse peamiselt protokollide või tarkvara haavatavuste ärakasutamisel, nagu Slowloris rünnakud, räsi kokkupõrke rünnakud jne, ning nõuab spetsiifilisi keskkonnakokkusattumusi.

Kolmas kategooria on nende kahe seguSee mitte ainult ei kasuta ära protokolli ja süsteemi puudusi, vaid sisaldab ka suurt hulka liiklust, nagu SYN Flood rünnak ja DNS Query Flood rünnak, mis on praegune peamine rünnakumeetod.

See artikkel kirjeldab neid kõige levinumaid ja esinduslikumaid rünnakumeetodeid ükshaaval ning tutvustab nende kaitsevõimalusi.

1.1. SYN Flood

SYN Flood on üks klassikalisemaid DDoS-rünnakuid internetis, mis ilmus esmakordselt umbes 1999. aastal, kus Yahoo oli tol ajal kuulsaim ohver. SYN Flood rünnakud kasutavad ära TCP kolmekordse käepigistuse puudusi, mis võivad muuta sihtserveri reageerimatuks ja raskesti jälgitavaks väikese kuluga.

Tavapärane TCP kolmepoolne käepigistusprotsess on järgmine:

  • Klient saadab TCP paketi, mis sisaldab SYN lippu, SYN on sünkroniseeritud ning sünkroniseerimispakett näitab kliendi poolt kasutatavat porti ja TCP ühenduse algset seerianumbrit.
  • Pärast SYN paketi saamist kliendilt tagastab server SYN+ACK (st kinnituskinnituse) paketi, mis näitab, et kliendi päring on vastu võetud, ning TCP algne seerianumber lisatakse automaatselt numbriga 1.
  • Klient tagastab serverile ka kinnitussõnumi ACK ning TCP seerianumber lisatakse samuti 1-ga.

Pärast neid kolme sammu luuakse TCP ühendus. Usaldusväärse edastuse tagamiseks on TCP protokoll seadistanud kolme käepigistuse ajal mõned erandite käsitlemise mehhanismid. Kolmandas etapis, kui server ei saa kliendilt lõplikku ACK kinnituspaketti, jääb server SYN_RECV olekusse, lisab kliendi IP-aadressi ootenimekirja ja saadab teises etapis SYN+ACK paketi uuesti. Korduspostitusi tehakse tavaliselt 3–5 korda ning ootenimekirja küsitletakse kord umbes 30-sekundiliste vahedega, et kõiki kliente uuesti proovida. Teisest küljest, pärast SYN+ACK paketi saatmist, eraldab ta ressursid eelseisvaks TCP-ühenduse info salvestamiseks, mis jääb alles kuni uuesti proovimiseni. Veelgi olulisem on see, et kui serveri ressursid on piiratud, siis SYN_RECV olek, mida saab hallata, ei aktsepteeri enam uusi SYN-pakette pärast piiri ületamist, st uued TCP-ühendused lükatakse tagasi.

SYN Flood kasutab ülaltoodud TCP protokolli seadeid rünnaku eesmärgi saavutamiseks. Ründajad varjavad suure hulga IP-aadresse, et saata serverile SYN-pakette, ja kuna võltsitud IP-aadressid on peaaegu võimatud eksisteerida, ei anna peaaegu ükski seade serverile vastust tagasi. Selle tulemusena hoiab server suurt ootenimekirja ja üritab pidevalt saata SYN+ACK pakette, mis kulutab palju ressursse ja neid ei saa vabastada. Veelgi olulisem on see, et rünnatud serveri SYN_RECV järjekord on täidetud pahatahtlike pakettidega ning uusi SYN-päringuid enam ei aktsepteerita ning seaduslikud kasutajad ei saa teha kolme käepigistuse TCP ühenduse loomiseks. Teisisõnu, serverile keelas SYN Flood teenuse osutamise.

Kui sind huvitab SYN Flood, võid vaadata http://www.icylife.net/yunshu/show.php?id=367, mille kirjutasin 2006. aastal, hiljem tegin mitmeid muudatusi, parandasin vigu ja vähendasin agressiivsust ning kasutasin ainult testimiseks.

1.2. DNS-päringu üleujutus

Kuna DNS on interneti kõige põhilisem ja põhiteenus, on see loomulikult üks DDoS-rünnakute olulisemaid sihtmärke. DNS-teenuse maha võtmine võib kaudselt kahjustada ettevõtte kogu äritegevust või võrguteenust piirkonnas. Mõni aeg tagasi teatas populaarne häkkerigrupp Anonymous, et ründab 13 DNS-serverit globaalsel internetil, kuid lõpuks see ei õnnestunud.

UDP rünnakud on kõige lihtsam viis massiivse liikluse algatamiseks ning juhusliku allika IP võltsimist on raske jälitada. Kuid filtreerimine on lihtsam, sest enamik IP-aadresse ei paku UDP teenuseid, seega saab lihtsalt UDP liikluse kõrvale jätta. Seetõttu on puhtalt UDP liikluse rünnakud nüüd suhteliselt haruldased ning need on asendatud DNS-päringu üleujutuse rünnakutega, mida kannab UDP protokoll. Lihtsalt öeldes, DDoS-rünnakud, mida kõrgemal on protokoll, seda raskem on seda kaitsta, sest mida kõrgem protokoll, seda ärilisem see on ja seda keerukam on kaitsesüsteem.

DNS-päringute üleujutus on olukord, kus ründaja manipuleerib suure hulga sockpuppet masinaid, et käivitada sihtmärgile suur hulk domeeninimede päringupäringuid. ACL-põhise filtreerimise vältimiseks tuleb parandada pakettide juhuslikkust. Levinud praktika on juhuslikult võltsida lähte-IP-aadress, juhuslikult võltsida lähteporti ja muid parameetreid UDP kihil. DNS-protokolli kihil võltsitakse päringu ID juhuslikult koos lahendatava domeeninimega. Lisaks filtreerimise vältimisele võivad juhuslikud võltsitud domeeninimed lahendada ka DNS-i vahemälu sattumise tõenäosust ja tarbida võimalikult palju DNS-serveri CPU ressursse.

DNS päringu üleujutuse koodi kohta kirjutasin juulis 2011 koodi serveri jõudluse testimiseks ja link on http://www.icylife.net/yunshu/show.php?id=832. Samamoodi on see kood kunstlikult vähem agressiivne ja mõeldud ainult testimiseks.

1.3. HTTP Flood

Ülalmainitud SYN Floodi ja DNS-päringu üleujutust saab selles etapis tõhusalt kaitsta ning suurte tootjate ja internetiettevõtete tõeline peavalu on HTTP Floodi rünnakud. HTTP Flood on rünnak veebiteenuse vastu, mis kasutab seitsmenda kihi protokolli. Selle suur kahju avaldub peamiselt kolmes aspektis: mugav algatus, keeruline filtreerimine ja kaugeleulatuv mõju.

Nii SYN Flood kui ka DNS Query Flood nõuavad ründajatelt suurt hulka botte, kellel on juurõigused. Suure hulga juurõiguste kogumine võtab aega ja vaeva ning rünnaku ajal taastub nukumasin aeglaselt, kuna ründaja kaotab kiiresti ressursse ebanormaalse liikluse tõttu, mille administraator avastas ebanormaalse liikluse tõttu, mis vähendab oluliselt rünnaku intensiivsust ja ei saa kaua kesta. HTTP Floodi rünnakud on erinevad – ründajad ei pea kontrollima suurt hulka bote, vaid kasutavad pordiskannereid, et leida internetis anonüümseid HTTP proksisid või SOCKS proksisid, mille kaudu ründaja algatab HTTP-päringuid rünnaku sihtmärgile. Anonüümsed proksid on suhteliselt rikkalik ressurss ning prokside saamine mõne päevaga on lihtne, mistõttu rünnakud on lihtsad algatada ja võivad kesta kaua.

Teisest küljest käivitatakse HTTP üleujutusrünnakud HTTP kihil, mis järsult jäljendab tavaliste kasutajate veebilehe päringute käitumist, mis on tihedalt seotud veebilehe äriga, muutes turbepakkujatel keeruliseks pakkuda ühtset lahendust, mis ei mõjutaks kasutajakogemust. Reeglid, mis toimivad hästi ühes kohas, võivad stsenaariumide muutmine viia suure hulga tapmiseni.

Lõpuks võivad HTTP üleujutuse rünnakud põhjustada tõsiseid ahelreaktsioone, mis mitte ainult otseselt põhjustavad aeglast reageerimist rünnatud veebiliidese poolt, vaid ka kaudselt ründades Java ja teisi ärikihi loogika- ning taustapõhiseid andmebaasiteenuseid, suurendades nende survet ja mõjutades isegi logiservereid.

Huvitaval kombel on HTTP Floodil ka ajalooline hüüdnimi CC attack. CC on lühend sõnadest Challenge Collapsar, mis on tuntud Hiina turvafirma DDoS-kaitseseade. Praeguse olukorra põhjal on mitte ainult Collapsar, vaid kogu riistvaraline kaitsevarustus endiselt vaidluse all ning risk pole kõrvaldatud.

1.4. Aeglased ühenduse rünnakud

Rünnakute puhul on esimene reaktsioon suur liiklus ja suured paketid. Kuid on olemas rünnak, mis teeb vastupidist – tuntud kui aeglane, nii et mõned rünnakusihtmärgid tapetakse teadmata, kuidas nad surevad, mis on aeglane ühenduse rünnak, kõige esinduslikum on Slowloris, mille leiutas rsnake.

HTTP protokoll sätestab, et HTTP-päringud lõpevad \r\n\r\n, mis näitab, et klient on saatmise lõpetanud ja server on alustanud töötlemist. Mis juhtub, kui sa kunagi \r\n\r\n ei saada? Slowloris kasutab seda DDoS-rünnakutes enda kasuks. Ründaja seab HTTP päringu päises ühenduse Keep-Alive'iks, palub veebiserveril hoida TCP-ühendus katkematuna ning saadab seejärel iga paari minuti tagant serverile võtme-väärtuse formaadi, näiteks a:b\r\n, mis paneb serveri arvama, et HTTP päist pole vastu võetud ja ootab. Kui ründaja kasutab sama mitmelõimelist või nukku, saab serveri veebikonteiner kiiresti ründaja poolt ülekoormatud ega võta enam uusi päringuid vastu.

Varsti hakkasid ilmuma erinevad Slowlorise variandid. Näiteks POST meetod esitab andmed veebiserverisse, täidab suure sisupikkuse, kuid aeglase baiti kaupa POST reaalse andmesisu jne. Slowlorise rünnaku kohta annab rsnake ka testkoodi, vt http://ha.ckers.org/slowloris/slowloris.pl.

2. DDoS-rünnak edasi arenenud2.1. Hübriidrünnakud

Ülaltoodud tutvustab mitmeid põhilisi rünnakumeetodeid, millest igaüht saab kasutada võrgu ründamiseks ja isegi hiiglaslike veebisaitide nagu Alibaba, Baidu ja Tencent alistamiseks. Aga see pole veel kõik, erineva tasemega ründajad võivad käivitada täiesti erinevaid DDoS-rünnakuid ja nende kasutamine on sama asi.

Edasijõudnud ründajad ei kasuta kunagi ühte vektorit rünnakuks, vaid kombineerivad neid paindlikult vastavalt sihtkeskkonnale. Tavalist SYN Floodi on lihtne filtreerida liikluse puhastamise seadmetega pöördtuvastuse, SYN küpsiste ja muude tehniliste vahenditega, kuid kui SYN+ACK paketid segatakse SYN Floodisse, nii et igal võltsitud SYN paketil on vastav võltsitud kliendi kinnituspakett, siis vastav siin viitab lähte-IP-aadressile, lähteportile, siht-IP-le, sihtportile, TCP akna suurusele, TTL-ile jne, mis kõik vastavad sama hosti ja sama TCP voo omadustele. Surve voolupuhastusseadmete pöördtuvastuse ja SYN-küpsiste jõudlusele suureneb märkimisväärselt. Tegelikult on SYN-andmepakettidel ja erinevatel teistel lipubittidel erirünnakute efektid, mida siin ei tutvustata. DNS-päringu üleujutuse jaoks on ka unikaalsed tehnikad.

Esiteks saab DNS-i jagada tavaliseks DNS-iks ja volitatud domeeni DNS-iks, rünnates tavalist DNS-i, IP-aadressi tuleb juhuslikult võltsida ning server vajab rekursiivset lahendust; Kuid volitatud domeeni DNS-i ründamisel ei tohiks võltsitud lähte-IP-aadress olla täiesti juhuslik, vaid see peaks olema eelnevalt kogutud internetiteenuse pakkujate DNS-aadressid üle maailma, et saavutada maksimaalne rünnakuefekt, nii et liikluspuhastusseade satub piinlikku olukorda, kus IP musta nimekirja lisamine või mitte. Selle lisamine toob kaasa suure hulga tapmisi, ja kui musta nimekirja ei lisata, tuleb iga pakett tagurpidi kontrollida, mis suurendab jõudluse survet.

Teisest küljest, nagu varem mainitud, on seadme puhastamise surve suurendamiseks vajalik soovitud domeeninimi juhuslikult paigutada ilma vahemälu vajutamata, kuid tuleb märkida, et lahendatav domeeninimi peab võltsimises olema teatud regulaarsusega, näiteks võltsides ainult teatud osa domeeninimest ja tugevdades osa, et läbida puhastaja seatud valge nimekirja. Põhjus on lihtne: Tencenti serverid suudavad lahendada ainult Tencenti domeeninimesid ning täiesti juhuslikud domeeninimed võidakse otse kõrvale jätta ja neid tuleb kinnistada. Aga kui see on täielikult parandatud, on seda lihtne otse ära visata, seega tuleb see võltsida.

Teiseks ei tohiks rünnakud DNS-i vastu keskenduda ainult UDP portidele, mis on samuti DNS-protokolli järgi standardteenused. Rünnaku korral saab korraga läbi viia nii UDP kui ka TCP rünnakuid.

HTTP Floodi eesmärk on murda läbi frontendi vahemälu ja jõuda otse veebiserverini HTTP päise väljaseadete kaudu. Lisaks on HTTP Flood samuti väga oluline sihtmärkide valikul ning tavalised ründajad valivad lehed, mis vajavad palju andmepäringuid, näiteks otsingut, rünnaku sihtmärgina, mis on väga õige ja võib tarbida võimalikult palju serveri ressursse. Kuid seda rünnakut on lihtne tuvastada puhastusseadmete abil inim-masina tuvastamise kaudu, nii et kuidas seda probleemi lahendada? See on väga lihtne, proovi valida lehed, kuhu tavalised kasutajad pääsevad ka rakenduse kaudu, üldiselt erinevaid veebipõhiseid API-sid. Tavalised kasutajad ja pahatahtlik liiklus tulevad rakendusest ning inimese ja masina on väga väike ning on raske eristada põhilist integratsiooni.

Iga TCP ühendus eksisteerib serveri poolel ja iseendas ning peab tarbima ressursse TCP oleku säilitamiseks, seega ei saa ühendust liiga palju hoida. Kui see lahendatakse, suureneb agressiivsus märkimisväärselt, st Slowloris saab käivitada rünnakuid olekuta viisil, haarata TCP seerianumbri ja kinnitada TCP ühenduste hooldust kliendis nuusutades, ning süsteemituum ei pea jälgima TCP erinevaid olekumuutusi ning sülearvuti suudab genereerida kuni 65 535 TCP ühendust.

Eelnevad kirjeldused on kõik tehnilised rünnaku täiustused. Inimpoolel on ka teisi võimalusi. Kui SYN Flood saadab välja suure hulga pakette ja sellega kaasnevad Slowlori aeglased ühendused, kui paljud inimesed avastavad saladuse? Isegi kui server läheb rivist välja, võib leida ainult SYN-rünnakuid, mis püüavad tugevdada TCP kihi puhastust ja ignoreerida rakenduse kihi käitumist. Kõik rünnakud võivad koos töötada, et saavutada maksimaalne efekt. Rünnakuaja valik on samuti võtmetähtsusega, näiteks hooldustöötajate valimine lõunasöögi ajal, kui hooldustöötajad on pärast töölt lahkumist teel kinni või kui metroos puudub traadita võrgukaardil levi, ning kui sihtettevõte korraldab suuremahulist üritust ja liiklus suureneb.

See on puhas rünnak, seega ei anta koodi ega põhjalikku selgitust.

2.2. Rünnakud P2P võrkudest

Varasemad ründemeetodid nõuavad enam-vähem mõningaid botte, isegi HTTP Flood nõuab suure hulga anonüümsete prokside otsimist. Kui toimub rünnak, pead lihtsalt mõned käsud välja andma ja masin tuleb automaatselt selle käivitama, mis on ideaalne lahendus. See rünnak on juba ilmunud, ja see tuleb P2P võrkudest.

Nagu me kõik teame, on P2P kasutajad ja internetiliiklus äärmiselt suur arv. Kui kõik lähevad määratud kohta, et andmeid alla laadida ja ühendada tuhandeid päris IP-aadresse, ei suuda ükski seade seda toetada. Võtame näiteks BT allalaadimise, populaarsete videote torrentite võltsimine ja otsingumootoritesse postitamine on piisav, et petta paljusid kasutajaid ja liiklust, kuid see on vaid lihtne rünnak.

Arenenud P2P rünnakud on otsene ressursihaldusserverite võltsimiseks. Näiteks Thunderi klient laeb leitud ressursid ressursihaldusserverisse üles ja suunab need teistele kasutajatele, kes peavad samad ressursid alla laadima, nii et link avaldatakse. Protokolli pööramise kaudu võltsivad ründajad suure hulga populaarset ressursiinfot ja levitavad selle ressursihalduskeskuse kaudu, mis saab koheselt levitada kogu P2P võrgus. Veelgi hirmutavam on see, et seda rünnakut ei saa peatada, isegi mitte ründaja ise, ning rünnak jätkub seni, kuni P2P ametnik leiab probleemi, uuendab serverit ja allalaaditav kasutaja taaskäivitab allalaaditud tarkvara.

3. Kokkuvõte

See ongi kõik, mis DDoS-rünnakute sissejuhatusest on, ja ma ei taha edasi minna—piisab sellest, et mõista, et nii palju kaitset on piisav.

Üldiselt võivad DDoS-rünnakud olla osavad ja graatsilised. Rakenduse ilu peitub meele ühtsuses.





Eelmine:Tasuta internetiühendus, tasuta ligipääs CMCC-le koos QQWifi-ga jne
Järgmine:Kaota kaalu ja otsi lõplikku trikki
Postitatud 25.10.2014 21:46:21 |
Hästi kokku võetud
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com