introducere în securitatea rețelelor -...

29
1 Centru de formare și analiză în ingineria riscurilor (CeFAIR) Introducere în securitatea rețelelor Lect. Dr. M. Apetrii

Upload: others

Post on 30-Aug-2019

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

1

Centru de formare și analiză în ingineria riscurilor (CeFAIR)

Introducere în

securitatea rețelelor

Lect. Dr. M. Apetrii

Page 2: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

2

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.).

Page 3: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

3

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.).

Page 4: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

4

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 .

Plăcile / adaptoarele de conectare la reţele (NIC-urile)

NIC-urile, plăcile/adaptoare de reţea (uzual numite în România) sunt instalate în carcasa PC-ului, fiind conectate cu placa de bază, respectiv cu panoul din spate al PC-ului (mufe RJ 45). La calculatoarele portabile (notebook-uri) aceste plăci sunt de regulă inserate în conexiuni (sloturi) accesibile din exterior sub forma unor interfeţe de tip PCMCI, având forma cunoscută sub denumirea de PC Card. NIC-urile de tip Ethernet vor putea fi conectate doar la medii fizice adecvate, respectiv reţele rapide sau lente (10/100Mhz). În ultimii ani NIC-urile sunt prevăzute cu mai multe standarde, sub denumirea de plăci combo (conexiuni tip Coaxial 10Base2, respctiv UTP/ 10Base-T). Pe cele mai moderne placi de baza din PC-uri există mai nou moda încorporării şi a plăcilor de tip NIC, ceea ce duce la noi avantaje (preţ) dar şi dezavantaje (în situaţii de defectare a oricărei placi). Unele NIC-uri suportă de asemenea conexiuni “fără fir”, utilizând tehnologii radio sau IR (infraroşu) pentru transmisiuni prin “aer”. Aceste NIC-uri au funcţiuni logice ca şi ale celor clasice (fir), având diferenţe majore în partea de interfeţe fizice / traductori. Standarde precum PCI (Peripheral Component Interconnect) şi ISA (Industry Standard Architecture) sunt disponibile atât la plăcile standard PC, cât şi pe plăcile de reţea pentru portabile (notebook, laptop, agende manageriale).

Hub-uri (repetoare) Sunt simple dispozitive active care conectează grupuri de utilizatori. HUB-urile sunt

transparente la traficul de date, fişiere, e-mailuri, informaţiile primite pe un port fiind distribuite pe toate celelalte porturi active. Este cunoscut ca un dispozitiv "neinteligent", el neoperând activ în aşa numitul domeniu de coliziuni (conexiunile dintre PC-uri nefiind tratate, dispozitivul îmbunătăţind doar nivelul semnalelor), motiv pentru care este cunoscut şi ca repetor. Dat fiind evoluţia/scăderea preţurilor pentru dispozitivele active inteligente (switch-uri, rutere) în acest moment HUB-ul nu mai reprezintă o soluţie promovată de firmele de specialitate pentru extinderea rețelelor de calculatoare, exceptând situaţiile utilizate ca simplu repetor. Ca şi repetoare există şi dispozitive dedicate, ele având în general şi alte elemente de adaptare la extinderi ale rețelelor, în funcţie de mediul fizic de extensie, cum ar fi spre exemplu extensia în exteriorul unei clădiri a unei rețele.

Page 5: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

5

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.

Page 6: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

6

Î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,

Page 7: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

7

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

Page 8: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

8

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.

Modelul OSI vs. Modelul TCP/IP

Nivelul de acces la rețea (Network Access) înglobează funcțiile nivelelor OSI 1 și 2. Pe acest nivel se definesc standardele de rețele (Ethernet, Fast Ethernet, GigaEthernet, 10GigaEthernet, Token-Bus, Token-Ring, WLAN, WIFI, Bluetooth etc.) și protocoalele pentru comunicații seriale PPP (Point-to-Point Protocol) și SLIP (Serial Line Internet Protocol). Legătura cu nivelul Internet este făcut de două protocoale de adresare ARP (Address Resolution Protocol) și RARP (Reverse Address Resolution Protocol). ARP comunică la cerere, pe baza adresei IP a unui echipament, adresa fizică (MAC) de 6 octeți a acestuia (RFC 826). RARP furnizează la cerere adresa IP dată unui echipament cu adresa

Page 9: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

9

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.

