Sigurnosne pretnje na Web 2.0
Po svojoj prirodi Web 2.0 predstavlja upotrebu postojećih tehnologija (JavaScript, XML) na novi način, tako omogućavajući potpuno novi kvalitet iskustva korisnika, gde se fokus stavlja na povećanu interaktivnost, brzinu odziva korisničkog interfejsa, kao i uvećan uticaj korisnika na sam sadržaj veb apliakcija ili sajtova. Popularni oblici blog-ova, wiki-ja, socijalnih mreža, video i foto usluga za dijeljenje (Flickr) predstavljaju novi kvalitet uživanja Interneta modernih korisnika.
Ovakva dinamičnost i otvorenost u generisanju sadržaja predstavlja izazov kako korisnicima dajući im veće mogućnosti, ali istovremeno donosi nove sigurnosne rizike.
Web 2.0 sam po sebi donosi više rizika jer omogućava korisnicima da podižu, dodaju svoj sadržaj, a ujedno zahteva skripting mogućnosti – pokretanje kôda ili zlonamerne programe – da bi pravilno funkcionisao (Will Dormann, CERT Coordination Center).
Kao rezultat ovo je omogućilo napadačima da zloupotrebe web 2.0 u svrhu lansiranja crva van preglednika, tako ostavljajući korisnike nesvesne njihove aktivnosti. Slično ovome, moguće je da neko poseti wiki sa vezom na softver koji treba da predstavlja antivirusni program, a u stvari je trojanac. Opasan kôd može da uključuje keylogger programe koji pamte pritisnute tastere žrtve – uključujući unose za bankovne račune, brojeve kreditnih kartica i lozinki – i šalju ih napadaču. Dalje, kod može da pretvori računar žrtve u zombi – udaljeno kontrolisan računar – odakle bi napadač dalje vršio razne napade (slanje neželjene pošte, DOS…).
Napadači koriste nekoliko elemenata web-a 2.0 - Ajax, RSS, mashups…
Ajax
Ajax (Asinhroni JavaScript i XML) je tehnika programiranja za kreiranje bogatih, interaktivnih Internet aplikacija koje se ponašaju kao desktop programi. Koristi se asinhroni JavaScript, višeplatformska tehnologija koju HTML stranica može koristiti da dohvati XML dokumente tako što pravi (asinhrone) pozive serveru sa kojeg je učitana.
Ova osobina dozvoljava aplikaciji da pozivom serveru, dobije nove podatke istovremeno osvežavajući veb stranicu bez potrebe ponovnog učitavanja celog sadržaja, a sve to paralelno korisničkoj interakciji sa programom. Na primer, Google Maps, omogućavaju korisniku da pomera mapu bez potrebe da se stranica ponovo učitava svaki put. Ovo uvećava perfomanse aplikacija za nekoliko redova veličine, te tako omogućava potpuno drugačije iskustvo korisnika.
Pošto se veći deo procesiranja i slanja zahteva odvija u pozadini, van prozora preglednika, korisnici mogu da ne primete sigurnosne probleme sa Ajax kôdom. Neće primetiti ako, recimo, kôd napadača u pozadini preuzima zlonameran kôd koristeći sigurnosnu rupu u pregledniku.
Danas, oko 70 procenata zlonamernog kôda u divljini se preuzima putem Ajax-a (Yuval Ben-Itzhak, Finjan).
Ono što dodatno usložnjava problem jeste neiskustvo programera sa Ajax tehnologijama, što ih dovodi do dizajniranja programa neadekvatne sigurnosti.
XML sindikacija
Blogovi, wiki-ji i ostale web 2.0 aplikacije podržavaju sadržaj koji dobijaju putem Really Simple Syndication (RSS) ili Atom sistema za distribuciju.
Ovi sistemi distribuiraju kôd direktno u korisnički preglednik, slične samostalne programe ili online aplikacije za skupljanje vesti. Autori vesti (en. newsfeed) mogu kreirati sadržaj sami ili ga dobiti od treće strane.
Napadač bi mogao da ubaci kôd direktno u feed ili preko kompromitovanog servera. U svakom slučaju, klijent automatski prihvata takav sadržaj.
Mashups
Mashups aplikacije, ako ih tako možemo nazvati, kombinuju podatke i servise različitih veb sajtova u jedinstven prozor preglednika, tako dajući korisniku jedinstveno iskustvo. Primer bi bio apliakcija koja kombinuje Google Maps sa podacima o saobraćaju u realnom vremenu nekog trećeg servisa/aplikacije.
Ove aplikacije se uglavnom zasnivaju na API-jima (en. Application Programming Interface) objavljenim od strane originalnog autora veb aplikacije ili usluge.
U ovom slučaju sigurnost, do nekog stepena, zavisi na pouzdanosti onog ko isporučuje sadržaj (en. content provider). Mada se mashups-i mogu dinamički povezivati na razne stranice koje nisu uvek pod kontrolom provajdera.
Ipak, isporučioci sadržaja bi trebalo da osiguraju svoje server i validuju sadržaj, što ne rade baš uvek (Sutton, HP).
Social networking
Već smo pomenuli Flickr, MySpace, Wikipedia i YouTube socijalne mreže na koje korisnici mogu da podižu svoje video, audio, foto i tekst zapise, koje onda drugi posetioci preuzimaju.
Napadači u ovom slučaju mogu da uključe zlonamerni kôd u podignute fajlove.
TIPIČNE TEHNIKE NAPADA I CILJEVI
Iako postoji mnogo raličitih tipova napada koji ciljaju na razne grupe preglednika ili web 2.0 slabosti, najčešći i najviše korišćeni jesu oblici cross-site skriptinga (XSS) ili cross request forgery (CSRF) (Grossman, WhiteHat)
XSS
Ovaj napad predstavlja ubacivanje koda od strane napadača u postojeću dinamički generisanu veb stranicu. Kada neko preuzme stranicu, ugrađeni program prati zahtevanu stranicu i može da se izvrši na korisnikovom računaru.
Uglavnom, kôd omogućava napadaču da dobije pristup privilegijama žrtvinog sistema i da, na primer, ukrade podatke ili promeni korisnička podešavanja. XSS može, iz ovog razloga, da ima ozbiljne negativne posledice.
Jedan od načina na koji napadač može da ubaci neželjeni kôd jeste preko veoma populanih online knjiga gostiju i forumskih programa koji dopuštaju korisnicima dodavanje unosa (en. posting) koji uključuje HTML i JavaScript.
Posebno je zgodno koristiti Ajax-oidne aplikacije, koje omogućavaju da se kod izvršava van prozora korisničkog preglednika.
CSRF
Dok XSS zloupotrebljava poverenje koje korisnik ima prema veb stranici, CSRF zloupotrebljava poverenje koje veb stranica ima prema korisniku.
Napadač pribavlja pristup računaru korisnika i šalje neautorizovani zahtev nekoj e-commerce ili drugoj veb aplikaciji gde je žrtva već autentifikovana. Napadač šalje zahteve preko žrtvinog računara internoj mreži kompanije kojoj žrtva ima pristup, tako zaobilazeći zaštitni zid (en. firewall).
U cilju autentifikacije i pribavljanja pristupa veb stranici ili kompanijskoj internoj mreži, napadač koristi IP adresu napadnutog računara ili kolačiće (en. cookie) koje je server postavio u računar.
Ovo omogućava napadaču da se ponaša kao vlasnik računara i da inicira štetne akcije, poput uzimanja novca sa žrtvinog bankovnog računa, naručivanje proizvoda sa e-prodavnice, krađe podataka iz internet mreže kompanije ili promenu podešavanja na lokalnu zaštitnom zidu ili usmerivaču (en. router).
Dynamic code obfuscation
Većina antivirusnih programa i mnoge druge sigurnosne aplikacije (spyware alati) koriste skenere i pattern-matching softvere radi pretrage za znakovima zlonamernog (malaware) kôda.
Napadači ponekada skrivaju ove znakove koristeći dinamičko zamućivanje kôda (en. dynamic code obfuscation, DCO). DCO koristi algoritme koji dodaju slučajno generisan kôd u JavaScrip stranicu koja sadrži zlonamerni kôd. Dodati kôd ne utiče na način na koji preglednici prikazuju stranicu i ne čine zlonamerni kôd manje lošim, ali utiče na to kako ga antivirusni i slični softveri pronalaze.
DCO mutira kôd kroz vreme, te tako dodatno otežava antivirusnim proizvodima da ga pronađu.
Napadi zloupotrebjavaju propuste u preglednicima, poput buffer overflow-a, gde ostavljaju svoj tovar – virus, trojanac, crv ili drugi zlonamerni program – na žrtvin računar.
Pošto DCO utiče na posetioce aplikacija (ali i stranica) pisanih u JavaScriptu, posebna je pretnja za Web 2.0 aplikacije.
Web 2.0 crvi
Web 2.0 crvi provlače se u pozadini preglednika bez znanja korisnika i bez otvaranja novog prozora. Takvi crvi već su napadali MySpace i Yahoo! Mail aplikacije.
Samy crv je na MySpace-u bio aktivan 2006. godine. Autor je kreirao JavaScript kôd koja se učitavao u preglednik kada bi neko posetio zaraženu MySpace stranicu. U roku od jednog dana, Samy se raširio na više od milion stranica, uvećavajući količinu saobraćaja toliko da se MySpace morao privremeno ugasiti. Na sledećoj adresi može se videti detaljnije objašnjene funkcionisanja crva - http://namb.la/popular/tech.html. Crv naravno, ne radi više, tako da je nemoguće iskoristiti „uputstva“ data na ovoj stranici.
Yammanner crv je korišćen za spamovanje Yahoo! Mail korisnika. Kada korisnik otvori prilog pisma, crv je slao kopiju (van prozora preglednika) svima u kontakt listi korisnika.
Nažalost, ovo je samo vrh ledenog brega mogućih načina eksploatisanja web 2.0 crva.
Načini zaštite
Obzirom da zlonamerni kôd radi slično što bi i sam korisnik radio (prijava na bankovni sistem) veoma je teško za sigurnosne sisteme da naprave razliku. Korisnici bi trebalo da svoje preglednike dopunjavaju sigurnosnim zakrpama. Operatori moraju da zaštite svoje aplikacije zaštitnim zidovima i pravilima na nivou aplikacije (a ne samo protokola) i da koriste skenere kôda koji se izršava na serveru (ili koji server šalje klijentu). Ne treba zaboraviti ni dodatnu edukaciju programera i preduzeća da praktikuju bolje sigurnosne mehanizme, što na nivou kôda, što na nivou poslovnih procesa i upravljanja podacima.
Kao i uvek, napadi na web 2.0 i problemi koji se ovde pojavljuju, inspirisali su određene kompanije da razvijaju i prodaju alatke koje pronalaze i iskorišćavaju sigurnosne propuste u web 2.0 aplikacijama. Ovakvi skupovi alata koštaju od $100 do $1000, zavisno od njihovim mogućnosti.

Komentari (Bez komentara)