Безопасность №13, июнь 2020

Веб-ориентированная обманная система для выявления хакеров

Андрей Вишневский Петр Ключарёв

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

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

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

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

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

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

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

В качестве примера ниже приведены обнаруженные запросы атакующих к несуществующим потенциально уязвимым страницам входа в административные панели WordPress и Bitrix (атакующие собирают ссылки на страницы авторизации для последующего перебора паролей):

– – [31/Jan/2017:02:06:43 +0100] “GET /admin/HTTP/1.1” 404 445 “-” “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MRSPUTNIK 2, 4, 0, 270; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET4.0C)”
– – [27/Jun/2017:06:09:01 +0200] “GET /bitrix/admin/index.php HTTP/1.1” 404 517 “http://italian-cards.ru/bitrix/admin/index.php” “Mozilla/5.0 (compatible; uCrawlr/1.0; +https://blog.ucoz.ru/upolicy)”

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

Рис. 1. Пример тестов на знание английского языка.

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

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

Эволюция технологии отслеживания веб-приложениями поведенческих признаков

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

С развитием технологий искусственного интеллекта списки посещенных веб-страниц стали обрабатываться с помощью алгоритмов машинного обучения, которые могут распознать, какие шаблоны поведения характерны для хакеров, а какие – для обычных пользователей. Успешное применение такого статистического обучения защитных систем спровоцировало интерес к анализу больших данных о поведении пользователей Интернета. В частности, по полученным от антивирусной компании Symantec историям веб-запросов 160 тысяч пользователей компьютеры были классифицированы на подверженные риску заражения и находящиеся в безопасности. Классификация опиралась на количество веб-запросов пользователя, время наибольшей активности, разнообразие посещаемых веб-сайтов и их категории, тип устройства, с которого пользователь выходил в Интернет, популярность посещенных веб-страниц, устойчивость списка посещаемых интернет-ресурсов. Было показано, что чем больше различных сайтов посещает пользователь и чем чаще он посещает веб-сайты с агрессивным контентом, тем выше риск заражения его
компьютера.

Затем для выявления аномального поведения стали использоваться тонкие методы сравнения интересов конкретного пользователя с интересами большинства. В погоне за точностью идентификации подозрительного посетителя были предложены эффективные методы деанонимизации браузеров, выполняющихся в режиме конфиденциального просмотра (например, режим инкогнито в браузере Chrome и режим приватного просмотра в браузере Mozilla Firefox), и методы обнаружения пользователей браузера Tor, опубликованные в 2015, 2016 годах. В качестве признаков на вход нейронной сети подавали скорость передачи данных, время отклика, джиттер и число потерянных сетевых пакетов.

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

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

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

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

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

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

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

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

С развитием технологий искусственного интеллекта списки посещенных веб-страниц стали обрабатываться с помощью алгоритмов машинного обучения, которые могут распознать, какие шаблоны поведения характерны для хакеров, а какие – для обычных пользователей. Успешное применение такого статистического обучения защитных систем спровоцировало интерес к анализу больших данных о поведении пользователей Интернета. В частности, по полученным от антивирусной компании Symantec историям веб-запросов 160 тысяч пользователей компьютеры были классифицированы на подверженные риску заражения и находящиеся в безопасности. Классификация опиралась на количество веб-запросов пользователя, время наибольшей активности, разнообразие посещаемых веб-сайтов и их категории, тип устройства, с которого пользователь выходил в Интернет, популярность посещенных веб-страниц, устойчивость списка посещаемых интернет-ресурсов. Было показано, что чем больше различных сайтов посещает пользователь и чем чаще он посещает веб-сайты с агрессивным контентом, тем выше риск заражения его
компьютера.

Затем для выявления аномального поведения стали использоваться тонкие методы сравнения интересов конкретного пользователя с интересами большинства. В погоне за точностью идентификации подозрительного посетителя были предложены эффективные методы деанонимизации браузеров, выполняющихся в режиме конфиденциального просмотра (например, режим инкогнито в браузере Chrome и режим приватного просмотра в браузере Mozilla Firefox), и методы обнаружения пользователей браузера Tor, опубликованные в 2015, 2016 годах. В качестве признаков на вход нейронной сети подавали скорость передачи данных, время отклика, джиттер и число потерянных сетевых пакетов.

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

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

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

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

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

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

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

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

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

