Test penetracije, poznat i kao pen test, je simulirani kibernetički napad na Vaš računarski sistem radi provjere ranjivosti koje se mogu iskoristiti. U kontekstu sigurnosti web aplikacija, testiranje penetracije se obično koristi za povećanje zaštitnog zida web aplikacije (WAF).
Pen testiranje može uključivati pokušaj provale bilo kojeg broja aplikacijskih sistema (npr. interfejsa aplikacijskog protokola (API), frontend/backend servera) da bi se otkrile ranjivosti, kao što su neočišćeni ulazi koji su podložni napadima ubrizgavanjem koda.
Uvidi dobijeni testom penetracije mogu se koristiti za fino podešavanje Vaših sigurnosnih politika WAF-a i zakrpe otkrivenih ranjivosti.
Faze ispitivanja penetracije
Proces pen testiranja može se podijeliti u pet faza.
1. Planiranje i izviđanje
Prva faza uključuje:
- Definisanje obima i ciljeva testa, uključujući sisteme kojima se treba baviti i metode testiranja koje treba koristiti.
- Prikupljanje obavještajnih podataka (npr. imena mreže i domena, mail servera) kako bi se bolje razumjelo kako cilj funkcioniše i njegove potencijalne ranjivosti.
2. Skeniranje
Sljedeći korak je razumijevanje kako će ciljna aplikacija odgovoriti na različite pokušaje upada. To se obično radi pomoću:
- Statičke analize – Inspekcija koda aplikacije da bi se procijenilo kako se ponaša dok radi. Ovi alati mogu skenirati cijeli kod u jednom prolazu.
- Dinamička analiza – Provjera koda aplikacije u stanju rada. Ovo je praktičniji način skeniranja, jer pruža uvid u performanse aplikacije u realnom vremenu.
3. Dobijanje pristupa
Ova faza koristi napade na web aplikacije, kao što su skriptovanje na više lokacija, SQL injekcija i backdoors, da bi se otkrile ranjivosti cilja. Testeri zatim pokušavaju da iskoriste ove ranjivosti, obično eskalacijom privilegija, krađom podataka, presretanjem saobraćaja kako bi razumjeli štetu koju mogu uzrokovati.
4. Održavanje pristupa
Cilj ove faze je da se vidi da li se ranjivost može iskoristiti za postizanje trajnog prisustva u eksploatisanom sistemu, dovoljno dugo da haker dobije dubinski pristup. Ideja je da se imitiraju napredne trajne pretnje, koje često ostaju u sistemu mjesecima kako bi ukrale najosjetljivije podatke organizacije.
5. Analiza
Rezultati testa penetracije se zatim sastavljaju u izvještaj sa detaljima:
- Specifične ranjivosti koje su iskorištene
- Osjetljivi podaci kojima se pristupilo
- Koliko je vremena pen tester bio u mogućnosti da ostane u sistemu neotkriven
Ove informacije analizira bezbjednosno osoblje kako bi se pomoglo u konfigurisanju WAF postavki kompanija i drugih bezbjednosnih rešenja aplikacija za zakrpanje ranjivosti i zaštitu od budućih napada.
Metode ispitivanja penetracije
Eksterno testiranje
Eksterni testovi penetracije ciljaju na imovinu kompanije koja je vidljiva na internetu, npr. samu web aplikaciju, web stranicu kompanije i email servere i imena domena (DNS). Cilj je dobiti pristup i izdvojiti vrijedne podatke.
Interno testiranje
U internom testu, tester s pristupom aplikaciji iza svog zaštitnog zida simulira napad malicioznog insajdera. Ovo nije nužno simulacija lažnog radnika. Uobičajeni početni scenario može biti zaposlenik čiji su kredencijali ukradeni zbog phishing napada.
Slijepo testiranje
U slijepom testu, testeru se daje samo ime kompanije koja je ciljana. Ovo daje osoblju sigurnosti da u realnom vremenu vidi kako bi se stvarni napad na aplikaciju odigrao.
Dvostruko slijepo testiranje
U dvostrukom slijepom testu, sigurnosno osoblje nema nikakvo prethodno znanje o simuliranom napadu. Kao i u stvarnom svijetu, neće imati vremena da ojačaju svoju odbranu prije pokušaja proboja.
Ciljano testiranje
U ovom scenariju, i tester i osoblje obezbjeđenja rade zajedno i obavještavaju jedni druge o njihovom kretanju. Ovo je vrijedna vježba obuke koja obezbjeđuje sigurnosnom timu povratne informacije u realnom vremenu sa tačke gledišta hakera.
Testiranje penetracije i zaštitni zidovi web aplikacija
Testiranje penetracije i WAF su isključivi, ali obostrano korisne sigurnosne mjere.
Za mnoge vrste pen testiranja, sa izuzetkom slijepih i dvostruko slijepih testova, tester će vjerovatno koristiti WAF podatke, kao što su zapisnici, da locira i iskoristi slabe tačke aplikacije.
Zauzvrat, WAF administratori mogu imati koristi od podataka pen testiranja. Nakon što je test završen, WAF konfiguracije se mogu ažurirati kako bi se zaštitile od slabih tačaka otkrivenih u testu.
Konačno, pen testiranje zadovoljava neke od zahtjeva usaglašenosti za procedure revizije sigurnosti, uključujući PCI DSS i SOC 2. Određeni standardi, kao što je PCI-DSS 6.6, mogu se zadovoljiti samo korištenjem sertifikovanog WAF-a. Međutim, to ne čini pen testiranje manje korisnim zbog njegovih gore navedenih prednosti i mogućnosti poboljšanja WAF konfiguracija.