Evercookie - cookie-uri ubicuoase
Cum functioneaza cookie-urile
Răspunsul serverului arată ca ieșirea paginii solicitate pe ecran, dar, împreună cu acesta, merge răspunsul HTTP, unde poate conține o comandă conform căreia browserul va salva modulele cookie:
Dacă șirul Set-cookie este prezent în răspunsul serverului, atunci browserul specificat în el asociază numele = value (name = value) cu valoarea și îl adaugă la fiecare interogare ulterioară.
Flash cookie-uri
În aceste scopuri, în plus față de cookie-urile HTTP clasice, în care toată lumea și-a stăpânit deja, se folosesc locuri alternative de stocare a informațiilor, pe care le înregistrează browser-ul pe computerul utilizatorului. Primul lucru despre care trebuie să vorbim este stocarea atât a Flash-ului bun, cât și a celui rău, atunci când este instalat pe computerul utilizatorului. Datele sunt înregistrate în așa-numitele fișiere LSO (Obiectivele locale comune) - sunt similare în format cu cookie-urile și sunt stocate pe computerele utilizatorilor locali. Schema de lucru cu ei în browser este similară în multe privințe cu lucrul cu "cookie-uri", în aceste fișiere este stocată și o mică intrare de text, dar cookie-urile Flash au un număr de avantaje:
- Capacitatea de a lucra cu fișierele LSO este disponibilă pentru toate browserele instalate pe computer (cookie-urile normale sunt legate de un singur browser). Comună pentru toate sunt informațiile despre sesiune și un anumit identificator oferit acestui utilizator pentru urmărirea acestuia.
- Flash cookie-urile fac posibilă salvarea multor setări diferite de utilizatori și informații despre acestea, deoarece fișierele din depozit pot avea de obicei o capacitate de până la 100 KB.
Imediat afișează întregul set de resurse care sunt interesați să țină legătura cu vizitatorii, chiar dacă decid brusc să curețe memoria cache a browserului lor împreună cu "cookie-urile".
Evercookie: Cookie-urile de pretutindeni
Dezvoltatorii mai mult sau mai puțin competenți și utilizatorii avansați știu adesea despre schema LSO, dar mulți oameni pur și simplu nu știu despre o varietate de tehnici noi pentru stocarea informațiilor și etichetarea datelor. Și ele sunt adesea destul de inteligente, dar foarte productive. De exemplu, repositorele nou dezvoltate care au apărut în HTML5 (Session Storage, Storage Local, Storage Global, Storage Database via SQLite).
Secretul tehnologiei este de a folosi pentru stocarea informațiilor disponibile tuturor stocării browserului: containere HTML5, LSO mai sus menționate și cookie standard HTTP. În plus, Everscookie folosește de asemenea tehnici exclusive care lasă amprenta pe computer. Există multe dintre aceste opțiuni - generarea de imagini PNG personale, utilizarea istoricului browserului și stocarea datelor în containerele ETag și userData, acesta din urmă fiind disponibil numai în Internet Explorer.
Eficacitatea evercookie poate fi testată prin experiența pe site-ul dezvoltatorului samy.pl/evercookie. Există un buton cu inscripția "Faceți clic pentru a crea un evercookie", după ce faceți clic pe acesta, un cookie cu un număr aleatoriu generat va fi înregistrat în computer. Apoi trebuie să treceți prin browser și alte aplicații, eliminând cookie-urile și ștergând cache-ul oriunde puteți.
Cel mai probabil utilizatorul va fi limitat prin eliminarea cookie-urilor în setările browser-ului, și va fi sigur că totul poate fi curățat. Dar chiar și reîncărcați pagina sau să închideți și să redeschideți browserul făcând clic pe «Click pentru a redescoperi cookie-uri» miracol - site-ul în cazul în care datele sunt reînviat și a dat un număr, care este stocat într-un cookie.
Dar totuși a fost ștearsă? Cum sa întâmplat asta? Să examinăm mai atent tehnologiile implicate în bibliotecile evercookie și similare.
Grafic cookie-uri
Această tehnică are un interes deosebit, deoarece folosește o abordare non-standard - stocarea informațiilor în memoria cache prin intermediul imaginilor PNG. Când procesul de scriere a cookie-urilor se face de către biblioteca evercookie, se referă la scriptul evercookie_png.php cu un "cookie" special care conține text diferit de informațiile despre sesiune standard. Acest text este citit de un script de program PHP, care creează o imagine în format *. PNG, în culorile selectate care vor fi codificate informații despre vizita resursei. Ca urmare, fișierul este trimis utilizatorului pe computer cu o notă despre stocare pentru o perioadă de 20 de ani. După ce se șterg cookie-urile HTTP speciale.
După ce primește următoarea solicitare de la utilizator, evercookie efectuează același lucru ca și în primul caz cererea către scriptul PHP, dar în acest caz nu sunt furnizate date de utilizator. Scriptul nu poate genera o imagine PNG, din cauza lipsei de informații, iar browserul primește un răspuns HTTP fals "304 Not Modified", după care browserul trebuie să scoată fișierul din memoria internă memorie cache. Acest fișier conține, de asemenea, aceeași imagine care este trimisă la resursă și accesează pagina sub eticheta HTML5 Canvas. În prezent, nu este dificil să extrageți valorile RGB, citiți la rândul său toți pixelii desenului Canvas și restaurați cookie-urile originale salvate. Toate ingenioase sunt simple!
Cascadorie cu istorie
Da, dezvoltatorii de browsere nu le pasă de securitatea noastră pe Web.
Haide, scoate-l!
Și ce se întâmplă dacă utilizatorul își uzează toate cookie-urile? La aceasta, biblioteca evercookie ascunde ultima armă puternică. Locurile diferite de stocare a datelor, iar acum sunt zece, sunt conectate astfel încât dacă cookie-urile sunt lăsate în cel puțin una dintre ele, în toate celelalte vor fi restaurate automat.
De exemplu, - în cazul în care utilizatorul preia problema bine și curățați cookie-urile standard, datele LSO, verificați HTML5-stocare (care este rar), este încă în sistem va trăi cookie-uri, salvat ca PNG sau istoricul web. Vizitați site-ul data viitoare, s-ar putea găsi că sistemul nu recunoaște numai evercookie cu ușurință, dar a reînviat șters toate anterior.
Aici merită menționat un transfer interesant de "cookie-uri" între diferite browsere instalate în același sistem de operare. Dacă puteți salva informații în Obiectul comun partajat, cookie-urile vor fi redate în alte browsere.
În plus față de metodele detaliate de stocare a datelor, evercookie utilizează tehnologia de stocare izolată implementată în Silverlight și poate fi, de asemenea, "moștenită" prin intermediul applet-ului Java.
Cum să aplicați?
Evercookie bibliotecă este situat pe Internet în domeniul public, astfel încât oricine poate descărca și de a explora și personaliza pentru a se potrivi nevoilor dumneavoastră. Prin angajarea server toate cerințele nu numai trebuie să aibă acces la JS-scenariu în care codul este stocat și evercookie. Dacă doriți să utilizați stocarea flash-kukisyi în LSO, dosarul cu script-ul, verificați pentru evercookie.swf fișier și opțiuni pentru lucrul cu magazia și ETag cache PNG responsabil script PHP și evercookie_etag.php evercookie_png.php.
Puteți seta munca evercookie pe orice pagină a resursei prin conectarea scriptului Java corespunzător:
Există un mod alternativ și mai avansat de generare și salvare a modulelor cookie pe baza funcției de apel invers. Capacitățile sale constau în extragerea Cookie-urilor din toate depozitele și compararea lor între ele.
Pe o varietate de resurse, biblioteca evercookie și-a dovedit deja eficacitatea, și cea mai populară printre magazinele online, organizatorii votării și alții. Cu toate acestea, dezvoltatorii web ar trebui să acorde atenție la două puncte importante. Alte domenii pot, de asemenea, să ia în considerare stocarea cookie-urilor evercookie și să obțină acces la informații confidențiale, ceea ce înseamnă că nu le puteți stoca în acest fel. Iată ce puteți vedea în primele linii ale informațiilor despre fișier din biblioteca evercookie.js:
Și al doilea - unele antivirusuri nu vor permite utilizatorilor site-uri care utilizează această tehnologie. De exemplu, Kaspersky identifică scriptul evercookie ca spyware.
Accesibilitatea universală a bibliotecii devine un pic alarmantă, mai ales atunci când modalitățile de abordare a acesteia nu sunt deosebit de vizibile.
Păstrează apărarea.
Probleme cu golirea memoriei cache și Flash nu apare, dar pentru a curăța toate urmele de evercookie, va trebui să muncească din greu, pentru că așa cum sa menționat mai sus, dacă uitați „cookie“ cel într-un singur loc, toate valorile script-ul va fi restabilită în toate locațiile de stocare disponibile.
Merită să ne gândim la acest lucru, deoarece în viitorul apropiat biblioteca este promisă să adauge mai multe tehnologii pentru etichetarea și stocarea datelor:
- Utilizarea memoriei cache în autentificare HTTP;
- Utilizați Java pentru a genera o valoare numerică unică care va fi marcată de un anumit PC.
Și în concluzie ...
După cum sa dovedit, evercookie este deja departe de o bibliotecă unică de acest gen. Ea vine pe tocuri, și poate chiar și în ceva superior lui Panoptisklick. Despre ea și metodele de combatere a acțiunilor ei, puteți găsi informații pe Web.
P.S. Pe câmpul de cookie-uri sunt desfășurate bătălii întregi, unde războiul se desfășoară într-adevăr și scutul se confruntă cu sabia. Consecința popularității bibliotecii a fost apariția unor produse destinate combaterii acesteia. Utilitate. Mil Shield nu numai că va curăța tot ceea ce a existat, dar va face și mai mult dacă credeți promisiunea misterioasă a dezvoltatorilor.