Scurt ghid despre cum se efectueaza un audit de securitate - Securitatea Informatica

Scurt ghid despre cum se efectueaza un audit de securitate

In acest document se trateaza metodele prin care se desfasoara un audit eficient, asupra unui computer sau a unei retele. Nu vor fi discutate detaliile tehnice de preventie care pot fi instalate pe un sistem sau intr-o retea, ci doar un sumar cu ce trebuie examinat in timpul unui audit.

1. Securitatea fizica
2. Securitatea retelei din care face parte sistemul
3. Protocale/servicii
4. Securitatea utilizatorului (User security)
5. Securitatea stocarii datelor
6. Parole
7. Factorul uman
8. Planul de dezastru

Pre-audit. Temele pe care un auditor trebuie sa si le faca inainte de a incepe demararea procesului efectiv

Inainte ca auditul sa inceapa, este necesar sa se faca anumite studii. Auditorul trebuie sa stie cine este clientul, cu ce se ocupa, ce servicii ofera, care este aria in care acesta isi duce activitatea. De asemenea trebuie sa stie tipul datelor (si care sunt acestea) care sunt protejate, importanta lor in organizatie, si timpul necesar efectuarii auditului.

Un alt detaliu pe care trebuie sa-l verifice este daca au mai fost facute audituri in trecut. Daca au mai fost, atunci trebuie subliniat ce anume a picat testul.

Auditorul trebuie sa intocmeasca un chestionar cu intrebari legate de managementul controlului, metodele de autentificare/acces, securitatea fizica, accesul extern la sistem, accesul la retele externe, existenta planurilor secundare (“contingency planning” – in cazul in care planul principal nu poate fi aplicat, se vor lua in considerare planurile secundare), etc.
Aceste chestionare vor fi inmanate angajatilor, cu scopul de a da o nota politicilor de control si de securitate pe care ei le folosesc. Trebuie avut in vedere faptul ca raspunsurile vor fi subiective, ele fiind doar o scurta introducere in practicile acelei companii.

1. Securitatea fizica
Este cea mai importanta parte in mentinerea securitatii, care din pacate este de cele mai multe ori ignorata de catre adimistratorii de sistem, deoarece majoritatea sunt de parere ca proximitatea ocazionala este de ajuns.
In general sunt mult mai multi factori care trebuie luati in considerare pentru ca acel sistem sa fie sigur.
- Sistemul este localizat pe o suprafata dreapta, fixa si de preferat la o distanta de minim 10cm fata de pamant?
- Sistemul este ferit de orice sursa de lumina excesiva, vant, apa sau temperature extreme?
- In caz de trafic intens in incinta unde se afla sistemul, exista o monitorizare permanenta?
- In incinta unde se afla sistemul exista un sistem de alarma si/sau accesul este securizat?
- Terminalul sistemului este securizat, astfel incat persoanele neautorizate sa nu poata avea acces la el? Sunt obligati utilizatori sa se delogheze de pe acel terminal in cazul in care pleaca de langa sistem?
- Sursele de curent sunt protejate? Butonul de reset este protejat(in anumite cazuri)?
- Porturile parallel/serial/IR/USB/SCS/FW/etc sunt securizate sau dezactivate? Daca exista memorii externe, acestea sunt securizate?

2. Securitatea retelei
Dupa ce se verifica securitatea fizica, trebuie verificata imediat si securitatea retelei. Daca sistemul opereaza intr-o retea sau intr-un cadru multi-user, atunci acesta este mult mai susceptibil unui atac din exterior, decat un sistem standalone.
Securitatea unei retele este mult mai greu de evaluat deoarece necesita o cunoastere in profunzime atat a diverselor nivele si componente de sistem, cat si a serviciilor care interactioneaza cu sistemul in cauza.
- Este reteaua fizica (cablu, router, switch, proxy, firewall, etc) securizata, astfel incat nu exista pericolul unui acces/modificare neautorizat/a a acesteia? Au doar persoanele autorizate acces fizic la infrastructura retelei? Cunoasteti si aveti incredere in persoanele care administreaza reteaua fizica?
- Celelalte sisteme care sunt conectate la retea sunt sigure atat fizic cat si electronic? Daca sistemul dvs are un nivel de securitate rezonabil insa celelalte nu, atunci pericolul ca acest sistem sa fie accesat de catre persoane neautorizate creste foarte mult.
- Reteaua este protejata prin proxy si/sau firewall? Daca da, acestea sunt configurate corect?

