Top 10 vulnerabilități de la owasp

Open Project Security Project (OWASP) este un proiect deschis pentru securizarea aplicațiilor Web. Comunitatea OWASP include corporații, organizații educaționale și persoane din întreaga lume. Comunitatea lucrează la crearea articolelor, manualelor, documentației, instrumentelor și tehnologiilor care sunt disponibile în mod liber.







Lista OWASP Top-10 se bazează pe opt baze de date de la șapte companii, printre care patru firme de consultanță și trei furnizori SaaS. Baza de date comună conține mai mult de 500.000 vulnerabilități în sute de organizații și mii de aplicații.

Implementarea codului A1

A2 Autentificare incorectă și gestionarea sesiunilor

Scripting A3 Crossite (XSS)

A4 Referințe nesigure privind obiectele directe

A5 Configurație nesigură

A6 Scurgeri de date sensibile

A7 Lipsa controlului accesului la nivelul funcțional

A8 Falsificare interogare cross-site (CSRF)

A9 Utilizarea componentelor cu vulnerabilități cunoscute

A10 Redirecționări ne-redirecționate

Toate datele, de regulă, sunt stocate în baze de date speciale, apelurile către care sunt construite sub formă de interogări, cel mai adesea scrise în limba specială a interogărilor SQL (Structured Query Language - limba de interogare structurată).

Aplicațiile utilizează interogări SQL pentru a primi, adăuga, modifica sau șterge date, de exemplu atunci când editează datele personale ale unui utilizator sau completează un formular pe site. Dacă există o verificare insuficientă a datelor de la utilizator, un atacator poate introduce în forma interfeței Web a aplicației un cod special care conține o interogare SQL.

De exemplu, modificați soldul contului dvs. cu numele și prenumele, examinați soldul contului altui sau furați datele personale confidențiale.

Această vulnerabilitate este rezultatul unei verificări insuficiente a datelor de la utilizator. Acest lucru permite unui atacator # xAB; alunecare # xBB; de exemplu, în formulare web, interogări special pregătite # xAB; înșelat # xBB; și vă va permite să citiți sau să scrieți date ilegale.

În general, acest tip de atac are un nume comun #xAB; erorile de validare # xBB; nu se referă doar la injecții SQL, ci vom menționa acest vector de mai multe ori.

Eșecurile sistemului de autentificare și stocare a sesiunilor (autentificarea întreruptă și gestionarea sesiunilor)

Scriptingul Crossite - XSS (Scripting Cross Site)

În primul rând, un atacator poate să vă fure cookie-ul de sesiune, consecințele acestuia fiind descrise în paragraful al doilea, literalmente câteva paragrafe de mai sus. Trebuie remarcat faptul că nu toate serverele de aplicații sunt vulnerabile la acest tip de atac, vom vorbi despre acest lucru separat în numărul 5 al articolului.

În al doilea rând, datele introduse în formularele de pe pagina infectată pot fi furate. Și acestea pot fi date personale confidențiale sau, mai rău, date despre cărțile de credit împreună cu codul CVC.

Insecure Reference Object Direct

Configurație nesigură (Configurare defectuoasă a securității)

În plus, software-ul trebuie să fie actualizat: vulnerabilitățile se găsesc zilnic într-o varietate de componente software - sistemul de operare, serverele web, serverele de baze de date, serverele de e-mail etc. Și chiar dacă aplicația dvs. este scrisă corect și verifică cu atenție toate datele primite și, în general, este bine protejată, acest lucru nu înseamnă că la un moment dat nu va exista o vulnerabilitate în sistemul dvs. de operare sau pe serverul Web.







Datele sensibile neprotejate (expunerea la date sensibile)

Multe aplicații web nu protejează datele confidențiale, cum ar fi cărțile de credit și acreditările pentru autentificare. Atacatorii pot fura sau modifica astfel de date prost protejate pentru a le folosi in scopuri proprii de mercenar.

