СПОСОБ ИДЕНТИФИКАЦИИ И БЛОКИРОВАНИЯ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ПРИМЕНЕНИЕМ КАСКАДОВ САМООБУЧАЮЩИХСЯ НЕЙРОННЫХ СЕТЕЙ Российский патент 2025 года по МПК G06F21/56 G06N3/08 

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

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

Известны способ выявления инфраструктуры вредоносной программы или киберзлоумышленника [Патент RU № 2722693, МПК G06F 21/56, опубл. 03.06.2020], содержащий этапы, на которых:

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

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

• анализируют полученный по меньшей мере один элемент инфраструктуры и взаимосвязанный с ним по меньшей мере один параметр и дополнительный элемент инфраструктуры и взаимосвязанный с ним по меньшей мере один параметр;

• на основе анализа выявляют статистические связи между по меньшей мере одним параметром по меньшей мере одного полученного элемента инфраструктуры и по меньшей мере одним параметром по меньшей мере одного дополнительного элемента инфраструктуры;

• формируют правила поиска новых элементов инфраструктуры на основании выявленной статистической связи;

• извлекают, посредством сформированного правила, из базы данных новые элементы инфраструктуры;

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

модуль базы данных, выполненный с возможностью:

• хранения элементов инфраструктуры, параметров элементов инфраструктуры и тэгов о принадлежности данных элементов вредоносным программам или киберзлоумышленникам;

модуль обработки запросов, выполненный с возможностью:

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

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

модуль извлечения данных, выполненный с возможностью:

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

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

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

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

аналитический модуль, выполненный с возможностью:

• анализа полученного по меньшей мере одного элемента инфраструктуры и взаимосвязанного с ними по меньшей мере одного параметра и дополнительного элемента инфраструктуры и взаимосвязанного с ним по меньшей мере одного параметра;

• на основе анализа выявления статистических связей между по меньшей мере одним параметром по меньшей мере одного полученного элемента инфраструктуры и по меньшей мере одним параметром по меньшей мере одного дополнительного элемента инфраструктуры;

• формирования правила поиска новых элементов инфраструктуры на основании выявленной статистической связи.

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

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

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

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

- получают информацию о команде запуска программного обеспечения и контролируют процесс исполнения машинного кода программного обеспечения;

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

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

- выявляют в результатах анализа поведения программного обеспечения повторяющиеся последовательности операций относительно временного ряда (паттернов);

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

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

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

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

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

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

- формируют данные для аномальных зон на втором слое каскада нейросети;

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

- формируют в каскаде нейросетей ряд экспертных классификаторов, работающих на третьем слое с механизмами подтверждения или опровержения;

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

- блокируют идентифицированное вредоносное программное обеспечение.

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

На Фиг. 1 представлена схема общего метода выбора победителя.

На Фиг. 2 представлены результаты тестирования способа.

На Фиг. 3 представлен пример определения способ некоторого процесса.

Сущность изобретения заключается в следующем.

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

- безопасные;

- безопасные, затрагивающие потенциально опасные функции;

- аномальные с явными паттернами вредоносного поведения;

- аномальные;

- вредоносные.

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

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

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

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

2. Этап первичного анализа деятельности и активности процессов – агрегирует, сопоставляет и анализирует информацию, полученную в подсистеме мониторинга, позволяет сформировать статистики поведения процессов для их дальнейшей оценки и классификации.

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

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

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

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

Получение информации о команде запуска программного обеспечения и контроль процесса исполнения машинного кода программного обеспечения.

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

1. Активность процесса (нагрузку на систему и использованные ресурсы) за фиксированный промежуток времени.

2. Деятельность процесса внутри файловой системы.

3. Деятельности процесса по порождению новых потоков или процессов.

4. Деятельность процесса в реестре Windows.

5. Установленные политики смягчения последствий для процесса.

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

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

Активность процесса представлена в Таблице 1.

Таблица 1