Traficul autorizat produs in retea
- Cunoasteti numele, functionalitatea, producatorul si natura aplicatiilor software instalate pe sistemul in cauza? Ati verificat daca exista update-uri de securitate, si daca da, le-ati instalat mereu?
- Ati verificat daca serviciile care interactioneaza cu reteaua nu permit “by default” accesul neautorizat la sistem?
- Exista o limitare a utilizatorilor, astfel incat sa se previna scurgerea de informatii sensibile legate de securitatea sistemului in cauza?
- Permiteti utilizatorilor autorizati sa ruleze linii de comanda/shell prin care sa acceseze remote sistemul?
- Exista aplicatii software care pot interactiona intre ele(conflict intre aplicatii)? Daca da, ati verificat daca exista brese de securitate produse de aceasta interactiune?
- Exista loguri de sistem cu toata activitatea produsa in retea?
- Utilizatorii de sistem sunt obligati ca dupa o anumita perioada sa-si schimbe parolele?
- Traficul din retea este criptat?
- Se permite folosirea de clienti de chat de genul Yahoo Messenger, gTalk, Skype, etc?

Traficul neautorizat produs in retea
- Se verifica cu regularitate daca exista incercari neautorizate de conectare la sistemul in cauza?
- Se verifica cu regularitate daca exista programe neautorizate care ruleaza pe sistemul in cauza, si care ar putea permite conectarea persoanelor de la distanta?
- Se verifica daca exista o activitate anormal de mare in retea, produsa de sistemul in cauza?

Traficul wireless
- Conectarea la reteaua WIFI este parolata? Ce tip de criptare se foloseste?
- Traficul de date este criptat?
- Se permite accesul cu dispozitive externe in reteaua WIFI?

3. Protocoale/servicii
Urmatoarea categorie de evaluat este probabil una dintre cele mai mari; calculatoarele sunt facute sa proceseze, iar in functie de scopul sistemului in cauza, acesta poate rula diferite tipuri de aplicatii software.
Datorita faptului ca toate aceste aplicatii sunt scrise de foarte multi programatori, exista probabilitatea ca cel putin una dintre aceste aplicatii sa contina o vulnerabilitate. De ce? Deoarece fiecare programator intelege in felul sau securitatea, unii acordandu-i o atentie mai mare, altii mai mica.
- Chiar daca in general este acceptabil sa credem ca aplicatiile software care vin pre-instalate intr-un sistem nou prezinta o securitate rezonabila, trebuie verificat mereu daca producatorul a lansat update-uri (in special de securitate – “Security patches”) sau alte informatii relevante despre configuratia specifica sistemului in cauza.
- Pentru fiecare aplicatie software instalata in sistemul in cauza, trebuie verificat daca exista atat brese de securitate cunoscute cat si metode de a le folosi (exploits). Daca producatorul are un newsletter prin care anunta aceste probleme, administratorul de retea trebuie sa fie abonat la el.
- Configurarea proasta a aplicatiei este probabil cea mai comuna cauza prin care o persoana obtine acces neautorizat la sistem. In momentul instalarii acelei aplicatii, s-a urmarit ghidul emis de catre producator? Daca au aparut probleme pe parcurs, acestea au fost notate si transmise departamentului insarcinat cu rezolvarea acestora?
- Daca aplicatia poate accesa date sensibile, utilizatorul in cauza este autorizat sa lucreze cu acest program? Atat log-ul de sistem cat si datele temporare sunt stocate intr-un loc sigur? Daca trebuie sterse, se foloseste “low-level format”?
- Daca exista aplicatii de tip “daemon” (ruleaza in permanenta), trebuie verificat modul in care reactioneaza la atacuri de genul “buffer overflow” sau “denial of service”. Mai trebuie facut si un stress test pentru a vedea cum reactioneaza in situatii de folosire la parametri maximi.

4. Securitatea utilizatorului
Securitatea utilizatorului (User security) variaza in functie de natura sistemului in cauza. In unele situatii sistemul este izolat, avand functiile unui server , asta insemnand utilizatori putini. In alte situatii pe acel sistem se pot loga sute de utilizatori, toti avand acces direct si simultan.
Se poate observa faptul ca importanta securitatii utilizatorului este direct proportionala cu numarul acestora si cu tipul lor,insa nu trebuie ignorat nici faptul ca e de ajuns ca un singur user sa incerce sa obtina acces neautorizat pentru ca tot sistemul sa fie compromis.
- Trebuie dezvoltata o metoda standard pentru creearea si intretinerea conturilor de utilizator (user accounts). Trebuie dezvoltate reguli clare si concise, iar acestea trebuie sa fie inmanate fiecarui utilizator.
- In cazul in care ne aflam in scenariul “un sistem – mai multi utilizatori”, trebuie setat nivelul de resurse pe care fiecare utilizator il poate consuma, incepand de la numarul de logari pana la dimensiunea spatiului de memorie alocat. De asemenea trebuie tratata si problema in care un utilizator compromite sistemul fara intentie (ex: rularea recursiva a unui script care de fiecare data creeaza un fisier de 100MB)
- In unele cazuri trebuie limitata si maniera in care un utilizator se conecteaza la sistem. Daca foloseste un terminal de login, trebuie verificat ca acesta este securizat. Daca are acces direct prin protocoale de genul telnet, trebuie rulate servicii de genul tcp_wrappers sau identd pentru a se verifica faptul ca utilizatorul se conecteaza de la sistemul de la care pretinde ca se afla.
- Trebuie tinute loguri cu activitatea utilizatorului, timpul conexiunii (data si durata), locul de unde s-a logat, aplicatiile pe care le-a rulat, comenzile, etc.

5. Securitatea stocarii datelor
De obicei securitatea stocarii datelor nu este vazuta ca un risc, deoarece oamenii au sau nu acces la acestea. Problema este ca exista multe modalitati prin care se poate obtine ilegal acces la aceste date, iar administratorul de sistem trebuie sa fie constient de ele.
- Utilizatorul are acces doar la ce este relevant muncii lor?
- Contul utilizatorului este limitat? Are drept de administrator pe sistemul pe care lucreaza?
- Administratorul este la curent cu politica de drepturi ale utilizatorilor?

6. Parolele
Parola este componenta centrala a oricarei scheme de securitate.
- Fiecare utilizator trebuie sa aiba o parola complexa. In niciun caz nu trebuie sa existe conturi de tip guest sau conturi care nu necesita o forma de autentificare.
- Parola trebuie sa contina minim 6 caractere si sa fie o combinatie de litere (minuscule si majuscule), cifre si simboluri speciale (!@#$%, etc). Parola nu trebuie sa fie un nume, substantiv, idee sau orice cuvant care poate sa existe intr-un dictionar. Un exemplu bun de parola este: jY2Ehxqu#
- Trebuie sa existe o politica de schimbare a parolelor. Utilizatorul nu trebuie sa tina o parola mai mult de cateva luni consecutiv, iar la momentul schimbarii nu trebuie ca cea noua sa fi fost folosita in ultimile 3 cicluri.
- Utilizatorului trebuie sa i se interzica notarea parolei sau stocarea ei intr-un loc care poate fi accesat de persoane neautorizate. Se prefera memorarea acesteia.

7. Factorul uman
Datorita faptului ca securitatea depinde si de oameni nu doar de tehnologie, ingineria sociala este una dintre cele mai periculoase metode de atac. Inselaciunea este o metoda foarte comuna in penetrarea securitatii unui sistem, asa ca testarea factorului uman este necesara. Prin acest mod se va observa cat de bine respecta angajatii anumite politici de securitate.
Tipuri de inginerie sociala
- “Piggybacking”: Auditorul se va imbraca in aceleasi tipuri de haine pe care le poarta angajatii si se aseaza la intrarea in incinta. Acesta va astepta pana cand un angajat vine si descuie usa, apoi intra dupa el. Acest scenariu este folosit pentru a testa daca un angajat permite accesul persoanelor neavizate in interiorul incintelor dotate cu sisteme de acces pe baza de cod/cartela/cheie, etc.
- “Computer technician”: Auditorul incearca sa convinga un angajat ca este fie de la departamentul service, fie de la o firma specializata in depanarea calculatoarelor. Scopul acestuia este sa-i sustraga dispozitivul in care sunt prezente informatiile confidentiale.
- “Bribery”: Auditorul incearca sa mituiasca un angajat, oferindu-i o suma mare de bani pentru anumite informatii.
- “Phishing”: Trimiterea de mesaje e-mail false, care par a veni din partea unor persoane oficiale. Scopul este de a obtine informatii confidentiale.
- “Payroll”: Auditorul lasa intentionat la vedere un CD etichetat in asa fel incat sa starneasca curiozitatea unui angajat (“Lista salarii angajati”, “Lista promovari an curent”, etc). CD-ul contine o aplicatie malitioasa care o data rulata va putea instala un virus/troian, etc.

Exemplele pot continua, insa momentan sunt irelevante deoarece aceasta parte a testarii trebuie gandita special pentru fiecare companie in parte.

8. Planul de dezastru
Planul de dezastru contine un set de reguli, politici si tehnologii care asigura continuitatea functionarii organizatiei in cazul unei probleme majore.
In momentul in care apare o situatie critica, acest plan va ajuta la restaurarea rapida si temporara a unui nivel acceptabil de desfasurare a activitatii.
- Exista politica de backup a datelor?
- Exista generatoare de curent?
- Exista o metoda alternativa de comunicare atat in interiorul companiei cat si exterior?
Ca si in cazul testarii factorului uman, acest set de intrebari va trebui gandit special pentru organizatia in cauza.

Sfarsitul auditului
Dupa ce testarea a ajuns la final, auditorul va trebui sa poarte o discutie cu directorul organizatiei si cu persoanele responsabile cu securitatea acesteia. Li se va comunica ce s-a descoperit si daca exista lucururi care necesita o remediere urgenta. Dupa o perioada de cateva zile (maxim o saptamana), auditorul va trimite un raport formal care va contine toate testele efectuate, impreuna cu rezultatele acestora.

Sursa: hackpedia.info (autor: epic)

Twitter Digg Delicious Stumbleupon Technorati Facebook


Nici un comentariu inca... Fii primul care lasa un comentariu!

Lasa un raspuns

This site is protected by Comment SPAM Wiper. This site is protected by WP-CopyRightPro