Pe nivelul Internet, se folosesc protocoalele IP (Internet Protocol), ICMP (Internet Control Message Protocol) și IGMP (Internet Group Management Protocol).

Nivelul internet este axul central al arhitecturii, rolul sau fiind acela de a permite gazdelor să emită pachete în rețea și de a asigura transferul lor între sursă și destinație (lucrează asemănător cu nivelul rețea din modelul OSI). În versiunea 4 erau definite adrese IP de 4 octeți, exprimați în format zecimal cu separare prin puncte (dotted-decimal notation), pentru localizarea sistematică a sursei și destinației, într-o anumită rețea sau subrețea de calculatoare. Versiunea 6 a protocolului IP (IPv6) definește adrese de 128 de biți, respectiv 16 octeți, adică un spațiu de adrese extrem de larg. IPv6 nu mai folosește sume de control pe nivelul Internet, controlul erorilor revenind nivelelor legătură de date și celui de transport. IPv6 include protocoalele de securitate care erau doar opționale în versiunea anterioară a protocolului IP. O altă facilitate se referă la utilizarea IPv6 pentru comunicații mobile (MIPv6 - Mobile IPv6) care evită o serie de probleme de rutare.

Nivelul transport echivalent ca nume și funcționalitate cu nivelul OSI 4 este proiectat astfel încat să permită dialogul între entitățile pereche din gazdele sursă și destinație. Pe nivelul de transport se folosesc două tipuri de protocoale, cu și fără conexiune.

TCP (Transmission Control Protocol) este un protocol orientat pe conexiune, asemenea sistemelor telefonice. Permite controlul traficului, confirmarea sau infirmarea recepției corecte a mesajelor, retransmisia pachetelor și ordonarea corectă a fragmentelor unui mesaj. La destinație, procesul TCP receptor reasamblează mesajele primite, reconstituind datele inițiale. TCP realizează controlul fluxului de date pentru a evita situația în care un transmiţător rapid inundă un receptor lent cu mai multe mesaje decat poate acesta să prelucreze. Un protocol de transport asemănător TCP este SCTP (Stream Control Transmission Protocol) care permite transmisia în paralel a mai multor fluxuri (multistreaming), utilă în numeroase aplicații de tip multimedia (de exemplu, transmisia simultană a mai multor imagini dintr-o aplicație web).

UDP (User Datagram Protocol) este un protocol de transport fără conexiune, asemănător sistemului poștal clasic, mai puțin sigur decât TCP dar mai puțin pretențios. Acesta este destinat aplicațiilor care doresc să utilizeze propria secvențiere și control propriu al fluxului și nu mecanismele asigurate de TCP. Este un protocol folosit în aplicații pentru care comunicarea rapidă este mai importantă decât acuratețea transmisiei, așa cum sunt aplicațiile de transmitere a sunetului și imaginilor video.

Nivelul aplicație din modelul TCP/IP include funcțiile nivelelor OSI superioare 5, 6 și 7. Nivelul aplicație conține protocoalele de nivel înalt care oferă direct servicii de rețea utilizatorului. Printre aceste protocoale găsim:

SMTP (Simple Mail Transfer Protocol) permite diferitelor calculatoare care folosesc TCP/IP să comunice prin poșta electronică (electronic-mail). Acest protocol stabileste conexiunea punct-la-punct între clientul SMTP și serverul SMTP, asigură transferul mesajului prin TCP, înstiințează utilizatorul despre noul mesaj primit, după care se desface legătura dintre client și server.

POP (Post-Office Protocol) este protocolul prin care utilizatorul își preia mesajele din căsuța postală proprie. Spre deosebire de versiunea POP2, POP3 permite accesul de la distanță al utilizatorului la căsuța sa postală.

Page 10: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

10

IMAP (Internet Message Access Protocol) versiunea 4 este echivalentă ca funcționalitate cu POP3, adică permite clientului preluarea de la distanță a mesajelor de e-mail din căsuța postală proprie.

FTP (File Transfer Protocol) este un protocol de transfer al fisierelor între calculatoare, mai precis un limbaj comun care permite comunicarea între oricare două sisteme de operare (WINDOWS, LINUX/UNIX etc) folosind programe FTP pentru client și server. FTP foloseste două conexiuni TCP pentru transferul sigur al datelor simultan cu controlul comunicației.

SFTP (Simple File Transfer Protocol) este o versiune simplificată a FTP, bazată pe o singură conexiune TCP.

