Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » informatica » retele calculatoare
Securitate si internet

Securitate si internet


Securitate si internet

Introducere. Metode de imbunatatire a securitatii

In ultimii citiva ani, Internetul a inceput sa isi faca simtita prezenta in toate aspectele vietii cotidiene, conexiunile la Internet au devenit pentru cea mai mare parte a populatiei la fel de obisnuite ca un telefon. O data cu aceasta tehnologie aflata in plina dezvoltare s-a creat un domeniu nou, denumit ciberspatiu. Metodele traditionale utilizate pentru protejarea datelor si a resurselor dintr-o retea nu vor fi suficiente pentru a asigura securitatea datelor in acest nou domeniu. Printre noile solutii de protejare a unei retele conectata la Internet, se enumera si firewall-ul. Pentru a intelege mai bine despre ce este vorba, se poate face o analogie cu vechile castele feudale, care erau inconjurate de ziduri si alte constructii care sa impiedice accesul in castel. Deplasarea din exteriorul castelului spre interior si invers intorcindu-se controlat prin poarta (gateway) pazita de garzi. La fel se procedeaza si in cazul ca1culatoarelor care sunt prevazute cu firewall, conectate intr-o retea. Termenul firewall poate fi utilizat pentru a denumi o gama larga de produse proiectate sa ajute la protectia unei retele impotriva amenintarilor externe prin limitarea traficului de retea care poate sa apara intre reteaua proprie si Internet. Cele doua tehnologii de baza utilizate pentru a crea sisteme firewall sunt filtrarea pachetelor (packet filtering) si portile intermediare de aplicatie (application proxy gateways). Un firewall reprezinta o necesitate daca dorim conectarea reteaua LAN proprie la Internet. Firewall-urile pot analiza traficul care intra si iese din reteaua dumneavoastra LAN si iau decizii in privinta tipurilor de trafic pe care le permit sau le interzic. Tehnicile de genul filtrarea pachetelor iau decizii pe baza informatiilor ce se gasesc in antetul pachetului de retea, cum ar fi adresa pachetului sau protocolul de retea utilizat. Reprezentantii de aplicatie actioneaza ca intermediari si interactioneaza cu serverele din Internet astfel incat clientii din reteaua LAN interna sa nu fie expusi comunicarii directe si, astfel, unui potential abuz. Pentru a decide ce tip de firewall veti construi sau veti cumpara, initial trebuie sa analizati politicile de securitate curente si sa evaluati serviciile pe care utilizatorii se asteapta sa le primeasca dupa conectarea la Internet. Utilizand politica de securitate, puteti sa proiectati o strategie de firewall folosind rutere, gazde bastion si alte tehnici in scopul protejarii retelei proprii.



Cea mai mare diferenta dintre securitatea intr-o retea locala de calculatoare si intre o retea de mare suprafata, cum ar fi Internet, este controlul. Intr-o retea LAN, administratorul de retea (si posibil unii administratori de sistem) poate sa exercite un control foarte bun asupra calculatoarelor gazda din retea si asupra operatiilor si gestionarii retelei. Atunci cand o retea locala este conectata la Internet, deveniti parte a unei interconexiuni mult mai mari de retele asupra carora aveti foarte putin control sau chiar deloc. Datorita acestui fapt, problemele de securitate care pot fi intalnite intr-o retea LAN obisnuita sunt minore in comparatie cu cele care pot aparea din Internet. Un motiv este numarul imens de calculatoare care fac parte din Internet. Acum nu mai este nevoie ca un infractor sa intre in camera calculatorului si apoi in calculator. Nu mai este necesar ca un hacker sa incerce in mod repetat sa patrunda intr-o retea trecind peste securitatea modemului. In Internet, un atacator poate sa vina practic din orice parte a globului pentru a incerca aceste patrunderi neautorizate.

1 Securitatea intr-o retea locala de calculatoare (LAN)

Intr-o retea locala, stim ce protocoale sunt utilizate si putem sa configuram monitorizarea si auditarea astfel incat sa urmarim abuzurile. Chiar si intr-o retea mare de companie, instrumentele bazate pe protocolul SNMP (Simple Network Management Protocol) sau RMON 1 ofera un control centralizat si urmaresc securitatea. RMON este acronimul expresiei Remote Monitoring (Monitorizare de la distanta). RMON este un instrument de colectare si analiza a date lor, utile pentru monitorizarea de la distanta a componentelor retelei, cum ar fi calculatoare, rutere, comutatoare si alte dispozitive de retea. Functionalitatea instrumentului RMON, care este descris in documentele RFC 1513 si 1757, extinde capabilitatile de monitorizare puse la dispozitie de protocolul SNMP.

Autentificarea utilizatorilor

Forma de baza de securitate folosita intr-o retea locala de calculatoare este contul si parola de utilizator. Cand aceasta metoda este implementata intr-un mod sigur, fiecare utilizator are acceseaza reteaua are un nume de cont unic (sau nume de utilizator), atribuit de administratorul de rete a, si o parola care in mod uzual se afla sub propriul control. Aceasta forma de autentificare provine de la primele calculatoare independente (care nu erau legate in retea) pe care rulau sisteme de operare multiutilizator. Numele de utilizator unic permitea sistemului de operare sa tina evidenta utilizatorilor conectati la calculator, ceea ce facea posibila acordarea de drepturi si privilegii diferite utilizatorilor, in functie de nevoile fiecaruia. Administratorul care crea contul de utilizator crea si o paroIa initiala. insa era responsabilitatea utilizatorului sa schimbe acea parola initiala cu o expresie greu de descoperit. De asemenea, era responsabilitatea utilizatorului sa protejeze parola astfel incat sa nu fie cunoscuta de nimeni altcineva. Cand acest tip de autentificare este integrat in tehnologiile retelelor locale de calculatoare, poate deveni putin mai complicat. Cand este vorba de un singur calculator, este usor de intretinut o singura baza de date sigura, care memoreaza numele de utilizatori si parolele pe care sistemul de operare Ie poate utiliza pentru a verifica utilizatorii. Cand sunt legate in retea mai multe calculatoare, unde sunt plasate aceste informatii de securitate? In unele sisteme de operare, cum ar fi UNIX, fiecare calculator din retea are propria baza de date cu parole fisierul /etc/passwd. Acest fisier memoreaza numele de utilizatori si parolele impreuna cu alte informatii importante despre contul utilizatorului. Cu toate ca acest fisier est un simplu fisier text care poate fi tiparit si analizat, ramane relativ sigur, deoarece parolei stocate in fisier sunt criptate. Aceasta inseamna ca sistemul este sigur daca avem incredere ii utilizatorii din reteaua noastra. Programe cum ar fi Crack pot fi utilizate pentru descoperi valorile acestor parole criptate, astfel ca, dupa cum probabil deduceti, aceasta metoda de autentificare sigura lasa de dorit atunci cand se doreste conectarea la Internet. Ar trebui sa fie evident de la inceput ca aceasta metoda de utilizare a unor baze de date, unde securitatea difera pentru fiecare calculator din rete a are propriile dezavantaje. De exemplu, o politica buna de securitate spune ca utilizatorul trebuie sa isi schimbe parola dupa ce aceasta a fost utilizata mai mult timp. Daca utilizatorul trebuie sa acceseze resurse de pe mai multe calculatoare din reteaua LAN, trebuie sa isi schimbe parola pe mai multe calculatoare atunci cand vine vremea sa faca schimbare.

Utilizarea unui fisier de parole ascuns

O metoda de imbunatatire a securitatii parolelor memorate uzual in fisierul / etc / passwd este de a folosi un fisier de parole ascuns, care nu poate fi citit de oricine.

1.3 Sincronizarea fisierelor de parole

