OWASP Top 10 riscuri de securitate | Prezentare generală

Cuprins

OWASP Top 10 Prezentare generală

Ce este OWASP?

OWASP este o organizație non-profit dedicată educației privind securitatea aplicațiilor web. 

Materialele de învățare OWASP sunt accesibile pe site-ul lor. Instrumentele lor sunt utile pentru îmbunătățirea securității aplicațiilor web. Acestea includ documente, instrumente, videoclipuri și forumuri.

OWASP Top 10 este o listă care evidențiază principalele preocupări de securitate pentru aplicațiile web de astăzi. Ei recomandă tuturor companiilor să includă acest raport în procesele lor pentru a reduce riscurile de securitate. Mai jos este o listă a riscurilor de securitate incluse în raportul OWASP Top 10 2017.

Injecție SQL

Injecția SQL are loc atunci când un atacator trimite date neadecvate unei aplicații web pentru a întrerupe programul din aplicație.

Un exemplu de injecție SQL:

Atacatorul ar putea introduce o interogare SQL într-un formular de intrare care necesită un text simplu pentru numele de utilizator. Dacă formularul de intrare nu este securizat, va avea ca rezultat executarea unei interogări SQL. Acest se refera la ca injecție SQL.

Pentru a proteja aplicațiile web de injectarea de cod, asigurați-vă că dezvoltatorii dvs. folosesc validarea de intrare pentru datele trimise de utilizator. Validarea aici se referă la respingerea intrărilor nevalide. Un manager de baze de date poate seta, de asemenea, controale pentru a reduce cantitatea de informații care poate fi dezvăluit într-un atac de injecție.

Pentru a preveni injectarea SQL, OWASP recomandă păstrarea datelor separate de comenzi și interogări. Opțiunea de preferat este utilizarea unui securizat API pentru a preveni utilizarea unui interpret sau pentru a migra la Instrumente de cartografiere relațională cu obiecte (ORM).

Autentificare ruptă

Vulnerabilitățile de autentificare pot permite unui atacator să acceseze conturile de utilizator și să compromită un sistem folosind un cont de administrator. Un criminal cibernetic poate folosi un script pentru a încerca mii de combinații de parole pe un sistem pentru a vedea care funcționează. Odată ce infractorul cibernetic se află, acesta poate falsifica identitatea utilizatorului, oferindu-i acces la informații confidențiale.

Există o vulnerabilitate de autentificare întreruptă în aplicațiile web care permit conectări automate. O modalitate populară de a corecta vulnerabilitatea de autentificare este utilizarea autentificării multifactoriale. De asemenea, o limită a ratei de conectare ar putea a fi inclus în aplicația web pentru a preveni atacurile cu forță brută.

Expunerea datelor sensibile

Dacă aplicațiile web nu protejează atacatorii sensibili le pot accesa și utiliza pentru câștigul lor. Un atac pe cale este o metodă populară de furt de informații sensibile. Riscul de expunere este minim atunci când toate datele sensibile sunt criptate. Dezvoltatorii web ar trebui să se asigure că nu sunt expuse date sensibile în browser sau stocate în mod inutil.

Entități externe XML (XEE)

Un criminal cibernetic poate să încarce sau să includă conținut XML rău intenționat, comenzi sau cod într-un document XML. Acest lucru le permite să vizualizeze fișierele pe sistemul de fișiere al serverului de aplicații. Odată ce au acces, ei pot interacționa cu serverul pentru a efectua atacuri de falsificare a cererilor pe server (SSRF)..

Atacurile XML ale entităților externe pot fi prevenit de permițând aplicațiilor web să accepte tipuri de date mai puțin complexe, cum ar fi JSON. Dezactivarea procesării XML a entităților externe reduce, de asemenea, șansele unui atac XEE.

Control acces intrerupt

Controlul accesului este un protocol de sistem care restricționează utilizatorii neautorizați la informații sensibile. Dacă un sistem de control al accesului este defect, atacatorii pot ocoli autentificarea. Acest lucru le oferă acces la informații sensibile ca și cum ar avea autorizație. Controlul accesului poate fi securizat prin implementarea jetoanelor de autorizare la autentificarea utilizatorului. La fiecare solicitare pe care un utilizator o face în timp ce este autentificat, simbolul de autorizare cu utilizatorul este verificat, semnalând că utilizatorul este autorizat să facă acea cerere.

Configurare greșită a securității

Configurarea greșită a securității este o problemă comună care securitate cibernetică specialiştii observă în aplicaţiile web. Acest lucru se întâmplă ca urmare a antetelor HTTP configurate greșit, a controalelor de acces întrerupte și a afișării erorilor care expun informații într-o aplicație web. Puteți corecta o configurare greșită de securitate eliminând caracteristicile neutilizate. De asemenea, ar trebui să corectați sau să actualizați pachetele software.

