Fingerprint test что это

Что такое фингерпринт (отпечаток браузера) и как его скрыть?

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

Что такое фингерпринт (fingerprint)?

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

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

Где применяются и для чего используются фингерпринт браузера?

В Интернете мы делаем, говорим и пишем абсолютно разные вещи: добрые и хорошие, плохие и злые, полезные и бесполезные. То, что в реальной жизни для нас представляет проблему, в виртуальном мире кажется пустяком. Признаться в симпатии и любви? Легко! Написать гневный комментарий и оскорбить человека? Без проблем! Пообещать выплатить средства за онлайн-работу, а после ее выполнения исчезнуть и не реагировать на человека? Очень просто!

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

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

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

Виды фингерпринта и методы отслеживания

Браузер загружает файлы cookie каждый раз, когда Вы посещаете сайты, при этом используются абсолютно разные типы файлов:

Когда Вы посещаете веб-сайт, он делает проверку файлов cookie на компьютере, тем самым сформирует индивидуальные настройки. Помимо этого, куки позволяют определить, являетесь Вы новым посетителем или нет.

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

Как проверить отпечаток браузера и его уникальность?

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

Panopticlick

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

Canvas Fingerprinting

Для общего понимания рассмотрите полный набор инструментов, но в рамках данной статьи нас интересует Canvas Fingerprinting:

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

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

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

Whoer

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

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

Am I Unique?

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

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

Как скрыть (изменить) отпечаток браузера?

Фингерпринт является сложным и мощным методом отслеживания пользователей по Интернету. Существуют защитные меры, при использовании браузеров, но ни один из них не сработает на все 100%. И возникает логический вопрос: «Имеет ли смысл использовать какое-то специализированное программное обеспечение или устанавливать расширения блокирующие те или иные процессы при посещении сайтов?» Ответ будет неоднозначным, поскольку возникает своего рода диссонанс.

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

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

«Запутать следы» можно и через системные настройки, например:

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

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

Если тема для Вас является весьма интересной и актуальной посмотрите видео от Ufocoder, где он довольно подробно рассказывает и показывает, как работает технология фингерпринта и можно ли с этим бороться:

Источник

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

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

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

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

Юлиан Фиткау (Julian Fietkau) и команда сотрудников Университета бундесвера в Мюнхене разработали плагин для браузера, который позволяет отслеживать, какие сайты собирают ваши отпечатки браузера и как они это делают. Также Юлиан и ко проанализировали 10 тысяч популярных сайтов на предмет того, какую именно информацию они собирают, — и рассказали обо всем этом в своем докладе на Remote Chaos Communication Congress (RC3).

Что такое отпечаток браузера

Отпечатком браузера (browser fingerprint, иногда на русском тоже говорят слово «фингерпринт») обычно называют совокупность данных, которые сайт может получить о вашем компьютере и браузере, запросив эту информацию при загрузке веб-страницы. В отпечаток входят десятки разных параметров — от языка, который вы используете, и временной зоны, в которой находитесь, до списка расширений и версии вашего браузера. Сюда же может входить информация об операционной системе, об объеме оперативной памяти, разрешении экрана устройства, параметрах шрифтов и многом другом.

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

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

Как используют отпечатки браузера (и почему это не всегда хорошо)

Отпечатки браузера чаще всего используют в одной из двух целей. Цель первая — убедиться в том, что пользователь тот, за кого себя выдает, не заставляя его совершать дополнительных действий. Это, например, используют банки в своих онлайн-сервисах: если по отпечатку браузера они понимают, что это именно вы совершили транзакцию, то они не будут присылать вам код 3DSecure на телефон, чтобы лишний раз вас не дергать. А если в личный кабинет зашел кто-то с непривычным отпечатком браузера, то банк может прислать вам уведомление. В этом случае отпечатки браузера служат вашему удобству, с одной стороны, и безопасности — с другой, так что их использование вполне оправданно.

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

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

Как понять, что сайт снимает ваш отпечаток браузера?

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

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

Если у пользователя установлен FPMON, то при загрузке сайта он увидит уведомление, что этот сайт запросил у браузера такую-то и такую-то информацию. Причем Фиткау и ко разделили типы собираемой информации на две категории: деликатная (sensitive) и агрессивная (aggressive).

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

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

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

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

Для оценки этого исследователи воспользовались уже существующими сайтами вроде сделанного EFF проекта Panopticlick (он же Cover Your Tracks), созданного для демонстрации того, как работает снятие отпечатков браузера. Panopticlick требует для своей работы 23 различных параметра и с вероятностью более 90% позволяет с их помощью однозначно идентифицировать пользователя. Фиткау и команда решили принять за некую отметку, что 23 параметра — это как раз то значение, начиная с которого можно считать, что сайт следит за пользователем.

Исследователи прошлись по 10 тысячам самых популярных сайтов (по данным рейтинга Alexa) и посмотрели, как много информации собирает каждый из них. Оказалось, что большая часть сайтов (почти 57%) запрашивает от 7 до 15 параметров, а медианное значение по всей выборке — 11 параметров. Примерно 5% сайтов вообще не собирают ни одного параметра, при этом максимальное количество собираемых параметров — 38 из 40, но из всех 10 тысяч изученных сайтов такое количество собирают только три.

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

Как защититься от снятия отпечатков

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

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

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

Источник

Отпечаток браузера: что это, как работает, нарушает ли закон и как защититься. Часть 1

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

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

Что такое отпечатки браузера?

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

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

Какие данные собирает отпечаток браузера?

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

Согласно исследованию EFF (Electronic Frontier Foundation), отпечаток браузера включает в себя:

Согласно еще одному исследованию, точность идентификации пользователя при помощи отпечатка браузера составляет 99,24%. Изменение одного из параметров браузера снижает точность идентификации пользователя лишь на 0,3%. Существуют тесты на отпечаток браузера, которые показывают, насколько большой объем информации собирается.

Как работает отпечаток браузера

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

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

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

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

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

Как сайты собирают пользовательские данные?

Это двухуровневый процесс, который работает как на стороне сервера, так и на стороне клиента.

На стороне сервера

Логи доступа к сайту

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

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

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

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

Куки помогают серфить более комфортно, но они же открывают и больше информации о вас.

В этом методе используется элемент холста (canvas) HTML5, который WebGL также использует для визуализации 2D- и 3D-графики в браузере.

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

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

Этот метод позволяет получать следующую информацию о вашем устройстве:

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

Adobe Flash и JavaScript

Согласно FAQ AmIUnique, если у вас активирован JavaScript, то вовне передаются данные о ваших плагинах или спецификациях железа.

Если установлен и активирован Flash, то это предоставляет стороннему «наблюдателю» еще больше информации, включая:

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

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

Зачем нужна технология отпечатка браузера?

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

Кроме того, технология используется для рекламы. Это просто идеальный инструмент дата-майнинга.

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

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

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

Кроме того, технология отпечатка браузера используется еще и для:

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

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

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

Напомним, эта статья — только первая часть, впереди еще две. В них рассматриваются вопросы законности сбора персональных данных пользователей, возможности использования этих данных и методы защиты против слишком уж активных «‎собирателей»‎.

Источник

Использование TLS fingerprinting для выявления угроз

В статье хотим рассказать про технологию TLS fingerprinting, про которую недостаточно материалов в русскоязычном сегменте. Попробуем это исправить. Статья частично переводит тематические материалы авторов описываемых методов (тут и тут), а также содержит описание практической реализации от Акрибии.

Не будем глубоко погружаться в детали работы SSL/TLS (далее будем говорить TLS), но кратко поясним детали.

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

Чтобы инициировать сеанс TLS, клиент отправляет «пакет» приветствия серверу после трёхстороннего установления связи TCP. Этот «пакет» и способ его создания зависят от пакетов и методов шифрования, используемых при создании клиентского приложения. Если сервер принимает соединение TLS, он ответит пакетом приветствия, тем самым продолжая согласование шифрования.

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

Поскольку согласование шифрования TLS передаётся в открытом виде, то можно отследить и идентифицировать клиентские приложения.

В этом и суть технологии TLS fingerprinting, если кратко. А теперь немного подробнее.

TLS fingerprinting

Суть технологии в захвате элементов пакета приветствия клиента, которые остаются статичными от сеанса к сеансу для каждого клиента. На их основе можно создать «отпечаток пальца» для распознавания конкретного клиента в последующих сеансах. Записываются следующие поля:

Кроме того, данные собираются из трех конкретных расширений (если они доступны):

алгоритм для шифрования данных;

хэш функция для проверки содержимого.

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

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

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

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

Наиболее очевидное использование TLS Fingerprinting – пассивное обнаружение. Технология позволяет обнаруживать широкий спектр потенциально нежелательного трафика, не требуя доступа к конечным точкам. Можно обнаруживать как конкретные вредоносы по их поведению и/или обращениям к командным центрам, так и обычный софт, используемый не по назначению или в обход действующих правил.

Например, к серверу Exchange могут обращаться только почтовые клиенты или браузер, если используется OWA, поэтому соединение из скрипта на Python будет подозрительным.