Структура веб-ориентированной обманной системы

Нами была разработана и введена в эксплуатацию обманная система, в состав которой входил набор из двадцати доменных имен в зоне .ru, привязанных к сайтам на одном выделенном сервере. На сервере был установлен HTTP-сервер Apache и выложены HTML-файлы с текстом и изображениями. Текст страниц на каждом из двадцати веб-сайтов соответствовал названию домена и был посвящен изучению одного из иностранных языков. Например, в доменном имени сайта-самоучителя по корейскому языку присутствовала подстрока korean. Полные имена сайтов, как и сетевые адреса посетителей веб-сайтов, не публикуются, чтобы не разглашать персональные данные.

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

Рис. 2. Структурная схема обманной системы.

Принцип работы

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

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

Хотя людей, владеющих двумя языками, достаточно много чаще всего они знают диалекты одного языка или государственные языки соседних стран. Например, в Европейском союзе людей, которые говорят одновременно на трех иностранных языках, не более 10%. Поэтому решение обманной системы о том, что запрос исходит от поискового робота, принимался, если с IP-адреса было посещено хотя бы два подконтрольных сайта.

Способ сбора подозрительных IP-адресов

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

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

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

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

Описание и результаты эксперимента

Журналы веб-сервера накапливались с января по декабрь 2017-го года. В них были зафиксированы запросы атакующих к потенциально уязвимым веб-страницам. Статистика геолокации IP-адресов показала основные тренды атак на домены в зоне .ru. Геоданные были получены с помощью сервиса Maxmind.

Рис. 4. Статистика атак на сайты об изучении корейского, китайского, немецкого языков и иврита.

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

Можно заметить, что распределение стран-источников атак отличается от распределения стран, из которых заходили обычные пользователи. Интерес русскоязычных пользователей к изучению иврита можно объяснить культурными связями, так же, как и востребованность материалов по немецкому языку среди жителей Нидерландов. С другой стороны, атаки с российских и украинских IP-адресов были распределены равномерно по всем сайтам, за исключением корейского языка.

Чаще всего атаки исходили с украинских IP-адресов, а самые продолжительные атаки осуществлялись с американских IP на домен, в название которого входила подстрока «korean». Вероятно, на тот момент активно исследовались корейские веб-ресурсы в связи с напряженной политической обстановкой в тихоокеанском регионе.

Классифицированные IP-адреса по двум странам из общего списка были проверены вручную и просканированы в авторитетном репутационном сервисе Virustotal. Портал Virustotal объединяет в себе экспертные знания о вредоносных файлах, ссылках и IP-адресах, собранные в 67-ми крупнейших антивирусных компаниях мира. В инфраструктуры этих компаний входят в том числе и обманные системы, на основе которых и публикуются данные о подозрительных IP-адресах. Это крупнейший мировой агрегатор признаков вредоносных файлов и компьютерных атак, который принадлежит информационному гиганту – Google.

Среди вручную подтвержденных источников атак Virustotal предупредил об опасности только в 21% случаев, т.е. приблизительно четыре из пяти IP-адресов, с которых осуществлялись попытки подбора паролей, несанкционированной авторизации и эксплуатации уязвимостей в сайтах, расположенных в доменной зоне .ru, Virustotal посчитал безопасными.

На основании ручной проверки по двум странам были перепроверены результаты классификации. Точность классификации составила 94-97%, а полнота составила 97-98%. На точность негативно повлияли ложные срабатывания на безопасные обращения поисковых роботов к несуществующим страницам. Полноту обнаружения атак снизили неожиданные опасные сетевые запросы, в которых эксплуатация осуществлялась не через путь к запрашиваемой веб-странице, а через поле User-agent. Таким образом, созданная обманная система оказалась способной успешно обнаруживать источники неизвестных атак.

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