Sigurnosni pregled aplikacija
Imaju li korisnici aplikacija stvarno pristup svojim podatcima?
Sigurnosni pregled aplikacija namijenjen je otkrivanju mogućih sigurnosnih prijetnji i manjkavosti pojedinih aplikacija. To kod zlonamjernog napada može omogućiti provedbu neovlaštenih promjena koje mogu utjecati na povjerljivost, raspoloživost i cjelovitost podataka u samoj aplikaciji (npr. neovlašten pristup, mijenjanje podataka, nedjelovanje aplikacije).
U pozadini djelovanja aplikacija mogu biti različite tehnologije (internetske, mobilne, klasične). Bez obzira na njihovu njihovo vrstu moguće su prijetnje na strani:
- korisnika
- mreže odnosno transportnog kanala
- infrastrukture poslužitelja
Cjelovit sigurnosni pregled aplikacija zato se provodi u više faza unutar kojih detaljno proučimo arhitekturu aplikacije, elemente i samo djelovanje aplikacije. Tipične manjkavosti aplikacija jesu:
- pristup podatcima bez prijave
- neodgovarajuće lokalno spremanje podataka
- provedba akcija u ime drugog korisnika, kao što je provedba transakcija, uključivanje/isključivanje usluga itd.
- promjena lozinke drugog korisnika i time preuzimanje njegova korisničkog računa
- eskalacija privilegija korisničkih prava koja korisniku omogućuje više mogućih aktivnosti, npr. promjenu cijena itd.
- pristup podatcima odnosno mijenjanje podataka drugog korisnika
Detaljnim sigurnosnim pregledom, koji uključuje i korisničku prijavu, dobivate nedvojbeni odgovor jesu li sigurnosne kontrole u aplikaciji odgovarajuće.
Najdetaljnije sigurnosne nedostatke možemo otkriti pregledom izvornog koda aplikacija, jer su upravo greške u kodiranju primarni izvor problema. Pritom je važno da izvorni kod provjere neovisni stručnjaci za aplikacijsku sigurnost, koji
nisu sudjelovali u razvoju aplikacije. Pregled izvornog koda aplikacije provodi se u više koraka, pri čemu naručitelj osigurava sve raspoložive informacije (princip »bijele kutije«). U prvom koraku primjenjuje se namjenski programski
alat koji prepoznaje sigurnosno problematična mjesta u programskom kodu. On se nakon toga ručno detaljno provjerava u suradnji s razvojnim stručnjakom programske opreme na strani naručitelja te savjetnikom za sigurnost i razvojnim
specijalistom na strani izvođača. U zadnjem koraku još se penetracijskim testom nedvojbeno potvrđuju utvrđeni sigurnosni nedostaci.