Машинное обучение в сфере информационной безопасности – это движение в правильном направлении?

Привет, Хабр! Меня зовут Светлана, я руководитель продуктового направления компании «ИнфоТеКС». Сегодня поговорим о такой форме применения искусственного интеллекта (ИИ) как машинное обучение. Я поделюсь историей появления технологии в компании, её роли в современных средствах защиты информации (СЗИ), обозначу проблемы, с которыми приходится сталкиваться разработчикам, и векторы развития.

А можно хотя бы в кибербезе обойтись без ИИ?

На самом деле информационная безопасность (ИБ) одно из самых консервативных направлений информационных технологий и ИИ здесь встречается не так часто. Для примера в реестре российского ПО из 18792 (на 20 ноября 2023 года) записей признак относящегося к сфере искусственного интеллекта имеют 119 продуктов, из которых всего 4 относятся к классам СЗИ.

f3d074f5bb583933762b6f8f2e0b69de.png

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

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

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

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

Как мы начали использовать ИИ в своих продуктах

Сначала ИИ зародился не в продукте, а в центре мониторинга угроз ИБ нашей дочерней компании «Перспективный мониторинг». Специалисты центра мониторинга попробовали применить модель машинного обучения для анализа событий ИБ с сетевых сенсоров ViPNet IDS NS c целью выявления признаков взлома и работы вредоносного ПО. Известная проблема — вирусы слишком быстро модифицируются, новые уязвимости и эксплойты появляются каждую минуту, что делает сигнатурные методы анализа не слишком эффективными. И тут как раз на помощь могут прийти методы машинного обучения, способные с определённой достоверностью выявлять подозрительные объекты не по полному совпадению признаков, а лишь частичному. Модель хорошо себя показала в качестве инструмента для решения собственных задач и далее увидела свет уже в нашем коммерческом продукте — системе интеллектуального анализа событий информационной безопасности ViPNet TIAS.

Первый релиз ViPNet TIAS со встроенной моделью обучения состоялся ещё в 2018 году. С тех пор мы набрались опыта работ с алгоритмами машинного обучения, модифицировали и дополнили исходную модель и разработали новые модели для наших продуктов. В продуктах для защиты конечных устройств ViPNet EPP с помощью методов машинного обучения решаются задачи поиска аномалий при запуске ПО, обнаружения активности вредоносного ПО. В сетевом сенсоре ViPNet IDS NS реализованы алгоритмы поиска аномалий сетевой активности на защищаемых узлах.  В высокой стадии готовности модели обнаружения в трафике фишинговых доменов по признакам автоматически сгенерированных доменных имён и признаков общения защищаемых узлов с командным центром злоумышленника.

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

Конечно не все разработки доходят до внедрения в продукты, а только те модели, которые показали свою высокую эффективность в реальных условиях. Так было проверено около 40 гипотез, разработано более 20 прототипов, и только 5 моделей машинного обучения дошли до конечного потребителя в составе наших СЗИ.

О проблемах при использовании ИИ

Я бы обозначила 4 основные проблемы:

  • проблема безопасности использования методов машинного обучения в СЗИ;

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

  • проблема интерпретируемости результатов работы моделей;

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

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

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

a9b4c33bc51d19dd18ba419d21e4d185.png

Третья проблема — это проблема интерпретируемости результатов работы моделей и доверия к ним как на этапе тестирования, так и в процессе эксплуатации. Алгоритмы машинного обучения никогда не дают 100% точности. Результаты выбора модели решения часто бывают неочевидны, особенно при использовании нейронных сетей с глубоким обучением. И тут встаёт вопрос доверия результатам работы модели, где нужно либо опять привлекать высокооплачиваемого эксперта, либо учить модель саму объяснять свои выводы — повышать интерпретируемость модели, что значительно сложнее, чем разработать модель с принципом работы «чёрный ящик». В реальной жизни чаще всего конечное решение принимает ИБ-специалист, а модель только оказывает определённое влияние на это решение, предоставляя один из вариантов анализа информации. И уж тем более ответственность за принятие решения всегда на человеке. В такой ситуации чем выше интерпретируемость модели машинного обучения, тем легче человеку понять, почему моделью были приняты определённые решения или сделаны прогнозы. Вы, наверное, можете сказать, что ведь это ваша задача как разработчиков повысить точность работы модели, и это верно, если процесс обучения полностью находится под нашим контролем. Но если модель проходит обучение и дообучение на данных заказчика, то существует проблема дрейфа данных, при котором со временем происходит деградация модели. Именно поэтому процесс разработки продуктов с механизмом машинного обучения не заканчивается поставкой продукта заказчику. Необходимо так же продумывать и реализовывать процесс контроля работы модели при эксплуатации продукта.

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

ИИ в кибербезе сегодня и в будущем

e2b043335b7107ade19290ec1626aa7e.png

Сейчас модели машинного обучения хорошо умеют решать конкретные узкоспециализированные задачи, а при даже незначительном расширении поставленной задачи новыми вводными ведут себя непредсказуемо. Недаром глагол «галлюцинировать» применительно к работе искусственного интеллекта стал главным словом 2023 года по версии Кембриджского словаря. Следующим шагом в развитии ИИ станет то, что компания IBM, являющаяся лидером по числу патентов в сфере машинного обучения, называет liquid intelligence — ИИ, который способен обобщить разнородную информацию,  найти причинно-следственные связи и самостоятельно применить эти знания для решения новых задач.

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

© Habrahabr.ru