Desi sistemul UNIX are mai multe componente integrate pentru lucrul in retea, ii lipseste o metoda de sincronizare a fisierelor de parole intre mai multe sisteme dintr-o retea. In domeniile Windows bazate pe NT, unul sau mai multe servere indeplinesc (si) functia de controllere de domeniu si controleaza conectarile utilizatorilor la domeniul respectiv. In UNIX, fiecare server are propriul fisier de parole. Daca utilizatorii vor sa se conecteze la mai multe sisteme din retea, trebuie sa aiM cate cont pe fiecare sistem. Pentru a rezolva acest dezavantaj, firma Sun a dezvoltat o aplicatie denumita Yellow Page, care are rolul de a pastra sincronizarea fisierelor importante de sistem. Datorita unei dispute pentru o marca comerciala, Yellow Pages a fost redenumita NIS, acronim de la Network Information Service. Sistemele de operare in retea pot oferi o solutie prin utilizarea unei baze de date de conectare in retea, care contine conturile pentru toti utilizatorii din retea. In Windows NT este folosit conceptul de domeniu pentru a grupa utilizatorii intr-o baza de date SAM centrala (Security Accounts Manager). Atunci cand un utilizator se conecteaza la un calculator Windows NT care face parte din domeniu, este autentificat printr-un dialog intre statia de lucru a utilizatorului si un server care opereaza ca un controller de domeniu. Primele versiuni ale sistemului de operare Novell NetWare permiteau utilizatorilor sa se conecteze la fiecare server pe care il accesau. In prezent, exista serviciul NDS (Novell Directory Services) care pune la dispozitie o baza de date centralizata a utilizatorilor. Atunci cand este realizata o conexiune la Internet, problema autentificarii utilizatorilor devine si mai dificila. Cand utilizatorii mobili sunt in afara biroului, ar trebui sa foloseasca un modem pentru a contacta biroul de baza sau pot folosi Internetul. Daca este folosita reteaua Internet, cum poate fi asigurata o sesiune sigura de conectare in retea? Exista mai multe solutii la aceasta problema, de la tehnologia Kerberos si criptarea cu chei pub lice si pana la retelele private virtuale (VPN).

Protejarea resurselor

Autentificarea utilizatorilor este primul lucru la care se gandesc majoritatea dintre noi atunci cand este vorba de securitatea calculatoarelor. Dupa ce un utilizator este autentificat pentru un calculator sau o retea, urmatorul mecanism folosit pentru controlul accesului este protejarea resurselor. Sistemele UNIX, Windows, Novell NetWare, alte sisteme de operare si sisteme de operare in retea ofera diferite forme de protejare a resurselor, care ne permit sa specificam ce fisiere, directoare, imprimante ,si asa mai departe, sunt accesibile pentru utilizatori. Protejarea resurselor poate fi utilizata pentru a restrictiona utilizatorii care pot avea acces la obiecte, iar tehnicile de auditare pot fi folosite pentru a urmari modul de utilizare, ca si abuzul de privilegii.

La fel ca bazele de date pentru autentificarea utilizatorilor, administratorii de sisteme si de retea ai retelei LAN controleaza resursele pe sistemul conectat la retea, insa acest control se bazeaza pe presupunerea ca metodele de autentificare a utilizatorilor sunt absolut sigure si ca am configurat corect protejarea resurselor.

Acum stim ca metodele simple de autentificare sunt usor de contracarat, daca se dispune de timp suficient. Metodele care erau eficiente intr-o retea LAN mica nu sunt suficiente atunci dind ne conectam la o retea mult mai mare. Daca metodele de autentificare esueaza, protejarea resurselor inseamna foarte putin, pentru ca un atacator poate sa devina aproape orice utilizator doreste. Protejarea resurselor nu ofera o protectie totala impotriva intrusilor. Printr-o conexiune la Internet, expunem reteaua la mult mai multi potentiali intrusi decat ne putem imagina. Pentru a ne proteja resursele de retea, trebuie luate masuri suplimentare.

1.5 Dispozitive fizice de siguranta

Cand avem de-a face cu calculatoare conectate intr-o retea locala, este relativ usor sa se asigure securitatea sitului fizic. Tinand sub cheie serverele importante, se poate preveni de obicei compromiterea voita a acestora. Chiar daca reteaua locala se intinde in mai multe cladiri, cum este cazul intr-un campus studentesc, securitatea fizica este controlabila local de catre o persoana desemnata.

Atunci cand reteaua este conectata la Internet; devine parte a unei retele mult mai mari, asupra careia nu se poate avea nici un control fizic. Se poate avea o oarecare influenta asupra furnizorului ISP pentru a putea controla modul in care este configurat ruterul pentru serviciul oferit, insa nu se poate avea nici un control asupra milioanelor de calculatoare gazda, rutere, comutatoare si alte echipamente existente in Internet. Firewall-ul este metoda care se utilizeaza pentm a crea o bariera rezistenta care, se spera, ca va tine la distanta persoanele care vor sa provoace daune in retea.

2 Securitatea intr-o retea de mare suprafata (WAN)

O conexiune la Internet expune reteaua locala la un numar infinit de probleme de securitate si potentiali atacatori. Problemele pe care le aveti cu utilizatorii din reteaua locala sunt mici atunci dind sunt comparate cu un atac din parte a unei persoane experimentate in tehnicile moderne de 'spargere' a retelelor de calculatoare. Atunci cand o retea este conectata la Internet, exista toate motivele pentru imbunatatirea suplimentara a securitatii pe calculatoarele gazda locale. Un firewall bun, care sa aiba rolul de punct unic de control pentru conexiunea Internet, este necesar pentru a va sustine apararea.

2.1 Intrarile secrete si bresele protocoalelor de retea

TCP/IP si multe dintre protocoalele si utilitarele care au legatura cu aceasta suita au fost dezvoltate cu multi ani in urma, cand amenintarile de securitate asupra Internetului erau putine in comparatie cu problemele din prezent. Ca urmare, cele mai multe dintre aceste protocoale si utilitare nu au fost scrise avand ca prioritate securitatea. Ele au fost proiectate pentm functionalitate si portabilitate. Acest concept a ajutat la raspandirea TCP/IP pe numeroase platforme diferite, iar in prezent este suita de protocoale care realizeaza conectarea la Internet.S-a constatat ca o parte dintre utilitarele create au erori semnificative de programare, care puteau fi utilizate de persoane hotarate sa faca rau. De exemplu, aplicatia sendmail a fost folosita abuziv de foarte multe ori si, de-a lungul anilor, a provocat dureri de cap administratorilor de retea. Uneori, un proiect simplu de program poate determina blocarea unei aplicatii intr-un mod pe care proiectantul nu I-a anticipat. Bufferele de memorie se pot dovedi prea mici, iar daca programul nu detecteaza eroarea neasteptata, aplicatiile s-ar putea bloca sau s-ar putea comporta intr-un mod neobisnuit. o astfel de eroare de programare devine o problema de securitate in cazul in care un hacker o descopera si o foloseste pentru a obtine privilegii sau acces intr-o zona interzisa. Din nefericire, va mai trece mult timp pana cand calculatoarele vor fi proiectate astfel incat sa poata detecta toate greselile pe care le poate face un om, asa ca va puteti astepta sa vedeti programe noi care dispar de pe piata la citeva luni de la lansare, dupa descoperirea unor erori de programare. Uneori este recomandat sa ramaneti putin in urma tehnologiei de ultima ora pentru a vedea ce se intampla. Actualizati permanent peticele si sfaturile de securitate de la furnizori pentru sistemele de operare si aplicatiile pe care le utilizati.

2.2 Rutarea la sursa

Protocolul IP este un protocol fara conexiune, nefiabil. In majoritatea cazurilor, singurele informatii despre destinatia unui pachet, disponibile protocolului IP, sunt adresele sursei si destinatiei continute in antetul IP. Alte protocoale de rutare implementeaza mecanismele de decidere a caii pe care o va parcurge un pachet prin Internet pentru a ajunge la destinatia finala. In campul Optdons, din antetul IP, poate fi utilizat pentru a specifica o ruta pe care ar trebui sa circule pachetul. Aceasta tehnica se numeste rutarea fara surse (source routing) si a fost dezvoltata pentru utilizari de genul depanarii problemelor de retea si alte activitati de mentenanta. Aceasta caracteristica poate fi exploatata cu usurinta de un hacker pentru a introduce intr-o retea un pachet care pare ca a fost generat acolo. Pachetul contine o adresa IP falsificata, dar valida in aceasta retea . Optiunile de rutare la sursa sunt utilizate pentm a specifica o cale pe care ar trebui sa circule pachetul pentru a ajunge la destinatie. Sistemele firewall ar trebui configurate pentru a respinge toate pachetele care au activata optiunea de rutare la sursa.