Итого: TLS Fingerprinting предназначен для быстрой идентификации известных TLS-соединений и отслеживания неизвестных TLS-соединений. Входные данные принимаются либо посредством прослушивания трафика, либо при чтении PCAP файлов.

Есть несколько готовых реализаций, наиболее поддерживаемых комьюнити:

пассивный метод с использованием хэшей JA3 и JA3S;

активный инструмент снятия отпечатков пальцев с сервера TLS – хэши JARM.

JA3 и JA3S

Метод JA3 используется для сбора десятичных значений байтов для следующих полей в пакете приветствия клиента: версия TLS, набор шифров, список расширений протоколов TLS, эллиптические кривые и форматы эллиптических кривых. Затем он объединяет эти значения вместе по порядку, используя символ «,» для разграничения каждого поля и «-» для разграничения каждого значения в каждом поле.

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

Порядок полей следующий:

Если в ClientHello нет расширений TLS, поля остаются пустыми:

Эти строки затем хэшируются MD5. Пример отпечатка JA3:

JA3S – это хэш идентификации сервера. Метод JA3S заключается в сборе десятичных значений байтов для следующих полей в пакете приветствия сервера: версия TLS, набор шифров и список расширений протоколов TLS. После сбора значений, происходит процесс объединения этих значений вместе по порядку, используя «,» для разграничения каждого поля и «-» для разграничения каждого значения в каждом поле.

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

Порядок полей, следующий:

Если в Server Hello нет расширений TLS, поля остаются пустыми.

Эти строки затем хэшируются MD5 для создания 32-символьного отпечатка пальца.

Это отпечаток JA3S:

JA3 и JA3S – это методы снятия отпечатков TLS. JA3 отслеживает способ, которым клиентское приложение обменивается данными через TLS, а JA3S отслеживает ответ сервера. Вместе они создают отпечаток криптографического согласования между клиентом и сервером.

Теперь перейдем к описанию активного метода JARM.

JARM работает, активно отправляя 10 пакетов приветствия клиента TLS на целевой сервер и фиксируя определенные атрибуты ответов приветствия сервера. Затем агрегированные ответы сервера TLS хэшируются определенным образом для получения отпечатка JARM. JARM отправляет разные версии, шифры и расширения TLS в разном порядке для сбора уникальных ответов. Хэш JARM представляет собой гибридный нечеткий хэш, он использует комбинацию обратимого и необратимого алгоритма хеширования для создания 62-символьного отпечатка.

Отпечатки JARM можно использовать:

убедиться, что все серверы в группе имеют одинаковую конфигурацию TLS;

сгруппировать разрозненные серверы в сети Интернет по конфигурации, указав, например, что сервер может принадлежать Google, Yandex или Apple;

определить приложения или инфраструктуру по умолчанию;

выявить командные центры и других вредоносные серверы в сети Интернет.

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

Первые 30 символов состоят из шифра и версии TLS, выбранных сервером для каждого из 10 отправленных приветствий клиента. «000» означает, что сервер отказался согласовывать приветствие с этим клиентом. Остальные 32 символа представляют собой усеченный хэш SHA256 совокупных расширений, отправленных сервером, без учета данных сертификата x509. При сравнении отпечатков JARM, если первые 30 символов совпадают, но последние 32 отличаются, это будет означать, что серверы имеют очень похожие конфигурации, принимают одинаковые версии и шифры, но используют различные расширения, что не позволяет их считать полностью идентичными.

Исторически так сложилось, что индустрия кибербезопасности была сосредоточена в основном на индикаторах компрометации (IOC) и индикаторах атаки (IOA). То есть когда вредоносное ПО/хост и т.п. будут кем-то обнаружены, исследователи или вендоры платформ TI вычленяют уникальные или не очень признаки выявленного вредоноса или атаки типа IP, домена, хэша файла и т.п. и публикуют их в «чёрных списках». Проблема в том, что к этому моменту вредоносное ПО уже распространено, и специалисты ИБ автоматически переходят в оборону.

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

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

Чтобы упростить процесс, можно использовать готовое решение. В настоящее время хэши JARM умеют считать продукты Palo Alto Networks и используют их API для обогащения целевого JARM.

Примеры реализации

Если нет возможности или желания использовать готовые решения от Palo Alto и пр., можно реализовать в своей инфраструктуре свое средство мониторинга трафика, например, на основе Zeek (ранее назывался Bro) – популярного open-source продукта, заточенного специально для этого.

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

Zeek умеет выполнять снятие отпечатков TLS с помощью хэша JA3\JA3S.

