www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Машинное обучение для кибербезопасности 101

Дата публикации Oct 4, 2018

ID 52033957 © Everett Collection Inc. | Dreamstime.com

Значительное количество статей посвящено машинному обучению для обеспечения кибербезопасности и возможности защитить нас от кибератак. Тем не менее, важно тщательно изучить, как на самом деле искусственный интеллект (AI), машинное обучение (ML) и глубокое обучение (DL) могут помочь в кибербезопасности прямо сейчас, и что это за обман.

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

Что еще важнее, ИИ не застрахован от атак, и вы можете прочитатьВотмоя новая статья об этом.

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

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

Терминология машинного обучения

Прекратите называть все - AI - изучите условия.

  • AI (Искусственный интеллект) - широкая концепция.Наукасоздания умных вещей или, другими словами, человеческих задач, выполняемых машинами (например, Visual Recognition, NLP и т. д.). Суть в том, что ИИ - это не просто машинное обучение или умные вещи. Это может быть классическая программа, установленная в вашем роботе-пылесосе, например, функция распознавания краев. Грубо говоря, ИИ - это то, что как-то решает человеческие задачи.
  • ML (Машинное обучение) -Подходить(только один из многих подходов) к ИИ, который использует систему, способную учиться на опыте. Он предназначен не только для целей ИИ (например, копирования поведения человека), но также может уменьшить усилия и / или время, затрачиваемое как на простые, так и на сложные задачи, такие как прогнозирование цены акций. Другими словами, ML - это система, которая может распознавать шаблоны, используя примеры, а не программируя их. Если ваша система постоянно учится, принимает решения на основе данных, а не алгоритмов и меняет свое поведение, это машинное обучение.
  • DL (Deep Learning) - наборметодыдля реализации машинного обучения, которые распознают шаблоны паттернов, такие как распознавание изображений. Системы идентифицируют в основном ребра объекта, структуру, тип объекта, а затем и сам объект. Дело в том, что глубокое обучение не совсем глубокие нейронные сети. Существуют и другие алгоритмы, которые были улучшены для изучения шаблонов паттернов, например задание Deep Q Learning in Reinforcement.

Определения показывают, что область кибербезопасности относится в основном к машинному обучению (не к искусственному интеллекту). И большая часть задач не связана с человеком.

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

Большинство задач являются подклассами самых распространенных, которые описаны ниже.

  • Регрессия (или прогноз) - задача прогнозирования следующего значения на основе предыдущих значений.
  • Классификация - задача разделения вещей на разные категории.
  • Кластеризация - похожа на классификацию, но классы неизвестны, группируя вещи по их сходству.
  • Изучение правил ассоциации (или рекомендации) - задача рекомендовать что-то на основе предыдущего опыта.
  • Уменьшение размерности - или обобщение, задача поиска общих и наиболее важных признаков в нескольких примерах.
  • Генеративные модели - задача создания чего-либо на основе предыдущих знаний о распределении.

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

Подходы к решению задач ML

Тенденции прошлого:

  • Контролируемое обучение, Задача управляемый подход. Прежде всего, вы должны пометить данные, например, наполнив модель примерами исполняемых файлов и заявив, что этот файл является вредоносным или нет. На основе этих помеченных данных модель может принимать решения о новых данных. Недостатком является ограничение помеченных данных.
  • Eensemble обучение.Это расширение контролируемого обучения, в то же время смешивая различные простые модели для решения задачи. Существуют разные способы объединения простых моделей.

Текущие тренды

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

Будущие тенденции (ну, наверное)

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

Задачи машинного обучения и кибербезопасность

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

регрессия

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

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

Для каждой задачи есть примеры методов ML и DL.

Машинное обучение для регрессии

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

  • Лайнер регрессии
  • Полиномиальная регрессия
  • Хребет регрессии
  • Деревья решений
  • SVR (регрессия опорных векторов)
  • Случайный лес

Вы можете узнать подробное объяснение каждого методаВот,

Глубокое обучение регрессии

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

  • Искусственная нейронная сеть (ANN)
  • Рекуррентная нейронная сеть (RNN)
  • Нейронные машины Тьюринга (НТМ)
  • Дифференцируемый Нейронный Компьютер (DNC)

классификация

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

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

Ниже приведен список, связанный с алгоритмами.

Машинное обучение для классификации

  • LogisticRegression (LR)
  • K-Ближайшие соседи (K-NN)
  • Машина опорных векторов (SVM)
  • KernelSVM
  • NaiveBayes
  • DecisionTreeClassification
  • Классификация случайных лесов

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

Глубокое обучение для классификации

  • Искусственная нейронная сеть
  • Сверточные нейронные сети

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

Кластеризация

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

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

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

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

Машинное обучение для кластеризации

  • K-ближайшие соседи (KNN)
  • K-средних
  • Mixturemodel (ЛДА)
  • DBSCn
  • байесовский
  • GaussianMixtureModel
  • агломерационных
  • Средний сдвиг

Глубокое обучение для кластеризации

  • Самоорганизующиеся Карты (SOM) или Сети Кохонена

Обучение правилам ассоциации (системы рекомендаций)

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

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

Машинное обучение для обучения правилам ассоциации

  • Априори
  • Euclat
  • FP-Growth

Глубокое обучение для изучения правил ассоциации

  • Машина Больцмана с глубокими ограничениями (RBM)
  • Сеть глубокого убеждения (DBN)
  • Сложенный автоэнкодер

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

Уменьшение размерности

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