TELNET (Virtual Terminal Connection Protocol) este un protocol de terminal virtual care permite conectarea unui utilizator de la distanță la anumite calculatoare-gazdă.

FINGER (Finger User-information Protocol) este un protocol care permite obținerea de informații publice despre utilizatorii unei rețele.

SSH (Secure Shell Protocol) oferă mai multe servicii de rețea (postă electronică, transfer de fișiere, conexiuni la distanță s.a.) în mod securizat, folosind algoritmi de criptare.

BOOTP (BOOTstrap Protocol) este apelat de un utilizator pentru aflarea adresei IP. Acest protocol foloseste UDP pentru transportul mesajelor.

DHCP (Dynamic Host Configuration Protocol), succesor al protocolului BOOTP, permite utilizarea unui număr limitat de adrese IP de către mai mulți utilizatori. Clientul solicită serverului DHCP o adresă IP. Acesta îi alocă o adresă dintr-un domeniu de adrese cunoscut, eventual îi furnizează și masca de rețea. Alocarea este rapidă și dinamică.

HTTP (HyperText Transfer Protocol), protocolul generic al serviciului de web, este folosit de utilizatorii web și de serverele WWW pentru transferul unor fisiere de tip text, imagine, multimedia, în format special (hypertext), prin intermediul unui limbaj de editare HTML (HyperText Markup Language). Varianta securizată a acestuia este HTTPS (HTTP Secure) și oferă protecție față de tentativele de interceptare a comunicației.

NTP (Network Time Protocol) este cel mai precis protocol de timp din Internet. Acesta sincronizează ceasurile interne din două sau mai multe calculatoare, cu o precizie de 1 - 50 ms față de timpul standard oficial.

SNMP (Simple Network Management Protocol) este folosit pentru supravegherea funcționării rețelelor bazate pe TCP/IP (controlul statistic al traficului, performanțelor, modului de configurare și securizare) .

IRC (Internet Relay Chat) este un protocol de comunicație în timp real, fie de tip conferință, cu mai mulți utilizatori, fie de comunicare în pereche de tip unul-la-unul. IRC foloseste TCP și opțional TLS.

Page 11: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

11

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

Page 12: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

12

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.

În funcție de modul în care acționează, ca sursă şi destinație, atacurile pot fi centrate pe

o singură entitate (de exemplu, este atacat un anumit server din rețea de pe un singur echipament) sau pot fi distribuite (lansate din mai multe locații sau către mai multe mașini simultan).

Un alt criteriu de clasificare este acela al interacțiunii atacatorului cu informația obținută în urma unui atac reușit, putând avea atacuri pasive și atacuri active.

Atacurile pasive sunt acelea în cadrul carora intrusul observă informația ce trece prin "canal", fară să interfereze cu fluxul sau conținutul mesajelor. Ca urmare, se face doar analiza traficului, prin citirea identității parţilor care comunică şi "învăţand" lungimea şi frecvenţa mesajelor vehiculate pe un anumit canal logic, chiar dacă conținutul acestora este neinteligibil. Atacurile pasive pot fi de două feluri:

de citire şi înregistrare a conţinutului mesajelor, de exemplu, în serviciul de postă electronică;

de analiză a traficului.

Atacul pasiv de simplă observare sau de „ascultare” a traficului (eavesdropping) poate fi simplu realizat în reţelele wireless cu echipamente de radiorecepţie acordate pe frecvenţa de lucru a reţelei. Interceptarea pachetelor transmise în reţea (packet sniffing) reprezintă de asemenea un atac pasiv deosebit de periculos deoarece intrusul este conectat la reţeaua de comunicaţie (de exemplu, pe un port la unui switch nesecurizat fizic) şi poate prelua din pachete informaţiile transmise în clar.

Page 13: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

13

Atacurile pasive au urmatoarele caracteristici comune:

nu cauzează pagube (nu se şterg / modifica date); încalcă regulile de confidenţialitate prin furtul de informaţii din reţea; sunt avantajate de rutarea pachetelor prin noduri de reţea mai puţin protejate, cu risc

crescut; observă modificările din reţea (noi echipamemente introduse, schimbarea,

configurărilor etc.); sunt greu sau chiar imposibil de detectat.

Aceste atacuri pot fi realizate printr-o varietate de metode, cum ar fi supravegherea