Fingerprint test что это. Смотреть фото Fingerprint test что это. Смотреть картинку Fingerprint test что это. Картинка про Fingerprint test что это. Фото Fingerprint test что это

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

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

Хэши JA3S, соответствующие вредоносам, достать чуть сложнее. Есть, например, небольшая подборка тут, есть и еще, нужно только искать или считать самостоятельно.

С хешами JARM еще немного сложнее, если у вас нет Palo Alto, их нужно собирать по разрозненным отчетам аналитиков или считать самостоятельно и вести собственные белые и черные списки. Но на github тоже попадаются тематические подборки, например, эта. Мы ее задействуем в дальнейшем при проработке правил по JARM.

Далее приведем некоторые описания правил, которые мы реализуем у себя. Также есть неплохой доклад от Splunk с примерами алгоритмов и правил мониторинга по хэшам JA3/JA3S. Доступен здесь. Правила можно адаптировать под любую SIEM.

Выявление признака конкретного вредоноса по хэшам JA3\JA3S. Вот, например, готовые значения для Emotet и TrickBot:

Выявления нового хэша JA3, ранее не появляющегося в сети.

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

Выявления хэшей JA3 не из белого списка.

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

Выявления хэшей JA3\JA3S из чёрного списка.

Это правило нацелено на выявление хэшей заведомо вредоносного ПО.

Выявление обращений к C&C по хэшам JARM.

При выявлении обращения к TLS-серверу, неизвестному нам или ранее не появляющемуся в логах, необходимо посчитать его JARM хэш (можно вручную, можно скриптом или с использованием SOAR), при совпадении с хэшем, соответствующим известному C&C серверу, блокируем соединение, изолируем хост и расследуем инцидент.

Выявление JA3 хэшей, не характерных для системы.

При появлении на хостах с Windows JA3 хэшей, характерных для Linux или смартфонов (Android/IOS), стоит обратить внимание на такие хосты. Это может являться признаком работы вредоносов (ну или запущенного эмулятора/виртуалки в режиме NAT). Кейс особенно заслуживает внимание, если выявлен на рабочей станции обычного пользователя, далекого от мира IT.

Выявление JA3 хэшей, характерных для разных браузеров одного семейства.

Сейчас достаточно сложно на один хост поставить две разные версии Firefox или Chrome (виртуальные машины в режиме NAT не в счёт). Такое выявление может свидетельствовать о том, что злоумышленники пытались адаптироваться под установленный софт, но после обновления софта не успели или забыли обновить свой Fingerprint. Хост лучше изолировать и провести расследование.

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

Ни для кого не секрет, что сейчас ВПО пишется не только на C/C++. Часто встречаются образцы, которые написаны на Python или Golang. Стандартные библиотеки, такие как requests (для python) или http (для Golang), имеют характерные отпечатки в рамках нескольких версий. В случае выявления такого хэша на рабочем месте разработчиков, вероятно, это нормально. Но, если хэши «всплывут» на рабочем компьютере рядового пользователя, то точно следует провести тщательную проверку, так как с большой вероятностью это будет свидетельством активности вредоноса. Также стоит поддерживать списки актуальных JA3 хэшей для популярных сетевых библиотек, чтобы минимизировать ложные срабатывания.

Важно: Список хэшей JARM (и JA3S тоже) необходимо регулярно пополнять новыми выявленными C&C серверами, полученную самостоятельно или от сторонних исследователей.

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

В завершении хотим подчеркнуть, что развитие и популяризация технологии TLS Fingerprinting, по нашему мнению, совсем не за горами, и способствует этому внедрение TLS 1.3.

В версиях стандарта TLS до 1.3 у клиента была возможность сообщать, к какому серверу он хочет обратиться — SNI (Server Name Indication). Чаще всего в HTTPS для этого использовалось поле HOST, чтобы на одном IP и порту могли работать несколько HTTPS-сайтов. Соответственно и так, без всяких fingerprint, было видно, кто куда идет. Понятно, что речь идёт про легитимные обращения, атакующие всегда могли подделать SNI.

В стандарте TLS 1.3 появилась возможность шифровать имя запрашиваемого сайта – Encrypted SNI (ESNI), и безопасники потеряли возможность видеть, куда идёт обращение.

Правда ESNI уже запретили в Китае, и были попытки блокировок в России. Однако ESNI стал часто встречаться, в том числе в инструментах злоумышленников, и без TLS fingerprinting становится сложно понимать, куда происходят обращения в сети.

Авторы статьи:

Михаил Кравченко, SOC-аналитик;

Александр Минин, руководитель направления Threat Intelligence @AAMinin;

Анна Шестакова, руководитель направления мониторинга ИБ.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *