Защита Вашего Браузера От Снятия Отпечатков Пальцев — Опыт Brave

Браузерный отпечаток — это метод идентификации и отслеживания людей в сети путем объединения нескольких «полуидентификаторов» — маркеров, незначительно различающихся в браузерах разных пользователей (например, размер окна браузера или аппаратные особенности) — в один уникальный.

.

идентификатор.

Этот метод позволяет идентифицировать пользователя без сохранения какого-либо состояния в браузере, например файлов cookie или "суперповар" .

Как это работает? У разных людей разные языковые настройки, они используют разные операционные системы и так далее.

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

С другой стороны, некоторые используют MacOS, некоторые Windows и некоторые Linux; В каждой категории много людей.

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

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



Что большинство других браузеров делают со снятием отпечатков пальцев?

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

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

Эта мера несколько улучшает защиту конфиденциальности, но на практике этого недостаточно.

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

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

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



Как нам усовершенствовать нашу нынешнюю систему, чтобы улучшить защиту от отпечатков пальцев?

Мы находимся в промежуточном состоянии между двумя системами защиты от отпечатков пальцев.

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

Это полезная система, но она страдает описанными выше проблемами.

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

Жизнь возможна, но не идеальна.

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

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



Антиотпечатки пальцев 2.0: Фарблинг



Что это?

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

Такие «сфабрикованные» значения генерируются детерминированно с использованием уникального для сеанса семени, привязанного к для каждого eTLD +1. Каждый раз при запуске Brave создается уникальный случайный токен сеанса, который никак не доступен сайтам и который восстанавливается при каждом перезапуске Brave. Этот токен впоследствии смешивается с каждым исходным доменом верхнего уровня, который вы посещаете, чтобы создать новый односессионный токен для этого домена.

Все извлеченные значения генерируются из этих односессионных и однодоменных случайных начальных чисел.

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

В этой разработке мы опирались на исследования ПриВарикатор (Никифоракис и др.

, WWW 2015) и FPRслучайный (Лапердрикс и др.

, ESSoS, 2017).

Наша защита от отпечатков пальцев на основе фарблинга имеет три уровня, и мы опишем эти уровни более подробно ниже:

  • Выкл.

    : меры по предотвращению отпечатков пальцев не применяются.

  • По умолчанию: защита от отпечатков пальцев включена, риск взлома сайтов минимален.

  • Максимум: высшая степень защиты от снятия отпечатков пальцев, которые могут привести к поломке веб-сайтов.

Эти меры защиты применяются как к оригинальному контенту, так и к стороннему контенту.

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



Уровень фарблинга: Выкл.

При этой настройке наш браузер уязвим для снятия отпечатков пальцев.

Наша цель — гарантировать, что пользователи никогда не будут использовать эту настройку.

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



Уровень фарблинга: по умолчанию

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

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

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

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

Третий , если мы не можем достичь двух предыдущих целей (из-за особенностей API), мы стремимся значительно увеличить объем работы, которую должен выполнить злоумышленник, и заставить его составить список устройств, которые он пытается отслеживать, или уменьшить количество материала, из которого они смогут собрать эти «отпечатки пальцев».

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

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

Защита от таких целенаправленных атак не является нашей основной целью; Наша цель — защитить пользователей от коварных трекеров и нарушителей конфиденциальности, которыми в три слоя покрыт весь Интернет. Пользователям, которым необходима защита от целенаправленных атак, следует рассмотреть инструменты, специально разработанные для таких случаев, например.

Тор .



Уровень Фарблинга: Максимальный

Наконец, мы включили «максимальный» параметр, который обеспечивает дополнительную защиту, но иногда может привести к поломке сайтов.

В этой категории рандомизированные параметры вообще не включают в себя «истинные» значения.

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

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

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



Что будет собираться, как и когда?

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

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

Составлена подробная таблица API браузеров

JavaScript-интерфейс Конечная точка(и) Проблема с GitHub
ХолстРендеринг2dКонтекст getImageData 9186
мератекст isPointInPath isPointInStroke 9186
HTMLCanvasElement toDataURL toBlob 9186
За кадромХолст ConvertToBlob 9186
Медиаустройства перечислитьУстройства 8666
WebGL2RenderingContextBase getBufferSubData копироватьбуферсубданные 9189
Получить параметр 9188
WebGLRenderingContext getFramebufferAttachmentParameter getActiveAttrib getActiveUniform getAttribLocation getBufferParameter getExtension getFrameBufferAttachmentParameter ПолучитьПрограммаПараметр ПолучитьRenderBufferParameter getShaderParameter getShaderPrecisionFormat ПолучитьTexParameter getUniformLocation getVertexAttribOffset читатьПиксели 9188
WEBGL_debug_renderer_info UNMASKED_VENDOR_WEBGL UNMASKED_RENDERER_WEBGL 9188
НавигаторПлагины плагины 9435
АнализаторУзел getByteTimeDomainData getFloatTimeDomainData getByteFrequencyData getFloatFrequencyData 9187
Аудиобуфер getChannelData копировать из канала 9187
Идентификатор Навигатора пользовательский агент 9190
XRСистема isSessionSupported 9193


Защита от снятия отпечатков пальцев в будущем

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

Фарблинг — это часть нашего ответа: мы хотим показать, что эта дихотомия ложна и что сеть может быть как частной, так и богатой.

Однако это не конец пути.



Версия 3 с защитой от отпечатков пальцев?

Первоначальная версия защиты от фарблинга, которую мы описали здесь, охватывает большинство API, которые сегодня используются в наиболее распространенных атаках.

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

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



Улучшение стандартов, борьба со снятием отпечатков пальцев

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

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

Основное, хотя и не единственное, направление нашей работы в области стандартов проходит в ПИНГ , подгруппа W3C, занимающаяся проверкой новых спецификаций на предмет соблюдения конфиденциальности.

Это постоянная работа, и мы рады работать с нашими партнерами из W3C, уважающими конфиденциальность, чтобы сделать Интернет лучше для всех.

Теги: #браузеры #снятие отпечатков пальцев #Brave #brave Browser #отслеживание #отслеживание #farbling #защита конфиденциальности

Вместе с данным постом часто просматривают: