Kako se veliki dio poslovanja danas obavlja preko interneta, web odredišta glavna su mete za cyberkriminalce. Premda su upotrijebljeni web napadi često relativno dobro poznati, zaštita od njih za mnoge je kompanije i dalje van dosega
Složenost weba, pojačana nedostacima u postojećoj infrastrukturi, čini mnoge siteove ranjivima, a opasnost se svakim danom samo povećava. Prema zadnjem Symantecovom izvješću Internet Security Threat Report za 2013., bilo je otkriveno 6787 ranjivosti. Za usporedbu, 2012. ih je bilo 5291.
Još više zabrinjava jest činjenica da je svako osmo web odredište imalo poznate kritične, ali i nezakrpane ranjivosti, dok se 67 posto web odredišta iskorištenih za širenje zloćudnog softvera identificiralo kao legitimno, ali je pritom bilo kompromitirano.
Evo kojih pet metoda napada hakeri koriste najčešće.
1) SQL Injection
SQL Injection je tehnika umetanja koda koja unosi zloćudne SQL izjave i naredbe u polje unosa za izvršavanje, što dovodi do toga da web poslužitelj šalje, odnosno vraća informaciju koju ne bi smio vratiti. Kao rezultat, web server omogućava pristup informacijama koje bi trebale biti sigurne i izvan dohvata. Na primjer, takvi su podaci korisnička imena i lozinke.
2) Cross Site Scripting (XSS)
Cross Site Scripting najrašireniji je sigurnosni propust u web aplikacijama, a događa se kad aplikacija prihvati neprovjerene podatke i pošalje ih pregledniku bez prave provjere ili označavanja kraja. To napadačima omogućava izvršavanje skripte u browseru žrtve kada ona posjeti web odredište, čime se pak može preuzeti kontrolu nad korisničkom sesijom, vandalizirati web odredište ili preusmjeriti korisnika na zloćudne siteove.
3) CSRF (Cross-Site Request Forgery)
CSRF napad krade žrtvin sesijski kolačić (cookie) i druge autentifikacijske informacije koje se koriste za prijavu na ranjivo web odredište. Kad se to izvrši, napadač može onda preuzeti kontrolu nad žrtvinom sesijom - na primjer, na web odredištu banke - te tako dobiti potpunu kontrolu nad računom. Međutim, kako web odredište vjeruje da je prijavljen legitimni korisnik, jako je teško otkriti kad je ovakav napad uspio.
4) Korištenje komponenti s poznatim ranjivostima
Komponente - kao što su biblioteke koda, okviri i drugi softverski moduli - koje imaju poznate ranjivosti postale su napadačima vrlo lako dostupno voće. Međutim, kako smo vidjeli nedavno na primjeru buga Heartbleed, učinkovito upravljanje zakrpama i sigurno kodiranje mogu biti teški, pogotovo za složene web aplikacije.
Aplikacije koje koriste komponente s poznatim ranjivostima mogu potkopati vlastitu obranu i omogućiti čitav niz mogućih napada i utjecaja.
5) Posrednik
Napad poznat pod imenom 'posrednik' (Man in The Middle) presreće komunikaciju između dva sustava. Na primjer, u http transakciji (komunikaciji web servera i klijenta), meta je TCP veza između klijenta i servera. U nekim smo okolnostima vidjeli kako web odredišta pritom šalju osjetljive informacije bez dovoljno jake enkripcije.
Ove uobičajene ranjivosti na webu postoje uglavnom zbog nedostatka zaštite unutar samog koda web aplikacije. U teoriji, to znači da ih se uvelike može spriječiti implementacijom najbolje sigurnosne prakse tijekom životnog ciklusa razvoja softvera.
Međutim, brzina promjena i zahtjevna priroda poslovnih potreba dovode do toga da se mnoge organizacije teško nose s implementacijom sigurnosti u svoj ciklus razvoja softvera, sve dok ne bude prekasno, kažu u Symantecu.