EITC/IS/WAPT Web Applications Penetration Testing este programul european de certificare IT privind aspectele teoretice și practice ale testării de penetrare a aplicațiilor web (white hacking), inclusiv diverse tehnici pentru spidering site-urilor web, tehnici de scanare și atac, inclusiv instrumente și suite specializate de testare a penetrației. .
Curriculum-ul testării de penetrare a aplicațiilor web EITC/IS/WAPT acoperă introducerea în Burp Suite, web spridering și DVWA, testarea forței brute cu Burp Suite, detectarea aplicației web firewall (WAF) cu WAFW00F, domeniul țintă și spidering, descoperirea fișierelor ascunse cu ZAP, scanarea vulnerabilităților WordPress și enumerarea numelor de utilizator, scanarea echilibrului de încărcare, cross-site scripting, XSS – reflectat, stocat și DOM, atacuri proxy, configurarea proxy-ului în ZAP, atacuri de fișiere și directoare, descoperire de fișiere și directoare cu DirBuster, practică atacuri web , OWASP Juice Shop, CSRF – Cross Site Request Forgery, colectare cookie și inginerie inversă, Atribute HTTP – furt cookie, injecție SQL, DotDotPwn – fuzzing traversare directoare, injectare iframe și injectare HTML, exploatare Heartbleed – descoperire și exploatare, injectare cod PHP, bWAPP – injecție HTML, POST reflectat, injecție de comandă a sistemului de operare cu Commix, partea de server include injectare SSI, testare în Docker, OverTheWire Natas, LFI și injectare de comandă, Google hacking pentru pentesting, Google Dorks For penetration testing, Apache2 ModSecurity, precum și Nginx ModSecurity, în cadrul următoarei structuri, cuprinzând conținut video didactic cuprinzător ca referință pentru această Certificare EITC.
Securitatea aplicațiilor web (denumită adesea Web AppSec) este conceptul de proiectare a site-urilor web pentru a funcționa normal chiar și atunci când sunt atacate. Noțiunea este integrarea unui set de măsuri de securitate într-o aplicație web pentru a-și proteja activele de agenți ostili. Aplicațiile web, ca toate programele, sunt predispuse la defecte. Unele dintre aceste defecte sunt vulnerabilități reale care pot fi exploatate, prezentând un risc pentru afaceri. Astfel de defecte sunt protejate de securitatea aplicației web. Aceasta implică utilizarea unor abordări de dezvoltare sigure și punerea în aplicare a controalelor de securitate pe tot parcursul ciclului de viață al dezvoltării software (SDLC), asigurând că defectele de proiectare și problemele de implementare sunt abordate. Testarea de penetrare online, care este efectuată de experți care urmăresc să descopere și să exploateze vulnerabilitățile aplicațiilor web folosind așa-numita abordare de hacking alb, este o practică esențială pentru a permite o apărare adecvată.
Un test de penetrare web, cunoscut și sub numele de test de creion web, simulează un atac cibernetic asupra unei aplicații web pentru a găsi defecte exploatabile. Testarea de penetrare este folosită frecvent pentru a suplimenta un firewall de aplicație web în contextul securității aplicațiilor web (WAF). Testarea stiloului, în general, presupune încercarea de a pătrunde în orice număr de sisteme de aplicații (de exemplu, API-uri, servere frontend/backend) pentru a găsi vulnerabilități, cum ar fi intrările neigienizate care sunt vulnerabile la atacurile de injectare de cod.
Constatările testului de penetrare online pot fi folosite pentru a configura politicile de securitate WAF și pentru a aborda vulnerabilitățile descoperite.
Testarea de penetrare are cinci pași.
Procedura de testare a stiloului injector este împărțită în cinci pași.
- Planificare și scouting
Definirea domeniului de aplicare și a obiectivelor unui test, inclusiv a sistemelor care trebuie abordate și a metodologiilor de testare care trebuie utilizate, este prima etapă.
Pentru a obține o mai bună înțelegere a modului în care funcționează o țintă și a potențialelor sale slăbiciuni, adunați informații (de exemplu, nume de rețea și de domenii, server de e-mail). - Scanarea
Următoarea etapă este de a afla cum va reacționa aplicația țintă la diferite tipuri de încercări de intruziune. Acest lucru se realizează de obicei prin utilizarea următoarelor metode:
Analiză statică – Examinarea codului unei aplicații pentru a prezice cum se va comporta atunci când este rulată. Într-o singură trecere, aceste instrumente pot scana întregul cod.
Analiza dinamică este procesul de inspectare a codului unei aplicații în timp ce aceasta funcționează. Această metodă de scanare este mai practică, deoarece oferă o vedere în timp real a performanței unei aplicații. - Obținerea accesului
Pentru a găsi punctele slabe ale unei ținte, acest pas folosește atacuri ale aplicațiilor web, cum ar fi scripturi între site-uri, injecție SQL și uși din spate. Pentru a înțelege daunele pe care le-ar putea provoca aceste vulnerabilități, testerii încearcă să le exploateze prin escaladarea privilegiilor, furtul datelor, interceptarea traficului și așa mai departe. - Păstrarea accesului
Scopul acestei etape este de a evalua dacă vulnerabilitatea poate fi exploatată pentru a stabili o prezență pe termen lung în sistemul compromis, permițând unui actor rău să obțină acces în profunzime. Scopul este de a imita amenințările persistente avansate, care pot rămâne într-un sistem luni de zile pentru a fura informațiile cele mai sensibile ale unei companii. - Analiză
Rezultatele testului de penetrare sunt apoi introduse într-un raport care include informații precum:
Vulnerabilități care au fost exploatate în detaliu
Datele care au fost obținute au fost sensibile
Timpul în care testerul stiloului a putut să rămână neobservat în sistem.
Experții în securitate folosesc aceste date pentru a ajuta la configurarea setărilor WAF ale unei întreprinderi și a altor soluții de securitate a aplicațiilor pentru a corecta vulnerabilitățile și a preveni alte atacuri.
Metode de testare la penetrare
- Testarea de penetrare externă se concentrează pe activele unei firme care sunt vizibile pe internet, cum ar fi aplicația web în sine, site-ul web al companiei, precum și serverele de e-mail și de nume de domeniu (DNS). Obiectivul este de a obține acces și extrage informații utile.
- Testarea internă presupune ca un tester să aibă acces la o aplicație din spatele firewall-ului unei companii care simulează un atac ostil din interior. Aceasta nu este necesară o simulare de angajat necinstiți. Un angajat ale cărui acreditări au fost obținute ca urmare a unei încercări de phishing este un punct de plecare obișnuit.
- Testarea oarbă este atunci când unui tester i se furnizează pur și simplu numele companiei care este testată. Acest lucru le permite experților în securitate să vadă cum s-ar putea desfășura un atac real al unei aplicații în timp real.
- Testare dublu-orb: într-un test dublu-orb, profesioniștii în securitate nu sunt conștienți de atacul simulat în prealabil. Nu vor avea timp să-și consolideze fortificațiile înainte de o încercare de breșă, la fel ca în lumea reală.
- Testare țintită – în acest scenariu, testerul și personalul de securitate colaborează și țin evidența mișcărilor celuilalt. Acesta este un exercițiu de antrenament excelent care oferă echipei de securitate feedback în timp real din perspectiva unui hacker.
Firewall-uri pentru aplicații web și testare de penetrare
Testarea de penetrare și WAF-urile sunt două tehnici de securitate separate, dar complementare. Testerul este probabil să folosească datele WAF, cum ar fi jurnalele, pentru a găsi și exploata zonele slabe ale unei aplicații în multe tipuri de testare cu stilou (cu excepția testelor orb și dublu orb).
La rândul lor, datele de testare a stilourilor pot ajuta administratorii WAF. După finalizarea unui test, configurațiile WAF pot fi modificate pentru a proteja împotriva defectelor detectate în timpul testului.
În cele din urmă, testarea stiloului îndeplinește anumite cerințe de conformitate ale metodelor de audit de securitate, cum ar fi PCI DSS și SOC 2. Anumite cerințe, cum ar fi PCI-DSS 6.6, pot fi îndeplinite numai dacă este utilizat un WAF certificat. Cu toate acestea, din cauza beneficiilor menționate mai sus și a potențialului de modificare a setărilor WAF, acest lucru nu face ca testarea stiloului să fie mai puțin utilă.
Care este semnificația testării securității web?
Scopul testării securității web este de a identifica defectele de securitate în aplicațiile web și configurarea acestora. Stratul de aplicație este ținta principală (adică ceea ce rulează pe protocolul HTTP). Trimiterea diferitelor forme de intrare către o aplicație Web pentru a induce probleme și pentru a face sistemul să răspundă în moduri neașteptate este o abordare comună pentru a-i testa securitatea. Aceste „teste negative” caută să vadă dacă sistemul face ceva ce nu a fost intenționat să realizeze.
De asemenea, este vital să ne dăm seama că testarea securității web implică mai mult decât verificarea caracteristicilor de securitate ale aplicației (cum ar fi autentificarea și autorizarea). De asemenea, este esențial să ne asigurăm că alte caracteristici sunt implementate în siguranță (de exemplu, logica de afaceri și utilizarea unei validări adecvate a intrărilor și a codificării ieșirilor). Scopul este de a vă asigura că funcțiile aplicației Web sunt sigure.
Care sunt numeroasele tipuri de evaluări de securitate?
- Test pentru securitatea aplicațiilor dinamice (DAST). Acest test automat de securitate a aplicațiilor este cel mai potrivit pentru aplicațiile cu risc scăzut, orientate spre interior, care trebuie să îndeplinească cerințele de securitate de reglementare. Combinarea DAST cu unele teste manuale de securitate online pentru vulnerabilități comune este cea mai bună strategie pentru aplicațiile cu risc mediu și aplicațiile cruciale care suferă modificări minore.
- Verificare de securitate pentru aplicații statice (SAST). Această strategie de securitate a aplicației include atât metode de testare automate, cât și manuale. Este ideal pentru detectarea erorilor fără a fi nevoie să rulați aplicații într-un mediu live. De asemenea, permite inginerilor să scaneze codul sursă pentru a detecta și remedia defecțiunile de securitate software într-o manieră sistematică.
- Examenul de penetrare. Acest test manual de securitate al aplicației este ideal pentru aplicațiile esențiale, în special pentru cele care suferă modificări semnificative. Pentru a găsi scenarii avansate de atac, evaluarea folosește logica de afaceri și testarea bazată pe adversar.
- Autoprotecția aplicației în timpul de execuție (RASP). Această metodă de securitate a aplicațiilor în creștere încorporează o varietate de tehnici tehnologice pentru a instrumenta o aplicație, astfel încât amenințările să poată fi urmărite și, sperăm, prevenite în timp real pe măsură ce apar.
Ce rol joacă testarea securității aplicațiilor în reducerea riscului companiei?
Marea majoritate a atacurilor asupra aplicațiilor web includ:
- Injecție SQL
- XSS (Cross Site Scripting)
- Executarea comenzii de la distanță
- Atac de traversare a căii
- Acces restricționat la conținut
- Conturi de utilizator compromise
- Instalare de cod rău intenționat
- Venituri pierdute din vânzări
- Încrederea clienților se erodează
- Dăunează reputației mărcii
- Și multe alte atacuri
În mediul internet de astăzi, o aplicație Web poate fi afectată de o varietate de provocări. Graficul de mai sus prezintă câteva dintre cele mai frecvente atacuri comise de atacatori, fiecare dintre acestea putând cauza daune semnificative unei aplicații individuale sau unei întregi afaceri. Cunoașterea numeroaselor atacuri care fac o aplicație vulnerabilă, precum și a posibilelor rezultate ale unui atac, permite companiei să rezolve vulnerabilitățile din timp și să le testeze eficient.
Controalele de atenuare pot fi stabilite în primele faze ale SDLC pentru a preveni orice probleme prin identificarea cauzei principale a vulnerabilității. În timpul unui test de securitate a unei aplicații Web, cunoștințele despre cum funcționează aceste amenințări pot fi, de asemenea, utilizate pentru a viza locurile de interes cunoscute.
Recunoașterea impactului unui atac este, de asemenea, importantă pentru gestionarea riscului companiei, deoarece impactul unui atac de succes poate fi utilizat pentru a determina severitatea vulnerabilității în general. Dacă vulnerabilitățile sunt descoperite în timpul unui test de securitate, determinarea gravității acestora permite companiei să prioritizeze eforturile de remediere mai eficient. Pentru a reduce riscul pentru companie, începeți cu problemele critice de severitate și mergeți în jos pentru a ajunge la cele cu impact redus.
Înainte de a identifica o problemă, evaluarea posibilului impact al fiecărui program din biblioteca de aplicații a companiei vă va ajuta să prioritizați testarea securității aplicațiilor. Testarea de securitate Wenb poate fi programată pentru a viza mai întâi aplicațiile critice ale firmei, cu teste mai direcționate pentru a reduce riscul la adresa afacerii. Cu o listă stabilită de aplicații de profil înalt, testarea de securitate wenb poate fi programată pentru a viza mai întâi aplicațiile critice ale companiei, cu teste mai direcționate pentru a reduce riscul împotriva afacerii.
În timpul unui test de securitate a unei aplicații web, ce caracteristici ar trebui examinate?
În timpul testării de securitate a aplicației Web, luați în considerare următoarea listă neexhaustivă de caracteristici. O implementare ineficientă a fiecăruia ar putea duce la puncte slabe, punând compania în pericol.
- Configurarea aplicației și a serverului. Criptarea/configurațiile criptografice, configurațiile serverului web și așa mai departe sunt toate exemple de potențiale defecte.
- Validarea procesării intrărilor și a erorilor Procesarea slabă a intrărilor și a ieșirii duce la injectare SQL, scripting cross-site (XSS) și alte probleme tipice de injectare.
- Autentificarea si intretinerea sesiunilor. Vulnerabilități care ar putea duce la uzurparea identității utilizatorului. Ar trebui să se țină seama și de puterea acreditării și de protecție.
- Autorizare. Capacitatea aplicației de a proteja împotriva creșterilor de privilegii verticale și orizontale este în curs de testare.
- Logica in afaceri. Cele mai multe programe care oferă funcționalități de afaceri se bazează pe acestea.
- Logica la capătul clientului. Acest tip de caracteristică devine din ce în ce mai obișnuită cu paginile web moderne, care utilizează JavaScript, precum și cu paginile web care utilizează alte tipuri de tehnologii la nivelul clientului (de exemplu, Silverlight, Flash, applet-urile Java).
Pentru a vă familiariza în detaliu cu curriculumul de certificare, puteți extinde și analiza tabelul de mai jos.
Curriculumul de certificare pentru testarea de penetrare a aplicațiilor web EITC/IS/WAPT face referire la materiale didactice cu acces deschis într-o formă video. Procesul de învățare este împărțit într-o structură pas cu pas (programe -> lecții -> subiecte) care acoperă părți relevante ale curriculumului. De asemenea, se oferă consultanță nelimitată cu experți în domeniu.
Pentru detalii despre procedura de certificare verificați Abordare.
Descărcați materialele pregătitoare complete pentru auto-învățare offline pentru programul de testare a penetrației aplicațiilor web EITC/IS/WAPT într-un fișier PDF
Materiale pregătitoare EITC/IS/WAPT – versiune standard
Materiale pregătitoare EITC/IS/WAPT – versiune extinsă cu întrebări de revizuire