SECURITATE

Daca in 1991 exista un singur website, ei bine, la finele anului 2014 a fost depasita bariera de 1 miliard. Acest lucru a devenit posibil datorita internetului, si a influentei extraordinare pe care o are in societatea zilelor noastre, tot mai dependenta de informatii usor accesibile, pe care sa le putem folosi in avantajul nostru.

Site-urile pe care le regasim pe internet pot fi catalogate in numeroase categorii. Ele pot fi alcatuite pur si simplu din pagini cu caracter informativ. Pot fi platforme de e-commerce, pe care ne facem adesea cumparaturile, cu rapiditate si din confortul casei noastre. Pot fi retele sociale, pe care intram ca sa tinem legatura cu prietenii, sau pentru a vedea care sunt "noutatile" din viata acestora. Cu siguranta pot lua o multime de forme, si pot servi unei multitudini de scopuri. Insa ceea ce toate site-urile au in comun este schimbul de informatii. Informatii care uneori trebuie tinute in cercuri restranse, si necesita sa aiba un acces partajat si protejat. Din pacate, acel miliard de astfel de platforme poate insemna uneori un miliard de tinte pentru hackeri.

O sa plecam de la prezumtia ca stim cu totii ce sunt hackerii si care sunt scopurile lor. Intrebarea este daca ar trebui sa tinem cont de ei atunci cand ne decidem sa ne facem un site? Raspunsul este, indiferent de care este natura site-ului pe care ni-l dorim, DA! Cu siguranta trebuie sa pastram datele noastre si ale utilizatorilor nostri in siguranta. Aspect care, din pacate, in Romania este neglijat atat de persoanele care cauta servicii de webdesign, cat si de dezvoltatori.

Ca sa va faceti o idee mai buna asupra tipurilor de atacuri in fata carora o aplicatie web neoptimizata si nesecuritata este vulnerabila, am realizat mai jos o lista de atacuri frecvente, utilizata de "piratii" din lumea virtuala:


  1. Cross Site Scripting (XSS)

Aceste atacuri urmaresc o linie simpla. Atacatorul introduce anumite scripturi in site-ul vizat, fie prin trimiterea unor request-uri de pe un server, fie prin introducerea lor in formularele existente (poate fi vorba de formularul de contact, fereastra de cautare, sistemul de login, etc). Aceste scripturi, daca nu sunt validate si tratate corespunzator, pot fi adaugate in codul HTML al site-ului. Ele adesea sunt atasate in zonele care reflecta continutul introdus de vizitatori. Spre exemplu, in zona comentariilor de pe pagina de articole/stiri. Odata ajunse in sistem, ele pot deservi trei scopuri. In primul rand, pot extrage informatii vitale din cookie-uri si sesiuni (precum detalii despre conturile de utilizator, chei de encriptare folosite in scop de siguranta, samd), si le pot transmite mai departe pe dispozitivul atacatorului. Pot, pe de alta parte, sa redirectioneze toti vizitatorii acelui site pe un alt domeniu, adesea in scopuri de promovare a unui serviciu sau al altui program malitios. Si, nu in ultimul rand, pot obtine acces asupra unor functionalitati de pe calculatorul sau dispozitivul utilizatorului, instaland adesea numeroase aplicatii nedorite. Ca sa va faceti o imagine mai buna, de fiecare data cand ati ajuns pe un site care avea anunturi ciudate, fara nicio legatura cu continutul principal, ati asistat la o aplicatie victima a unui atac XSS. Iar daca vi s-a intamplat sa aveti instalate in calculator programe de care nu ati auzit niciodata, probabil ati apasat pe ce nu trebuia.

  1. SQL Injection (SQLi)

Considerat unul dintre cele mai periculoase si mai raspandite atacaturi ale zilelor noastre, in ciuda eforturilor de a-l neutraliza, SQL Injection este o metoda folosita adesea pentru a ataca platformele open-source, precum Wordpress si Drupal, dar si platforme customizate pe care nu exista un nivel ridicat de securitate. Principiul pe care functioneaza este urmatorul: atacatorul insereaza interogari SQL, sau fragmente de interogari, in scopul ca acestea sa fie executate de sistem si sa ofere informatii cu privire la baza de date. Aceste interogari sunt de cele mai multe ori introduse in campurile formularelor de pe site, dar pot fi introduse si in linkuri, in situatia in care aplicatia web foloseste Request-uri de tip GET. In functie de arhitectura resursei atacate, ele pot fi sa solicite informatii in mod expres, fie sa forteze obtinerea unei valori de adevar pozitive pe interogare, caz in care sistemul ar returna informatiile indiferent de existenta sau inexistenta de privilegii de acces pentru tipul de utilizator care le solicita. Urmarile unui astfel de atac cibernetic pot fi foarte grave, si pot avea ca si consecinte, in cazul existentei unor date de importanta majora, divulgarea conturilor de utilizator, a conturilor bancare, obtinerea unor fisiere secretizate existente pe server, si chiar alterarea continutului aplicatiei sau stergerea in totalitate a acesteia.

  1. Denial-of-Service (Dos)

