СПОСОБ ОПРЕДЕЛЕНИЯ ПОТЕНЦИАЛЬНЫХ УГРОЗ БЕЗОПАСНОСТИ ИНФОРМАЦИИ НА ОСНОВЕ СВЕДЕНИЙ ОБ УЯЗВИМОСТЯХ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
METHOD OF DETERMINING POTENTIAL THREATS TO INFORMATION SECURITY BASED ON INFORMATION ON VULNERABILITIES OF SOFTWARE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится к области защиты информации, обрабатываемой в информационных системах (ИС), и может быть использовано для определения потенциальных угроз безопасности информации (далее - угрозы), реализация которых может привести к нарушению безопасности информации в ИС, на основе сведений об уязвимостях программного обеспечения (далее - уязвимости), используемого в данной ИС.
УРОВЕНЬ ТЕХНИКИ
В настоящее время сведения об известных уязвимостях и угрозах могут быть получены из различных баз данных уязвимостей, угроз и эксплойтов, сайтов производителей программного обеспечения и прочих источников. Однако эти источники не предоставляют какой-либо информации о связях между записями об уязвимостях и угрозах. Также в открытом доступе отсутствуют какие-либо средства, позволяющие в автоматизированном режиме получить сведения об угрозах, которые может повлечь эксплуатация определенной уязвимости. Таким образом, определение потенциальных угроз для конкретной ИС необходимо производить вручную, последовательно анализируя информацию о каждой выявленной уязвимости, что является весьма трудоемкой задачей, причем эксплуатация одной уязвимости может повлечь реализацию сразу нескольких угроз, а специалист, производящий анализ уязвимостей, должен обладать глубокими знаниями в области информационной безопасности, построения ИС и систем защиты информации. Наиболее близким к заявляемому способу является метод, основанный на применении аппарата нейросетевых технологий для определения актуальных угроз безопасности информации информационных систем [1]. Данный метод предназначен для автоматизации процедуры получения сведений об актуальных для ИС угрозах на основе данных об уязвимостях программного обеспечения, входящего в состав ИС с использованием аппарата нейросетевых технологий. В качестве исходных данных для обучения нейронных сетей используются сведения об уязвимостях программного обеспечения, накопленные в банке данных угроз безопасности информации ФСТЭК России (далее - банк данных). Этот метод выбран в качестве прототипа предложенного решения.
Недостатки данного метода вытекают из необходимости подбора оптимальных характеристик параметров при создании нейронных сетей для каждой угрозы, в связи с чем указанный способ имеет высокую сложность технической реализации. И, несмотря на то, что в ходе исследований эмпирическим путем была установлена оптимальная топология для большинства из созданных нейронных сетей, дальнейшие экспериментальные исследования показали следующее.
Во-первых, приведенная топология требует большого количества обучающих выборок, создание которых для каждой известной угрозы из банка данных в настоящее время не представляется возможным;
Во-вторых, анализ трех указанных признаков (класс уязвимости, тип ошибки, тип программного обеспечения) не является достаточным для определения угроз, не входящих в состав угроз, перечисленных в [1];
В-третьих, наиболее важным недостатком является то, что, помимо топологии нейронной сети необходимо подбирать такие параметры нейронных сетей как функции активации, алгоритм обучения, количество итераций, порог ошибки и, кроме того, осуществлять подготовку входных данных.
В отличие от [4] в изобретении предлагается анализировать дополнительный признак уязвимости («базовая оценка CVSS») и использовать определенные характеристики искусственных нейронных сетей.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Задачей изобретения является разработка способа, позволяющего автоматизировать процедуру определения потенциальных угроз ИС на основе сведений об уязвимостях в программном обеспечении, используемом в данной ИС.
Технический результат, на достижение которого направлено предполагаемое изобретение, заключается в снижении сложности и трудоемкости процесса формирования перечня потенциальных угроз, реализацию которых может повлечь эксплуатация уязвимостей ИС.
Указанный результат достигается путем реализации способа определения потенциальных угроз на основе применения искусственных нейронных сетей (ИНС) и включает в себя этапы, на которых:
получают перечень известных уязвимостей и угроз, необходимый для дальнейшего формирования обучающей выборки, причем данный перечень может быть получен из различных баз данных уязвимостей и угроз или других доступных источников;
создают ИНС для определения возможности реализации угроз, причем ИНС создают для каждой угрозы, актуальность которой необходимо проверить для ИС, причем каждую ИНС создают с четырьмя входами, принимающими значения признаков уязвимости («класс уязвимости», «тип ошибки CWE», «тип программного обеспечения» и «базовая оценка CVSS»), одним скрытым слоем, содержащим 8 нейронов, и одним выходом, на котором формируется вероятность реализации угрозы при заданных на входах ИНС признаках уязвимости, а в качестве функции активации нейронов используется сигмоидальная функция;
получают набор обучающих выборок уязвимостей (эталонных данных) для каждой ИНС, причем каждый набор содержит два класса обучающих выборок: первый класс обучающих выборок представляет собой сведения об уязвимостях, которые могут повлечь реализацию данной угрозы, а второй класс обучающих выборок представляет собой сведения об уязвимостях, эксплуатация которых не может повлечь реализацию данной угрозы, при этом значения признаков уязвимостей предварительно кодируют таким образом, что значения категориальных признаков («класс уязвимости», «тип ошибки CWE» и «тип программного обеспечения») представляются отношением количества положительных примеров объектов обучающей выборки, относящихся к соответствующей категории, к общему количеству примеров обучающей выборки, относящихся к данной категории, а значение количественного признака «базовая оценка CVSS» нормализуется;
производят обучение созданных ИНС на эталонных данных путем ввода сформированных для каждой ИНС обучающих выборок первого и второго класса, причем обучение производят с использованием «Быстрого» метода обучения (алгоритм обратного распространения ошибки, описанный Фальманом в 1988 году), а выборки могут вводиться в произвольном порядке так, чтобы ИНС обучались определению уязвимостей, которые потенциально могут повлечь реализацию соответствующих угроз;
получают перечень выявленных в ИС уязвимостей по результатам анализа используемого в ИС программного обеспечения на наличие известных уязвимостей, а также уязвимостей «нулевого дня», т.е. уязвимостей, о которых стало известно до момента выпуска разработчиком соответствующего программного обеспечения исправлений ошибок или соответствующих обновлений;
подают признаки каждой выявленной в ИС уязвимости на вход каждой созданной ИНС и получают на выходе вероятность реализации соответствующей угрозы;
формируют ранжированный по вероятности реализации перечень потенциальных угроз.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
На фиг. 1 представлена блок-схема последовательности операций, иллюстрирующая способ определения потенциальных угроз безопасности информации на основе сведений об уязвимостях программного обеспечения согласно примерному варианту реализации, который может быть выполнен, например, в виде веб-приложения, программного обеспечения для настольных или мобильных платформ.
На этапе 1 получают перечень известных уязвимостей и угроз. Сведения об уязвимостях и угрозах могут храниться в базе данных таким образом, чтобы необходимую информацию можно было получить путем выполнения специальных запросов.
На этапе 2 создают многослойные ИНС прямого распространения. Структура ИНС, создаваемых для решения указанной задачи, показана на фиг. 2, а в качестве функции активации используется сигмоидальная функция (системное название - FANN SIGMOID). Многослойные ИНС могут быть реализованы с использованием одной из существующих программных библиотек для создания ИНС, например, с использованием библиотеки с открытым исходным кодом FANN (Fast Artificial Neural Network), использование которой возможно при разработке более чем на 30 различных языках программирования [3].
На этапе 3 для обучения каждой созданной ИНС получают наборы обучающих выборок (эталонных данных об уязвимостях). Получение наборов обучающих выборок может быть осуществлено путем специально сформированных запросов к базе данных, созданной на этапе 1. Данные в обучающих выборках должны быть закодированы таким образом, что значения категориальных признаков («класс уязвимости», «тип ошибки CWE» и «тип программного обеспечения») представляются отношением количества положительных примеров объектов обучающей выборки, относящихся к соответствующей категории, к общему количеству примеров обучающей выборки, относящихся к данной категории, а значение количественного признака «базовая оценка CVSS» нормализуется.
На этапе 4 производят обучение созданных ИНС с использованием полученных эталонных данных об уязвимостях. В случае реализации ИНС с использованием библиотеки FANN процедура обучения может быть осуществлена с применением специальных функций для обучения ИНС, входящих в состав указанной библиотеки на выбранном языке программирования [3], при этом в качестве алгоритма обучения используется «Быстрый» метод обучения (системное название -F ANNTRAINQUICKPROP).
На этапе 5 получают перечень выявленных в ИС уязвимостей. Сведения об уязвимостях ИС могут быть получены, например, путем сканирования ИС с использованием существующих сканеров уязвимостей или поиска сведений об уязвимостях используемых в ИС версий программного обеспечения в доступных источниках.
На этапе 6 поочередно подают параметры каждой уязвимости из составленного на предыдущем этапе перечня на вход каждой созданной ИНС. В результате на выходе ИНС формируется вероятность реализации соответствующей угрозы. При использовании библиотеки FANN указанные на данном этапе операции могут быть реализованы на выбранном языке программирования с использованием специальных функций для запуска ИНС из указанной библиотеки [4].
На этапе 7 формируют ранжированный по вероятности реализации перечень потенциальных угроз.
Заявляемый способ проверен экспериментально в лабораторных условиях.
Предлагаемое техническое решение является новым, поскольку из общедоступных сведений не известен способ определения потенциальных угроз ИС, использующий:
анализ совокупности признаков уязвимостей, состоящей из признаков «класс уязвимости», «тип ошибки CWE», «тип программного обеспечения» и «базовая оценка CVSS»;
структуру нейронной сети, приведенную на фиг. 2;
«Быстрый» метод обучения нейронных сетей;
сигмоидальную функцию активации нейронов;
отношение количества положительных примеров объектов обучающей выборки, относящихся к соответствующей категории, к общему количеству примеров обучающей выборки, относящихся к данной категории, и нормализацию в качестве способов кодирования данных обучающих выборок.
Предлагаемое техническое решение промышленно применимо, поскольку для его реализации может быть использовано стандартное компьютерное оборудование и программное обеспечение, выпускаемое промышленностью и имеющееся на рынке.
Достоинства предлагаемого изобретения заключаются в следующем:
реализация способа позволяет в автоматизированном режиме решать трудоемкую задачу по получению сведений о потенциальных угрозах ИС;
предлагаемый способ, в отличие от [4], не требует подбора оптимальных характеристик параметров при создании нейронных сетей для каждой угрозы;
предлагаемый способ может быть реализован на большинстве современных языков программирования, при этом он может быть выполнен в виде веб-приложения, программного обеспечения для настольных или мобильных платформ;
реализация способа может быть осуществлена без финансовых затрат, поскольку для его реализации может быть использовано свободно распространяемое программное обеспечение.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Предлагаемое изобретение поясняется чертежами и графическими изображениями, на которых показаны:
на фиг. 1 - блок-схема последовательности операций, иллюстрирующая способ определения потенциальных угроз;
на фиг. 2 - структура ИНС для определения возможности реализации угрозы.
Список литературы:
1. Соловьев С.В., Мамута В.В. Применение аппарата нейросетевых технологий для определения актуальных угроз безопасности информации информационных систем // Наукоемкие технологии в космических исследованиях Земли. 2016. №5 (8). С. 78-81.
2. FANN [Электронный ресурс] Language Bindings: Режим доступа: http://leenissen.dk/fami/wp/language-bindings/ свободный. - (дата обращения: 05.09.2017).
3. FANN [Электронный ресурс] FANN Training: Режим доступа: http://leenissen.dk/fann/html/files/fann_train-h.html свободный. - (дата обращения: 05.09.2017).
4. FANN [Электронный ресурс] FANN Creation/Execution: Режим доступа: http://leenissen.dk/fann/html/files/fann-h.html свободный. - (дата обращения: 05.09.2017).