Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Reprezentare firewall
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
d2s11sh

Introducere
Odata cu aparitia Internet-ului care a interconectat retelele locale a numeroase firme si institutii, problema securitatii datelor impotriva accesului neautorizat a devenit mult mai acuta. Informatii extrem de importante sunt expuse acum nu numai accesului neautorizat din incinta institutiei, ci si accesului din afara sa, practic din orice colt al lumii. Un posibil atacator poate accesa date cu caracter strict secret, poate modifica informatii extrem de importante (sume de bani din conturi) sau pot distruge informatii care exista intr-un singur exemplar. El nu trebuie sa patrunda in incinta institutiei, trebuie doar sa “pacaleasca” sistemele de securitate ale “victimei”. Sistemele de securitate sunt variate, cea mai cunoscuta fiind protejarea accesului cu username si parola. Cel care doreste sa acceseze o anumita informatie trebuie sa-si introduca username-ul si o anumita parola, altfel i se refuza accesul. De multe ori insa aceasta protectie nu este suficienta, cineva poate incerca mai multe parole, avand sanse sa o ghiceasca pe cea corecta. Sistemele vor considera de multe ori ca utilizatorul a tastat gresit sau a incurcat parola cu alta, deci va permite mai multe incercari. Exista si sisteme cu blocarea accesului acelui username in cazul in care parola este introdusa gresit de un numar de ori. Totusi, protectia tot nu este foarte sigura, parola poate intra in posesia unui rauvoitor din cauza neglijentei unui utilizator care a scris-o pe un carnetel si atacul poate fi lansat din oricare colt al Internet-ului, fara a fi necesar accesul in incinta institutiei. Parola poate fi interceptata si pe parcursul transmiterii ei prin medii care nu sunt sub jurisdictia respectivei institutii, in cazul in care accesul se face din afara retelei locale. Tehnicile cryptografice moderne fac extrem de dificila interceptarea unui parole, dar nu imposibila. Cu algoritmii cunoscuti decriptarea ar dura ani sau zeci de ani, dar pot apare algoritmi mai performanti care sa reduca timpul de decriptare la limite de timp rezonabile, astfel incat un atac sa fie posibil.



