Kúl, nekem jobban tetszik, mint a PHP-s megoldás. Érdekes lehet még esetleg az ETag-en kívül a Last-Modified mezőben tárolni a követő kódot (amit a kliens készségesen visszaküld az If-Modified-Since-el)
Ha úgy készítjük el az oldalunkat, hogy kikapcsolt javascript mellett is teljesen működőképes, valamint nem linkelünk harmadik féltől tartalmat, kilőhetjük ezt a támadási/követési vektort.
Persze, de a legtöbb tracker "trójaiként" jön: ajánl valami ütős funkcionalitást a site-ra, ami miatt mégis érdemes elfogadni a harmadik féltől a tartalmat.
Ez olyan kicsit, mint kikapcsolni a böngészőben a cookie-kat. Véd, véd, de a fontos siteok 80%-a használhatatlanná válik tőle.
Azt nem értem, miért nem tiltják törvényileg az ilyesmit?
Lassan oda jutunk, hogy bekapcsolod a géped és a fél világ tudja, hogy éppen éhes vagy... Privátabb dolgokról nem is beszélve.
Hova jut így a web?!
Milyen törvény? Melyik országban?
Mert pár hónapja az NMHH igen tisztelt szakértőinél érdeklődtem, hogy is van az, hogy egyes oldalakon úgymond önvédelmi célból gyűjtik az azonosításomra alkalmas adatokat, gyakorlatilag bejelentkezés nélkül képesek azonosítani a konkrét böngészőt, ami manapság azért eléggé személyhez kötődő dolog.
NMHH válasza: teljesen szabályos és törvényes.
(más kérdés, hogy a szakértő akivel beszéltem, szerintem a tizedét sem fogta fel annak amit magyaráztam neki :( )
Nem azért a 20 fillérért, de az ilyesmi akkor hat, hogyha legalább egy konkrét személy kap érte valamennyi letöltendőt, és ezt a média kellőképpen felfújja. Persze ha ilyen történik, sosem az igazi bűnöst büntetik...
De nálunk az állatkínzásos törvény is ilyen hatású volt, csak nem emlékszem, hogy az illetők nem felfüggesztettet kaptak-e (de úgy emlékszem, egy letöltendő is volt). A lényeg: azóta sokkal kevesebb állatkínzás van, amíg viszont csak törvény volt, komoly ítélet nélkül, addig nem ért semmit.
Ezt kéne tenni a web tisztességessé tételéért is. A tapasztalat mutatja: a komoly büntetés számít, nem a fenyegetés vele.
Nézd meg, mit művel mondjuk egy androidos telefon!
A routeremen nézegettem egy darabig, de már beletörődtem. Túl drága volt, hogy emiatt kidobjam. :(
Egyébként most csak a lényegi részére koncentráltam az írásnak, nem tudom említette-e: a browser fingerprint legalább ennyire egyedi tud lenni, ha engedélyezed a javascriptet (bár sok helyen már önmagában a letiltott JS is egyedi ;) )
Ezt kivédem azzal, hogy kilépéskor automatikusan törlöm a cache-t. A fingerprint megkerülése macerásabb.
Most ez a trend, hogy mindenki posztot ír az ETags-es nyomonkövetésről? Lassan három éve, hogy kijött az Evercookie, akkor még úgy-ahogy újdonságnak számított.
Áhh, köszi! Már hónapok óta törtem a fejem, ki volt az a hacker srác, akit a google kitiltott valamelyik alrendszeréből, mert az oldalára belépőknek megmutatta, MAC address alapján hogy lehet belőni egy-egy wifi router pontos helyét...
A defcon18 -as előadásában mesél erről illetve arról, hogy konkrétan eltiltották mindenféle számítógéptől (nem csak google tiltotta ki). Az előadás 3. részében, 2:03 körül kezdődik a MAC address móka.
Szerintem inkább nevetséges, hogy 2013-ban ilyen szoftverektől várunk biztonságot. Valaki legyárt egy routert, vagy egy böngészőt, és senki nem ellenőrzi... Az overflow-os megkerülése a (webkit) böngészőnek az már tényleg vicc kategóriás volt... Na meg hogy a php munkamenet nem használ non predictable random pseudogeneratort (maximum pár biten) az szintén vicc kategória. Alapból gányolt a kódja, úgyhogy azok után, hogy egy normális apit képtelenek voltak összehozni, nem lepődtem meg, hogy tokent is képtelenek helyesen generálni. Elvileg az mcrypt_create_iv már képes rá, gyakorlatilag abban sem feltétlen bízom meg, de még mindig jobb, mint amit alapból kapunk.
Szerintem ez nem ilyen egyszerű. Te sem, én sem, és a PHP fejlesztői sem biztonsági szakemberek, ráadásul nem azon törjük a fejünket, hogy az általunk készített szoftverekkel milyen módon lehet visszaélni, hanem azon, hogy működjenek.
Természetesen választhatsz más nyelvet, de hidd el, ott is ugyanúgy lesznek ilyen jellegű hibák.
Nem érted a lényegét annak, amit írtam. Ha tervezek valamit, amit esetleg más is felhasználhat, akkor utánanézek, hogy hogyan kell, legfőképp a biztonsági kérdéseknek. Ha nem jól sikerül, akkor a következő verzióban javítom a hibát. Ha nem tudom megcsinálni rendesen, akkor nyújtok lehetőséget arra, hogy a közösség tagjaiból valaki olyan megcsinálja, aki ért is hozzá. A PHP esetében (ha még mindig ugyanígy generálják a session tokent, akkor) ezek közül semmi nem teljesült. (Csak halkan jegyzem meg, hogy komplett munkamenet kezelő helyett elég lenne fájl, cookie kezelés és unpredictable random number generator megléte, a többit a közösség összehozta volna egy nap alatt.)
Ezzel szemben pl a google - bár maga a szolgáltatás nagyon hasznos lett volna - inkább lekapcsolta, csak hogy ne nyújtson lehetőséget az ilyen jellegű támadásokra. Ők legalább felelősségteljesen viselkedtek.
https://github.com/php/php-src/blob/master/ext/session/session.c#L310 ugyanaz van a jelenlegi 5.5-ös php verzióban, semmit nem tettek ellene, ugyanúgy ip cím és idő alapján generálják a session id-t. Nézem tovább a kódot, hátha találok utalást arra, hogy "biztonságosabbá tették". Ezek után már megnézem az mrypt_create_iv-t is, bár az elméletileg külső entrópia forrást használ, ha jól van beállítva...
Ha jól nézem még lehet beállítani neki külső entrópia forrásnak fájlt, de nem hiszem, hogy erre gondolt biztonságossá tétel alatt, mert ez már elég régóta lehetőség. Sosem használtam c-t, úgyhogy néhány dolgot nem értek a kódban, de nem tűnik úgy, mintha bármi extra lenne azon kívül, amit elmondott a srác.
Nem folytam bele abba részletesebben. Két usec különbségét használja fel, gondoltam ugyanaz, mint amit a srác elmondott a videoban, mert ott is erről magyarázott. Ha gondolod belinkelem a kódját, nézd meg.
Az lcg seed ugyanaz az alap, szerintem a mod mult, amire gondolhatott. Megpróbálom visszapörgetni 5.3-as verzióra.
Az lcg-ben gyakorlatilag nem változott semmi 5.2 és 5.5 között. Na jó, én hagyom ezt a témát, máris több időt tettem bele, mint kellett volna. :-) Ha esetleg találsz valami érdekeset, akkor oszd meg! :-)
Az mcrypt_create_iv jó, mert a rendszer random szám generátorát használja. Az az egy gond van vele, hogyha nem sikerül mondjuk unix alatt elég entrópiát gyűjteni, akkor elszáll, aztán szerintem elég gáz, ha munkamenet létrehozáskor fatal errort dob a rendszer, hogy bocsi, de nem tudunk munkamenetet adni, várj, amíg elég entrópia összegyűlik... (Mindenesetre én most ezt használom token generálásra, aztán majd sűrűn nézem a log fájlt, hogy éles szerveren hogy szuperál. Szívesebben tolnám a pgsql crypto moduljával, de azt meg sajna nem tudják nekem bekapcsolni, azt mondták.)
Eszerint nem értek eléggé angolul, mert nem tűnt fel, hogy a google téma szóba került volna. :(
Az egyébként egy másik téma, hogy úgy általában eltiltották a gépektől (az oldala elég rég nem frissült és csak remélem, hogy sem most, sem korábban nem csempészett semmit a gépemre - ez kivételesen nem irónia, komolyan tartok a sráctól, mióta kissé utánaolvastam).
Nála lehetett próbálgatni, hogy mennyire könnyű megtalálni MAC alapján a google API segítségével egy router pontos helyét, aztán hirtelen megszűnt a szolgáltatás és csak egy üzenet volt a helyén, hogy a google kitiltotta őt. :)
Ja, én is azt néztem :D Ügyes a srác... Az evercookie óta nem nagyon frissült a blogja, gondolom megint eltiltották a gépektől pár évre, vagy hát valszeg ez a fedőneve annak, hogy az fbi "visszautasíthatatlan" munkát ajánlott :D
Kb ugyanaz, mint általában a közösségi oldalakkal. Mondjuk elmész nyaralni, mobillal fényképezel, ami automatikusan felteszi fb-ra a képeidet. Ezt látja az egész falu, közülük a betöréssel foglalkozó ismerőseid is, aztán amíg te nyaralsz, kipakolják a házadat.
Google vagy fb térinformatikai adatbázist csinál, hogy hol vannak olyan emberek sűrűn, akik szeretik a rózsaszín hellokittys cuccokat, a hellokitty megveszi az adatbázist, és hát nem pont oda rakja le az üzletét.
Senki sem szereti, ha a magánéletében turkálnak, márpedig, ha reggel a fb-ra, vagy a gmail-re, akkor valószínűleg az üzeneteit is feldolgozzák információ gyűjtés céljából. Gyakorlatilag mindent tudni fognak róla.
De szerintem még hosszan lehetne listázni, csak kreativitás kérdése, hogy mire lehet felhasználni ezeket az adatokat.
Kúl, nekem jobban tetszik,
Last-Modified
mezőben tárolni a követő kódot (amit a kliens készségesen visszaküld azIf-Modified-Since
-el)Dehát ugyanúgy működik
de, de ez python :) (szóval
Második rész :)
Védekezés
Persze, de a legtöbb tracker
Ez olyan kicsit, mint kikapcsolni a böngészőben a cookie-kat. Véd, véd, de a fontos siteok 80%-a használhatatlanná válik tőle.
Törvény
Lassan oda jutunk, hogy bekapcsolod a géped és a fél világ tudja, hogy éppen éhes vagy... Privátabb dolgokról nem is beszélve.
Hova jut így a web?!
A lopást is tiltja a törvény.
Tiltja ugyanúgy. Kommentben
Milyen törvény? Melyik
Mert pár hónapja az NMHH igen tisztelt szakértőinél érdeklődtem, hogy is van az, hogy egyes oldalakon úgymond önvédelmi célból gyűjtik az azonosításomra alkalmas adatokat, gyakorlatilag bejelentkezés nélkül képesek azonosítani a konkrét böngészőt, ami manapság azért eléggé személyhez kötődő dolog.
NMHH válasza: teljesen szabályos és törvényes.
(más kérdés, hogy a szakértő akivel beszéltem, szerintem a tizedét sem fogta fel annak amit magyaráztam neki :( )
Ja, csak nem szankcionálja...
De nálunk az állatkínzásos törvény is ilyen hatású volt, csak nem emlékszem, hogy az illetők nem felfüggesztettet kaptak-e (de úgy emlékszem, egy letöltendő is volt). A lényeg: azóta sokkal kevesebb állatkínzás van, amíg viszont csak törvény volt, komoly ítélet nélkül, addig nem ért semmit.
Ezt kéne tenni a web tisztességessé tételéért is. A tapasztalat mutatja: a komoly büntetés számít, nem a fenyegetés vele.
Nézd meg, mit művel mondjuk
A routeremen nézegettem egy darabig, de már beletörődtem. Túl drága volt, hogy emiatt kidobjam. :(
Egyébként most csak a lényegi részére koncentráltam az írásnak, nem tudom említette-e: a browser fingerprint legalább ennyire egyedi tud lenni, ha engedélyezed a javascriptet (bár sok helyen már önmagában a letiltott JS is egyedi ;) )
Ezt kivédem azzal, hogy kilépéskor automatikusan törlöm a cache-t. A fingerprint megkerülése macerásabb.
Most ez a trend, hogy
off
How i met your girlfriend, DEFCON 18
Király ez az előadás,
Nem király
Szerintem inkább nevetséges,
Szerintem ez nem ilyen
Természetesen választhatsz más nyelvet, de hidd el, ott is ugyanúgy lesznek ilyen jellegű hibák.
Nem érted a lényegét annak,
Ezzel szemben pl a google - bár maga a szolgáltatás nagyon hasznos lett volna - inkább lekapcsolta, csak hogy ne nyújtson lehetőséget az ilyen jellegű támadásokra. Ők legalább felelősségteljesen viselkedtek.
A videóban elhangzik, hogy az
https://github.com/php/php-sr
Ha jól nézem még lehet beállítani neki külső entrópia forrásnak fájlt, de nem hiszem, hogy erre gondolt biztonságossá tétel alatt, mert ez már elég régóta lehetőség. Sosem használtam c-t, úgyhogy néhány dolgot nem értek a kódban, de nem tűnik úgy, mintha bármi extra lenne azon kívül, amit elmondott a srác.
A php_combined_lcg() is ott
php_combined_lcg()
is ott van, ennek kell utánajárni. Az idő fontos szorzó, főleg a tv_usec.Nem folytam bele abba
https://github.com/php/php-src/blob/master/ext/standard/lcg.c#L55
Nekem nem tűnt fel semmi se ebben se a session id készítőben, de én csak átfutottam...
Én is épp a kódot túrom.
Az lcg seed ugyanaz az alap,
Az lcg-ben gyakorlatilag nem változott semmi 5.2 és 5.5 között. Na jó, én hagyom ezt a témát, máris több időt tettem bele, mint kellett volna. :-) Ha esetleg találsz valami érdekeset, akkor oszd meg! :-)
https://github.com/php/php-sr
Az mcrypt_create_iv jó, mert a rendszer random szám generátorát használja. Az az egy gond van vele, hogyha nem sikerül mondjuk unix alatt elég entrópiát gyűjteni, akkor elszáll, aztán szerintem elég gáz, ha munkamenet létrehozáskor fatal errort dob a rendszer, hogy bocsi, de nem tudunk munkamenetet adni, várj, amíg elég entrópia összegyűlik... (Mindenesetre én most ezt használom token generálásra, aztán majd sűrűn nézem a log fájlt, hogy éles szerveren hogy szuperál. Szívesebben tolnám a pgsql crypto moduljával, de azt meg sajna nem tudják nekem bekapcsolni, azt mondták.)
A gyakorlatban komoly
Komoly. Már csak az a kérdés,
Eszerint nem értek eléggé
Az egyébként egy másik téma, hogy úgy általában eltiltották a gépektől (az oldala elég rég nem frissült és csak remélem, hogy sem most, sem korábban nem csempészett semmit a gépemre - ez kivételesen nem irónia, komolyan tartok a sráctól, mióta kissé utánaolvastam).
Nála lehetett próbálgatni, hogy mennyire könnyű megtalálni MAC alapján a google API segítségével egy router pontos helyét, aztán hirtelen megszűnt a szolgáltatás és csak egy üzenet volt a helyén, hogy a google kitiltotta őt. :)
Ja, én is azt néztem :D Ügyes
CIA
Igazából én a Keresztapában
JS
JS
Hogyan?
Az Evercookie robusztusabb,
Az Evercookie egy proof of
Ami ellen a böngészők egyébként elég korrektül védekeznek, privát módban nem küldenek ETags fejléceket.
Nekem a chrome küld ETag
Na fasza :D Én jobb
Ehhez képest
Naiv kérdés
Magánélet hiánya
Kb ugyanaz, mint általában a
Google vagy fb térinformatikai adatbázist csinál, hogy hol vannak olyan emberek sűrűn, akik szeretik a rózsaszín hellokittys cuccokat, a hellokitty megveszi az adatbázist, és hát nem pont oda rakja le az üzletét.
Senki sem szereti, ha a magánéletében turkálnak, márpedig, ha reggel a fb-ra, vagy a gmail-re, akkor valószínűleg az üzeneteit is feldolgozzák információ gyűjtés céljából. Gyakorlatilag mindent tudni fognak róla.
De szerintem még hosszan lehetne listázni, csak kreativitás kérdése, hogy mire lehet felhasználni ezeket az adatokat.