Научная статья на тему 'ОБНАРУЖЕНИЕ АНОМАЛЬНОГО ПОВЕДЕНИЯ ПОЛЬЗОВАТЕЛЕЙ В ЖУРНАЛАХ СОБЫТИЙ БЕЗОПАСНОСТИ WINDOWS С ПРИМЕНЕНИЕМ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ'

ОБНАРУЖЕНИЕ АНОМАЛЬНОГО ПОВЕДЕНИЯ ПОЛЬЗОВАТЕЛЕЙ В ЖУРНАЛАХ СОБЫТИЙ БЕЗОПАСНОСТИ WINDOWS С ПРИМЕНЕНИЕМ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
273
52
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБНАРУЖЕНИЕ АНОМАЛИЙ / МАШИННОЕ ОБУЧЕНИЕ / ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Терских М.Г., Тишина Е.М.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Терских М.Г., Тишина Е.М.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANOMALY DETECTION OF USER’S ACTIVITY IN A JOURNAL OF WINDOWS SECURITY EVENTS WITH APPLICATION OF MACHINE LEARNING ALGORITHMS

The article is devoted to the detection of anomalies in the security event logs. Several characteristic coordinate spaces are considered. The article considers four algorithms of machine learning as a tool for detecting suspicious actions of system users. Proposed sequence of steps to achieve this goal.

Текст научной работы на тему «ОБНАРУЖЕНИЕ АНОМАЛЬНОГО ПОВЕДЕНИЯ ПОЛЬЗОВАТЕЛЕЙ В ЖУРНАЛАХ СОБЫТИЙ БЕЗОПАСНОСТИ WINDOWS С ПРИМЕНЕНИЕМ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ»

УДК 004.41

Терских М.Г. студент магистрант 2 курса факультет «Информатика и системы управления»

Тишина Е.М. студент магистрант 2 курса факультет «Информатика и системы управления»

МГТУим. Н.Э. Баумана Россия, г. Москва

ОБНАРУЖЕНИЕ АНОМАЛЬНОГО ПОВЕДЕНИЯ ПОЛЬЗОВАТЕЛЕЙ

В ЖУРНАЛАХ СОБЫТИЙ БЕЗОПАСНОСТИ WINDOWS С ПРИМЕНЕНИЕМ АЛГОРИТМОВ МАШИННОГО ОБУЧЕНИЯ

Аннотация:

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

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

Terskikh M.G. student of the Master's program of «Informatics and management systems» Bauman Moscow State Technical University

Russia, Moscow Tishina E.M. student of the Master's program of «Informatics and management systems» Bauman Moscow State Technical University

Russia, Moscow ANOMALY DETECTION OF USER'S ACTIVITY IN A JOURNAL OF WINDOWS SECURITY EVENTS WITH APPLICATION OF MACHINE LEARNING ALGORITHMS

Annotation:

The article is devoted to the detection of anomalies in the security event logs. Several characteristic coordinate spaces are considered. The article considers four algorithms of machine learning as a tool for detecting suspicious actions of system users. Proposed sequence of steps to achieve this goal.

Keywords: detection of anomalies, machine learning, information security.

Введение

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

Обнаружение подозрительного поведения, то есть аномалий основано на предположении, что поведение нарушителя будет существенно отличаться от нормального по тем или иным признакам [2; 3]. Такие признаки выделяются на основе определенного набора данных. В рамках данной статьи набор данных формируется из журналов событий безопасности Windows и имеет ряд показателей, характеризующих пользовательское поведение.

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

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

В анализе данных существует два направления, занимающихся поиском аномалий: выявление выбросов (Outlier Detection) и «новизны» (Novelty Detection). При выявлении выбросов обучающая выборка содержит выбросы, которые необходимо идентифицировать. В случае обнаружения новизны обучающая выборка не содержит выбросы, и целью является обнаружение аномалий в новых наблюдениях [5; 6].

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

нормальность, то это обнаружение новизны [7].

В исследовании используется несколько алгоритмов машинного обучения, которые часто применяются для выявления выбросов: метод опорных векторов для одного класса (One-Class SVM), изолирующий лес (Isolation Forest), фактор локального отклонения (Local Outlier Factor), эллипсоидальная аппроксимация данных (Elliptic Envelope).

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

Обоснование

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

Доменный контроллер - это сервер, контролирующий область компьютерной сети (домен), он решает определенный набор задач, в число которых входит аутентификация учетных записей и учёт логов действий над доменными объектами (над собой в том числе). Если пользователь работает на устройстве, входящем в домен, то следы его активности записываются в виде последовательности событий на доменных контроллерах [8].

