Documente Academic
Documente Profesional
Documente Cultură
Proiect de diplom
Prezentat ca cerin parial pentru obinerea titului de
Inginer n domeniul Calculatoare i Tehnologia Informaiei
programul de studii de licena Ingineria Informaiei
Conductor tiinific
Absolvent
Alin-Florentin Oprea
2013
Cuprins
CUPRINS ............................................................................................................................................ 2
1.INTRODUCERE.................................................................................................................................1
2.PRINCIPIILE DETECIEI I PREVENIEI INTRUZIUNILOR ................................................................... 2
2.1 UTILIZAREA TEHNOLOGIILOR IDPS .......................................................................................................2
2.2 FUNCIILE CHEIE ALE TEHNOLOGIILOR IDPS............................................................................................ 3
2.3 METODOLOGII COMUNE DE DETECIE ................................................................................................... 5
2.3.1 DETECIA BAZAT PE SEMNTURI ...........................................................................................................5
2.3.2 DETECTAREA ANOMALIILOR ...................................................................................................................6
2.3.3 ANALIZA PROTOCOALELOR DE TIP STATEFUL ..............................................................................................7
2.4 TIPURI DE TEHNOLOGII IDPS...............................................................................................................8
2.5 INTRUZIUNILE ..................................................................................................................................9
3. TEHNOLOGII IDPS......................................................................................................................... 12
3.1 COMPONENTE I ARHITECTUR ......................................................................................................... 12
3.1.1 COMPONENTE TIPICE ..........................................................................................................................12
3.1.2 ARHITECTURA DE REEA ......................................................................................................................12
3.2 CAPABILITI DE SECURITATE ............................................................................................................ 13
3.2.1 CULEGEREA INFORMAIILOR ................................................................................................................13
3.2.2 CAPABILITI DE LOGARE.....................................................................................................................13
3.2.3 DETECIA..........................................................................................................................................14
3.2.4 PREVENIA........................................................................................................................................16
3.3 MANAGEMENT .............................................................................................................................. 16
3.3.1 IMPLEMENTARE .................................................................................................................................16
3.3.2 OPERARE I MENTENANA ...................................................................................................................18
3.3.3 COMPETENE DE CONSTRUIRE I MENTENAN .......................................................................................20
4. IDPS-URI LA NIVEL REEA............................................................................................................. 22
4.1 STIVA TCP/ IP ............................................................................................................................... 22
4.2 COMPONENTE I ARHITECTUR ......................................................................................................... 26
4.2.1 COMPONENTE TIPICE ..........................................................................................................................26
4.2.2 ARHITECTURA DE REEA I LOCAIILE SENZORILOR ...................................................................................27
4.3 CAPABILITI DE SECURITATE ............................................................................................................ 30
4.3.1 CULEGEREA INFORMAIILOR ................................................................................................................30
4.3.2 CAPABILITI DE LOGARE.....................................................................................................................31
4.3.3 DETECIA..........................................................................................................................................31
4.3.4 PREVENIA........................................................................................................................................35
4.4 MANAGEMENT .............................................................................................................................. 37
4.4.1 IMPLEMENTARE .................................................................................................................................37
5. IDPS-URI LA NIVEL DE HOST ......................................................................................................... 39
5.1 COMPONENTE I ARHITECTUR ......................................................................................................... 39
5.1.1 COMPONENTELE TIPICE .......................................................................................................................39
5.1.2 ARHITECTURA DE REEA .....................................................................................................................40
1.Introducere
n ziua de astzi cu hackerii i hoii de identitate securitatea computerului a
devenit tot mai instabil, astfel pentru a fi mereu cu un pas n faa atacurilor ru
voitoare companiile i nu numai au nceput sa investeasc n programe antivirus de
reea, firewall-uri, securitatea mesajelor provenite din pota electronic i web
pentru protecia asupra posibilelor ameninri externe. Cum prin simpla conectare a
unui stick poate prezenta o teribil ameninare, problema deteciei i prevenirii
intruziunilor a devenit una extrem de important n zilele noastre, problem abordat i
n aceast lucrare.
Scopul principal al lucrrii este acela de a veni in ajutorul staiilor expuse la
risc prin proiectarea unui software ce are rolul de a identifica atacurile ru voitoare
asupra reelelor i resurselor acesteia, de a stopa intruziunile detectate i de a imuniza
sistemul. Informaiile provenite in urma deteciei se vor comunica staiei centrale mai
precis adminului printr-o anumita notificare, pentru a putea lua decizia optim ct mai
repede cu putin cu privire la starea reelei.
Pe parcursul lucrrii se va folosi acest termen pentru a abrevia expresia consacrat din domeniu
Intrusion detection and prevention system
2
Dac IDPS a prevenit cu succes atacul, administratorii de securitate tot doresc s fie notificai
de atac.Este important de tiut dac inta a avut o vulnerabilitate cunoscut pe care atacatorul ar fi putut s o
exploateze.Asupra respectivei vulnerabiliti pot fi lansate alte atacuri pe care IDPS nu le poate recunoate.
reducerea unuia duce la apariia celuilalt. Multe organizaii aleg s scad apariiile de falsuri
negative, cu costul creteri falsurilor pozitive, fapt ce duce la detecia mai multor evenimente
periculoase, fcndu-se uz de mai multe resurse de analiz pentru a se face diferena ntre
evenimentele fals pozitive i cele malware. Modificarea configuraiei unui IDPS pentru a
mbunti precizia de detectare este cunoscut sub numele de tuning.
Cele mai multe tehnologii IDPS ofer funcionaliti ce combat utilizarea tehnicile
comune de evaziune.Evaziunea reprezint modificarea formatului activitilor malware, astfel
nct nfiarea acestora se schimb, dar efectul rmne acelai. Atacatorii folosesc tehnici
de evaziune pentru a ncerca s previn detecia atacurilor realizat de IDPS-uri.De exemplu,
un atacator ar putea codifica caractere text ntr-un anume mod, tiind c inta tie s
interpreteze caracterele codificate, n sperana c orice IDPS de monitorizare nu o face. Cele
mai multe tehnologii IDPS pot depi tehnicile comune de evaziune prin duplicarea unor
procesri speciale efectuate de ctre inte.n cazul n care IDPS-ul poate "vedea" activitatea n
acelai mod n care o face inta, atunci tehnicile de evaziune vor fi ineficiente n ncercarea de
a ascunde atacurile.
Se poate spune c este cea mai simpl metod de detectare, deoarece compar doar
unitatea curent de activitate, cum ar fi un pachet sau o intrare din loguri, cu o list de
semnturi utiliznd operatorii de comparare a irurilor de caractere. Tehnologiile de detectare
bazate pe semnturi nu au capacitatea de a ntelege reelele sau protocoale de tip aplicaie i
nu pot urmri i nelege starea comunicaiilor complexe. De exemplu, acestea nu pot asocia o
cerere cu rspunsul corespunztor. Le lipsete capacitatea de a-i aminti cererilor anterioare la
procesarea celei actuale. Aceast limitare mpiedic detectare atacurilor formate din mai
multe evenimente, n cazul n care nici unul din evenimentele nu conine o indicaie clar a
unui atac.
2.5 Intruziunile
Intruziunile sunt unele dintre cele mai mari ameninri la adresa retelelor de
calculatoare i a sistemelor de calcul. Acestea exploateaz slbiciuni ale software-ului sau ale
configuratiei sistemului pentru a-l deteriora. Printre acetia regsim: viruii propriu-zii, virui
de macro i de email, cai troieni i viermi.
De numele acestor tipuri de ameninri se leag principalele unelte folosite de
persoanele ru intenionate n demersul lor de a obine date sensibile care pot fi valorificate n
vreun fel.
Viruii sunt programe cod executabil numit uneori malware care se insereaz n alt
program executabil. Astfel, virusul se propag atunci cnd este executat programul infectat.
Virusul este pasiv deoarece are nevoie ca un utilizator sau un alt program s-l lanseze i s
execute programul infectat. nainte de acest eveniment, virusul rmne n stare adormit. La
activare codul este plasat n memoria central a calculatorului i i ncepe execuia exact ca
orice alt program.
De obicei, atunci cnd este activat, virusul i insereaz copii ale sale n cele mai
comune executabile pe care le poate gsi pe discul rigid al calculatorului victim, proces
numit auto-replicare. Programele infectate se rspndesc de obicei de la un calculator la altul
prin copii pe medii de stocare sau prin descrcarea de pe Internet.
Cel mai adesea utilizatorii schimb ntre ei documente, nu programe. Acestea pot fi
inta virusilor de macro i de e-mail. Macrodefiniiile executate de aplicaii cum sunt
Microsoft Word, Excel sau Outlook pot fi i ele infectate de virui. La deschiderea unui
document infectat virusul se execut n background, fr ca utilizatorul s observe.
n mod asemntor, exist virui care se pot ataa la e-mail. De ndat ce destinatarul
deschide coninutul unui mesaj infectat, virusul este executat. De cele mai multe ori, ncep s
trimit email-uri care conin copii ale lor fiecrui contact gsit n cartea de contacte a victimei.
Viruii de email pot cauza pagube mari infrastructurii de email a Internet prin traficul
enorm pe care l genereaz ca urmare a replicrii multiple. n unele cazuri au provocat cderea
serverelor de email care nu au rezistat volumului imens de trafic.
Caii troieni constituie un tip aparte de malware care deschide pori n sisteme pentru
intrui. Termenul de cal troian este utilizat pentru a descrie software care permite atacatorilor
aflai la distan s ia controlul sistemului de calcul, s descarce fiiere, s instaleze aplicaii,
s modifice fiiere i chiar s opreasc de tot sistemul.
Caii troieni sunt programe instalate fr cunotina ncrcturii ostile de ctre
utilizatori n urma unei infectri a unui fiier sau a unei aplicaii descrcate de pe Internet.
Unul dintre cei mai faimoi cai troieni, Back Orifice, este att de puternic nct a ajuns s fie
considerat program de gestiune de la distana a sistemelor de calcul.
Viermii se pot replica fr intervenia utilizatorului. n timp ce viruii sunt pasivi i au
nevoie de intervenia utilizatorului pentru a se rula, viermii sunt activi. Din cauza faptului c
nu au nevoie de intervenia utilizatorului i se pot replica i activa autonom, ei sunt mult mai
periculoi. Acetia sunt programe care folosesc erorile de programare (bug-uri) ale resurselor
din reea pentru a se replica. Ei se pot inocula n sistemele de calcul datorit erorilor din
server, loc n care ncep s scaneze reeaua n cutarea altor calculatoare pe care s le
infecteze. Proliferarea unui vierme este uimitoare. De exemplu, Code Red a avut nevoie de 15
minute pentru a infecta mii de calculatoare i a atacat chiar site-ul oficial al Casei Albe a
SUA. Pe lng cutarea altor calculatoare pe care s le infecteze, viermii pot cauza pagube
prin atacarea reelei i a componentelor sale. Un sondaj la nivel naional n SUA, sponsorizat
de ctre CA Incorporated i de National Cyber Security Alliance (NCSA) a artat c 83%
dintre adulii care se implic n legturi sociale prin reele de calculatoare au descrcat fiiere
necunoscute, care le puteau expune PC-urile la atacuri.
Spyware-ul poate fi definit ca orice software care folosete conexiunea la Internet a
unui utilizator n fundal. Termenul de spyware este, n majoritatea cazurilor, sinonim cu
adware, i poate fi un program de genul cailor troieni. Programele spyware pot colecta date
sensibile (cum sunt: versiunea de sistem de operare rulat, tipul de rsfoitor de Web, dac
limbajul de scenarii poate fi executat, dimensiunea ecranului, plug-in-urile disponibile,
informaii de DNS din domeniu, pot trasa ruta spre surs pentru a stabili unde se afl
calculatorul int pe reea) pe dou ci: prin cookies i instalndu-se i apoi executndu-se.
Programele care prezint risc, n legtur cu codul ostil sunt numite generic riskware i
constituie orice program legal care poate fi folosit de atacatori pentru a penetra calculatoarele.
Un rootkit poate fi considerat ca un cal troian introdus ntr-un sistem de operare.
10
11
3. Tehnologii IDPS
3.1 Componente i arhitectur
3.1.1 Componente tipice
Componentele tipice ale unei soluii IDPS sunt:
Senzor sau agent. Senzorii i agenii monitorizeaz i analizeaz activitatea de
reea.Termenul senzor este folosit de obicei pentru IDPS-urile care monitorizeaz
reelele, incluzndu-le pe cele la nivel de reea, fr fir, i cele bazate pe tehnologii de
analiz a comportamentului de reea. Termenul agent este de obicei folosit pentru
tehnologii IDPS la nivel de host.
Server de management. Un server de management este un dispozitiv care
centralizeaz i gestioneaz informaiile primite de la senzori sau ageni. Unele servere
de management analizeaz informaiile furnizate de ctre senzori sau ageni, existnd
astfel posibilitatea de a identifica evenimente pe care senzorii sau agenii nu le pot
detecta. Potrivirea informaiilor de la mai muli senzori sau agenti, pentru gsirea, de
exemplu, a evenimentelor declanate de aceeai adres IP, este cunoscut sub numele
de corelare. Serverele de management sunt disponibile att ca instrumente hardware,
dar ca i produse software. Serverele de management sunt comune celor mai multe
implementri IDPS, existnd posibilitatea unor servere multiple, sau chiar dou nivele
de astfel de servere.
Server de baze de date. Un server de baze de date este un repozitoriu alctuit din
informaii nregistrate de ctre senzori, ageni, i / sau servere de management.
Consol. O consol este un program care ofer o interfa pentru utilizatorii i
administratorii IDPS-ului. Acest software este de obicei instalat pe desktop-uri sau
laptop-uri standard. Unele console sunt utilizate doar pentru administrare(configurare
de senzori sau ageni i aplicarea unor actualizri de software), n timp ce alte console
sunt folosite strict pentru monitorizare i analiz. Unele console ofer att
administrare, ct i monitorizare.
12
cazul fiecrui senzor sau agent nu exist nici un tip de flux de date ntre interfaa de gestionare
i orice alt interfa de reea a sa. Serverele de management, serverele de baze de date i
consolele sunt conectate numai la reeaua de management. Aceast arhitectur izoleaz n
mod eficient toate componentele de reeaua de producie. Beneficiile sunt date de ascunderea
existenei i identitii IDPS-ului fa de atacatori, protejnd astfel sistemul fa de un atac. n
acest fel se asigur c IDPS-ul are o lime de band adecvat pentru a funciona n condiii
nefavorabile (atacuri de tip DDoS asupra reelelor monitorizate). Dezavantajele de a folosi o
reea de management includ costurile suplimentare investite n echipamente de reea i alte
componente hardware (de exemplu, PC-uri pentru console) i inconfortul dat de utilizarea
unor computere separate pentru management i monitorizare.
n cazul n care un IDPS este implementat fr o reea de management separat, un alt
mod de a mbunti securitatea este de a crea o reea de gestionare virtual folosind o reea
virtual local (VLAN) n cadrul reelelor standard. Folosind un VLAN se confer o protecie
suplimentar pentru comunicaiile din cadrul IDPS-ului, dar nu comparabil cu protecia
oferit de o reea de gestiune separat. De exemplu, greelile de configurare a VLAN-ului ar
putea duce la expunerea unor date sensibile. O alt ngrijorare este dat de faptul c, n
condiii adverse, cum ar fi atacurile DDoS sau incidente majore de malware, dispozitivele de
reea partajate de reelele primare ale organizaiei i VLAN-urile ar putea deveni complet
saturate, impactnd negativ asupra disponibilitii i performanei unui IDPS.
13
Log
include
include
include
include
Timestamp
Tipul alertei/
ev enimentului
Rating(
prioritate,
sev eritate
,impact)
include
Detalii (IP,port,
etc)
Actiunea
intreprinsa
3.2.3 Detecia
Tehnologii IDPS ofer de obicei, capabiliti extinse de detecie. Cele mai multe produse
folosesc o combinaie de tehnici, ce susin, n general o detecie mai precis i mai flexibilil
n realizarea configuraiei. Tipurile de evenimente detectate i acurateea deteciei variaz
foarte mult de la o tehnologie la alta. Cele mai multe IDPS-uri au nevoie de tuning i
personalizare pentru a mbunti acurateea, gradul de utilizare, precum i eficiena.
Tehnologiile variaz foarte mult prin direciile de tuning i capabilitile de personalizare. De
obicei, cu ct tuning-ul i capabilitile de personalizare ale unui produs sunt mai viguroase,
cu att mai mult acurateea deteciei poate fi mbuntit fa de cea a configuraiei
implicite.Acest lucru trebuie tratat cu atenie n evaluarea unor astfel de produse.Exemple de
astfel de capaciti sunt cele dup cum urmeaz:
Praguri. Un prag este o valoare ce stabilete limita ntre un comportament normal i
anormal. Pragurile specific, de obicei, un nivel acceptabil maxim, cum ar fi N
ncercri euate de conectare n 60 de secunde, sau N caractere pentru lungimea unui
nume de fiier. Pragurile sunt cel mai adesea utilizate de detecia bazat pe anomalii i
cea bazat pe analiza protocoalelor de tip stateful;
Liste negre/albe. O list neagr este o list de entiti discrete, cum ar fi gazde, adrese
IP, numere de port TCP sau UDP, coduri ICMP, aplicaii, nume de utilizatori, URLuri, nume de fiiere sau extensii de fiiere, care au fost asociate anterior cu activitii
maliioase. Listele negre, cunoscut i sub numele de liste fierbini(hot lists), sunt de
obicei folosite pentru a permite IDPS-urilor s recunoasc i s blocheze activitile
duntoare, i pot fi de asemenea folosite pentru a atribui o prioritate mai mare
alertelor ce au o coresponden n listele negre. Unele IDPS-uri genereaz liste negre
dinamice, folosite pentru a bloca temporar ameninrile recent detectate. O list alb
este o list de entiti discrete, care sunt cunoscute a fi benigne. Listele albe sunt de
obicei utilizate n mod granular, pentru a reduce sau ignora falsurile pozitive ce
14
implic activiti benigne. Listele albe i listele negre sunt cele mai frecvent utilizate
n detecia bazat pe semnturi i analiza protocoalelor stateful;
Setarea alertelor. Se permite administratorilor personalizarea fiecrui tip de alert.
Exemple de aciuni care pot fi efectuate pe un tip de alert includ urmtoarele:
o Oprirea sau pornirea3;
o Setarea unei anume prioriti sau nivel de severitate;
o Specificarea informaiilor ce ar trebui nregistrate i a metodelor de
notificare(ex: email);
o Specificarea aciunilor de preventive ce ar trebui ntreprinse.
Unele produse suprim alertele n cazul n care un atacator genereaz mai
multe alerte ntr-o perioad scurt de timp, i poate, de asemenea, ignora temporar tot
traficul viitor de la atacator. Se realizeaz acest lucru pentru a preveni copleirea cu
alerte a IDPS-ului;
Vizualizare i editare de cod. Unele tehnologii permit administratorilor s vad unele
poriuni sau tot codul ce realizeaz detecia. Acest lucru este de obicei limitat la
semnturi, dar unele tehnologii permit administratorilor vizualizarea unor poriuni
suplimentare, cum ar fi programele ce efectueaz analiza protocoalelor stateful.
Vizualizarea codului i poate ajuta pe analiti n a determina de ce au fost generate
anumite alerte, ajutnd la validarea alertelor i identificarea falsurilor pozitive.
Abilitatea de a edita codul i scrie cod nou (ex: noi semnturi) este necesar pentru o
personalizarea complet n cazul anumitor tipuri de capaciti de detectare. De
exemplu, o anumit alert ar putea fi generat de o serie complex de evenimente care
implic mai multe module de cod; configurarea unui IDPS s neleag organizarea
specific unor caracteristici nu ar putea fii posibil fr a edita codul. Editarea codului
necesit abiliti de programare i de detecie a intruziunilor; se folosesc de cele mai
multe ori limbaje de programare proprietare, ceea ce ar necesita nvarea unor noi
limbaje de ctre programator. Bug-urile introduse n cod n timpul procesului de
personalizare ar putea provoca sistemul s funcioneze incorect sau deloc.Aadar,
administratorii ar trebui s trateze personalizarea codului ca pe orice alt modificare a
codului sistemelor de producie.
Administratorii ar trebui s revizuiasc setrile de tuning i particularizare periodic pentru
a se asigura c acestea sunt nc exacte. De exemplu, listele albe i listele negre ar trebui
verificate n mod regulat, iar toate intrrile validate pentru a se asigura c acestea sunt n
continuare corecte i necesare. Pragurile i setrile alertelor ar putea avea nevoie de ajustri
periodice pentru a compensa schimbrile din reea sau apariia unor noi ameninri.
Modificrile aduse codului de detecie ar putea avea nevoie s fie reprodus ori de cte ori
produsul este actualizat (ex: aplicarea de patch-uri).
n unele tehnologii IDPS, oprirea alertelor duce la dezactivarea capabilitilor de detecie; alte produse, continu detecia, dar nu
vor genera mesaje de alert.
15
3.2.4 Prevenia
Cele mai multe IDPS-uri ofer posibiliti multiple de prevenire; acestea variaz n funcie
de tipul acestora. Administratori pot specifica n configuraie capacitatea de prevenire pentru
fiecare tip de alert. Astfel, se poate activa/dezactiva prevenia sau se poate specifica ce tip de
capabilitate de prevenie s se utilizeze. Unii senzori au un mod de nvare sau simulare, care
suprim toate aciunile de prevenire indicnd doar momentul cnd s-ar fi cuvenit o aciune de
acest tip. Acest lucru permite administratorilor s monitorizeze i s ajusteze configuraia
responsabil nainte de a activa aciunile de prevenire, ceea ce reduce riscul de blocare
accidental al activitilor benigne.
3.3 Management
3.3.1 Implementare
Dup ce IDPS-ul a fost ales, administratorii trebuie s implementeze o arhitectur, s
testeze, poziioneze i s securizeze componentele.
16
management), sau prin criptarea informaiilor. n cazul n care criptarea este utilizat,
ar trebui utilizai algoritmi de criptare recomandai de standardele international. Multe
produse folosesc pentru criptare protocolul TLS( Transport Layer Security); pentru
produsele care nu ofer suficient protecie prin criptare, organizaiile ar trebui s ia n
considerare utilizarea unei reele private virtuale (VPN) sau alte metode de tunele
criptate pentru a proteja traficul.
18
19
20
21
22
Dei dou dintre niveluri au acelai nume ca la modelul OSI, nu trebuie confundate
ntre ele pentru c fiecare nivel are funcii total diferite pentru fiecare model n parte.
Figura 4.2 Nivelele celor dou modele arhitecturale de reea
Nivelul aplicaie
Modelul TCP/IP nu conine nivelurile sesiune sau prezentare.Experiena modelului
OSI a dovedit c aceast viziune a fost corect: n majoritatea aplicaiilor, nivelurile
respective nu sunt de mare folos. Aceasta conine
toate protocoalele de nivel mai nalt. Aa cum se
vede n figura 4.3, primele protocoale de acest gen
includeau terminalul virtual (TELNET), transferul
de fiiere (FTP) i pota electronic (SMTP).
Protocolul de terminal virtual permite unui
utilizator de pe o main s se conecteze i s
lucreze pe o main aflat la distan. Protocolul de
transfer de fiiere pune la dispoziie o modalitate
TCP/IP
de a muta eficient date de pe o main pe alta.
Pota electronic a fost la origine doar un tip de
transfer de fiiere, dar ulterior a fost dezvoltat un
protocol specializat
(SMTP Simple Mail Transfer Protocol)
Figura 4.3 - Protocoale Aplicaie
pentru acest serviciu. Pe parcursul anilor, la
aceste protocoale s-au adugat multe altele, aa cum sunt Serviciul Numelor de Domenii
(Domain Name Service - DNS) pentru stabilirea corespondenei dintre numele gazdelor i
adresele reelelor, HTTP, folosit pentru aducerea paginilor de pe Web i multe altele.
23
Nivelul Transport
Nivelul transport este proiectat astfel nct s permit conversaii ntre entitile
pereche din host-urile surs i, respectiv, destinaie, la fel ca n nivelul transport OSI. n acest
sens au fost definite dou protocoale end-to end.
Primul din ele, TCP (Transmission Control
Protocol), este un protocol sigur orientat pe
conexiuni care permite ca un flux de octei
trimii de pe un host s ajung fr erori pe orice
alt host din inter-reea. Orientarea pe conexiune nu
semnific faptul c exist un circuit ntre
computerele
care comunic, ci faptul c
TCP/IP
segmentele nivelului Aplicaie cltoresc
bidirecional ntre dou gazde care sunt conectate
logic pentru o anumit perioad. Acest proces este
cunoscut sub denumirea de packet switching.
Figura 4.4 - Protocoale Transport
Acest protocol fragmenteaz fluxul de octei n
mesaje discrete i paseaz fiecare mesaj nivelului internet. La destinaie, procesul
TCP
receptor reasambleaz mesajele primite ntr-un flux de ieire. TCP trateaz totodat controlul
fluxului pentru a se asigura c un emitor rapid nu inund un receptor lent cu mai multe
mesaje dect poate acesta s prelucreze.
Al doilea protocol din acest nivel, UDP (User Datagram Protocol), este un protocol
nesigur, fr conexiuni, destinat aplicaiilor care doresc s utilizeze propria lor secveniere
i control al fluxului, i nu pe cele asigurate de TCP.
Protocolul UDP este de asemenea mult folosit pentru interogri rapide ntrebarerspuns, client-server i pentru aplicaii n care comunicarea prompt este mai important
dect comunicarea cu acuratee, aa cum sunt aplicaiile de transmisie a vorbirii i a
imaginilor video. Relaia dintre IP, TCP i UDP este prezentat n figura 4.5. De cnd a fost
dezvoltat acest model, IP a fost implementat pe multe alte reele.
putea ceda dintr-un moment n altul. Astfel, un obiectiv major a fost ca reeaua s poat
supravieui pierderii echipamentelor din subreea fr a fi ntrerupte conversaiile existente.
Cu alte cuvinte, DoD dorea ca, atta timp ct funcionau hostul surs i hostul destinaie,
conexiunile s rmn intacte, chiar dac o parte din dispozitivele sau din liniile de transmisie
erau brusc scoase din funciune. Mai mult, era nevoie de o arhitectur flexibil, deoarece se
aveau n vedere aplicaii cu cerine divergente, mergnd de la transferul de fiiere pn la
transmiterea vorbirii n timp real.Toate aceste cerine au condus la alegerea unei reele cu
comutare de pachete bazat pe un nivel
inter-reea fr conexiuni.
Nivelul internet, este axul pe care
se centreaz ntreaga arhitectur. Rolul su
este de a permite gazdelor s emit pachete
n orice reea i a face ca pachetele s
circule independent pn la destinaie (chiar
dac aceasta face parte din alt
reea).Pachetele
pot chiar s soseasc ntr-o
TCP/IP
ordine diferit fa de cea n care au fost
trimise, caz n care rearanjarea cade n
sarcina nivelurilor superioare. De observat
c ,,internet este folosit aici ntr-un sens
generic,
chiar daca acest nivel este prezent
Figura 4.6 - Protocoale IP
i n Internet.Aici analogia este cu sistemul
de pot (clasic). O persoan dintr-o anumit ar poate depune
ntr-o cutie potal mai multe scrisori internaionale i, cu puin noroc, majoritatea scrisorilor
vor ajunge la adresa corect din ara de destinaie. Probabil c scrisorile vor trece pe drum
prin mai multe oficii de cartare, dar acest lucru se face transparent pentru utilizatori. Mai
mult, faptul c fiecare ar (adic fiecare reea) are propriile timbre, propriile mrimi favorite
de plicuri i propriile reguli de livrare este ascuns beneficiarilor.Nivelul internet definete
oficial un format de pachet i un protocol numit IP (Internet Protocol). Sarcina nivelului
internet este s livreze pachete IP ctre destinaie. Problemele majore se refer la dirijarea
pachetelor i evitarea congestiei. n consecin, este rezonabil s spunem c nivelul internet
din TCP/IP funcioneaz asemntor cu nivelul reea din OSI. Figura 4.5 arat aceast
coresponden.
TCP/IP
FTP
HTTP
SMTP
DNS
DNS
TCP
TFTP
UDP
IP
INTERNET
LAN
Alte LAN i
WAN
26
De tip software. Unii vendorii vnd senzori compui doar din produse software.
Administratorii i pot instala doar pe host-uri ce ndeplinesc anumite cerine. Senzorul
software poate include un sistem de operare specific, sau poate fi instalat ntr-unul
standard ca orice alt aplicaie.
27
s opreasc atacurile prin blocarea traficului n reea. Senzori inline sunt de obicei
plasai n locuri n care ar fi plasai firewall-uri sau alte dispozitive de securitate (la
grania dintre reelele interne, ce trebuie separate, i cele externe). Senzori ce nu sunt
hibrizi sunt de multe ori amplasai pe partea mai sigur a unei diviziuni de reea pentru
a avea mai puin trafic de procesat i pentru a reduce ncrctura unui firewall.Figura
4.9 prezint o astfel de implementare.
Pasiv. Un senzor pasiv monitorizeaz o copie a traficului real de reea. Senzori pasivi
sunt de obicei implementai astfel nct s poat monitoriza locaiile cheie ale unei
reele (diviziunile dintre reelele) i segmente de reea cheie(activitatea ntr-o zon
demilitarizat - DMZ). Senzori pasivi pot monitoriza traficul, prin diverse metode,
dup cum urmeaz:
o Port de tip spanning. Multe switch-uri au un port de tip spanning; reprezint
un port care poate vedea tot traficul de reea ce trece prin switch. Conectarea
unui senzor la un astfel de port poate permite monitorizarea traficului din reea.
Dei aceast metod de monitorizare este relativ uor i ieftin de implementat,
ea poate fi problematic. n cazul n care un switch este configurat sau
reconfigurat incorect, portul de tip spanning ar putea s nu vad tot traficul. O
alt problem cu aceste porturi este c utilizarea lor duce la un consum mare de
resurse; atunci cnd un switch are de prelucrat un flux foarte mare de trafic,
este posibil ca portul s nu vad tot traficul, existnd posibilitatea chiar s fie
nchis. De asemenea, multe switch-uri dispun doar de un singur port de acest
tip, iar n cele mai multe cazuri trebuie conectate multe dispozitive de genul
uneeltelor de monitorizare, analiz i diagnosticare a traficului sau alte tipuri
de senzori IDPS ce trebuie s analizeze acelai traffic.
o Network Tap. Reprezint o conexiune direct ntre un senzor i reeaua fizic
de trafic.Este oferit astfel senzorului o copie a tot traficului de reea transportat
de dispozitivele fizice.Instalarea, n general, implic o perioad de
nefuncionare a reelei, iar eventuale probleme cu aceast metod ar putea
cauza perioade de nefuncionare suplimentare. De asemenea, spre deosebire de
porturile de tip spanning, ce sunt de obicei, deja prezente ntr-o organizatie,
aceste interceptoare trebuie s fie achiziionate i incluse ca add-ons la reea.
o IDS4 de tip Load Balancer. Reprezint un dispozitiv care agregheaz i
direcioneaz traficul de reea ctre sisteme de monitorizare, inclusiv ctre
senzori IDPS. Poate primi copii ale traficului de reea de la unul sau mai multe
porturi de tip spanning sau interceptoare de reea, agregnd traficul din diferite
reele (ex: reasambleaz o sesiune care a fost mprit ntre dou reele). Copii
ale traficului sunt trimise apoi ctre unul sau mai multe dispozitive de
ascultare, pe baza unui set de reguli stabilite de ctre un administrator. Regulile
precizeaz ce tip de trafic direcioneaz ctre fiecare dispozitiv de ascultare.
Configuraiile comune includ urmtoarele:
28
29
30
4.3.3 Detecia
n cadrul acestui tip de IDPS sunt oferite capabiliti extinse i largi de detecie. Cele
mai multe produse folosesc o combinaie ntre detectare bazat pe semnturi, cea bazat pe
detecia anomaliilor i tehnicile analizei protocoalelor de tip stateful pentru a efectua o analiz
n profunzime a protocoalelor comune; organizaiile ar trebui s utilizeze sistemele care
utilizeaz o astfel de combinaie de tehnici. Metodele de detectie sunt strns legate; un motor
de analiz a protocoalelor de tip stateful ar putea mpri activitatea analizat n solicitri i
rspunsuri, fiecare parte fiind examinat pentru anomalii i comparat cu semnturile
activitilor cunoscut a fi ru intenionate. Unele produse folosesc aceleai tehnici i ofer
5
n consol, tipul evenimentul sau alertei face de cele mai multe ori legtura ctre informaii de suport
despre vulnerabiliti / exploatri anume, cum ar fi referine ctre informaii suplimentare i numere CVE (
Common Vulnerabilities and Exposures)
31
Dei aceste IPDS-uri pot analiza activitatea protocolului HTTP, nu pot efectua analize cu privire la
utilizarea serviciilor de web, cum ar fi mesajele de tip SOAP( Simple Object Access Protocol) i XML(
Extensible Markup Language) transportate de HTTP. Tehnologii de securitate cunoscute ca gateway-uri XML
sau firewall-uri XML au fost create special pentru a analiza activitatea serviciilor web. n plus fa de
furnizarea de funcii de prevenire a intruziunilor, aceste tehnologii efectueaz filtrarea, autentificarea i
autorizarea serviciilor, controlul accesului i logare.
32
activitilor care nu ar trebui permise, cum ar fi numere de porturi TCP/ UDP, adrese
IP, nume de site-uri web, precum i alte date ce pot fi identificate prin examinarea
traficului de reea.
Exist posibilitatea monitorizrii negocierii iniiale efectuat la stabilirea comunicaiilor
criptate pentru a identifica software-ul client sau dac serverul are vulnerabilitati cunoscute
sau nu este configurat corect. Acest lucru poate include protocoale de nivel aplicaie, cum ar fi
SSH (Secure Shell) i SSL( Secure Sockets Layer), i protocoalele de nivel reea/ internet
folosite n reelele virtuale(ex: IPsec IP Security).
Senzori pot determina de multe ori dac un atac are anse de reuit. De exemplu, aa cum
este descris n seciunea 4.3.3.3, senzorii ar putea ti ce versiune de software de tip web server
se execut pe fiecare dintre servere web ale organizaiei. n cazul n care un atacator lanseaz
un atac mpotriva unui server de web, ce nu este vulnerabil la acest tip de atac, atunci senzorul
ar putea produce o alert cu o prioritate redus; n cazul n care serverul este considerat a fi
vulnerabil, atunci senzorul ar putea produce o alert de nalt prioritate. Senzorii sunt de
obicei configurai s opreasc toate atacurile indiferent dac sunt sau nu susceptibile n a
reui, dar sistemul ar putea loga evenimentele cu nivele de prioritate diferite, n funcie de
rezultatul lor, n cazul n care ar fi fost blocate.
33
multe ori ncerc s realizeze acest lucru prin replicarea prelucrrii efectuate de tipuri comune
de clieni i servere. Acest lucru permite senzorilor mbuntirea preciziei de detecie. Muli
atacatorii fac uz de caracteristicile specifice de prelucrare ale clienilor sau serverlor, cum ar fi
manipularea codificrii caracterelor, n atacurile lor sau n tehnicile de evaziune folosite.
Organizaiile trebuie s utilizeze aceste IDPS-uri deoarece pot combate utilizarea tehnicilor
comune de evaziune.
4.3.4 Prevenia
Sunt oferite diverse capaciti de prevenire, inclusiv urmtoarele (grupate n funcie de
tipul de senzor):
35
Pasiv
ncheierea sesiunii TCP curente. Un senzor pasiv poate determina ncheierea unei
sesiune TCP existente prin trimiterea de pachete TCP cu flag RESET setat catre
ambele endpoint-uri; acest lucru este numit session sniping7.Senzorul face acest lucru
pentru a face s par c fiecare endpoint ncerc s termine conexiunea. Scopul este
acela ca unul dintre obiective s ncheie conexiunea nainte ca un atac s reueasc. n
multe cazuri ns, pachetele de resetare nu sunt primite la timp.De asemenea, din
cauza faptului c aceast metod este aplicabil doar pentru TCP, nu poate fi folosit
n cazul atacurilor bazate pe alte tipuri de pachete, incluznd UDP sau ICMP. Metoda
session sniping nu mai este larg utilizat din cauz noilor metode mult mai eficiente.
Inline
Executarea de firewalling inline.Cei mai muli senzori ofera capabilitile unui
firewall, astfel poate dropa sau respinge activitile suspecte;
Reducerea limi de band. Dac un anumit protocol este utilizat necorespunztor,
ca n cazul unui atac DoS sau n distribuia unor malware-uri, unii senzori de linie
poate limita procentul de band de reea pe care protocolul respectiv l poate folosi.
Acest lucru mpiedic impactul negativ asupra limii de band n cazul utilizrii de
ctre alte resurse;
Modificarea coninutului maliios. Dup cum este descris n seciunea 1.2, unii
senzori inline poate cura o parte dintr-un pachet, coninutul ru intenionat este
nlocuit cu un coninut benign, pachetele dezinfectate fiind trimise apoi la destinaie.
Un senzor care acioneaz ca un proxy ar putea efectua o normalizarea automat a
ntregului trafic. Aceasta are ca efect eliminarea unor atacuri care implic antetele
pachetelor i unele antete aplicaie, indifferent dac IDPS-ul a detectat sau nu un atac.
Unii senzori pot elimina ataamente infectate din email-uri, precum i alte elemente
discrete de coninut malware din traficul n reea.
Pasiv & Inline
Reconfigurarea altor dispozitive de securitate. Muli senzori pot instrui diferite
dispozitive de securitate de reea, cum ar fi firewall-uri, routere, switch-uri pentru a se
reconfigura singure spre a bloca anumite tipuri de activiti sau s le plaseze pe alte
rute. Acest lucru poate fi util n mai multe situaii, cum ar fi pstrarea unui atacator
extern n afara reelei i trimiterea n carantin a unui host care a fost compromis (ex:
mutarea ntr-un VLAN carantin). Aceast tehnic de prevenire este util doar pentru
traficul de reea ce pot fi difereniat n funcie de caracteristicile header-ului
recunoscute de ctre dispozitive de securitate( adresele IP, numere de port;
Rularea unui program ter sau script. Se poate rula un script specificat de ctre
administrator cnd este detectat o anumit activitate malware. Acest lucru ar putea
7
Un senzor inline poate ncerca aceast tehnic, dar este mult mai ineficient dect celelalte aciuni pe
care le poate ntreprinde; astfel, n practic aceasta tehnic este rar folosit de ctre un senzor inline
36
4.4 Management
4.4.1 Implementare
Odat ce un produs a fost selectat, administratorii trebuie s proiecteze o arhitectur,
s efectueze testarea i asigurarea, iar apoi s le implementeze. Urmtoarele reprezint nite
completri la materialul prezentat n seciunea 3.3.1:
Designul arhitecturii. O atenie special trebuie acordat locului n care senzorii ar
trebui s fie plasai n reea, numrului de senzori necesari, ce senzori ar trebui s fie
pasivi sau de tip inline i modulului n care senzorii pasivi ar trebui s fie conectai la
reea;
Testarea i amplasarea componentelor. Implementarea unui astfel de sistem poate
necesita cderi scurte ale reelei scurte, n special atunci cnd sunt integrai senzori
inline. Totui, amplasarea senzorilor pasiv poate provoca de asemenea ntreruperi din
mai multe motive, incluznd instalarea interceptoarelor de reea, a IDS-urilor de tip
load-balancer i reconfigurarea switch-urilor pentru a activa porturile de tip span;
Securizarea componentelor. Administratorii trebuie s se asigure c pentru senzori
att pasivi, ct i cei inline nu au fost asignate adrese IP interfeelor de reea folosite
pentru a monitoriza traficul, cu excepia celor utilizate pentru management. Operarea
unui senzor fr adrese IP alocate pentru interfeele de monitorizare se numete
funcionare n mod invizibil(stealth mode). Acest mod mbuntete securitatea
senzorilor deoarece mpiedic alte host-uri n a iniia conexiuni cu acetia. Astfel, sunt
ascuni fa de atacatori, limitnd expunerea lor la atacuri. Cu toate acestea, atacatorii
ar putea fi n msur s identifice existena unui senzor i s determine ce produs este
utilizat prin analiza caracteristicilor aciunilor de prevenire. O astfel de analiz ar
putea include monitorizarea reelelor protejate i determinarea a cror tipuri de
37
38
39
40
41
appliance poate fi utilizat. Un alt motiv pentru a utiliza acest tip este legat de performan,
instalarea unui software consumator de resurse ar putea impacta negativ performanele gazdei.
5.2.2 Detecia
Pentru detecia celor mai multor tipuri de activiti ru intenionate sunt folosite de
multe ori o combinaie ntre tehnica bazat pe semnturi pentru a identifica atacurile
cunoscute i cea bazat pe detectarea anomaliilor mpreun cu politici sau seturi de reguli
pentru a identifica atacurile necunoscute anterior.
42
de cod este executat, s-ar putea ncerca obinerea unor privilegii la nivel de
administrator sau suprascrie un executabil de sistem;
o Detecia buffer overflow. ncercrile de a inunda bufferele sistemului pot fi
detectate prin cutarea caracteristicilor specifice, cum ar fi anumite secvene de
instruciuni ce ncearc s acceseze poriuni de memorie, altele dect cele
alocate pentru procesul respectiv;
o Monitorizarea apelurilor sistem. Agentul tie ce aplicaii i procese ar trebui
s utilizeze apelurile sistem i ce alte aciuni le este permis. De exemplu, un
agent poate recunoate un proces care ncearc s intercepteze ce se tasteaz,
cum ar fi un keylogger. Un alt exemplu este un agent ce limiteaz ncrcarea
obiectelor de tip COM( Component Object Model), permind unei aplicaii
PDA, dar nu i altor aplicaii, s acceseze agenda unui client de email. Poate fi
restricionat i ncrcarea unor anume drivere, prevenind astfel instalarea unor
rootkit-uri i a altor atacuri;
o Liste cu aplicaii i librrii. Un agent poate monitoriza fiecare aplicaie i
librrie (ex: DLL librrie dinamic de legtur), pe care un utilizator sau un
proces ncearc s le ncarce i compar aceste informaii cu listele de aplicaii
autorizate i neautorizate. Acest lucru poate fi folosit nu numai pentru a
restriciona utilizarea unor aplicaii i biblioteci, dar i pentru utilizarea unor
anume versiuni ale acestora.
Analiza traficului de reea. Acest lucru este de multe ori similar cu ceea ce un IDPS
de nivel reea face, putnd analiza att traficul de reea cu fir i fr fir. n plus fa de
analiza protocoalelor specifice nivelului reea, transport sau aplicaie, pot fi incluse
procesri speciale pentru aplicaii comune, cum ar fi clieni de email. Analiza
traficului permite agentului s extrag fiiere trimise de aplicaii, ce pot fi apoi
verificate contra programelor malware;
Filtrarea traficului de reea. Agenii includ de multe ori un firewall tipic hostului, ce
poate restriciona traficul de intrare i de ieire pentru fiecare aplicaie din sistem,
prevenind accesul neautorizat i nclcri ale politici de utilizare (ex: utilizarea de
servicii externe nepotrivite). Unele dintre aceste firewall-uri pot genera i folosi o list
de host-uri cu care gazda ar trebui s comunice n cadrul organizaiei;
Monitorizarea sistemului de fiiere. Poate fi efectuat folosind mai multe tehnici,
inclusiv cele enumerate mai jos. Administratorii ar trebui s fie contieni de faptul c
unele produse i bazeaz monitorizarea pe nume de fiiere, aa c, dac utilizatorii
sau atacatori modific numele fiierelor, aceste tehnici ar deveni ineficiente;
o Verificarea integritii fiierelor. Acest lucru implic generarea periodic a
unui digest sau a unei alte sume criptografice pentru fiiere critice, comparea
cu valori de referin i identificarea diferenelor. Verificarea integritii
fiierelor poate stabili doar faptul c un fiier a fost deja modificat, cum ar fi
nlocuirea unui sistem binar cu un cal troian sau un rootkit;
43
Pe sistemele Windows, multe setrii de configuraie const ntr-un set special de fiiere numie
registre.Unii ageni au nite pene introduse n aceti regitrii ce restricioneaz accesul la poriuni critice ale
acestora, n special cele folosite n mod frecvent de malware-uri.
9
Unele produse efectueaz activiti ce in doar de analiza i managementul logurilor.Dei acestea sunt
referite a fi IPDS-uri bazate pe host, majoritatea sunt de fapt produse de tip SIEM(security information and event
management).
44
45
46
5.2.3 Prevenia
Sunt oferite diverse capaciti de prevenire a intruziunilor. Deoarece capacitile
variaz n funcie de tehnicile de detectare folosite de fiecare produs, urmtoarele elemente
descriu aceste capabiliti de prevenie n funcie de tehnica de detectare folosit:
Analiza codului. Tehnicile de analiz de cod pot preveni executarea codului de ctre
aplicaii malware sau neautorizate. Pot fi oprite, de asemenea, aplicaii de reea ce
invoc shell-uri, ce ar putea fi folosite pentru a efectua anumite tipuri de atacuri. Dac
este configurat i reglat bine, analiz de cod pot fi foarte eficient, n special n
oprirea atacurilor necunoscute anterior;
Analiza traficului de reea. Acest lucru poate opri traficul de reea de intrare n a fi
prelucrat de ctre gazd i traficul de reea de ieire s prseasc gazda. Acest lucru
ar putea fi fcut pentru a opri atacurile specifice nivelelor reea /internet, transport, sau
aplicaie (i, n unele cazuri, atacuri ce includ protocoalele speficice reelei wireless)
sau pentru a opri utilizarea de aplicaii i protocoale neautorizate. Analiza poate
identifica fiiere malware ce sunt descrcate sau transferate i preveni aceste fiiere n
a fi introduse n mediul gazdei. Traficul de reea ar putea fi dropat sau respins, iar
firewall-ul personal al gazdei (care ar putea fi inclus n agent) ar putea fi reconfigurat
s evite traficul suplimentar legat de cel suspect. Analiza traficului de reea este
eficient n stoparea a multor atacuri cunoscute i necunoscute anterior;
Filtrarea traficului de reea. Funcionnd ca un firewall la nivel de host, poate opri
accesul neautorizat i nclcrile politicii de utilizare (ex: utilizarea de servicii externe
nepotrivite). Acesta este eficace numai mpotriva opririi activitilor ce sunt
identificabile prin adresa IP, portul TCP / UDP sau tipul i codul n cazul protocolului
ICMP;
Monitorizarea sistemului de fiiere. Acest lucru poate preveni fiierele n a fi
accesate, modificate, nlocuite sau terse, fapt ce ar putea opri instalarea unui
malware,cal troian i rootkit, precum i alte atacuri ce implic accesul neautorizat la
fiiere. Aceasta tehnic poate oferi un strat suplimentar de control al accesului pentru a
suplimenta tehnologiile de control de acces existente pe gazd.
Celelalte tehnici de detectare, analiza logurilor, monitorizarea configuraiei reelei,
verificarea integritii fiierelor i a atributelor, n general, nu sprijin aciunile de prevenire,
deoarece acestea identific evenimentele dup ce au avut loc.
47
5.3 Management
5.3.1 Implementare
Odat ce un produs a fost selectat, administratorii trebuie s proiecteze o arhitectur,
s efectueze testarea componentelor, s le asigure i apoi s le implementeze. Urmtoarele
elemente aduc completri la materialul prezentat n seciunea 2.3.1:
Testarea componentelor i amplasarea. Dup ce componentele au fost evaluate ntrun mediu de testare, organizaiile ar trebui s le pun n aplicare doar pe cteva hosturi din mediul de productie. Acest lucru permite administratorilor s efectueze
activiti de tuning i personalizare pe host-uri n curs de pregtire pentru o
implementare mai mare. Caracteristicile de prevenire trebuie s fie dezactivate n tot
acest timp pn la implementarea n mas pn cnd agenii au fost suficient setai i
personalizai;
48
5.3.2 Operare
Acest tip de IDPS ar trebui exploatat n conformitate cu recomandrile prezentate n
seciunea 3.3.2. Singura excepie este n actualizarea agenilor. Unii ageni pot verifica
periodic serverul de management pentru actualizri, prelund i instalnd apoi automat
anumite actualizri, dac sunt disponibile. Ali ageni nu pot face acest lucru, fapt ce necesit
ca un administrator s verifice manual transferul, instalarea i aplicarea actualizrilor. n
multe cazuri, capacitatea de update a unui agent este legat de tipul de sistem de operare pe
care este implementat.
49
50
53
Multe IDPS-uri tiu s blocheze foarte multe atacuri datorit definiiilor uor de scris o
data ceatacul devine cunoscut, iar atacatorii ncearc un arsenal ntreg de tehnici de evaziune
pentru c exploatrile vechi s mearg n continuare. Cele mai cunoscute tehnici de evaziune
sunt fragmentareapachetelor n buci ct mai mici, trimiterea lor n ordine aleatoare n
sperana cIDPS-ul nu va fi n stare s reconstruiasc pachetul, folosirea de encoding-uri
diferite n sperana cacesta nu va ti s le descifreze, etc. M-8000 s-a descurcat excelent
neputnd fi pcalit prin nici o tehnic cunoscut.
SourceFire este unul din juctorii importani de pe pia, iar appliance-urile lor
folosesc cel maipopular software IDPS opensource din lume, SNORT. Appliance-urile
SourceFire, c i alte appliance-urihardware ale altor vendori, sunt echipamente hardware
robuste i fiabile, cu surse redundante, harddisk- uri raid i alte facilitai ce fac appliance-urile
rezistente la diferite probleme. Software-ul folositeste desigur Snort-ul, cu regulile i
definiiile oficiale. Soluia de la SourceFire este un pic mai complex dect un simplu
echipamentcu Snort instalat. Unul din cele mai importante lucruri este consola de
management numit Sourcefire Defense Center (DC) sau Sourcefire Virtual Defense Center,
unde se pot seta i coordona celelalte IDPS-uri de la SourceFire. Pe aceast consola se pot
vedea evenimentele n timp real , tuna definiii i trimite ctresenzori, etc . Toate IDPS-uri de
la SourceFire sunt certificate de ctre NSS ( Tested)i ICSA Labs fapt ce atest calitatea i
eficiena acestor IDPS-uri.
54
7. SNORT
7.1 Privire de ansamblu
SNORT este cel mai cunoscut i folosit IDS/IPS OpenSource. A fost create de ctre
Martin Roesch n 1998. n prezent, este dezvoltat i comercializat de ctre compania
SourceFire.Acesta poate fi instalat i folosit gratuit, dar pentru acces imediat la regulile
certificate este necesar o plat anual. Totui, semnturile oficiale noi se pot downloada
gratis dup 30 de zile de la lansare, ceea ce pentru aplicaiile necritice este rezonabil. Exist i
semnturi neoficiale, dezvoltate de comunitate, avnd la baz semnturile oficiale ale Snortului la care s-au adugat mici mbunatiri, tweak-uri sau chiar semnturi i idei trimise de
ctre utilizatori. Cel mai cunoscut set de astfel de semnturi se numete Bleeding Snort.
De asemenea exist o multitudine de alte proiecte care au la baza Snort-ul, cum ar fi:
Snort Bait and Switch, proiect scris i administrat de Will Metcalf i care este folosit
pentru a redirecta atacurile ctre un honeyspot sau decoy network;
Snort ClamAV. Reprezint o variant de Snort modificat care analizeaz traficul
folosind baza de date a antivirusului opensource Clamav. Proiectul este administrat de
Victor Julien.
SNORT este un produs cu tradiie, cu peste 3 milioane de downloaduri fiind considerat
IDS de factor standard.
Snort nu este foarte greu de utilizat, dar exist o mulime de opiuni n linie de comand
cu care se poate lucra, nefiind ntotdeauna evident care dintre ele funcioneaz bine mpreun.
Exist cteva concepte de baz care ar trebui nelese legate de Snort. Snort poate fi
configurat pentru a rula n mai multe moduri:
Modul sniffer, care citete pur i simplu pachetele de pe reea i le afieaz ntr-un
flux continuu pe consol( ecran);
Modul logger, n care logheaz pachetele pe disc;
Modul de detecia a intruziunilor n reea( NIDS) alturi de urmtorul mod, permite
cele mai multe i complexe configurri, permind analiza traficului de reea pentru o
comparare cu seturile de reguli definite de utilizator, ndeplinind mai multe aciuni
bazate pe ceea ce se vede;
Modul inline este de fapt modul IPS.
Snort-ul poate activa doar ntr-unul modurile prezentate mai sus, sau n mai multe
simultan, chiar toate.
55
Observaii
-v
-e
-d
-a
-c
-i eth0
-d
-q
56
10
n cazul n care sursa i destinaia sunt din reeaua intern, acestea sunt logate ntr-un director a crui
nume este alctuit din numrul mai mare de port implicat, iar n cazul unei egaliti, de adresa surs.
57
Observaii
-A fast
-A full
-A unsock
-A none
-A console
-A cmg
58
Al doilea numr este ID-ul Snort( uneori referit ca ID-ul semnturii).Pentru o list a
SID-urilor de preprocesare se poate vizualiza fiierul etc/gen-msg.map.SID-urile regulilor
sunt scrise mpreun cu regulile. n acest caz 56 reprezint un eveniment de tip T / TCP.
Al treilea numr este numrul de revizie.Acest numr este n principiu folosit la
scrierea semnturilor, la fiecare modificare a regulii acest numr ar trebui incrementat.
7.2 Configurare
7.2.1 Include
Cuvntul cheieinclude permite ca alte fiiere de configurare s fie incluse n snort.conf
indicat n linie de comand. Acesta funcioneaz ntr-un mod asemntor ca cel din limbajul
59
7.2.2 Variabile
Trei tipuri de variabile pot fi regsite n Snort:
var
portvar
ipvar11
Urmtoarele declaraii reprezint exemple de folosire a acestor tipuri:
var RULES_PATH rules/
portvar MY_PORTS [22,80,1024:1050]
ipvar MY_NET [192.168.1.0/24,10.1.1.0/24]
alert tcp any any -> $MY_NET $MY_PORTS (flags:S; msg:"SYN
packet";)
include $RULE_PATH/example.rule
60
Descriere
Se definete o meta-variabil
Se nlocuiete cu coninutul variabilei var
Se nlocuiete coninutul variabilei var cu default dac aceasta este nedefinit
Se nlocuieste cu coninutul variabilei sau se afieaz un mesaj de eroare i se
iese
Tabelul 7.3 Modificatori de variabile
7.3 Preprocesoarele
62
deframentarea IP : frag3;
reasamblarea TCP : stream5;
normalizarea pachetelor;
date sensibile;
specifice unor diverse protocoale: http, smtp, ftp, ssh ,pop, etc;
atacurile de recunotere: sfPortscan.
7.3.1 Frag3
Preprocesorul frag3 este un modul de defragmentare IP de tip target-based.Este folosit
pentru urmtoarele scopuri:
o execuie ct mai rapid fr un management complex al datelor;
modelarea target-based a tehnicilor anti-evaziune.
Frag3 folosete structurile date de tip sfxhashi liste nlnuite pentru managementul intern
al datelor, lucru ce permite atingerea unor performane predictibile i deterministice n orice
mediu, lucru ce ajut la gestionarea mediilor fragmentate.
Analiza target-based este un concept relativ nou n detectare la nivel reea a intruziunilor.
Ideea de baz este aceea de a modela obiectivele actuale ale reelei n locul modelrii doar a
protocoalelor i cutrii de atacuri n cadrul acestora. Cnd stivele IP sunt scrise pentru
diferite sisteme de operare, acestea sunt de obicei implementate de ctre persoane care citesc
RFC-uri care apoi scriu propria interpretare a ceea ce RFC-ul prezint n cod. Din pcate,
exist ambiguiti n definiiile date de RFC-uri pentru unele din condiiile de margine ce pot
s apar, iar cnd acest lucru se ntmpl diferite persoane pun n aplicare anumite aspecte ale
stivei IP proprii ntr-un mod diferit. Pentru un IDS aceasta este o problem mare.
ntr-un mediu n care atacatorul poate determina ce stil de defragmentare IP este
utilizat de o anumit int, atacatorul poate ncerca s fragmenteze pachetele n aa fel nct
inta le va pune mpreun ntr-o anumit manier pe care sistemele pasive ce ncearc s
modeleze traficulgazd trebuie s ghiceasc n ce fel respectiva gazd se va ocup de
suprapuneri i cum le va retransmite. n cazul n care atacatorul are mai multe informaii
despre host-urile int dect IDS, este posibil s treac de controalele acestuia.De aici a pornit
idea acestui tip de analiz.
63
7.3.2 sfPortscan
Acest modul dezvoltat de Sourcefire, este conceput pentru a detecta prima faz a unui
atac asupra unei reele: recunoaterea.n acest faz, un atacator determin ce tipuri de
protocoale sau servicii sunt folosite de un anumit host. Acesta este momentul tradiional n
care are loc o scanare a porturilor. Aceast faz presupune c atacatorul nu are nici o
informaie legat de protocoalele sau serviciile suportate de ctre int, n caz contrar, aceast
etap nu ar mai fi necesar. Din cauza acestui fapt, cele mai multe cereri trimise de ctre
atacator vor fi negative(ceea ce nseamn c porturile sunt nchise). n natura unor reele de
comunicaii legitime, rspunsurile negative din partea host-urilor sunt rare, dar i mai rare
sunt apariiile multiple ale acestora ntr-un interval scurt de timp. Obiectivul principal al
acestei detecii este de a detecta i urmri aceste rspunsuri negative.
Opiune
alert_threshold
mask_output
ssn_file
Argument
< numr>
<nume de fiier>
Necesar
Nu
Implicit
Alert_threshold 25
Explicaii
Preprocesorul va alerta orice combinaie
PII detectat ntr-o sesiune.Opiunea
specific cte trebuie detectate nainte
de alertare.Ar trebui setat o valoare
mai mare dect cea mai mare valorea
individual din regulile sd_pattern
Nu
Inactiv
nu
Inactiv
Configurarea regulilor
Regulile sunt utilizate pentru a specifica ce tip de date( PII) trebuie cutat de ctre
preprocesor. O nou opiune este disponibil o data cu introducerea acestui modul:
sd_pattern.
Aceast opiune specific ce tip de date trebuie detectat.
Este utilizat urmtoarea sintax:
sd_pattern:<count>, <pattern>;
count = 1 - 255
pattern = any string
Opiune
Explicaie
count
Specific de cte ori un pattern trebuie s regsit pentru a se genera o alert.Numrul este
urmrit n toate pachetele dintr-o sesiune
credit_card
pattern
65
us_social
us_social_nodashes
email
Utilizare
\d
\D
\l
\L
\w
\W
{ num }
\\
potrivire pe semnul \
\{, \}
\?
potrivire pe semnele { , }
potivire pe semnul ?
66
67
Cmpurile relevante
Trebuie cutat cantitatea de date de autorizare trimis pentru a putea sri peste
acestea. Este stocat ntr-un cmp de 4 octei. Acesta este citit i se sare peste
cte date sunt n cmpul respectiv:
byte_jump:4,4,relative,align;
Urmtorul cmp ce trebuie ignorat este cmpul de verificare. Mrimea acestuia
este specificat ca i n cazul de mai sus ntr-un cmp special.Este citit
mrimea i se sare peste numrul de octei specificat:
byte_jump:4,4,relative,align;
Dup aceti pai se ajunge n momentul n care se poate vedea cte date sunt
trimise ctre program.Aceast informaie se afl n primii 4 octei, imediat
dup sfritul cmpului de verificare. Se citete dimensiunea datelor
transmise ctre program, iar dac aceast dimensiune este prea mare, mai
maredect ar trebui s primeasc n mod normal programul, poate reprezenta
o posibil ncercare de overflow. n acest caz se verific dac sunt transmii
mai mult de 128 de octei; n cazul c da este generat o alert.
byte_test:4,>,128,0,relative;
n concluzie, o regul ce previne orice exploatare a vulnerabilitii CVE-1999-0003 n
cazul ToolTalk, arat n felul urmtor:
alert tcp $EXTERNAL_NET any -> $HOME_NET any \
(msg:RPC tooltalk TCP overflow attempt; \
flow:to_server,established; \
content:|00 00 00 02|; depth:4; offset:12;\
content:|00 01 86 F3|; depth:4; offset:16; \
content:|00 00 00 07|; within:4; distance:4; \
byte_jump:4,4,relative,align; \
byte_jump:4,4,relative,align; \
byte_test:4,>,128,0,relative; \
content:|00 00 00 00|; depth:4; offset:8; \
reference:bugtraq,122; \
reference:cve,1999-0003; \
classtype:misc-attack; sid:1965; rev:8;)
69
Aciunea realizat
generarea unei alerte folosind metoda de alertare selectat, urmat de o
logare a pachetului
logarea pachetului
ignorarea pachetului
alertare i activarea unei alte regule dinamice
inactiv pn la activarea de ctre regula mai sus meniont, comportndu-se
apoi ca o regul de logare
blocarea i logarea pachetului, urmate de trimiterea unui pachet de reset n
cazul protocolului TCP, sau a unui de top port ICMP inaccesibil n cazul UDP
blocarea i logarea pachetului
blocare fr logare a pachetului
Tabelul 7.8 Tipurile de aciuni posibile
Pot fi definie tipuri de reguli proprii crora li se poate asocia unul sau mai multe tipuri
de ieire.Pot fi utilizare aciunile prezentate mai sus.
Urmtorul exemplu creaz un tip ce va realiza doar o logare de tip tcpdump:
ruletype suspicious
{
type log
output log_tcpdump: suspicious.log
}
70
Protocoale
Exist patru protocoale pe care Snort-ul le analizeaz pentru comportament suspicios:
TCP
UDP
ICMP
IP
Pe viitor se urmrete i implementarea altora: ARP, IGRP, GRE, OSPF, RIP, IPX, etc.
Adresele IP
Snort-ul nu are nici un mecanism de cutare a host-urilor dup adrese IP n fiierul de
configurare. Le regsim n antetul regulilor. Sunt formate dintr-o adres numeric de tip IP i
un bloc CIDR ce indic masca de reea ce trebuie folosit n cazul inspectrii pachetelor.Pot fi
specificate i sub forma unei liste sau folosind operatorul any pentru a defini orice adres .
Porturile
Numerele de port pot fi specificate n mai multe moduri, prin any, definiii statice
sau intervale, folosind orice valoare dorit din intervalul 0 65535.
Operatorul direcie
Se folosete pentru a identifica direcia pachetului pe care regula trebuie aplicat( IP-ul i
portul surs sunt considerate a fi cele din stnga, iar cele destinaie, n dreapta operatorului).
Este folosit sub dou forme: ->, unidirecional( de la surs la destinaie) i <>, bidirecional
cnd se iau n considerare spre analiz perechi de adrese IP i port. Nu poate fi folosit sub
forma <-.
71
alert icmp any any -> any any (msg:PING with TTP
100;ttl:100; sid: 1000004;)
tos: testeaz valoarea ToS din headerul IP;
alert icmp any any -> any any (msg:tos diferit de 1;tos:!1;
sid: 1000005;)
73
8.2 Iptables
Pentru a implementa Snort-ul inline eficient la nivel de host este nevoie de
configurarea serviciului iptables.
Acesta reprezint un serviciu furnizat de firewall-ul din cadrul kernel-ului de Linux.
Permite administratorului de sistem definirea unor tabele ce conin lanuri de reguli pentru
tratarea pachetelor de reea.Fiecare tabel este asociat unui alt tip de procesare. Pachetele
sunt procesate secvenial, pe msur ce parcurg lanurile.O regul dintr-un lan poate provoca
un salt ctre alt lan, lucru ce se poate repeta n limita nivelului de mbricare dorit
Ipptables folosete n mod implicit trei tabele :
1. Filter - este responsabil cu filtrarea pachetelor.
Are trei lanuri predefinite n care se pot declara reguli de politic firewall:
Forward : Filtreaz pachete ctre servere protejate de firewall;
Input : Filtreaz pachetele destinate firewall-ului;
Output : Filtreaz pachetele expediate de firewall.
2. NAT este responsabil cu translatarea adreselor de reea.
75
ACCEPT: iptables oprete procesarea ulterioar; pachetul este trimis ctre aplicaie
sau sistem de operare pentru prelucrare;
DROP : iptables oprete procesarea ulterioar; pachetul este blocat;
LOG: informaiile sunt trimise la daemonul syslog pentru logare; iptables continu
procesarea pachetului;
REJECT: funcioneaz ca DROP, dar va trimite un mesaj de eroare la gazda care a a
trimis pachetul cum c pachetul a fost blocat;
QUEUE: pachetele sunt n puse n ateptare pentru o procesare ulterioar de ctre
modul sau alt aplicaie extern;
DNAT: Rescrie adresa IP destinaie a pachetului;
SNAT: Rescrie adresa IP sursa a pachetului
MASQUERADE : Folosit pentru SNAT; n mod implicit adresa IP surs este aceeai
cu cea utilizat de interfaa firewall-ului
76
77
Parametru
Utilizare
-t <tabel>
-j <target>
-A \ -append
-F
-p <tipul protocolului>
-s <adres ip>
-d <adres ip>
-i <nume interfe>
-o <nume interfa>
-m state <stare>
78
Prin aceste comenzi sunt introduse cte o regul nou n lanurile INPUT i OUTPUT
din cadrul tabelei Filter n prima poziie, reguli ce instruiesc modulul iptables s identifice
toate pachetele, indiferent de protocol, ca inte QUEUE. Astfel, pachetele sunt dispuse ntr-o
coad, de unde sunt preluate de Snort pentru procesare. Dup inspectarea lor de ctre Snort,
acestea le dispune tot ntr-o coad, de unde sunt preluate de ctre modulul iptables, care, n
funcie de etichetarea realizat de Snort( allow / drop /reject) va realiza aciunea pertinent
pentru fiecare pachet.
Pentru revenirea la funcionarea normal a acestui model se dau urmtoarele comenzi
ce terg toate regulile din lanurile selectate( tabela filter):
iptables -F INPUT
iptables -F OUTPUT
Pentru apelarea oricror comenzi legate de acest modul sunt necesare drepturi de
administrator.
Lansarea n execuie
Att Snort-ul, ct i plugin-ul sunt lansai n execuie de ctre un script: snorting.sh.
Acesta are trei funcionaliti, configurabile prin cele trei opiuni disponibile:
1. start. Prin aceast opiune este lansate n execuie Snort-ul. Pe lng acestea, este
configurat i serviciul Iptables, folosind comenzile prezentate n seciunea de mai sus
pentru lucrul cu Snort.
2. stop. Cu ajutorul acestei opiuni modulul Iptables este readus la starea normal de
funcionare.
3. print <nr>. Cu ajutorul acestei opiuni pot fi vizualizate ultimele alerte trimise de
Snort ctre server-ul Syslog.
79
80
Sd_pattern
CNP
12
Regexp
12
PCRE
Regexp
Verificare validitate
Sd_pattern
Da
Snort
81
PCRE
Nu
Numere
carduribancare
Regexp
Regexp
Da
Nu
Regexp
Regexp
Da
Da
Date
Exemple Regexp
CNP
Sd_pattern
PCRE
\d{13}
/[1-9]{1}[1-9]{2}(0[19]|1[0-2])(0[19]|[12]\d|3[01])(0[1-9]|[14]\d| 5[0-2]|99)\d{4}/
credit_card13
/4\d{3}(\s|-)?\d{4}(\s|)?\d{4}(\s|-)?\d{4}/
Email2
/[a-zA-Z0-9_\.]+@[a-zAZ]+\.[a-zA-Z]+/
13
Predefinit
82
HTTP/1.1 200 OK
Cache-Control: private, no-cache, no-store, mustrevalidate
Expires: Sat, 01 Jan 2000 00:00:00 GMT
P3P: CP="Facebook does not have a P3P policy.
Learn why here: http://fb.me/p3p"
Pragma: no-cache
path=/; domain=.facebook.com; httponly
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
X-FB-Server: 10.146.68.118
X-Cnection: close
Transfer-Encoding: chunked
Date: Mon, May 2013 19:30:45 GM
Pentru a bloca accesul n cauz site-ul respectiv este de ajuns s se blocheze Client
Request-ul ce conine cererea GET ctre site-ul n cauz. Pentru a nu filtra toate pachetele i a
evita ntrzierile inutile, se va verifica doar antetul pachetelor http ce pleac de la Client ctre
portul 80 al server-ului web.
Este posibil o filtrare dup coninut conform modelelor prezentate mai jos:
drop tcp my_ip any -> any $HTTP_PORTS (pcre:"/4\d{3}(\s|)?\d{4}(\s|-)?\d{4}(\s|-)?\d{4}/"; msg:"VISA card number
detected over http "; classtype:policy-violation;
sid:9000000;rev:1;)
drop tcp my_ip any -> any $HTTP_PORTS (pcre:"/5\d{3}(\s|)?\d{4}(\s|-)?\d{4}(\s|-)?\d{4}/";msg:"MasterCard number
detected over http"; classtype:policy-violation;
sid:9000001;rev:1;)
alert tcp my_ip any -> any $HTTP_PORTS (pcre:"/[a-zA-Z09_\.]+@[a-zA-Z]+\.[a-zA-Z]+/";msg:"Email address detected over
http"; classtype:policy-violation; sid:9000004; rev:1;)
drop tcp my_ip any -> any $HTTP_PORTS (pcre:"/[1-9]{1}[19]{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])(0[1-9]|[1-4]\d| 5[02]|99)\d{4}/";msg:"CNP detected over http"; classtype:policyviolation; sid:9000006;rev:1;)
n cazul portului Https, care funcioneaz cu encripie, blocarea i filtrarea este mai complicat
de realizat.
83
85
cmpului cu cifruri, se va transforma n numr ntreg i se va sri peste acel numr de octei
care n cazulacesta este 72. Astfel ne vom poziiona exact n fata cmpului Compression
Methods Length.Va trebui citit lungimea acestui cmpului i omii acei octei
byte_jump:0,1,relative,align;
Se sare peste cmpul unde se descrie Extension Length-ul i se caut n urmtorii doi
octeii dac apare0000, numrul extensiei Server Name Indication:
content:!"|0000|"; distance:2; within:2;
Regula final care blocheaz orice pachet client hello ce nu are extensia Server Name
Indication este:
drop tcp any any -> any 443 (msg:"SSL without extension not
allowed"; byte_jump:2,44,align;
byte_jump:0,1,relative,align; content:!"|0000|"; distance:2;
within:2; ssl_state:client_hello;
ssl_version:tls1.0,tls1.1,tls1.2;
classtype:policy-violation; sid:1000010; rev:1;
86
Activ
87
------=_NextPart_000_0061_01CC1B24.17E136F0
Content-Type: application/octet-stream;
name="test_snort.bin"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test_snort.bin"
ADQAdG9wc2VjcmV0AAA=
------=_NextPart_000_0061_01CC1B24.17E136F0
Base64 folosete doar 64 de caractere, astfel 6 bii per caracter sunt de ajuns n loc de
8biti ct sefolosesc n mod normal. Astfel un string trebuie scris n mod binar, mprit n
buci de cte 6 bii, iapoi folosind tabelul de conversie Base64,se transform fiecare calup
de cte 6 bii n caractere.
Pentru a encoda base64 stringul topsecret se procedeaz astfel:
t
p
112
115
101
99
114
ASCI(Dec)
116
111
101
116
ASCI(Hexa)
74
6F
70
73
65
63
72
65
74
ASCII(Binar)
0111.0100
0110.1111
0111.000
0111.0011
0110.0011
0110.0011
0111.0010
0110.0101
0111.0100
011101
000110
111101
110000
011100
110110
010101
100011
011100
100110
010101
110100
Base64(val)
29
61
48
28
54
21
35
28
38
21
52
Base64(enc)
88
8.8 Logarea
Snort a fost configurat s realizeze urmatorul tip de logare:
Syslog : alertele sunt trimise sub acest standard ctre un server specializat;
89
90
9.Concluzii
10.Bibliografie
1. K. Scarfone, P. Hoffman, Guide to Intrusion Detection and Prevention Systems(
IDPS), NIST Special Publication 800-94, 2007;
2. S. Northcutt, J.Novak, Network Intrusion Detection, 3rd Edition, New Riders
Publishing, 2002;
3. Snort Users Manual 2.9.4, Noiembrie 2012;
4. Sandip A. Kale, Prof.S.V. Kulkarni, Data Leakage Detection: A Survey;
5. Andrew S. Tanenbaum, Reele de calculatoare, ediia a treia, Computer Press
Agora, 1998;
6. SourceFire VRT WhitePaper: SourceFire, SourceFire VRT WhitePaper, 2011
7. http://snort.org/
8. http://nsslabs.com
9. http://www.wikipedia.org/
10. http://tutoriale.eajutor.ro/unix-linux/tutorial-iptables-firewall-linux-comenzi-debaza.html