СПОСОБ ОПРЕДЕЛЕНИЯ ПОТЕНЦИАЛЬНЫХ УГРОЗ БЕЗОПАСНОСТИ ИНФОРМАЦИИ НА ОСНОВЕ СВЕДЕНИЙ ОБ УЯЗВИМОСТЯХ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Российский патент 2019 года по МПК G06F21/57 G06N3/02 

Описание патента на изобретение RU2705460C1

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

В настоящее время сведения об известных уязвимостях и угрозах могут быть получены из различных баз данных уязвимостей, угроз и эксплойтов, сайтов производителей программного обеспечения и прочих источников. Однако эти источники не предоставляют какой-либо информации о связях между записями об уязвимостях и угрозах. Также в открытом доступе отсутствуют какие-либо средства, позволяющие в автоматизированном режиме получить сведения об угрозах, которые может повлечь эксплуатация определенной уязвимости. Таким образом, определение потенциальных угроз для конкретной ИС необходимо производить вручную, последовательно анализируя информацию о каждой выявленной уязвимости, что является весьма трудоемкой задачей, причем эксплуатация одной уязвимости может повлечь реализацию сразу нескольких угроз, а специалист, производящий анализ уязвимостей, должен обладать глубокими знаниями в области информационной безопасности, построения ИС и систем защиты информации. Наиболее близким к заявляемому способу является метод, основанный на применении аппарата нейросетевых технологий для определения актуальных угроз безопасности информации информационных систем [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).

Похожие патенты RU2705460C1

название год авторы номер документа
СПОСОБ ОПРЕДЕЛЕНИЯ УЯЗВИМОСТЕЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ФОРМИРУЮЩИХ УСЛОВИЯ ДЛЯ НАРУШЕНИЯ БЕЗОПАСНОСТИ ИНФОРМАЦИИ В ИНФОРМАЦИОННОЙ СИСТЕМЕ ВСЛЕДСТВИЕ КОМПЬЮТЕРНОЙ АТАКИ 2021
  • Бутрик Екатерина Евгеньевна
  • Соловьев Сергей Вениаминович
  • Енютин Алексей Юрьевич
RU2783224C1
Система и способ защиты устройств пользователя 2020
  • Щетинин Евгений Игоревич
  • Тихомиров Антон Владимирович
RU2770146C2
Способ обучения искусственной нейронной сети 2019
  • Аверьянова Юлия Александровна
  • Сташенко Вячеслав Владимирович
  • Строцев Андрей Анатольевич
RU2723270C1
Способ и система автоматизированного документирования угроз безопасности и уязвимостей, относящихся к информационному ресурсу 2022
  • Лебедев Сергей Вячеславович
  • Савин Михаил Валерьевич
RU2789990C1
Система и способ определения процесса, связанного с вредоносным программным обеспечением, шифрующим файлы компьютерной системы 2020
  • Лопатин Евгений Игоревич
  • Кондратьев Дмитрий Андреевич
RU2770570C2
СИСТЕМА И СПОСОБ ВЫЯВЛЕНИЯ ФАКТА ПОТЕНЦИАЛЬНОГО МОШЕННИЧЕСТВА СО СТОРОНЫ КАССИРА, А ТАКЖЕ СПОСОБ ФОРМИРОВАНИЯ ВЫБОРКИ ИЗОБРАЖЕНИЙ ТОВАРОВ ДЛЯ ОБУЧЕНИЯ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ 2018
  • Алтуев Мурат Казиевич
  • Фаломкин Игорь Игоревич
  • Людвиг Бергшнайдер
RU2695056C1
Система оперативной идентификации морских целей по их информационным полям на базе нейро-нечетких моделей 2021
  • Пятакович Валерий Александрович
RU2763384C1
Способ и система для прогнозирования значений временного ряда с использованием искусственной нейронной сети 2019
  • Чернышев Леонид Сергеевич
RU2744041C1
СПОСОБ ИНТЕРПРЕТАЦИИ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ 2018
  • Жаров Ярослав Максимович
  • Корженков Денис Михайлович
  • Швечиков Павел Дмитриевич
RU2689818C1
Способ обнаружения аномалий в многомерных данных 2021
  • Гузев Олег Юрьевич
  • Гурина Анастасия Олеговна
RU2773010C1

Иллюстрации к изобретению RU 2 705 460 C1

Реферат патента 2019 года СПОСОБ ОПРЕДЕЛЕНИЯ ПОТЕНЦИАЛЬНЫХ УГРОЗ БЕЗОПАСНОСТИ ИНФОРМАЦИИ НА ОСНОВЕ СВЕДЕНИЙ ОБ УЯЗВИМОСТЯХ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

Формула изобретения RU 2 705 460 C1

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

получают перечень известных уязвимостей и угроз;

создают искусственные нейронные сети (ИНС), причем каждая искусственная нейронная сеть создается с четырьмя входами, принимающими значения признаков уязвимости («класс уязвимости», «тип ошибки CWE», «тип программного обеспечения» и «базовая оценка CVSS»), одним скрытым слоем, содержащим 8 нейронов, и одним выходом для определения возможности реализации угроз, причем в качестве функции активации нейронов используется сигмоидальная функция;

получают набор обучающих выборок уязвимостей для каждой ИНС, при этом значения признаков уязвимостей предварительно кодируют таким образом, что значения категориальных признаков («класс уязвимости», «тип ошибки CWE» и «тип программного обеспечения») представляются отношением количества положительных примеров объектов обучающей выборки, относящихся к соответствующей категории, к общему количеству примеров обучающей выборки, относящихся к данной категории, а значение количественного признака «базовая оценка CVSS» нормализуется;

производят обучение созданных ИНС путем ввода сформированных для каждой ИНС обучающих выборок, причем обучение производят с использованием «Быстрого» метода обучения (предложенного Фальманом);

получают перечень выявленных в ИС уязвимостей;

подают признаки каждой выявленной в ИС уязвимости на вход каждой созданной ИНС и получают на выходе вероятность реализации соответствующей угрозы;

формируют ранжированный по вероятности реализации перечень потенциальных угроз.

Документы, цитированные в отчете о поиске Патент 2019 года RU2705460C1

Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами 1924
  • Ф.А. Клейн
SU2017A1
Способ получения цианистых соединений 1924
  • Климов Б.К.
SU2018A1
US 7933989 B1, 26.04.2011
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
Делительный механизм многопозиционного поворотного стола 1961
  • Кабанов Н.Н.
  • Ординарцев И.А.
  • Шрайман И.Б.
SU151549A1

RU 2 705 460 C1

Авторы

Мамута Владимир Владимирович

Соловьев Сергей Вениаминович

Даты

2019-11-07Публикация

2019-03-19Подача