Denial-of-Service este un tip de atac ce vizeaza blocarea unui serviciu, in cazul de fata, a afisarii continutului unei aplicatii web. Este un atac ce speculeaza, de aceasta data, arhitectura serverelor pe care sunt gazduite aplicatiile, cu scopul de a discredita o afacere, de a duce la abandonul utilizatorilor si de a genera pierderi intr-un timp relativ scurt. Sa vedem cum se realizeaza acest lucru.

Stim ca internetul functioneaza pe principiul schimbului de date. Astfel, de fiecare data cand eu, ca utilizator, vreau sa vad continutul unui site, introduc un link in browser, iar sistemul de operare preia acel link si trimite un pachet catre router, prin intermediul placii de retea. Odata ajuns la router, pachetul este trimis catre serverul pe care este gazduit site-ul pe care vreau sa-l accesez. Ajuns la server, pachetul este "citit" si se realizeaza informarea conform careia un utilizator vrea sa vada continului unei pagini, continut care trebuie encodat si trimis inapoi catre IP-ul care a solicitat cererea, sub forma de pachete. Dupa intoarcerea lor in router si implicit in calculatorul meu, pachetele sunt decodate, iar continutul (imagini, texte, fisiere) este afisat prin intermediul browserului.

Un proces aparent simplu, care nu da gres aproape niciodata. Problema consta, totusi, in arhitectura serverelor. Un server, avand resurse limitate, poate procesa doar un numar de pachete per unitate de timp. In cazul in care primeste mai multe cereri decat poate procesa in timp util, apar probleme de latenta, mai exact de prelucrare a informatiei cu intarziere, iar uneori aceasta latenta poate duce chiar la crash-ul serverului. Atacatorii ce se folosesc de DoS "bombardeaza" adesea serverul cu milioane de pachete, prin intermediul unor programe simple, rezultatul fiind o latenta foarte mare. Pe partea utilizatorului, acest atac se concretizeaza in timpi de incarcare ai unui site extrem de mari, de cele mai multe ori de cateva minute. Lucru care in timp duce la incetarea accesarii aplicatiei web de catre utilizatori, abandonul conturilor, imposibilitatea utilizarii serviciilor, samd.

  1. Brute Force

Aparent un atac ce poate fi neutralizat usor, metoda Bruce Force inca face suficiente victime pe web, datorita faptului ca multi developeri nu sunt constienti de existenta ei. Mecanismul pe care functioneaza este destul de simplu si direct. In cele mai multe dintre cazuri sunt vizate ferestrele de login, care sunt supuse unui algoritm abuziv de patrundere in sistem. Algoritmul merge pe un principiu logic, ce nu poate da gres: Daca introduc toate combinatiile posibile de username si parola, la un moment dat o sa nimeresc datele corecte de logare. Ceea ce si face, atat timp cat site-ul tau nu are in spate o logica elementara, menita sa detecteze si sa combata astfel de intruziuni. Programele mai simpliste, care au si o durata mai mare de spargere a parolei, introduc secvential toate combinatiile posibile de date, intr-o anumita limita de caractere, stabilita de atacator. Practic, este creat in prealabil un dictionar de cuvinte compuse din toate caracterele si cifrele existente pe tastatura. Programele mai sofisticate isi construiesc acest dictionar plecand de la multe restrictii, incluzand numarul minim si maxim de caractere pe care utilizatorul le introduce de obicei, nonrepetitivitatea anumitor simboluri, alteratii de litere de tip lowercase si uppercase, si poate ajunge ca uneori sa se bazeze mai mult pe cuvintele care apar cu precadere in site-ul vizat. Astfel, timpul de patrundere fortata in sistem poate scadea de la cateva zile la cateva ore. Insa, indiferent de durata necesara, acest mecanism nu da niciodata greu, odata ce-i permiti sa ruleze.

Un atac ce poate fi combatut usor, prin introducerea unui mesaj captcha in formularul de logare, sau prin introducerea unui al treilea camp necesar. Pentru si mai multa securitate, se poate crea un sistem de banare dupa un numar de incercari de logare nereusite.

Top