Статья:

Проблемы идентификации. Методы упрощенной и безопасной аутентификации

Журнал: Научный журнал «Студенческий форум» выпуск №30(81)

Рубрика: Технические науки

Выходные данные
Солтанов О.В., Арсентьев Д.А. Проблемы идентификации. Методы упрощенной и безопасной аутентификации // Студенческий форум: электрон. научн. журн. 2019. № 30(81). URL: https://nauchforum.ru/journal/stud/81/57967 (дата обращения: 19.04.2024).
Журнал опубликован
Мне нравится
на печатьскачать .pdfподелиться

Проблемы идентификации. Методы упрощенной и безопасной аутентификации

Солтанов Олег Владимирович
студент, Московский политехнический университет, Институт принтмедиа и информационных технологий, РФ, г. Москва
Арсентьев Дмитрий Андреевич
канд. техн. наук, доцент, Московский политехнический университет, Институт принтмедиа и информационных технологий, РФ, г. Москва

 

Identification problems. Methods for simplified and secure authentication

 

Oleg Soltanov

undergraduate, Moscow Polytechnic University, Institute of Print Media and Information Technologies, Russia, Moscow

Dmitry Arsentiev

Assoc. Prof., Moscow Polytechnic University, Institute of Print Media and Information Technologies, Russia, Moscow

 

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

Abstract. Using VPN, incognito mode, cross-browser surfing on the Internet and permanently cleaning cookies, we strive to achieve anonymity. However, there are already tracking methods for which these parameters do not matter. Be sure, you can not hide your presence on the sites. How dangerous is this?

 

Ключевые слова: идентификация, аутентификация, отслеживание, куки, фингерпринтинг, символы нулевой ширины.

Keywords: identification, authentication, tracking, cookies, fingerprinting, zero-width characters.

 

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

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

 

Рисунок 1. Оповещение об использовании cookie файлов сайтом

 

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

Что же может содержать файл cookie? Ответ – всё. Это «белый» инструмент, направленный на то, чтобы веб-сайты могли предоставлять услуги быстрее, проще и качественнее. Обычно, cookie файлы помогают заполнять формы, которые были уже заполнены когда-то, также они могут запоминать товары, которые пользователь добавил в корзину, но при этом не авторизовался, или же могут записывать активность пользователя о нажатии кнопок, посещения страниц и прочего. Также их используют для сбора и анализа статистики. Например, пользователь заходит на сайт, происходит считывание его cookie, если там есть какой-нибудь идентификатор, то значит пользователь уже был на этом сайте и его можно аутентифицировать, поэтому можно провести аналитику, трекинг и т.д. в привязке к данному пользователю. Если же идентификатора нет, значит гость появился на этом сайте впервые. Происходит генерация уникального идентификатора, он записывается в cookie, и в дальнейшем, когда пользователь появится на этом сайте снова, этот cookie можно будет считать и понять, кто именно зашел. Без такого механизма сайт не будет знать, следует ли отправлять страницу, содержащую конфиденциальную информацию, или же требовать от пользователя аутентификации при входе в систему.

Как можно заметить ничего криминального в этом нет, и данная технология ориентирована на удобство и безопасность в первую очередь. Вот только у cookie есть один больной недостаток – его можно удалить. И на сегодняшний день любой, даже слабо подкованный в технической сфере, пользователь знает, как очищать cookie. Пару действий и можно снова стать для сайта анонимным. Другой проблемой является режим «инкогнито» при котором пользователь не оставит никаких следов после посещения сайта.

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

Наиболее успешными проектами в сфере сохранения информации в cookie являются те, что позволяют собирать ее без возможности удаления. До недавнего времени если в браузере был установлен Flash, то запись велась во Flash cookies и не очищалась, когда вызывалась процедура очистки cookie. Лишь последние версии Google Chrome умеют очищать Flash cookies, а также существует специальная страница в Интернете, которая позволяет это сделать. Еще один способ – хранить информацию на устройстве пользователя. Найти это место невозможно, если только не знать точный путь. Оно прячется где-то в документах, настройках, глубоко в недрах компьютера. И эти данные удалить, при помощи очистки cookie невозможно. Существует техника PNG cookies. Суть ее в том, что сайт создает картинку, в байты которой закодирована информация о пользователе. Браузер кеширует эту картинку и при следующем посещении считывает ее и восстанавливает информацию, которая была закодирована. Иными словами, даже при очистке cookie, картинка будет по-прежнему находится в кэше браузера.