2.3 Atacuri de tip interzicerea serviciului (DoS)

Nu toti hackerii planuiesc sa patrunda intr-o retea pentru a fura informatii. Unii nu vor decat sa 'atraga atentia' administratorului de retea. Un atac de tip interzicerea serviciului este un termen general pentru numeroasele metode care pot fi utilizate pentru a impiedica folosirea partiala sau completa retelei. Scopul atacatorului este de obicei unul dintre urmatoarele:

-Supraincarcarea unei resurse limitate.

-Blocarea/caderea unui dispozitiv de retea sau calculator gazda.Reconfigurarea unei resurse pentru a o face inutila.

Supraincarcarea unei resurse limitate poate sa se manifeste in mai multe feluri. Un mod simplu de manifestare este umplerea unui hard-disc astfel incat nimeni sa nu mai poata sa il utilizeze. Din acest motiv ar trebui monitorizat foarte atent orice se stocheaza pe un disc alocat unui serviciu FTP anonim ce permite utilizatorilor sa incarce fisiere. Evident, nu trebuie plasata radacina (root) unui serviciu FTP pe acelasi disc care este folosit de sistemul de operare. In mod asemanator, nu ar trebui plasat nici pe un disc utilizat de o alta aplicat1e sau de un serviciu care poate avea de suferit in urma unui astfel de atac. Intre alte resurse valoroase se numara memoria, largimea de banda de retea si timpul de CPU. Resursele nu trebuie sa fie neaparat componente fizice ale calculatorului gazda. Atacul de tip inundarea SYN lucreaza prin umplerea cozii pe care TCP/IP o foloseste pentru a pastra cererile de conectare sosite pentru un anumit port. Chiar daca exista multa memorie disponibila in calculator si care poate fi utilizata, acest aspect nu are importanta deoarece coada insasi este limitata de modul in care a fost implementata stiva TCP/IP pentru un anumit sistem de calcul.

Blocarea unui calculator gazda il impiedica evident sa satisfaca cererile clientilor. Unele atacuri de acest tip obtin aceste rezultate prin exploatarea erorilor de programare din sistemul de operare sau din serviciile de retea. Uneori, nu trebuie decat sa fie blocata aplicatia care of era servicii de retea. Reconfigurarea unui calculator gazda poate sa aiba loc dupa ce un intrus a patruns in retea si a putut sa modifice sistemul de operare sau fisierele de configurare ale aplicatiei. De aceea este atat de important ca sistemele de calcul pe care le utilizam pentru a pune la dispozitie servicii de retea sa fie protejate total utilizand mecanismele oferite de sistemul de operare. De asemenea, este posibil sa fie reconfigurate si informatiile de retea, cum ar fi tabelele de rutare, prin utilizarea protocolului ICMP. Acest tip de atac poate face ca un calculator gazda sa para de negasit, desi in realitate acesta este functional in cadrul retelei. Daca tabelul de rutare al ruterului nu contine informatii corecte despre modul in care trebuie atinsa o destinatie data, nu conteaza dad nodul destinatie este pornit sau oprit, deoarece oricum traficul nu va ajunge la el. Problema cu incercarea de a ne proteja impotriva unui atac de tip interzicerea serviciului este ca nu avem control decat in cadrul retelei proprii si nu in intreaga retea Internet. Unele atacuri pot fi oprite insa de catre firewall.

Inundarea

SYNProtocolul TCP este orientat spre conexiune si foloseste o metoda de contactare in trei etape pentru a configura o conexiune inainte sa aiba loc transferul efectiv al datelor. Antetul TCP foloseste cateva campuri pentru a configura si gestiona conexiunea. Campul pentru numarul de secventa (Sequence Number) este utilizat pentru a tine evidenta ordinii pachetelor transmise. Campul SYN Flag este utilizat pentru a incepe o solicitare de conexiune. Campul ACK Flag este utilizat pentru a confirma un pachet. Campul FIN Flag este utilizat pentru a termina o conexiune dupa ce expeditorul a incheiat transmisia. Metoda de contactare in trei etape folosita pentru a configura o conexiune este un simplu schimb de pachete, dupa cum se poate vedea in figura 1. Secventa de evenimente este urmatoarea:


Calculatorul gazda A trimite un pachet catre Calculatorul gazda B avand bitul SYN activat (configurat la valoarea 1). Campul Sequence Number este setat la numarul de secventa initial care va fi utilizat de Calculatorul gazda A.

- Calculatorul gazda B configureaza in memorie cateva structuri de date care vor fi utilizate pentru gestionarea conexiunii si apoi raspunde la solicitarea de conexiune trimitand un pachet catre Calculatorul gazda A avand campul ACK setat la valoarea 1 pentru a confirm a primirea pachetului expediat de Calculatorul gazda A. Al doilea pachet din dialogul de confirmare are de asemenea bitul SYN setat la valoarea 1, comunicand astfel Calculatorului gazda A ca in campul Sequence Number al acestui pachet este continut numarul de secventa initial al Calculatorului gazda B.

- In final, cand Calculatorul gazda A receptioneaza o confirmare de la Calculatorul gazda B, Calculatorul gazda A ii trimite acestuia o confirmare a numarului de secventa initial al Calculatorului gazda B.

In conditii normale, este configurata o conexiune, iar cele doua calculatoare gazda pot incepe sa schimbe date. Ce se intampla insa daca expeditorul solicitarii initiale de conexiune, calculatorul gazda A, foloseste in primul pachet o adresa IP falsificata a adresei de sursa? Cand Calculatorul gazda B incearca sa trimita o confirmare, aceasta nu va ajunge niciodata la calculatorul gazda A. In final, dupa expirarea timpului conexiunea este intrerupta, iar calculatorul gazda B elibereaza memoria utilizata de conexiune. Aceasta este metoda folosita pentru a provoca o inundare SYN. Calculatorul gazda atacator continua sa trimita mesaje de cerere de conexiune cu o adresa IP sursa care nu poate fi gasita sau care nu exista. Calculatorul gazda care receptioneaza cererea continua sa aloce in memorie structuri de date si sa porneasca cronometre pentru incercarile de conexiune pana cand isi epuizeaza practic resursele si apoi incepe sa refuze alte incercari de conexiune. Este important ca adresa IP falsificata sa fie una la care nu poate ajunge calculatorul gazda atacat. In caz contrar, calculatorul gazda identificat de adresa IP falsificata ar putea trimite un pachet catre calculatorul gazda atacat, avand activat indicatorul de resetare care transmite calculatorului gazda atacat sa termine imediat conexiunea. Deoarece scopul inundarii SYN este de a pastra resursele ocupate, acest lucru nu este de dorit, pentru a preveni acest tip de atac poate fi utilizat un filtru inteligent de pachete, care tine evidenta pachetelor sosite care au activat bitul indicator SYN si aplica o logica simpla pentru a compara adresele IP, numerele de porturi si alte informatii din antet. Cand pare ca se incearca un astfel de atac, celelalte pachete care ajung la interfata externa de retea pot fi respinse, astfel incat ele sa nu ajunga la calculatorul gazda intern care este atacat.

2.5 Redirectarile ICMP si alte probleme ale protocolului ICMP

