Spoofing IP

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

IP spoofing este numele folosit pentru a indica, într-o rețea de calculatoare , o tehnică de atac cibernetic care utilizează un pachet IP în care adresa IP a expeditorului este falsificată.

În antetul unui pachet IP există un câmp specific, adresa sursă , a cărei valoare indică adresa IP a expeditorului: modificând acest câmp puteți face să credeți că un pachet IP a fost transmis de la o altă mașină gazdă .

Spoofing IP și securitate cibernetică

Această tehnică poate fi utilizată pentru a depăși unele tehnici defensive împotriva intruziunilor, în primul rând cele bazate pe autentificarea adresei IP . De fapt, este normal ca unele servicii să fie autentificate pe baza adresei IP de pe intraneturile companiei, fără a utiliza alte sisteme (precum numele de utilizator și parola ). Acest tip de atac este cu atât mai reușit cu cât relațiile de „încredere” dintre două sau mai multe mașini sunt mai puternice.

Una dintre apărările care pot fi implementate împotriva acestui tip de atac este utilizarea filtrării pachetelor , stabilind reguli adecvate pe baza cărora se decide ce pachete din exterior pot fi transmise în rețeaua corporativă și invers. În cazul specific, pentru a evita un atac bazat pe falsificare, este suficient să se stabilească o serie de reguli care interzic trecerea din exterior către interiorul rețelei corporative a pachetelor IP care au ca sursă adresa IP cea a unei mașinărie. Desigur, puteți stabili și reguli pentru a evita atacurile de falsificare din interior spre exterior.

Spoofing- ul IP se dovedește a fi o tehnică utilă pentru a obține anonimatul unui singur pachet, dar este dificil să-l exploatezi pentru atacuri care implică spoofarea unei sesiuni / comunicări întregi, deoarece expeditorul pachetului (atacatorul) nu va fi în general capabil să continue comunicarea într-un mod coerent, deoarece răspunsurile vor fi trimise de către receptor (victimă) la adresa IP indicată în pachet („spoofed”). În trecut, a fost posibil să se efectueze un atac de falsificare prin activarea opțiunilor Source Routing , forțând victima să direcționeze răspunsurile către atacator; în prezent este aproape imposibil să găsești pe Internet un router care să respecte opțiunile de rutare Source : aproape toți aruncă pachetele care le conțin.

Este o tehnică utilizată în principal în timpul atacurilor DoS și în principal în varianta distribuită (sau DDoS ), pentru a evita ca atacatorul (sau atacatorii) să poată fi identificat cu ușurință.

Spoofing IP , deoarece funcționează

În scopul rutării pachetelor IP , contează doar adresa de destinație: din acest motiv, în condiții normale, este posibil să se trimită pachete IP care par să provină de la orice IP. În plus, există adesea o lipsă de control la nivel superior care autentifică sursa pachetelor IP. O soluție poate fi utilizarea IPsec .

Spoofing IP și transmisie de date prin satelit

O utilizare legitimă la modă până recent a fost în domeniul transmisiilor de date prin satelit, care au latențe foarte mari și rate de eroare scăzute. Latența ridicată a depășit timpul permis pentru TCP de recunoaștere și, prin urmare, a forțat retransmiterea pachetului. Din acest motiv, pachetele de confirmare „false” au fost trimise către client, profitând de rata scăzută de eroare asigurată de legăturile prin satelit. Astăzi fereastra glisantă este preferată în loc de falsificare .

Servicii vulnerabile la IP Spoofing

Unele servicii vulnerabile sunt:

Tipuri de atac

Atacurile IP Spoofing pot fi împărțite în trei categorii:

  • Spoofing IP non-orb: este fezabil într-o rețea LAN; când atacatorul încearcă să pretindă că este o gazdă care se află în propria sa subrețea.
  • IP Blind Spoofing : Când atacatorul încearcă să suplinească o gazdă pe orice subrețea.
  • Atacuri DoS: Atacatorul încearcă să blocheze o gazdă pentru a preveni desfășurarea unei activități normale sau pentru a prelua controlul acesteia.