Уменьшение размерности машинного обучения

  • Анализ основных компонентов (PCA)
  • Разложение по сингулярным числам (SVD)
  • T-распределенное стохастическое вложение соседей (T-SNE)
  • Линейный Дискриминантный Анализ (LDA)
  • Скрытый семантический анализ (LSA)
  • Факторный анализ (ФА)
  • Независимый компонентный анализ (ICA)
  • Неотрицательная матричная факторизация (NMF)

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

Генеративные Модели

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

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

В качестве альтернативы вы можете использовать инструмент сканирования уязвимостей для веб-приложений. Один из его модулей - проверка файлов на несанкционированный доступ. Эти тесты могут изменять существующие имена файлов, чтобы идентифицировать новые. Например, если сканер обнаружил файл с именем login.php, лучше проверить наличие любой резервной копии или проверить ее копии, используя такие имена, как login_1.php, login_backup.php, login.php.2017. Генеративные модели хороши в этом.

Машинное обучение генеративных моделей

  • Марковские цепи
  • Генетические алгоритмы

Глубокое изучение генеративных моделей

  • Вариационные автоэнкодеры
  • Генеративные состязательные сети (GAN)
  • Машины Больцмана

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

Задачи кибербезопасности и машинное обучение

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

Первое измерение - это цель или задача (например, обнаружение угроз, прогнозирование атак и т. Д.). Согласно сМодель Gartner PPDRВсе задачи безопасности можно разделить на пять категорий:

  • прогнозирования;
  • профилактика;
  • обнаружение;
  • ответ;
  • мониторинг.

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

  • сеть (анализ сетевого трафика и обнаружение вторжений);
  • конечная точка (анти-вредоносная программа);
  • приложение (брандмауэры WAF или базы данных);
  • пользователь (UBA);
  • процесс (противодействие мошенничеству).

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

Третье измерение - это вопрос «как» (например, как проверить безопасность конкретной области):

  • в пути в режиме реального времени;
  • на отдыхе;
  • исторически;
  • и т.п.

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

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

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

Машинное обучение для защиты сети

Защита сети - это не единый набор различных решений, ориентированных на такие протоколы, как Ethernet, беспроводные, SCADA или даже виртуальные сети, такие как SDN.

Защита сети относится к известным решениям системы обнаружения вторжений (IDS). Некоторые из них использовали своего рода ML много лет назад и в основном имели дело с сигнатурными подходами.

ML в сетевой безопасности подразумевает новые решения, называемые Network Traffic Analytics (NTA), предназначенные для углубленного анализа всего трафика на каждом уровне и выявления атак и аномалий.

Как здесь может помочь ML? Вот несколько примеров:

  • регрессия для прогнозирования параметров сетевых пакетов и сравнения их с обычными;
  • классификация для выявления различных классов сетевых атак, таких как сканирование и подмена;
  • кластеризация для криминалистического анализа.

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

Больше ресурсов:

Машинное обучение для Endpoint Protection

Новое поколение антивирусов - Endpoint Detection and Response. Лучше изучать функции в исполняемых файлах или в поведении процесса. Помните, что если вы имеете дело с машинным обучением на уровне конечных точек, ваше решение может отличаться в зависимости от типа конечной точки (например, рабочая станция, сервер, контейнер, экземпляр облака, мобильный телефон, ПЛК, устройство IoT). Каждая конечная точка имеет свою специфику, но задачи являются общими:

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

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

Машинное обучение для безопасности приложений

Кстати, безопасность приложений - моя любимая область, особенно ERP-безопасность.

Где использовать ML в безопасности приложений? - WAF или анализ кода, как статический, так и динамический. Напомним, что безопасность приложений может отличаться. Существуют веб-приложения, базы данных, ERP-системы, SaaS-приложения, микро-сервисы и т. Д. Практически невозможно создать универсальную модель ML для эффективного противодействия всем угрозам в ближайшем будущем. Тем не менее, вы можете попытаться решить некоторые из задач.

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

  • регрессия для обнаружения аномалий в HTTP-запросах (например, XXE и SSRF-атаки и обход аутентификации);
  • классификация для обнаружения известных типов атак, таких как инъекции (SQLi, XSS, RCE и т. д.);
  • кластеризация активности пользователей для обнаружения DDOS-атак и массовой эксплуатации.

Больше ресурсовпредоставление идей использования ML для безопасности приложений:

Машинное обучение для поведения пользователя

Эта область началась как Управление информацией о безопасности и событиях (SIEM).

SIEM была в состоянии решить множество задач при правильной настройке, включая поиск поведения пользователя и ML Затем решения UEBA заявили, что SIEM не может обрабатывать новые, более совершенные типы атак и постоянное изменение поведения.

Рынок согласился с тем, что требуется специальное решение, если угрозы рассматриваются на уровне пользователя.

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

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

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

Больше ресурсов:

Машинное обучение для процесса поведения

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

В общем, есть примеры задач в области процесса:

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

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

Больше ресурсов

Книги по кибербезопасности машинного обучения

Если вы хотите узнать больше о машинном обучении в области кибербезопасности, вот книги, которые могут помочь:

  • Машинное обучение и безопасностьО'Рейли (январь 2018 г.) - лучшая на данный момент книга на эту тему, но очень мало примеров глубокого обучения и в основном общего машинного обучения.

Вывод

Осталось больше областей. Я изложил основы. С одной стороны, машинное обучение определенно не является решением «серебряной пули», если вы хотите защитить свои системы. Несомненно, есть много проблем с интерпретируемостью (особенно для алгоритмов глубокого обучения), но люди также не могут интерпретировать свои собственные решения, верно?

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

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

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map