Securitatea în reţele de calculatoare - PaginaPrincipalaweb.info.uvt.ro/~cristiana.dragoescu/ANUl II/Curs12_13_RC.pdf · 3 Atacurile asupra unei reţele de calculatoare pot fi clasificate

  • Upload
    buidan

  • View
    238

  • Download
    2

Embed Size (px)

Citation preview

  • 1

    Securitatea n reele de calculatoare Implementarea securitii ntr-o reea de calculatoare cuprinde trei aspecte importante: confidenialitatea, integritatea i disponibilitatea.

    Confidenialitatea reprezint calitatea unei reele de a asigura accesul la informaie doar persoanelor autorizate.

    Integritatea garanteaz faptul c informaia nu a fost modificat de persoane neautorizate.

    Disponibilitatea poate fi definit ca timpul n care reeaua de calculatoare i resursele din cadrul ei sunt operaionale.

    Pentru fiecare din aceste aspecte ale securitii reelelor de calculatoare exist atacuri, astfel nct securizarea unei reele de calculatoare trebuie s implementeze fiecare din aceste aspecte.

    Probleme:

    identificarea, autorizarea i monitorizarea activitii utilizatorilor

    securizarea perimetrului reelei asigurarea confidenialitii i integritii datelor monitorizarea reelei managementul echipamentelor i infrastructurii de securitate.

    - soluii : firewall-uri, VPN-uri, sisteme de detecie a intruziunilor, etc.

    - definirea unei politici de securitate

  • 2

    - O politic de securitate este ``o definire formal a regulilor dup care persoanele care au acces la bunurile tehnologice i informatice ale organizaiei trebuie s le respecte''. o o politic de securitate specific ce, cine i n ce

    condiii se pot accesa anumite resurse ale organizaiei o politica de securitate trebuie implementat pentru a ne

    asigura c este respectat.

    Tipuri de atacuri i vulnerabiliti

    Exist dou cauze majore ce pot constitui ameninri pentru o reea de calculatoare, chiar dup ce a fost implementat o politic de securitate corect:

    1. vulnerabiliti (probleme cauzate de tehnologie) i 2. configurare necorespunztoare.

    Vulnerabilitile sunt probleme ale sistemelor de operare, protocoalelor TCP/IP, dispozitivelor de reea prin care un atacator poate accesa reeaua fr a respecta politica de securitate implementat.

    Chiar dac vulnerabilitile sunt problemele cele mai grave i mai greu de controlat, trebuie ns notat c cele mai multe probleme apar datorit configurrii incorecte sau definirii unei politici de securitate necorespunztoare.

  • 3

    Atacurile asupra unei reele de calculatoare pot fi clasificate n :

    1. atacuri interne sau externe i 2. atacuri structurate sau nestructurate.

    Atacurile externe sunt efectuate din afara organizaiei (din punctul de vedere al reelei). Atacurile interne sunt efectuate din reeaua organizaiei.

    Atacurile nestructurate sunt atacurile care sunt iniiate de indivizi neexperimentai ce utilizeaz exploit-uri disponibile pe Internet. Exploit-urile sunt programe ce exploateaz vulnerabilitile pentru a ocoli politica de securitate implementat ntr-o reea.

    Atacurile structurate sunt iniiate de indivizi mult mai bine motivai i cu cunotine tehnice competente. Aceti indivizi cunosc vulnerabiliti de sistem i le pot folosi pentru a cpta acces n reea, pot detecta noi vulnerabiliti de sistem i pot dezvolta cod i scripturi pentru a le exploata.

    Un atac trece n general prin trei faze:

    1. faza de recunoatere,

    2. faza de obinere a accesului - format din dou etape: una n care atacatorul obine acces n cadrul reelei pe una din mainile din reea prin exploit-uri de la distan i faza n care, dac este cazul, obine acces privilegiat pe maina respectiv cu ajutorul unor exploit-uri locale.

    3. faza n care sistemele compromise sunt folosite pentru a ataca alte reele. (eventual)

  • 4

    1. Recunoaterea

    - definete procesul prin care un atacator descoper maparea sistemelor, a serviciilor i vulnerabilitilor n reea. n aceast faz atacatorul strnge informaii i, de cele mai multe ori, aceast faz precede un atac efectiv.

    ntr-o prim faz atacatorul folosete utilitare precum nslookup sau whois pentru a descoperi spaiul de adrese alocate organizaiei int. Apoi face un ping sweep ncercnd s determine care din adresele de IP sunt alocate i care din sisteme sunt pornite. Se folosete apoi un port scanner pentru a determina ce servicii sunt active. Acest utilitar funcioneaz pe principiul c fiecare serviciu (web, ftp, etc) are alocat un port. Utilitarul trimite pachete SYN ctre maina atacat pe portul corespunztor serviciului care se ncearc a fi detectat. Dac maina atacat ruleaz serviciul, sistemul de operare va trimite un pachet de tipul SYN, ACK pentru a ncepe negocierea unui canal de comunicaie. Acest utilitar poate de asemenea s detecteze i tipul sistemului de operare, cel mai adesea datorit modului n care unele din sistemele de operare genereaz numere de secven pentru pachetele TCP. Dup determinarea serviciilor i sistemului de operare, atacatorul ncearc s obin versiunea sistemului de operare i versiunile serviciilor rulate. Acest lucru se poate face prin conectarea cu utilitare de gen telnet pe portul serviciului respectiv i examinarea mesajele afiate. Pe baza acestor informaii atacatorul poate determina ce vulnerabiliti exist i ce sisteme poate ataca.

    O alt modalitatea de recunoatere a resurselor o reprezint aa numitul proces de packet sniffing. El este folosit mai ales n reelele n care mesajele ajung la toat lumea conectat la mediu, ca n cazul Ethernet atunci cnd se folosete un hub. Datorit acestui lucru, tot traficul dintr-o astfel de reea poate fi analizat. n mod normal, placa de reea nu va prelua din mediu dect pachetele destinate staiei respective sau pachetele de broadcast (la nivel 2). Dac exist privilegii suficiente, se poate configura placa de reea astfel nct s preia toate pachetele ce circul pe mediu, prin setarea acesteia n promiscuous mode. Pachetele astfel captate pot fi procesate cu diverse utilitare i pe baza lor se pot mapa adrese, versiuni de sisteme de operare sau servicii. Mai mult, folosind utilitare de packet sniffing se pot recepiona chiar i date importante care ar trebui sa aib un caracter privat, cum ar fi parole, numere de cri de credit, informaii confideniale, etc. O fals soluie pentru a preveni problemele ce apar atunci cnd se folosesc utilitare de packet sniffing este s se foloseasc un switch ca metod de interconectare n loc de un hub. Dei reduce probabilitatea ca un atacator s poat intercepta pachetele, nu este o metod sigur. Sunt cunoscute metode prin care un switch poate fi pclit s trimit pachete i ctre alte porturi (i implicit calculatoare), nu doar ctre portul destinaie. Aceste metode poart numele de ARP poisoning.

  • 5

    Metode eficiente de protecie mpotriva unui atac de recunoatere sunt:

    folosirea unui firewall, pentru a bloca ncercrile de recunoatere,

    folosirea doar a unor protocoale sigure care nu trimit datele n clar, ci criptate, sau

    folosirea criptrii pentru protocoalele nesigure prin tunelare.

    2. Obinerea accesului

    Una dintre cele mai sigure metode de obinere a accesului privilegiat este a sparge parola. Acest lucru presupune c atacatorul are deja acces pe o main din reea i dorete acces privilegiat (root, Administrator). Dei un atac ``brute force'' nu are cum s dea rezultate dect pe sistemele la care parolele sunt limitate la 6-7 caractere, exist atacuri care se folosesc de unele particulariti ale parolelor. S-a observat c majoritatea parolelor folosite se ncadreaz n anumite categorii, pentru a putea fi uor inute minte. Din aceast cauz exist utilitare de spart parole bazate pe dicionare (Jack The Ripper).

    Alt metod de exploit-uri de la distan este deturnarea unei conexiuni TCP (TCP session hijack). Ea const n ateptarea ca un utilizator s se logheze pe sistem ce dorete s fie atacat, i apoi n trimiterea de pachete ctre portul pe care ruleaz serviciul, lund locul utilizatorului care s-a autentificat. Aceast metod se folosete dac se pot prezice numerele de secven dintr-un pachet TCP. O variant de deturnare de conexiuni TCP este man in the middle attack. n acest caz, atacatorul trebuie s aib acces la o main pe care trece traficul dintre dou entiti A i B. n acest caz, atacatorul intercepteaz cererea de conexiune de la A la B i rspunde lui A, stabilind cu A o conexiune. Apoi stabilete i cu B o conexiune. Toate datele trimise de A vor fi apoi trimise lui B i

  • 6

    invers. Astfel atacatorul are acces la convorbirea dintre A i B, chiar dac traficul este criptat din punctul de vedere al lui A i B.

    IP spoofing este o metod de atac, dar poate fi folosit i pentru a ascunde identitatea atacatorului sau pentru a lansa atacuri. Prin acest atac, pachetele TCP/IP sunt manipulate, falsificnd adresa surs. n acest mod atacatorul poate cpta acces atribuindu-i o identitate (adresa de IP) care are autorizare s acceseze resursa atacat. Datorit falsificrii adresei surs a pachetului IP, atacatorul nu poate stabili dect o comunicaie unidirecional (presupunnd c nu este prezent n reeaua local a mainii atacate). Acest lucru face protocolul TCP nesusceptibil pentru asemenea atacuri. Exist ns numeroase servicii UDP care pot fi exploatate cu acest tip de atac.

    Viruii pot constitui metode de atac, atunci cnd poart cu ei troieni. Troienii sunt programe simple, care deschid ui de acces pe sistemele infectate de virus.

    O metod diferit fa de cele discutate pn acum o reprezint ingineria social. Ea const n aflarea de informaii eseniale direct de la utilizatori.

  • 7

    3. Denial of Service (DoS)

    faza n care sistemele compromise sunt folosite pentru a ataca alte reele

    Atacurile de tipul denial of service (DoS) opresc sau ncetinesc foarte mult funcionarea unor reele, sisteme sau servicii. Ele sunt cauzate de un atacator care dorete s mpiedice accesul utilizatorilor la resursele atacate. Atacatorul nu are nevoie s fi cptat nainte acces pe calculatorul pe care dorete s efectueze atacul. Exist multe posibiliti prin care un atac DoS se poate manifesta. Efectul ns este acelai: se mpiedic accesul persoanelor autorizate de a folosi serviciile de pe sistem prin utilizarea la maxim a resurselor sistemului de ctre atacator.

    Exemplu de atac DoS local este un program care creeaz procese la infinit. Acest lucru va duce n cele din urm la ncetinirea sistemului, pentru c existnd un numr foarte mare de procese create de atacator, probabilitatea ca acestea s se execute va fi foarte mare, iar procesele celorlali utilizatori nu mai apuc s se execute.

    Un alt tip de atac DoS local posibil este crearea unui numr limitat de procese (pentru c majoritatea sistemelor de operare moderne limiteaz numrul maxim de procese pe care un utilizator le poate crea), care aloc zone de memorie de dimensiuni mari i care acceseaz aceste zone aleator. Ideea acestui atac este de a fora sistemul de operare s lucreze cu swap-ul, ncetinindu-l.

  • 8

    Exist i atacuri DoS de la distan - se bazeaz pe vulnerabiliti ale SO sau aplicaiilor. Un exemplu este atacul cu date out of band, conceput pentru sistemele de operare Windows 95 i NT. Acest atac va determina sistemul de operare s se blocheze sau s se reseteze. Datele out of band sunt date care nu fac parte din fluxul normal de date schimbat ntre doi sockei. Acest tip de date sunt trimise doar n cazuri speciale i au prioritate fa de datele normale. Un exemplu de situaie n care datele out of band sunt folositoare poate fi urmtorul: presupunem c avem o aplicaie client - server ce implementeaz un protocol similar cu telnet. Astfel, ntre client i server se trimit comenzile, respectiv outputul acestora. Pentru a suporta dimensiuni variabile ale ecranului la client, n momentul n care acesta redimensioneaz fereastra se trimite serverului un mesaj out of band n care se specific noile dimensiuni ale ecranului.

    Atacul Ping of Death folosete pachete IP modificate care indic faptul c pachetul are mai multe date dect are de fapt. Acest atac determin blocarea sau resetarea mainii pe sistemele care nu verific acest lucru.

  • 9

    Atacuri DoS distribuite

    Atacurile DoS distribuite sunt astfel concepute nct s satureze lrgimea de band pe legtura ce conecteaz reeaua la Internet cu pachete de date trimise de atacator, astfel nct pachetele legitime nu mai pot fi trimise. Pentru a realiza acest lucru un atacator se folosete, direct sau indirect, de mai multe sisteme .

    Un exemplu de astfel de atac este Smurf. Acesta ncepe prin a trimite un numr mare de mesaje ICMP de tip echo-request (sau ping) ctre adrese de broadcast, spernd c aceste pachete vor fi trimise unui ntreg segment de reea. De asemenea aceste pachete sunt falsificate pentru a avea ca adres surs adresa sistemului int. Dac pachetul trece de dispozitivul de rutare, el va fi recepionat de ctre toate staiile de pe un segment de reea. Acestea vor rspunde cu un pachet de tip echo-reply ctre adresa fals din pachet. Astfel, staiile vor genera trafic ctre adresa specificat de atacator. Acest tip de atac poate fi uor contracarat dac pe ruter se dezactiveaz rutarea pachetelor de broadcast direcionat.

    Un alt tip de atac distribuit se poate realiza cu pachetul de utilitare TFN2K (Tribe Flood Network 2000). Atacul TFN are capacitatea de a genera pachete de IP cu adresa surs falsificat. n prealabil ns, sistemele de pe care se face atacul trebuie s fi fost instalate cu aceste utilitare. Acest lucru se face n primul pas, cnd se atac staiile (denumite drone-uri). Un TFN master poate apoi comanda drone-urile cauznd atacuri DoS distribuite.

  • 10

    Figura : Exemplu de atac Smurf

    Soluii pentru implementarea securitii

    asigurarea securitii perimetrului reelei se face cu un firewall, dispozitiv special de reea.

    Monitorizarea reelei se face cu un IDS (Intrusion Detection System), alt dispozitiv special de reea.

    Pstrarea confidenialitii i integritii datelor ntr-un mediu ostil se face cu tehnologii VPN (Virtual Private Network).

    Pentru identificarea, autorizarea i monitorizarea activitii (accounting) utilizatorilor ntr-un mod centralizat se folosesc protocoale precum RADIUS (Remote Authentication Dial-In User Service) sau TACACS (Terminal Access Controller Access Control System).

  • 11

    1. Firewall-ul

    - firewall-ul este un sistem sau un grup de sisteme care implementeaz politica de acces ntre dou sau mai multe reele.

    - Firewall-urile pot fi clasificate n patru mari clase:

    1. firewall-uri dedicate, 2. firewall-uri de rutere, 3. firewall-uri de server i 4. firewall-uri personale.

    Firewall-urile dedicate sunt maini ce ruleaz un sistem de operare special conceput pentru filtrarea de pachete i translatarea de adrese.

    Firewall-urile de rutere reprezint de fapt software special care ruleaz pe rutere. Ruterul este astfel integrat cu faciliti de firewall.

    Firewall-urile de server sunt implementate, n general, ca un software adiional peste un sistem de operare de reea (Linux, NT, Win2K, Novell, UNIX). Exemple de astfel de pachete software sunt: Netfilter, Microsoft ISA Server, Novell Border Manager. Din cauz c ruleaz software peste un sistem de operare de uz general, aceste tipuri de firewall-uri nu se descurc la fel de bine n situaii de ncrcare mare ca un firewall dedicat.

    Firewall-urile personale sunt instalate pe calculatoarele personale. Ele sunt concepute pentru a preveni atacuri doar asupra calculatorului pe care ruleaz. Este important de reinut c aceste tipuri de firewall-uri nu sunt optimizate pentru reele ntregi de calculatoare.

  • 12

    Principalele mecanisme prin care un firewall asigur protecia reelei sunt : filtrarea de pachete i translatarea de adrese.

    Filtrarea de pachete Filtrarea de pachete este procesul prin care firewall-ul las s treac n reeaua local doar anumite pachete, pe baza unor reguli. Filtrarea de pachete este folosit pentru a proteja o reea de atacuri din exterior (Internet) i se realizeaz la nivelurile OSI 3 i 4.

    Regulile de filtrare sunt formate dintr-o parte care identific pachetul i o parte care specific cum s se trateze pachetul.

    n partea de identificare se poate specifica adresa surs, adresa destinaie, adresa de reea surs, adresa de reea destinaie, protocolul (TCP, UDP, ICMP), portul surs sau destinaie (doar pentru TCP sau UDP), tipul mesajului (pentru ICMP), interfaa de intrare sau ieire, adresele de nivel doi, etc.

    Partea de tratare a pachetului specific ce anume trebuie fcut cu pachetele identificate de regul. Pentru filtrare exist n general 3 posibiliti de tratare: acceptare, ignorare sau respingere. n cazul acceptrii pachetul este lsat s treac. n cazul ignorrii pachetului nu este lsat s treac i nu se trimite notificare ctre surs. n cazul respingerii pachetul nu este lsat s treac, dar se trimite notificare ctre surs (un mesaj ICMP al crui tip poate fi, n unele implementri, ales de cel care construiete regula; de cele mai multe ori se folosete un mesaj ICMP de tip port-unreachable).

  • 13

    Translatarea de adrese Translatarea de adrese sau NAT este procesul prin care un ruter modific adresele surs (SNAT) sau destinaie (DNAT) din anumite pachete care trec prin ruter pe baza unor reguli.

    Putem considera c translatarea adreselor este o funcie definit pe o mulime de adrese (A) cu rezultate ntr-o alt mulime de adrese (B). Astfel, fiecare pachet cu o adres surs sau destinaie (dup cum este specificat n regul) din mulimea A va fi nlocuit cu o adres din mulimea B.

    Se spune c avem o translatare de adres static dac mulimile A i B sunt fiecare formate dintr-un singur element. n caz contrar avem o translatare de adrese dinamic.

    Avantajul folosirii translatrii de adrese dinamice const n faptul c se poate folosi o partajare a adreselor rutabile disponibile organizaiei. Astfel, calculatoarelor din reeaua local li se aloc adrese private, iar ruterul va face o translatare de adrese dinamice din mulimea de adrese private n mulimea de adrese publice alocate organizaiei. Se observ ns c aceast abordare permite ca doar Card(B) calculatoare din reeaua local s aib conversaii TCP sau UDP cu Internetul. Alt avantaj al folosirii translatrii de adrese este acela c se ascunde astfel exteriorului maparea real de adrese.

    Translatarea de adrese static se folosete atunci cnd n reeaua local avem un server pe care dorim s l accesm din exterior. n acest caz se face o mapare unu la unu ntre adresa din interior i cea din exterior.

  • 14

    O metod mai avansat de translatare de adrese o reprezint PAT (Port Address Translation), uneori denumit i NAT overloaded. Aceast metod permite un numr de aproximativ 64000 de conversaii simultane de la orice host intern ctre exterior cu o singur adres extern. Implementarea nlocuiete pachetul din reeaua local cu adresa surs S, adresa destinaie D, portul surs P, portul destinaie Q, cu altul nou ce va avea adresa surs M (adresa ruterului), adresa destinaie D, portul sursa K. Portul destinaie nu se schimb. De asemenea se memoreaz asocierea (S,P) - K. Dac un pachet ajunge pe ruter din exterior, avnd adresa destinaie M, adresa surs Q i portul destinaie K, atunci acest pachet va fi nlocuit cu un altul cu adresa destinaie S, adresa surs Q, portul destinaie P i va fi trimis n reeaua local. Portul surs nu se schimb.

    Un caz special al PAT l reprezint redirectarea. n acest caz se va nlocui pachetul primit din reeaua local avnd adresa surs S, adresa destinaie D, portul P cu un altul avnd adresa surs S, adresa destinaie M (adresa ruterului), portul R (portul n care se face redirectarea, specificat de utilizator). Redirectarea este n general folosit pentru a implementa un proxy transparent, caz n care pe ruterul M portul R ascult un proxy configurat pentru proxy transparent.

    Figura : NAT overloaded

  • 15

    Filtrare de pachete i translatare de adrese avansat

    Anumite protocoale, datorit felului n care sunt concepute, pot s nu funcioneze corect atunci cnd clientul i serverul sunt separate de un firewall care filtreaz pachete sau implementeaz PAT. n general, pentru astfel de protocoale clientul i serverul negociaz un port pentru client i apoi serverul iniiaz o conexiune ctre client pe portul negociat. Din aceast cauz, implementarea unui mecanism de filtrare care s permit funcionarea acestui protocol, dar s protejeze staia de atacuri din exterior, se complic extrem de mult. La fel stau lucrurile i pentru PAT.

    Exemplu de astfel de protocoale : FTP.

    Protocolul FTP folosete dou porturi:

    - portul de date (ftp-date) i - portul de comenzi (ftp-comenzi).

    La conectarea la server, clientul iniiaz o conexiune ctre portul ftp-comenzi. n momentul n care clientul dorete transferul unui fiier el va pregti un port pe care va asculta cereri de conexiuni de la server, dup care va trimite pe canalul de comenzi un mesaj n care i se cere serverului fiierul de transferat i n care i trimite serverului portul pe care clientul ascult. Serverul va iniia apoi o conexiune de pe portul ftp-date ctre portul specificat de client. Aceste este modul de funcionare normal pentru protocolul FTP. Clientul poate fi ns configurat s cear de la server un mod de lucru pasiv, n care doar clientul iniiaz conexiuni.

  • 16

    Fie o situaie n care dorim s utilizm filtrarea de pachete pentru a proteja reeua local de atacuri din exterior. Astfel, pe firewall nu vom permite ca staiile din exterior s iniieze conexiuni ctre staiile din interior. Din acest motiv, n momentul n care o staie local va ncerca s transfere un fiier n mod normal de pe un server de FTP, firewall-ul va bloca ncercarea de deschidere a unei conexiuni a serverului ctre client. Cum portul este negociat de client, problema aprut nu se poate rezolva foarte simplu.

    Singura soluie posibil este ca firewall-ul s analizeze toate pachetele schimbate de client i server i s identifice portul negociat. Cu aceast informaie va putea apoi permite stabilirea conexiunii iniiate de server cu clientul. Folosirea unei astfel de abordri este denumit stateful inspection sau connection tracking.

    2 Sisteme de detecie a intruziunilor

    Sistemele de detecie a intruziunilor - Intrusion Detection Systems (IDS) au abilitatea de a detecta atacurile mpotriva unei reele. Aceste sisteme identific, opresc i semnaleaz atacurile asupra resurselor reelei.

    Exist dou tipuri de sisteme de detecie a intruziunilor:

    - pentru staii i - pentru reele.

    Un HIDS (Host based IDS) sau un sistem de detecie a intruziunilor pentru staii nregistreaz att operaiile efectuate, ct i utilizarea resurselor sistemului. Un avantaj al HIDS este faptul c el poate preveni atacuri necunoscute. De exemplu un HIDS poate monitoriza accesul la fiiere i reaciona cnd un atacator ncearc s tearg fiiere critice. Chiar dac tipul atacului este nou i nu poate fi recunoscut de un NIDS (Network based IDS) un HIDS poate sesiza atacul.

  • 17

    Cea mai simpl form de HIDS este pornirea proceselor de logare pe sistem. O astfel de metod se spune c este pasiv. Dezavantajul acestei metode este faptul c necesit multe ore de munc din partea administratorului pentru a analiza logurile. Sistemele HIDS curente folosesc ageni software care sunt instalai pe fiecare main i care monitorizeaz activ sistemul (pot reaciona dac detecteaz atacuri). Atunci cnd HIDS-ul este configurat s rspund activ, el va opri serviciile de reea pentru a preveni eventuale pagube i a putea analiza exact atacul. Un exemplu de sistem de detecie a intruziunilor este Linux Intrusion Detection System (LIDS).

    NIDS-urile sunt dispozitive de inspectare a traficului i acioneaz prin colectarea de date de la senzori amplasai n reea. NIDS-urile capteaz si analizeaz traficul ce traverseaz reeaua. Avantajul folosirii unui NIDS este faptul c nu trebuie aduse modificri pe staii. n schimb, datorit faptului c la baza NIDS-urilor st detecia bazat pe semnturi ale atacurilor, el nu poate opri sau detecta atacuri noi.