Scripturi încrucișate (XSS)

Vulnerabilitatea XSS apare atunci când un atacator manipulează API-ul DOM al unui site web de încredere pentru a executa cod rău intenționat în browserul unui utilizator. Executarea acestui cod rău intenționat are loc adesea atunci când un utilizator face clic pe un link care pare să provină de la un site web de încredere. Dacă site-ul web nu este protejat de vulnerabilitatea XSS, poate fi compromis. Codul rău intenționat care este executat oferă unui atacator acces la sesiunea de conectare a utilizatorilor, detaliile cardului de credit și alte date sensibile.

Pentru a preveni Cross-site Scripting (XSS), asigurați-vă că HTML-ul dvs. este bine dezinfectat. Acesta poate fi realizat prin alegerea cadrelor de încredere în funcție de limbajul ales. Puteți folosi limbaje precum .Net, Ruby on Rails și React JS, deoarece ar ajuta la analizarea și curățarea codului HTML. Tratarea tuturor datelor de la utilizatori autentificați sau neautentificați ca nefiind de încredere poate reduce riscul atacurilor XSS.

Deserializare nesigură

Deserializarea este transformarea datelor serializate de la un server la un obiect. Deserializarea datelor este o întâmplare comună în dezvoltarea de software. Este nesigur atunci când date este deserializat dintr-o sursă nesigură. Acesta poate potenţial expuneți aplicația dvs. la atacuri. Deserializarea nesigură apare atunci când datele deserializate dintr-o sursă nesigură duc la atacuri DDOS, atacuri de execuție a codului de la distanță sau ocoliri de autentificare.

Pentru a evita deserializarea nesigură, regula de bază este să nu ai niciodată încredere în datele utilizatorului. Fiecare utilizator introduce datele ar trebui a fi tratat as potenţial răutăcios. Evitați deserializarea datelor din surse nesigure. Asigurați-vă că funcția de deserializare să fi folosit în aplicația dvs. web este în siguranță.

Utilizarea componentelor cu vulnerabilități cunoscute

Bibliotecile și Framework-urile au făcut ca dezvoltarea de aplicații web să fie mult mai rapidă fără a fi nevoie să reinventeze roata. Acest lucru reduce redundanța în evaluarea codului. Acestea deschid calea pentru ca dezvoltatorii să se concentreze pe aspecte mai importante ale aplicațiilor. Dacă atacatorii descoperă exploatări în aceste cadre, fiecare bază de cod care folosește cadrul fi compromis.

Dezvoltatorii de componente oferă adesea corecții de securitate și actualizări pentru bibliotecile de componente. Pentru a evita vulnerabilitățile componentelor, ar trebui să învățați să vă mențineți aplicațiile la zi cu cele mai recente corecții de securitate și upgrade-uri. Componentele neutilizate ar trebui a fi eliminat din aplicația de tăiere a vectorilor de atac.

Înregistrare și monitorizare insuficiente

Înregistrarea și monitorizarea sunt importante pentru a afișa activități în aplicația dvs. web. Înregistrarea facilitează urmărirea erorilor, monitorizează autentificări ale utilizatorilor și activități.

Înregistrarea și monitorizarea insuficientă apar atunci când evenimentele critice pentru securitate nu sunt înregistrate cum se cuvine. Atacatorii valorifică acest lucru pentru a efectua atacuri asupra aplicației dvs. înainte de a exista vreun răspuns vizibil.

Înregistrarea vă poate ajuta compania să economisească bani și timp, deoarece dezvoltatorii dvs. pot cu ușurință găsi bug-uri. Acest lucru le permite să se concentreze mai mult pe rezolvarea erorilor decât pe căutarea lor. De fapt, înregistrarea în jurnal vă poate ajuta să vă mențineți site-urile și serverele în funcțiune de fiecare dată, fără ca acestea să se confrunte cu vreun timp de nefuncționare.

Concluzie

Codul bun nu este doar despre funcționalitate, este vorba despre menținerea utilizatorilor și a aplicației în siguranță. OWASP Top 10 este o listă a celor mai critice riscuri de securitate a aplicațiilor este o resursă excelentă gratuită pentru dezvoltatori pentru a scrie aplicații web și mobile sigure. Formarea dezvoltatorilor din echipa ta pentru a evalua și a înregistra riscurile poate economisi timp și bani echipei pe termen lung. Dacă vrei afla mai multe despre cum să-ți antrenezi echipa în Top 10 OWASP, clic aici.