Несмотря ни на что, это не работает, если зайти в режим инкогнито.
Что же тогда делать? Как идентифицировать пользователя в системе?
Существует блок методов ориентированных на выявлении уникальных параметров браузера и устройства. А значит, желая защититься и скрыть свои личные данные, пользователи нередко выставляют уникальные параметры в браузере, которые могут являться причиной их идентификации. Смена ip адреса, при данных методах, также не решит проблему, так как другие параметры будут уникальны, а их комбинации позволяют почти с 95% вероятностью определять конкретного пользователя.

Рассмотрим подробнее этот вопрос. Итак, считывание userAgent navigator дает информацию о системе компьютера, об используемом браузере (его версия и язык), о часовом поясе, размере экрана и глубине его цвета; происходит получение всех поддерживаемых HTML5 технологий (у всех браузеров она разная), опрашиваются данные, специфичные для пользователя и платформы, например, doNotTrack (иронично, что эта настройка используется как раз для трекинга), cpuClass процессора и другие данные. Но все это может быть одинаковыми у множества пользователей, поэтому дальше рассматриваются более уникальные и частные параметры. Опрос всех установленных плагинов с их названием и описанием, а также всех поддерживаемых main типов и мультимедиа типов дает более точную информацию. Также происходит считывание шрифтов в системе, ведь когда на компьютер устанавливается программа наподобие Adobe, то в систему добавляются новые шрифты, то же происходит и при установке Microsoft office или других офисов. Тем самым имея два одинаковых компьютера, на одном из которых будет офис, а на другом нет, можно получить два совершенно разных отпечатка, потому что в одном случае будет 400 шрифтов, а в другом больше тысячи.

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

 

Рисунок 2. Пример отрисовки текста в скрытом от пользователя поле Canvas

 

И тут возникает вопрос: как же это помогает идентифицировать пользователя? Секрет кроется в том, что прорисовка шрифтов очень платформозависимая. Внешне идентичные изображения, отрисованные в разных браузерах, будут преобразовываться в разные массивы. Это зависит от процессора, видеоускорителя и его драйверов, системных библиотек, таких как DirectX, систем отрисовки шрифтов – все это может существенно отличаться от устройства к устройству, тем самым давая уникальные отличия. Ряд преобразований выполняет WebGL: создает тени и освещение 3D-объектов, отслеживает построения 2D-представлений для 3D-объектов, проводит операции отсечения плоскости (она связана с вычислением координат объектов с ограниченной видимостью). Собранная информация собирается, хешируется и на этой основе и создается уникальный идентификатор пользователя.

Исследовательская работа «(Cross-)Browser Fingerprinting via OS and Hardware Level Features» показывает, что от таких методов не помогает даже смена браузера и итоговая энтропия крайне мала. В исследовании группа американских ученых используют технологию под названием CBF (Cross-Browser Fingerprinting). Она основывается на рендеринге и обработке графики. Исследователи замеряют время выполнения таких операций и формируют на основе этого профили для конкретного ПК.

Все это используется во благо, для сбора статистики и оптимизации, но этот инструмент вполне можно кастомизировать и получить мощное оружие слежки за пользователями – это и есть основная опасность fingerprints – угроза конфиденциальности. Эта технология гораздо коварнее cookies. От нее сложнее защититься, и она полностью, с высокой вероятностью, лишает вас анонимности. Также стоит упомянуть о моральной стороне данной технологии, если пользователь явно запрещает себя идентифицировать и удаляет куки, то использование таких методов не этично. Идентификация тесно связана с аутентификацией. И действительно, если существуют такие мощные методы определения индивидуальности пользователя, зачем тогда вообще нужны пароли на вход? Всем известно, что из-за повышения вычислительной мощности компьютеров появилась потребность в более сложных паролях и частой их смене. Это сильно усложняет жизнь рядовому сотруднику. А если это экономический сектор, например, банк, и его пользователям нужно многократно проходить авторизацию? Сложные пароли не являются выходом в данной ситуации, поскольку клиент не любит долго ждать и сильно углубляться во внутренние процессы. Он хочет сделать свои операции быстро и четко, без особых препятствий, но при этом требователен к безопасности.

