O privire la proiectul OWASP Top 10: protejarea aplicațiilor dvs. web

Autor: Roger Morrison
Data Creației: 28 Septembrie 2021
Data Actualizării: 11 Mai 2024
Anonim
Всё, что вы боялись спросить о Security Engineer?
Video: Всё, что вы боялись спросить о Security Engineer?

Conţinut


Sursa: Andrey Roussanov / Dreamstime.com

La pachet:

Conform proiectului Open Web Application Security (OWASP), acestea sunt cele mai mari vulnerabilități ale aplicațiilor web. Ești în pericol?

Trebuie să acordați ceva credit hackerilor. Sunt persistente, creative și de multe ori au succes. Imaginează-ți ce ar putea face dacă și-ar îndrepta eforturile doar spre urmăriri pozitive. Hackerii vor ataca serviciile de rețea în orice mod. Și ce cale mai bună decât să te lovești direct în centrul internetului: aplicația web. O organizație numită Open Web Application Security Project (OWASP) compilează în mod regulat vulnerabilități comune ale aplicațiilor web. Ei o numesc Proiectul Top 10 OWASP. Următorul este un rezumat al acestor exploatări.

A1: 2017 - Injecție

S-ar putea să credeți că computerele sunt inteligente, dar ei fac destul de mult ceea ce le spuneți să facă. Dacă dați unui computer o comandă, puteți conta pe acesta pentru a încerca să o efectuați dacă nu există nimic care să o contrazică. Și dacă cineva - cineva - alunecă într-o comandă undeva pe care computerul o recunoaște, va avea toate motivele pentru a o executa la maxim. Deci hackerii încearcă să găsească modalități de a injecta comenzi oriunde pot. După cum o pune site-ul OWASP:


„Defectele de injecție, cum ar fi injecția SQL, NoSQL, sistemul de operare și LDAP, apar atunci când datele neîncredute sunt trimise unui interpret ca parte a unei comenzi sau a unei interogări.”

Cum fac acestea? Acestea introduc comenzi în declarațiile pe care le introduceți pe ecran. Trei tipuri de injecție sunt intrare nesanitizată, injecție SQL orb și injecție bazată pe erori.

Autorul tehnic Joseph Cox numește injecția SQL „cea mai ușoară cale de a hack” și „cea mai ușoară amenințare pentru site-uri web”.

A2: 2017 - Autentificare spartă

Cu toții am auzit povești despre parolele compromise. ID-urile de utilizator și parolele sunt utilizate pentru autentificare în majoritatea aplicațiilor. Autentificarea spartă are loc atunci când un hacker interceptează ID-ul și parola utilizatorului sau ID-ul sesiunii care este creat atunci când utilizatorul se conectează. Există multe modalități de a face acest lucru.


OWASP listează metodele comune pentru acest hack și oferă exemple și modalități de prevenire a acestuia. Aceste exploatări profită de astfel de puncte slabe precum conexiunile necriptate, parolele slabe și ID-urile de sesiune care nu expiră. Lăsarea autentificării implicite a administratorului ca admin / admin este o greșeală amator, dar se întâmplă. Și cine ar folosi cuvântul „parolă” ca parolă? Alegerea unei parole dificile este o alegere inteligentă. Parolele care nu sunt criptate, indiferent dacă sunt conectate sau când sunt stocate, invită probleme. (Pentru mai multe despre parolele, consultați Simplu securitate: Modificarea cerințelor de parolă mai ușoară pentru utilizatori.)

Utilizarea autentificării cu mai mulți factori este o modalitate de a preveni această vulnerabilitate. Administratorii ar trebui să limiteze, de asemenea, încercările de conectare eșuate și să se asigure că ID-ul sesiunii nu este vizibil în adresa URL.

Fără bug-uri, fără stres - Ghidul dvs. pas cu pas pentru crearea de programe care schimbă viața fără a vă distruge viața

Nu îți poți îmbunătăți abilitățile de programare atunci când nimeni nu îi pasă de calitatea software-ului.

A3: 2017 - Expunere de date sensibile