Internet Control Message Protocol (ICMP) este responsabil pentru furnizarea functiilor de stare si control pentru Internet Protocol. De exemplu, un server poate trimite un mesaj de tip ICMP Source Quench catre un alt calculator gazda prin care ii comunica faptul ca trimite pachete la o rata prea rapida pentru ca serverul sa Ie poata prelucra. o alta functie utila implementata cu ajutorul protocolului ICMP este abilitatea de a testa cu utilitarul PING un nod de retea pentru a determina daca se poate ajunge la el. PING foloseste pentru aceasta mesaje de tipul Echo Request (Cerere de ecou) si Echo Reply (Raspuns ecou). Din nefericire, exista unele tipuri de mesaje care pot fi utilizate de hackeri pentru a provoca probleme. Unul dintre acestea este tipul de mesaj Redirect. Acesta a fost creat pentru a permite unui ruter sa comunice altui ruter ca exista o ruta mai buna pentru o anumita destinatie. Sa consideram urmatorul exemplu. Ruterul B receptioneaza un pachet IP de la Ruterul A, care este destinat Ruterului X. Ruterul B are capabilitatea de trimitere a pachetului catre un alt punct in calatoria acestuia catre Ruterul X, insa, consultand tabelul de rutare propriu, descopera ca exista o ruta mai rapida pe care Ruterul A o poate folosi pentru a livra pachetul. in acest caz Ruterul B poate trimite un pachet ICMP Redirect inapoi catre Ruterul A pentru ai comunica despre noua ruta. Daca ruterul A raspunde mesajelor Redirect, actualizeaza propriul tabel de rutare si, de acum inainte, cand doreste sa trimita un pachet IP catre Ruterul X, utilizeaza noua ruta si nu mai ruteaza pachetul catre Ruterul B. Problema cu mesajul ICMP Redirect (si cu alte tipuri de mesaje ICMP) este ca protocolul ICMP simplu nu are nici o metoda de autentificare a sursei mesajului. Acesta poate fi utilizat pentru a provoca un atac de tip interzicerea serviciului in retea. Nu este dificil de falsificat pachetele ICMP. Prin trimiterea de mesaje Redirect catre rutere, un intrus din exterior poate sa reconfigureze tabelele de rutare din aceasta retea. Pe langa acest atac de tip interzicere, mesajul Redirect poate fi utilizat pentru a provoca rutarea traficului dintr-o retea catre unul sau mai multe ca1culatoare gazda asupra carora atacatorul are control, fiindu-i astfel mai usor sa comita si alte actiuni reprobabile impotriva respectivei retele. In mod asemanator, mesajul Destination Unreachable (Destinatie inaccesibila) este utilizat pentru a comunica unui ruter ca destinatia unui pachet IP nu poate fi atinsa. Prin falsificarea pachetelor Destination Unreachable, un intrus din exterior poata sa ii faca pe clientii unei retele sa creada ca alte ca1culatoare gazda importante sunt inaccesibile. Din aceste motive, este recomandata blocarea mesajelor de tip ICMP Redirect si Destination Unreachable. In afara de faptul ca este foarte util in depanarea problemelor de retea, utilitarul PING este la fel de util atunci cand se incerca sa se adune date despre o retea. Una dintre functiile unui firewall bun este de a impiedica pe oricine din afara retelei, pe care trebuie sa o protejeze, sa adune informatii despre ca1culatoarele gazda din retea. Orice informatie, cat de mica, pe care un hacker o poate obtine il apropie pe acesta de gasirea unei metode de patrundere in respectiva retea sau de a provoca probleme in retea. La nivelul firewall-ului, ar trebui sa se ia in considerare macar blocarea mesajelor de tip ICMP Echo Request. Astfel vom fi capabili in continuare sa utilizam metoda PING pentru a testa ca1culatoare gazda din afara retelei noastre, deoarece mesajele Echo Request transmise in exterior si mesajele Echo Reply primite nu sunt blocate.

2.6 Atacuri de tip ping fatal

Acest atac a aparut acum cativa ani si presupune trimiterea unui pachet ICMP supradi­mensionat in comparatie cu un pachet Echo Request normal, care contine in mod obisnuit 64 de octeti. Trimiterea unui pachet de dimensiune mai mare decat dimensiunea maxima permisa, sau chiar mai mare de 65.536 de octeti, blocheaza unele sisteme de operare. Desigur, nivelul IP ar trebui sa imparta un astfel de pachet in fragmente, insa atunci cand ajung la calculatorul gazda destinatie, acestea sunt reasamblate si atacul reuseste. Acest tip de atac nu este limitat la diferitele variante de sisteme UNIX sau Linux. Atacul de tip ping fatal s-a dovedit periculos pentru numeroase sisteme de operare. Din fericire, toti furnizorii importanti ofera petice software care pot fi utilizate pentru a impiedica declansarea unui astfel de atac.

2.7 Atacuri distribuite de tip interzicerea serviciului

Atunci cand un server este supus unui atac de tip interzicerea serviciului dinspre un singur calculator gazda de undeva din Internet, acesta poate fi foarte nociv. Cu numai cativa ani in urma, au fost dezvoltate cateva seturi noi de instrumente proiectate pentru trusa hackerului, care permit atacatorului sa utilizeze mai multe calculatoare pentru a declansa un atac foarte puternic asupra unui calculator gazda care nu banuieste nimic. Primul dintre aceste instrumente a fost denumit TrinOO si a fost urmat de Tribe Flood Network (TFN). A fost descoperita recent o versiune mai noua, denumita TFN2K (de la Tribe Flood Network 2ooo). Cel mai nou in aceasta gama este un instrument care a primit numele Stacheldraht (termenul german pentru sarma ghimpata).

Ceea ce diferentiaza aceste instrumente de cele utilizate in primele forme de atacuri de tip interzicerea serviciului este natura distribuita a atacului, care este coordonat de un singur calculator gazda administrat de atacator. In figura urmatoare puteti vedea o schema simpla metodei de atac si sa incepeti sa va dati seama de ce poate fi acesta o problema serioasa.

Un singur calculator atacator coordoneaza atacurile mai multor sisteme care se concetreaza asupra unei singure tinte. Nu este simplu de construit un astfel de atac. Initial, atacatorul trebuie sa se infiltreze in alte sisteme vulnerabile cele care au aplicate masuri slabe de securitate astfel incat sa poata construi un ansamblu de sisteme care sa fie folosite ca operatori si agenti. Sistemele desemnate sa fie agenti desfasoara atacul efectiv asupra sistemului tinta. Ele sunt controlate de sistemele desemnate de atacator sa fie operatori. in partea de sus a acestei structuri de control se gaseste calculatorul atacatorului. TrinOO foloseste TCP/IP pentru comunicatii si este capabil sa trimita un flux de pachete UDP catre tinta. Instrumentele mai noi sunt mult mai sofisticate, utilizand criptarea pentru comunicatii si permitand atacatorului sa aleaga cateva tipuri diferite de atac. Acestea includ fluxuri UDP, SYN si ICMP sau o combinatie a acestora. Natura distribuita a atacului permite agentilor sa copleseasca conexiunea de retea a calculatorului gazda tinta. Orice trafic legitim ce incearca sa concureze cu acest flux de pachete este fie anulat complet, fie incetinit foarte mult. Mecanismele de criptare utilizate in ultimele versiuni ale acestor instrumente si utilizarea informatiilor de adresare falsificate pot ingreuna detectarea calculatorului original utilizat de atacator pentru a dec1ansa atacul violent. Insa tinta acestui flux nu este singura victima a atacului. Victime sunt si agentii care au fost infiltrati de atacator atunci cand a planuit atacul. Acesti agenti nu trebuie sa fie servere de mare viteza dintr-o retea comerciala. Pot fi PC-uri de la domiciliu conectate la Internet folosind DSL sau alte metode de acces de mare viteza, care raman online cat timp calculatorul dumneavoastra este pornit. Acest mecanism ofera atacatorului, teoretic, milioane de sisteme care pot fi incluse in fortele de atac, deoarece majoritatea utilizatorilor calculatoarelor de la domiciliu nu cunosc prea multe despre cum sa isi securizeze calculatoarele pentru a le proteja impotriva intruziunii initiale.

2.8 Fragmentarea pachetelor

Nu toate legaturile de retea folosesc aceeasi dimensiune pentru cadrele de date transmise prin ele. Deoarece Internetul este o colectie foarte mare de retele interconectate, aceasta inseamna ca este posibil ca un pachet IP, care este rutat printr-o anumita legatura, sa fie mai mare decat dimensiunea permisa de legatura. Protocolul IP este capabil sa imparta un pachet in mai multe pachete mai mici si sa Ie reasambleze atunci cand ajung la destinatia finala. Exista cateva campuri de antet dintr-o datagrama IP utilizate pentru a controla procesul de fragmentare. Campul Fragment Offset indica locul acestui fragment in pachetul original. Deoarece fragmentele pot sa nu ajunga in ordinea in care au fost trimise si pentru ca la un calculator gazda pot ajunge fragmente amestecate din mesaje diferite, campul Identification este utilizat pentru a identifica fragmentele care apartin aceluiasi mesaj initial. Campul Flags este utilizat pentru a arata ce fragment reprezinta partea final a a mesajului. Dupa ce toate fragmentele au ajuns la calculatorul gazda, ele sunt reasamblate si trimise mai sus in stiva de protocoale.Se stie ca protocolul TCP plaseaza propriul antet de informatii in mesaje si apoi transfera rezultatul mai jos in stiva catre protocolul IP, care ataseaza pachetului propriul antet. In acest moment, din punctul de vedere al protocolului IP, antetul TCP face parte din zona de informatii utile a pachetului IP, la fel ca datele continute de pachet. Ca urmare, atunci cand protocolul IP este nevoit sa fragmenteze acest pachet, antetul TCP, care se gaseste la inceputul zonei de informatii utile, este plasat in primul fragment (vezi figura 3). Celelalte fragmente contin restul pachetului TCP, insa nu contin informatii din antetul TCP. Cat timp pachetul este reasamblat corect, nu este nici o problema. insa aceasta inseamna ca, atunci cand fragmentele trec printr-un filtru de pachete din firewall, numai primul pachet poate fi filtrat pe baza informatiilor de antet TCP cum ar fi, de exemplu, numarul de port. Se stie ca numarul de port pentru TCP si UDP este utilizat pentru a indica serviciul de retea.


O metoda mai veche pentru trecerea unui pachet prin filtrul de pachete este pur si simplu stabilirea valorii 1 pentru timpul destinat numarului de secventa corespunzator fragmentului din pachetul IP, astfel incat acesta sa arate ca si cum ar fi un fragment dintr-un pachet mai mare. Aceasta valoare ar trebui sa fie o daca ar fi primul pachet care contine informatiile de antet TCP. Deoarece ruterul presupune ca fragmentul nu este primul din secventa, nu exista informatii de antet TCP care sa fie verificate, astfel ca pachetul nu este verificat potrivit regulilor pe baza carora ruterul ar putea sa blocheze anumite porturi.

Stivele TCP/IP mai vechi reasamblau uneori mai multe fragmente care au trecut prin filtru chiar daca fragmentul cu numarul o nu a ajuns, atata vreme cat fragmentele formau un pachet valid dupa reasamblare aceasta insemnand ca pachetul trecea verificarile pentru valorile sumelor de validare. o alta metoda este de a trimite pur si simplu un pachet complet, cu numarul de secventa stabilit la valoarea 1 si bitul FIN Flag stabilit la valoarea 1, ceea ce indica faptul ca este ultimul fragment pentru care este intrebuintat pachetul. Aceasta inseamna ca, desi filtrul este activ, doar primul fragment va fi analizat, celelalte fragmente nu pot fi analizate pe baza informatiilor TCP si pot trece prin filtru.

2.9 Alte amenintari

2.9.1 Virusii - Cu toate ca anumite produse firewall ofera asistenta tehnica pentru detectarea virusilor in traficul care strabate firewall-ul, sunt prea multe metode prin care un hacker inteligent poate sa impacheteze un software virus. Chiar daca firewall-ul pretinde ca efectueaza o scanare pentru virusi, nu dezactivati software-ul de detectare a virusilor care ruleaza pe calculatoarele individuale din retea.

2.9.2 Caii troieni - Similar cu amenintarea virusilor, este dificil sa impiedicati programele de tip cal troian sa patrunda intr-o retea. Este usor de pacalit un utilizator si de a-l face sa descarce un program sau sa deschida un fisier atasat la un mesaj de posta electronica, prin care sa se permita rularea unui cod raufacator pe sistemul local.

2.9.3 Social engineering - Acest termen a devenit cunoscut in ultimii cativa ani si descrie metodele pe care hackerii le folosesc pentru a obtine informatii de la utilizatorii 'prietenosi'. Foarte multe persoane isi dezvaluie parola atunci cand cineva le telefoneaza si se recomanda a fi un ofiter de securitate care 'verifica' ceva. Un firewall nu poate sa opreasca un utilizator care dezvaluie parola.

2.9.4 Intreruperile fizice - Un firewall nu ne poate apara in cazul unei intreruperi in alimentarea cu curent sau al unei intreruperi intr-un cablu de retea sau telefonic. Precautiile impotriva acestui tip de eveniment ar trebui sa constituie subiectul unui plan de recuperare a retelei in caz de dezastru.

2.9.5 Atacurile din interior - Un firewall nu poate opri o persoana care se gaseste deja in retea sa ne faca probleme. Este unul din motivele pentru care securitatea calculatoarelor gazda ramane importanta si dupa ce am instalat un firewall.

2.9.5.1 Virusi si cai troieni

Un firewall nu va poate proteja de orice. Uneori, indiferent cat de bune sunt masurile de securitate si instruirea utilizatorilor, un program rau intentionat, cum ar fi un virus sau un program de tip cal troian, patrunde in retea. Virusii se pot ascunde in alte programe sau chiar in sectorul de incarcare al unui disc. Programele de tip cal troian par sa fie altceva decat sunt. Ambele pot cauza pagube insemnate daca nu sunt detectate in timp util. Problema poate aparea atunci cand un utilizator aduce software pe discheta sau descarca un program din Internet. De asemenea, schimburile de mesaje prin posta electronica pot oferi o cale simpla de patrundere in retea. Problema cu aceste programe distructive exista inainte ca Internetul sa devina atat de popular. Acum insa, Internetul pune la dispozitia acestor tipuri de programe un mediu nou de multiplicare si distributie. Exista situri care afiseaza informatii despre modul in care pot fi scrise aceste tipuri de programe, impreuna cu mostre de cod si instructiuni pentru trecerea peste dispozitivele de securitate.Unele sisteme firewall pot oferi o protectie limitata, prin faptul ca pot cauta anumite indicii sau amprente digitale ale programelor virus sau de tip cal troian cunoscute.

2.9.6 Posta electronica falsificata

Falsificarea mesajelor de posta electronica nu este un lucru dificil de realizat. Protocolul SMTP (SimpleMail Transfer Protocol) nu este foarte sigur, in special din cauza lipsei unor proceduri bune de autentificare. Daca cineva din Internet se poate conecta la serverul nostru de posta electronica, de obicei prin portul 25, poate sa lanseze in executie comenzile necesare pentru a trimite mesaje de posta electronica ce par sa provina de pe acel server si poate folosi orice utilizator ca sursa a postei electronice falsificate. Pentru cei care nu au timp sa se ,joace' cu protocolul SMTP, este in general usor sa configureze un client de posta electronica astfel incat sa trimita mesaje cu un nume de utilizator falsificat. Dupa cum stau lucrurile in prezent, atunci cand se receptioneaza un mesaj obisnuit de posta electronica, nu se poate sti sigur de unde provine. Datorita acestui fapt, posta electronica falsificata poate fi foarte periculoasa in retea. Practic, poate deveni un instrument care permite unui intrus din exterior sa adune informatii despre retea sau sa introduca fisiere in respectiva retea.Pentru a ajuta la eliminarea problemei identificarii creatorului unui mesaj de posta electronica, se utilizeaza semnatura digitala (digital signature). Exista doua avantaje ale utilizarii semnaturii digitale; aceasta metoda va ofera :

Autentificarea initiatorului mesajului;

Siguranta integritatii continutului mesajului.

Semnaturile digitale presupun utilizarea unei chei private pentru criptare a unui mesaj care poate fi citit numai utilizand cheia publica potrivita.

2.9.7 Intruziuni

Atunci cand reteaua locala se gaseste sub controlul administratorului din punct de vedere fizic, in mod normal se poate controla cum si cand este accesata reteaua. Chiar daca sunt utilizate modemuri pentru a permite utilizatorilor sa se conecteze la retea, se pot configura modemurile pentru a fi utilizate intre anumite ore si sa folosite caracteristici cum ar fi apelul invers pentru protejare impotriva potentialilor hackeri. Insa o conexiune la Internet inseamna ca exista milioane de potentiali hackeri asupra carora nu avem nici un control. Orice incredere care se acorda altor calculatoare gazda din Internet reprezinta o posibila problema de securitate, deoarece hackerul nu trebuie decat sa compromita acel sistem in care se are incredere pentru a incepe sa afle mai mult despre retea.

2.9.8 Furtul parolelor

Utilizarea unui cont valid de utilizator si a unei parole valide reprezinta cea mai sigura metoda de patrundere intr-o retea. De fapt, atunci cand utilizeaza un cont si o parola valide, intrusul nu poate fi prins pana cand cineva nu suspecteaza acel utilizator ca executa actiuni care nu au legatura cu functia sa. Parolele pot fi ghicite de intrus sau pot fi 'sparte' prin utilizarea unui instrument de genul Crack (care descifreaza parolele criptate dintr-un fisier de parole presupus a fi securizat). O politica buna in domeniul parolelor obliga utilizatorii sa aleaga parole dificil de ghicit - cu lungimea mai mare de 6 caractere, utilizand o combinatie de caractere numerice si alfabetice, simboluri, litere mari si mici. Nu trebuie stabilita insa o politica de parole prea restrictiva. Deseori, cand parolele sunt dificil de retinut, utilizatorii le scriu pur si simplu pe hartie. Desigur, aceasta anuleaza intreaga ratiune de utilizare a unei parole pentru autentificare.Instrumentele disponibile hackerilor moderni permit ca intreaga putere de prelucrare a unui calculator rapid sa fie utilizata atunci cand se incearca' 'spargerea' unui fisier de parole criptate. Alte programe automatizeaza procesul de incercare repetata a conectarii pentru a incerca sa ghiceasca o parola folosind cuvinte uzuale. In functie de conturile utilizatorilor, protectia bazata doar pe securitatea prin parole nu este fiabila atunci cand se efectueaza conectarea intr-o retea mai mare. Pur si simplu exista prea multe instrumente care fac usor de strapuns aceasta aparare. In locul acestei metode, poate fi utilizat un firewall ca o prima bariera in fata intrusilor din exterior, iar pentru retelele cu cerinte ridicate de securitate, ar trebui luate in considerare tehnici mai puternice de autentificare, cu parole de unica folosinta sau tokenuri fizice externe .Token in acest context are sensul de dispozitiv fizic de protectie, cum sunt, de exemplu, cartelele inteligente sau dispozitivele de recunoastere care se pot conecta la interfetele I/O.

2.9.9 Serviciul de clienti prietenosi (social engineering)

O zona neglijata adesea, care poate conta mult la implementarea securitatii, este educatia utilizatorilor. Prea des, utilizatorii sunt dirijati printr-un proces de catre departamentul de resurse umane, in care ei semneaza niste hartii indicand ca au inteles si ca vor respecta regulile de securitate ale sitului. O tactica simpla de colectare a informatiilor despre o retea este pur si simplu de a intreba pe cineva care lucreaza deja in reteaua respectiva. Utilizatorii increzatori raspund de obicei cu informatiile cerute de cineva cu autoritate. De fapt, utilizatorii ar trebui sa fie instruiti sa nu ofere informatii, cum ar fi o parola, nici chiar unui superior. Parolele pot fi schimbate de administrator daca este necesar accesul la un cont. Pot fi create conturi pentru utilizatorii temporari. Rareori exista nevoia de a permite mai multor utilizatori sa partajeze un cont sau o parola pentru o resursa.De asemenea, trebuiesc instruiti utilizatorii sa verifice orice solicitare pe care o primesc prin canale nesigure, cum ar fi posta electronica, inainte sa raspunda si ca informatiile despre statia de lucru proprie, serverele de retea si problemele de securitate nu trebuie sa fie discutate niciodata la telefon cu persoane din afara organizatiei.

2.9.10 Intrarile secrete

Atunci cand un intrus din exterior a obtinut chiar si un tip redus de acces intr-o retea noastra, urmatorul pas este de obicei sa creeze un gen de punct de intrare care sa ii usureze actiunile in viitor. Crearea unei intrari secrete (backdoor) intr-o retea poate fi la fel de simpla ca si operatia de creare a unui cont nou de utilizator cu toate privilegiile pe un calculator important. Intrarile secrete pot fi create utilizand programe de tip cal troian sau exploatand o eroare de programare intr-o aplicatie sau intr-un sistem de operare. O intrare secreta intr-o retea poate fi creata chiar prin modificarea configuratiei firewall-ului sau a calculatoarelor gazda care se gasesc in zona DMZ. Din nou, este un motiv pentru care securitatea calculatoarelor gazda individuale nu ar trebui ignorata sau trecuta pe al doilea plan atunci cand este utilizat un firewall.

2.9.11 Spionarea: monitorizarea traficului de retea

Interceptarea comunicatiilor intr-o retea LAN poate fi la fel de simpla ca si conectarea unui calculator gazda la retea si utilizarea unui adaptor de retea configurat pentru modul eterogen. Impiedicarea interceptarii se poate prin monitorizarea retelei si plasarea de elemente de control referitor la tipurile de dispozitive care pot fi atasate la retea. In Internet, pachetele pot fi interceptate pe orice legatura pe care caIatoresc. Din acest motiv nu ar trebui folosite versiuni nesigure de utilitare de retea, cum ar fi FTP de baza si software-ul de client Telnet. Aceste aplicatii trimit numele de utilizator si parolele sub forma de text clar necriptat prin retea. De asemenea, Internetul nu ofera protectie pentru informatiile utile care ar putea calatori in pachetele IP catre sau dinspre o anumita retea. Singura metoda prin care se poate avea o conexiune sigura la Interent este utilizarea unei tehnologii de criptare, fie pentru fisierele individuale transmise, fie prin utilizarea unei retele virtuale private (VPN) care creeaza tuneluri pentru a trece protocoalele normale de retea printr-un flux criptat de date. Datorita faptului ca un canal sigur de comunicatii este atat de important si pentru ca un firewall este pozitionat la marginea retelelor, le pot gasi numeroase produse firewall ce ofera conexiuni VPN intre firewall-uri.

2.9.12 Falsificarea IP si depersonalizarea

Intr-un pachet IP, campul Source Address din antet este utilizat pentru a indica gazda de la care a provenit pachetul. Acesta este unul dintre campurile care se pot configura pentru a fi analizate de un filtru de pachete, atunci cand se decide ce pachete de retea pot trece prin firewall. Exista o serie de calculatoare gazda in care se poate avea incredere si altele in care nu se poate avea incredere. Regulile de filtrare pot fi stabilite pentru a trimite mai departe sau a bloca pachetele pe baza unei adrese de gazda sau a unei adrese de retea. Exista mai multe instrumente disponibile gratuit in Internet care permit unui utilizator rauvoitor sa expedieze pachete avand adresa de sursa aleasa de utilizatorul respectiv. Aceasta falsificare IP inseamna ca firewall-ul unei retele poate receptiona pachete despre care crede ca provin de la un calculator gazda sau de la o retea in care are incredere, insa in realitate sunt generate de cineva care doreste sa introduca date in reteaua locala. Gazda sigura poate fi un calculator gazda din Internet cu care se interactioneaza sau unul din respectiva retea locala. Daca adresa IP falsificata este o adresa care pare sa provina din reteaua proprie, administratorului ii este usor sa configureze un filtru de pachete pentru a se apara, stabilind interzicerea tuturor pachetelor care ajung la interfata externa si au adresele de sursa din reteaua locala. Aceasta operatie ar trebui realizata pe toate ruterele prin care se conecteaza la o retea externa, deoarece legaturile de incredere dintre calculatoarele gazda din reteaua locala sunt configurate de obicei mai putin strict decat cele cu gazde  Desigur, daca un astfel de pachet patrunde prin filtru si gazda tinta raspunde, raspunsul este trimis catre gazda identificata in campul pentru adresa sursei, astfel ca atacatorul nu va fi capabil sa vada acel raspuns. in multe cazuri, aceasta nu conteaza. Problema este ca prin falsificarea unei adrese IP, atacatorul poate introduce un pachet in retea. De exemplu, daca atacatorul a fost capabil anterior sa introduca un program de tip cal troian in respectiva retea, program care 'asculta' pe un numar de port ridicat ca valoare, aceasta metoda ar putea fi utilizata pentru a trimite in interior un pachet care ar putea instrui programul periculos sa execute anumite actiuni. Daca hackerul are deja anumite cunostinte despre respectiva retea si este dispus sa isi aloce timp pentru aceasta, din falsificarea IP poate rezulta un atac si mai periculos. Acest tip de atac presupune dezactivarea unui calculator gazda din Internet despre care se stie ca este sigur pentru retea, si apoi depersonalizarea acelui calculator sigur. Calculatorul gazda sigur este cel care are un tip special de acces in retea, astfel ca daca atacatorul poate trimite in retea un pachet care pare sa provina de la o conexiune existenta pe care a configurat-o gazda reala, pot rezulta pagube insemnate. Atacatorul dezactiveaza calculatorul gazda sigur folosind un atac de tip interzicerea serviciului si apoi expediaza catre gazda un pachet care pare sa provina de la calculatorul gazda sigur original. Acest tip de atac poate fi complicat si presupune ghicirea urmatorului numar de secventa pentru conexiunea intrerupta. Insa operatia nu este prea dificila daca atacatorul are cunostinte suficiente despre protocolul TCP si despre modul in care este implementat pe gazda din retea.

2.9.13 IP Spoofing

Multe firewall-uri examineaza adresa IP a sursei pachetelor pentru a determina daca sunt legitime. Un firewall poate fi instruit sa permita traficul care vine de la o sursa de incredere. Un cracker ar putea incerca sa preia IP-ul acestei surse de incredere pentru firewall prin IP spoofing. Daca firewall-ul considera ca pachetele isi au originea la sursa de incredere, le-ar putea permite accesul daca indeplineste toate regulile de filtrare. Bineinteles, cracker-ul trebuie sa detina informatii precise despre regulile de filtrare implementate de firewall pentru a exploata aceasta 'slabiciune'. Acest lucru este un argument in plus pentru a afirma ca doar tehnologia nu poate rezolva problemele de securitate.

O solutie impotriva IP spoofing este folosirea VPN cu IPsec. Aceasta metodologie implica criptarea datelor din pachet si a adresei IP a sursei. La descriptare se executa o verificare pentru a determina daca datele nu au fost falsificate. Fara acces la cheile de criptare, un potential intrus nu ar putea sa penetreze firewall-ul.

Probleme

-poate aparea fenomenul de 'gatuire' a traficului;

-concentrarea securitatii intr-un singur loc poate avea consecinte nefaste in cazul aparitiei unor erori;

-poate fi 'nepopular' printre utilizatorii care percep doar lipsa serviciilor restrictionate.

Atacuri din interiorul sistemului

Odata ce cracker-ul a intrat in sistem, poate incepe sa faca stricaciuni. Daca computerul are o securitate buna, va fi posibil doar sa lezeze utilizatorul a de a carui cont s-a folosit, dar de obicei aceasta intrare initiala este mecanismul de declansare a spargerii altor conturi mai tarziu.

2.9.14 Troienii

Un atac venerabil este atacul troienilor, in care, un program aparent inocent contine cod pentru realizarea unor functii neasteptate si nedorite. Aceasta functie ar putea fi modificarea, stergerea sau criptarea fisierelor utilizatorului, copierea lor intr-o locatie de unde cracker-ul le va lua mai tarziu sau chiar trimiterea lor prin email sau FTP. Pentru a rula troianul, trebuie rulat programul gazda. O modalitate de a face acest lucru este plasarea lui pe Internet ca un joc gratuit, special, un MP3 viewer, un program de vizualizare porno 'special' sau ceva de genul care sa atraga atentia si sa incurajeze lumea sa iI descarce. Cand este rulat, este apelata procedura troianului si poate face orice poate face si utilizatorul: sa stearga fisiere, sa deschida conexiuni de retea etc. De notat ca acest siretlic nu necesita ca autorul troianului sa patrunda in computerul victimei.

2.9.15 Login spoofing

Este o metoda legata intr-un fel de metoda troienilor si functioneaza in felul urmator. In mod normal, cand cineva este logat la un terminal UNIX sau pe o statie din LAN, este afisat un ecran ca cel din fig. 10 (a). Cand utilizatorul tasteaza un nume de utilizator, sistemul cere parola. Daca este corecta, utilizatorul se conecteaza si incepe sesiunea.

Sa consideram insa acest scenariu: X scrie un program pentru a afisa un ecran ca in fig. 10 (b), cu precizarea ca aceasta nu este procedura de login a sistemului, ci una falsa, creata de X. X se indeparteaza si priveste totul de la o distanta sigura. Cand utilizatorul tasteaza un nume de login si o parola, acestea sunt scrise intr-un fisier iar programul fals isi trimite un semnal pentru a-si termina procesul. Aceasta determina adevarata procedura de login sa se execute si sa afiseze ecranul din fig. 10 (a). Utilizatorul presupune ca nu a tastat bine parola si se logeaza din nou. De data aceasta functioneaza. Dar intre timp, X a acumulat inca o pereche (nume utilizator, parola). Prin logarea pe mai multe terminale si lansarea login spoofer, el poate colecta multe parole.


Singura metoda de contracarare a unui atac de tip login spoofing este de a face secventa de login sa inceapa la o combinatie de taste pe care programele utilizator sa nu o poata intercepta. Windows 2000 foloseste CTRL-ALT-DEL pentru acest scop. Daca un utilizator incepe prin tastarea CTRL-ALT-DEL, utilizatorul curent este deconectat si este rulat programul sistemului de login. Nu exista metoda de evitare a acestui mecanism.

2.9.16 Bombe logice

Un alt atac produs din interiorul sistemului, de data aceasta cu xxxx, este bomba logica. Acest mecanism este o secventa de cod scrisa de un programator din firma, momentan angajat, si care a fost introdusa in mod secret in sistemul de operare. Atata timp cat zilnic primeste parola, nu face nimic. Dar daca programatorul este concediat fara avertisment, ziua urmatoare (sau saptamana urmatoare) bomba logica neprimind parola zilnica, explodeaza. Mai multe variante ale acestei bombe logice sunt posibile. Intr-­unul dintre cazurile celebre, bomba logica verifica statele de plata. Daca numarul personal al programatorului nu aparea pe ele timp de doua perioade consecutive de salarizare, se declansa.

Declansarea poate implica curatarea discului, stergerea aleatoare a fisierelor, schimbari greu de detectat ale cheilor programelor sau criptarea fisierelor esentiale. In ultimul caz, compania are de facut o alegere grea: sa cheme politia (caz in care s-ar putea sau nu ca programatorul sa fie condamnat peste cateva luni, dar sigur nu vor recupera datele) sau sa cedeze santajului si sa iI reangajeze pe fostul programator ca si 'consultant' contra unei sume astronomice pentru a rezolva problema (si sperand ca in acest timp nu va mai planta o alta bomba logica).

2.9.17 Trap doors

O alta bresa de securitate cauzata din interior sunt trap doors. Aceasta problema este creata de cod inserat in sistem de unul dintre programatorii sistemului pentru a trece peste verificarile nomale. De exemplu, un programator ar putea adauga cod la programul de login pentru a permite accesul oricui acceseaza sistemul utilizand ca nume de login 'Iaurentiu', orice ar fi in fisierul de parole. Codul normal ar putea arata ceva de genul celui din fig. 11 (a). Trap door ar fi schimbarea din fig. 11 (b). Daca acest cod cu trap door ar fi inserat de un programator al unui manufacturier de computere si apoi livrat cu acele computere, programatorul ar putea sa se logeze in orice computer facut de compania lui, necontand cine e proprietarul sau ce are in fisierul de parole. Prin trap door pur si simplu trece peste tot procesul de autentificare.


Aceasta tehnica, odata ce un programator a terminat de codat si testat un modul, modulul este introdus intr-o baza de date cu coduri. Periodic, toti programatorii din echipa se aduna si fiecare explica grupului ce face codul lui, linie cu linie. Nu numai ca vor creste sansele ca cineva sa descopere un trap door, dar creste si atentia programatorului, pentru ca odata prins cu un lucru de genul acesta probabil ca nu este o bila alba pentru cariera sa. Daca programatorii protesteaza prea mult la aceasta metoda, exista si posibilitatea ca doi colegi sa isi verifice codurile unul altuia.

2.9.18 Buffer Overflow

O sursa bogata a atacurilor se datoreaza faptului ca in majoritatea cazurilor, toate sistemele de operare si cele mai multe programe sistem sunt scrise in limbajul C pentru ca programatorii sunt atrasi de acest limbaj care poate sa fie compilat foarte eficient. Din pacate nici un compilator de C nu face o verificare a limitelor sirurilor. In consecinta, urmatoarea secventa de cod, desi nelegala, nu este verificata.

int i;

char c[1024];

i = 12000;

c[i] = o;

Rezultatul este ca un byte din memorie, cu 10.976 byte in afara sirului c, va fi suprascris, posibil cu consecinte dezastruoase. Nici o verificare nu se face la rulare pentru a preveni aceasta eroare.

Aceasta proprietate a limbajului C conduce la atacuri de felul urmator. La apelarea de subprograme, IC si PC se salveaza in stiva, pentru a se apela subprogramul cu variabilele lui. Daca are loc un buffer overflow, o depasire a spatiului alocat, este posibil ca adrese din programul principal sa fie suprascrise. Daca aceasta suprascriere se face precis, se poate executa cod intr-o maniera controlata. O parte substantiala a tuturor problemelor de securitate se datoreaza acestei scapari care sunt dificil de corectat pentru ca sunt atat de multe programe scrise in limbajul C care nu verifica buffer overflow. Detectarea daca programul are sau nu probleme de tipul buffer overflow este simplu: ii furnizam nume de fisiere de 10.000 caractere, salarii cu 100 de cifre sau ceva la fel de neasteptat ca sa vedem daca nucleul aplicatiei rezista sau nu. Urmatorul pas este sa analizam pentru a vedea unde este localizat sirul cel lung. De aici, determinarea caracterului care suprascrie adresa de revenire nu e asa de dificila. Daca codul sursa este disponibil, ca in cazul majoritatii programelor UNIX, atacul este si mai usor de declansat pentru ca se cunoaste continutul stivei. Ne putem apara impotriva atacului prin verificarea explicita in cod a lungimii tuturor sirurilor provenite de la utilizator inainte de a le introduce in buffer-e de lungime fixa. Din pacate, faptul ca unele programe sunt vulnerabile in fata unui atac de acest gen se afla doar dupa un atac reusit.

2.9.19 Atacuri generice

O modalitate de a testa securitatea unui sistem este de a angaja o echipa de experti, cunoscuti sub numele de echipe de penetrare, pentru a vedea daca ei pot sa ocoleasca masurile de securitate. In decursul anilor, aceste echipe de penetrare au descoperit un numar de posibile situatii in fata carora sistemele s-ar putea sa fie slabe din punct de vedere al securitatii. In continuare vom prezenta o lista cu cele mai frecvente atacuri care sunt adesea reusite [13]. Desi aceste atacuri au tintit initial sisteme cu divizarea timpului, ele pot fi folosite si la atacuri asupra serverelor de LAN si alte masini partajate.

La proiectarea unui sistem trebuie ca acesta sa reziste urmatoarelor atacuri:

Se cer pagini de memorie, spatiu pe disc sau benzi si se incearca citirea acestora. Multe sisteme nu le sterg inainte de a le aloca si pot fi pline de informatii interesante scrise de proprietarul anterior.

Se incearca apelarea de comenzi ilegale, sau comenzi legale cu parametri incorecti, sau chiar comenzi legale cu parametri corecti dar improbabili cum ar fi nume de fisiere de sute de caractere lungime.

Se incepe logarea si apoi se actioneaza tastele DEL sau BREAK in mijlocul secventei de autentificare. In unele sisteme, programul de verificare a parolei este oprit si logarea se considera completata cu succes.

Se incearca sa se modifice structuri complexe ale sistemului de operare pastrate in spatiul utilizator (daca exista). In unele sisteme (in special pe mainframe-uri), pentru a deschide un fisier sistemul construieste o mare structura de date care contine numele fisierului si multi alti parametri si le serveste sistemului. In timp ce fisierul este citit si scris, cateodata sistemul reinitializaeza structura. Schimbarea acestor campuri poate face ravagii in sistemul de securitate.

Se cauta manuale in care scrie 'A nu se fac'e X'. Se incearca cat mai multe variatii ale lui X posibile.

Se convinge programatorul sistemului sa adauge cod trap door pentru un utilizator cu un nume stabilit, pentru ocolirea catorva verificari importante de securitate. Daca toate cele de mai sus nu functioneaza, penetratorul poate contacta secretara administratorului de sistem si sa pretinda ca este un utilizator care si-a uitat parola si are nevoie de ea rapid. O varianta apropiata este mituirea secretarei. Secretara probabil ca are acces la tot felul de informatii minunate, si de obicei este prost platita.

A nu se subestima problemele cauzate de personal.

Greu de crezut, dar atacurile descrise adeseori functioneaza.Principii de proiectare a unui sistem sigur. Proiectarea unui sistem de operare sigur nu este o problema banala. S-a lucrat la aceasta problema de decenii fara prea mare succes. Pe la 1975, cercetatorii au identificat niste principii generale care ar trebui sa ghideze proiectarea sistemelor de operare sigure. In primul rand design-ul trebuie sa fie public. Proiectantii pot doar sa isi faca iluzii ca intrusii nu cunosc cum functioneaza sistemul. Intrusii vor afla mai devreme sau mai tarziu si daca protectia sistemului este compromisa de aceasta informatie, sistemul se va prabusi. In al doilea rand, respingerea accesului ar trebui sa fie implicita. Erori in care accesul legitim este respins vor fi raportate mult mai rapid decat erori in care accesul neautorizat este permis. Cand exista dubii se prefera raspunsul negativ. In al treilea rand, autoritatea curenta necesita verificare. Sistemul nu ar trebui sa verifice permisiuni, sa determine ca accesul este permis si apoi sa inlature aceasta informatie pentru utilizari ulterioare. Multe sisteme verifica permisiunile in momentul in care se incearca deschiderea fisierelor dar nu si dupa deschiderea lor. Aceasta inseamna ca un utilizator care deschide un fisier si il tine deschis cateva saptamani va avea acces la el chiar daca utilizatorul a schimbat de multa vreme protectia fisierului sau chiar a incercat sa il stearga. In al patrulea rand, fiecare proces ar trebui sa detina cat mai putine privilegii. Daca un editor are autoritate numai sa acceseze fisierul pe care il editeaza, editoare care contin troieni nu ar putea face prea multe stricaciuni. Acest principiu implica o schema de protectie rafinata.In al cincilea rand, mecanismul de protectie ar trebui sa fie simplu, uniform si construit in cele mai de jos nivele ale sistemului. Incercarea de adaptare a securitatii la un sistem existent nesigur este aproape imposibil. Securitatea nu este o caracteristica ce se poate adauga.In al saselea rand, modelul ales trebuie sa fie acceptabil din punct de vedere psihologic. Daca utilizatorilor li se pare ca protejarea fisierelor implica prea multa munca, pur si simplu nu o vor face.Acestei liste i se mai adauga un principiu: pastrarea design-ului cat mai simplu. Daca sistemul este elegant si simplu, a fost proiectat de un singur arhitect si are cateva principii directive care determina restul, are toate sansele sa fie sigur. Daca design-ul este un conglomerat fara coerenta, cu multe concesii fundamentale facute in numele compatibilitatii cu sisteme nesigure mai vechi, cu siguranta va fi un cosmar al securitatii. Se pot dezvolta sisteme cu multe facilitati, dar un sistem cu multe facilitati este un sistem mare si deci un potential sistem nesigur. Cu cat are mai mult cod cu atat mai multe brese de securitate si erori pot fi. Din punctul de vedere al securitatii, cel mai simplu design este cel mai bun.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.