Можно сколько угодно заморачиваться о своей анонимности, использовать прокси и VPN, подделывать заголовки HTTP-запросов, выдающие используемую систему, версию браузера, часовой пояс и море другой инфы, но у веб-сайта все равно останутся способы распознать факт того, что ты на нем уже бывал. Во многих случаях это не особо критично, но только не в ситуации, когда на каком-то сервисе необходимо представиться другим пользователем или банально сохранить анонимность.
В этой теме хотелось поговорить про так называемые «неубиваемые куки», в вкратце рассмотрим принцип действия и как защититься, кому это необходимо !
Для того-чтобы максимально идентифицировать пользователя, разработчики используют всякие ухищрения, о которых многие пользователи даже не подозревают. В ход идут самые продвинутые уловки.
Все дело в том, что помимо обычных HTTP «плюшек», к которым все давно привыкли, сейчас активно используются альтернативные хранилища, где браузер может записать данные на стороне клиента. Первое, что нужно упомянуть — это хранилище любимого и ненавистного одновременно Flash (для тех пользователей, у которых он установлен). Данные хранятся в так называемых LSO (Local Shared Objects) — схожих с cookies по формату файлах, которые сохраняются локально на компьютере пользователя. Подход во многом аналогичен обычным «плюшкам» (в этом случае на компьютере пользователя точно так же сохраняется небольшое количество текстовых данных), но имеет некоторые преимущества:
- Flash-cookies являются общими для всех браузеров на компьютере (в отличие от классической cookie, которая привязана к браузеру). Настройки, информация о сессии, как и, скажем, некий идентификатор для отслеживания пользователя, не привязываются к какому-то конкретному браузеру, а становятся общими для всех.
- Flash-cookies позволяют сохранять намного больший объем данных (как правило, 100 Кб), что увеличивает количество настроек пользователя, доступных для сохранения.
А теперь попробуй взять любой просмотрщик, например, бесплатный
2) Кукисы повсюду: evercookie:
Но если об LSO слышали продвинутые пользователи и мало-мальски хорошие разработчики, то о существовании других техник хранения и крапления данных, подчас очень изощренных (но действенных), многие даже не подозревают. Взять хотя бы новые хранилища, которые появлялись в HTML5 (Session Storage, Local Storage, Global Storage, Database Storage via SQLite).
Этой проблемой всерьез заморочился польский специалист по безопасности Samy Kamkar. В результате на свет появилась специальная JavaScript-библиотека
Секрет в том, что evercookie использует сразу все доступные для браузера хранилища: обычные HTTP-кукисы, LSO, а также контейнеры HTML5. Кроме того, в ход идет несколько хитрых приемов, которые с не меньшим успехом позволяют оставить на компьютере желанную метку. Среди них: генерация особых метящих PNG-изображений, использование history вашего браузера, хранение данных с помощью тега ETag, контейнер userData в Internet Explorer — оказывается, что вариантов-то очень много.
Как только такие cookies удалят из одного места (Например из кэша браузера), он тут-же восстанавливается из другова места !
Использование: Библиотека Evercookie полностью открытая, поэтому ты можешь
Использовать evercookie можно на любой страничке сайта, подключив следующий js-скрипт:
Есть также другой способ получения кукисов, основанный на использовании более продвинутой callback-функции. Это позволяет извлечь значения кукисов из различных используемых хранилищ и сравнить их между собой:
Ну ладно с устройством и принципом действия мы разобрались, теперь как защититься:
Для начала хочется высказать своё отношение к этой технологии, лично я-бы её не стал использовать, т.к. многие антивирусы (Такие как Кашмарский, Дохтор веб) палят такие скрипты, это во первых, а во вторых эти куки — кросс-доменные, и хранить в них конфиденциальную инфу никак нельзя.
В этой теме хотелось поговорить про так называемые «неубиваемые куки», в вкратце рассмотрим принцип действия и как защититься, кому это необходимо !
Для того-чтобы максимально идентифицировать пользователя, разработчики используют всякие ухищрения, о которых многие пользователи даже не подозревают. В ход идут самые продвинутые уловки.
Рассмотрим некоторые из них:
1) Flash-куки:Все дело в том, что помимо обычных HTTP «плюшек», к которым все давно привыкли, сейчас активно используются альтернативные хранилища, где браузер может записать данные на стороне клиента. Первое, что нужно упомянуть — это хранилище любимого и ненавистного одновременно Flash (для тех пользователей, у которых он установлен). Данные хранятся в так называемых LSO (Local Shared Objects) — схожих с cookies по формату файлах, которые сохраняются локально на компьютере пользователя. Подход во многом аналогичен обычным «плюшкам» (в этом случае на компьютере пользователя точно так же сохраняется небольшое количество текстовых данных), но имеет некоторые преимущества:
- Flash-cookies являются общими для всех браузеров на компьютере (в отличие от классической cookie, которая привязана к браузеру). Настройки, информация о сессии, как и, скажем, некий идентификатор для отслеживания пользователя, не привязываются к какому-то конкретному браузеру, а становятся общими для всех.
- Flash-cookies позволяют сохранять намного больший объем данных (как правило, 100 Кб), что увеличивает количество настроек пользователя, доступных для сохранения.
А теперь попробуй взять любой просмотрщик, например, бесплатный
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
и посмотреть, сколько всего интересного записано в хранилищах Flash.:)2) Кукисы повсюду: evercookie:
Но если об LSO слышали продвинутые пользователи и мало-мальски хорошие разработчики, то о существовании других техник хранения и крапления данных, подчас очень изощренных (но действенных), многие даже не подозревают. Взять хотя бы новые хранилища, которые появлялись в HTML5 (Session Storage, Local Storage, Global Storage, Database Storage via SQLite).
Этой проблемой всерьез заморочился польский специалист по безопасности Samy Kamkar. В результате на свет появилась специальная JavaScript-библиотека
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
, которая специально создана для того, чтобы создавать максимально живучие кукисы в браузере. Кто-то может спросить: «Зачем это нужно?». Очень просто: для того, чтобы однозначно идентифицировать любого, даже самого хитровыученного посетителя страницы, если он придет вновь. Такие сложно убиваемые кукисы часто называются Tracking cookies и даже определяются некоторыми антивирусами как угроза приватности. Иначе говоря, использование сайтом библиотек типа evercookie может свести на нет все ваши попытки остаться анонимным к нулю.Секрет в том, что evercookie использует сразу все доступные для браузера хранилища: обычные HTTP-кукисы, LSO, а также контейнеры HTML5. Кроме того, в ход идет несколько хитрых приемов, которые с не меньшим успехом позволяют оставить на компьютере желанную метку. Среди них: генерация особых метящих PNG-изображений, использование history вашего браузера, хранение данных с помощью тега ETag, контейнер userData в Internet Explorer — оказывается, что вариантов-то очень много.
Как только такие cookies удалят из одного места (Например из кэша браузера), он тут-же восстанавливается из другова места !
Использование: Библиотека Evercookie полностью открытая, поэтому ты можешь
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
, подгонять под свои нужды. К серверу не предъявляется никаких серьезных требований. Все что нужно — это доступ к JS-сценарию, в котором содержится код evercookie. Чтобы использовать Flash-кукисы (Local Shared Object), в папке со скриптом должен быть файл evercookie.swf, а для работы техник, основанных на PNG-кэшировании и использовании хранилища ETag, необходим доступ к PHP-сценариям evercookie_png.php и evercookie_etag.php. Использовать evercookie можно на любой страничке сайта, подключив следующий js-скрипт:
Код:
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="swfobject-2.2.min.js"></script>
<script type="text/javascript" src="evercookie.js"></script>
<script>
var ec = new evercookie();
// устанавливаем cookie "id" со значением "12345"
// синтаксис: ec.set(key, value)
ec.set("id", "12345");
// восстанавливаем кукису с именем "id"
ec.get("id", function(value)
{
alert("Cookie value is " + value)
});
Есть также другой способ получения кукисов, основанный на использовании более продвинутой callback-функции. Это позволяет извлечь значения кукисов из различных используемых хранилищ и сравнить их между собой:
Код:
function getCookie(best_candidate, all_candidates)
{
alert("The retrieved cookie is: " + best_candidate + "\n" +
"You can see what each storage mechanism returned " +
"by looping through the all candidates object.");
for (var item in all_candidates)
document.write("Storage mechanism " + item + " returned: " +
all_candidates[item] + "
");
}
ec.get("id", getCookie);
</script>
Ну ладно с устройством и принципом действия мы разобрались, теперь как защититься:
Для начала хочется высказать своё отношение к этой технологии, лично я-бы её не стал использовать, т.к. многие антивирусы (Такие как Кашмарский, Дохтор веб) палят такие скрипты, это во первых, а во вторых эти куки — кросс-доменные, и хранить в них конфиденциальную инфу никак нельзя.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
+ кое-что от себя !