Данные о совершённых операциях изначально поступают в необработанном виде, в виде текстового файла с логами. Исходные данные были сформированы с помощью решения IBM Security QRadar [9]. На контроллеры доменов, работающие под управлением операционной системы Windows, установлены агенты WinCollect, при помощи которых и происходит сбор логов. Журналы событий имеют свой формат, пример можно найти в официальной документации на IBM Security QRadar [10]. Несмотря на то, что эти данные являются структурированными, их необходимо предварительно подготовить для анализа, так как в них содержится много избыточной информации.

Основным инструментом исследования является язык программирования Python и несколько его библиотек. Библиотека Pandas используется для обработки и анализа данных, предоставляет специальные структуры данных и операции для манипулирования числовыми таблицами и временными рядами [11]. Реализация алгоритмов машинного обучения была взята из библиотеки Scikit-learn.

Общая схема, описывающая получившийся метод поиска аномалий, приведена на рисунке 2.

С.Чюр и загругкд лзнньо;

[ ГрсдоврлбоИи лакныл

Фвртнинше припадав

Построение модели

I

Ооученн!' модели

i ¡гнмьиивлиие модели

Анализ результатов

Рисунок 2 - Принцип работы разработанного в рамках статьи метода

ЭТАП 1. СБОР И ЗАГРУЗКА ДАННЫХ

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

Итак, как уже было отмечено выше, сбор данных осуществляется с помощью системы логирования событий IBM Security QRadar. Информация о событиях представлена в формате Log Event Extended Format (LEEF) [12]. Логирование происходит при помощи агентов WinCollect, установленных на доменных контроллерах. Собранные данные содержат множество полей, но в данной работе разбору и анализу подвергаются данные из следующих полей:

• EventID - идентификатор события;

• User - имя пользователя;

• Computer - доменный контроллер, на котором было зарегистрировано событие.

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

• Пользователя, который совершил какие-то действия;

• Идентификаторы событий, которыми характеризуется действие пользователя;

• Данные о том, сколько раз было вызвано каждое событие и на каком из доменных контроллеров было зафиксировано.

ЭТАП 2. ПРЕДОБРАБОТКА ДАННЫХ

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

нормализацию или стандартизацию данных [13].

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

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

ЭТАП 3. ФОРМИРОВАНИЕ ПРИЗНАКОВ

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

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

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

Идентификаторы событий, которые являются одним из атрибутов, могут отслеживаться в рамках обеспечения информационной безопасности Windows. Каждое событие в рамках исследования рассматривается отдельно. В дальнейшем планируется исследовать цепочки и взаимосвязь событий, это может помочь достичь лучших результатов. Для мониторинга безопасности стоит обращать внимание на следующием типы событий: действия в контроллерах доменов, вход/выход из системы, типы входов в систему, коды отказов Kerberos, коды ошибок NTLM [15].

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

версиях операционной системы Windows события обозначаются по-разному. Соответствия идентификаторов событий можно найти, например, в источнике [16].

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

Сначала координаты формировались следующим образом:

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

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

Пример распределения полученных точек в графическом виде представлен на рисунке 4.

Рисунок 4 - Визуализация входных данных для события 4725_629

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

Основное отличие нового способа формирования координат (с учётом весов) состоит в том, что оба измерения являются вещественными, в первом же случае вещественной была только ось X. Это могло приводить к тому, что по оси Y могли формироваться "ложные" кластеры.

В конечном итоге координаты формируются следующим образом:

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

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

Формулы для вычисления координат X и У, которые характеризуют каждого пользователя, представлены ниже, но перед этим дадим небольшие пояснения. Итак, индекс г обозначает конкретного пользователя, он принимает значения от 1 до п. Индекс / используется для обозначения доменных контроллеров, он принимает значения от 1 до ш.

где ОС^ - число событий ¿-го пользователя на /-ом контроллере.

Вес каждого /-ого контроллера домена может быть вычислен по формуле 2:

Ш- =

(2)

После того как вес каждого контроллера вычислен, по формуле 3 можно вычислить координату У\

г b¿j = 1;если ЙСу > О,

Уг =£7=1^ иначе Ьц — 0, (3)

Пример применения формул 1 и 3 для события с идентификатором 528, представлен на рисунке 5.

Пллылрпип!. «г псз РС9 И»

и ИТ 1 ыа 1 1а <1 7

ияг / зг* А 0 * 1 ?

ияг Э ыа 5 ■ Е □ 10

<'.улллля - м * Я

.V, - 19

Ш 19 7 9

Х,-7

10 14 Т 9

Рисунок 5 - Пример вычисления координат

Данные теперь не сконцентрированы около целых чисел по оси ординат. Пример распределения полученных точек в графическом виде представлен на рисунке 6.

s

" I I

Зипппшгу

Рисунок 6 - Визуализация входных данных для события 4725_629

По рисунку 6 видно, что точки сконцентрированы около осей, нельзя сказать, что они образуют собой кластер. Такая ситуация может повлиять на результат, так как в работе применяются алгоритмы, основанные на вычислении расстояния между соседями. Поэтому было решено использовать ещё один способ формирования координат - метод главных компонент (Principal Component Analysis, PCA). Этот метод позволяет выделить желаемое количество главных компонент, то есть уменьшить размерность данных, потеряв наименьшее количество информации. PCA аппроксимирует n-размерное пространство наблюдений до эллипсоида (тоже n-мерного), полуоси которого и будут являться главными компонентами. Проекция на такие оси сохраняет наибольшее количество информации. В силу специфики используемых алгоритмов машинного обучения, с помощью PCA было выделено два главных компонента. Метод реализован в библиотеке Scikit-learn для языка Python.

На рисунке 7 показан пример распределения полученных точек в графическом виде при использовании метода PCA. При таком распределении алгоритмы, основанные на вычислении расстояния, и векторные алгоритмы должны показывать лучшие результаты, так как теперь точки не так рассредоточены, как прежде.

в* к

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

йс;

3 м

о 4

V

ш

С1' я

к ■

л.

Рисунок 7 - Визуализация входных данных, сформированных с помощью РСА для события 4725_629

ЭТАП 4. ПОСТРОЕНИЕ МОДЕЛИ (ПО АЛГОРИТМУ)

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

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

Метод опорных векторов для одного класса (OneClassSVM)

Линейный алгоритм машинного обучения с учителем, который используется для задач классификации [17].

Основной идеей метода является перевод исходных векторов в пространство более высокой размерности и поиск разделяющей гиперплоскости с максимальным зазором в этом пространстве. Каждый объект данных представляется как точка в п-мерном пространстве (упорядоченный набор п чисел). Каждая из этих точек принадлежит только одному из двух классов.

В библиотеке Scikit-leam модель имеет параметры (ниже указаны значения по умолчанию):

ОпеОаэзЗУМ^егпеН'гЬГ, degree=3, gamma='auto', соеГО=0.0, М=0.001, nu=0.5, shrinking=True, cache_size=200, verbose=False, max_iter=-1, random_state=None)

При использовании данного алгоритма обычно обращают внимание на следующие параметры:

• kernel - ядро (полиномиальное (poly), радиальная базисная функция (rbf), линейное (linear), сигмоид (sigmoid));

• nu - верхняя граница для процента ошибок и нижняя для процента опорных векторов (0.5 по умолчанию);

• degree - степень для полиномиального ядра;

• gamma - коэффициент для функции ядра (1/n_features по умолчанию);

• coef0 - параметр для сигмоидального или полиномиального ядра.

Экспериментально было выявлено, что в качестве ядра стоит

использовать радиальную базисную функцию (Radial Basis Function, RBF), другие ядра не дают такой хороший результат на рассматриваемом наборе данных: при использовании других ядер в зону выбросов, отделённую от зоны нормальных объектов разделяющей поверхностью, не попадают точки, которые явно являются ими.

Изолирующий лес (IsolationForest)

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

В библиотеке Scikit-learn модель имеет параметры (ниже указаны значения по умолчанию):

IsolationForest(n_estimators=100, max_samples='auto', contamination=0.1, max_features=1.0, bootstrap=False, n_jobs=1, random_state=None, verbose=0)

При использовании данного алгоритма обычно обращают внимание на следующие параметры:

• n_estimators - число деревьев

• max_samples - объем выборки для построения одного дерева

• contamination - доля выбросов в выборке (для выбора порога)

• max_features - число признаков, которые используются при построении одного дерева

• bootstrap - включение режима бутстрепа при формировании подвыборки

Фактор локального отклонения (Local Outlier Factor)

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

В библиотеке Scikit-learn модель имеет следующие параметры (ниже

указаны значения по умолчанию):

LocalOutlierFactor(n_neighbors=20, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, contamination=0.1, n_jobs=1)

При использовании данного алгоритма обычно обращают внимание на следующие параметры:

• n_neighbors - количество соседей;

• algorithm - алгоритм поиска ближайших соседей;

• contamination - доля выбросов в выборке (для выбора порога);

• metric - способ вычисления расстояния от точки до соседей.

Обратим внимание на параметр n_neighbors, который был изучен в

рамках исследования. В [18] указано, что обычно количество учитываемых соседей задают равным 20. При изменении этого параметра в пределах от 3 до 100 значительного влияния на результат замечено не было. Можно отметить, что при значительном увеличении параметра заметно увеличивается время работы алгоритма, но влияния на результат по-прежнему нет. После варьирования параметра n_neighbors было решено использовать его значение по умолчанию.

Эллипсоидальная аппроксимация данных (Elliptic Envelope)

Одним из распространенных способов обнаружения выбросов является предположение о том, что данные поступают согласно распределению (например, данные распределены по Гауссу). Согласно этому предположению обычно пытаются определить "форму" данных. Данные, которые не лежат внутри или около этой "формы", можно считать выбросами.

При эллипсоидальной аппроксимации данных облако точек моделируется как внутренность эллипсоида. Метод хорошо работает на одномодальных данных и на нормально распределённых [7]. Набор данных, сформированный в рамках данной работы, считаем одномодальным, поскольку он имеет одну моду. Мода - величина изучаемого признака, которая в данной совокупности встречается наиболее часто, т.е. один из вариантов признака повторяется чаще, чем все другие. Для дискретного ряда (ряд, в котором значение варьирующего признака представлены отдельными числовыми показателями) модой является значение варьирующего признака обладающего наибольшей частотой.

Выбросы в данном алгоритме определяется по расстоянию Махалонобиса.

В библиотеке Scikit-learn модель имеет следующие параметры (ниже указаны значения по умолчанию):

EllipticEnvelope(store_precision=True,assume_centered=False,support_frac tion=None, contamination=0.1, random_state=None)

При использовании данного алгоритма обычно обращают внимание на параметр contamination - доля выбросов в выборке (для выбора порога).

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

значения, указанные выше. Во всех моделях было принято решение принять долю выбросов за 1 %, то есть contamination = 0.01.

Итоговые значения параметров рассматриваемых моделей указаны

ниже:

OneClassSVM(cache_size=200, coef0=0.0, degree=3, gamma-auto', kernel-rbf,

max_iter=-1, nu=0.5, random_state=None, shrinking-True, tol=0.001, verbose-False)

EllipticEnvelope(assume_centered=False, contamination=0.01,

random_state=None, store_precision=True, support_fraction=None)

IsolationForest(bootstrap=False, contamination=0.01, max_features=1.0, max_samples=8529, n_estimators=100, n_jobs=1, random_state=<mtrand.RandomState object at 0x7f755013d240>, verbose-0)

Ьоса10и111егЕас1ог(а1§ог11Ьт='аи1о', соп!атта1:юп=0.01, leaf_size=30, metric=,minkowski,, metгic_paгams=None, n_jobs=1, n_neighboгs=20, Р=2)

ЭТАП 5. ОБУЧЕНИЕ МОДЕЛИ

Итак, модели были построены, теперь их необходимо обучить на наборе данных, описанном выше.

ЭТАП 6. ИСПОЛЬЗОВАНИЕ МОДЕЛИ

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

На рисунке 8 показаны результаты работы алгоритмов при формировании координат с учётом веса для события 4725_629, это событие совершили 246 различных пользователей, это значит, что в рассматриваемом наборе данных всего присутствует 246 точек.

Рисунок 8 - результаты работы алгоритмов One-Class SVM, Isolation Forest, Local Outlier Factor, Elliptic Envelope при формировании координат

с учётом веса для события 4725_629

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

Рисунок 9 - результаты работы алгоритмов One-Class SVM, Isolation Forest, Local Outlier Factor, Elliptic Envelope при формировании координат с помощью метода PCA для события 4725_629

В таблице 1 отражены результаты работы алгоритмов при формировании координат с учётом веса и с помощью метода PCA для события 4725 629.

Таблица 1. Результаты работы алгоритмов при различных способах формирования координат для события 4725_629_

Алгоритм One-Class SVM Isolation Forest Local Outlier Factor Elliptic Envelope

Формирование координат, показывающих активность пользователя, с учётом веса

Выявленное количество выбросов 15 3 3 3

Формирование координат методом PCA

Выявленное количество выбросов 79 3 3 3

По таблице 1 видно, что метод опорных векторов для одного класса (One-Class SVM) обнаружил больше аномалий, чем другие три алгоритма. Причём, данная ситуация наблюдается как при формировании координат с учётом веса, так и при формировании координат методом PCA.

Метод опорных векторов применяется для поиска аномалий в системах, где нормальное поведение представляется только одним классом. Данный метод определяет границу региона, в котором находятся экземпляры нормальных данных. Для каждого исследуемого экземпляра определяется, находится ли он в определенном регионе. Если экземпляр оказывается вне региона, он определяется как аномальный [19].

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

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

Этап 7. Анализ результатов

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

Как уже было сказано ранее, каждая точка соответствует одному

пользователю. Был получен список аномальных точек и соответственно пользователей по каждому из четырех алгоритмов для каждого события. Затем были найдены пересечения, то есть то, как часто пользователь был выявлен алгоритмами аномальным. Отметим, что пересечения искались отдельно по координатам, сформированным с помощью метода РСА и отдельно для взвешенных координат.

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

Ниже приведены диаграммы с пользователями с максимальной частотой встречаемости в списке аномалий для координат, сформированных с помощью метода РСА и для взвешенных координат, отражающих активность пользователя на рисунках 10 и 11 соответственно. На данных рисунках отображены только те пользователи, чья частота встречаемости в событиях равняется трём и больше. Пользователей с частотой встречаемости два очень много, в графическом виде их представлять не очень удобно.

Рисунок 10 - пользователи с максимальной частотой встречаемости в числе аномалий для координат полученных с помощью метода РСА

||Ш1.......

Рисунок 11 - пользователи с максимальной частотой встречаемости в числе аномалий для взвешенных, координат, отражающих активность пользователя

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

Таблица 2. Соответствие типа учетной записи и сокращения при обезличивании информации._

Тип учетной записи Сокращение

Учетная запись специального назначения Admin_N

Пользовательская учетная запись User_N

Учетная запись сервера Server_N$

Запись похожая на пароль и т.п. Trash_N

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

В таблице 3 приведён список идентификаторов и их расшифровок. Пользователь №ег_22 был детектирован, как аномальный именно в событиях, представленных в таблице 3.

Таблица 3. Список идентификаторов событий событий для учетной записи №ег_22, в которых она была признана аномальной._

Идентифи катор события Значение идентификатора PCA Взвешенные координаты

4726_630 A user account was deleted - +

4733_637 A member was removed from a security-enabled local group + +

4737_641 A security-enabled global group was changed + +

4729_633 A member was removed from a security-enabled global group + +

4755_659 A security-enabled universal group was changed + +

4756_660 A member was added to a security-enabled universal group + +

4757_661 A member was removed from a security-enabled universal group + -

4760_664 A security-disabled universal group was changed + -

Из таблицы 3 видно, что идентификаторы пяти событий из восьми встретились в обоих пространствах координат. По описанию идентификаторов событий также можно заметить, что все, кроме события с ID 4726_630 относятся к изменениям в группах AD [20].

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

Заключение

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

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

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

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

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

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

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

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

Использованные источники:

1. Алпеев, А. С. Терминология безопасности: кибербезопасность, информационная безопасность / А. С. Алпеев // Вопросы кибербезопасности. - 2014. - №5(8). - С. 39 - 42.

2. Glenn, M. Security Analytics: Using Deep Learning to Detect Cyber Attacks. Master's thesis. University of North Florida, Florida, 2017.

3. Gilmore, C. Anomaly Detection and Machine Learning Methods for Network Intrusion Detection: an Industrially Focused Literature Review. / C. Gilmore // Materials of Int'l Conf. Security and Management (SAM'16) - 2016. - C. 292298.

4. Blomquis H. Anomaly detection with Machine learning / H.Blomquis / J. Möller // Uppsala University - 2015 [Электронный ресурс]. Дата обновления: 01.05.2016. - URL: https://uu.diva-portal.org/smash/get /diva2:846985/FULLTEXT01 .pdf (дата обращения: 30.01.2018).

5. Sunil, R. A Comprehensive Guide to Data Exploration. - 2016 [Электронный ресурс]. Дата обновления: 10.01.2016. - URL: https://www.analyticsvidhya.com/ blog/2016/01/guide-data-exploration/ (дата обращения: 22.01.2018).

6. Srinath, P. Introduction to Anomaly Detection: Concepts and Techniques. -2015 [Электронный ресурс]. Дата обновления: 17.11.2015. - URL: https://iwringer.wordpress.com/2015/11/17/anomaly-detection-concepts-and-techniques/ (дата обращения: 30.01.2018).

7. Дьяконов, А. Г. Выявление аномалий в работе механизмов методами машинного обучения / А.Г. Дьяконов / А. М. Головина // Труды XIX Международной конференции «Аналитика и управление данными в областях с интенсивным использованием данных» (DAMDID/ RCDL'2017). -2017. - С. 389 - 396. http://ceur-ws.org/Vol-2022/paper59.pdf+

8. Machine Learning Techniques for the Domain of Anomaly Detection for Computer Security - Terran Lane Purdue University Department of Electrical and Computer Engineering and the COAST Laboratory 1998.

9. На страже безопасности: IBM QRadar SIEM: Блог компании МУК. - 2017 [Электронный ресурс]. Дата обновления: 31.03.2017. - URL: https://habrahabr.ru/company/muk/blog/325330/ (дата обращения: 30.01.2018). 10.Sample event messages: Документация на IBM QRadar Security Intelligence Platform 7.2.6. - 2015 [Электронный ресурс]. Дата обновления: 30.01.2018. -

URL:

https://www.ibm.com/support/knowledgecenter/SS42VS DSM/c dsm guide Centrify Server Suite overview sample event msg.html?cp=SS42VS 7.2.6 (дата обращения: 30.01.2018).

11.Animesh, P. An overview of anomaly detection techniques: Existing solutions and latest technological trends. - 2007. - C.3448 - 3470 (https://cs.brown.edu/courses/cs227/papers/anomoly-survey.pdf)

12.Universal LEEF: Документация на IBM QRadar Security Intelligence Platform 7.2.1. - 2015 [Электронный ресурс]. Дата обновления: 30.01.2018. -URL:

https://www.ibm.com/support/knowledgecenter/SS42VS DSM/c DSM guide U niversalLEEF_intro. html?cp=SS42VS_7.2.1 #c_dsm_guide_universalleef_intro (дата обращения: 30.01.2018).

13. Введение в машинное обучение с помощью Python и Scikit-Learn: Блог компании MLClass. - 2015 [Электронный ресурс]. Дата обновления: 13.01.2015. - URL: https://habrahabr.ru/company/mlclass/blog/247751/ (дата обращения: 20.02.2018).

14.Искусство Feature Engineering в машинном обучении: блог компании MLClass. - 2015 [Электронный ресурс]. Дата обновления: 17.01.2015. - URL: https: //habrahabr.ru/company/mlclass/blog/248129/ (дата обращения: 20.02.2018)

15. 10 критически важных event ID для мониторинга: Блог компании Netwrix. — 2012 [Электронный ресурс]. Дата обновления: 26.07.2012. — URL: https://habrahabr.ru/ company/netwrix/blog/148501/ (дата обращения: 24.01.2018).

16.Windows Security Log Encyclopedia: Ultimatewindowssecurity. - 2018 [Электронный ресурс]. Дата обновления: 21.01.2018. - URL: https://www.ultimatewindowssecurity.com/ (дата обращения: 21.01.2018).

17.Воронцов, К.В. Лекции по методу опорных векторов. - 2007 [Электронный ресурс]. Дата обновления: 21.12.2007. - URL: http://www.ccas.ru/voron/ download/SVM.pdf (дата обращения: 30.01.2018).

18.Novelty and Outlier Detection: Документация на библиотеку Sckit. - 2018 [Электронный ресурс]. Дата обновления: 30.01.2018. - URL: http://scikit-learn.org/ stable/modules/outlier detection.html (дата обращения: 30.01.2018).

19.Шкодырев, В.П. Обзор методов обнаружения аномалий в потоках данных / В.П. Шкодырев / К.И. Ягафаров / В.А. Баштовенко / Е.Э. Ильина // Конференция: Second Conference On Software Engineering and Information Management (SEIM-2017). - 2017. - С. 40 - 46. http://ceur-ws.org/Vol-1864/paper 33.pdf

20.Политики аудита изменений в Active Directory: Блог WinlTPro. - 2017 [Электронный ресурс]. Дата обновления: 04.12.2017. - URL: http://winitpro.ru/ index.php/2013/06/11/audit-izmeneniya-v-active-directory/ (дата обращения: 23.03.2018).

i Надоели баннеры? Вы всегда можете отключить рекламу.