Является ли снятие отпечатков пальцев браузером жизнеспособной техникой для идентификации анонимных пользователей?

96

Является ли снятие отпечатков в браузере достаточным методом для уникальной идентификации анонимных пользователей? Что, если вы включите биометрические данные, такие как жесты мыши или шаблоны печатания?

На днях я столкнулся с экспериментом Panopticlick, который EFF запускает на отпечатках браузера .

Конечно, я сразу же подумал о последствиях приватности и о том, как ее можно использовать для зла. Но с другой стороны, это может быть использовано для блага и, по крайней мере, это заманчивая проблема для работы.

Исследуя эту тему, я обнаружил, что несколько компаний используют дактилоскопию в браузере для атаки на мошенничество. И после отправки нескольких электронных писем я могу подтвердить, что по крайней мере один крупный сайт знакомств использует дактилоскопию браузера как один из механизмов обнаружения поддельных учетных записей. (Примечание: они обнаружили, что это недостаточно уникально, чтобы действовать как личность при масштабировании до миллионов пользователей. Но мой мозг программиста не хочет им верить).

Вот одна компания, использующая отпечатки пальцев браузера для обнаружения и предотвращения мошенничества:
http://www.bluecava.com/

Вот довольно полный список вещей, которые вы можете использовать в качестве уникальных идентификаторов в браузере:
http://browserspy.dk/

SMRF
источник
6
Насколько легко было бы написать плагин для вашего любимого браузера, чтобы изменить отпечаток вашего браузера? Я полагаю, что если бы это было возможно, кто-то мог бы распространять такой плагин, который позволяет вам изменять свой отпечаток пальца по желанию. Он может даже содержать предварительно загруженные «профили», чтобы целая группа пользователей могла использовать один и тот же отпечаток пальца ...
FrustratedWithFormsDesigner
1
Связанное обсуждение Meta Stack Overflow о том, как это сделать на Stack Exchange: реализовать некоторую форму снятия отпечатков в браузере, чтобы помочь разобраться с носками
Что касается использования плагина для изменения отпечатка браузера. В этой статье IEEE ( spectrum.ieee.org/computing/software/… ) объясняется, почему это может привести к
обратным

Ответы:

91

Во-первых, я не думаю, что реалистично ожидать, что пользователи отключат JavaScript в современной сети. Итак, давайте посмотрим, что Panopticlick может собирать только с помощью JavaScript, наряду с оценкой уникальности моего конкретного браузера:

  • Агент пользователя (1 из 4 184)
  • Заголовки HTTP_ACCEPT (1 из 14)
  • Сведения о плагине для браузера (1 на 1,8 миллиона)
  • Часовой пояс (1 из 24)
  • Размер экрана и глубина цвета (1 на 1700)
  • Системные шрифты (1 в 11)
  • Cookies включены? (1 в 1.3)
  • Ограниченный тест SuperCookie (1 в 2)

Отличительными чертами уникальности являются, безусловно, User Agent и плагины браузера. Помните, что эти элементы используются вместе, чтобы сформировать отпечаток браузера, поэтому они более чем сильны, как отдельные баллы. Кумулятивная уникальность здесь: 4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2иначе ДЕЙСТВИТЕЛЬНО БОЛЬШОЙ НОМЕР . Это ... довольно уникально.

В данный момент у меня отключена Flash с «кликом для активации». Включение Flash добавляет:

  • Системные шрифты (1 в 374k)

Flash предоставляет второй по значимости уникальный обнаруживаемый элемент, но, учитывая огромное количество, которое производит обнаружение JavaScript по умолчанию в Panopticlick, я не уверен, что Flash необходим для работы такого рода отпечатков пальцев браузера. Достаточно просто включить JavaScript.

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

  1. Наблюдение за деталями браузера, как показано выше (легко)
  2. IP-адрес, который имеет известный уровень надежности с плюсами и минусами (легко)
  3. Шаблоны поведения пользователя, такие как использование (время суток), ввод текста, движения мышью или пальцем, использование слов (жесткое, на стороне сервера, на стороне клиента)

Одна вещь, о которой я беспокоюсь, когда слежу только за браузером, это то, как легко пользователям переключать браузеры. На большинстве платформ есть как минимум четыре отличных и бесплатных альтернативы для браузера: Chrome, Opera, Firefox, Safari. Таким образом, чтобы прервать анализ браузера или хотя бы прервать его, вы можете часто переключать браузеры.

Здесь стоит упомянуть так называемые SuperCookies, поскольку в некоторых случаях они действительно могут работать, даже если вы переключаете браузеры и даже если JavaScript, HTML 5 Local Storage и Flash отключены .

Исследователь конфиденциальности обнаружил злого гения, стоящего за коммерческой службой веб-аналитики, способной следить за пользователями на более чем 500 сайтах, даже когда все файлы cookie были отключены и сайты просматривались в режиме конфиденциальности браузера.

