Полезные знания Почему TOR небезопасен?

Bender_Rodrigez

Интересующийся
Регистрация
13/10/15
Сообщения
142
Репутация
500
Реакции
360
RUB
0
Депозит
1 500 рублей
К вопросу о полной анонимности в сети .

Начнем без предисловий. ТОR небезопасен. Это же касается и VPN.
Сейчас во всем разберемся. Погнали!
1. Выходной узел ТОРа может прослушиваться как мошенниками, так и службами.

2. Небезопасен от всевозможных Cookie.

3. Небезопасен от запросов местоположения к соседним сетям WiFi.

Подробно поговорим о Cookies.
Простой пример: вы зашли с обычного браузера в Google. Потом зашли туда же через ТОР- вы идентифицированы. На вашем компьютере при первом заходе сохранилась информация, которая выдает вас при любом заходе на сайт.

С чем мы имеем дело?

HTTP Cookie


Пользователь приходит на сайт, мы читаем его cookie, если там есть какой-то идентификатор, значит, он у нас уже был, и мы знаем, кто он такой. Мы выполняем всю нашу аналитику, трекинг и т.д. в привязке к этому пользователю.

У сookie есть один большой недостаток — его можно очистить. Любой, даже технически неподкованный пользователь знает, как очищать cookie. Он нажимает «Настройки», заходит и очищает. Все, пользователь становится опять для вас анонимным, вы не знаете, кто он такой.

Все современные браузеры, даже Internet Explorer, кажется, предлагают режим инкогнито. Это такой режим, когда ничего не сохраняется, и когда пользователь посетил ваш сайт в этом режиме, он не оставляет никаких следов.

Ever cookie

Наиболее успешным проектом в сфере сохранения информации в cookie так, чтобы невозможно было ее удалить, является проект evercookie, или persistent cookie — неудаляемый cookie, трудно удаляемый cookie. Суть его заключается в том, что evercookie не просто хранит информацию в одном хранилище, таком как http cookie, он использует все доступные хранилища современных браузеров. И хранит вашу информацию, например, идентификатор.

Flash cookies (Local Shared Objects)

Flash cookies до недавнего времени не очищались, когда вы очищали cookie. Лишь последние версии Google Chrome умеют очищать Flash cookie, когда вы очищаете обычные cookie. Т.е. до недавнего времени Flash cookies были практически неудаляемыми.

Silverlight cookies (Isolated Storage)

Далее, evercookie использует Silverlight Cookies. По-другому они называются Isolated Storage. Это специальное выделенное место на жестком диске компьютера пользователя, куда пишется cookie информация. Найти это место невозможно, если вы не знаете точный путь. Оно прячется где-то в документах, Setting’ах, если на Windows, глубоко в недрах компьютера. И эти данные удалить, при помощи очистки cookie невозможно.

PNG cookies (Canvas + PNG + Caching)

Evercookie использует такую инновационную технику как PNG Cookies. Суть заключается в том, что браузер отдает картинку, в которой в байты этой картинки закодирована информация, которую вы сохранили, например, идентификатор. Эта картинка отдается с директивой кэширования навсегда, допустим, на следующие 50 лет. Браузер кэширует эту картинку, а затем при последующем посещении пользователем при помощи Canvas API считываются байты из этой картинки, и восстанавливается та информация, которую вы хотели сохранить в cookie. Т.о. даже если пользователь очистил cookie, эта картинка с закодированным cookie в PNG по-прежнему будет находиться в кэше браузера, и Canvas API сможет ее считать при последующем посещении.

Evercookie использует все доступные хранилища браузера — современный HTML 5 стандарт, Session Storage, Local Storage, Indexed DB и другие.

Также используется ETag header — это http заголовок, очень короткий, но в нем можно закодировать какую-то информацию

Evercookie — очень умный плагин, который может сохранять ваши данные практически везде. Для обычного пользователя, который не знает всего этого, удалить эти cookies просто невозможно. Нужно посетить 6-8 мест на жестком диске, проделать ряд манипуляций для того, чтобы только их очистить.

Несмотря на все это, evercookie не работает в инкогнито режиме. Как только вы зашли в инкогнито режим, никакие данные не сохраняются на диске, потому что это основополагающая суть инкогнито режима — вы должны быть анонимными. А еvercookie использует хранение на жестком диске, которое в этом режиме не работает.

Ubercookie - идентификация по отпечатку аудио.

FingerprintJS, вообще, не использует cookie. Никакая информация не сохраняется на жестком диске компьютера, где установлен браузер. Работает в инкогнито режиме, потому что в принципе не использует хранение на жестком диске.

Она используется примерно на 6-7% всех самых посещаемых сайтов в Интернете на данный момент.

