Szakmai körökben ismert tény, hogy a titkosításokat legtöbbször nem feltörik, hanem megkerülik. Ugyanez általánosítva is igaz szinte az összes informatikai biztonsági technikai védelemre: sokszor egyszerűbb megkerülni, mint feltörni. Főleg akkor, ha mi felhasználók magunk is aktívan és készséggel közreműködünk ebben.
A Facebookon egyre gyakrabban bukkannak fel ugyanazt a trükköt használó alkalmazások, amelyek a böngészők same origin policy-jébe (SOP), és a Facebook fejlesztői interfészébe épített védelmeket nem feltörik, hanem egyszerűen megkerülik a felhasználó segítségével. Az SOP azt biztosítja, hogy egymás mellett futó, de különböző helyről származó (értsd: betöltött) alkalmazások (web oldalak) nem látják egymás bizalmas adatait (Cookie-k, változók), míg a Facebook api-ja (programozói felület) a Facebookon tárolt adatokhoz és szolgáltatásokhoz csak ellenőrzött és feljogosított kéréseket engedélyeznek.
A támadó alkalmazás a Facebookon különböző változatokban terjed: két kép között a különbségeket vagy egy nehéznek tűnő kérdésre a választ kell megtalálni, vagy mint a legutóbbi esetben, egy pluszszolgáltatás ígéretével (láthatod, ki nézte meg a profilodat) csapja be a felhasználót. Ami ezekben az alkalmazásokban közös, hogy a helyes válasz megjelenítéséhez vagy a kért funkció eléréséhez a felhasználó segítségét kéri: először a Ctrl-C-t kell leütni, majd az Alt-D, végül a Ctrl-V-t és ENTER-t kell leütni és kész.
Az ártatlan segítségnyújtással viszont éppen a beépített védelmeket kerüljük meg, amin a program magától nem tudna átjutni. Ugyanis a Ctrl-C leütésével egy előre kijelölt és kódolt javascript programot helyezünk a vágólapra, az Alt-D leütésével kiválasztjuk a navigációs sort, majd a Ctrl-V és ENTER párossal beillesztjük és lefuttatjuk a javascript programot.
Ami számunkra csak pár kattintásra és billentyűleütés távolságra van, az a böngészők fenti biztonsági védelmei miatt áthatolhatatlan messzeségben vannak, ugyanis a Facebookon az alkalmazás egy beágyazott korlátozott futtatókörnyezetben működik, ahonnan a Facebookot csak ellenőrzött és korlátozott programhívásokon keresztül tudja elérni. A javascript program böngészősorba való másolásával ezeket a védelmeket kerüli ki a felhasználó.
A javascript kód visszafejtésével kiderült működési mechanizmusa is: a bejelentkezett Facebookos felhasználó NEVÉBEN annak kattintásait programból emulálva úgy tesz, mintha a felhasználó használná a Facebook felületét. A vizsgált program ebben az esetben ártalmatlan dologra veszi rá a felhasználót: egy adott oldalt megjelölt kedvencünkként és ismerőseinknek is ajánlja azt. Ugyanakkor fontos megjegyezni, hogy ugyanezzel a technikával egyéb kártékony feladatot is el lehet végeztetni a felhasználó nevében és ezek az alkalmazások már valahol készülnek... Tekintsük úgy az elmúlt napok eseményeit, mint egy nagyobb terv tesztelését..
„Ennek a végül is ártalmatlan történetnek is van néhány fontos tanulsága” – vonta le a következtetést Bártfai Attila a kancellar.hu üzletfejlesztési igazgatója. Először is, aki még nem tudná, a böngésző címsorában is lehet programot futtatni, ami az adott oldalon elérhető minden védett tartalmat elér, ezért onnan javascriptet futtatni csak akkor szabad, ha tudjuk mit csinálunk. Minden olyan szöveget óvatosan kezeljünk, ami „javascript:” karakter sorozattal kezdődik. Ökölszabályként inkább ne is írjunk be ilyen kezdetű szövegeket a címsorba.
Másodszor, ismét egy jó példát látunk arra, hogy miért fontos a tervezés során már a biztonsági szempontokat figyelni. A címsorban való programfuttatás egy nem kellően végiggondolt ötlet, aminek meglétét nem támasztja alá valós forgatókönyv.
Néhány böngészőt megvizsgálva sajnos nincs nyoma annak, hogy a javascriptet szelektíven a címsorban lehetne tiltani. Azaz vagy letiltjuk teljesen és akkor újra a web hőskorában találjuk magunkat, gyakorlatilag használhatatlan webbel, vagy engedjük teljesen és figyelünk arra, amit csinálunk. Mi ez utóbbit javasoljuk most és úgy általában is.