O vezi tot timpul în știri: o altă încălcare a securității! Numere de carduri de credit stocate și alte date confidențiale sunt păstrate în baze de date de către companii de servicii web. Dar hackerii sunt deștepți - și persistenți. Conform EE Online, „Un cifru slab este definit ca un algoritm de criptare / decriptare care folosește o cheie de lungime insuficientă.” Criptare slabă ușurează crearea criptării. Și pot fi folosiți de hackeri ca spații de fundal în baza de date. Cu TLS neforțat sau criptare slabă, site-ul dvs. web poate fi retrogradat de la HTTPS la HTTP, permițându-i pe cei răi să intre.

Numerele cardurilor de credit care sunt decriptate după regăsire devin ținte binevenite pentru atacurile web. Același lucru este valabil pentru orice date sensibile stocate pe serverele web. Conform OWASP, criptarea tuturor datelor sensibile, stocate sau în tranzit, este o modalitate de a preveni acest hack. Clasificarea corectă a informațiilor confidențiale este esențială pentru a combate această vulnerabilitate.

A4: 2017 - Entități externe XML (XXE)

După cum explică Școlile W3, XML a fost conceput pentru a transporta date. Reprezintă limbajul eXtensible Markup Language. Aplicațiile web analizează datele XML stocate pe serverele web. Entitatea este un termen de programare care se referă la „orice obiect singular, identificabil și separat”. Atunci, o entitate externă ar fi un obiect care există în afara serverului.

Problema cu această vulnerabilitate este în analiză. John Wagnon din F5 explică faptul că un om rău poate introduce codul rău intenționat pentru a păcăli aplicația web să facă ceva ce nu ar trebui. „Dacă analizorul XML nu este configurat în mod corespunzător”, spune el, „va executa acea comandă și va vărsa toate aceste date, iar acest lucru nu este un lucru bun.” XXE profită de analizatorii XML pentru a procesa date rele.

Sfaturile de prevenire de la OWASP includ:

  • Utilizați formate de date mai puțin complexe.
  • Patch sau actualizați procesoare sau biblioteci XML.
  • Dezactivează procesarea entității externe XML.
  • Utilizați validarea XML Schema Definition (XSD).

A5: 2017 - Control acces acces

Accesul nu este același lucru cu autentificarea. Vă puteți conecta la un site web prin autentificare, dar veți putea accesa numai acele servicii pentru care aveți permisiuni. Administratorii au permisiuni mult mai mari decât utilizatorii normali. Creșterea privilegiului utilizatorului se află în centrul acestui hack.

Odată autentificați, utilizatorii sunt restricționați prin verificări de control de acces. Hackerii caută modalități de a evita aceste verificări prin modificarea adresei URL sau a altor mijloace. Pentru a preveni acest atac, Wagnon recomandă o mulțime de testări manuale ale controlului dvs. actual de acces. Când utilizatorii normali pot accesa resurse destinate numai utilizatorilor cu mai multe privilegii, asta înseamnă că aveți un control de acces rupt. OWASP spune că vă puteți descurca cu acest lucru refuzând accesul în mod implicit, aplicând proprietatea înregistrărilor și înregistrarea și raportarea eșecurilor de acces.

A6: 2017 - Configurare greșită în securitate

Îmbătrânirea serverului dvs. este cheia pentru a vă proteja împotriva atacurilor rău intenționate și a păstra online. Dar ar trebui să fie făcut în mod corect. Lipsa lucrurilor sau adăugarea de funcții inutile pot face ca aplicația dvs. să fie vulnerabilă. Scenariul nr. 1 din OWASP se referă la un server de aplicații care vine cu aplicații de probă care nu sunt eliminate în producție. Și în acest scenariu, aplicațiile de probă au defecte cunoscute. Întărirea corectă a serverului ar prinde astfel de lucruri.

Pentru a preveni configurarea greșită a securității, trebuie să blocați serverul. Există o mulțime de biți și bucăți în orice server, iar instalațiile standard vin adesea cu o mulțime de accesorii suplimentare de care nu ai nevoie. Aceste caracteristici implicite vă pot cauza probleme. După cum spune Wagnon, „Nu folosiți ceea ce nu aveți nevoie.” OWASP recomandă „o platformă minimă, fără caracteristici, componente, documentație și mostre inutile” și ar trebui să revizuiți și actualizați configurațiile de securitate în mod regulat pe serverul dvs. web. Pentru aceasta, ar trebui să utilizați procese de întărire repetabile.

A7: 2017 - Scripturi cross-site (XSS)