legaturilor telefonice sau radio, exploatarea radiaţiilor electromagnetice emise, rutarea datelor prin noduri aditionale mai putin protejate. Pentru contracararea acestor atacuri se dezvoltă sisteme de prevenţie şi detecţie a intruşilor în reţea, fie ca soluţii software, fie cu echipamente dedicate (de exemplu, prin măsurători de câmp radiat pentru stabilirea ariei de acoperire a unei reţele wireless).

Din punct de vedere al acestor atacuri, reţelele optice sunt cel mai bine protejate, fiind practic imposibilă interceptarea traficului fără a se sesiza prezenţa intrusului. Riscurile cele mai mari de atac pasiv, de intercepţie a informaţiilor din reţea (date propriu-zise sau de identificare) apar în reţelele wireless. Reţelele cablate, cu cabluri cu conductoare metalice, sunt vulnerabile la atacuri pasive în nodurile de comunicaţie de tip hub sau switch. Atacurile pasive nedetectate care au ca finalitate preluarea cheilor de criptare reprezintă un risc major pentru reţea, întrucât prin necunoasterea cheilor compromise se creează breşe în sistemul de securizare a informaţiilor prin criptarea traficului.

Atacurile active sunt acele atacuri în care intrusul se angajează fie în furtul mesajelor, fie în modificarea, reluarea sau inserarea de mesaje false, fie prin supraîncărcarea reţelei cu pachete (flooding). Aceasta înseamnă ca el poate șterge, întârzia sau modifica mesaje, poate să facă inserarea unor mesaje false sau vechi, poate schimba ordinea mesajelor, fie pe o anumită direcţie, fie pe ambele direcţii ale unui canal logic. Aceste atacuri sunt serioase deoarece modifică starea sistemelor de calcul, a datelor sau a sistemelor de comunicaţii. Aceste atacuri se pot clasifica în:

Mascarada - este un tip de atac în care o entitate din reţea (client, server, utilizator, serviciu) pretinde a fi o alta entitate. De exemplu, un utilizator încearcă sa se substitue altuia sau un serviciu pretinde a fi un alt serviciu, în intenţia de a lua date secrete (numarul carţii de credit, parola sau cheia algoritmului de criptare). O "mascaradă" este însoţită, de regulă, de o altă ameninţare activă, cum ar fi înlocuirea sau modificarea mesajelor. Multe dintre atacurile de acest tip pot fi evitate prin adoptarea unor politici de securitate adecvate, care presupun responsabilizarea utilizatorilor, implementarea unor metode de acces robuste, folosirea unor metode de autentificare cât mai eficiente.

Reluarea - se produce atunci cănd un mesaj sau o parte a acestuia este reluată (repetată), în intenţia de a produce un efect neautorizat (autentificarea atacatorului folosind informaţii de identificare valide, transmise de un utilizator autorizat al reţelei). De exemplu, este posibilă reutilizarea informaţiei de autentificare a unui mesaj anterior. În conturile bancare, reluarea unităţilor de date implică dublări şi/sau alte modificări nereale ale valorii conturilor. Sistemul de gestionare a resurselor şi de monitorizare a accesului poate depista intenţia de acces fraudulos de pe un anumit nod din reţea şi, pe baza politicii de securitate, poate să îl treacă în carantină, pe o

Page 14: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

14

perioadă de timp limitată în care se verifică existenţa atacului, şi ulterior să îi interzică total accesul în reţea pe baza adresei fizice, a celei de reţea sau de pe un anumit cont de utilizator de pe care s-a produs atacul. De cele mai multe ori acest atac este considerat pasiv, dar dacă se iau în considerare efectele pe care le poate avea, inclusiv interceptarea şi distrugerea informaţiilor transmise prin reţea, este mai indicată includerea lui în categoria atacurilor active.

Modificarea mesajelor - face ca datele mesajului sa fie alterate prin modificare, inserare sau ştergere. Poate fi folosită pentru a se schimba beneficiarul unui credit în transferul electronic de fonduri sau pentru a modifica valoarea acelui credit. O altă utilizare poate fi modificarea câmpului destinatar/expeditor al poştei electronice. Un astfel de atac se întâlneste în reţelele wireless bazate pe WEP, cu vulnerabilităţi ale mecanismului de criptare. Atacatorul reuşeşte să intercepteze pachetele, să decripteze datele şi să modifice informaţiile, după care le criptează din nou, cu acelasi algoritm, și corectează CRC-ul (componenta de verificare a erorilor) pentru ca datele modificate să fie considerate valide la destinaţie. Acest tip de atac este denumit şi atac subtil, fiind extrem de dificil de depistat. Falsificarea datelor şi a mesajelor este posibilă şi prin atacul de tip “omul-din-mijloc” când atacatorul se află într-un nod intermediar dintr-un link de comunicare şi poate intercepta mesajele transmise de sursă substituindu-le cu mesaje proprii, cu informaţii false.

Refuzul serviciului - se produce când o entitate nu izbuteşte să îndeplineasca propria funcţie sau când face acţiuni care împiedică o alta entitate de la îndeplinirea propriei funcţii. Acest lucru se realizează prin supraîncărcarea serverelor cu cereri din partea atacatorului şi consumarea resurselor, astfel încât acele servicii să nu poată fi oferite şi altor utilizatori. Ca urmare a acestui atac, conexiunile existente se închid, fiind necesară reautentificarea utilizatorilor, atacatorul profitând de acest moment pentru a intercepta datele de identificare, informaţii despre reţea şi conturi de utilizare autorizată.

Repudierea serviciului - se produce când o entitate refuză să recunoască un serviciu deja executat. Este evident că în aplicaţiile de transfer electronic de fonduri este important sa se evite repudierea serviciului atât de catre emiţător, cât şi de către destinatar. Dacă utilizatorul neagă folosirea serviciului şi refuză plata acestuia, furnizorul trebuie să dispună de dovezi solide care să împiedice repudierea serviciului în context legal.

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:

Page 15: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

15

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.

Page 16: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

16

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;

Page 17: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

17

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.

Page 18: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

18

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.

Page 19: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

19

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. Protocolul IPSec (Internet Protocol Security)

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)

Page 20: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

20

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.

Pentru o asociație de securitate, ca și identificatori, avem un număr aleator denumit identificator de securitate (SPI - Security Parameter Index), o adresă IP de destinație și un protocol de securitate (AH sau ESP).

Identificatorul de securitate constă într-un sir de biți cu semnificație locală, inclus în antetele AH și ESP pentru a permite destinației să selecteze SA-ul pentru procesarea pachetului recepționat;

Page 21: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

21

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.

Pentru ca în momentul securizării traficului fiecare entitate să cunoască parametrii de

securizare pentru fiecare tip de trafic este folosit identificatorul SPI - Security Parameter Index, un index pe baza de date SAD. Folosind acest index și valoarea adresei IP din destinația pachetului ce urmează a fi supus procesului de criptare sau autentificare, fiecare entitate IPSec știe exact ce transformare trebuie realizată pe fiecare pachet IP pentru ca acesta să poată fi decriptat la receptor și corect interpretat.

Procesul de decriptare este asemănător în momentul recepției unui pachet astfel securizat. În cazul în care sunt mai mult de doi participanți la asocierea de securitate, în cazul traficului de tip multicast, asocierea de securitate este furnizată pentru întregul grup și este prezentă pe fiecare sistem participant. Pot exista, deasemenea, mai multe asocieri de securitate pentru un același grup de entități, fiecare cu diverse nivele de securitate în interiorul grupului.

În funcție de al tipului entității participante la IPSec putem avea modelul de trafic:

Site-to-Site sau LAN-to-LAN, în cazul în care entitățile sunt două gateway-uri de securitate care realizează operații criptografice pentru subrețele protejate aflate în administrarea lor.

Remote-Access sau Dial-Up VPN, în cazul în care entitățile sunt un gateway de securitate care are în administrare o subrețea și un calculator independent care dorește să comunice cu acea subrețea.

Această manieră de clasificare se pretează în exclusivitate tipului de încapsulare tunel,

neavând sens pentru tipul transport, în principal datorită faptului că un pachet trimis pe rețea are două seturi de adrese IP: un set "extern", reprezentat de adresele IP are calculatorului și al gateway-ului căruia se adresează, și un set de adrese IP "intern", reprezentat de adresa IP a unei mașini din interiorul rețelei și a unei adrese IP noi a calculatorului, obținută de la acel gateway pentru a avea adresabilitate de nivel IP în interiorul rețelei la care acest calculator se conectează. Procedeul prin care un calculator obține, în momentul negocierii IPSec, o adresă de la gateway pentru a avea acces într-o rețea internă este numit mode-config în scenariile de tip IKEv1 sau configurare remote în cele de IKEv2.