А как на счет отсутствия пароля? Можно ли при этом говорить о безопасности? Как показывает практика, такие условия можно создать. Вспомним о методе fingerprint. Пусть доступом к системе будет не пароль, чья надежность вызывает сомнения, а все те же многочисленные отслеживаемые параметры. Приведем пример. Есть сотрудник, с достаточно высоким доступом секретности коммерческой тайны. Ему нужно зайти в систему как можно быстрее. Тут и вступает в игру методы фингерпринтинга. Так называемая эшелонная защита. Сервер проверяет параметры устройства, с которого пытается зайти пользователь, от наименее затратного по ресурсам к более ресурсоемким.

  • Первый эшелон считывает всю доступную информацию об устройстве: от версии браузера, до шрифтов.
  • Второй эшелон – проверка ip на нахождении его во внутренней разрешенной базе ip адресов (white list) и на наличие в базе плохих адресов, которые используются злоумышленниками для взлома (black list). Если обнаруживается опасность, то автоматическая аутентификация прекращается.
  • Третий эшелон – профильная система. Каждому профилю сети соответствует идентификатор и при входе профиль проверяется на его существование в каталоге. Если данное соответствие не подтверждено, то доступ может быть отклонен или же направлен на многофакторную аутентификацию. Это сделано потому, что атакующие зачастую создают новые профили, чтобы можно было легко вписываться в повседневный трафик и избегать обнаружения. Поэтому система помечает такие профили.
  • Четвертый эшелон – анализ местоположения пользователя. Если запрос на аутентификацию поступил из местоположения, где у организации нет известных сотрудников, клиентов или партнеров, то он может быть отклонен или перенаправлен на многофакторное подтверждение личности.
  • Пятый эшелон связан с четвертым, но тем не менее является отдельным пунктом – анализ невозможных событий. Если доступ был зарегистрирован утром в одной точке страны, а потом через час совершенно в другом месте, то система заподозрит подвох и перенаправит на многофакторную аутентификацию или в безопасную зону.
  • Шестой эшелон опять же связан с геолокацией –  для обеспечения безопасности можно поставить географический барьер и все запросы извне, должны будут проходить дополнительные этапы подтверждения личности.
  • Седьмой эшелон – работа с телефонными номерами. Часто злоумышленники подделывают номер телефона законного пользователя, чтобы обмануть защиту и получить доступ. Другой способ – спамить рандомными кодами для получения доступа. Система отслеживает такие инциденты и блокирует доступ.
  • Восьмой эшелон – поведенческие шаблоны. Благодаря профильной системе, со временем, у каждого пользователя формируется уникальный биометрический шаблон. Он создается на основе взаимодействия пользователя со своим устройством, включая нажатия клавиш и движения мыши. Эти узоры так же уникальны, как и отпечаток человеческого пальца. Подражание злоумышленниками подобный нюансов практически невозможно.
  • Девятым эшелоном можно считать повышенную осторожность с профилями, которые имеют права на доступ к более конфиденциальной информации. Запросы с разными уровнем риска обрабатываются по-разному.

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

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

 

Список литературы:
1. Be careful what you copy: Invisibly inserting usernames into text with Zero-Width Characters// https://medium.com/@umpox/be-careful-what-you-copy-invisibly-inserting-usernames-into-text-with-zero-width-characters-18b4e6f17b66
2. Zero-Width Characters // https://www.zachaysan.com/writing/2017-12-30-zero-width-characters
3. Homoglyph // https://en.wikipedia.org/wiki/Homoglyph
4. FingerprintJS2// https://github.com/Valve/fingerprintjs2
5. Browser Fingerprint – анонимная идентификация браузеров // https://habrahabr.ru/company/oleg-bunin/blog/321294/
6. (Cross-)Browser Fingerprinting via OS and Hardware Level Features // http://yinzhicao.org/TrackingFree/crossbrowsertracking_NDSS17.pdf