Kako se veliki dio poslovanja danas obavlja preko Interneta, web siteovi glavne su mete za cyberkriminalce. Premda su upotrijebljeni web napadi često relativno dobro poznati, zaštita od njih za mnoge je kompanije i dalje nedohvatljiva pa su oni još uvijek uobičajeni izvor kompromitacije siteova.
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 Internet Security Threat Reportu za 2013., bilo je otkriveno 6787 ranjivosti. Za usporedbu, 2012. ih je bilo 5291. Ono što još više zabrinjava jest činjenica da je svaki osmi site imao poznate kritične, ali i nezakrpane ranjivosti, dok se 67% siteova iskorištenih za širenje zloćudnog softvera identificiralo kao legitimno, ali je pritom bilo kompromitirano.
U nekoliko zadnjih godina, broj zloćudnih programa na webu porastao je dramatično, a najveći broj se pojavio zbog automatizacije i dostupnosti kompleta za iskorištavanje sigurnosnih 'rupa'. Hakeri upotrebljavaju softverske komplete koji sadrže tisuće zloćudnih programa i exploita da bi izvršili automatizirane 'usputne' napade koji šire zloćudni softver i tako zaraze daljnja računala. S tim kompletima exploita, cyberkriminalci mogu lako povećati opseg napada i pokušavati s raznim taktikama upada koje probaju iskoristiti poznate ranjivosti.
Raširenost ovih kompleta se može vidjeti po prosječnom broju zloćudnih siteova blokiranih svakog dana. Sve veća popularnost exploit kompleta ne samo da snižava letvicu za ulazak napadača na ovo područje nego i podiže letvicu kompanijama koje žele zaštiti svoju infrastrukturu na webu.
Cyberkriminalci mogu kompromitirati svaki site te ga potom upotrijebiti za napad na vaše podatke. Skrećemo pažnju na pet najuobičajenijih metoda napada koje su i dalje problem za mnoge siteove, pri čemu zahvaljujemo Open Web Application Security Projectu (OWASP) za detaljne opise:
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 server š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 browseru bez prave provjere ili označavanja kraja. To napadačima omogućava da izvršavaju skripte u browseru žrtve kada ona posjeti site, čime se pak može preuzeti kontrolu nad korisničkom sesijom, vandalizirati site 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 ranjivi site. Kad se to izvrši, napadač može onda preuzeti kontrolu nad žrtvinom sesijom, na primjer na siteu banke te tako dobiti potpunu kontrolu nad računom. Međutim, kako site 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 kod nedavnog Heartbleed buga, efektivno upravljanje zakrpama i sigurno kodiranje mogu biti teški, pogotovo za složene web aplikacije. Aplikacije koje koriste komponente s poznatim ranjivostima mogu potkopati obranu aplikacije i omogućiti čitav niz mogućih napada i utjecaja.
5. Posrednik (Man in The Middle)
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 siteovi 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.
Mnogim poduzećima sigurnost je i dalje reaktivna, često primijenjena kada je već prekasno odnosno tek nakon što su napadači već napravili štetu. S naše strane, poduzećima preporučujemo da sigurnost unesu u sam razvojni proces, tako da bude ugrađena u njihovu web aplikaciju od početka. Cijena potencijalno sporijeg razvoja koji će proizvesti sigurni kod preteže rizik čekanja da dospijete u naslove kao žrtva napredne kampanje čija su meta vaši povjerljivi podaci.
Štoviše, preporučuje se da se i razvojni i produkcijski okoliš prate zbog pojave vanjskih prijetnji. Većina uobičajenih napada ima poznate IDS/IPS potpise, što Symantecovim Upravljanim sigurnosnim servisima (Managed Security Services) čini otkrivanje lakim pa će vas o njima uvijek obavijestiti i dati brzo rješenje. (PS/SŠ)