Cel mai simplu exemplu este transferul de date prin intermediul protocolului HTTP. Faptul că datele sunt transferate prin protocolul HTTP nu va fi criptat, iar trecerea datelor de la calculatorul utilizatorului la Web-server, datele vor fi o mulțime de componente diferite: router, sau de la birou acasă router, router-ul furnizorului, router-ul de pe canal, data-router server de gazduire centrala si asa mai departe. La fiecare dintre aceste site-uri se poate ascunde malware, așa-numitul sniffer, un program care citește tot traficul și îl trimite unui atacator. Și acesta din urmă examinează datele primite pentru datele cu caracter personal și datele cărții de credit.

O altă sarcină a certificatului SSL (și anume, cheia specială utilizată pentru autentificarea și criptarea în HTTPS) este să confirmați că a fost emis pentru acest site. În cazul în care certificatul este întârziat sau falsificat, veți vedea următoarea imagine:

Top 10 vulnerabilități de la owasp

Un alt exemplu este lipsa de criptare a datelor critice, cum ar fi parolele sau numerele cărților de credit. În cazul în care datele sunt criptate, chiar și în cazul obținerii accesului neautorizat la server, atacatorul poate fura date sensibile. Prin parole, în special, ar trebui să se aplice funcție hash ireversibil - pentru a descifra criptograma nu este posibilă și verificarea parolei se face prin formarea parolei criptograma a intrat și comparați cu existente în baza de date.

Controlul accesului la nivelul lipselor de funcții

Esența vulnerabilității, după cum sugerează și numele, este lipsa verificării disponibilității accesului adecvat la obiectul solicitat.

Cele mai multe aplicații web verifică drepturile de acces înainte de a afișa date în interfața cu utilizatorul. Cu toate acestea, aplicațiile trebuie să efectueze aceleași verificări de control al accesului pe server atunci când solicită orice funcție. La urma urmei, există o mulțime de cereri de servicii auxiliare care sunt adesea trimise în fundal în mod asincron, utilizând tehnologia AJAX.

Dacă parametrii solicitării nu sunt verificați cu atenție, atacatorii pot crea o cerere de acces la date fără autorizație corespunzătoare.

Un caz privat, și poate cel mai frecvent, al acestei vulnerabilități am abordat deja în paragraful al patrulea al articolului nostru - lipsa de verificare a utilizatorului în mesaje private.

Solicitarea falsă a site-ului (CSRF / XSRF)

Vectorul de atac CSRF, cunoscut și ca XSRF, permite unui atacator să efectueze acțiuni în numele victimei pe un server în care nu sunt implementate controale suplimentare.

Dacă victima ajunge la site-ul creat de către atacator, o cerere este trimisă secret de pe ea pe pagina de mai sus a sistemului de plată. Ca rezultat - banii se duce la contul unui intrus, atunci, sunt susceptibile de a fi transformate rapid la Bitcoin, sau transferat într-un alt sistem de plată irevocabil și le obține înapoi nu va reuși.

Se presupune că victima ar fi trebuit să fie pre-autentificată în sistemul de plăți și că o sesiune activă ar trebui să fie deschisă (de exemplu, pagina de sistem de plată este deschisă în altă filă a browserului).

Problema este rezolvată destul de simplu și vom spune despre aceasta într-un articol separat dedicat CSRF.

Utilizarea componentelor cu vulnerabilități cunoscute (Utilizarea componentelor cu vulnerabilități cunoscute)

Adesea, aplicațiile web sunt scrise folosind biblioteci speciale sau # xAB; cadre # xBB; (Engleză - framework), furnizate de companii terțe. În cele mai multe cazuri, aceste componente sunt open source, ceea ce înseamnă că ele nu sunt numai tu, ci și pentru milioane de oameni din întreaga lume care shtudiruet codul sursă, inclusiv, precum și pentru vulnerabilitățile. Și trebuie remarcat că ei nu o fac fără succes.

De asemenea, vulnerabilitățile sunt căutate (și găsite) în componentele de nivel inferior ale sistemului, cum ar fi serverul de bază de date, serverul web și, în final, componentele sistemului de operare până la nucleul său.

Este foarte important să folosiți cele mai recente versiuni de componente și să monitorizați vulnerabilitățile cunoscute apărute pe site-uri precum securityfocus.com.

Acest tip de vulnerabilități, precum și multe altele listate mai sus, reprezintă un tip de erori de validare a intrărilor.







Articole similare

Trimiteți-le prietenilor: