Sigurnosna procjena (security audit) - što je i kako teče
Sigurnosni audit (security audit): što obuhvaća, kako teče kroz pet faza i po čemu se razlikuje od penetracijskog testa.
Pročitaj

Penetration testing web aplikacija je kontrolirani, autorizirani napad na vašu web aplikaciju u kojem sigurnosni stručnjak oponaša stvarnog napadača kako bi pronašao iskoristive ranjivosti prije nego ih zlonamjerni akter otkrije. Obuhvaća testiranje autentikacije, autorizacije, poslovne logike, ulaznih točaka (forme, API-ji, upload datoteka) i konfiguracije. Rezultat je izvještaj s dokazanim ranjivostima, procjenom rizika i konkretnim preporukama za ispravak.
Penetracijsko testiranje - otkrivamo ranjivosti prije hakera. Ne morate sami; mi to rješavamo za vašu firmu. Zatražite besplatnu procjenu.
Za razliku od automatskog skeniranja koje samo prijavljuje potencijalne probleme, penetration test stvarno pokušava iskoristiti ranjivost i dokazati njezin utjecaj. Na primjer, pristup tuđim podacima ili preuzimanje administratorskog računa. U nastavku objašnjavamo što točno test pokriva, kroz koje faze prolazi i kako se firme u BiH i regiji mogu pripremiti.
Web aplikacije su najčešća ulazna točka za napade jer su po definiciji izložene internetu. Webshop, korisnički portal, rezervacijski sustav ili interna aplikacija dostupna preko preglednika, sve su to mete. Mrežni vatrozid i antivirus ne mogu zaštititi od propusta koji nastaje u samom kodu aplikacije, primjerice kada se korisnički unos ne provjerava ispravno.
Upravo zato je penetration testing web aplikacija usmjeren na sloj aplikacije, a ne samo na infrastrukturu. Testira se način na koji aplikacija obrađuje podatke, kako razlikuje korisnike i što se događa kada netko pokuša zaobići predviđeni tok korištenja. Mnoge ranjivosti nisu vidljive iz pregledničkog sučelja, već ih otkriva tek stručnjak koji namjerno šalje neočekivane zahtjeve.
Prije početka dogovara se koliko informacija tester dobiva. Izbor utječe na dubinu i trajanje testa:
| Pristup | Što tester zna | Kada je koristan |
|---|---|---|
| Black-box | Ništa unaprijed, kreće kao vanjski napadač | Kada želite simulirati realan vanjski napad |
| Grey-box | Ima korisničke račune i osnovne informacije | Najčešći izbor, dobar omjer dubine i troška |
| White-box | Pristup izvornom kodu i dokumentaciji | Za najtemeljitiju analizu, npr. kritične aplikacije |
Za većinu poslovnih aplikacija grey-box pristup daje najbolji rezultat: tester ima barem jedan korisnički račun pa može testirati i dio iza prijave, gdje se obično nalaze najosjetljiviji podaci.
Profesionalan test slijedi strukturiranu metodologiju. Iako se detalji razlikuju, faze su uglavnom ove:
Definira se što se točno testira (domene, poddomene, API-ji), što je izvan opsega, u kojem terminu i s kojim ograničenjima. Ovdje se pribavlja pisana autorizacija, bez nje testiranje nije legalno. Dogovara se i testira li se produkcija ili posebno test okruženje.
Tester mapira aplikaciju: koje stranice postoje, koje forme i parametri primaju unos, koje tehnologije se koriste, kako izgleda tok autentikacije. Ova faza određuje gdje su potencijalne ulazne točke za napad.
Kombinacija automatskih alata i ručnog testiranja. Alati brzo pokrivaju širinu, ali ozbiljne ranjivosti, osobito one u poslovnoj logici, pronalazi tek iskusan tester ručnom analizom.
Ključna razlika u odnosu na skeniranje: tester pokušava stvarno iskoristiti pronađene slabosti kako bi dokazao utjecaj. Cilj nije nanijeti štetu, nego potvrditi da je ranjivost stvarna i pokazati dokle napadač može doći.
Najvažniji isporučeni dokument. Dobar izvještaj sadrži sažetak za upravu, tehnički opis svake ranjivosti, korake za reprodukciju, procjenu rizika (npr. po CVSS skali) i konkretne preporuke za ispravak, poredane po prioritetu.
Nakon što vaš tim ispravi nedostatke, tester provjerava jesu li ispravci stvarno učinkoviti. Bez retesta ne znate je li problem zaista riješen.
Industrijski standard za web aplikacije je OWASP metodologija, posebno OWASP Top 10, lista najčešćih i najrizičnijih kategorija ranjivosti, te detaljniji OWASP Web Security Testing Guide. Tipična područja koja se provjeravaju uključuju:
Posebnu pažnju zahtijevaju propusti u poslovnoj logici jer ih automatski alati gotovo nikad ne otkriju. Oni proizlaze iz načina na koji baš vaša aplikacija radi.
Današnje web aplikacije rijetko su samo skup statičnih stranica. Velik dio funkcionalnosti vrti se kroz API-je (najčešće REST ili GraphQL) koje poziva JavaScript u pregledniku. To znači da se značajan dio napadne površine nalazi izvan onoga što korisnik vidi u sučelju.
Kod single-page aplikacija (SPA) napravljenih u alatima poput Reacta, Angulara ili Vuea, sigurnosna logika nikada se ne smije oslanjati na ono što se izvršava u pregledniku. Napadač zaobilazi sučelje i poziva API izravno. Zato kvalitetan test obavezno provjerava i sam API sloj: jesu li svi pozivi propisno zaštićeni provjerom autentikacije i autorizacije, mogu li se mijenjati parametri da bi se pristupilo tuđim resursima i otkriva li API više podataka nego što bi smio. Mnoge ozbiljne ranjivosti danas se nalaze upravo na razini API-ja, a ne u vidljivom dijelu aplikacije.
Često se brka penetration test s automatskim skeniranjem ranjivosti. Razlika je suštinska:
Najbolji pristup je kombinacija: redovito skeniranje za kontinuirani nadzor i periodički penetration test za dubinsku procjenu. Ako vodite kontinuiran nadzor sigurnosti, tu pomaže i upravljana detekcija i odgovor poput NeoBit Guardian 360 SOC usluge.
Dobra priprema štedi vrijeme i povećava vrijednost testa. Preduzećima u Mostaru i široj regiji preporučujemo sljedeće korake:
Ako niste sigurni koji je opseg primjeren vašoj aplikaciji, možete ispuniti NeoBit pentest upitnik i dobiti okvirnu procjenu prije nego se obvezujete na bilo što.
Opće je pravilo provesti penetration test web aplikacije barem jednom godišnje, a uvijek i nakon značajnih promjena: nove funkcionalnosti, migracije na novu platformu ili veće izmjene u autentikaciji. Aplikacije koje obrađuju plaćanja ili osjetljive podatke obično se testiraju češće, a nerijetko to zahtijevaju i sigurnosni standardi ili poslovni partneri.
Test je vrijedan onoliko koliko su iskusni ljudi koji ga provode i koliko je izvještaj jasan i upotrebljiv. Ako tražite procjenu za svoju aplikaciju, javite se NeoBit timu i dogovorite razgovor o opsegu.
Izvještaj je krajnji proizvod za koji zapravo plaćate, pa je vrijedno znati po čemu prepoznati dobar. Kvalitetan izvještaj o penetration testu web aplikacije trebao bi sadržavati:
Izvještaj koji samo nabraja alate i njihove sirove rezultate, bez konteksta i preporuka, znak je da je posao obavljen površno.
U razgovoru s preduzećima u regiji često nailazimo na ista pogrešna uvjerenja koja vrijedi razjasniti:
Trajanje ovisi o veličini i složenosti aplikacije te dogovorenom opsegu. Manja aplikacija može se testirati u nekoliko dana, dok veći sustavi s mnogo funkcionalnosti i integracija zahtijevaju više tjedana. Opseg i procjena trajanja dogovaraju se prije početka.
Profesionalni test provodi se kontrolirano i uz dogovorena pravila kako bi se rizik sveo na najmanju mjeru. Cilj je dokazati ranjivosti, a ne nanijeti štetu. Ipak, preporučuje se testiranje na zasebnom okruženju ili uz svježu sigurnosnu kopiju kada se testira produkcija.
Skeniranje je automatizirano i daje popis potencijalnih problema, dok penetration test uključuje stručnjaka koji ručno potvrđuje i iskorištava ranjivosti te procjenjuje stvarni utjecaj. Skeniranje pokriva širinu, a penetration test dubinu, najbolje ih je kombinirati.
Da. Rezultat testa je strukturiran izvještaj sa sažetkom za upravu, tehničkim opisom ranjivosti, procjenom rizika i preporukama. Takav dokument često služi i kao dokaz provedene sigurnosne provjere prema poslovnim partnerima ili u sklopu pripreme za standarde poput ISO 27001.
Povezani vodiči: Cyber sigurnost u BiH - kompletan vodič · Black box, white box i grey box testiranje - razlike · Penetration testing vs skeniranje ranjivosti - što odabrati
Pen TestingSigurnosni audit (security audit): što obuhvaća, kako teče kroz pet faza i po čemu se razlikuje od penetracijskog testa.
Pročitaj
Pen TestingRed team, blue team i purple team: objašnjavamo razlike, uloge i kako odabrati pravi pristup za sigurnost vaše firme u B
Pročitaj
Pen TestingOWASP Top 10 objašnjen: svih deset najčešćih web ranjivosti, primjeri napada i praktični koraci zaštite za firme u BiH i
Pročitaj