(Если вам интересно, версия TL; DR заключается в том, что они делают это, используя неясные принципы заголовка ETag .)

В любом случае, возвращаясь к анализу браузера - есть две неудобные вещи, которые пользователи могут сделать, чтобы победить это:

  1. Постоянно переключайте браузеры.
  2. Всегда просматривайте с отключенным JavaScript и Flash.

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

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

Джефф Этвуд
источник
7
+1 Хакер. Твои родители знают, как ты проводишь время?
P.Brian.Mackey
2
«Во-первых, я не думаю, что реалистично ожидать, что пользователи отключат JavaScript в современной сети». Я рад, что простое решение NoScript полностью останавливает мое отслеживание.
Арда Си
93
"иначе действительно большое число. Это ... довольно уникально." Это уникально, только если эти функции распределены среди пользователей случайным образом. Возможно ли, что большинство пользователей используют гораздо меньшее подмножество агентов и плагин-конфигураций? Существуют ли какие-либо агенты или конфигурации плагинов, которые сильно коррелируют? Если вы собираетесь полагаться на то, что это уникально, вы должны посмотреть на распределение этих функций среди пользователей, а не только в лучшем случае.
Чарльз Грант
3
@Arda Xi: Тем не менее, это все еще доставляет неприятные ощущения при просмотре ...;)
BoltClock
1
«Во-первых, я не думаю, что реалистично ожидать, что пользователи отключат JavaScript в современной сети». С уважением, вы не правы. С аддоном noscript легко отключить сценарии для вашего неизвестного веб-сайта, наслаждаясь современным веб-сайтом на известных сайтах.
Арх
11

Отпечатки пальцев в браузере опираются на очень разнородную экосистему браузера / устройства. Одна вещь, которую следует учитывать, - это то, что мы движемся к все более и более однородной экосистеме, поскольку все больше и больше серфинга выполняется на смартфонах и планшетах / планшетах, которые, как правило, гораздо менее фрагментированы в этом смысле. Например, все iPhone / iPad будут выглядеть практически одинаково.

кашка
источник
3
Отличный момент и довольно грустный. Но это очень вероятная реальность.
Джефф Этвуд
Количество моделей iPhone и iPad расходится.
JoJo
10

Является ли снятие отпечатков в браузере достаточным методом для уникальной идентификации анонимных пользователей?

Нет, в лучшем случае он может однозначно идентифицировать компьютер . Невозможно провести различие между двумя новыми (и похожими) компьютерами в одной сети (один и тот же IP) без cookie \ сеанса.

Что, если вы включите биометрические данные, такие как жесты мыши или шаблоны печатания?

Это не кажется реалистичным. Это должно быть закодировано почти полностью в JavaScript, так как «биометрические данные» полностью на стороне клиента. Пользователь может просто отключить его. Кроме того, как будут выглядеть ваши «биометрические данные» Perl Script?


Тем не менее, использование такой тактики для борьбы с мошенничеством является хорошей идеей. Оно не должно быть на 100% ... любое уменьшение мошенничества - это хорошо, даже если его улучшение всего на 5%.

Борьба с мошенничеством носит поэтапный характер, единого пуля для борьбы с мошенничеством не существует, даже не ищите его.


РЕДАКТИРОВАТЬ: Чтобы ответить на комментарии ниже (и потому, что это очень актуально), тот факт, что снятие отпечатков пальцев относится к различным профилям, по моим убеждениям, чистый отрицательный *. Это то, что злонамеренный пользователь будет использовать, чтобы обмануть механизм дактилоскопии, тот факт, что пользователь имеет контроль над всеми переменными, используемыми при дактилоскопии, сам по себе является серьезным недостатком .

* Вот почему я говорю, что в лучшем случае он может идентифицировать один компьютер, потому что это ЛУЧШЕ, чем идентификация одной учетной записи на компьютере. Если вы можете сделать и то и другое, это здорово.

Идиоты
источник
3
«Биометрические данные» также могут иметь место, когда люди получают доступ к сайту, какие URL, как часто, их словесные и языковые шаблоны ... ни для чего из этого не требуется JavaScript
Джефф Этвуд
2
Снятие отпечатков пальцев может действительно идентифицировать даже разные учетные записи на одном компьютере. Я знаю английский, шведский и немного испанский. Я настроил свой Mac соответственно. Когда Firefox запрашивает страницу, он отправляет «Accept-Language: en-us, en; q = 0,8, sv; q = 0,5, es; q = 0,3». Моя жена не знает испанского. Firefox в ее аккаунте на той же машине не включает термин «es». Совершенно ясно, что это то, что вы говорите, невозможно.
Андрей Далке
Энди, просто потому что это твой профиль пользователя, это не значит, что ты сидишь перед компьютером.
дебилы
4
Мор, ваше утверждение «в лучшем случае он может однозначно идентифицировать компьютер» неверно. В лучшем случае он может различать разные учетные записи на одном компьютере. Если это сетевая учетная запись, то может быть возможно различить две разные учетные записи в одной сети. То, что несколько человек могут использовать учетную запись, это другой вопрос.
Андрей Далке
6