Наименование Описание параметра User time Время работы процесса в пользовательском режиме Kernel time Время работы процесса в режиме ядра PFU memory Размер используемой памяти в файле подкатчики WSS memory Рабочий набор выделенной оперативной памяти для процесса VSS memory Виртуальный набор зарезервированной оперативной памяти для процесса

В процессе мониторинга действий с файловой системой, перехватываются следующие категории событий:

• Open – Открытие файлов;

• Read – Чтение файлов;

• Write – Запись файлов.

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

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

Таблица 2

Наименование Для каких подтипов событий Описание File unique id Все подтипы событий Уникальный идентификатор открытого контекста файла File event type Все подтипы событий Подтип файлового события File internal id Все подтипы событий Внутренний идентификатор файла в файловой системе Readable Create, Open Файл открыт на чтение

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

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

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

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

Также на данном этапе проводится выделение базовых особенностей, характеризующих поведение процесса. Данные особенности также дополняют отчёт по действиям процесса, прикрепленному к сформированному событию. К таким особенностям относятся следующие 5 аспектов поведения:

1. HighLoadCpu – была высокая нагрузка на центральный процессор;

2. ReadingFiles –зафиксировано чтение файлов;

3. WritingFiles – зафиксирована запись файлов;

4. CreatingFiles – зафиксировано создание новых файлов;

5. DeletingFiles – зафиксировано удаление файлов.

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

1. UserApp – класс пользовательских процессов с интерфейсом, но не относящихся к другим классам;

2. Browser – класс процессов браузеров;

3. Services – класс процессов, работающих как системные сервисы;

4. Archivers – класс процессов архиваторов или разархиваторов данных;

5. SystemApp – класс системных приложений, работающих в пользовательском пространстве;

6. BgUserApp – класс процессов пользователя, работающих в фоновом режиме;

7. Ransomware – класс процессов шифровальщиков данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Применение обученного по меньшей мере одного классификатора для последующего определения принадлежности программного обеспечения к определенному семейству программ.

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

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

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

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

Формирование данных для аномальных зон на втором слое каскада нейросети.

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

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

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

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

Формирование в каскаде нейросетей ряда экспертных классификаторов, работающих на третьем слое с механизмами подтверждения или опровержения.

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

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

- Benign – поведение процесса полностью безопасно;

- Anomaly – поведение процесса носит аномальных характер;

- Ransomware – поведение процесса относится к вредоносным кодам.

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

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

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

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

Блокирование идентифицированного вредоносного программного обеспечения.

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

Для реализации данного способа на C++ была использована библиотека математических операций Armadillo, при этом для построения и обучения каскада нейронных сетей применялся фреймворк PyTorch, обеспечивающий удобный способ разработки нейронных сетей на языке Python.

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

BgUserApp–0.1 BgUserApp–0.1 BgUserApp–0.1 UserApp–0.1 UserApp–0.1 UserApp–0.1 Browser–0.1 Browser–0.1 Browser–0.1 Archivers–0.1 Archivers–0.1 Archivers–0.1 Ransomware–0.3 Ransomware–0.3 Ransomware–0.3 Services –0.1 –0.1 SystemApp –0.1 –0.1

Итоговая точность, полученная по каждому из классификаторов представлена на Фиг. 2.

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

Пример того, как реализация способа определяет некоторый процесс представлен на Фиг. 3.

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

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

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

Данный механизм способа в настоящее время реализован под ОС семейства Windows, тем и ОС семейства Linux. Таким образом, это позволило сделать данный способ идентификации процессов шифровальщиков кроссплатформенным под разные семейства ОС.

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

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

название год авторы номер документа
СПОСОБ И СИСТЕМА ПРЕДОТВРАЩЕНИЯ ВРЕДОНОСНЫХ АТАК НА СЕТЕВУЮ ИНФРАСТРУКТУРУ С ПРИМЕНЕНИЕМ КАСКАДОВ САМООБУЧАЮЩИХСЯ НЕЙРОННЫХ СЕТЕЙ 2024
  • Чуянов Владимир Александрович
  • Высоцкий Алексей Вадимович
