Documente Academic
Documente Profesional
Documente Cultură
Testarea Securitatii
Testarea Securitatii
1.INTRODUCERE
Vom prezenta n acest Capitol tehnicile de testare ale furnizorului de securitate software
Security Innovation []. Este vorba de 19 atacuri posibile (Tabelul ), care sunt practice,
eficiente, i se bazeaz pe ani de studiu i cercetare n domeniul defectelor de securitate
software. Ele sunt utile oricrui tip de aplicaie, oricrei platforme i oricrui limbaj de
dezvoltare i sunt deja folosite de mii de testeri i dezvoltatori din ntreaga lume.
Aplicaiile sunt strns dependente de mediul lor pentru a funciona corect. Ele depind de
sistemul de operare s le furnizeze resurse de genul spaiu pe disc i n memorie, depind de
sistemul de fiiere pentru a citi i a scrie date, folosesc structuri ca regitrii pentru a stoca i
regsi informaiile i lista poate continua. Toate aceste resurse furnizeaz intrri programului
(nu n modul direct n care o face un utilizator uman, dar sunt, totui, intrri). Ca orice intrare,
dac programul primete o valoare n afara limitelor ateptate, poate eua. Inducerea de
scenarii de eec ne permite s observm o aplicaie ntr-un mediu pentru care nu a fost
adaptat i n care i expune vulnerabilitile.
Atacul 5: Forarea aplicaiei s opereze cu memorie puin, spaiu redus pe disc i acces
redus la retea
O aplicaie este o mulime de instruciuni pe care hardware-ul calculatorului trebuie s le
execute. Iniial, calculatorul ncarc aplicaia n memorie i apoi i furnizeaz aplicaiei
memorie suplimentar n care s i stocheze i manevreze datele interne. Memoria este totui
temporar; pentru a fi cu adevrat util, aplicaia trebuie s poat stoca i date permanente.
Aici intervine sistemul de fiiere, i mpreun cu el, i necesitatea de spaiu pe disc. Fr
suficient memorie pe disc, majoritatea aplicaiilor nu i vor putea ndeplini funciile.
Obiectivul acestui atac este s priveze aplicaia de toate aceste resurse astfel nct testerii pot
nelege ct de robust i sigur este aplicaia lor sub stres. Decizia alegerii scenariilor de
cdere se determin de la caz la caz. n general, se ncearc blocarea unei resurse la momentul
n care aplicaia pare s aib cel mai mult nevoie de ea. .
n cadrul interfeei utilizator este de obicei cel mai uor de cutat defecte pentru testarea
securitii. Interfaa este modul n care dezvoltatorii se ateapt c vom utiliza programul.
Atacurile descrise n continuare se refer la intrri transmise programului prin intermediul
interfeei. Cele mai multe probleme de securitate rezult din comportamente suplimentare,
neintenionate i nedocumentate ale utilizatorilor. Din IU, aceasta presupune tratarea de intrri
neateptate de la utilizator, ntr-un mod ce compromite aplicaia, sistemul pe care aceasta
ruleaz sau datele sale. Rezultatul poate fi nclcarea drepturilor (un utilizator obinuit
dobndete drepturi de administrare) sau expunerea de informaii secrete ctre un utilizator
neautorizat.
Este foarte dificil s parcurgi 300 de pagini de documentaie a design-ului i s determini dac
produsul final va fi sigur, aadar, o parte din vulnerabilitile de securitate se strecoar n
aceast etap a dezvoltrii. Problema este c decizii de design subtile pot duce la interaciuni
ntre componente i defecte inerente care produc vulnerabiliti produsului final. Atacurile 9-
15 ajut la expunerea acestor insecuriti de design din software: presupuneri implicite
nesigure, testarea conturilor, testarea instrumentaiei, a porturilor deschise, i a constrngerilor
nesatisfctoare asupra logicii de program furnizate de utilizator.
Atacul 13: Crearea de bucle n orice aplicaie care interpreteaz script, cod, sau alt
logic furnizat de utilizator
Unele comenzi, executate izolat sunt inofensive (de exemplu, deschiderea unui browser Web
i navigarea ctre un Website care lanseaz o alt fereastr). Aceast aciune n sine nu
reprezint o ameninare pentru utilizator (dei poate deveni enervant). S ne imaginm acum
o fereastr lansnd o alt fereastr care lanseaz o alt fereastr i aa mai departe: dac
browser-ul nu face nite verificri de raionalitate, sistemul se blocheaz. Atacul 13
investigheaz aciunile repetate: preluarea de comenzi relativ benigne i executarea lor
repetat pentru a limita sau bloca funcionalitatea destinat utilizatorilor sau proceselor n
drept.
Exist multe modaliti de a realiza acest lucru, dar ne ateptm ca pe oricare am alege-o s
obinem acelai rezultat: documentul nostru s fie afiat i gata pentru editare. Dac dorim s
implementm un control de securitate asupra documentului, trebuie s anticipm fiecare
scenariu posibil i s ne asigurm c trece rutina de validare; -ceea ce uneori este descurajant
chiar pentrru dezvoltatorii cu experien. Multe cazuri sunt pur i simplu omise, rezultatul
fiind o rut care se sustrage controalelor de securitate. Atacul presupune regndirea aplicaiei
i explorarea tuturor modalitilor de executare a unei sarcini (nu doar scenariile tipice ale
utilizatorilor).
Un design perfect poate deveni imperfect din cauza implementrii sale. Spre exemplu, schema
de autentificare Kerberos este recunoscut pentru sigurana sa, i totui implementarea sa de
ctre MIT a avut multe vulnerabiliti majore n implementare, - cel mai notabil, depirea
bufferelor. Un design sigur poate construi un produs nesigur atunci cnd problemele de
securitate nu sunt bine explicate de-a lungul ierarhiei: dezvoltatorii primesc de obicei o list
de cerine ce pun accentul pe interfeele pe care componenta lor trebuie s le extind ctre
restul aplicaiei, pe formatul datelor primite de component i pe calculele asupra acestor date.
Totui, adesea nu se specific n cerine modul n care trebuie efectuate calculele pentru a
pstra securitatea datelor.
Atacul 17: Crearea de fiiere cu acelai nume ca fisierele protejate de rang mai nalt
Anumite fiiere se bucur de privilegii speciale datorit localizrii lor. Spre exemplu,
bibliotecile de legturi dinamice (dynamic link libraries- dll) sunt folosite pentru sarcini
specifice i sunt ncrcate de aplicaie fie la pornire, fie la momentul n care devin necesare. n
funcie de localizarea lor n structura de directoare, e posibil ca un utilizator cu privilegii
restricionate s nu le poat modifica, i s nu poat scrie n directorul lor. Atacatorii pot
profita de faptul c aceste biblioteci sunt ncrcate de obicei dup nume, fr alte verificri de
asigurare c sunt ntr-adevr fiierele dorite. Aceasta se poate face prin crearea unui fiier cu
acelai nume i plasarea sa ntr-un director n care utilizatorul are acces i n care aplicaia
caut mai nti. O problem de acelai tip este cea n care unele fiiere capt privilegii
speciale numai pe baza numelui lor. Acesta e un fenomen comun, mai ales cu programele
antivirus care opereaz folosind o plas complex de reguli de filtrare bazate pe nume de
fiiere i extensiile lor. Atacul este aplicabil de cte ori o aplicaie ia decizii de execuie sau de
privilegii pe baza numelui unui fiier.