1 / 35

http://ssc.users.ro

http://ssc.users.ro. Curs 6 – IPsec, atacuri cu exploatarea increderii. Bogdan Carstoiu. Ce este IPsec?. Internet Protocol Security (IPsec) - o stiva de protocoale pentru securizarea comunicatiilor IP prin autentificarea si/sau criptarea fiecarui pachet IP al fluxului de date.

bruis
Download Presentation

http://ssc.users.ro

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. http://ssc.users.ro Curs 6 – IPsec, atacuri cu exploatarea increderii Bogdan Carstoiu

  2. Ce este IPsec? Internet Protocol Security (IPsec) - o stiva de protocoale pentru securizarea comunicatiilor IP prin autentificarea si/sau criptarea fiecarui pachet IP al fluxului de date. Facilitati: • IPsec include protocoale pentru stabilirea autentificarii mutuale intre agenti la inceputul sesiunii si negocierea cheilor criptografice ce vor fi utilizate in sesiune • IPsec poate fi utilizat pentru protejarea fluxului de date intre doua masini (masini client sau servere), intre o pereche de gateway-uri securizate (rutere) sau intre un gateway securizat si o masina gazda. • Opereaza la nivelul 3 al modelului OSI. De notat ca alte sisteme de securitate ca SSL, TLS si SSH opereaza la niveluri superioare ale modelului OSI!

  3. De ce IPsec? • IPsec este flexibil deoarece opereaza la un nivel OSI inferior • Complet transparent pentru aplicatii. Poate fi utilizat la protejarea traficului deoarece aplicatiile nu trebuie sa fie proiectate pentru a utiliza IPsec. Alte protocoale de nivel superior trebuie incorporate in aplicatie. Precursori: • IPsec - successor al standardului ISO NLSP (Network Layer Security Protocol). Protocolul NLSP s-a bazat pe protocolul de layer 3 SP3 care a fost publicat de NIST si realizat prin proiectul Secure Data Network System (SDNS) de catre NSA. • swIPe (Ioanidis si Blaze) – o implementare UNIX network-layer security protocol pentru IP ce realizeaza autentificarea, integritatea si confidentialitatea datagramelor IP, implementare ce utilizeaza un protocol de incapsulare pentru a pastra compatibilitatea cu infrastructura existenta in momentul aparitiei. Partea de implementare care proceseaza pachetele sosite si cele plecate este realizata integral in kernel; setarea parametrilor si manipularea exceptiilor este gestionata de procesele din userspace.

  4. Structura IPsec IPsec utilizeza o serie de protocoale pentru a realiza diverse functii: • Internet Key Exchange (IKE si IKEv2) pentru stabilirea Security Association (SA), negocierea procoalelor si algoritmilor si generarea cheilor de criptare si autentificare care sunt utilizate de IPsec. • Authentification Header (AH) pentru a realiza integritatea conexiunii si autentificarea pentru datagramele IP cat si protectia impotriva atacurilor prin replicare (replay attacks) • Encapsulating Security Payload (ESP) pentru realizarea confidentialitatii, autentificarea originii datelor, integritatea conexiunii. • Pachetele includ headerele: IP, ESP, AH si poate altele, cum ar fi TCP sau UDP • Lucreaza cu IPv4 si cu IPv6

  5. Moduri de operare Moduri de operare: • Transport mode. Numai datele transportate de pachetul IP sunt criptate si/sau autentificate. Rutarea este identica deoarece headerul IP nu este modificat sau criptat. Cu toate acestea atunci cand este utilizat header-ul de autentificare adresele IP nu pot fi translatate, deoarece acesta va invalida valoarea hash. Nivelurile de transport si aplicatie sunt intotdeauna securizate prin hash asa ca acestea nu pot fi modificate in nici un fel (de ex. translatarea numerelor de port). Un mod de incapsulare a mesajelor IPsec pentru traversarea NAT a fost definit in documentele ce descriu mecanismul NAT-T. • Tunnel mode. In acest mod intregul pachet IP (datele si headerul IP) este criptat si/sau autentificat. El este incapsulat intr-un nou pachet IP cu un nou header IP. Acest mod este utilizat la crearea retelelor private virtuale (Virtual Private Network) pentru comunicatia intre retele (ex: intre rutere care leaga retele), comunicatia gazda-retea (ex: remote user acces) si comunicatia gazda la gazda (ex: chat privat).

  6. Formatul pachetelor Formatulpachetelordepinde de modul de operare: Transport Mode Tunnel Mode IP ESP TCP User Data IP ESP IP TCP User data

  7. Header de autentificare Authentication Header (AH) este membru al protocolului IPsec, garanteaza integritatea conexiunii si autentificarea originii datelor din pachete IP. Este gandit ca in viitor sa poata proteja impotriva replay attacks utilizand tehnica de fereastra alunecatoare (sliding window) si pierderea pachetelor vechi. • AH protejaza datele din datagrama IP si toate campurile din header exceptand campurile ce se modifica in timpul tranzitului. Campurile din header neautentificate la IPv4 sunt: Type of Service (ToS), Flags, Fragment Offset, TTL, Header Checksum • AH opereaza direct in fata protocolului IP si are numarul 51 (in asignarea IANA) • AH se bazeaza pe o cheie cripografica realizata cu o functie hash • Utilizeaza Security Parameter Index (SPI) pentru a identifica asociatia de securitate, tip de cheie si algoritm, etc

  8. ESP - Encapsulating Security Payload ESP este partea IPsec care realizeaza autentificarea originii, protectia integritatii si confidentialitatii pachetelor. • ESP transporta pachetul criptat. • ESP suporta configuratiile numai criptare sau numai autentificare insa utilizarea criptarii fara autentificare este puternic descurajata datorita nesigurantei. • Spre deosebire de AH, ESP nu protejaza headerul pachetului IP. Cu toate acestea in modul tunnel cand intreg pachetul IP original este incapsulat cu un nou headet de pachet adaugat, protectia ESP se produce la intreg pachetul IP (inclusiv headerul interior). • ESP opereaza in fata IP si utilizeaza numarul de protocol IP 50 (IANA); • Utilizarea standard ESP este pentru DES in mod Cipher Block Chaining (CBC).

  9. AH - Header de autentificare (format) Next protocol Lungime rezervat Structura pachetului AH In care: • Next protocol - numar ce identifica urmatorul protocol in payload conform IANA; • Lungime - lungimea portiunii data autentificata; • SPI – identifica parametrul de securitate care in combinatie cu adresa IP identifica SA implementata cu acest pachet; • Numar secventa – un numar generat crescator utilizat pentru prevenirea atacurilor replica • Data autentificata – contine valoarea de verificarea integritatii (ICV) necesara pentru autentificarea pachetului. SPI Numar secventa Data autentificata (lungime variabila)

  10. Format ESP Structura header In care: • Payload data – datelecevorfitransferate; • Padding – utilizatpentru a completadimensiuneaunui bloc • Padlen – marimea padding in octeti (max 255) • Celelaltecampuri au aceeasisemnificatie cu cele de la AH SPI Numar secventa Payload data Payload data Padding Padding padlen next header Data autentificata (lungime variabila)

  11. Security Association • Arhitectura IP security utilizeazaconceptul de Security Association (SA) ca bazapentru a construifunctiile de securitate in IP. SA este o colectie de algoritmisiparametrii (ca o cheie) utilizatipentrucriptareasiautentificareaunui flux de date intr-o directie. La trafic bidirectional fluxul de date estesecurizat cu o pereche SA • Pentru a decide ceprotectievafiaplicatapentru un pachet care pleaca, IPsecutilizeza SPI, index la Security Association DataBase (SADB) impreuna cu adresadestinatie din header-ulpachetului. Ambeleidentificaasociatia de securitatepentruacelpachet. • O procedurasimilaraesteutilizata la pachetele care sosescundeIPsecculegecheile de verificare de la SADB • Pentru multicast o SA estefurnizatapentru un grupsiesteduplicatapentrufiecaredintrereceptoriiautorizatiaigrupului. • Pot existamaimulte SA pentru un grup care utilizeaza SPI diferite, permitand in acest mod multiple nivelurisisetari ale securitatii in grup • Fiecaretransmitatorpoateavea SA multiple, faptcepermiteautentificarea, pecandreceptorulpoatestiinumai ca cinevacunoastecheile cu care au fosttrimisedatele • Standardele nu descriu cum estealeasaasociereasiasignarea la un grup, cipresupune ca o parte responsabila face aceastaalegere.

  12. IPsec si Firewall Utilizari IPsec: • Virtual Private Network • Securitate Internet in general IPsec si Firewall: • IPsec rezolva doua mari probleme: autentificatrea end to end (o masina comunica cu masina cu care crede ca comunica) si criptarea (preintimpinarea atacurilor care asculta traficul). • Nici unul dintre aceste lucruri nu este rezolvat de firewall. Firewall ajuta la protejarea impotriva unor riscuri prezente in Internet fara autentificare si criptare. Concluzie: IPsec nu inlocuieste firewall si nici invers. Interesanta posibilitatea de combinare a IPsec si firewall • Controlul accesului poate fi aplicat la traficul criptat, in functie de sursa. • Adresa IP sursa poate fi autentificata numai daca este legata de un certificat. • Traficul criptat poate utiliza diferite firewall-uri, insa este necesara coordonarea politicilor. • Cele mai bune filtre de pachete sunt eficiente indiferent daca au IPsec AH. Firewall-urile aplicatie au o mai buna capacitate de verificare a sursei utilizand IPsec AH, in comparatie cu increderea acordata (sau nu) implicit pachetelor IP normale.

  13. Probleme privind implementarea La orice implementare este necesara analiza urmatoarelor aspecte: • Cum cer aplicatiile protectie criptografica? • Cum se poate verifica existenta lor? • Cum mandateaza administratorul criptarea intre o masina si alte parti ale retelei? • Cum se face autorizarea?

  14. Managementul cheilor Intrebari: • De unde vin cheile folosite de IPsec? Comunicatia IPsec SA. • Se pot utiliza chei statice? • Care sunt cerintele privind gestionarea cheilor? Teoretic pot fi utilizate chei statice, au o multime de dezavantaje: • Nu sunt complet aleatoare. • Atacatorii pot lansa password guessing attack. • Teoria si analiza istorica arata ca este o idee gresita sa se cripteze prea multe informatii cu aceeasi cheie. • Nu se poate utiliza protectia la replici cand se utilizeaza chei statice. • Chiar daca este mai usor de administrat nu reprezinta o practica recomandata.

  15. Protectia la raspuns • La stabilirea unei noi asocieri de securitate SA, sursa initializează numaratorul de pachete cu valoarea zero ce va fi incrementata la fiecare pachet emis. Valoarea va fi scrisa in campul numar secventa din AH. • In orice moment o masina poate fi repornita, se pierde numarul de secventa curent si se restarteaza numararea de la 1. • La atingerea valorii 232 -1 sursa trebuie să termine SA curentă si să negocieze o nouă SA, cu o nouă cheie. • Deoarece IP asigură un serviciu fără conexiune, IPSec recomandă ca destinatarul să implementeze o fereastra de receptie W cu valoarea implicită W=64. Limita superioară a ferestrei este reprezentată de N numărul de secventă cel mai mare receptionat pentru un pachet valid, iar limita inferioară este N – W + 1. • La cheile statice replicile pot fi utilizate pentru atacarea confidentialitatii prin ignorarea numarului de secventa.

  16. Comentarii IPsec • IPsec nu utilizeaza PKI, iar schimbul de chei inainte de stabilirea conexiunii IPsec creaza probleme. • IKE rezolva generarea unei chei simetrice pentru o sesiune IPsec, dar fara PKI atacurile man-in-the-middle sunt posibile. • IKE creaza Security Associations (SA). • SA are o structura ce contine chei si alte informatii relevante despre conexiune. • IKE este in general un protocol de schimb chei. • IPsec SA nu este echivalent IKE SA, insa IKE SA poate fi convertit la IPsec SA. • IKE ca toate protocoalele de criptare este complicat.

  17. Internet Key Exchange (IKE) • Internet Key Exchange (IKE sau IKEv2) este protocolul utilizat pentru stabilirea asociatiei de securitate (SA) in IPsec. IKE utilizeaza in schimbul de chei Deffie-Hellman pentru stabilirea unui secret partajat sesiunii de la care cheia criptografica este derivata. O tehnica cu cheie publica/privata (PKI) sau o cheie prepartajata se utilizeaza pentru autentificarea mutuala a partilor in comunicare. • Multe implementari constau intr-un demon IKE care ruleaza in user space si stiva IPsec din kernel. Demonul din user space are acces facil la informatiile de configurare cerute, ca adresele endpoint IPsec, chei si certificate. Modulele Kernel pot procesa eficient pachetele cu overhead minim.

  18. IKE - filozofia de baza • IKE este un protocol care asigura trei obiective pentru IPsec: • Stabilirea politicii pentru o sesiune IKE • Stabilirea unei chei pentru IKE SA • Stabilirea de SA • In proces sunt implicate doua parti Initiator si Responder • Stabilirea unei chei pentru IKE SA se realizeaza in doua faze: • Stabilirea unui control SA (cunoscuta ca faza 1 SA); • Utilizare control SA pentru a crea un copil SA (child SA) (cunoscuta si ca faza 2 SA). • In acest moment datele IPsec sunt protejate prin child SA. • Alt controlor de trafic poate utiliza control SA.

  19. Procesarea pachetelor IPsec Procesarea traficului IP pe arhitectura IPsec: • Presupunem ca initial masina A nu a comunicat cu B • O aplicatie oarecare de la A doreste sa trimita date la o masina B prin UDP (1); • Dupa receptie, implementarea IPsec de la A ca: tipul de protocol (UDP), adresa destinarie (B) si alte informatii sunt mapate in Security Policy Database (SPD) la o politica IPsec. In exemplu politica mandateaza Encapsulating Security Payload (ESP) mod confidential si management cheie automat. • IKE protocol este lansat intre cele doua masini si cheile de sesiune sunt stabilite (2); • Terminarea cu succes a protocolului IKE este crearea unui SA care defineste cheile, politica ESP si timp de viata SA. • Pachetul este transformat (3) si transmis la B (4).

  20. Procesare IPsec Nivel aplicatie IKE (1) Nivel sistem operare (2) Mesaj SPD SAD SA (4) Transformare mesaj (3) Masina B Masina A

  21. Flux protocol IKE IKE faza 1 (main sau aggressive) Initiator Responder IKE SA IKE SA IKE faza 2 Quick mode IPsec SA1 IPsec SA1 IKE faza 2 Quick mode IPsec SA2 IPsec SA2

  22. Explicatii IKE protocol Faza 1: • Permite celor doua entitati sa creeze IKE SA • IKE SA defineste cheile si politicile utilizate pentru stabilirea procesarii datelor numita si IPspec SA • Poate opera in 2 moduri: • Main mode – sase mesaje care asigura protectia identitatii, adica initiatorul nu este expus unui atacator care ataca activ sistemul • Aggressive mode – trei mesaje, mai simplu dar mai putin sigur • In ambele moduri acelasi rezultat – IKE SA Faza 2 numita si quick mode; • Utilizeaza IKE SA stabilit anterior pentru a crea un IPsec SA • Opereaza cu trei mesaje: cerere, raspuns la cerere si confirmarea raspunsului • Pentru simplitate cheile si configuratia utilizata pentru definire IPsec SA sunt generate din valorile schimbate intre parti • Daca se doreste partile pot angaja alt schimb Diffie-Hellman • Un singur IKE SA poate fi utilizat pentru a defini mai multe IPsec SA simultan.

  23. Schimbul de chei Deffie-Hellman Informatia care se schimba intre doua entitati (Initiator si Responder) are asociat un SPI aleator pentru a distinge diferitele sesiuni IKE. Schimbul de mesaje este uzual Deffie-Hellman. • O modalitate prin care doua parti cad de acord sa comunice prin mesaje secrete fara sa fie nevoie de de o terta parte, de un schimb off-line sau de transmiterea vreunei valori secrete între ele • Varianta realizata de Diffie şi Hellman mai este numita si sistemul distributiei cheilor publice sau al schimburilor de chei publice • Metoda Diffie-Hellman se bazeaza pe conceptul perechii de cheie publica – cheie privata • Fiecare parte generează independent cate o cheie privata • Fiecare calculeaza o cheie publica, facand operatii matematice asupra cheilor private respective • Se face schimbul de chei publice • Fiecare participant calculeaza o funcţie cu cheia privata si cheia publica de la partener. Rezultatul este acelasi si va fi utilizat ca cheie de criptare a mesajului.

  24. Faza 1: Utilizand pre-shared key authentication Initiator Responder Header, SA Header, SA Header, KE, Nonce Header, KE, Nonce Header, IDi, Hash Header, IDi, Hash In acest mod se schimba sase mesaje si exista o multime de versiuni ale acestei faze. SA=Security Association, KE=Key Exchange, Nonce=random number, IDi= identitatea peer-ului (cuprinde adresa, portul si protocolul).

  25. Header, SA Header, SA Header, KE, Ni [,Cert_Req ] Header, KE, Ni [,Cert_Req ] Header, IDi, [Cert,] Signature Header, IDi, [Cert,] Signature In aceasta varianta datele optionale sunt in paranteza. Ca facilitate optionala se poate cere un certificat (Cert_Req) si va fi returnat in Cert. Ni=Nonce i. Faza 1: Utilizand public key exchanges Initiator Responder

  26. Faza 1: Utilizand standard public key exchanges Initiator Responder Header, SA Header, SA Header, KE, {IDi}pub_i, {Ni}pub_r Header, KE, {IDi}pub_r, {Ni}pub_r Header, Hash Header, Hash In aceasta varianta {orice}pub_x inseamna ceva criptat cu cheia publica a lui x, x=i (initiator), x=r (respomder). Ni este nonce.

  27. IKE-negocierea Negocierea • Dupa ce IKE SA a fost agreat, IKE va negocia politica • O astfel de politica presupune stabilirea unor aspecte: se stabileste mereu autentificarea, daca este posibil criptarea si eventual compresia. • Pentru fiecare operatie vor fi utilizati anumiti algoritmi • Transportul de date poate contine propuneri pentru protocoale si algoritmi de transformare • In politica de negociere initiatorul propune acesti algoritmi si responderul elimina din lista ceea ce nu doreste sa utilizeze. • Negocierea compresiei este de asemenea inclusa in IKE deoarece nu este bine sa incercati comprimarea datelor criptate (nu se obtine o comprimare – este aleator) ca urmare un nivel de legatura comprimat ca PPP nu va lucra cu IPsec. O metoda, insa ineficienta, este comprimarea fiecarui pachet IP la nivel IPsec inainte de criptare.

  28. Propuneri pentru SA SA de la initiator poate face o serie de propuneri: • Propunerea 1: AH • Transformarea 1: HMAC-SHA • Transformarea 2: HMAC-MD5 • Propunerea 2: ESP • Transform 1: 3DES cu HMAC-SHA • Transform 2: 3DES cu HMAC-MD5 • Transform 3: DES cu HMAC-SHA • Transform 4: DES cu HMAC-MD5 • Propunerea 3: PCP (compresie inainte de criptare) • Transformarea 1: LZS (algoritm de compresie fara pierderi) • Transformarea 2: Deflate (o combinatie a algoritmului LZ77 si codificare Huffman).

  29. Detaliere IKE faza 1 Faza 1: Aggressive mode • Acest mod este mai simplu decat normal mode deoarece sunt schimbate numai trei mesaje. • Initiatorul ofera o lista de elemente de protectie: valoarea cheii publice Deffie-Hellman, Nonce si propria identitate. • Responder raspunde cu elementele de protectie selectate: cheia sa publica Deffie-Hellman, nonce, propria identitate, datele de autentificare, similare cu o semnatura. • Initiatorul raspunde cu datele de autentificare. • Nu este nevoie de mai mult pentru negociere in acest caz • Metoda merge bine pentru conectarea unui site cu altul indepartat arunci cand se cunoaste apriori tipul de autentificare suportat de site-ul corespondent.

  30. Detaliere IKE faza 2 Faza 2: Quick mode • A doua faza IKE creaza IPsec SA. Deoarece IKE poate fi utilizat pentru alte protocoale decat IPsec cum sunt protocoalele de rutare TIPv2 si OSPF, IKE SA nu este implicit IPsec SA. • IKE SA protejaza in quick mode prin criptarea mesajelor si autentificarea acestora. Autentificarea porneste de la utilizarea PRF (pseudorandom function) ca de exemplu functia hash HMAC (un tip de message authentication code - MAC calculat utilizand un algoritm specific ce combina o functie criptografica hash cu o cheie secreta). • Quick mode creaza chei pentru asociatia IPSec. • In multe cazuri quick mode poate fi facut utilizand aceeasi IKE SA, asadar un ID mesaj (M-ID) este utilizat pentru identificarea IPSec SA. Nonce-urile sunt adaugate pentru a preveni atacatorul sa dea raspuns cu acelasi mesaj.

  31. Atacuri cu exploatarea increderii Scop: • Scopulatacului cu exploatareaincrederiieste de a compromiteo masinasau … minteaumana! • Masina se transformaintr-un vector de atac • Persoanapoatefideterminatasafacalucruripe care in mod normal nu le-ar face Obs: • Atacdeosebit de raspandit, chiarmaimult in forma sociala(peste 50% din atacuriledetectate) • Atacurile social estefoartevechi, dardevine din ce in cemairaspandit Vomacoperiacesteatacuri in cursurileurmatoare!

  32. Exploatareaincrederii – compromiteremasina Scop: • Scopul atacului cu exploatarea increderii este de a compromite o masina considerate de incredere utilizata apoi pentru a lansa atacuri la alte masini din retea. • Atacuri la segmente de retea cu servere DNS, SMTP, HTTP. • Daca o masina este pozitionata in spatele unui firewall, dar este accesibila pentru o masina de incredere din afara, masina protejata va fi atacata prin exploatarea increderii. Obs: • Sistemele din afara zonei protejate nu trebuie sa fie de absoluta incredere pentru cele din interior • Increderea trebuie limitata la protocoale specifice si care trebuie autentificate daca este posibil si de altceva decat prin simple adrese IP

  33. Ilustrarea atac

  34. Atacuri cu redirectare port • Este un atac cu exploatarea increderii care utilizeaza masina compromisa sa faca trafic prin router, trafic care altfel ar fi fost blocat • Prin redirectare se ocolesc regulile setate la firewall prin schimbarea portului sursa normal utilizat in trafic • Poate fi combatut mai intai prin utilizarea unui model de incredere adecvat specific retelei • Un IDS poate ajuta la detectarea atacului si la prevenirea instalarii de programe pe masina

  35. Ilustrarea atac redirectare port

More Related