За последние несколько десятилетий значительные технологические достижения позволили снизить затраты и обеспечить более широкий доступ к персональным компьютерам. Однако увеличение использования вычислительных устройств также сопровождается увеличением числа кибератак, которым подвергаются пользователи. Кибератаки являются самым быстрорастущим преступлением в Соединенных Штатах, и, по прогнозам, к 2021 году киберпреступность будет стоить компаниям 6 триллионов долларов США ежегодно [1]. Крупномасштабные кибератаки, такие как WannaCry, также привлекли значительное внимание общественности, в ходе которых более 200 000 пользователей Windows зашифровали свои личные файлы и были вынуждены платить выкуп [2].

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

Windows является доминирующей операционной системой для настольных компьютеров во всем мире, и по состоянию на июль 2019 года ее доля на рынке оценивается в 77,61% [3]. По оценкам, последняя версия Windows [4] работает на 800 миллионах устройств, что делает ее большим целевым рынком. Обзор текущих исследований, проведенных в области защиты от APT для операционной системы Windows, выявил предыдущую работу, проделанную Tuor et al. [5], который реализовал нейронную сеть для обнаружения аномалий. Таким образом, цель этого проекта состоит в том, чтобы реализовать и повторить модели, предложенные в [5].

Методология

С нейронной сетью использовалось подмножество общедоступного набора данных «Комплексные события кибербезопасности с несколькими источниками», опубликованного Лос-Аламосской национальной лабораторией [6]. Выбранный набор данных содержит более 1,6 миллиарда событий аутентификации, зарегистрированных во внутренней сети за 58 дней. Всего в соответствующих данных, используемых для тестирования, было выявлено 386 журналов вредоносных событий. Формат журнала и пример журнала показаны ниже на рисунке 1.

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

Поскольку журналы событий упорядочены по времени и последовательны, были выбраны рекуррентные нейронные сети (RNN), поскольку они способны изучать отношения в данных и делать подходящие прогнозы. Чтобы получить наиболее эффективную модель, были проведены сравнения между стандартной моделью RNN, усовершенствованной моделью долговременной памяти (LSTM), а также двунаправленными версиями обеих моделей. В дополнение к хранению кратковременной памяти от токенов, которые находятся рядом со следующим предсказанным токеном, сети LSTM превосходят традиционные RNN, поскольку они также могут записывать долгосрочную предыдущую информацию в скрытых состояниях. В двунаправленной модели RNN этот процесс хранения памяти происходит в обоих направлениях; маркер, который появляется позже, также используется для предсказания предыдущего маркера. Это позволяет алгоритму работать независимо от порядка, в котором поля появляются в журнале, что делает его подходящим выбором в том случае, когда оптимальный порядок полей неизвестен. В статье Туора и др. в [5] для этой цели был реализован двунаправленный LSTM, и опубликованные результаты были выбраны в качестве основы для справки и сравнения.

Предварительное тестирование

Базовая производительность была впервые записана с использованием входного размера встраивания 50 с 2 скрытыми единицами в слое RNN / LSTM. Эти числа были выбраны произвольно и будут изменены в разделе настройки гиперпараметров после того, как будет записана базовая производительность. Нейронные сети были созданы с использованием Keras API и бэкенда Tensorflow, а их обучение проводилось на платформе Intel DevCloud, которая предоставляет оптимизированные фреймворки для более эффективного обучения и оценки. Полученные результаты показаны в Таблице 1 ниже.

Оптимизированная структура показывает более высокий уровень истинных положительных результатов 83,1% со значительно более низким уровнем ложных срабатываний 5,56%. Было отмечено, что двунаправленная модель SimpleRNN работает лучше, чем двунаправленная модель LSTM. Это может быть связано с тем, что входные последовательности имеют относительно короткую длину; в результате этого нет улучшения, если модель использует долговременную память для запоминания токенов, которые находятся далеко друг от друга. Также было замечено, что двунаправленные модели работают лучше, чем их традиционные однонаправленные аналоги. Это связано с тем, что оптимальный порядок полей в каждой входной последовательности неизвестен; Следовательно, двунаправленные модели могут игнорировать эту неопределенность, принимая во внимание оба направления распространения. Результаты, полученные с помощью различных моделей, демонстрируют более высокую производительность по сравнению с выводами, представленными в справочном документе с использованием токенизации на уровне слов. Это может быть связано с различиями в методе, используемом для настройки данных и в настройке модели.

Доработка и настройка

Дальнейшая оптимизация также была выполнена путем настройки гиперпараметров сети. Однослойные нейронные сети могут представлять только линейно разделимые функции, где прогнозируемые классы могут быть легко разделены [7]. Использование сети с несколькими слоями позволяет моделировать более сложные функции. Это потенциально может повысить точность прогнозирования нейронной сети, если проблема требует модели глубокого обучения. В результате на работоспособность также была протестирована модель, включающая дополнительный плотный слой. Результаты этих испытаний приведены в таблице 2.

Результаты, полученные в таблице 2, показывают увеличение истинно положительного уровня и, соответственно, более высокий уровень ложных срабатываний с увеличением входного размера встраивания и количества скрытых единиц в слое LSTM. С другой стороны, добавление плотного слоя привело к значительному снижению доли истинных положительных результатов, в то время как доля ложных положительных результатов снизилась на 33% по сравнению с результатами исходной модели. В контексте этой проблемы приоритет отдается точности, и в результате определяется, что модель лучше работает без дополнительного плотного слоя.

Заключение

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

Ссылки

[1] Морган, С. (2018). По прогнозам, к 2021 году глобальный ущерб от киберпреступлений достигнет 6 триллионов долларов в год. Получено из журнала Cybercrime Magazine: https://cybersecurityventures.com/cybercrime-damages-6-trillion-by-2021/

[2] Пайпер, Э. (2017). Кибератака поразила 200 000 человек как минимум в 150 странах: Европол. Получено от Reuters: https://www.reuters.com/article/us-cyber-attack-europol/cyber-attack-hits-200000-in-at-least-150-countries-europol-idUSKCN18A0FX

[3] Счетчик статистики. (2018). Доля рынка операционных систем для настольных ПК в мире. Получено из Statcounter: https://gs.statcounter.com/os-market-share/desktop/worldwide#monthly-201807-201807-map

[4] Майкрософт. (н.д.). Microsoft в цифрах. Получено с сайта Microsoft: https://news.microsoft.com/bythenumbers/en/windowsdevices

[5] Туор, А., Бэрвольф, Р., Ноулз, Н., Хатчинсон, Б., Николс, Н., и Джаспер, Р. (2018). Рекуррентные языковые модели нейронных сетей для обнаружения кибераномалий на уровне событий открытого словаря. Материалы семинара AAAI-2018 по искусственному интеллекту в кибербезопасности.

[6] Кент, А. (2015). Источники данных о кибербезопасности для исследования динамических сетей. Динамические сети в кибербезопасности.

[7] Браунли, Дж. (27 июля 2018 г.). Мастерство машинного обучения. Доступно: https://machinelearningmastery.com/how-to-configure-the-number-of-layers-and-nodes-in-a-neural-network/