Sunt apoi descrise mai multe scenarii, folosind întotdeauna Protocolul de control al transmisiei (TCP) ca protocol al stratului de transmisie. Spoofing-ul IP poate fi utilizat și cu protocolul UDP ( User Datagram Protocol ), dar, fără autentificare, este rar folosit pentru accesul autentificat la sistem.

Schimbați adresa IP sursă

Pentru a efectua orice atac IP Spoofing , trebuie să puteți schimba antetul pachetului IP. Un instrument pentru a face acest lucru sunt Raw Sockets . Acest tip de soclu vă permite să creați pachetul după bunul plac (inclusiv antetul ), evident, trebuie să creați manual antetul complet al pachetului. Diferite limbi implementează socketuri brute ( C , C ++ , Python etc.) și este mai ușor să efectuați atacul în mediul Unix .

Spoofing IP non-orb

Atacatorul încearcă să suplinească identitatea unei gazde care face parte din subrețeaua sa; prin urmare, prin setarea plăcii de rețea într-un mod promiscuos , el este capabil să citească toate pachetele adresate gazdei pe care intenționează să le suplinească și poate astfel să descopere numărul secvenței și numărul de confirmare a conexiunii în curs și să încerce să le introducă. [1]

Unele tipuri de atacuri pot fi efectuate, inclusiv închiderea unei conexiuni și intrarea într-o conexiune ( Hijacking ).

Pentru a închide o conexiune inițiată de victimă este necesar să „adulmece” cel puțin un pachet de comunicare (cel care se întoarce de la server ) pentru a fi întrerupt pentru a înțelege numărul de ordine și a calcula următoarea valoare. Puteți utiliza semnalizările de resetare (RST) sau de finalizare a datelor (FIN). Cu semnalizatorul de resetare , ack-ul este dezactivat, deci calculați numărul de ordine începând de la ack- ul pachetului adulmecat. Pentru semnalizarea de sfârșit de date, trebuie calculat și ack-ul corect. Pentru ca atacul să aibă succes, pachetul „falsificat” trebuie trimis înainte de răspunsul clientului (dacă se întâmplă acest lucru, numărul de ordine este modificat).

Pentru a pătrunde într-o comunicație TCP, clientul trebuie să fie desincronizat, care constă în schimbarea numărului de secvență și a ack- ului conversației cu serverul .

Schema de desincronizare client A vs B în caz de spoofing non-orb

Având în vedere clientul A, serverul B și atacatorul C (conectat la aceeași rețea ca A), o metodă posibilă pentru ca C să nesincronizeze A este:

  1. C ascultă conversația dintre A și B și interceptează un pachet B → A
  2. C trimite un pachet falsificat pentru a fi trimis către B cu numărul de secvență și ack calculat din pachetul primit de B
  3. B primește pachetul de la A (C) și răspunde la A
  4. Acum, numărul de secvență al lui A nu mai corespunde ack-ului primit de la B, așa că B va arunca toate pachetele trimise de A, care nu știe despre pachetul falsificat trimis de C
  5. În această situație, C poate trimite pachete falsificate către B, în timp ce A nu poate trimite către B, dar primește mesaje de la B
  6. Pentru a bloca și pachetele B → A, C trimite un pachet falsizat la A ca și cum ar fi serverul B
  7. A primește pachetul de la B (A) și modifică secvența și parametrii ack fără știrea lui B.
  8. Acum B este desincronizat față de A, deci aruncă pachetele trimise de A
  9. Acum C poate trimite pachete falsificate către B fără ca A să vadă răspunsurile lui B, de asemenea, A nu poate trimite pachete către B pe acea conexiune

Alte metode de desincronizare pot fi realizate prin amestecarea în comunicarea inițială de strângere a mâinii , resetarea conexiunii originale și forțarea serverului să deschidă o nouă conexiune cu același client, dar cu un număr de secvență diferit. [2]

