EITC/IS/WAPT Penetration Testing Web Applications je europski IT certifikacijski program o teoretskim i praktičnim aspektima testiranja penetracije web aplikacija (bijelo hakiranje), uključujući različite tehnike za spidering, skeniranje i tehnike napada web stranica, uključujući specijalizirane alate i pakete za testiranje penetracije .
Nastavni plan i program EITC/IS/WAPT testiranja penetracije web aplikacija pokriva uvod u Burp Suite, web spridering i DVWA, testiranje grube sile uz Burp Suite, detekciju vatrozida web aplikacija (WAF) s WAFW00F, opseg cilja i spidering, otkrivanje skrivenih datoteka s ZAP, skeniranje ranjivosti WordPressa i nabrajanje korisničkog imena, skeniranje balansiranja opterećenja, skriptiranje na više web-mjesta, XSS – reflektirani, pohranjeni i DOM, proxy napadi, konfiguriranje proxyja u ZAP-u, napadi na datoteke i direktorije, otkrivanje datoteka i direktorija s DirBusterom, praksa web napada , OWASP Juice Shop, CSRF – krivotvorenje zahtjeva na više web-lokacija, prikupljanje kolačića i obrnuti inženjering, HTTP atributi – krađa kolačića, SQL injekcija, DotDotPwn – fuzzing preko direktorija, injekcija iframea i HTML injekcija, Heartbleed exploit – otkrivanje i iskorištavanje, ubrizgavanje PHP koda bWAPP – HTML injekcija, reflektirani POST, injekcija OS naredbe s Commixom, na strani poslužitelja uključuje SSI injekciju, pentestiranje u Dockeru, OverTheWire Natas, LFI i injekcija naredbi, Google hakiranje za pentestiranje, Google Dorks Za testiranje penetracije, Apache2 ModSecurity, kao i Nginx ModSecurity, unutar sljedeće strukture, koja obuhvaća sveobuhvatan video didaktički sadržaj kao referencu za ovu EITC certifikaciju.
Sigurnost web aplikacija (često se naziva Web AppSec) koncept je dizajniranja web stranica za normalno funkcioniranje čak i kada su napadnute. Pojam je integriranje skupa sigurnosnih mjera u web aplikaciju kako bi se zaštitila njena sredstva od neprijateljskih agenata. Web aplikacije, kao i svaki softver, sklone su nedostacima. Neki od tih nedostataka su stvarne ranjivosti koje se mogu iskoristiti, što predstavlja rizik za poduzeća. Takvih nedostataka štiti sigurnost web aplikacije. To podrazumijeva korištenje sigurnih razvojnih pristupa i postavljanje sigurnosnih kontrola tijekom životnog ciklusa razvoja softvera (SDLC), osiguravajući rješavanje nedostataka u dizajnu i implementacije. Online penetracijsko testiranje, koje provode stručnjaci koji nastoje otkriti i iskoristiti ranjivosti web aplikacija koristeći takozvani pristup bijelog hakiranja, neophodna je praksa kako bi se omogućila odgovarajuća obrana.
Test penetracije webom, također poznat kao test web olovke, simulira cyber napad na web-aplikaciju kako bi se pronašle nedostatke koje je moguće iskoristiti. Testiranje penetracije često se koristi za dopunu vatrozida web aplikacije u kontekstu sigurnosti web aplikacija (WAF). Testiranje olovkom, općenito, podrazumijeva pokušaj prodora u bilo koji broj aplikacijskih sustava (npr. API-ji, frontend/backend poslužitelji) kako bi se pronašle ranjivosti, kao što su neočišćeni ulazi koji su ranjivi na napade ubrizgavanjem koda.
Nalazi online testa penetracije mogu se koristiti za konfiguriranje sigurnosnih pravila WAF-a i rješavanje otkrivenih ranjivosti.
Ispitivanje penetracije ima pet koraka.
Postupak testiranja olovke podijeljen je u pet koraka.
- Planiranje i izviđanje
Definiranje opsega i ciljeva testa, uključujući sustave kojima se treba baviti i metodologije testiranja koje će se koristiti, prva je faza.
Da biste bolje razumjeli kako cilj radi i njegove potencijalne slabosti, prikupite obavještajne podatke (npr. nazivi mreže i domena, poslužitelj pošte). - Skeniranje
Sljedeća faza je shvatiti kako će ciljna aplikacija reagirati na različite vrste pokušaja upada. To se obično postiže primjenom sljedećih metoda:
Statička analiza – Ispitivanje koda aplikacije kako bi se predvidjelo kako će se ponašati kada se pokrene. U jednom prolazu, ovi alati mogu skenirati cijeli kod.
Dinamička analiza je proces provjere koda aplikacije dok ona radi. Ova metoda skeniranja je praktičnija jer pruža uvid u izvedbu aplikacije u stvarnom vremenu. - Dobivanje pristupa
Kako bi se pronašle slabosti cilja, ovaj korak koristi napade na web aplikacije kao što su skriptiranje na više mjesta, SQL injekcija i backdoor. Kako bi razumjeli štetu koju bi te ranjivosti mogle nanijeti, testeri ih pokušavaju iskoristiti povećanjem privilegija, krađom podataka, presretanjem prometa i tako dalje. - Zadržavanje pristupa
Svrha ove faze je procijeniti može li se ranjivost iskoristiti za uspostavljanje dugoročne prisutnosti u kompromitiranom sustavu, omogućujući lošem akteru da dobije dubinski pristup. Cilj je oponašati napredne trajne prijetnje, koje mogu ostati u sustavu mjesecima kako bi ukrale najosjetljivije informacije tvrtke. - Analiza
Rezultati testa penetracije zatim se stavljaju u izvješće koje uključuje informacije kao što su:
Ranjivosti koje su detaljno iskorištene
Podaci koji su dobiveni bili su osjetljivi
Vrijeme koje je tester olovke mogao ostati neprimijećen u sustavu.
Stručnjaci za sigurnost koriste te podatke kako bi pomogli u konfiguriranju WAF postavki poduzeća i drugih sigurnosnih rješenja aplikacija kako bi zakrpili ranjivosti i spriječili daljnje napade.
Metode ispitivanja penetracije
- Eksterno ispitivanje penetracije usredotočuje se na imovinu tvrtke koja je vidljiva na internetu, kao što je sama web aplikacija, web stranica tvrtke, kao i poslužitelji e-pošte i imena domene (DNS). Cilj je dobiti pristup korisnim informacijama i izvući ih.
- Interno testiranje podrazumijeva da tester ima pristup aplikaciji iza vatrozida tvrtke koja simulira neprijateljski insajderski napad. Ovo nije neophodna simulacija lažnog zaposlenika. Zaposlenik čije su vjerodajnice dobivene kao rezultat pokušaja krađe identiteta uobičajena je polazna točka.
- Slijepo testiranje je kada se testeru jednostavno navede naziv tvrtke koja se testira. To omogućuje stručnjacima za sigurnost da vide kako bi se stvarni napad na aplikaciju mogao odigrati u stvarnom vremenu.
- Dvostruko slijepo testiranje: U dvostruko slijepom testu, sigurnosni stručnjaci nisu svjesni simuliranog napada unaprijed. Neće imati vremena da ojačaju svoje utvrde prije pokušaja proboja, baš kao u stvarnom svijetu.
- Ciljano testiranje – u ovom scenariju tester i sigurnosno osoblje surađuju i prate međusobno kretanje. Ovo je izvrsna vježba koja sigurnosnom timu daje povratnu informaciju u stvarnom vremenu iz perspektive hakera.
Vatrozidi web aplikacija i testiranje penetracije
Testiranje penetracije i WAF dvije su odvojene, ali komplementarne sigurnosne tehnike. Tester će vjerojatno koristiti WAF podatke, kao što su zapisnici, kako bi pronašao i iskoristio slaba područja aplikacije u mnogim vrstama testiranja olovkom (s izuzetkom slijepih i dvostruko slijepih testova).
Zauzvrat, podaci o testiranju olovke mogu pomoći administratorima WAF-a. Nakon završetka testa, konfiguracije WAF-a mogu se mijenjati radi zaštite od nedostataka otkrivenih tijekom ispitivanja.
Konačno, testiranje olovkom zadovoljava određene zahtjeve usklađenosti metoda sigurnosne revizije, kao što su PCI DSS i SOC 2. Određeni zahtjevi, kao što je PCI-DSS 6.6, mogu se ispuniti samo ako se koristi certificirani WAF. Međutim, zbog gore navedenih prednosti i mogućnosti izmjene WAF postavki, to ne čini testiranje olovkom manje korisnim.
Koji je značaj testiranja web sigurnosti?
Cilj testiranja web sigurnosti je identificirati sigurnosne nedostatke u web aplikacijama i njihovu postavu. Aplikacijski sloj je primarni cilj (tj. ono što se izvodi na HTTP protokolu). Slanje različitih oblika unosa web aplikaciji kako bi se izazvali problemi i natjerali sustav da reagira na neočekivane načine uobičajen je pristup testiranju njegove sigurnosti. Ovi "negativni testovi" pokušavaju vidjeti radi li sustav nešto što nije namjeravao postići.
Također je važno shvatiti da testiranje web sigurnosti uključuje više od samo provjere sigurnosnih značajki aplikacije (kao što su provjera autentičnosti i autorizacija). Također je ključno osigurati sigurnu primjenu drugih značajki (npr. poslovna logika i korištenje odgovarajuće provjere valjanosti ulaza i izlaznog kodiranja). Svrha je osigurati da su funkcije web aplikacije sigurne.
Koje su mnoge vrste sigurnosnih procjena?
- Test za sigurnost dinamičke aplikacije (DAST). Ovaj automatizirani sigurnosni test aplikacije najprikladniji je za aplikacije s niskim rizikom, interno okrenute i koje moraju ispunjavati regulatorne sigurnosne zahtjeve. Kombiniranje DAST-a s nekim ručnim online sigurnosnim testiranjem za uobičajene ranjivosti najbolja je strategija za aplikacije srednjeg rizika i ključne aplikacije koje prolaze kroz manje promjene.
- Sigurnosna provjera za statičke aplikacije (SAST). Ova sigurnosna strategija aplikacije uključuje automatizirane i ručne metode testiranja. Idealan je za otkrivanje grešaka bez potrebe za pokretanjem aplikacija u živom okruženju. Također omogućuje inženjerima da skeniraju izvorni kod kako bi otkrili i popravili sigurnosne nedostatke softvera na sustavan način.
- Ispitivanje penetracije. Ovaj ručni sigurnosni test aplikacije idealan je za bitne aplikacije, osobito one koje prolaze kroz značajne promjene. Za pronalaženje naprednih scenarija napada, procjena koristi poslovnu logiku i testiranje temeljeno na protivniku.
- Samozaštita aplikacije u vremenu izvođenja (RASP). Ova rastuća metoda sigurnosti aplikacije uključuje razne tehnološke tehnike za instrumentiranje aplikacije tako da se prijetnje mogu pratiti i, nadamo se, spriječiti u stvarnom vremenu kako se pojave.
Koju ulogu ima testiranje sigurnosti aplikacija u smanjenju rizika tvrtke?
Velika većina napada na web aplikacije uključuje:
- SQL Injection
- XSS (Cross Site Scripting)
- Daljinsko izvršenje naredbi
- Napad prelaska putanje
- Ograničen pristup sadržaju
- Kompromitirani korisnički računi
- Instalacija zlonamjernog koda
- Izgubljeni prihod od prodaje
- Povjerenje kupaca narušeno
- Šteta reputaciji marke
- I puno drugih napada
U današnjem internetskom okruženju, web aplikaciji mogu naštetiti različiti izazovi. Gornja grafika prikazuje nekoliko najčešćih napada napadača, od kojih svaki može uzrokovati značajnu štetu pojedinačnoj aplikaciji ili cijelom poslovanju. Poznavanje brojnih napada koji aplikaciju čine ranjivom, kao i mogućih rezultata napada, omogućuje tvrtki da unaprijed riješi ranjivosti i da ih učinkovito testira.
Kontrole za ublažavanje mogu se uspostaviti tijekom ranih faza SDLC-a kako bi se spriječili problemi identificiranjem temeljnog uzroka ranjivosti. Tijekom testa sigurnosti web aplikacije, znanje o tome kako te prijetnje funkcioniraju također se može koristiti za ciljanje poznatih zanimljivih mjesta.
Prepoznavanje utjecaja napada također je važno za upravljanje rizikom tvrtke, budući da se učinci uspješnog napada mogu koristiti za određivanje ukupne ozbiljnosti ranjivosti. Ako se ranjivosti otkriju tijekom sigurnosnog testa, utvrđivanje njihove ozbiljnosti omogućuje tvrtki da učinkovitije odredi prioritete za popravke. Kako biste smanjili rizik za tvrtku, počnite s problemima kritične ozbiljnosti i spustite se na probleme s manjim utjecajem.
Prije identificiranja problema, procjena mogućeg utjecaja svakog programa u biblioteci aplikacija tvrtke pomoći će vam da odredite prioritet testiranja sigurnosti aplikacije. Wenb sigurnosno testiranje može se zakazati tako da prvo cilja na kritične aplikacije tvrtke, s ciljanijim testiranjem kako bi se smanjio rizik za poslovanje. S utvrđenim popisom aplikacija visokog profila, wenb sigurnosno testiranje može se zakazati tako da prvo cilja kritične aplikacije tvrtke, s ciljanijim testiranjem kako bi se smanjio rizik za poslovanje.
Koje značajke treba ispitati tijekom testa sigurnosti web aplikacije?
Tijekom testiranja sigurnosti web aplikacija razmotrite sljedeći neiscrpni popis značajki. Neučinkovita provedba svakog od njih mogla bi rezultirati slabostima, dovodeći tvrtku u opasnost.
- Konfiguracija aplikacije i poslužitelja. Šifriranje/kriptografske postavke, konfiguracije web poslužitelja i tako dalje su primjeri potencijalnih nedostataka.
- Provjera valjanosti rukovanja ulazom i pogreškama Loša obrada unosa i izlaza dovodi do SQL injekcije, skriptiranja na više mjesta (XSS) i drugih tipičnih problema s injekcijom.
- Provjera autentičnosti i održavanje sesija. Ranjivosti koje bi mogle dovesti do lažnog predstavljanja korisnika. Također treba uzeti u obzir snagu vjerodajnice i zaštitu.
- Autorizacija. Testira se sposobnost aplikacije za zaštitu od vertikalnih i horizontalnih eskalacija privilegija.
- Logika u poslu. Većina programa koji pružaju poslovnu funkcionalnost oslanjaju se na njih.
- Logika na strani klijenta. Ova vrsta značajke postaje sve češća s modernim web-stranicama s teškim JavaScriptom, kao i web-stranicama koje koriste druge vrste tehnologija na strani klijenta (npr. Silverlight, Flash, Java appleti).
Da biste se detaljno upoznali s nastavnim planom i programom certificiranja, možete proširiti i analizirati donju tablicu.
EITC/IS/WAPT nastavni plan i program za certificiranje penetracijskog testiranja web aplikacija navodi didaktičke materijale otvorenog pristupa u obliku videa. Proces učenja podijeljen je u strukturu korak po korak (programi -> lekcije -> teme) koja pokriva relevantne dijelove kurikuluma. Također je osigurano neograničeno savjetovanje sa stručnjacima za domenu.
Za detalje o postupku certificiranja provjerite Kako radi.
Preuzmite potpune izvanmrežne pripremne materijale za samoučenje za EITC/IS/WAPT program za testiranje penetracije web aplikacija u PDF datoteci
EITC/IS/WAPT pripremni materijali – standardna verzija
Pripremni materijali za EITC/IS/WAPT – proširena verzija s pitanjima za ponavljanje