Обнаружение аномалий является динамическим методом работы антивирусов, хостовых и сетевых систем обнаружения вторжений. При использовании этого метода программное обеспечение наблюдает определённые действия (работу программы/процесса, параметры сетевого трафика, работу пользователя), следя за возможными необычными и подозрительными событиями или тенденциями.
В контексте обнаружения сетевых аномалий/вторжений и обнаружения злоупотреблений интересные события часто не являются чем-то редким – они просто необычны. Например, неожиданные скачки активности обычно заметны, хотя такой всплеск активности может выходить за рамки многих традиционных методов обнаружения статистических аномалий.
Виды аномалий
Прежде чем изучать методы обнаружения, нужно выяснить, с какими аномалиями обычно приходится сталкиваться:
Точечная аномалия: отдельные аномальные экземпляры в большом наборе данных. Иными словами, когда точка данных принимает значение, выходящее далеко за пределы всех других диапазонов значений точек данных в наборе данных, это можно рассматривать как точечную аномалию. Это редкое событие.
Коллективная аномалия: представлены подмножеством точек данных, которые отклоняются от нормального поведения. При коллективной аномалии отдельные экземпляры могут быть не аномальными сами по себе, однако их коллективное появление является аномальным.
Контекстная аномалия: выброс называется контекстным, когда его значение не соответствует тому, что мы ожидаем наблюдать для аналогичной точки данных в том же контексте. Контексты обычно временны, и одна и та же ситуация, наблюдаемая в разное время, не может быть исключением.
Классы методов обнаружения аномалий
Существует три основных класса методов обнаружения аномалий. По сути, правильный метод обнаружения аномалий зависит от доступных меток в наборе данных.
Для контролируемых методов обнаружения аномалий требуется набор данных с полным набором меток «нормальных» и «аномальных» для работы алгоритма классификации. Этот вид техники также включает в себя обучение классификатора. Это похоже на традиционное распознавание образов, за исключением того, что при обнаружении выбросов возникает естественный сильный дисбаланс между классами. Не все алгоритмы статистической классификации хорошо подходят для несбалансированного характера обнаружения аномалий.
Методы полуконтролируемого обнаружения аномалий используют обычный помеченный набор обучающих данных для построения модели, представляющей нормальное поведение. Затем они используют эту модель для обнаружения аномалий, проверяя, насколько вероятно, что модель будет генерировать любой встреченный экземпляр.
Неконтролируемые методы обнаружения аномалий выявляют аномалии в немаркированном тестовом наборе данных исключительно на основе внутренних свойств этих данных. Рабочее предположение состоит в том, что, как и в большинстве случаев, подавляющее большинство экземпляров в наборе данных будут нормальными. Алгоритм обнаружения аномалий затем обнаружит экземпляры, которые кажутся наименее конгруэнтными остальным наборам данных.
Методы обнаружения аномалий
Существуют различные методы обнаружения аномалий. В зависимости от обстоятельств один может быть лучше других для конкретного пользователя или набора данных.
Обнаружение аномалий на основе кластеризации
Обнаружение аномалий на основе кластеризации остается популярным в неконтролируемом обучении. Он основан на предположении, что сходные точки данных имеют тенденцию объединяться в группы, что определяется их близостью к локальным центроидам.
Метод K-средних, широко используемый алгоритм кластеризации, создает k похожие кластеры точек данных. Затем пользователи могут настроить системы на пометку экземпляров данных, не входящих в эти группы, как аномалии данных. Как неконтролируемый метод, кластеризация не требует маркировки данных.
Алгоритмы кластеризации могут быть развернуты для захвата аномального класса данных. Алгоритм уже создал множество кластеров данных на обучающей выборке, чтобы рассчитать порог аномального события. Затем он может использовать это правило для создания новых кластеров, предположительно собирающих новые аномальные данные.
Однако кластеризация не всегда работает для данных временных рядов. Это связано с тем, что данные отображают эволюцию с течением времени, но метод создает фиксированный набор кластеров.
Обнаружение аномалий на основе плотности
Методы обнаружения аномалий на основе плотности требуют помеченных данных. Этот метод обнаружения аномалий основан на предположении, что нормальные точки данных, как правило, встречаются в плотном окружении, в то время как аномалии появляются нечасто.
Существует два типа алгоритмов для такого типа оценки аномалий данных:
- K-ближайшие соседи (k-NN) – это базовый непараметрический контролируемый метод машинного обучения, который можно использовать либо для регрессии, либо для классификации данных на основе показателей расстояния, таких как евклидово расстояние, расстояние Хэмминга, Манхэттена или расстояние Минковского.
- Фактор локального выброса (LOF), также называемый относительной плотностью данных, основан на расстоянии досягаемости.
Обнаружение аномалий на основе машины опорного вектора
Машина опорных векторов (SVM) обычно используется в контролируемых настройках, но расширения SVM также можно использовать для выявления аномалий для некоторых немаркированных данных. SVM – это нейронная сеть, которая хорошо подходит для классификации линейно разделимых бинарных шаблонов – очевидно, чем лучше разделение, тем четче результаты.
Такой алгоритм обнаружения аномалий может изучить более мягкую границу в зависимости от целей кластеризации экземпляров данных и правильного выявления аномалий. В зависимости от ситуации такой детектор аномалий может выводить числовые скалярные значения для различных целей.
Обнаружение аномалий – это идентификация точек данных в данных, которые не соответствуют обычным шаблонам. Это может быть полезно для решения многих задач, включая обнаружение мошенничества, вторжений, дефектов и т.п.