Алгоритмы обладают огромным потенциалом для обнаружения кибератак и борьбы с ними. Почему они так редко используются?

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

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

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

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

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

Использование машинного обучения для обнаружения вторжений

Исследования машинного обучения для обнаружения вторжений начались примерно в 1987 году [1]. С тех пор это стало предметом исследований. Правильно подобранный алгоритм машинного обучения может обнаруживать не только известные шаблоны атак, но и новые атаки.

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

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

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

Проблема с несбалансированными данными

Данные о вторжении очень малы по сравнению с объемом обычных данных. В результате эти наборы данных сильно несбалансированы. Например, только 3,2% одного файла в наборе данных UNSW-NB15 содержат примеры атак. Когда машинное обучение применяется к этим несбалансированным наборам данных, недостаточно смотреть только на точность.

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

Если набор данных содержит 1000 записей и три записи являются атаками, то алгоритм, который просто предсказывает, что ни одна из записей не является атакой, f (X) = 0, приведет к точности 99,7%.

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

В примере, где f (X) = 0, истинно положительный результат равен 0%, что означает, что ни одна из атак не была обнаружена. Это неприемлемо для алгоритма, который должен обнаруживать атаки, даже если он имеет высокий показатель точности.

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

В другом примере предположим, что в наборе данных из 1000 записей, где три записи являются атаками, алгоритм находит все три записи об атаках, но также неверно предсказывает 100 атак, которые на самом деле были нормальными. В этом случае оценка точности 90% не так уж и плоха, но частота ложных срабатываний составляет 10%, что означает, что аналитикам-людям нужно будет тратить время на анализ ложных тревог.

В поисках хорошего набора данных

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

Самый ранний набор данных, KDD Cup 1999, был создан в рамках Третьего международного конкурса инструментов для обнаружения и интеллектуального анализа данных [3]. Целью конкурса было создание системы обнаружения сетевых вторжений. Набор данных был основан на сетевых данных за девять недель, которые были получены из смоделированной локальной сети ВВС. Необработанные сетевые данные были обработаны для создания набора данных CSV. Он включал четыре основных типа атак: отказ в обслуживании; несанкционированный доступ с удаленного компьютера; несанкционированный доступ к локальной привилегированной учетной записи; и зондирование.

Одна из самых больших проблем в машинном обучении для обнаружения вторжений - найти хороший набор данных для тестирования.

Хотя набор данных KDD Cup 1999 был полезен для первоначального соревнования и для последующих исследований, это был почти единственный набор данных, который использовался для исследований по обнаружению вторжений более 15 лет. Со временем набор данных подвергся критике за то, что он содержит повторяющиеся записи и является репрезентативным для устаревших технологий. Компьютеры и сети значительно изменились за 15 лет.

С тех пор многие исследователи создали более современные наборы данных для устранения недостатков KDD Cup 1999. В частности, набор данных UNSW-NB15 был создан в 2015 году и представляет собой более современную сеть [4]. Он был создан в симуляторе и включал помеченные данные, а также IP-адреса компьютерных систем.

UNSW-NB15 более несбалансирован, чем набор данных KDD Cup 1999, с гораздо меньшим количеством записей об атаках по сравнению с обычными записями. На момент написания набору данных UNSW-NB15 пять лет. Неясно, как долго это будет полезно для исследования, но новые подходы к созданию наборов данных позволяют создавать их с гораздо меньшими усилиями [5].

Будущее направление

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

использованная литература

[1] Д. Э. Деннинг, Модель обнаружения вторжений (1987), IEEE Transactions on Software Engineering, (2), 222–232.

[2] Р. Соммер и В. Паксон, За пределами закрытого мира: использование машинного обучения для обнаружения сетевых вторжений (2010 г., май), Симпозиум IEEE по безопасности и конфиденциальности, 305–316

[3] Калифорнийский университет, Ирвин, Данные KDD Cup 1999 (1999).

[4] Н. Мустафа, Набор данных UNSW_NB15 (2019), IEEE Dataport

[5] Н. Мустафа, Набор данных Bot-IoT (2019), IEEE Dataport