2009. december 2., szerda

Cookie-k vs. anonimitás

Egy tesztelős munka kapcsán felmerült igényként, hogy amit csinálunk, azt csináljuk nagyon szépen: lehetőleg semmilyen módon ne lehessen tudni, hogy amit tesztelünk (konkrétan egy webapp), azt honnét teszteljük. Nyilvánvalóan nem lehet bizonyos információkat kiküszöbölni az egyenletből, például az ügyfél webszerverén a beérkező HTTP-kéréseket mindenképpen naplózni fogják - egy gömbölyű világban, persze.

A munka meglehetősen kézenfekvő módon indult: ToR-on keresztül ingyenes e-mail fiók regisztrálása a freemail-en, majd elkezdtük nézegetni a célpontot. Nézelődés közben a webscarab minden HTTP-kérést naplózott a tesztelő gépen, és némileg meglepő felfedezésre jutottunk (nyilván nem meglepő a szó hagyományos értelmében, ugyanis tulajdonképpen teljesen logikus): a cookie-k és a proxyeszközök nem kellőképp elővigyázatos alkalmazása megöli az anonimitást. Miért?

Tegyük fel, hogy néha csalunk tesztelés közben, rá-ránézünk az indexre és a secfocusra, ilyenkor pedig nincs kedvünk kivárni, hogy a ToR-on keresztül töltődjön minden. Ilyenkor átkapcsoljuk foxyproxyval a firefoxot az alap kapcsolat használatára - és itt romlik el minden. Ugyanis az, hogy böngészőnk ablakában ott nyugszik a vizsgált alkalmazás, nem jelenti azt, hogy nem is fog forgalmazni feléje: sok modern webapp esetén automatizáltan lekérdez ezt-azt a böngészőnk, míg a mappelőszkript fut egy másik terminálon. A "mellékes" forgalmazás közben pedig az addigi sessionben fogunk forgalmazni, azaz megsüthetjük az anonimitásunkat. Nyilván triviális a megoldás - tessék másik böngészőt használni. Nem másik böngészőablakot nyitni, hanem totálisan másik böngészőt, pl. Firefox helyettt Operát linuxon. Vagy linkset.

A cookie-k ott jönnek igazán képbe, amikor csak a tesztelés szaftosabb részeiben használunk ToR-t: lassú a dolog, emiatt a mappelést és az inputok azonosítását a normál kapcsolaton keresztül végezzük, csak a ' or 1=1 or '-jellegű szúrkálás során alkalmazunk ToR-t. Ez akkor veszélyes, ha a cookie-kat nem töröljük váltáskor, ugyanis a böngészőnk ugyanúgy el fogja küldeni a cookie-t, hiszen ugyanabban a domainbe küld HTTP-kérést, akár ToR-on keresztül teszi ezt, akár nem. Ezzel viszont kapcsolat teremthető ToR és a "mezei" kapcsolat között - azaz bukik az anonimitás.

Harmadrészt ki az, aki mindent tud rólunk? Igen, a Google. A safebrowsing (most már phishing filternek hívják) funkció használata során az új domainekbe irányuló kérések kiadása előtt a böngészőnk ellenőrzi, hogy az adott domainen orosz üzletemberek üzemeltetnek-e adathalász oldalt, és ha igen, nagyon nehezen engedi oda a felhasználót. A safebrowsing funkció tehát tájékoztatja a google-t arról, hogy milyen URL-eket nézegetünk meg - persze csak akkor köthető konkrét személyhez, ha a standard google tracking cookie-k engedélyezve vannak (azaz pl. be vagyunk lépve a google-birodalomba, vagy egyszerűen csak nincsenek letiltva a cookie-k en bloc). A kép akkor lesz teljes, ha végiggondoljuk, hogy a cookie információk (és a safebrowsing) ugyanazon a csatornán megy keresztül, mint a "normál" adatforgalom - emiatt a google-nél pontos nyilvántartást lehet vezetni arról, hogy milyen domaineket látogatunk meg és az is, hogy milyen IP-ről. Sőt: a google analytics-es tracking javascript, amit számtalan oldal kódjába előzékenyen beszúrnak az oldalak üzemeltetői, pontosan ugyanezt tudja megtenni.

2 megjegyzés:

  1. Hasznos post. Megjegyezném cookie törlésnél a flash cookie-k nem törlődnek.(betterprivacy kiegészítő)

    VálaszTörlés
  2. Érdekes téma, és igen, egyetértek anonym kommentelővel, hogy a flash cookiek nem törlődnek.

    VálaszTörlés

Kommentek