Я бы согласился с @vincentcr , но добавил бы еще одну среду: корпоративную сеть.

Здесь вы, вероятно, найдете множество десятков или сотен (потенциальных) пользователей с одинаковым браузером, плагинами, шрифтами и т. Д. Дополнительные факторы, которые @vincentcr предлагает и здесь, не работают - IP-адреса, вероятно, будут одинаковыми, если пользователи находятся за корпоративный брандмауэр, как и местоположения пользователей, о которых сообщают.

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

Хотя, как уже говорили другие, это может быть несколько полезно для обнаружения спам-ботов и тому подобное. Например, плагин WordPress «Bad Behavior» анализирует заголовки HTTP (среди других факторов) в попытке обнаружить спам-ботов.

Ян Рентон
источник
Очень хороший момент. Хотя вы можете обнаруживать такие вещи, как перекос часов, который будет варьироваться от компьютера к компьютеру, и, очевидно, вы можете получить реальные IP-адреса с помощью флэш-памяти. Существует также разрешение монитора, которое чего-то стоит, но менее полезно в корпоративной среде.
SMRF
4

Даже если существует огромное количество комбинаций, они не распределены равномерно.

Подумайте, сколько людей, скажем, на MacBook, просто используют стандартную конфигурацию. Или те, кто никогда не устанавливает плагин: я подозреваю, что это большинство пользователей.

И, наконец, у вас самый быстрорастущий сегмент устройств: пользователи мобильных телефонов и планшетов, особенно iPhone и iPad, где вы ограничены только двумя переменными: маркой и номером версии.

Таким образом, это может быть хорошей эвристикой в ​​сочетании с другими факторами (такими как IP-адрес или местоположение, если доступно), но не намного более того.

vincentcr
источник
3

Используя снятие отпечатков пальцев в браузере, вы можете идентифицировать отдельного пользователя в Интернете, и единственным недостатком является то, что вам нужно сделать javascript обязательным для каждого пользователя.

Работает по двум принципам:

  1. Определить отпечаток браузера по 8 параметрам
  2. Определите, изменил ли кто-либо свой отпечаток пальца, изменив какой-либо параметр.

Успех снятия отпечатков пальцев зависит от второго принципа; обнаружить, если кто-то изменил отпечаток пальца.

Для получения дополнительной информации просто попробуйте доступный код . Вам необходимо разработать собственный алгоритм обнаружения возвращающегося пользователя, поскольку алгоритм, используемый https://panopticlick.eff.org/, на данный момент не эффективен на 100%.

Четан
источник
1
«не на 100% эффективен» или, возможно, «не на 100% эффективен»? Не могли бы вы уточнить этот момент?
Мартин Питерс
2

Некоторые браузеры также могут быть идентифицированы с помощью HSTS Supercookies.

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

Они особенно полезны для идентификации iPhone / iPad, которые в противном случае имели бы более общий отпечаток браузера. Этот подход не очень полезен для Internet Explorer, где HSTS не поддерживается.

Эта статья объясняет подход; http://www.radicalresearch.co.uk/lab/hstssupercookies/

В этой статье представлен хороший пример использования HSTS Supercookies для идентификации пользователей; https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser-dilemma-how-hsts-supercookies-make-you-choose-between-privacy-or-security/

Matt
источник
0

Javascript не является обязательным, так как есть много других параметров, которые нужно прослушать в PHP. Тем не менее, 99% пользователей имеют JS, так что зачем

Может ли дактилоскопия обеспечить достаточно уникальную идентификацию? Я так считаю. И так говорит www.visitor-intelligence.com со своей последовательной философией скрининга. Думаю об этом.

Ваша личная частная галактика не такая большая, как вся наша планета.

Сколько высоких, коричневых волос, голубоглазых девушек с французским акцентом гуляет по твоей улице? В масштабе планеты миллионы. Но держу пари, что она будет довольно уникальна на вашей улице (или в вашем магазине).

Если вы не живете на Елисейских полях. Тогда присмотритесь. Она стройная и ходит как модель? Она носит дорогую сумочку? Хорошо, теперь она совершенно уникальна :-)

Неправильно смотреть на заголовки, потому что он включает номер версии браузера и более переменные параметры.

Сейчас мы на Chrome 27 и Firefox 21. Мы обновляем версию браузера, даже не замечая этого.

Теперь, глядя на полный список плагинов также совершенно неправильно. Попробуйте это: установите Firefox, установите Acrobat Reader, затем установите Chrome. Бьюсь об заклад, читатель Acrobat не будет отображаться в вашем списке плагинов Chrome :-)

Итак ... Итог: если вы ищете достойную систему идентификации для магазина стандартного размера, то дактилоскопия достаточно и даже более стабильна, чем куки (лично я удаляю все свои куки почти каждый день).

Просто мои 2 цента

user2435894
источник