Introducem date în site-uri web tot timpul. Scripturile cross-site (XSS) apar atunci când un atacator își injectează propriul cod într-o pagină web pentru a obține informații sensibile din baza de date a site-ului. O pagină HTML care permite introducerea scripturilor în câmpuri precum casetele de comentarii se deschide la toate tipurile de probleme. Un atacator poate injecta cod între ele pentru a da comenzi serverului. OWASP numește XSS cea de-a doua problemă cea mai răspândită în Top 10 OWASP.

Problema aici este injecția de date neîncredute. Acest lucru trebuie separat de conținutul browserului activ. „Evadarea” este cheia prevenirii. Asta înseamnă să vă asigurați că codul injectat nu este executat. Consultați „XSS (Cross Site Scripting) Prevention Cheat Sheet” pentru a afla mai multe despre scăparea de date de încredere. (Pentru a afla despre dezvoltarea web, consultați 10 lucruri pe care trebuie să le știe fiecare dezvoltator web modern.)

A8: 2017 - Deserializare nesigură

Serializarea se referă la conversia informațiilor de stare ale unui obiect în formă binară. Aceasta este discuția de programator pentru introducerea unei unități de cod într-un flux de date, astfel încât să poată fi transmis prin intermediul unei rețele și să iasă cumva în aceleași condiții. Deserializarea are loc atunci când obiectul este transformat din flux de octeți înapoi în obiect. Deserializarea nesigură perturbă acel proces.

Este o formă de modificare a datelor. Poate că se folosește aceeași structură de date, dar conținutul este schimbat. Datele neîncredute ale unui atacator modifică fluxul de octeți. Un exemplu din OWASP este acela de un hacker care schimbă un obiect serializat PHP pentru a-și da privilegiile de administrare. Răspunsurile la acest hack includ semnături digitale și monitorizarea deserializării.

A9: 2017 - Utilizarea componentelor cu vulnerabilități cunoscute

Această problemă este destul de autoexplicabilă. Software-ul neacceptat, care nu este acceptat, este deosebit de vulnerabil. În acest caz, ignoranța nu este fericită. Managerii de securitate IT trebuie să fie la curent cu ultimele buletine de securitate, patch-uri și actualizări. OWASP recomandă un inventar continuu al versiunilor software și monitorizarea bibliotecilor și a componentelor software. Și o rezumă bine:

„Fiecare organizație trebuie să se asigure că există un plan în curs de monitorizare, triaj și aplicarea de actualizări sau modificări de configurare pe toată durata de viață a aplicației sau a portofoliului.”

A10: 2017 - Logare și monitorizare insuficiente

Potrivit OWASP, „Exploatarea înregistrării și a monitorizării insuficiente reprezintă baza a aproape fiecare incident major.” Fiecare sistem IT ar trebui să aibă un sistem de înregistrare a evenimentelor. Indiferent dacă este vorba de un dispozitiv de rețea sau de un server de date, trebuie să existe o înregistrare a momentului în care lucrurile nu merg bine. În cazul în care o autentificare a utilizatorului eșuează, ar trebui să fie în jurnale. Dacă un program defecționează, sistemul dvs. ar trebui să îl înregistreze. Dacă o componentă hardware nu mai funcționează, ar trebui să fie înregistrată.

Orice eveniment semnificativ trebuie înregistrat. Dacă vă întrebați ce s-ar putea califica, puteți arunca o privire asupra „Fișei de înșelăciune a jurnalului” de la OWASP. Ca și alarmele de rețea, aceste evenimente pot fi înregistrate atunci când este atins un anumit prag. Aceste praguri pot fi ajustate în funcție de necesități.

Dar jurnalele și alarmele nu înseamnă nimic dacă nu sunt monitorizate. Aceasta se poate face prin automatizare proactivă sau supraveghere umană. Cu o logare și monitorizare corespunzătoare, personalul IT poate răspunde la probleme în timp util.

Concluzie

Am acoperit destul de multe materiale aici. Dar mai sunt multe de învățat. Pentru a investiga în continuare, aruncați o privire asupra surselor din care am efectuat cercetările noastre. Videoclipurile de la John Wagnon de la F5 DevCentral sunt o resursă excelentă, pentru care suntem recunoscători. Și OWASP are un document PDF care acoperă în detaliu toate aceste exploatări. Acest studiu poate fi foarte mult, dar nu uitați că și hackerii lucrează ore suplimentare.