În momentul negocierii de IKE a parametrilor asocierii de securitate se realizează și faza de autentificare mutuală sau unilaterală a entităților, existând mai multe modalități de a realiza această autentificare:

PSK - Pre-Shared Key : pentru autentificare, fiecare entitate are pre-configurată o cheie secretă, o parolă. În momentul realizării negocierii IKE, entitățile trimit această cheie pe rețea, spre a fi verificată de entitățile omoloage și verifică, la rândul lor, că o anumită entitate-pereche are o anumită cheie secretă.

PKI - Public Key Infrastructure: pentru autentificare este folosit un sistem de tip PKI. Fiecare entitate are un certificat digital semnat de o autoritate de certificare publică sau internă companiei, dar de încredere pentru toate entitățile participante în IPSec. În

Page 22: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

22

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.

Page 23: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

23

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

Mesajele protocolului Kerberos sunt protejate împotriva atacurilor de ascultare (eavesdropping) și de reluare a mesajelor (replay), scopul sistemului Kerberos fiind acela de a permite unui client ce rulează în numele unui utilizator anume să se identifice unui serviciu sau unui server de aplicaţii corespunzător, fără a se necesita trimiterea unor date secrete care ulterior să poată fi folosite de un atacator la impersonarea utilizatorului. Pentru a realiza acest lucru, modelul Kerberos necesită existenţa unui terţ de încredere care serveşte ca centru de distribuţie a cheilor (KDC) în realm-ul Kerberos. Kerberos utilizează tehnici simetrice de criptare și oferă un sistem de mesaje criptate numite tichete, care asigură în mod securizat încrederea reciprocă dintre două entități din rețea. Utilizând Kerberos, parolele nu mai sunt transmise prin rețea, nici măcar criptate. În cazul în care un tichet Kerberos este interceptat acesta rămâne protejat deoarece este criptat cu algoritmi robusti de criptare. Odată ce o entitate-client obține un tichet către un anume server, tichetul este păstrat pe calculatorul local până la expirare, făcând astfel din Kerberos un sistem de autentificare foarte eficient. Depinde de implementare, dar în mod uzual un tichet Kerberos expiră după opt ore. Fiecare entitate din rețea, fie client, fie server, deține o cheie secretă, cunoscută doar de ea și de KDC. Această cheie constituie dovada identității unei entități. Pentru o comunicare sigură între două entități din rețeaua publică, KDC generează o cheie a sesiunii. Pentru implementarea protocolului Kerberos trebuie acordată o atenție deosebită stocării parolelor fiecărui client, motiv pentru care serverul central trebuie să fie o maşină foarte sigură. KDC menţine o bază de date cu informaţii despre fiecare partener din cadrul sistemului. Deoarece securitatea este foarte importantă, această informaţie este redusă la un minim posibil pentru a efectua cu succes autentificarea. Astfel, deşi baza de date Kerberos este la nivel de utilizator, aceasta nu conţine informaţii cum ar fi numere de telefon sau adrese, neutilizate în mod curent la autentificare, ci următoarele:

Identificatorul partenerului Cheia master Kp (sau parola dacă este utilizator) Data expirării identităţii Data ultimei modificări a înregistrării Identitatea partenerului care a operat modificarea Timpul maxim de viaţă a biletelor emise partenerului Unele atribute Unele date interne de implementare invizibile la exterior cum ar fi versiunea cheilor,

versiunea cheii master sau indicatori către valori vechi ale înregistrării.

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:

Page 24: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

24

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ă

Pentru înțelegerea principiul de funcționare a protocolului, explicăm noțiunile:

Serverul TGS (Ticket Granting Server) oferă tichete de tip sesiune pentru accesarea altor resurse. De obicei, TGS rulează în KDC;

Tichetul TGT (Ticket Granting Ticket) reprezintă un jeton de validare a unui tichet Kerberos care atestă faptul că o entitate a fost deja autentificată și ne asigură că utilizatorii nu mai trebuie să reintroducă parola după un login inițial, până la expirarea tichetului;

Tichetul de sesiune ST (Session Ticket) reprezintă un jeton de sesiune care permite accesul la resurse protejate. Pentru accesarea oricărei aplicații care utilizează Kerberos este necesar un tichet de sesiune valid.

Pașii protocolului Kerberos sunt (a se vedea figura de mai sus):

pasul 1 Utilizatorul unui sistem client, utilizând un username și o parolă sau un smart card, se

autentifică față de server-ul de autentificare (AS din KDC). Clientul de login furnizează AS numele, iar AS caută intrarea corespunzătoare utilizatorului în baza de date KDC.

pasul 2 Cu parola cerută de client utilizatorului se va cripta TGT. Dacă cheia derivată din parola

utilizatorului poate decripta cu succes TGT, acestuia i se permite accesul. Pe partea de client, TGT-ul este memorat pentru folosire ulterioară şi anume pentru a obţine bilete pentru

1 2 3 4

5 6

Page 25: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

25

autentificarea în servicii de reţea particulare. Scopul principal al TGT este deci să faciliteze o singură autentificare pentru utilizatori. Parola este astfel cerută o singură dată, şi nu de fiecare dată când se cere accesul la un serviciu.

pasul 3 Biletele sunt eliberate de TGS-ul specificat în TGT-ul primit de utilizator. Pentru a obţine

un bilet, clientul trimite o cerere către TGS. pasul 4

Dacă TGS consideră atât biletul cât şi autentificatorul valid, biletul este returnat. Mesajul include numele serviciului cerut, TGT-ul şi autentificatorul. Acesta din urmă

este o informaţie ce poate proba că a fost generată recent utilizând cheia de sesiune de către client şi server împreună. În particular, autentificatorul conţine numele utilizatorului, adresa de reţea a clientului şi timpul curent, fiind criptat cu cheia de sesiune returnată în TGT. Autentificatorul descurajează atacurile replay.

pasul 5 Clientul creează un alt autentificator şi îl trimite împreună cu biletul de serviciu

serverului. pasul 6

Dacă se cere autentificare reciprocă, serverul returnează un autentificator.

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

Page 26: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

26

î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.

Slăbiciunile lui Kerberos

Utilizarea sistemului Kerberos îmbunătăţeşte securitatea aplicaţiilor în reţea dar, prezintă și unele deficiențe:

Dependenţa de criptosistem: implementarea de referinţă de la MIT pentru Kerberos V4 utilizează DES pentru a codifica mesajele. Înainte ca restricţiile de export ale sistemelor criptografice să fie ridicate, răspândirea utilizării lui Kerberos a fost destul de dificilă.

Dependenţa faţă de protocolul Internet: Kerberos V4 necesită utilizarea adreselor de tip IP, ceea ce îl face nepotrivit în anumite medii.

Ordinea octeţilor în mesaj: în Kerberos V4, host-ul care trimite mesajul ordonă octeţii în conformitate cu ordinea sa naturală. Receptorul este responsabil de a re-ordona octeţii pentru a se potrivi modului său nativ. În timp ce acest lucru va uşura comunicarea între host-uri cu aceeaşi ordine a octeţilor, comunicarea cu un tip diferit de host poate afecta interoperabilitatea.

Timpul de viaţă al tichetului: limita de viață de aproximativ 21 de ore a unui tichet este un neajuns major în Kerberos V4, deoarece împiedică acordarea de tichete unor sarcini care rulează multă vreme.

Înaintarea autentificării: Kerberos V4 nu permite ca un tichet emis unui client de pe un host să fie trimis altui host sau utilizat de alt client.

Numirea utilizatorilor: în Kerberos V4, numele sunt compuse din trei componente: nume, instanţă şi domeniu, fiecare având maxim 40 de caractere, aceste dimensiuni dovedindu-se prea mici pentru unele aplicaţii.

Necesitatea autentificării inter-domenii Dubla criptare: TGT-ul emis de AS este codificat de două ori când este returnat la

client şi numai o dată când este trimis la TGS. Autentificarea mesajului: algoritmul de sumă de control din Kerberos V4 nu este

documentat sau publicat, de aceea nu există dovezi despre slăbiciunea sau tăria sa. Totuşi, faptul că un algoritm nu a fost spart până în prezent nu înseamnă că algoritmul este sigur.

Page 27: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

27

Î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ă.

SESAME este proiectat pentru sisteme deschise, cu echipamente de la diferiți producători (multi-vendor), pentru servicii de autentificare, de confidențialitate si integritate a datelor, de autorizare si control al accesului în aplicații distribuite în rețea.

Page 28: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

28

Î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.

Page 29: Introducere în securitatea rețelelor - math.uaic.rocefair/files/intr_in_securitatea_retelelor.pdf · comunicații pot face parte calculatoare, laptopuri, imprimante, telefoane,

29

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).