RU2841480C1
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ИНФРАСТРУКТУРЫ ВРЕДОНОСНОЙ ПРОГРАММЫ ИЛИ КИБЕРЗЛОУМЫШЛЕННИКА 2020
  • Волков Дмитрий Александрович
  • Милешин Филипп Алексеевич
RU2722693C1
Алгоритм комплексного дистанционного бесконтактного мультиканального анализа психоэмоционального и физиологического состояния объекта по аудио- и видеоконтенту 2017
  • Плиев Георгий Игоревич
RU2708807C2
СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ОБФУСЦИРОВАННЫХ ВРЕДОНОСНЫХ КОМАНД В СИСТЕМНОЙ КОНСОЛИ ОПЕРАЦИОННОЙ СИСТЕМЫ 2024
  • Вышегородцев Кирилл Евгеньевич
  • Нагорнов Иван Григорьевич
  • Балашов Александр Викторович
  • Сауков Павел Александрович
  • Левкина Ульяна Сергеевна
  • Новиков Евгений Александрович
RU2838483C1
СПОСОБ И СИСТЕМА ПОИСКА СХОЖИХ ВРЕДОНОСНЫХ ПРОГРАММ ПО РЕЗУЛЬТАТАМ ИХ ДИНАМИЧЕСКОГО АНАЛИЗА 2020
  • Прудковский Николай Сергеевич
  • Волков Дмитрий Александрович
RU2738344C1
КАСКАДНЫЙ КЛАССИФИКАТОР ДЛЯ ПРИЛОЖЕНИЙ КОМПЬЮТЕРНОЙ БЕЗОПАСНОСТИ 2016
  • Гаврилут Драгос-Теодор
  • Ватаману Кристина
  • Косован Дойна
  • Лукьян Хенри
RU2680738C1
СИСТЕМА ПРИНЯТИЯ РЕШЕНИЙ ПРИ УГРОЗЕ И ЛИКВИДАЦИИ ПОСЛЕДСТВИЙ ЧС 2022
  • Сущев Сергей Петрович
  • Козлов Михаил Александрович
  • Смолин Роман Евгеньевич
  • Федосеева Татьяна Алексеевна
  • Айдемиров Игорь Айдемирович
  • Грязнев Данил Юрьевич
  • Нечаева Наталья Борисовна
  • Угаров Александр Николаевич
  • Ларионов Валерий Иванович
RU2796623C1
Система и способ двухэтапной классификации файлов 2018
  • Романенко Алексей Михайлович
  • Прокудин Сергей Викторович
  • Лискин Александр Викторович
RU2708356C1
СПОСОБЫ ОБУЧЕНИЯ ГЛУБОКИХ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ НА ОСНОВЕ ГЛУБОКОГО ОБУЧЕНИЯ 2018
  • Гао, Хун
  • Фарх, Кай-Хоу
  • Сундарам, Лаксшман
  • Макрэй, Джереми Фрэнсис
RU2767337C2
Система и способ определения процесса, связанного с вредоносным программным обеспечением, шифрующим файлы компьютерной системы 2020
  • Лопатин Евгений Игоревич
  • Кондратьев Дмитрий Андреевич
RU2770570C2

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

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

Изобретение относится к вычислительной технике. Технический результат заключается в повышении точности и скорости идентификации и блокирования вредоносного программного обеспечения. Указанный результат достигается благодаря способу, в котором: получают информацию о команде запуска программного обеспечения (ПО) и контролируют процесс исполнения машинного кода; формируют группы, для которых извлекают и рассчитывают статистическую информацию о работе ПО; идентифицируют дополнительные данные поведения контролируемого ПО; выявляют паттерны; формируют каскад нейронных сетей; формируют обратную связь самообучения для слоев каскадов нейронных сетей; на основе вычисленных параметров обучают нейросеть с целью идентификации вредоносного ПО; применяют обученный классификатор для определения принадлежности ПО к определенному семейству программ; подают группы статистических данных для формирования узловых структур данных; формируют данные для аномальных зон; группируют статистические данные в многомерном поле; формируют в каскаде нейросетей ряд экспертных классификаторов; классифицируют группу на принадлежность к типу вредоносного ПО; блокируют вредоносное ПО. 12 з.п. ф-лы, 2 табл., 3 ил.

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

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

