Atacul SYN Flood

     In acest atac se activeaza semnalizatorul SYN al unui segment TCP la incercarea clientului de a initia

o noua conexiune TCP. Stabilirea conexiunii s-a realizat cu succes cand  strangerea de mana (three-way handshake) s-a desfasurat conform schemei de mai jos.

 

SYN FLOOD


Figura 1. Procesul strangerii de mana

 


      Atacatorul
invadeaza intentionat serverul cu pachete TCP SYN dupa care nu mai vrea sa recunoasca raspunsul SYN al acestuia. Transmission Control Block(TCB) este o strucura a protocolului de transport care pastreaza toate informatiile despre o de conexiune. Memoria unui singur bloc TCB este de 280 de bytes In unele sisteme de operare, dar poate atinge si 1300 de bytes. Starea SYN-RECEIVED a acestui bloc este folosita pentru a indica faptul ca acea conexiune este pe jumatate deschisa si cererea conexiunii este sub semnul Intrebarii. Un aspect important al TCB este faptul ca memoria este alocata In functie de pachetele SYN receptionate, Inainte ca aceasta conexiune sa fie stabilita.

       Aceasta situatie conduce catre un potential atac DoS, si anume pachetele SYN receptionate face ca serverul sa aloce o memorie foarte mare blocului TCB ceea ce duce la consumarea  memoriei kernelului. Pentru a evita aceasta situatie sistemele de operare aloca un parametru denumit “backlog” care seteaza un numar maxim de conexiuni simultane ce pot fi In starea SYN-RECEIVED. Dar si acest parametru reprezinta o alta resursa  vulnerabila la atac. Nemaiavand spatiu in backlog este imposibil ca alte cereri noi sa fie realizate, pana cand altele vechi vor trece de starea SYN-RECEIVED.

     

        Incarcarea TCB-ului
este scopul atacului SYN flood, care Incearca sa trimita  suficiente pachete SYN pentru a umple Intregul bloc. Atacatorul foloseste adesea adrese IP false tocmai pentru ca TCB sa nu poate raspunda la cererile primite, ceea ce ar duce la eliberarea memoriei kernelului. Deoarece TCP Incearca sa fie fiabil, tinta pastreaza TCB-ul blocat In starea SYN-RECEIVED pentru o perioada relativ lunga, Inainte de a renunta la conexiunea pe jumatate realizata . Ca urmare, sesiunea serverului este umpluta cu cereri continu, consumandu-i resursele si punandu-l In imposibilitatea de a a accepta cererile legitime de conectare pana atinge punctul de inactivitate TCP, moment In care incepe sa aiba sesiuni incomplete.


        Figura urmatoare prezinta o simplificare a succesiunii de evenimente implicate intr-un atac  SYN flood.

 

SYN FLOOD

Figura 2 Atacul SYN-flood

 


      De-alungul timpului s-au observat mai multe tipuri de SYN atac:

 

 SYN FLOOD




Figura 3 Tipuri de atac folosite In SYN-flood

 

 

a). Atac direct

 

- In cazul In care atacatorii trimit  pachete SYN fara a falsifica  sursa IP. Aceasta metoda de atac este foarte usor de realizat, prin utilizarea a numeroase conexiuni TCP simultan. Pentru a fi eficienti atacatorii trebuie sa Impiedice sistemul lor de operare de a raspunde la SYN-ACK-uri In orice mod, deoarece orice ACK-uri, RSTs, sau Internet Control Protocol Mesaj (ICMP) vor permite victimelor sa-si goleasca memoria TCB de SYN-urile primite. Acest scenariu se poate realiza prin intermediul unor firewall-uri care filtreaza pachetele efectuate numai la victima (permitand numai SYNs-out), sau filtrarea pachetelor de intrare, astfel Incat orice SYN-ACK-uri sunt aruncate Inainte de a ajunge sa fie prelucrate de protocolul TCP. Atunci cand sunt depistate,  este foarte usor sa te aperi Impotriva lor, deoarece o regula simpla In firewall  poate bloca pachetele cu sursa atacatorului.

 

b). Atac cu adresa falsa 

 

- O alta forma de SYN atac, este cea cand adresa IP nu este una reala, poate fi considerata mai complexa decat metoda utilizata Intr-un atac direct, deoarece In loc de a manipula doar reguli locale de firewall, atacatorul trebuie de asemenea sa poata injecta si pachete IP cu header IP si TCP valide.

Pentru aceste atacuri, un considerent primordial este adresa de selectie. In cazul In care atacul reuseste, masina cu adresa sursa falsa nu trebuie sa raspunda la SYN-ACK-uri care sunt trimise In nici un fel. Un atacator ar putea foarte simplu sa falsifice o sursa a carei adresa nu va raspunde la SYN-ACK-uri, fie pentru ca nu exista fizic, fie din cauza altor configurari de retea. O alta optiune este de a falsifica mai multe adrese sursa diferite, In ipoteza ca un anumit procentaj din adresele false nu vor raspunde la SYN-ACK-uri. Aceasta optiune se poate realiza ruland ciclic o lista de adrese sursa, care sunt cunoscute pentru acest scop.

 

c). Atacuri distribuite

 

- Atacul provenit de la o singura adresa poate fi limitat prin urmarirea Inapoi a sursei, astfel atacul poate fi usor de oprit. Desi procesul de urmarire implica de obicei, o anumita cantitate de timp si coordonarea Intre furnizorii de servicii internet, nu este imposibil de realizat. O versiune distribuita de atac SYN flood, In care atacatorul are avantajul de a detine numeroase masini virusate si compromise de pe internet, este mult mai dificil de oprit. In cazul prezentat mai sus, fiecare masina  utilizeaza atacuri directe, si pentru a creste eficienta merg chiar mai departe, fiecare masina ar putea folosi un atac de tip spoofing cu mai multe adrese falsificate.

 

      Aceste articole vor fi folosite strict în scop educativ.

Atacul SYN Flood
  • Avem nevoie de ajutorul vostru, am trimis mai multe articole, astept raspuns 1 days ago