O problemă care derivă din acest tip de atac este furtuna ACK [2] : atunci când clientul și serverul sunt desincronizate între ele la fiecare încercare de a trimite pachete, partea opusă îl renunță și returnează ultimul pachet trimis, partea opusă primește pachetul, îl aruncă pentru că este desincronizat și trimite înapoi ultimul său pachet trimis, astfel încât bucla începe și continuă până când se pierde un pachet ack sau se ajunge la timeout și se resetează conexiunea [3] . În timpul acestei faze poate fi utilizată o cantitate semnificativă de lățime de bandă, care a dat naștere unor atacuri DOS specifice [4] .

Spoofing IP orb

În acest tip de atac, atacatorul nu se află în aceeași rețea cu victima, așa că chiar dacă poate trimite pachete falsificate (puteți încerca să stabiliți conexiuni cu serverul ), prezentând victima, toate pachetele de răspuns vor fi trimise victimei și atacatorul nu le poate intercepta cu ușurință. În plus, necunoscând răspunsurile de la server, nu este posibil să calculăm numerele de ordine și, prin urmare, să continuăm dialogul. Pentru a rezolva această problemă, puteți încerca să preziceți numărul de ordine al serverului ( atac de predicție a secvenței TCP ).

Un număr de ordine poate fi generat în mai multe moduri:

  • Folosind regula 64k [5] , care constă în creșterea numărului de secvență cu o anumită constantă în fiecare secundă (comparativ cu cea utilizată pentru conexiunea anterioară) și adăugarea unui alt număr constant dacă conexiunea este schimbată
  • Prin creșterea numărului de secvență cu o constantă la fiecare interval de timp predeterminat
  • Generarea unui număr aleatoriu pentru fiecare conexiune

Dacă implementarea TCP o folosește pe cea dintâi, este ușor pentru atacator să prezică numărul secvenței . De exemplu, poate încerca să creeze câteva conexiuni de test cu adresa sa IP pentru a afla ce regulă adoptă serverul și ce număr de ordine a ajuns. În cazul celei de-a doua tehnici, sunt necesare mai multe teste pentru a înțelege comportamentul serverului , în timp ce dacă numărul secvenței este generat aleatoriu, nu este posibil să se continue în acest tip de atac.

Odată ce atacatorul poate prezice numărul secvenței, el poate stabili o conexiune TCP cu serverul pretinzând că este victima. Rețineți faptul că atacatorul încă nu poate vedea dacă serverul răspunde la pachete (acest lucru nu este mare lucru, deoarece scopul atacatorului poate fi de a trimite comenzi către server și, prin urmare, nu este afectat de alte răspunsuri).

Amintiți-vă că victima primește toate pachetele de răspuns de la server, astfel încât victima trebuie scoasă offline înainte de a începe acest atac.

Dos atacuri

Tehnica IP Spoofing este, de asemenea, utilizată pentru atacurile de respingere a serviciului , al căror scop este aterizarea mașinii victimei. Mascare IP apare în atacurile Smurf (încercând să epuizeze lățimea de bandă a victimei) și, de asemenea, în atacul de inundații SYN (încercând să epuizeze resursele victimei).

Notă

  1. ^ ORK, IP_Spoofing_in_Scioltezza.pdf ( PDF ), pe golug.it , aprilie 2001. Accesat la 3 iulie 2016 .
  2. ^ a b Laurent Johncheray, Aganist TCP activ simplu .
  3. ^ RFC 793 - Specificațiile protocolului de control al transmisiei , la tools.ietf.org . Adus pe 3 iulie 2016 .
  4. ^ Raz Abramov și Amir Herzberg, TCP Ack Storm DoS Attacks .
  5. ^ Ramesh Natarajan, atacuri de număr de secvență tcp , la thegeekstuff.com . Adus pe 3 iulie 2016 .

Elemente conexe

linkuri externe

Securitate IT Portal de securitate IT : accesați intrările Wikipedia care se ocupă cu securitatea IT