Atacuri in cadrul retelelor si metode de contracarare
Exista multe tipuri de atacuri in cadrul retelelor, dar exista de asemenea si solutii de securitate care se adreseaza majoritatii tipurilor de atacuri.
Majoritatea atacurilor se pot incadra in 3 mari categorii: atacuri la integritate, atacuri la confidentialitate si atacuri la disponibilitate. Cu toate ca nu
exista solutii care sa fie capabile sa protejezt complet impotriva atacurilor, exista solutii care, implementate corespunzator, pot reduce dramatic
numarul de atacuri reusite si pot sa se ocupe de atacurile care reusesc sa patrunda sau sa evite sistemele de securitate. Aceste sisteme include
dezvoltarea unor politici de securitate, educatia utilizatorilor si solutii software de securitate.
1. Clase de atacuri
Atacurile pot fi impartite in 3 clase separate: atacuri la integritate, atacuri la confidentialitate si atacuti la disponibilitate.
Toate proprietatile unui sistem - confidentialitate, integritate si disponibilitate - sunt inrudite. Confidentialitatea si disponibilitatea depind efectiv de
integritate. Anumite componente ale integritatii sistemului se b 20120w2213u azeaza pe confidentialitate, de exemplu confidentialitatea unei chei criptografice sau a
unei parole. Nu in ultimul rand, atacurile asupra disponibilitatii au rolul de a impune activarea unor procese care pot slabi integritatea sistemului.
A. Integritatea
Au existat multe dezbateri pe tema intelesului integritatii in cadrul comunitatii securitatii informatice, integritatea primind 2 definitii:
1. Integritatea datelor - calitatea, corectidudintea, autenticitatea si acuratetea informatiilor stocate intr-un sistem informatic.
2. Integritatea sistemelor - operarea corecta si cu succes a resurselor informatice.
Luate impreuna, aceste definitii indica faptul ca scopul mentinerii integritatii intr-un sistem informatic este de a preveni ca utilizatorii neautorizati sa
opereze asupra datelor, dar in acelasi timp de a preveni ca utilizatorii autorizati sa opereze necorespunzator asupra acestora.
Fara integritate, confidentialitatea si disponibilitatea unui sistem critic, nu mai exista, deoarece in momentul in care este posibila efectuarea de operatii
necorespunzatoare in cadrul unui sistem informatic, se pot crea usor brese in cadrul celorlalte 2 proprietati.
B. Confidentialitatea
Confidentialitatea in cadrul unui sistem IT inseamna ca informatia este disponibila doar in cadrul circumstantelor care sunt in concordanta cu politicile
de securitate. De exemplu, o institutie financiara ar trebui sa ofere informatii despre un anumit cont doar proprietarului contului respectiv.
Confidentialitatea este critica in multe sisteme, mai ales in cazul in care sistemul contine informatii sensibile, cum ar fi planurile unor viitoare produse
sau informatii despre clienti. In unele cazuri, aceasta confidentialitate este ceruta de lege sau prin contract.
C. Disponibilitatea
Disponibilitatea este proprietatea unui sistem de a fi disponibil doar cererilor ce vin din partea utilizatorilor inregistrati. In contextul securitatii unei
retele, disponibilitatea se refera in general la capacitatea sistemului de a functiona in fata unui atac de tip "negare de servicii". Exista un numar mare
de solutii ce nu sunt legate de securitate ce pot sa asigure un grad mare de disponibilitate.
1.1 Atacurile la integritate
Acestea includ: atacuri la autentificare, furtul sesiunilor, atacuri bazate pe continut, atacuri de protocol, metode de acces neatente, tehnici de
manipulare (social engineering), furnizare de informatii neasteptate, abuz de privilegii, exploatarea relatiilor de incredere, exploatarea usilor de spate
(backdoors).
1.1.1 Atacuri de autentificare
Atacurile asupra sistemelor de autentificare permit in general atacatorului sa se pretinda a fi un anumit user, cu privilegii mai mari decat el.
Atacurile utilizate in cazul unor sisteme de autentificare bazate pe parole:
- Furtul direct al parolelor - denumit si "Shoulder-surfing", furtul unuei parole in acest caz se face prin observarea utilizatorului in momentul in care
introduce parola.
- Ghicirea parolelor
- Dezvaluirea parolelor unor persoane neautorizate - prin intermediul tehinicilor de manipulare sau prin scrierea parolelor pentru memorare.
- Furtul parolelor prin intermediul conexiunilor de retea
Primele 3 tipuri de atacuri pot fi evitate pana la un anumit punct prin educatia utilizatorilor, iar ultimul tip de atac poate fi combatut in general prin
implementarea unor metode de acces encriptate sau prin intermediul sistemelor de autentificare criptografice.
Tipurile de atacuri utilizate asupra sistemelor de autentificare criptografice sunt:
- Determinarea protocolului de implementare sau a unor erori de design
- Dezvaluirea cheilor criptografice
- Atacuri prin reluare - aceasta forma de atac se bazeaza pe repetarea unei transmisiuni valide de date
Aceste probleme pot fi rezolvate printr-un design corect al sistemului de autentificare si prin intermediul managementului politicilor de securitate.
1.1.2 Furtul sesiunii
Prin furtul unei sesiuni, un atacator are posibilitatea de a acapara o conexiune in cadrul careia procesul de autentificare a fost efectuat.
In urma acestei operatii, atacatorul are posibilitatea de a folosi toate privilegiile pe care utilizatorul de drept le-a avut pana in momentul in care
sesiunea a fost furata. Acest tip de atac poate fi prevenit prin intermediul encriptarii sau autentificarii continue.
Exista un alt tip de atacuri inrudite cu furtul sesiunii, si sunt cauzate de sisteme care nu realizeaza momentul in care sesiunea este terminata. De
exemplu, un utilizator se conecteaza la o gazda si apoi se deconecteaza. Atacatorul apoi se conecteaza la randul sau, si deoarece gazda nu
realizeaza faptul ca utilizatorul legitim si-a incheiat sesiunea, atacatorul poate sa exploateze privilegiile utilizatorului respectiv.
1.1.3 Atacurile bazate pe continut
Aceste atacuri pot lua multe form. Unul dintre atacurile de acest tip cel mai des intalnit exte troianul - un program care aparent este o aplicatie legala
dar care defapt contine sectiuni ce au rol de a compromite integritatea sistemului.
De exemplu, atacatorul poate trimite un atasament intr-un e-mail destinat tintei sale, care aparent este un joc distractiv. Sau o pagina web poate
include un troian ActiveX ce copiaza informatii confidentiale din sistemul unui utilizator.
Acest tip de atac poate fi combatut atat prin crearea unor politici legate de aplicatiile pe care utilizatorii le folosesc (browsere, clienti de mail, etc), si
modul in care acestea sunt folosite, cat si prin utilizarea aplicatiilor antivirus.
1.1.4 Atacurile protocoalelor
Aceste atacuri se bazeaza pe slabiciunile sistemelor criptografice. Unele dintre aceste atacuri include pana si cronometrarea operatiilor de encriptare.
Timpul necesar pentru terminarea operatiei de encriptare divulga adesea informatii referitoare la mesaje si la cheile de encriptare, atacuri ce au rolul
de a modifica parti din mesajul encriptat si erori matematice care permit ca o cheie criptografica sa fie derivata algebric, toate acestea pot duce la o
reusita a atacatorului.
Singura metoda de a evita reusita acestor atacuri este o analiza a protocoalelor criptografice de catre experti in domeniu.
1.1.5 Metode de acces neglijente
Firewall-urile sunt valoroase deoarce permit ca multe dintre componentele unei politici de securitate sa fie administrate dintr-o singura locatie. Cu toate
acestea, exista posibilitatea ca anumite aspecte ale securitatii unei organizatii sa fie inconsistente. De exemplu, un administrator de sistem, pentru a
economisi timp, ar putea crea permisiuni pentru anumite protocoale ce nu au fost revizuite pentru a vedea daca corespund politicii de securitate.
Metodele de acces neglijente pot fi identificate prin efectuarea unor revizii ale securitatii. O metoda eficace de prevenire este segmentarea resurselor
intre care nu exista relatii pentru a preveni atacuri din alte zone ale retelei, dar metodele folosite in mod obisnuit pentru a detecta aceste metode de
acces este folosirea unor produse de scanare.
1.1.6 Tehnici de manipulare
Uneori utilizatorii pot fi pacaliti in a dezvalui informatii unor persoane neautorizate. De exemplu, atacatorul suna un angajat, si pretinzand a fi un
membru al echipei IT in cadrul companiei, ii cere parola. Prin intermediul acesteia, atacatorul poate folosi cum doreste privilegiile utilizatorului.
Aceasta problema se rezuma la educatia utilizatorilor, dar si in cazul acesta, aceasta metoda este una dintre cele mai accesibile pentru ca un atacator
sa aiba acces la un sistem de calculatoare. O alta solutie este minimizarea privilegiilor utilizatorilor pentru a reduce efectele unei tehinici de manipulare
efectuata cu succes.
1.1.7 Furnizarea de informatii neasteptate
Unele aplicatii pot fi atacate prin prezentarea unor date de intrare eronate de diverse tipuri. Un atacator foloseste date de intrare pentru a trimite
informatii intr-o forma in care programul nu se asteapta, cauzand astfel ca programul sa se comporte intr-o maniera in care proiectantul nu a
intentionat-o.
Cea mai comuna forma a acestui tip de atac este inundarea zonei tampon. Atacatorul inunda programul cu mai multe caractere decat poate el citi,
ascunzand astfel portiuni rau intentionate in zona de date necitita de program.
Aceste tipuri de atacuri pot fi diminuate prin:
- efectuarea unei analize atente pentru a crea siguranta ca toate programele verifica existenta metacaracterelor, conditiile de limita si integritatea si
corectitudinea datelor de intrare.
- utilizarea unor sisteme de detectare a intruziunilor
1.1.8 Abuzul de privilegii
Din pacate, nu toti utilizatorii care au primit privilegii de acces in cadrul unui sistem pot fi de incredere. Un studiu relateaza ca 80% dintre atacuri vin
din interiorul organizatiei. Acestia pot fi motivati de castiguri personale sau pot fi doar angajati nemultumiti.
Atacurile prin abuzul de privilegii pot fi reduse in mai multe moduri:
- Acordarea utilizatorilor privilegii minimale necesare efectuarii indatoririlor zilnice.
- Distribuirea responsabilitatilor mari intre mai multi angajati.
Din nefericire, majoritatea sistemelor de protectie por fi inutile daca mai multi indivizi din cadrul organizatiei coopereaza pentru a invinge masurile de
securitate.
1.1.9 Exploatarea relatiilor de incredere
Computerele adeseori au incredere unul intr-altul intr-un mod implicit sau explicit. De exemplu, un computer poate sa aiba incredere intr-un server
DNS pentru a afla sursa unei anumite conexiuni. Totusi, daca serverul DNS este compromis, informatia despre conexiunea ar putea fi eronata.
Atacatorii exploateaza relatiile de incredere pentru a trece dintr-un sistem intr-altul.
Cheia pentru a crea in mod corect relatii de incredere este realizarea faptului ca intregul arbore de relatii de incredere se poate prabusi la veriga cea
mai slaba, deci trebuiesc evitate relatiile de incredere ce nu sunt necesare in infrastructura unei retele.
Securitatea la nivel de perimetre poate fi o unealta capabila pentru a restrange suprafata afectata de atacuri reusite. Perimetrele de retea multiple pot
de asemenea sa diminueze exploatarea relatiilor de incredere deoarece, chiara daca anumite componente sunt compromise, informatiile si resursele
importante sunt protejate.
1.1.10 Usile de spate (Backdoors)
Acestea sunt uneori introduse intentionat in aplicatiile software comerciale, sau introduse de programatori sau angajatii prin contract. De fapt, aceste
backdoors sunt folosite de contractori ca si o asigurare impotriva companiilor care nu obisnuiesc tina cont de termenele de plata. Pentru a facilita
accesul ulterior, atacatorii pot lasa aceste backdoors dupa ce au atacat cu succes un anumit sistem. Din acest motiv, dupa ce un sistem si-a pierdut
integritatea, este adeseori foarte dificil sa fie restabilita.
1.2 Atacuri la confidentialitate
1.2.1 Divulgare neglijenta
Divulgarea neglijenta are loc in momentul in care informatia este facuta disponibila accidental atacatorului. De exemplu, planurile unui produs pot fi
mentionate accidental intr-un e-mail care a trecut prin Internet, si astfel un atacator il poate intercepta.
Aceasta metoda de atac poate fi prevenita prin imbunatatirea politicilor de confidentialitate si educarea utilizatorilor in concordanta cu aceste politici.
Pe langa aceasta, mai pot fi folosite si programe cu rolul de a inspecta continutul, si acestea de asemnea putand fi de ajutor.
1.2.2 Interceptia informatiei
Informatia poate fi interceptata atunci cand trece printr-un mediu nesigur. De exemplu, atacatorii pot intercepta informatii, cum ar fi e-mail-urile, atunci
cand acestea trec prin Internet. Solutiile care pot ajuta impotriva acestei metode de atac sunt Retelele Private Virtuale (VPN) si utilizarea unor
protocoale ce folosesc encriptarea.
1.2.3 Monitorizarea Van-Eck
Monitorizarea Van-Eck este procesul de monitorizare de la distanta a emanatiilor electromagnetice ale echipamentelor electronice. Anumite
receptoare radio sensibile pot fi folosite de la distanta pentru a reconstrui tastele care sunt apasate sau continutul unui ecran.
Ca si solutii de contracarare exista scuturile Faraday care consta intr-o retea de fire paralele conectate la un conductor la un capat pentru a obtine un
scut electrostatic fara a afecta undele electromagnetice, dar si precautii de Securitatea Comunicatiilor (COMSEC). Aceste solutii insa, sunt foarte
dificile si costisitoare pentru a fi implementate.
Covert Channels
Covert channels are present on any system that shares resources among multiple users according to a nondeterministic
method. Covert channels allow a user to deduce the types of tasks other users are performing
or the contents of data sets, based on how a system changes behavior. For instance, a system may perform
more slowly because a product build process is under way. The presence of the build process may indicate
that a product release is imminent. Far more elaborate covert channels exist which cause actual bits of
information to be leaked.
1.2.4 Canale ascunse
Canalele ascunse sun prezente in orice sistem care permite accesul mai mult utilizatori la resurse utilizand o metoda nedeterminista. Aceste canale
permit unui utilizator sa deduca ce fel de sarcini efectueaza alti utilizatori sau sa deduca continutul unui set de date., bazandu-se pe modul in care un
sistem isi schimba comportamentul. De exemplu, un sistem ar putea sa efectueze operatii mult mai lent deoarece un porces de testare a unei aplicatii
este in curs de desfasurare. Prezenta procesului de testare poate indica faptul ca punere pe piata a unei aplicatii este iminenta. Exista canale ascunse
mult mai elaborate care pot cauza chiar si scurgeri de informatii.
1.2.5 Acumularea informatiilor
Acumularea de informatii si corelarea acestora pot sa ii permita unui atacator sa deduca informatii secrete din informatii publice. De exemplu, un
atacator poate poate sa se uite la totalul costurilor unui departament inainte si dupa angajarea unuei noi persoane, pentru a determina salariul
angajatului.
1.3 Atacuri la disponibilitate
1.3.1 Interferente/Bruiaje
Interferentele si bruiajele pot lua multe forme. Poate una dintre cele mai des intalnite este implementarea radio, care impiedica ca un semnal mai slab
sa fie receptionat prin transmiterea unuia mai puternic. Un alt exemplu sunt atacurile prin inundare, care cauzeaza ca numarul de procese pe care un
sistem trebuie sa le efectueze sa fie mai multe decat numarul maxim de procese pe care acesta poate efectiv sa le efectueze. Un exemplu al unui
astfel de atac este un ping flood. Un ping ICMP (Protocol Internet pentru Mesaje de Control) este un mesaj vreat special pentru a determina rapid
daca un computer aflat la distanta este pornit si functioneaza corect. Cand o gazda primeste un ping, automat trimite un raspuns. Cu un ping flood,
atacatorul trimite ping-uri catre o gazda cu o viteza de transfer mai mare decat conexiunea gazdei respective la Internet. Acest fapt cauzeaza ca viteza
de trafic sa fie micsorata.
Succesul acestor tipuri de atacuri poate fi diminuat prin introducerea unor filtre de admisie, de detectie sau adaugarea de capacitate aditionala.
1.3.2 Supresia jurnalizarii
Acest tip de atac este un tip special de interferenta si este folosit adesea impreuna cu alte tipuri de atacuri. Acest atac poate sa impiedice jurnalizarea
datelor referitoare la atacuri sau le poate integra intr-un volum foarte mare de informatii pentru a face practic imposibila gasirea lor. Pentru combaterea
acestui tip de atac trebuiesc efectuate analize statistice si implementarea de canale de administrare private.
1.3.3 Furnizarea de informatii neasteptate
Uneori, furnizarea de informatii neasteptate unui computer poate cauza ca acesta sa se comporte necorespunzator sau sa se blocheze. Un exemplu
concret este atacul de ocupare de banda (out-of-band) in sistemele Windows. Cand un atacator utiliza o particularitate a protocolului TCP numita "Out
of Band Data", sistemul Windows afisa automat un ecran albastru iar functionalitatea retelei era oprita.
2. Componente de securitate
Componentele de securitate luate individual nu vor garanta securitatea retelei impotriva tuturor tipurilor de atacuri, dar o combinatie de componente va
reduce semnificativ posibilitatea ca un atacator sa reuseasca un atac asupra retelei.
2.1 Firewall-uri
Firewall-urile au rolul de a intari politica de securitate in cadrul unei retele. Modul in care acestea functioneaza a evoluat de-alungul timpului. Filtrele
de pachete au fost printre primele ustensile folosite pentru a asigura securitatea pe internet. Ele permiteau ca reguli relativ simple sa fie setate pe
routere pentru a permite sau respinge anumite protocoale conform politicilor de securitate. Acest tip de firewall este relativ simplu si usor de
implementat, si de obicei nu necesita echipamente aditionale.
Urmatoarea generatie de firewall-uri au fost firewall-urile proxy . Acestea actionau ca si intermediari intre 2 parti ale unei conexiuni de retea. Proxi-urile
pot sa inspecteze fluxul diverselor protocoalelor pentru a gasi anormalitati. Un firewall proxy bine facut poate sa detecteze multe tipuri de atacuri pe
care filtrele de pachete nu le pot, si astfel ofera un nivel de protectie mai ridicat. Cu toate acestea, ele sunt vulnerabile la atacurile la nivel de protocol.
Pentru a imbunatati rata de informatie pe care firewall-urile o poate procesa, a fost introdusa inspectarea de situatie. Un astfel de firewall actioneaza
ca un filtru de pachete inteligent. Firewall-ul reconstruieste fluxul protocolului si incearca sa tina o situate cu ceea ce se intampla in sesiuni. Acestea
sunt relativ rapide si pot determina multe tipuri de atacuri la nivel de protocol. Totusi, sunt mai incete decat filtrele de pachete si mai putin sigure decat
firewall-urile proxy.
2.2 Sistemele de detectie a intruziunilor
Urmatorul pas in evolutia securitatii computerelor, dupa firewall, a fost introducerea sistemelor detectoare de intruziuni, care incearca sa adune
informatii despre atacuri in mai multe moduri.
Sistemele de detectie la nivel de gazda ruleaza pe un singur calculator, si examineaza diferite aspecte ale comportamentului calculatorului respectiv in
incercarea de a gasi atacurile.
Sistemele de detectie la nivel de retea asculta informatiile ce se transmit prin retea pentru a intercepta posibile atacuri. Desi aceasta metoda este
buna, ea nu poate sa detecteze atacuri ascunse sau encriptate. Aceste sisteme necesita cate o gazda pentru fiecare subretea.
Sistemele de detectie a intruziunilor bazate pe statistici cauta comportamente neobisnuite sau modificari de la utilizarea normala, de exemplu un
utilizator care de obicei editeaza text si dintr-o data compileaza un program, sau o gazda care dintr-o data trimite o cantitate mare de date. Principalul
deficit al acestor sisteme este numarul mare de alarme false, deoarece un comportament neobisnuit nu inseamna neparat un atac.
Majoritatea sistemelor de detectie se bazeaza pe cautarea de evidente clare a unui atac. Din pacate, pentru ca aceste sisteme pot sa verifice doar
atacurile cunoscute in momentul in care aplicatia de detectie este scrisa, baza lor de date trebuie sa fie actualizata frecvent pentru a putea detecta
atacuri noi aparute.
2.3 Instrumente pentru verificarea integritatii
Acestea sunt create pentru a examina un computer si a determina daca informatia continuta a fost modificata. Acestea sunt utile pentru a detecta
atacuri care altfel ar trece neobservate. Din nefericire, majoritatea acestor instrumente trebuiesc rulate cand sistemul este intr-o stare "curata" pentru a
putea stabili cu acuratete daca au existat modificari in date sau nu. Totodata, daca un astfel de instrument este rulat pe o masina care a fost deja tinta
unui atac reusit, atunci intstrumentul considera ca datele curente - chiar daca ele contin bacckdors sau troieni - ca fiind datele cu care va trebui sa
compare datele in continuare.
2.4 Scanerele
Acestea examineaza reteaua pentru a gasi vulnerabilitati. Exista si scanere care verifica modemuri din cadrul unei retele, precum si scanere care
scaneaza bazele de date pentru vulnerabilitati.
2.5 Analizoare de configuratie
Acestea examineaza o gazda si cauta configuratii care de obicei sunt eronate si care pot cauza vulnerabilitati.
2.6 Instrumente pentru analizarea continutului
Aceste instrumente deservesc mai multe scopuri. De exemplu, un antivirus verifica atasamentele din e-mail-uri pentru a gasi posibili virusi, troieni. Alte
tipuri de stfel de instrumente intaresc politicile referitoare la site-urile pe care un utilizator le poate accesa. Nu in ultimul rand, exista produse care
incearca sa impiedice expunerea unor informatii confidentiale scanand cuvinte cheie din mesajele trimise prin e-mail.
Autentificarea si controlul accesului
Exista o mare varietate de produse de autentificare care rezolva problema din diverse puncte de vedere. Acestea includ:
- date biometrice - scanari ale amprentelor si retinei, recunoasterea fizionomiei sau vocii
- simboluri (tokens) - sisteme cu parole utilizabile doar o data
- chei de acces - sub forma de carduri sau chei USB care contin chei gata encriptate.
2.7 Retele virtuale private
Retelele virtuale private (VPN) sunt solutii care permit companiilor sa construiasca retele private pe baza retelelor publice, cum ar fi internetul. Aceste
retele sunt constituite in general dintr-un algoritm de autentificare pentru a asigura integritatea datelor ce trec prin zona publica a retelei, si un algoritm
de encriptare pentru a asigura confidentialitatea. Exista atat dispozitive hardware cat si solutii software, cu toate ca dispozitivele hardware sunt mult
mai rapide.
3. Concluzie
Ca si concluzie, nici o retea nu este complet protejata de atacuri, dar implementand un set de masuri de securitate corespunzatoare, riscurile
securitatii pot fi reduse semnificativ. Cu toate acestea, putine sunt solutiile de securitate care nu trebuiesc intretinute. Reteaua trebuie sa fie testata
constant pentru posibile slabiciuni, politicile de securitate trebuiesc revizuite constant pentru a asigura ca ele indeplinesc necesitatile retelei, utilizatorii
trebuie educati continuu in legatura cu problemele si politicile secutiratii retelei.
|