Se impune deci o solutie mai sigura, o protectie in plus. Unele institutii au ales ca unele zone din reteaua lor sa nu fie legata de loc la Internet (de exemplu bancile). Impreuna cu securitatea accesului in Institutie aceasta protectie este destul de eficienta. Totusi, unele institutii prin insasi natura activitatii lor au nevoie sa fie conectate la Internet pentru a receptiona informatii sau chiar pentru a oferii informatii in Internet (prezentarea produselor firmei cu preturile aferente de exemplu). Chiar daca informatiile circula intr-un singur sens, nu se poate intrerupe transmiterea de informatii in celalalt sens, deoarece comunicarea presupune existenta unui feed-back de la destinatar, pentru a se retransmite eventual portiuni de informatie distruse pe drumul dintre sursa si beneficiar. Solutia ar fi deci supravegherea informatiilor care se schimba intre reteaua locala si Internet, astfel incat sa nu se accepte incercari de conectare cu sursa din afara institutiei sau sa se accepte doar din anumite puncte ale Internetului. Accesul se poate restrictiona si diferentiat pe servicii, de exemplu pe un computer exista informatii publice accesibile prin sistemul WWW si informatii confidentiale accesibile prin FTP. Se poate da accesul catre servicul WWW oricarui utilizator Internet, dar accesul FTP sa fie permis doar din reteaua locala. Aceasta limitare a accesului se poate face pe fiecare serviciu in parte sau global, la nivelul sistemului de operare. Implementarea la nivelul sistemului de operare este mult mai eficienta, datorita faptului ca este centralizata, unitara si nu depinde de aplicatiile utilizate (aceste pot sau nu sa aibe sisteme de limitare a accesului).
O astfel de protectie este asa-numitul “firewall” (zid impotriva raspandirii focului). El realizeaza o protectie la nivelul unitatii fundamentale de transfer a informatiei -; pachetul. Protocolul utilizat actualmente in Internet este IPV4 (IP versiunea 4), pachetul IP fiind fiind unitatea informationala fundamentala. El contine obligatoriu destinatia (un numar reprezentat pe 32 de biti care identifica unic destinatia in Internet) si sursa (numarul reprezentat pe 32 de biti care identifica in Internet sursa). Un firewall ar putea deci sa nu permita primirea niciunui pachet care are ca sursa un IP din afara listei de IP-uri care identifica calculatoarele utilizatorilor autorizati. Exista intr-adevar o mica posibilitate ca rauvoitorul sa pretinda ca are IP-ul unuia din calculatoarele autorizate, dar actiunea cere ca el sa se afle pe traseul dintre calculatorul autorizat si tinta atacului, altfel raspunsul la cerere ar ajunge pe traseul normal la calculatorul care detine intr-adevar acel IP, el neputand-ul intercepta. In plus trebuie sa detina privilegii de adminstrator pentru a realiza aceasta actiune, deci sfera de vulnerabilitate se reduce simtitor. Impreuna cu alte protectii (autentificare cu semnaturi criptografice, autentificare cu parola) se poate realiza o protectie eficienta a informatiilor importante ale institutiei. Criteriile de acceptare ale pachetelor pot fi combinate, acceptarea se poate face prin testarea mai multor conditii precum serviul caruia i se adreseaza, tipul pachetului, interfata fizica pe care a venit pachetul, etc.
In plus, firewall-ul mai poate fi folosit pentru a restrictiona accesul utilizatorilor interni la anumite resurse din Internet, fie pentru a utiliza eficient latimea de banda pe care o are la dispozitie institutia pentru a comunica cu Internetul, fie pentru a limita accesul in timpul programului la informatii care nu tin de activitatea de productie (vizitare pagini web distractive, chat-uri, etc).
Cum functioneaza un firewall
Pachetul IP
Un pachet IP contine obligatoriu IP-urile celor doi agenti care comunica. Alaturi de acestea el mai contine tipul de pachet si pentru fiecare TIP informatii specifice respectivului TIP de pachet. Tipurile de pachete IP sunt UDP, TCP, ICMP. UDP se foloseste pentru a realiza un canal nefiabil, unde pierderea unui pachet nu este foarte importanta dar intarzierea retransmiterii unui pachet este suparatoare (ca in cazul transmiterii frame-urilor video). Pachetele TCP se folosesc pentru realizarea de canale fiabile, cu retransmiterea pachetelor pierdute sau malformate. Pachetele ICMP se folosesc in general pentru managementul retelei si pentru transmiterea unor informatii despre evenimente speciale in retea (ex: destinatia nu este accesibila). Informatiile proriu zise se transmit in pachete UDP si TCP. Ambele contin un numar de “port sursa” si un numar de “port destinatie”. Un numar de port este un identificator al “capatului de conexiune” pe un anumit calculator. Fiecare serviciu “asteapta” pe un anumit port, pentru a fi accesat, calculatorul client seteaza ca port destinatie acel numar de port. Numarul de port sursa este folosit pentru a identifica clientul de pe masina care a initiat conexiunea, de exemplu in cazul in care doua aplicatii acceseaza in paralel acelasi serviciu de pe un alt host.
Recapituland putem spune ca un canal de comunicatie in Internet este identificat unic in Internet de un cvadruplu format din IP sursa, PORT sursa, IP destinatie, PORT destinatie. IP-ul identifica hosturile care comunica, numarul de PORT identifica serviciul accesat in cazul serverului, in cazul clientului PORT-ul este ales dintr-un interval prestabilit, astfel incat sa fie unic. La aceste informatii se mai adauga ID-ul interfetei pe care a venit pachetul (o masina firewall standard are o interfata spre reteaua locala si una spre Internet). Pe baza acestor 5 informatii la care se mai adauga cativa biti precum bitul SYN sau bitii de TOS un firewall ia decizia daca un pachet este acceptat spre prelucrare sau este respins prin simpla ignorare sau prin emiterea unui pachet ICMP de eroare. Daca asociem pachetelor ICMP un port sursa si un port destinatie comform cu tipul de mesaj transmis si tinand seama ca un numar de PORT este reprezentat pe 16 biti, atunci pentru fiecare pachet se ia in considerare 32+32+16+16+8=104 biti. Putem adauga un octet (8 biti) pentru bitii suplimentari, deci 112 biti. Concatenarea acestor informatii o vom numi proprietate a pachetului. S-a considerat ID-ul intrerfetei reprezentat pe 8 biti.
Abstractizare firewall
Abstractizand, un firewall este o partitionare in doua a multimii A0,1S^112. Prima multime este multimea proprietatilor cu care pachetele se accepta, cea de-a doua este complementarea ei in multimea proprietatilor posibile ale pachetelor, deci multimea de proprietati care sunt inacceptabile si care genereaza respingerea pachetului. Reformuland, putem spune si ca firewall-ul este o functie pe multimea de proprietati ale pachetelor in multimea A0,1S (acceptat, respins). Se pot utiliza insa si alte informatii din pachet pentru a decide acceptarea sau nu a unui pachet, in cazul in care o proprietate este specifica unui anumit tip de pachet, pentru celelalte tipuri de pachet se poate specifica o valoare impliciata. Daca consideram cazul general al proprietatii pachetului in n biti, pentru a reprezenta un firewall este suficient sa reprezentam multimea proprietatilor care conduc la acceptarea pachetului. Se pot proiecta firewall-uri mai complexe, cu mai multe decizii (de exemplu acceptare, ignorare pachet, trimitere unei notificari de interzicere, notificarea intr-un fisier log, etc), codomeniul functiei firewall fiind mai mare in acest caz (cardinalul ei este numarul de posibile decizii).
Limitari cunoscute
Caracteristicile de performanta ale unui algoritm care sa rezolve aceasta problema sunt:
• • Complexitatea computationala mica. Trebuie sa poata prelucra cateva mii de pachete pe secunda.
• • Memoria consumata sa nu fie foarte mare
Posibile reprezentari
Cea mai simpla reprezentare a partitiei multimii 2n in doua multimi este un sir de 2 n biti, semnificatia bitului k fiind: Ak=0 ó elementul care este reprezentarea binara a lui k apartine primei multimi, respectiv Ak=1 ó elementul care este reprezentarea binara a lui k apartine celei de-a doua multimi. Operatiile care trebuiesc efectuate se fac extrem de rapid. Verificarea apartentei unui element la una din cele doua submultimi se face cu un singur acces la memorie si selectarea unui bit din numarul care este stocat la acea locatie, daca se considera ca timpul de acces la locatiile de memorie este acelasi oricare ar fi locatia (cum se intampla in sistemele de calcul obisnuite), aceasta reprezentare face are timpul de rulare per pachet cel mai mic. Adaugarea sau stergerea unui element este la fel de simpla, constau in setarea/desetarea unui bit. Problema acestui sistem este insa spatiul de memorie pe care il cere. Este nevoie de 2n/8=2n-3 Bytes de memorie pentru acest tip de reprezentare, spatiu de memorie consumat indiferent de partitia reprezentata. Acest spatiu este spatiul minim in care se poate reprezenta orice partitie a multimii A0,2S n , dar totusi, pentru tipurile de partitii folosite in mod curent se pot gasi reprezentari care folosesc mult mai putina memorie, desi anumite cazuri (care nu apar in practica) ar avea nevoie chiar de mai multa memorie . Daca ar fi sa facem o paralela cu teoria codurilor putem spune ca elementele elementele multimii A0,2S n se pot codifica folosind cuvinte cod de lungime mai scurte pentru elementele mai des intalnite si cuvinte de cod mai lungi pentru elemente care apar rar. Trasand anumite limitari ale tipurilor de partitii pe care le vom reprezenta putem sa garantam faptul ca programul se va incadra intr-o anumita limita de memorie.
Reprezentarea cu masca
Aceasta este reprezentare uzuala folosita in prezent. Simplificat consta intr-o serie de perechi (a,m) a,m I A0,2S n unde a il vom numi sablon iar m se numeste masca. Fiecare pereche defineste o submultime a multimii A0,2S n astfel: elementul b este in multimea definita de perechea (a,m) daca b&m=a (unde & defineste operatia de “si” logic, bit cu bit intre b si m). Orice submultime a lui A0,2S n se poate reprezenta ca o multime de astfel de perechi, multimea reprezentata fiind reuniunea multimilor reprezentate de respectivele perechi. Acest lucru se demonstreaza usor prin faptul ca exista o reprezentare pentru fiecare element “a” al multimii A0,2S n, aceasta fiind (a,m) unde m are toti bitii 1, deci b&m=b si b&m=a ó a=b. Se poate deci reprezenta orice submultime a lui A0,2S n ca reuniune de astfel de reprezentari ale elementelor, deci se poate reprezenta orice submultime, deci orice partitie. Pentru optimizare se asociaza o ordine acestor perechi si cate un bit de asociere cu una dintre multimi. Pentru a afla in care dintre submultimi se afla un anumit alement se parcurg in ordine perechile, bitul asociat primei perechi care verifica conditia b&m=a (se mai spune si ca “face match cu perechea”) indicand din care dintre multimi face parte elementul. In cazul in care nici una din perechi nu “face match” elementul testat, elementul se considera a apartine uneia dintre multimi dinainte stabilite (numita “multime default”) . Aceasta reprezentare este suficienta pentru a reprezenta orice partitie, de exemplu putem pune cate o regula care sa reprezinte fiecare element din prima multime (alegem masca m ca sir de n biti “1”) si care sa trimita prin bitul asociat la prima multime, iar multimea default o alegem sa fie cea de-a doua multime. Este evident ca elementele din prima multime vor face match pe una dintre reguli si vor fi recunoscute ca facand parte din prima multime iar cele din cea de-a doua multime vor fi identificate corect pentru ca ajung in multimea default.
Reprezentare firewall printr-un automat
Putem reprezenta firewall-ul printr-un automat, in care alfabetul sa fie format din simbolurile A0,1S, iar starile finale sa fie etichetate cu indicele deciziei care se ia in cazul in care se ajunge in acea stare pornind din starea initiala si urmand sirul de biti format de proprietatea unui pachet. Orice drum in acest automat nu trebuie sa fie mai mare decat numarul de biti din proprietate, deci complexitatea algoritmului ar fi chiar liniara cu numarul de pachete. Faptul ca un astfel de automat exista este usor de demonstrat, se poate creea de exemplu ca un arbore complet cu n nivele (n fiind numarul de biti pe care se reprezinta proprietatea). Nodurile frunza vor fi stari finale, etichetate cu indexul deciziei care se ia pentru pachet. Se poate astfel reprezenta orice firewall. Totusi, acest automat nu este cel minimal, algoritmi de minimizare existand deja. Pentru cazul obisnuit insa, in care se dispune de o reprezentare cu masca, se pot gasi si algoritmi mai simpli pentru minimizare (se presupune ca un firewall care se doreste optimizat este destul de complex, deci un algoritm standard ar folosi multa memorie si ar avea o complexitate computationala destul de mare.
Automat firewall minimal
Mai intai vom relaxa putin cerinta, cerand ca automatul sa fie minimal doar in multimea automatelor care au toate starile finale la distanta n de punctul de start. Vor exista deci n+1 nivele de noduri, pe ultimul nivel fiind starile finale. Numarul starilor finale va fi k=numarul de decizii pe care le poate lua firewall-ul. Cuvintele-proprietati cu care nu se ajunge intr-o stare finala (la un moment dat nu exista tranzitie din starea in care s-a ajuns cu simbolul curent) se considera clasificate in regula default. Este evident ca un astfel de automat exista, se poate face arborele complet in care starile finale cu aceeasi eticheta se reduc, aceasta fiind si ideea minimizarii in cazul automatului clasic. Acelasi algoritm se bazeaza si pe reducerea starilor echivalente, algoritmul clasic are insa complexitate computationala prea mare.
Vom considera cazul in care exista un automat minimal de acest tip (de exemplu automatul cu o singura stare, cea de start). La adaugarea fiecarei reguli automatul trebuie mentinut minimal. O regula este si ea un caz particular de automat. Acest automat se contruieste printr-un sir de n+1 stari ordonate, intre fiecare doua stari consecutive putand exista o tranzitie cu litera corespunzatoare din sablon (a) in cazul in care simbolul din masca este 1 si poate contine 2 tranzitii, cu 0 si 1, in cazul in care simbolul corespunzator din masca este 1. Conventia este ca bitul de pe pozitia j corespunde cu perechea de stari consecutive (j,j+1). In acest fel adaugarea unei reguli reprezinta de fapt o suma de automate, dar o suma mai speciale, cu urmatoarele proprietati (consideram automatele A1 si A2 care se insumeaza in automatul A1+>A2 si functia firewall F(A,w)=x).
• • F(A1,w)=x => F(A1+>A2,w)=x
• • F(A1,w)=A, F(A2, w)=y => F(A1+>A2,w)=y
Deci in cazul in careprimul automat dadea deja un verdict neimplicit (prin regula default) pentru pachet, atunci automatul rezultat va da acelas rezultat. In caz contrar, daca in al doilea automat exista un verdict pentru pachet, acesta va fi verdictul dat de automatul final. In cazul in care nici in acesta nu exista dat un verdict, se va da verdictul dat de regula default (cuvantul nu va fi acceptat de automat).
Comform teoriei automatelor, minimizarea se face echivaland starile cu acelasi comportament. In acest caz, starile cu acelas comportament pot fi doar pe acelasi nivel, ele putand fi echivalate de jos in sus. Un automat minimal are starile finale echivalente, in acest caz fiind echivalente starile finale cu aceeasi eticheta. O proprietate speciala a unor astfel de automate minimale este ca orice nod-stare nu are decat maxim un predecesor care il are ca singur succesor, pentru fiecare din combinatiile de arce posibile (A0S, A1S, A0,1S). In caz contrar, doua astfel de stari ar avea acelasicomportament, deci automatul n-ar mai fi minimal. Importanta acestui fapt rezida in faptul ca in algoritmul de insumare se va porni “de jos in sus” prin echivalarea starilor cu acelas comportament. In automatul al doilea pentru orice stare nu exista predecesori care sa aiba mai multi succesori, deci incepand echivalarea automatelor cu starile finale, starea de pe nivelul m din al doilea automat va putea echivala cu o stare din primul automat daca si numai daca ele sunt pe acelasi nivel m si au ca unic succesor cu aceeasi configuratie de arce o stare care a fost obtinuta prin echivalarea a doua stari pe nivelul m+1. Pentru fiecare stare din automatul care se construieste com memora acei unici predecesori pentru fiecare configuratie de arce posibila (A0S, A1S, A0,1S). Acest lucru va scade mult din complexitatea algoritmului, nemaifiind nevoie sa se verifice proprietatea la toti predecesorii starii respective. Dupa aceasta echivalare a starilor, exista doua posibilitati. Daca s-a ajuns cu echivalarea starilor pana la starea initiala S inseamna ca automatul care se adauga este continut in primul automat, nu recunoaste alte cuvinte, deci automatul ramane in mod corect nemodificat. Daca nu s-a ajuns la echivalarea starilor initiale trebuie ca automatul sa fie facut determinist, cu o singura stare initiala. Aceasta se va face “muland” al doilea automat peste primul. Se va incepe cu cele doua radacini. Automatul al doilea are unul sau doua arce. Daca are unul singur, exista doua posibilitati: sa existe acest arc in primul automat, caz in care se trece la identificarea succesorilor pe ramura cu acel simbol sau sa nu existe arcul corespunzator, caz in care se adauga in primul automat portiunea pana care urmeaza (in jos) pana la starea care a fost echivalat cu una din automatul mare. In cazul in care exista doua arce catre succesor in al doilea automat, se va verifica daca si in primul automat exista un succesor dublu (si cu A0S, si cu A1S - ca in al doilea), caz in care se vor identifica succesorii dublii si se va merge mai departe cu succesorii lor. In caz contrar se vor identifica succesorul stang (A0S) al celui de-al doilea arbore cu cel corespunzator al primului si succesorul drept (A1S) al celui de-al doilea cu cel corespunzator din primul, dupa acelasi algoritm. Succesorul se va duplica deci, fara insa a fi nevoie de duplicarea fizica, bucati din acest subautomat vor apare eventual pe ambele ramuri din primul automat. In cazul in care una din ramuri nu exista in primul automat, se foloseste regula de mai sus (prin copierea ramurii respective din al doilea automat pana la starea care este echivalenta cu o stare din primul automat. Complexitatea acestei parti a algoritmului poate creste teoretic, dar practic probabilitatea sa existe o splitare a celui de-al doilea automat este mica, ea crescand liniar cu numarul de noduri cu doi succesori distincti, numar care creste logaritmic cu numarul de noduri.
Acest algoritm (sau varianta a sa usor modificata) se poate implementa in sistemul de firewall, rezultand un consum de calcul mult mai mic pentru cazuri in care firewall-ul este foarte mare. Pe de alta parte se poate folosi peste implementarea existenta, creand un sistem generand offline o reprezentare de acest tip a firewall-ului, si convertind-o apoi la o forma clasica, dar simuland prin multiple chain-uri referite imbricat aceasta structura.

Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta