Bug Online

Digitalna radionica - Twitter crvi

Crvljivi cvrkutavac

Sredinom travnja Twitter, popularna društvena mreža, našla se u sredini medijske pažnje. Sedamnaestogodišnjak Michael Mooney odlučio je tako jedan dan napisati jednostavan crv koji napada Twitter i iskorištava sigurnosnu ranjivost u ovom servisu. Crv se izrazito brzo proširio po profilima nedužnih korisnika Twittera te ukazao na neke ključne sigurnosne probleme ovog popularnog servisa. Stručnjaci za računalnu sigurnost s pravom su se zapitali jesu li programeri Twittera obratili ikakvu pažnju na računalnu sigurnost jer je riječ bila o nekim zbilja trivijalnim ranjivostima. Pa da vidimo o čemu se ovdje radilo.
Ranjivost koju je Mooney iskoristio poznata je pod imenom Cross Site Scripting (XSS). Riječ je o ranjivosti web aplikacija koja je poznata već godinama. Na žalost, čak i velik broj stručnjaka za računalnu sigurnost ignorira XSS ranjivosti koje se smatraju dječjima, tj. da ne mogu značajnije narušiti sigurnost sustava. Naravno, kao i sa svim u životu, i ovdje je riječ o specifičnim slučajevima – ovisno o okruženju, XSS ranjivosti mogu biti manje ili više opasne, što je pokazao i Mooney svojim vrlo jednostavnim JavaScript crvom koji je iskorištavao upravo XSS ranjivost Twitter servisa.

Enkodiranje ispisaOsnova XSS ranjivosti je u nepostojanju ispravnog enkodiranja ispisa web aplikacije koji se bazira na korisnikovom unosu. Ovo je još jednostavnije objasniti na primjeru Twittera, gdje svaki korisnik unosi određene podatke. Konkretan dio koji je crv napao bio je u profilu gdje korisnici mogu upisivati neke detalje o sebi. Twitter web aplikacija tako dozvoljava korisnicima unos bilo kojeg teksta koji se zatim automatski prikazuje bilo kojem posjetitelju profila. Sigurnosna ranjivost je u nepostojećem enkodiranju ispisa, što se najlakše može objasniti na primjeru: zamislite da maliciozni korisnik pod svoj opis upiše sljedeći tekst: “<h1>Mreza</h1>“. Poznavatelji HTML-a među vama odmah će uočiti tagove za naslov (h1 – heading 1). Ovaj će HTML kôd uzrokovati ispisivanje teksta Mreza velikim slovima, odnosno stilom odabranim za naslove.
Drugim riječima, maliciozni korisnik može upisati proizvoljni HTML kôd koji će zatim renderirati web preglednik legitimnog korisnika koji posjećuje maliciozni profil. Naravno, ubacivanje samo HTML-a malicioznom korisniku možda samo omogućava mijenjanje sadržaja stranice, što i nije jako zanimljivo (osim ako je riječ o vrlo bitnoj stranici, kao što je jednom davno bila riječ o CNN-u koji je bolovao od iste ranjivosti). Puno više mogućnosti maliciozni korisnik ima ubacivanjem JavaScript kôda jer će se on izvršiti u kontekstu navedenih web stranica. Ovakvi se napadi tipično koriste za krađu autentifikacijskih podataka (npr. JavaScript kôd može ukrasti autentifikacijski kolačić koji zatim napadaču omogućava prijavljivanje na sustav). U slučaju Twitter crva, JavaScript kôd bio je tako napisan da je automatski modificirao profil prijavljenog korisnika (korisnika koji posjećuje maliciozni profil) u koji je dodao – pogađate – sebe. Na ovaj način crv se mogao vrlo jednostavno širiti, što mu je i pošlo za rukom.

Napomena: Članci iz časopisa se ne prenose uvijek kompletni, sa svim slikama, potpisima pod slike, okvirima, tablicama i sličnim. Ponekad se ne prenosi niti cijeli tekst članka. Svrha članaka na Webu jest da pruže uvid u način obrade teme i potaknu interes za proučavanjem tiskanog broja. Za cjelovit uvid u članke - savjetujemo da pogledate papirnato izdanje časopisa. Hvala.
U zadnjih nekoliko mjeseci popularnost Twittera, društvene mreže i mikroblogerskog servisa, strelovito je porasla. Uz popularnost, servis su međutim opustošili i crvi koji su ukazali na neke fundamentalne sigurnosne probleme koje su programeri Twittera nažalost zanemarili

izdvojeni tekstovi - srpanj 2009.

Twitter crvi

Crvljivi cvrkutavac sri 10.6.2009

Black Hat Europe 2009

Profesionalno hakerstvo sri 10.6.2009

DORS/CLUC 2009

Otvoreno i kompetentno sri 10.6.2009

Budućnost Symbiana

Maksimalno proširenje sri 10.6.2009

emoze

Kome treba Blackberry? sri 10.6.2009

Microsoft Visual Studio 2010 Beta 1

I od boljeg bolje sri 10.6.2009

Blue Coat PacketShaper 1700

Oblikovanje prometa sri 10.6.2009

HP BladeSystem c3000

Za kratke s prostorom ali dubokog džepa sri 10.6.2009

Viktor Marohnić i Saša Šarunić, Pet minuta d.o.o.

Poduzetnici iz garaže sri 10.6.2009

IT u regiji

Za petinu manje računala sri 10.6.2009

Recro-Net & Tuzla Wireless City

Wireless na zrnu soli sri 10.6.2009

Interxion (Vienna)

Gdje Internet živi sri 10.6.2009

TM Forum Management World 2009, Nica

Na visokoj nozi sri 10.6.2009

IT i globalna kriza

Isto, samo suprotno sri 10.6.2009

Oleg Maštruko

Čimbenik malog oblika sri 10.6.2009

Small form factor računala

Manje je više sri 10.6.2009