Разработка автоматизированной системы имитации сетевых атак на основе машинного обучения
Целью выполнения проекта является автоматизация процесса тестирования на проникновение с помощью средств машинного обучения, что повлечет за собой повышение эффективности обеспечения информационной безопасности и даст возможность регулярного контроля и оценки существующий мер защиты информационных систем. Также косвенной целью является повышение количественного и качественного уровня подобных отечественных систем.
Большинство средств тестирования на проникновение являются ручными и основаны на знаниях специалистов. При этом трудоемкость анализа возрастает с увеличением масштабов и сложности структуры информационной системы. Кроме того, объект защиты не является статичным, инфраструктура развивается, что в свою очередь требует повторного проведения мероприятий по оценке эффективности средств защиты. Поэтому предлагается автоматизированная система имитации сетевых атак на основе машинного обучения.
Задачи:
1. Исследовать подходящие методы и модели машинного обучения и нейронных сетей.
2. Разработать модель на основе машинного обучения и нейронных сетей.
3. Разработать архитектуру программного продукта.
4. Разработать графический интерфейс программного продукта.
5. Написать программный код.
6. Обучить и протестировать модели машинного обучения и нейронных сетей.
7. Протестировать разработанный программный продукт в условиях виртуальной среды.
8. Протестировать разработанный программный продукт в условиях реальной среды.
Программный продукт должен использоваться для анализа защищенности информационных систем за счет автоматизированного тестирования на проникновение путем имитации сетевых атак. Функционал программного продукта должен позволять симулировать атаки, что позволит проверить настройку средств защиты информации и эффективность комплексной защиты в целом.
Потребители:
- Владельцы информационных систем
- Государственные учреждения, где есть ГИС или объекты КИИ
- Производители средств защиты информации
- Исследовательские лаборатории в сфере ИБ
- Образовательные учрежденияНаучная новизна предлагаемых в проекте решений: Большинство существующий решений основаны на ручных действиях и экспертных знаниях, поэтому предлагается автоматизировать рутинные процессы за счет применения машинного обучения. В случае тестирования на проникновение актуальным методом является применение обучения с подкреплением, где входом являются экспертные знания. Однако формирования таких наборов данных в ручном режиме также трудоемко. Предлагается для создания интеллектуальной системы применить архитектуру GAIL-PT [1], которая основана на моделях генеративно-состязательного имитационного обучения (GAIL) и обучения с подкреплением (DRL/RL). GAIL является аналогом генеративно-состязательной нейронной сети (GAN) для случая обучения с подкреплением. Такой подход позволяет генерировать траектории атак с помощью нейронной сети. Входными данными для обучения являются наборы знаний, собранные автоматически с помощью DeepExploit. Ранее такой подход не применялся в коммерческих системах тестирования на проникновение.
Преимуществом применения описанных технологий является снижение человеческих трудозатрат и стоимости тестирования на проникновение. Актуальность траекторий атак для действующей инфраструктуры, высокая автоматизация и масштабируемость позволит проводить регулярный анализ реальной информационной системы. Кроме того, при наличии достаточных вычислительных ресурсов за счет применение средств виртуализации воз-можно создать модель планируемой информационной системы и осуществить анализ эффективности средств защиты информации.
В условиях тенденции к построению распределенных систем со сложной сетевой структурой возрастает потребность в обеспечении информационной безопасности, ручная проверка эффективности внедряемых средств защиты информации требует высокой квалификации экспертов и больших затрат времени, поэтому необходимо развитие автоматизированных средств тестирования.
- Возрастает потребность в обеспечении информационной безопасности
- Необходима проверка эффективности средств защиты информации
- Информационные системы не статичны – необходима регулярная проверка
- Большинство средств тестирования на проникновение являются ручными и основаны на знаниях специалистов
- Автоматические и интеллектуальные системы тестирования на проникновение требуют участия человека в формировании траектории атаки, плохо масштабируются для больших информационных систем
На российском рынке мало отечественных разработок, а применение зарубежных продуктов в государственных информационных системах или на объектах критической информационной инфраструктуры в современных условиях не желательно.
За исключением прототипов с открытым исходным кодом существует единственная подобная система, разработанная российским производителем ООО «Контролхак». Однако она основана на экспертных знаниях специалистов, что требует регулярного пополнения базы знаний, а также отсутствует возможность проверки на атаки нулевого дня.
Предлагаемая система автоматизирует как процесс обучения, так и процесс самого тестирования на проникновение.
Количественными оценками являются классические метрики для машинного обучения. Другой мерой оценки являются количество успешных атак и длина траектории (количество действий). Качественным показателем является факт проникновения в информационную систему.
Метрики машинного обучения:
Достоверность (accuracy) является простой метрикой, отражающей долю правильных ответов, однако почти не используется без других метрик, так как бесполезна в случае несбалансированных классов. Точность (precision) отражает долю истинно положительных решений среди всех положительно помеченных объектов. Полнота (recall) отражает долю истинно положительных объектов среди всех объектов положительного класса. Точность и полнота объединяются с помощью F-меры. F-мера позволяет более глубже оценить правильности классификации, по сравнению с полнотой и точностью. ROC-кривая (Receiver Operating Characteristic, ROC Curve) является линией из точки (0,0) в точку (1,1) в координатах истинно положительных решений и ложно положительных решений. Для оценки качества классификации вводится показатель AUC (Area Under Curve), соответствующий площади под ROC-кривой. Чем выше значение AUC, тем лучше выполняется классификация.
С точки зрения отличия от других систем можно ввести показатели трудоемкости, откуда следуют стоимостные характеристики. Так как для подготовки системы не требуется участие человека, то этот процесс удешевляется. Таким образом, стоимость самой разработки снижается. При этом разрабатываемая система обеспечивает лучшую адаптируемость под различные информационные системы, что в конечном итоге увеличивает эффективность анализа защищенности с меньшими трудозатратами.
Конечный продукт должен позволять автоматизировано проводить симуляции атак на информационные системы с целью анализа их защищенности. Программный продукт основывается на генеративно-состязательном имитационном обучении и обучении с подкреплением. Архитектура системы представляет собой несколько нейронных сетей: агент, дискриминатор, актер и критик. Требуется подбор структуры нейронных сетей для наилучшего результата. Также требуется сформировать набор данных в автоматическом режиме с помощью DeepExploit, который обеспечивает наилучшую эффективность для тестируемой информационной системы.
Этапы разработки
Первый этап: 1. Анализ существующий сетевых атак. Исследование серьезности и частоты сетевых атак. Анализ используемых средств защиты информации. Сопоставление средств защиты и сетевых атак для последующей возможности рекомендаций по настройке.
2. Выбор сетевых атак, используемых в прототипе для имитации. Выбор средств защиты информации. Анализ бесплатных аналогов выбранных средств, так как стоимость некоторых коммерческих продуктов может превосходить бюджет разработки. Закупка средств защиты при необходимости.
3. Создание прототипа информационной системы для тестирования с помощью средств виртуализации. Установка операционных систем на виртуальные машины. Настройка сетевой инфраструктуры. Установка средств защиты информации. Настройка средств защиты и проверка их функционирования в ручном режиме.Второй этап: 1. Проработка предлагаемой архитектуры и усовершенствование при необходимости. Исследование и подбор структур нейронных сетей. Объединение нейронных сетей в предлагаемую архитектуру. Оценка эффективности нейронных сетей для разрабатываемого программного продукта на одном тестовом устройстве. Регистрация патента.
2. Написание программного кода без графического интерфейса. Оценка эффективности архитектуры в виртуальной тестовой среде. Пересмотр структуры нейронных сетей. Отладка программного кода.
3. Разработка графического интерфейса программного продукта. Написание программного кода для графической реализации. Написание модуля объединения подсистемы машинного обучения и графического интерфейса. Тестирование функционала системы на одном устройстве.
4. Внедрение программного продукта в виртуальную тестовую среду. Отладка программного кода. Пересмотр программного кода и графического интерфейса для обеспечения наилучшего функционирования, надежности и удобства использования. Регистрация программы для ЭВМ
Имеющиеся аналоги: Аналогом разрабатываемого программного продукта являются системы breach and attack simulation. На российском рынке представлены зарубежные производители и один отечественный - ООО «Контролхак». Однако последняя не является полным аналогом, так как используются другие технологии: ручное формирование базы знаний и траекторий атак. Недостатком отечественной системы является необходимость привлечения экспертов для формирования базы знаний. Данная процедура должна быть регулярной для обеспечения актуальности базы знаний. Это повышает затраты на разработку. Преимуществом является более "прозрачный" процесс подготовки системы к эксплуатации, что упрощает анализ работы системы в целом.
Среди зарубежных продуктов можно выделить: Cymulate APT, Cronus Cyber Technologies CyBot, SafeBreach Breach&Attack Simulation Platform и другие.
Применение зарубежных продуктов в ГИС или на объектах КИИ в современных условиях не желательно, что само по себе является недостатком таких систем. Некоторые решения основываются на машинном обучении, однако оценить преимущество или недостатки с этой точки зрения не представляется возможным в виду закрытости программного кода.
Решения с открытым программным кодом не безопасно применять для реальных информационных систем, что ограничивает их применение. Кроме того, обновление базы знаний в таких системах не регулярное.
Не прямым аналогом может быть ручное тестирование на проникновение и формирование или заказ команды "злоумышленников", однако эти решения дорогостоящие и не позволяют производить регулярный/постоянный анализ защищенности.План коммерциализации проекта: Предполагается использовать следующие способы коммерциализации:
- Передача права на использование – лицензия на программный продукт
- Предоставление дополнительных услуг
Разрабатываемый программный продукт будет реализовываться через лицензионные копии. Стоимость одной копии рассчитывается исходя из затрат на разработку и амортизацию, разделенные на количество потенциально проданных копий программного продукта.
Дополнительными услугами являются предоставление вычислительных ресурсов и привлечение экспертов.