Суть ее в том, что код этой библиотеки опрашивает браузер пользователя на предмет всех специфичных и уникальных настроек и данных для этого браузера и для этой системы, для компьютера. Эти данные объединяются в огромную строку, затем они подаются на вход функции хэширования. Функция хэширования берет эти данные и превращает их в компактные красивые идентификаторы.

Сначала считывается userAgent navigator.

Считывается язык браузера — какой у вас язык — английский, русский, португальский и т.д.

Считывается часовой пояс, это количество минут от UTC

Далее получается размер экрана, массив, глубина цвета экрана.

Затем происходит получение всех поддерживаемых HTML5 технологий, т.е. у каждого браузера поддержка отличается. FingerprintJS пытается определить, какие поддерживаются, какие — нет, и для каждой технологии результат опроса наличия этой технологии и степень ее поддержки прибавляется к итоговой функции отпечатка.

Опрашиваются данные, специфичные для пользователя и для платформы, такие как настройка doNotTrack (очень иронично, что настройка doNotTrack используется как раз для трекинга), cpuClass процессора, platform и другие данные.

Есть еще 2 способа.

Первый — это информация о плагинах. Код опрашивает наличие всех установленных плагинов в системе. Для каждого плагина получается его описание и название.А также, что очень важно, список всех мультимедиа типов или main типов, которые поддерживают этот плагин.

Следующее — к строке отпечатка прибавляется т.н. Сanvas Fingerprint. Это еще одна техника, которая позволяет повысить точность. Суть ее заключается в том, что на скрытом Сanvas элементе рисуется определенный текст с определенными наложенными на него эффектами. И затем полученное изображение сериализуется в байтовый массив и преобразовывается в base64 при помощи вызова canvas.toDataULR().

WebGL Fingerprint. Это развитие идеи Сanvas Fingerprint. Суть его заключается в том, что рисуются 3D треугольники (на слайде не очень хорошо видно, но это 3D). На него накладываются эффекты, градиент, разная анизотропная фильтрация и т.д. И затем он преобразуется в байтовый массив. Результирующий байтовый массив, как и в случае с Canvas Fingerprint, будет разный на многих компьютерах. Т.е. в WebGL есть набор констант, которые должны быть обязательно в реализации. Это глубина цвета, максимальный размер текстур… Этих констант очень много, их десятки.
Что говорят разработчики?
Все эти данные в совокупности позволяют на данный момент получить точность определения порядка 94-95%. Но, как вы понимаете, это недостаточная точность идентификации. Тут встает вопрос: каким образом это можно улучшить, и можно ли это улучшить? Я считаю, что можно. Цель этого проекта — достичь 100% идентификации так, чтобы можно было опираться на Fingerprint в 100% случаях и гарантированно сказать: «Да, этот пользователь к нам приходил; да, я все о нем знаю, несмотря на то, что он использует инкогнито mode, tor сеть…». Не важно, все это будет определено.

Выход вижу один - разовое использование чистых девайсов под каждое отдельное серьезное дело.
 
Выходной узел ТОРа может прослушиваться как мошенниками, так и службами.
Проблема решается поднятием vpn/туннеля и установки соединения с этим vpn/туннелем через сеть тор. И все - на выходе из тора у нас криптованный поток, пусть его слушают сколько угодно.

вы зашли с обычного браузера в Google. Потом зашли туда же через ТОР- вы идентифицированы. На вашем компьютере при первом заходе сохранилась информация, которая выдает вас при любом заходе на сайт.
С какой радости? :) У обычного браузера свои куки, у тор-браузера - свои. Точнее, тор-браузер их просто не хранит по умолчанию.
Это будет верно лишь в том случае, если обычный браузер направлять то напрямую в интернет, то через тор, а куки не чистить.

Ubercookie - идентификация по отпечатку аудио.
Не только аудио, еще и видеоадаптер в этом методе (через Canvas) используется. При всей внешней грозности - можно менять браузер, vpn, использовать тор-браузер и при всем этом уберкуки остаются неизменными, то есть по сути все средства анонимизации бесполезны - надежность это способа так себе. К примеру если постоянно обновлять страничку в браузере нередко айди меняется сам по себе. Хотя, естественно, аудио адаптер и видео адаптер, очевидно, не менялись. На данный момент метод - не более чем забавная игрушка, практически не применяется в продакшене именно по причине низкой достоверности данных.

разовое использование чистых девайсов под каждое отдельное серьезное дело.
Да не обязательно так радикально. В BIOS выключили звуковую карту - и уберкуки 100% покажет другой результат. Чистый гугл хром без плагинов никак не поможет идентификации. Юзерагент у всех последних версий хрома тоже один и тот же, что из него можно узнать? Что используется последняя версия хрома? :) Canvas и WebGL меняются не только в силу разного железа, но и драйверов разных версий этого железа.

Так что не все так плохо и ужасно.
 
Сверху Снизу