- получают информацию о команде запуска программного обеспечения и контролируют процесс исполнения машинного кода программного обеспечения;

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

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

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

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

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

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

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

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

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

- формируют данные для аномальных зон на втором слое каскада нейросети;

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

- формируют в каскаде нейросетей ряд экспертных классификаторов, работающих на третьем слое с механизмами подтверждения или опровержения;

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

- блокируют идентифицированное вредоносное программное обеспечение.

2. Способ по п. 1, отличающийся тем, что в первом слое каскада нейросетей проводят дополнительную обработку данных классификатором на основе алгоритма случайного леса.

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

4. Способ по любому из пп. 1-3, отличающийся тем, что в третьем слое каскада нейросетей применяют модифицированную самоорганизующуюся карту Кохонена, группируя данные о процессе выполнения программного обеспечения в многомерном поле, исключая переобучение и формирование разделенных зон.

5. Способ по любому из пп. 1-4, отличающийся тем, что в третьем слое каскада нейросетей применяют алгоритм формирования переходных зон аномальных областей.

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

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

8. Способ по п. 6, отличающийся тем, что используют в каскаде дополнительный слой нейросети для идентификации признаков протокола передачи информации.

9. Способ по любому из пп. 1-8, отличающийся тем, что в третьем слое каскада нейросетей применяют оптимизацию весов во время самообучения, при обновлении веса нейрона-победителя, учитывая не только евклидово расстояние до входного вектора из выборки, но и нормализованное отклонение от весов остальных нейронов в формируемой области, определяемой экспоненциальной функцией соседства.

10. Способ по любому из пп. 1-9, отличающийся тем, что в каскад нейросетей вводятся слои нейросети, усложняющие формирование сильных связей между нейронами сети.

11. Способ по любому из пп. 1-10, отличающийся тем, что в каскад нейросетей вводится мягкий выходной слой на базе ячеек с памятью.

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

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

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

СПОСОБ И СИСТЕМА ВЫЯВЛЕНИЯ ИНФРАСТРУКТУРЫ ВРЕДОНОСНОЙ ПРОГРАММЫ ИЛИ КИБЕРЗЛОУМЫШЛЕННИКА 2020
  • Волков Дмитрий Александрович
  • Милешин Филипп Алексеевич
RU2722693C1
СПОСОБ И СИСТЕМА ДЕЦЕНТРАЛИЗОВАННОЙ ИДЕНТИФИКАЦИИ ВРЕДОНОСНЫХ ПРОГРАММ 2018
  • Сачков Илья Константинович
  • Лазаренко Александр Вячеславович
RU2677361C1
СИСТЕМА И СПОСОБ ЗАЩИТЫ ОТ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, СВЯЗЫВАЮЩАЯСЯ С СЕРВЕРОМ 2011
  • Махаффи Кэвин Патрик
  • Бургесс Джеймс Дэвид
  • Голомбек Дэвид
  • Вятт Тимоти Мишель
  • Лайнберри Энтони Маккей
  • Бартон Кайл
  • Эвенс Дэниел, Ли
  • Ричардсон Дэвид Льюк
  • Саломон Эриэл
  • Хёринг Джон Джи.
  • Грабб Джонатан Пантера
RU2571594C2
Способ восстановления спиралей из вольфрамовой проволоки для электрических ламп накаливания, наполненных газом 1924
  • Вейнрейх А.С.
  • Гладков К.К.
SU2020A1
Токарный резец 1924
  • Г. Клопшток
SU2016A1

RU 2 838 324 C1

Авторы

Чуянов Владимир Александрович

Высоцкий Алексей Вадимович

Даты

2025-04-14Публикация

2024-12-20Подача