Documente Academic
Documente Profesional
Documente Cultură
Introducere în
securitatea rețelelor
1
Tehnici de bază care asigură securitatea informaţiei în internet
şi intranet
Datorită faptului că numărul calculatoarelor era din ce în ce mai mare precum și a
faptului că la fiecare din acestea se stocau ceva informații din diverse domenii, a devenit
necesar schimbul operativ de informații la distanță. Astfel au apărut rețelele de calculatoare.
Astăzi echipamentele care se pot conecta la o rețea s-au diversificat astfel că dintr-o rețea de
comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane, PDA-uri etc.
Avantajele imediate ale folosirii unei reţele de comunicații sunt: schimbul de informații,
transferul de date, utilizarea comună a resurselor, partajarea sarcinilor, protecţia datelor etc.
Realizarea unei rețele implică și costuri însă acestea trebuie puse în legătură cu avantaje
oferite. Pentru buna funcționare a unei rețele de calculatoare trebuie avute în vedere și unele
sarcini administrative cum ar fi optimizarea întreținerii și asigurarea disponibilității. În cazul
defectării unor componente singulare rețeaua trebuie să fie în continuare disponibilă, funcțiile
componentelor defecte trebuind să fie preluate de alte componente. Cu cât mai complexe si
mai mari sunt componentele rețelei, cu atât devine mai importantă deținerea de instrumente de
lucru care sa permită administrarea și intreţinerea ușoara a rețelei. Posibilitatea diagnosticării
și intreținerii la distanță a rețelei facilitează service-ul în această direcție.
Comunicațiile între echipamentele interconectate fizic și logic într-o rețea se realizează pe
baza unor suite de reguli de comunicare și formate impuse pentru reprezentarea și transferul
datelor, numite protocoale. Se folosesc numeroase suite de protocoale dar scopul oricărei
rețele de comunicații este acela de a permite transmisia informațiilor între oricare două
echipamente, indiferent de producător, de sistemul de operare folosit sau de suita de
protocoale aleasă. Echipamentele de interconectare (modem, hub, switch, bridge, router,
access point) sunt responsabile de transferul informațiilor în unități de date specifice (cadre,
pachete, datagrame, segmente, celule) și de conversiile de format ce se impun, precum și de
asigurarea securității comunicațiilor. Probleme specifice de securitate se identifică atât în
nodurile rețelei, precum și pe căile de comunicație (cablu sau mediu wireless).
Pentru asigurarea securităţii trebuie luate măsuri în concordanţă cu tipul reţei. Reţelele de
calculatoare pot fi clasificate după mai multe criterii, astfel având:
Dupa tehnologia de transmisie putem avea rețele cu un singur canal de comunicare
(broadcast), rețele care dispun de numeroase conexiuni între perechi de calculatoare
individuale („punct la punct”, pe scurt p2p).
Dupa mărimea rețelei: rețele locale LAN, rețele metropolitane MAN, de arie întinsă
WAN.
În cadul rețelelor locale sau de arie largă se disting și unele subtipuri, definite de
comunicațiile wireless prin unde radio, în funcție de tehnologia folosită, puterea de emisie și
aria de acoperire:
rețele personale (PAN – Personal Area Network) numite și piconet, asociate tehnicii
Bluetooth (BTH);
rețele locale wireless (WLAN – Wireless Local Area Network) asociate în general
comunicațiilor în standard IEEE 802.11, denumite si rețele WiFi;
rețele wireless de arie largă (WWAN – Wireless Wide Area Network) create pe baza
tehnologiilor de arie largă (ATM – Asynghronous Transfer Mode, WiMax –
Worldwide Interoperability for Microwave Access s.a.).
2
Rețelele la nivel global formează o rețea numită Internet. Internet se referă la World Wide
Web, reţeaua mondială unică de computere interconectate prin protocoalele (regulile) de
comunicare Transmission Control Protocol şi Internet Protocol, numite pe scurt TCP/IP.
Intranet-ul este definit ca o legatură semi-permanentă între un Wan (Wide Area Network)
şi o filială a companiei. Fiind vorba de conexiuni LAN-LAN, riscul din punct de vedere al
securităţii este cel mai mic (se presupune că firmele au încredere în filialele lor). În astfel de
cazuri, compania are control asupra reţelelei / nodurilor destinaţie cât şi asupra celei sursă.
Spre deosebire de Intranet, care este relativ izolat, Extranetul este destinat comunicării cu
partenerii, clienţii, furnizorii şi cu angajaţii la distanţă. Securizarea unei reţele de dimensiuni
mari necesită îndrumări şi instrumente adecvate.
Dupa topologie: rețele tip magistrală (bus), rețele tip stea (star), rețele tip inel (ring),
rețele combinate. Prin topologie se întelege dispunerea fizica în teren a calculatoarelor,
cablurilor și a celorlalte componente care alcatuiesc rețeaua, deci se referă la configurația
spațială a rețelei, la modul de interconectare și ordinea existentă între componentele rețelei.
La instalarea unei rețele, problema principală este alegerea topologiei optime și a
componentelor adecvate pentru realizare. Atunci cand se alege topologia unei rețele un
criteriu foarte important care se are în vedere este cel al performanței rețelei. De asemenea,
topologia unei rețele implică o serie de condiții: tipul cablului utilizat, traseul cablului, etc.
Topologia unei rețele poate determina și modul de comunicare a calculatoarelor în rețea. În
domeniul rețelelor locale sunt posibile mai multe topologii, din care doar trei sunt larg
raspandite: linie, inel și stea.
Dupa tipul sistemului de operare utilizat: rețele peer-to-peer (de la egal la egal), rețele
bazate pe server.
Dupa tipul mediului de transmisie a semnalelor: rețele prin medii ghidate (cablu coaxial,
perechi de fire răsucite, fibră optică), rețele prin medii neghidate (transmitere în infraroșu,
unde radio, microunde).
Dupa tipul utilizatorilor putem avea reţele private (de uz industrial, militar, civil) sau
publice.
Dupa tipul accesului la mediu putem avea ethernet, token ring, token bus, arcnet etc.
Un exemplu pentru faptul că atunci când se vorbește de securitatea comunicațiilor trebuie
să se țină seama de tipul rețelei și al comunicației este acela că trebuie făcută distincție între
procesele de comunicație în timp real care se realizează în cazul transmisiilor vocale sau
video și cele de transfer al informațiilor sub formă de fișiere. Apar riscuri mari de securitate în
aplicațiile de tip „peer-to-peer” (p2p), precum Skype, în care se desfăsoară procese de
comunicație în timp real, dar și atacuri la securitatea rețelei în paralel cu acestea, față de
serviciul de transfer al fișierelor, care este mai puțin critic din punct de vedere al timpului de
rulare, ceea ce permite efectuarea unor teste de asigurare a securității sistemului.
Principalele componente ale unei reţele de calculatoare, care asigură funcţionalitatea
acesteia şi care contribuie la asigurarea securităţii informaţiei în internet şi intranet sunt:
Clienţi şi Servere
Adesea când o reţea se dezvolta şi sunt adăugate mai multe PC-uri, unul dintre ele va
acţiona ca un server, un centru de stocare şi dispecerizare a fişierelor şi aplicaţiilor
(programelor) utilizate de clienţi (utilizatori). Serverele gestionează şi accesul utilizatorilor la
echipamentele conectate în reţea, partajate de utilizatori (imprimante, periferice etc.).
3
Definirea unuia din PC-uri ca şi server este utilă în ideea de a extinde capacitatea unui singur
calculator în direcţia stocării şi gestionarii informaţiilor partajate, versus extinderea fiecărui
PC (raţiuni de costuri-performanțe). Fiecare PC conectat la un server se numeşte client pentru
diferenţiere ca şi funcţie în reţea. Într-o rețea nu este neapărat necesar să existe un server
dedicat (numai pentru funcţii de server).
Conexiuni şi cablaje
Există 3 tipuri primare de cablare (medii fizice) în reţele:
cablu torsadat (Twisted pair = TP), unul dintre standardele industriale cele mai
răspândite (în România)
cablu coaxial, asemănător celor din reţelele de televiziune (ca şi aspect), în curs de
dispariţie în domeniu, inclusiv în România
cablu optic (fibra optică), utilizat în conexiunile dintre segmente de reţele în reţele de
mare areal (metropolitane etc.), şi/sau în domenii agresive (corozive, cu vibraţii etc.)
reprezentând un mediu fizic de mare performanţă (viteze, fiabilitate) dar şi un preţ
mai ridicat .
4
Puncte de Acces
Reţelele fără fir utilizează Puncte de Acces (Acces Point) – dispozitive care au funcţiuni
asemănătoare cu a hub-urilor şi, mai nou cu a switch-urilor şi a router-elor – şi interfeţe
specializate transmisiilor fără fir (aer-aer). Ele acţionează şi ca punți de legătură (bridges)
între reţele "cablate" şi reţele rapide Ethernet.
Comutatoare (switch-uri)
Reprezintă dispozitive active - mai inteligente decât HUB-urile, proiectate pentru a
gestiona eficient lărgimea de bandă utilizată de către utilizatori şi/sau grupuri de utilizatori.
Ele pot interpreta adresele din pachetul de date şi direcţiona fluxurile către segmentele reţelei,
fără a produce transmisii “oarbe” şi fără a supraîncărca traficul cu pachete de date cu
destinaţiile necunoscute. Pentru a izola transmisiile între porturi, switch-ul stabileşte o
conexiune temporară între sursă şi destinaţie, oprind-o atunci când transferul a luat sfârşit. Un
switch este similar cu un sistem telefonic cu linii private/personalizate.
Router-e (Routers)
Comparativ cu hub-urile şi switch-urile, router-ele sunt dispozitive active mai inteligente.
Ele utilizează adrese pentru pachetele de date pentru a determina care router sau staţie de
lucru va primi următorul pachet. Bazat pe o hartă a reţelei reprezentată ca şi o tabelă de
routare, router-ele pot asigura cel mai eficient traseu al datelor către destinaţie. În cazul în
care o legătură între două router-e se defectează, router-ele pot reface trasee alternative pentru
a păstra fluenţa traficului de date.
Dezvoltarea rețelelor a condus la impunerea unor standarde universal acceptate de toți,
care au scopul de a unifica diverse variante ale tehnologiilor folosite si definește un set de
reguli generale. Standardele sunt aprobate de organizaţii internaţionale, cum ar fi: OSI
(International Standards Organisation), ECMA (European Computer Manufacturer's
Association), IEEE (Institute of Electrical and Electronical Engineers), ANSI.
Elaborarea
standardelor pentru rețele a devenit necesară datorită diversificării echipamentelor și
serviciilor, care a condus la apariția de rețele eterogene din punctul de vedere al tipurilor de
echipamente folosite. ISO a elaborat un model arhitectural de referință pentru interconectarea
calculatoarelor, cunoscut sub denumirea de modelul arhitectural ISO-OSI (Open System
Interconnection).
Modelul ISO-OSI
Proiectarea, întreținerea și administrarea rețelelor de comunicații se poate face mai
eficient prin folosirea unui model de rețea stratificat. Modelul ISO-OSI împarte arhitectura
rețelei în șapte nivele (Layers), construite unul deasupra altuia, adaugând funcționalitate
serviciilor oferite de nivelul inferior. Fiecare nivel are rolul de a ascunde nivelului superior
detaliile de transmisie către nivelul inferior și invers. Nivelele superioare beneficiază de
serviciile oferite de cele inferioare în mod transparent. Acest model permite realizarea de
module software necesare funcționării rețelei care implementează diferite funcții (codare,
criptare, împachetare, fragmentare etc.). Modelul nu precizează cum se construiesc nivelele,
dar insistă asupra serviciilor oferite de fiecare și specifică modul de comunicare între nivele
prin intermediul interfețelor. Fiecare producator poate construi nivelele așa cum dorește, însă
fiecare nivel trebuie sa furnizeze un anumit set de servicii. Proiectarea arhitecturii pe nivele
determină extinderea sau îmbunătățirea facilă a sistemului.
5
În figura de mai jos, calculatoarele A și B sunt reprezentate pe baza modelului OSI.
Transferul datelor de la A la B, respectiv de la B la A, se face pe traseele marcate cu linie
continuă.
Modelul ISO-OSI
Nivelul fizic (Physical Layer) are rolul de a transmite datele de la un calculator la altul
prin intermediul unui canal de comunicație. Datele sunt văzute la acest nivel ca un șir de biți.
Problemele tipice sunt de natură electrică: nivelele de tensiune, durata impulsurilor de
tensiune, cum se inițiază și cum se oprește transmiterea semnalelor electrice, asigurarea
păstrării formei semnalului propagat. La acest nivel natura sursei de informație (date, voce,
audio, video) nu se mai cunoaste, ceea ce face ca procesul de comunicație să fie considerat
transparent.
Nivelul legaturii de date (Data Link Layer) corectează erorile de transmitere apărute la
nivelul fizic, realizând o comunicare corectă între două noduri adiacente ale rețelei. La acest
nivel biții sunt împărțiți în cadre, adică pachete încapsulate cu antet (H - header) și marcaj
final (T - trail), care includ adresele sursei (SA - Source Address) și destinației (DA –
Destination Address) pentru a se putea expedia datele între calculatoare. Cadrele sunt
transmise individual, putand fi verificate și confirmate de către receptor.
Nivelul rețea (Network Layer) asigură dirijarea unităților de date între nodurile sursă și
destinație, trecănd eventual prin noduri intermediare (routing ). Este foarte important ca fluxul
de date să fie astfel dirijat încât să se evite aglomerarea anumitor zone ale rețelei. În unele
LAN-uri, funcția nivelului de rețea se reduce la cea de stocare (buffering) și retransmisie a
pachetelor. În WAN-uri, la acest nivel se realizează operația de rutare a pachetelor, adică
stabilirea căilor optime de transmisie între noduri. Interconectarea rețelelor cu arhitecturi
diferite este o funcție a nivelului rețea.
Nivelul transport (Transport Layer) realizează o conexiune între doua calculatoare
gazdă (host) detectând și corectând erorile pe care nivelul rețea nu le tratează (răspunde de
siguranța transferului datelor de la sursă la destinație). Este nivelul aflat în mijlocul ierarhiei,
asigurând nivelelor superioare o interfață independentă de tipul rețelei utilizate. Funcțiile
principale sunt: stabilirea unei conexiuni sigure între doua mașini gazdă, inițierea transferului,
6
controlul fluxului de date și inchiderea conexiunii. La acest nivel mesajele de mari dimensiuni
pot fi fragmentate în unități mai mici, cu lungime impusă, procesate și transmise independent
unul de altul. La destinație, același nivel răspunde de refacerea corectă a mesajului prin
ordonarea fragmentelor indiferent de căile pe care au fost transmise și de ordinea sosirii
acestora.
Nivelul sesiune (Session Layer) stabilește și întreține conexiuni (sesiuni) între procesele
aplicației, rolul său fiind acela de a permite proceselor să stabilească "de comun acord"
caracteristicile dialogului și să sincronizeze acest dialog. O sesiune începe doar dacă legătura
între noduri este stabilită, deci este orientată pe conexiune. Nivelul sesiune este considerat ca
fiind interfața dintre utilizator și rețea.
Nivelul prezentare (Presentation Layer) realizează operații de transformare a datelor în
formate înțelese de entitațile ce intervin într-o conexiune. La acest nivel se realizează și
codificarea datelor (compresie, criptare) și reprezentarea lor în formatul standard acceptat, de
exemplu, prin codarea ASCII (American Standard Code for Information Interchange) a
caracterelor. Tot aici se supervizează comunicațiile în rețea cu imprimantele, monitoarele,
precum si formatele în care se transferă fișierele.
La nivelul aplicație (Application Layer) se implementează algoritmii software care
convertesc mesajele în formatul acceptat de un anumit terminal de date real. Transmisia se
realizează în formatul standard specific rețelei. Nivelul aplicație nu comunică cu aplicațiile ci
controlează mediul în care se execută aplicațiile, punându-le la dispoziție servicii de
comunicație. Printre functiile nivelului aplicațtie se afă: identificarea partenerilor de
comunicație, determinarea disponibilității acestora și autentificarea lor, sincronizarea
aplicațiilor cooperante și selectarea modului de dialog, stabilirea responsabilităților pentru
tratarea erorilor, identificarea constrângerilor asupra reprezentării datelor, transferul
informației.
Acestor nivele li se asociază seturi de protocoale, denumite protocoale OSI. Un protocol
de comunicare reprezintă un set de reguli care determină formatul și modalitatea în care datele
sau informația pot fi trimise sau primite. Pe lânga modul de împartire pe verticală, în modelul
OSI se mai apelează la unul pe orizontală, adică fiecare start este subdivizat pe orizontală - în
aceste locuri aflandu-se protocoalele. Ca și principiu, un protocol M dintr-un strat 4 al
calculatorului sursă va comunica în calculatorul destinație cu protocolul M din stratul 4 al
mașinii respective.
Primele trei nivele de la baza ierarhiei (fizic, legatură de date, rețea) sunt considerate ca
formând o subrețea de comunicație. Subrețeaua este raspunzătoare pentru realizarea
transferului efectiv al datelor, pentru verificarea corectitudinii transmisiei și pentru dirijarea
fluxului de date prin diversele noduri ale rețelei.
Modelul OSI este foarte general, pur teoretic și asigură o mare flexibilitate în cazul
dezvoltării rețelelor prin separarea diverselor funcții ale sistemului pe nivele specifice.
Numărul relativ mare de nivele din acest model face necesară utilizarea unui mare număr de
interfețe și a unui volum crescut de secvențe de control. De aceea, în numeroase cazuri
Modelul OSI nu este implementat în intregime de producători, nivelele sesiune și prezentare
putând să lipseasca (unele din funcțiile atribuite acestora în modelul OSI fiind preluate de alte
nivele). Modelul OSI este un model orientativ, strict teoretic.
Drept exemplu de realizare a unui transfer de date între doua mașini gazdă vom prezenta
modul în care se citește o pagină web aflată pe un calculator situat la mare distanță. În primul
rând utilizatorul lansează un program pentru vizualizarea paginilor web (browser). Browser-ul
7
este entitatea aplicație care va "negocia" obținerea paginii solicitate. La nivelul aplicație se va
identifica existența resursei cerute de client (clientul este browserul, care-l reprezinta pe
utilizator) și a posesorului. Se realizează autentificarea serverului și se stabilește dacă acesta
este disponibil. Nivelul sesiune va stabili o conexiune între procesul client și procesul server
apoi nivelul transport se va ocupa de întreținerea conexiunii și de corectarea erorilor netratate
la nivelul rețea. În final, nivelul rețea va asigura transferul datelor în secvențe (pachete),
stabilind drumul acestora între server și client.
Modelul arhitectural TCP/IP
Modelul TCP/IP a fost utilizat de rețeaua ARPANET și de succesorul acesteia,
INTERNET, numele provenind de la protocoalele care stau la baza modelului: TCP
(Transmission Control Protocol) și IP (Internet Protocol). Obiectivul central avut în vedere la
proiectarea rețelei a fost acela de a se putea interconecta făra probleme mai multe tipuri de
rețele, iar transmisia datelor sa nu fie afectată de distrugerea sau defectarea unei parți a rețelei,
în același timp arhitectura rețelei trebuind să permită rularea unor aplicații cu cerinte
divergente, de la transferul fișierelor și până la transmiterea datelor în timp real
(videoconferințe). Suita de protocoale TCP/IP gestionează toate datele care circulă prin
Internet.
Modelul TCP/IP are patru nivele și este diferit de modelul OSI, dar se pot face echivalări
între acestea.
8
MAC, pe baza unor tabele de adrese (RFC 903). ARP și RARP se utilizează numai în
interiorul unui LAN. Aceste protocoale nu folosesc IP pentru încapsularea datelor.
10
Atacuri asupra rețelelor de comunicații
Conexiunea la Internet reprezintă o facilitate dar creează de cele mai multe ori mari
probleme de securitate pentru rețelele de comunicații, asupra acestora putând avea loc diverse
atacuri. În funcție de vulnerabilitățile reţelei, atacurile se pot manifesta pe mai multe planuri:
accesare neautorizată a rețelei sau a unor resurse ale acesteia din interiorul organizației
sau din afara acesteia;
tentative de perturbare sau de întrerupere a funcționării rețelei la nivel fizic (prin
factori mecanici, de întrerupere a unor cabluri sau scoatere din funcțiune a unor
echipamente din rețea; factori electrici, de bruiaj în cazul rețelelor radio, semnale de
interferență în rețelele cablate);
tentative de întrerupere sau de încărcare excesivă a traficului din rețea prin
transmiterea unui număr foarte mare de pachete către unul sau mai multe noduri din
rețea (flooding);
atacuri soft asupra echipamentelor de rețea care concentrează și dirijează fluxurile în
noduri critice (switch, router, access point etc.) prin modificarea fișierelor de
configurare și a drepturilor de acces stabilite de personalul autorizat;
modificarea sau distrugerea informației, adică atacul la integritatea fizică a datelor;
preluarea și folosirea neautorizată a informațiilor, adică încălcarea confidențialității și
a dreptului de autor.
Atacurile asupra rețelelor de comunicații pot fi clasificate după mai multe criterii.
În funcție de locul de unde se execută, atacurile pot fi: locale (local) sau de la distanță
(remote).
Atacurile locale presupun spargerea securității unei rețele de calculatoare de către un
utilizator local, adică o persoană care face parte din rețea și care dispune de un cont și de o
parolă de utilizator care îi dau drept de acces la o parte din resursele sistemului. De asemenea,
persoana respectivă poate să aibă cunostințe despre arhitectura sistemului de securitate al
rețelei, putând astfel lansa atacuri mult mai periculoase, principalele riscuri constând în
accesarea informațiilor la care nu are drept de acces, găsirea punctelor vulnerabile ale rețelei
prin încărcarea unor programe care să scaneze rețeaua.
Riscul de atac local poate fi redus prin:
acordarea utilizatorilor locali privilegiile minim necesare efectuării sarcinilor zilnice,
potrivit funcției și rolului fiecăruia în companie;
monitorizarea activităților din rețea pentru a sesiza eventualele încercări de depășire a
atribuțiilor, eventual și în afara orelor de program;
impunerea de restricții de acces pe cele mai importante echipamente din rețea;
distribuirea responsabilităților mari între mai mulți angajați.
Este recomandat ca acordarea privilegiilor de utilizare a resurselor rețelei să se facă
ținându-se seama de nivelul de încredere, de vechimea în reţea şi comportamentul membrului
respectiv.
Atacul la distanţă (remote attack) este un atac lansat împotriva unei reţele de
comunicaţii sau a unui echipament din reţea, faţă de care atacatorul nu deţine nici un fel de
control. Accesul de la distanţă la resursele unei reţele este mai riscant decât accesul din
11
reţeaua locală deoarece în Internet sunt câteva miliarde de utilizatori ceea ce face ca numărul
posibililor atacatori externi să fie mult mai mare decât al celor interni. Prin aplicarea unei
politici de securitate corecte şi a unor soluţii de securitate performante, riscul atacurilor locale
poate fi minimizat.
Etape în realizarea unui atac la distanţă:
Etapa de informare, în care atacatorul trebuie să obţină informaţii despre administratorul
reţelei, despre echipamentele din reţea, despre sisteme de operare folosite, despre puncte de
vulnerabilitate, despre topologia reţelei, despre politicile de securitate etc. Această etapă de
recunoaştere este considerată un atac în sine, fiind un pas precedent oricărui atac informatic.
Cea mai mare importanţă o are colectarea informaţiei despre administratorul de reţea, aceasta
aducând cele mai multe informaţii utile atacatorului. Când calculatorul-ţintă deţine o soluţie
de securitate, eforturile de atac sunt diminuate.
Etapa de testare, care presupune crearea unei clone a ţintei şi testarea atacului asupra
acesteia, pentru a se vedea modul în care reacţionează. Realizând aceste experimente pe un
calculator-clonă, atacatorul nu atrage atenţia asupra sa pe durata simulării iar şansele atacului
real, care va fi lansat ulterior, vor fi foarte mari. Dacă se fac experimente direct pe ţinta reală,
pentru atacator există riscul să fie detectat şi se pot alege cele mai eficiente contramăsuri.
Etapa de lansare a atacului asupra reţelei. Pentru a avea cele mai mari sanse, atacul
trebuie să dureze puţin şi să fie efectuat în intervalele când ținta este mai vulnerabilă.
Extrem de periculoase sunt atacurile combinate, în care una sau mai multe persoane
furnizează informaţii din interiorul reţelei şi altele din exterior lansează atacul de la distanţă
folosind acele informaţii. În cazul acestor atacuri mascarea atacului este foarte bună iar
şansele sistemului de securitate al reţelei de a reacţiona la timp şi eficient sunt mult diminuate.
Din aceeaşi categorie a atacurilor active, fac parte si programele cu scopuri distructive
(virus, worm, spy, spam) care afectează securitatea echipamentelor şi a informaţiilor din reţea,
fie prin preluarea unor informaţii confidenţiale, fie prin distrugerea parţială sau totală a
datelor, a sistemului de operare şi a altor programe software, şi chiar prin distrugeri de natură
hardware. Răspândirea acestor programe în reţea se face prin diverse servicii de reţea mai
puţin protejate (ex. sisteme de postă electronică, de sharing de fişiere, de mesagerie în timp
real etc.) sau prin intermediul mediilor de stocare externe (CD, DVD, removable disk) atunci
când mecanismele de transfer de fişiere nu sunt verificate cu programe specializate de
detectare a viruşilor şi a viermilor de reţea. De asemenea, rularea unor programe de protecţie a
sistemelor, de tip antivirus sau antispy, devine de cele mai multe ori ineficientă dacă acestea
nu sunt corect configurate şi nu dispun de liste actualizate (up-date) cu semnăturile celor mai
noi viruşi sau ale altor elemente de atacare a reţelei. Dintre aceste programe distructive
amintim urmatoarele:
14
Viruşii - reprezintă programe inserate în aplicaţii, care se multiplică singure în alte
programe din spatiul rezident de memorie sau de pe discuri, apoi, fie saturează
complet spaţiul de memorie/disc şi blochează sistemul, fie, dupa un numar fixat de
multiplicări, devin activi şi intră într-o fază distructivă (care este de regulă
exponentială). Pătrunderea unui virus într-o reţea de comunicaţii o face vulnerabilă la
orice formă de atac, tentativă de fraudă sau de distrugere. Infectarea se poate produce
de oriunde din reţea. Cei mai mulţi viruşi pătrund în sistem direct din Internet, prin
serviciile de download, atunci când se fac up-date-uri pentru driverele componentelor
sau pentru diferite programe software, inclusiv pentru sistemul de operare. De multe
ori sursele de viruși de reţea sunt mascate de serviciile gratuite oferite de diferite
servere din Internet, de aceea fiind indicată folosirea up-date-urilor oferite numai de
firme consacrate, surse autentice de software, cu semnături recunoscute ca fiind
valide de către sistemele de operare.
Bomba software - este o procedura sau parte de cod inclusă intr-o aplicaţie
"normală", care este activată de un eveniment predefinit (lansarea în execuţie a unui
program, deschiderea unui document sau fişier ataşat transmis prin poştă electronică,
o anumită dată calendaristică, accesarea unui anumit site web etc.).
Viermii de reţea - au efecte similare cu cele ale bombelor şi viruşilor. Principalele
diferenţe faţă de acestea sunt acelea că îşi schimbă permanent locaţia fiind dificil de
detectat şi că nu se multiplică singuri. Cel mai renumit exemplu este viermele
Internet-ului care a reuşit să scoată din funcţiune un număr mare de servere din
Internet în noiembrie 1988.
Trapele - reprezintă căi de acces la sistem care sunt rezervate în mod normal pentru
proceduri de încărcare de la distanţă, întreţinere sau pentru dezvoltatorii unor
aplicaţii. Din cauza faptului că permit accesul nerestricţionat la sistem sau pe baza
unor date simple de identificare, acestea devin puncte vulnerabile ale reţelei care fac
posibil accesul neautorizat al unor intruşi în reţea.
Calul Troian - este o aplicaţie care are o funcţie de utilizare foarte cunoscută şi care,
într-un mod ascuns, îndeplineşte şi o altă funcţie. Un astfel de program este dificil de
observat deoarece nu creează copii. De exemplu, un hacker poate înlocui codul unui
program normal de autentificare prin alt cod, care face acelaşi lucru, dar, adiţional,
copiază într-un fişier numele şi parola pe care utilizatorul le tastează în procesul de
autentificare. Contramăsurile folosite în acest caz constau în rularea programelor
antivirus cu liste de semnături cât mai complete şi prin folosirea unor protocoale de
comunicaţii şi programe securizate pentru accesarea serviciilor de Internet.
Reţelele botnet reprezintă un atac extrem de eficient din Internet prin care atacatorii
îşi creează o reţea din calculatoare deja compromise de o aplicaţie de tip malware,
numite şi computere bot, pe care le comandă un botmaster. Prin intermediul acestei
reţele şi al programelor de aplicaţii de Internet (de exemplu, e-mail, chat IRC –
Internet Relay Chat), sunt lansate diverse atacuri (spam, spyware, adware, keylogger,
sniffer, DDoS s.a.). Aceste reţele acumulează o putere de procesare extrem de mare
consumând resursele calculatoarelor cooptate pentru execuţia aplicaţiilor. În general,
atacurile distribuite în reţea sunt dificil de urmărit şi de anihilat. Controlul reţelelor
botnet se poate face centralizat, peer-to-peer sau aleator. Pentru combaterea acestor
reţele, este necesară întreruperea căilor de comandă şi control al lor.
O categorie aparte de atac asupra informațiilor stocate sau transmise în rețea o reprezintă
atacurile criptografice, prin care se încearcă extragerea informațiilor din mesajele criptate.
15
Când se transmite un mesaj, pentru asigurarea confidențialității, acesta este criptat cu
ajutorul unui algoritm, generându-se text cifrat (engl. ciphertext). Receptorul autorizat trebuie
să poată recupera textul clar aplicând un algoritm asupra textului cifrat. Adversarul, care
dispune de textul cifrat dar nu cunoaște anumite detalii ale algoritmului aplicat de emițător,
trebuie să nu fie capabil să reconstituie textul clar. Operația prin care emițătorul transformă
textul clar în text cifrat se numește criptare sau, uneori, cifrare (engl. encryption). Operația
prin care receptorul obține textul clar din textul cifrat se numește decriptare sau descifrare
(engl. decryption).
Atacurile criptografice se aplică direct mesajelor cifrate în vederea obţinerii informaţiei
originale în clar şi/sau a cheilor de criptare şi de decriptare. Ştiinţa care se ocupă cu studiul
metodelor de obținere a înțelesului informațiilor criptate, fără a avea acces la informația
secretă necesară în mod normal pentru aceasta estre criptanaliza iar criptanalistul este
persoana care se ocupă cu criptanaliza mesajelor cu caracter secret. Scopul metodelor de
criptanaliză este descoperirea mesajelor în clar (M) şi/sau a cheii (K) din mesajul criptat (C).
Atacurile criptografice pot fi de mai multe tipuri:
Brut (brute force), prin încercarea tuturor combinaţiilor posibile fie de chei de criptare,
fie de simboluri din text pentru deducerea textului în clar. Atacul devine ineficient
atunci când lungimea cheii este suficient de mare, astfel numărul de încercări fiind
foarte mare, depășindu-se capacitatea de procesare a celor mai performante sisteme
de calcul ori durata de procesare criptanalitică fiind mai mare decât perioada de
valabilitate a informațiilor transmise.
Asupra textului criptat (cipher text attack) interceptat, prin analiza căruia se încearcă
găsirea textului original sau a cheii de criptare.
Asupra unui text în clar cunoscut (known plain-text attack), pentru care s-a aflat
criptograma şi pe baza căruia se face o extrapolare pentru deducerea altor porţiuni din
mesaj.
Asupra unor texte criptate alese (chosen cipher-text attack), pentru care se obţin
criptogramele asociate unor texte folosind algoritmi de criptare cu chei publice şi se
urmăreste aflarea cheilor de decriptare.
Atacurilor sus amintite li se mai adaugă un alt tip de atac, și anume acțiunea de
“cumpărare” a cheii, adică aflarea cheii fără nici un efort de criptanaliză, prin alte mijloace
decât cele tehnice (santaj la adresa persoanelor care o dețin, furt sau scurgeri de informații de
la persoane sau din documente scrise sau în fomat electronic etc.). Acest procedeu este unul
dintre cele mai puternice atacuri lansate la adresa unor surse din interiorul rețelei. Pentru
preîntâmpinarea lui este utilă responsabilizarea personalului, eliminarea breselor de securitate
a documentelor, eventual dubla criptare a datelor astfel încât secretul lor să nu depindă de o
singură persoană.
Pentru protejarea împotriva atacurilor criptografice s-au creat algoritmi din ce în ce mai
complecși, ca regulă generală, un algoritm fiind considerat sigur dacă cea mai puțin
costisitoare metodă prin care poate fi atacat (ca timp de procesare, spațiu de memorie, preț)
este atacul brut. La crearea acestor algoritmi se au în vedere următoarele:
Asigurarea confidențialității, care are drept obiectiv împiedicarea înțelegerii mesajului
criptat interceptat de către adversar;
Asigurarea autenticității, care are ca obiectiv detectarea, de către receptor a mesajelor
create sau modificate de un adversar activ;
16
Asigurarea non-repudiabilității mesajelor, adică emitentul să nu poată nega faptul că a
transmis un anumit mesaj, iar receptorul să nu poată crea mesaje care să pară
autentice;
Verificarea prospețimii are ca obiectiv detectarea, de către receptor, a eventualelor
copii ale unui mesaj (autentic) mai vechi. Este posibil ca un adversar să intercepteze,
de exemplu, un ordin de transfer de bani în favoarea sa și apoi să transmită băncii
multiple copii ale ordinului respectiv iar fără a verifica prospețimea, banca va efectua
de mai multe ori transferul de bani. Doar verificarea autenticității mesajelor nu ar
rezolva problema deoarece fiecare copie este identică cu originalul, deci este
autentică.
Autentificarea entităților, care are drept obiectiv verificarea, de către o entitate, a
identității entității cu care comunică.
Stabilirea cheii are ca obiectiv obținerea, de către partenerii de comunicație legitimi, a
unui șir de biți, numit cheie, ce urmează a fi utilizată la asigurarea confidențiialității și
la verificarea autenticității mesajelor. Cheia obținută trebuie să fie cunoscută doar de
către partenerii care doresc să comunice. Autentificarea nu are sens decât dacă se
realizează și verificarea integrității mesajului.
17
Soluţiile teoretice şi practice de reducere/eliminare a pericolelor
Securitatea unei rețele de calculatoare poate fi afectată de mai mulți factori, cum ar fi:
dezastre sau calamități naturale, defectări ale echipamentelor, greșeli umane de operare sau
manipulare, fraude. Primele trei tipuri de amenințări sunt accidentale, în timp ce ultima este
intenționată. Studiile efectuate au arătat ca jumătate din costurile implicate de incidente sunt
datorate acțiunilor voit distructive, un sfert dezastrelor accidentale și un sfert greșelilor
umane. Acestea din urma pot fi evitate sau, în cele din urmă, reparate printr-o mai buna
aplicare a regulilor de securitate (salvări regulate de date, discuri oglindite, limitarea
drepturilor de acces). Fără a depinde de mediul fizic prin care se realizează (cablu metalic,
fibră optică sau mediul wireless) sau de specificul rețelei de transmisie a informațiilor (de
calculatoare, de telefonie fixă sau mobilă, de televiziune prin cablu, de distribuție a energiei
electrice), securitatea comunicațiilor reprezintă un aspect esențial al serviciilor oferite, fiind
critică în cazul informațiilor cu caracter secret din aplicații fianciar-bancare, militare,
guvernamentale și nu numai acestea. Vulnerabilitățile rețelelor de comunicații şi ale
sistemelor informatice actuale pot antrena pierderi uriașe de ordin financiar și nu numai.
Aceste aspecte impun o analiză minuțioasă a riscurilor și vulnerabilităților diferitelor rețele de
comunicații, precum și găsirea soluțiilor, strategiilor, tehnicilor și protocoalelor de securitate
care să prevină aceste aspecte neplăcute.
Pentru asigurarea securității unei rețele s-au creat așa numitele servicii de securitate care
au scopul de a asigura securitatea aplicațiilor precum și a informațiilor stocate pe suport sau
transmise prin rețea. Când este vorba despre securitatea unei rețele apar mai multe aspecte,
cum ar fi: securizarea accesului fizic și logic, securitatea serviciilor de rețea, secretizarea
informațiilor etc.
În funcție de importanța informațiilor, de caracterul public sau privat al rețelei de
comunicații, indiferent de terminalul folosit (calculator, laptop, telefon mobil, PDA, iPOD,
bancomat etc.) se elaborează anumite politici de securitate care, pe baza analizei de securitate,
exprimă cel mai bine principiile care stau la baza adoptării unei anumite strategii de
securitate, implementată prin diverse măsuri specifice, cu tehnici și protocoale adecvate.
Pentru o analiză completă a securității trebuie avute în vedere toate aspectele referitoare la o
rețea de comunicații, interne și externe, hardware și software, factorul uman și de tip automat,
tipurile de rețea, topologiile și mediile de transmisie, protocoalele de comunicații, aplicațiile
rulate, riscurile de securitate și, nu în ultimul rând, costurile.
Vulnerabilitățile rețelelor se manifestă pe toate nivelele OSI, fiind necesară adoptarea
unor măsuri de securitate adecvate fiecărui nivel și fiecărui model de rețea în parte.
Toate acestea arată că trebuie avute în vedere, cu prioritate, două aspecte principale legate
de securitatea rețelelor:
integritatea și disponibilitatea resurselor unei rețele, fizice sau logice, indiferent de
defectele de funcționare, hard sau soft, de perturbații sau de tentative de întrerupere a
comunicațiilor;
caracterul privat al informațiilor, exprimat ca fiind dreptul individual de a controla sau
de a influența care informație referitoare la o persoană poate fi memorată în fisiere sau
în baze de date din rețea ți cine are acces la acestea, rețeaua fiind responsabilă de
împiedicarea încercărilor ilegale de sustragere a informațiilor, precum si de încercările
de modificare ale acestora.
18
Comunicațiile între echipamentele interconectate fizic și logic într-o rețea se realizează pe
baza protocoalelor de comunicații. Prin protocol se înțelege o suită de reguli de comunicare și
formate impuse pentru reprezentarea și transferul datelor între două sau mai multe
calculatoare sau echipamente de comunicație. Se folosesc numeroase suite de protocoale dar
scopul oricărei rețele de comunicații este acela de a permite transmisia informațiilor între
oricare două echipamente, indiferent de producător, de sistemul de operare folosit sau de suita
de protocoale aleasă.
Un concept de bază, care apare în mecanismele IP pentru autentificare și
confidențialitate, este asociația de securitate (SA - Security Association). SA este o relație
unidirecțională între o sursă și o destinație care asigură servicii de securitate traficului efectuat
pe baza ei, putând fi privită ca un ansamblu de date de tip nume de algoritm - cheie, care
reprezintă capabilitățile criptografice comune entităților participante la asociere, adică grupuri
de utilizatori autorizați să folosească o anumită rețea, denumită rețea virtuală privată (VPN -
Virtual Private Network). Protocoalele de securitate pentru rețelele de comunicații sunt
definite pentru a stabili modul în care sunt oferite serviciile de securitate. Aceste protocoale
de securizare a comunicațiilor pot lucra pe diferite nivele ale modelului OSI, între acestea
regăsind:
pe nivelul legăturii de date: protocoale de tunelare, precum L2TP (Layer2 Tunnelling
Protocol) care, deși definit pe acest nivel, operează de fapt pe nivelul OSI 5, de
sesiune;
pe nivelul de rețea: IPsec (IP Security) oferă servicii de autentificare, de control al
accesului, de confidențialitate și integritate a datelor;
pe nivelul de transport: TLS (Transport Layer Security), SSL (Secure Socket Layer),
protocolul Handshake de autentificare mutuală a clienților și serverelor și negocierea
algoritmilor de criptare înaintea desfăsurării propriu-zise a transmisiei datelor;
pe nivelul de aplicație: SSH (Secure Shell), PGP (Pretty Good Privacy), S/MIME
(Secure Multipurpose Internet Mail Extension).
De cele mai multe ori, se definesc suite de protocoale de securitate cum ar fi: IPSec,
KERBEROS, SESAME și altele. Implementarea suitelor de protocoale de securitate în
rețelele de comunicații se face cu mai multe servere de rețea dedicate diferitelor servicii, cum
ar fi: servere de autentificare, servere de certificare, servere de distribuție a cheilor de criptare,
servere de gestiune a cheilor de criptare etc.
IPSec este o suită de protocoale pentru securizarea comunicațiilor peste stiva TCP/IP.
Această suită se bazează pe folosirea funcțiilor matematice și a algoritmilor de criptare și
autentificare pentru a asigura confidențialitatea, integritatea și non-repudierea informațiilor
din fiecare pachet IP transmis pe rețea. IPSec este la ora actuală una dintre cele mai folosite
metode de securizare a transmisiei pe Internet, alături de SSL (Secure Sockets Layer) și TLS
(Transport Layer Security). Spre deosebire de acestea, protocoalele IPSec se regăsesc la
nivelul 3 al stivei TCP/IP și la nivelul 3 al stivei ISO-OSI, ceea ce face posibilă securizarea
tuturor aplicațiilor care folosesc stiva TCP/IP. IPSec are o arhitectură de tip end-to-end,
compatibilă atât cu stiva IPv4, cât și cu IPv6, unde integrarea funcțiilor de securizare este
nativă, încă de la proiectarea stivei pe 128 de octeți. Un router sau un server pe care sunt
activate protocoalele de securitate IPsec se numește poartă de securitate (securițy gateway)
19
sau "zid" de protecție (firewall). În general, asigurarea securității unei transmisii se realizează
la ambele capete ale căii de comunicație, cu două echipamente care folosesc IPSec lucrând în
pereche (IPsec peers). Prin suita IPSec pot fi securizate comunicațiile între două sau mai
multe calculatoare independente, între două sau mai multe subrețele aflate fiecare în spatele
unui gateway care se ocupă de folosirea funcțiilor criptografice pentru fiecare subrețea aflată
în administrarea sa, precum și între un calculator independent și o subrețea aflată în spatele
unui gateway. IPSec se bazează pe proprietățile criptografice ale unor modele precum Diffie-
Hellman, RSA sau DSA și a algoritmilor de criptare și autentificare, cum sunt DES, 3 DES,
AES, MD5, SHA1.
IPsec oferă următoarele servicii de securitate pe nivelul IP al rețelelor TCP/IP:
integritatea conexiunii - asigură faptul că în procesul de comunicație nu intervin
entități neautorizate care să modifice datele sau să genereze mesaje false în rețea;
autentificarea sursei de date - permite identificarea sursei și asigurarea autenticității
mesajelor;
criptarea datelor - asigură confidențialitatea mesajelor transmise și imposibilitatea
preluării neautorizate a informațiilor;
protecția la atacuri în rețea - detectează pachetele repetitive, replici ale aceluiași
pachet, care se transmit la infinit în rețea și pot produce blocaje sau saturarea rețelei
(flooding).
IPsec oferă posibilitatea unei comunicări sigure în rețelele de arie largă (WAN), în
aplicații precum:
Definirea rețelelor virtuale private (VPN – Virtual Private Network), în care uzual
IPsec este configurat să folosească protocolul ESP în modul tunel pentru furnizarea
confidențialității. Pentru o organizație cu mai multe rețele locale, aflate în diferite
locații, traficul intern rețelelor locale nu este securizat în timp ce traficul între acestea
utilizează IPsec pentru securizare. IPsec este activat în echipamentele de acces la
rețeaua de arie largă, de exemplu în gateway, router sau firewall. Operațiile de
criptare/decriptare și de autentificare executate de IPsec sunt transparente pentru
stațiile de lucru și serverele din rețelele locale.
Accesul securizat de la distanță prin rețeua publică de Internet la un sistem în care este
implementat protocolul IPsec. Se poate apela la un furnizor de Internet (ISP - Internet
Service Provider) pentru a obține accesul securizat la o rețea privată.
Îmbunătățirea securității aplicațiilor distribuite care au o serie de mecanisme de
securitate incluse. Principala caracteristică a IPsec care îi permite să securizeze o
gamă atât de largă de aplicații distribuite (e-mail, transfer de fișiere, acces Web etc.),
este faptul că pentru întregul trafic IP se pot utiliza mecanismele de criptare si/sau
autentificare.
20
Adresa IP de destinație este adresa nodului de destinație al asociației de securitate,
care poate fi un calculator-gazdă (host) sau un echipament de comunicație al rețelei
(router, firewall, access point);
Identificatorul protocolului de securitate indică pentru care protocol, AH sau ESP,
lucrează SA. Dacă este necesară utilizarea ambelor protocoale de securitate în
Internet (AH si ESP), atunci se creează și se configurează legăturile dintre două sau
mai multe asociații de securitate.
21
faza de autentificare din IKE, fiecare entitate își trimite certificatul digital către
omologi spre a fi verificat și verifică la rândul ei validitatea acelui certificat digital.
EAP - Extensible Authentication Protocol: la rândul său un framework, de data aceasta
de autentificare, EAP nu realizează autentificare per se, ci oferă o schemă de mesaje
de autentificare ce folosește metode specifice, cum sunt MD5, GTC, TLS, SIM,
AKA. În faza de autentificare, EAP este folosit ca extensie a protocolului IKEv2,
acest framework nefiind suportat în IKEv1.
Cele mai multe implementări de IPSec încearcă să realizeze pe cât posibil optimizarea
utilizării resurselor computaționale disponibile. Un exemplu în acest sens este închiderea
tunelului IPSec în cazul în care nu se mai trimit date pentru o anumită durată de timp, sau
dacă lărgimea de bandă ocupată pentru o anumită conexiune este nulă. Dacă aceasta este
configurația implicită, pentru anumite conexiuni se poate dori suprascrierea ei și menținerea
acelei conexiuni. Una dintre posibilitățile puse la dispoziție de standard se numește DPD -
Dead Peer Detection. Acesta este un mecanism de timp keepalive care presupune trimiterea
unui pachet între capetele conexiunii, la un interval stabilit.
Cu toate "măsurile de siguranță" luate în cazul IPSec, au fost raportate și unele
vulnerabilităţi în anumite configuraţii ale acestuia, acestea putând fi exploatate de atacatori
pentru a sustrage informaţii confidenţiale. Aceste atacuri sunt posibile când IPSec foloseşte
ESP (Encapsulating Security Payload) în modul de funcţionare tunnel cu opţiunea
confidentiality only, sau opţiunea integrity protection oferită de modulul AH sau de un
protocol de nivel mai ridicat. Dacă un atacator poate intercepta şi modifica comunicaţiile
IPSec și ICMP între două servere de tip security gateway, exploatând această vulnerabilitate
poate lansa atacuri de tip Destination Address Rewriting, IP Options modification şi Protocol
Field modification, astfel făcând posibilă sustragerea de informaţii din datele transferate
folosind IPsec. Ca și soluţie este recomandat să se configureze ESP astfel încât să folosească
atât opţiunea confidentiality, cât şi integrity protection și să se folosească protocolul AH
alături de ESP pentru a oferi protecţia integrităţii.
Protocolul Kerberos
Protocolul Kerberos1 a fost proiectat la Massachusetts Institute of Technology (MIT), în
jurul anului 1984 pentru a proteja serviciile de reţea oferite de proiectul Athena. Scopul
protocolului Kerberos era să extindă noţiunea de autentificare, autorizare şi contabilizare a
mediului MIT.
Kerberos a fost proiectat pe baza modelului client-server și asigură autentificarea
mutuală, adică atât utilizatorul cât și serverul se autentifică unul față de celălalt. În
terminologia Kerberos, un domeniu administrativ se numeşte realm. Se presupune că orice
companie sau organizaţie care doreşte să ruleze Kerberos poate crea un realm identificat unic
printr-un nume. Teoretic, Kerberos poate suporta mai bine de 100.000 de utilizatori. Kerberos
se bazează pe modelul client / server. Protocolul în sine constă dintr-un schimb de mesaje
între un client şi o serie de servere, fiecare cu o altă misiune.
1
În mitologia greacă, cerberul (Kerberos) este numele unui câine de pază cu trei capete al lui Hades, a cărui
misiune era să păzească intrarea în lumea de dedesubt.
22
Utilizatorii, clienţii şi serviciile de reţea instanţiate pe un host în particular se consideră în
mod tipic parteneri. Fiecare partener este identificat în mod unic de un identificator de
partener. Un identificator de partener are în componenţă trei câmpuri, fiecare fiind un şir
terminat cu null de până la 40 de caractere. Aceste trei câmpuri sunt:
Numele partenerului, NAME
Numele instanţei, INSTANCE
Numele realm-ului, REALM
Cheia master (Kp) a fiecărui partener trebuie ţinută secretă, de aceea toate aceste chei se
codifică cu o cheie master a KDC. Pe lângă o protecţie sporită, această metodă permite
distribuirea bazei de date între servere fără riscul de a fi capturată de un potenţial atacator.
Cheia master KDC nu se păstrează în aceeaşi bază de date, ci se operează separat.
Un centru de distribuție a cheilor are două părți:
23
un server de autentificare (Authentication Server - AS);
un server de alocare a tichetelor (Ticket Granting Server - TGS).
AS şi TGS sunt componente separate logic dar pot fi procese care rulează pe aceeaşi
maşină. Aceasta trebuie să fie protejată cu grijă şi securizată fizic, deoarece un intrus ar putea
compromite uşor întreg sistemul de la acest nivel. Un tichet este un certificat emis de KDC şi
criptat cu cheia master a serverului. Printre altele, un tichet conţine:
Cheia de sesiune care va fi utilizată pentru autentificarea între client şi server
Numele partenerului către care cheia de sesiune a fost emisă
Un timp de expirare după care cheia de sesiune nu mai este validă
1 2 3 4
5
6
Aşa cum a fost descris până acum, modelul Kerberos nu oferă decât serviciul de
autentificare. În sine, el nu oferă informaţii despre autorizarea clientului în a folosi anumite
servicii de reţea. În general, sunt trei posibilităţi pentru atingerea problemei autorizării, şi
anume:
baza de date Kerberos ar putea conţine informaţii de autorizare pentru fiecare serviciu
şi să emită bilete doar utilizatorilor autorizaţi.
un serviciu dedicat poate menţine informaţiile de autorizare prin liste de acces pentru
fiecare serviciu şi permiterea clientului să obţină certificate sigilate de apartenenţă la
listă. În acest caz clientul ar prezenta serviciului certificarea în locul biletului
Kerberos.
fiecare serviciu poate menţine propria informaţie de autorizare cu ajutorul opţional al
unui serviciu care stochează aceste liste de acces şi oferă certificări de apartenenţă la
listă.
Modelul Kerberos se bazează pe faptul că fiecare serviciu cunoaşte cu exactitate cine sunt
utilizatorii săi şi ce formă de autorizare este potrivită pentru aceştia. În consecinţă Kerberos
foloseşte cea de-a treia metodă. Pentru simplificarea implementării celei de a treia metode,
Kerberos foloseşte modelul de autorizare bazat pe liste de control al accesului. Orice serviciu
care consideră că i se potriveşte acest tip de autorizare poate încorpora a bibliotecă cu funcţii
adecvate. Utilizarea acestui model presupune că serviciul verifică dacă o identitate verificată
aparţine unei liste de acces.
Primele trei versiuni ale Kerberos au fost folosite doar în cadrul MIT, în prezent
nemaifiind folosite. Prima versiune făcută publica a fost Kerberos V4, versiune ce a cunoscut
o răspândire importantă în afara MIT. Deoarece unele medii necesitau funcţionalităţi
neacoperite de Kerberos V4, iar altele aveau o structură diferită de modelul MIT, în 1989 a
25
început lucrul la Kerberos V5. În septembrie 1993, Kerberos V5 a fost specificat ca standard
Internet în RFC 1510 [KOHL93]. MIT a dezvoltat şi testat Kerberos V5 pe Ultrix, SunOS,
Solaris şi Linux, fiind portat şi pe alte sisteme de către terţi. Deşi similare ca şi concept,
Kerberos V4 şi V5 sunt substanţial diferite şi chiar sunt în competiţie pentru dominaţia pe
piaţă. Pe scurt, Kerberos V4 are o bază de instalare mai mare, este mai simplu şi are o
performanţă mai mare decât V5, însă lucrează doar cu adrese IP. Kerberos V5 pe de altă parte,
are o bază de instalare mai redusă, este mai complicat şi implicit mai puţin eficient, dar
prezintă mai multă funcţionalitate decât V4.
În ciuda faptului că este disponibil codul sursă pentru Kerberos V4 şi V5, MIT nu-l
susţine oficial şi nu oferă suport. Unele companii însă oferă contra cost versiuni comerciale de
implementări Kerberos. Informaţii despre versiunile freeware şi comerciale se găsesc în
Kerberos FAQ publicat periodic în grupul de ştiri comp.protocols.kerberos.
Printre protocoalele criptografice implementate de Kerberosse află: Protocolul Needham-
Schroeder, Protocolul Kerberos V4.
26
În Kerberos V5, multe dintre probleme prezentate anterior au fost luate în seamă la
proiectarea acestuia. Una din marile probleme este aceea că sistemul Kerberos se bazează în
continuare pe parole bine alese şi pe faptul că acestea sunt ţinute secrete. Dacă un atacator
poate primi acces la parola unui utilizator, Kerberos nu poate distinge între cei doi. O
problemă oarecum înrudită a Kerberos V5 este și faptul că nu e rezistent la atacuri reply.
Protocolul SESAME
Protocolul SESAME (Secure European System for Applicxations in a Multivendor
Environment) este rezultatul unui proiect al Asociației Fabricanților Europeni de Calculatoare
(ECMA – European Computer Manufacturer Asociation) propus pentru optimizarea și
extinderea protocolului Kerberos pentru controlul distribuit al accesului în rețea. SESAME
foloseste o tehnică de autorizare și control al accesului similară celei aplicate de protocolul
Kerberos, cu autentificare a clientului de către AS. Suplimentar, este necesară și autentificarea
de către un server de privilegii (PAS – Privilege Attribute Server) care eliberează un certificat
de privilegii (PAC – Privilege Attribute Certificate) după prezentarea unei dovezi de
autenticitate. Certificatul este semnat cu cheia privată a serverului emitent. În certificat se
specifică identitatea și rolul utilizatorului, grupul organizațional căruia îi aparține, permisiuni
și restricții impuse, condiții de utilizare a certificatului. După obținerea certificatului, clientul
se adresează serverului KDS (Key Distribution Center Server), conform RFC 3634, pentru
obținerea tichetului de serviciu.
SESAME a adoptat terminologia introdusă de cadrele de securitate ISO/IEC. În
particular, se foloseşte termenul de partener pentru a referi o persoană sau entitate înregistrată
şi autentificabilă. Când joacă un rol activ (spre exemplu când solicită acces), partenerul se
numeşte iniţiator. Când joacă un rol pasiv (spre exemplu este accesat), partenerul se numeşte
ţintă. Un serviciu este un set abstract de funcţionalităţi care poate fi implementat de un număr
de servere separate. Referindu-ne la modelul client / server, componentele aplicaţiei client
joacă rolul de iniţiatori comunicând cu componentele aplicaţiei server care joacă rolul de
ţintă.
Obiectivul primar al proiectului SESAME este producerea de tehnologie pentru controlul
accesului în sisteme distribuite, adică să ofere servicii de autentificare, control al accesului,
confidenţialitate şi integritate a datelor.
Arhitectura sistemului SESAME folosește o ierarhie de chei cu două niveluri:
o cheie simplă - stabilită și utilizată între un SACM inițiator și PVF-ul SACM-ului
țintă, pentru a proteja PAC-urile corespunzătoare precum si informațiile de stabilire a
cheilor.
o cheie de dialog - derivată din cheia simplă cu o funcție de dispersie cu sens unic
(one-way function). Scopul acesteia este de a proteja datele schimbate într-un context
de securitate. Pentru protecția integrității și a confidențialității se pot stabili chei de
dialog separate, permițând ca mecanisme cu puteri de criptare diferite să fie utilizate
conform cu legislația locală.
27
În modelul SESAME se foloseşte o tehnică similară cu Kerberos pentru autorizare şi
controlul accesului. Dacă un client doreşte să utilizeze un serviciu, el nu trebuie doar
autentificat de AS, ci drepturile sale autentificate de un server de privilegii (PAC). În
principiu, un PAC constă atât din privilegiile utilizatorilor cât şi informaţia de control
corespunzătoare. Privilegiile utilizatorilor sunt date precum identitatea utilizatorului, rolul,
grupul organizaţional, permisiunile de securitate, iar informaţiile de control spun unde şi când
se poate folosi PAC-ul şi dacă poate fi delegat sau nu. PAC este conceptual similar cu un
certifica de control al accesului, aşa cum se specifică în (ISO / IEC, 1993b). În modelul
SESAME, un PAS generează un PAC la prezentarea unei dovezi de autentificare, iar PAC-ul
este semnat digital cu cheia privată a PAS-ului corespunzător.
Printre versiunile modelului SESAME se evidențiază SESAME V3 care foloseşte
criptografia cu chei publice, oferind o posibilitate de a genera şi distribui certificate de chei
publice.
Modelul poate fi descris astfel:
pasul 1
se Aflat la o staţie de lucru pentru a se loga, clientul prezintă numele, parola şi rolul
solicitat. Mesajul KRB_AS_REQ ajunge la AS, solicitândui-se un TGT. Formatul mesajului
este aproximativ acelaşi cu cel din cadrul protocolului Kerberos.
pasul 2
AS generează un tichet PAS şi o cheie simplă corespunzătoare şi returnează mesajul
KRB_AS_REP lui APA. Schimbul Kerberos AS are ca rezultat achiziţia unui bilet PAS şi a
cheii simple corespunzătoare, care sunt depozitate în SACM la partea iniţiatoare. De acum
înainte, toate interacţiunile între DSS şi client sunt efectuate de SACM-ul iniţiator.
pasul 3
SACM-ul iniţiator trimite un mesaj KRB_PAS_REQ către PAS. Mesajul include atât
tichetul PAS cât şi rolul utilizatorului. Luând în calcul rolul solicitat, PAS-ul generează un
PAC, îl semnează cu cheia sa privată şi în plus generează un bilet KDS.
pasul 4
PAS-ul returnează un mesaj KRB_PAS_REP SACM-ului iniţiator, iar acest mesaj
include atât PAC cât şi biletul KDS. În plus faţă de acestea, mesajul poate include valori de
control necesare dacă PAC-ul este delegabil. Mesajul KRB_PAS_REP este codificat cu cheia
simplă cunoscută de SACM-ul iniţiator şi de PAS. SACM-ul iniţiator păstrează toate
informaţiile primite până acum, în speţă biletele PAS şi KDC, PAC-ul, valorile de control şi
cheia simplă. Un program de manipulare a utilizatorilor poate accesa atributele în PAC prin
apeluri API corespunzătoare, aşa încât spre exemplu, un utilizator poate fi informat cu ce
privilegii lucrează în mod curent. Cu condiţia ca aceşti paşi de iniţializare au fost parcurşi cu
succes, orice aplicaţie pe partea iniţiatorului poate invoca componenta SACM prin apeluri
corespunzătoare. Dacă pentru orice motiv PAC-ul memorat de SACM nu este valid sau este
nepotrivit, SACM solicită un nou PAC de la PAS.
pasul 5
Dacă un client doreşte să folosească un server de aplicaţii specific pe partea ţintă, el cere
SACM-ului iniţiator să solicite un bilet corespunzător prin trimiterea mesajului
KRB_TGS_REQ către KDS.
28
pasul 6
Dacă KDS are o cheie secretă cu PVF-ul corespunzător SACM-ului ţintă, KDS-ul
returnează un mesaj KRB_TGS_REP către SACM-ul iniţiator.
pasul 7
SACM-ul iniţiator generează un mesaj SES_INIT_CTXT care conţine un bilet de
serviciu, un pachet conţinând seminţele cheilor de integritate şi confidenţialitate, precum şi
PAC-ul. Când protocolul de comunicaţie transmite marcajul de stabilire a contextului de la
SACM-ul iniţiator la cel ţintă, acesta din urmă îl înaintează PVF-ului său pentru verificare.
PVF-ul procesează informaţia pentru a extrage cheia simplă şi utilizează pachetul cheii de
dialog pentru a genera două chei de dialog, şi anume cheia de confidenţialitate şi cheia de
integritate.
pasul 8
Dacă biletul este valid şi dacă se solicită autentificare reciprocă, SACM-ul ţintă
returnează SACM–ului iniţiator în, mesajul SES_INIT_CTXT_COMPLETE. Acum este
stabilit un context de securitate între SACMurile iniţiator şi ţintă, orice aplicaţie putând folosi
acest context pentru transmisie de date. După ce aplicaţia a terminat, se solicită terminarea
contextului prin trimiterea SES_CTXT_ABORT.
SESAME V3 oferă autentificare, confidenţialitate, integritatea datelor şi servicii de
autorizare şi control al accesului. Drept urmare, SESAME este o alternativă interesantă la
Kerberos. Un alt avantaj este faptul că SESAME nu este un sistem proprietar. În schimb,
rădăcinile sale sunt în munca ECMA şi nu este legat de o platformă specifică sau protocol
anume. De la început, SESAME a fost proiectat pentru un mediu multi-vendor, iar acest
obiectiv se dovedeşte util când se realizează integrarea unui sistem în organizaţii mari sau
clustere de organizaţii cooperante.
Acestor protocoale li se mai adaugă şi altele, cum ar fi: Protocolul RADIUS, Protocolul
DIAMETER, Protocolul de Autentificare Extinsă (EAP).
29