Способ обнаружения аномалии в поведении доверенного процесса и система для его реализации
METHOD FOR DETECTING AN ANOMALY IN THE BEHAVIOR OF A TRUSTED PROCESS AND A SYSTEM FOR ITS IMPLEMENTATION

Область техники
Настоящее изобретение относится к решениям для выявления случаев вредоносного поведения, основанных на эксплуатации уязвимостей в доверенных процессах, а именно к способам и системам обнаружения аномалий в поведении доверенных процессов.
Уровень техники
Борьба с вредоносными программами – одна из самых важных задач современной компьютерной безопасности. В области технических средств противодействия вредоносным программам за последний десяток лет стал наблюдаться кризис. Соперничество между злоумышленниками, использующими вредоносные программы и уязвимости в программном обеспечении, и разработчиками антивирусного программного обеспечения привело к тому, что последние играют роль «догоняющих». Злоумышленники каждый раз изощряются при создании вредоносной программы или использовании уязвимости доверенных программ для получения выгоды.
В настоящее время злоумышленники стали эффективно скрывать свою деятельность. Техники маскировки сделали традиционные сигнатурные и пороговые (англ. threshold-based) детективные меры практически бесполезными, где детективные меры – меры, помогающие выявлять связанную с инцидентом деятельность. В тоже время индустрия информационной безопасности стала развивать использование поведенческого анализа, который связан с поиском шаблонов активности и математически значимых отклонений в пользовательском поведении (использование подозрительных приложений, операции поиска файлов) или программном (процессорном) поведении, основываясь на исторических исходных данных.
Одними из перспективных направлений являются технические решения, направленные на обнаружение вредоносных программ или отклонений в поведении доверенных программ на основании поиска аномалий, так как:
• позволяют выстроить индивидуальную защиту устройства пользователя;
• не требуют частого обновления баз;
• способны обнаруживать как известные, так и неизвестные ранее угрозы.
Злоумышленники в результате эксплуатации уязвимостей в программе могут получить возможность выполнения вредоносных действий от лица доверенного процесса. Существующие методы обнаружения эксплуатации уязвимостей и следующих за ней деструктивных действий строятся на основе классических методов, таких как сигнатурный и эвристический анализ, и не всегда способны обнаруживать эксплуатацию ранее неизвестной уязвимости.
Для устранения ограничений существующих решений по поиску аномалий в поведении доверенных процессов требуются новые решения, позволяющие решить задачу поиска аномалии и уязвимости в программах. Так, предлагаются решения, основанные на применении алгоритмов машинного обучения совместно с цепями Маркова для обнаружения эксплуатации уязвимостей в доверенных приложениях, а именно обнаружения аномалий в поведении доверенных процессов.
Раскрытие изобретения
Настоящее изобретение относится к решениям для выявления случаев вредоносного поведения, основанных на эксплуатации уязвимостей в доверенных процессах, а именно к способам и системам обнаружения аномалий в поведении доверенных процессов. Настоящее изобретение заключается в совместном применении модуля, реализованного на основании по крайней мере одного метода машинного обучения, и модуля, используемого инструмент стохастического моделирования, а именно цепи Маркова.
Технический результат настоящего изобретения заключается в повышении эффективности обнаружения аномалий в поведении доверенных процессов путем применения базовых моделей поведения, основанных на принципе цепи Маркова, совместно с модулем машинного обучения, основанном по крайней мере на одном принципе машинного обучения.
В качестве одного варианта исполнения настоящего изобретения предлагается способ обнаружения аномалии в поведении доверенного процесса, в соответствии с которым обнаруживают запуск доверенного процесса в компьютерной системе, запрашивают в хранилище данных базовую модель поведения, выраженную в виде цепи Маркова, и модель машинного обучения (Модель ML) для файла, из которого запущен доверенный процесс, производят сбор данных о доверенном процессе при помощи базовой модели поведения, во время которого отслеживают происходящие события согласно цепи Маркова из базовой модели поведения, определяют вероятность появления каждого события в доверенном процессе с помощью применения цепи Маркова, и рассчитывают общую вероятность появления произошедших событий; сравнивают общую вероятность появления произошедших событий с заданным порогом, при превышении заданного порога выделяют события, которые произошли в процессе следования по цепи Маркова, и передают данные о событиях на вход Модели ML, при этом данные включают цепочку произошедших событий; анализируют данные событий при помощи Модели ML, в результате анализа выносят решение об аномальном поведении.
В другом варианте исполнения способа базовая модель поведения, выраженная в виде цепи Маркова, содержит цепочки событий, происходящих при выполнении доверенного процесса, при этом каждое событие имеет свою вероятность появления
В еще одном варианте исполнения способа события являются доверенными, при этом доверенные события имеют высокую вероятность появления в цепочки, где вероятность рассчитывается как отношение количества появлений конкретного события для текущего процесса к общему количеству появлений подобных событий для текущего процесса.
В другом варианте исполнения способа Модель ML заранее обучена на вхождении текстовых слов, которые встречались в атрибутах событий в цепочке.
В еще одном варианте исполнения способа указанная модель ML заранее обучалась как на логах без аномалий, так и с ними, где в результате обучения аномальные события определяются низкими коэффициентами.
В другом варианте исполнения способа при выявлении аномального поведения производят блокирование доверенного процесса и уведомление пользователя.
В еще одном варианте исполнения способа при вынесении решения об аномальном поведении проводят проверку на ложное срабатывание путем передачи данных компоненту, отвечающему за указанную проверку, о вынесенном решении и получении ответа с результатами проверки.
В другом варианте исполнения способа получают результат проверки ложного срабатывания, при этом если обнаружена ошибка в решении о выявленной аномалии, то проводят переобучение Модели ML путем переобучения совместно с данными, при анализе которых возникла ошибка.
В еще одном варианте исполнения способа цепочка произошедших событий включает события от начального события до события, после которого был достигнут заданный порог.
В качестве другого варианта исполнения настоящего изобретения предлагается система, содержащая по меньшей мере один компьютер, включающий взаимодействующие между собой средства: модуль обучения, средство контроля, средство анализа, хранилище данных, содержащее статистические данные о работе процессов, базовые модели поведения и Модели ML, и хранящиеся машиночитаемые инструкции, при выполнении которых система выполняет обнаружение аномалии в поведении доверенного процесса согласно любому из указанных выше вариантах исполнения способа.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1
На  представлен схематически пример реализации системы для осуществления способа обнаружения аномалий в поведении доверенных процессов на основании цепей Маркова и алгоритма машинного обучения.
Фиг. 2
На  представлен пример базовой модели поведения доверенного процесса в виде ориентированного графа.
Фиг. 3
Напредставленаблок-схема, иллюстрирующая способ обнаружения аномалий в поведении доверенных процессов на основании цепей Маркова и алгоритма машинного обучения.
Фиг. 4
На  представленаблок-схема, иллюстрирующая пример формирования базовой модели поведения и модели машинного обучения (Модель ML) для доверенного процесса.
Фиг. 5
иллюстрирует пример компьютерной системы общего назначения, с помощью которой может быть реализовано заявленное изобретение.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
Настоящее изобретение заключается в совместном применении модуля, включающего механизм работы на основании по крайней мере одного метода машинного обучения, и инструмента стохастического моделирования, а именно, цепи Маркова. Целью настоящего изобретения является обнаружение аномалий в поведении доверенных процессов. На основании принципа цепи Маркова формируют базовые модели поведения каждого доверенного процесса, при этом каждому произошедшему событию определяют весовой коэффициент. Весовой коэффициент события указывает на вероятность появления этого события во время исполнения доверенного процесса. Во время исполнения доверенного процесса в операционной системе (ОС) наблюдают за появлением событий, которые затем сравнивают с событиями из созданной базовой модели поведения, и определяют для каждого события весовой коэффициент. При этом подсчитывается общая вероятность появления всей цепочки произошедших событий на основании весовых коэффициентов и формируется поведенческий лог из произошедших событий. Когда общая вероятность достигает заданного порога, сформированный поведенческий лог направляется на вход модулю, предназначенному для выполнения анализа с использованием алгоритма машинного обучения. На основании анализа указанным модулем сформированного поведенческого лога производится оценка наличия аномалии в поведении доверенного процесса. Таким образом, на выходе указанного модуля выдается решение об аномальном поведении доверенного процесса на основании ряда произошедших событий и/или отсутствий каких-либо событий в указанном ряду. Кроме того, на основании обнаруженной аномалии в дальнейшем может быть выявлена уязвимость в программном обеспечении, через которую эксплуатируется соответствующий доверенный процесс.
Поведенческий лог представляет собой упорядоченный набор записей о событиях, которые возникли в результате работы определенного доверенного процесса. Использование цепи Маркова при формировании базового поведенческого лога (базовой модели поведения) осуществляется как древовидное представление событий, происходящих во время исполнения в доверенном процессе, при этом для каждого события определяется вероятность его появления (весовой коэффициент).
Доверенным процессом является процесс, запущенный из доверенного программного обеспечения (исполняемого файла), при этом исполняемый файл должен быть подписан как безопасный файл.
Далее представлены некоторые варианты воплощения заявленного изобретения.
Фиг. 1
100
На  представлен схематический пример реализации системы  для осуществления способа обнаружения аномалий в поведении доверенных процессов на основании цепей Маркова и алгоритма машинного обучения.
100
110
120
130
140
120
150
160
170
Система  включает такие средства, как: модуль обучения , хранилище данных , средство контроля  и средство анализа . В свою очередь хранилище данных  содержит статистические данные о работе процессов , базовые модели поведения  и модели ML (англ. Machine Learning – машинное обучение) .
110
160
170
160
160
170
Для реализации заявленного изобретения требуется провести сбор информации о работе программного обеспечения (ПО) на компьютерной системе, при этом если заявленное изобретение используется на нескольких компьютерных системах, объединенных в сеть, например, в корпоративную сеть, такой сбор может быть произведен на всех компьютерных системах (КС) сети. На основании информации об используемом ПО определяется перечень процессов, исполнение (работа) которых на КС будет считаться доверенным. Далее при помощи модуля обучения  формируется базовая модель поведения  и модель ML  для каждого ПО и его доверенного процесса. Каждая базовая модель поведения  основана на принципе цепи Маркова и дополнительно содержит весовой коэффициент для каждого события в цепочке. Базовая модель поведения  формируется на основании собираемой информации о работе ПО, которая представлена в виде поведенческого лога. Модель ML  представляет собой модель машинного обучения.
160
160
190
190
160
Фиг. 1
Стоит отметить, что сбор информации в виде поведенческого лога и последующее формирование базовых моделей поведения  может быть реализовано заблаговременного и затем применяться на каждой КС при реализации заявленного изобретения. При этом базовые модели поведения  будут предоставлены вместе с решением или переданы через сеть Интернет , а также иметь возможность через сеть Интернет  обновляться. Такой вариант, в частности, предпочтителен для стандартного ПО. Заблаговременное формирование базовых моделей поведения  может быть реализовано на удаленном сервере (не представлен на ).
160
160
170
В другом варианте реализации базовые модели поведения  формируются непосредственно в начале работы, в режиме подготовки к работе. В этом режиме в реальном времени производится сбор информации о работе по крайней мере одного ПО во время его исполнения, формирование базовых моделей поведения  для этих процессов и формирование модели ML  для каждого ПО. Такой подход предпочтителен для не распространённого ПО либо при использовании в закрытой корпоративной сети.
160
160
160
В зависимости от варианта реализации формирование базовой модели поведения  производится как на поведенческих логах, содержащих только доверенные события, так и на поведенческих логах, содержащих дополнительно аномальные события. В результате формирования базовой модели поведения  для аномальных событий устанавливаются низкие весовые коэффициенты. Таким образом, базовая модель поведения  содержит все теоретически возможные события, которые могут произойти в доверенном процессе, с разными весовыми коэффициентами для конкретного ПО.
190
190
После формирования поведенческого лога для доверенного процесса определяется весовой коэффициент для каждого события из указанного лога. Весовой коэффициент для каждого события определяется с помощью сбора дополнительной аналогичной информации о происходящих событиях аналогичного ПО на других КС. Так, сбор осуществляется либо от КС в рамках одной корпоративной сети, либо от всех КС через сеть Интернет , либо от облачного сервера, обладающего информацией с необходимой статистикой о работе доверенных процессов, также через сеть Интернет .
В одном из вариантов реализации весовой коэффициент для события формируется на основании вероятности появления события во всех поведенческих логах из собранной статистики. Другими словами, каждое событие цепочки содержит вероятность его появления, а ее расчет проводится как отношение количества появлений конкретного события для текущего процесса к общему количеству появлений подобных событий для подобного текущего процесса.
170
Как правило, доверенные процессы содержат доверенные события. Доверенным событием, как правило, является событие, которое не является частью вредоносной деятельности (таргетированной атаки) и характерно для поведения соответствующего программного обеспечения. Доверенные события обладают высокой вероятностью появления во время исполнения доверенного процесса и будут обладать высоким весовым коэффициентом. Если же по какой-то причине доверенные события являются редкими, то они будут обладать не высоким весовым коэффициентом, но при этом данный параметр, а именно редкость, будет учтен при анализе поведенческого лога с помощью модели ML  перед вынесением окончательного решения.
Фиг. 2
Пример базовой модели поведения доверенного процесса в виде двудольного ориентированного графа (орграфа) представлен на , где вершины – процессы (заштрихованный красный круг) и события (однотонный зеленый круг), дуги – переходы между процессами и событиями, а толщина дуг указывает на вероятность такого перехода, т.е. на вероятность возникновения процесса и события.
Пример подхода формирования поведенческого лога (сбора информации) основан на следующем принципе.
Процесс операционной системы (ОС) Windows состоит из набора потоков, при этом каждый процесс состоит хотя бы из одного потока. ПО стартует с точки входа и исполняется до его завершения, при этом продолжительность работы может быть не ограничена. В процессе работы поток взаимодействует только со своей оперативной памятью. Для изменения состояния ОС (например, при выполнении чтения или записи в файл, работе с сетью или другими процессами) поток вызывает сервис ядра ОС с помощью одной из команд: syscall, sysenter или int XXh, т.е. происходит системный вызов. Все сервисы ядра пронумерованы, адреса их функции-обработчиков содержатся в системной таблице SSDT. Как правило, используются функции из системных библиотек ОС, которые являются обертками над этими вызовами (ntdll.dll, kernel32.dll и другие).
180
В одном из вариантов реализации сбор информации о процессе производится с помощью драйвера , который позволяет записывать номера системных вызовов для каждого потока и таким образом формировать поведенческий лог для процесса соответствующего ПО. При этом поведенческий лог содержит имена вызываемых функций, связанных с номерами системных вызовов, и параметры вызываемых функций.
150
120
150
190
190
В еще одном варианте поведенческий лог для определенного ПО и его процесса может быть взят из заранее собранных статистических данных о работе процессов  и находящихся в хранилище данных . Статистические данные о работе процессов  включают по крайней мере номера системных вызовов, имена функций и параметры функций, которые были собраны во время наблюдения за исполнением доверенных процессов КС или получены от других КС, находящихся в корпоративной сети или связанных с помощью сети Интернет , или удаленного сервера, взаимодействующего через сеть Интернет .
120
190
В еще одном варианте реализации хранилище данных  может находиться на удаленной КС, с которой производится взаимодействие через сеть, в частности, через сеть Интернет .
110
170
Модуль обучения  также предназначен для формирования модели машинного обучения (модель ML) . Модель ML для каждого ПО и его доверенного процесса формируется на базовых принципах формирования моделей машинного обучения для подобных задач, а именно для оценки вероятности наличия аномалии. Примерами моделей ML являются модели, созданные на одном или совместном использовании следующих принципов: наивном байесовском классификаторе (англ. naive Bayes classifiers), нейронных сетях (англ. artificial neural networks), дереве принятия решений (англ. decision tree), методе опорных векторов (англ. SVM, support vector machine).
170
110
170
170
190
Входными параметрами для обучения и дальнейшей работы каждой модели ML  являются параметры событий, происходящих во время работы доверенного процесса. В одном из вариантов реализации в качестве параметров используются текстовые данные (например, слова) из имен функций, которые встречались в происходящих событиях в доверенном процессе. Примером текстовых слов, которые соответствуют событиям, являются: CreateProcess, CreateFile и RegSetValue. В другом варианте реализации дополнительно в качестве параметров используются параметры функций. В еще одном варианте реализации модуль обучения  запрашивает модели ML  для необходимого ПО и соответствующих доверенных процессов у удаленного сервера, который содержит заранее сформированные модели ML  для различного ПО и соответствующих доверенных процессов, через сеть Интернет .
110
190
Стоит отметить, что в зависимости от реализации изобретения модуль обучения  может быть реализован и на другой КС. В этом случае связь с ним будет осуществляться через сеть, например, сеть Интернет .
160
170
120
После подготовки всех необходимых базовых моделей поведения  и обучения моделей ML  для обнаружения аномалий в поведении доверенных процессов на КС и их добавления в хранилище данных  заявленное изобретение переходит из режима подготовки к работе в режим основной работы.
105
130
130,
120,
160
105
130
105
130
160
160
160
140
В режиме основной работы при запуске нового доверенного процесса, например, процесса  с помощью средства контроля  производится его обнаружение. Затем средство контроля  обращаясь (делая запрос) к хранилищу данных  выбирает базовую модель поведения , которая соответствует обнаруженному доверенному процессу . После чего средство контроля  осуществляет контроль доверенного процесса . Во время контроля средство контроля  производит сравнение происходящих событий с событиями из базовой модели поведения , на основании которого в режиме реального времени подсчитывает общую вероятность появления происходящих событий. Подсчет осуществляется на основании определения вероятности происхождения (весового коэффициента) каждого события в цепочке событий из базовой модели поведения  и дальнейшего их перемножения между собой. При достижении заданного порога из пройденной части цепочки базовой модели поведения  извлекают данные и отправляют их средству анализа . Извлекаемыми данными является поведенческий лог, содержащий только произошедшие события, общая вероятность появления которых преодолела заданный порог, и параметры указанных событий. Например, в качестве параметров будут использованы текстовые слова, которые встретились в атрибутах произошедших событий.
140
120
170
140
130
170
140
170
Средство анализа  обращается (делает запрос) к хранилищу данных  для получения модели ML , которая соответствует анализируемому ПО. Далее средство анализа  передает полученные параметры от средства контроля  на вход модели МL . Средство анализа  с помощью модели ML  проводит анализ параметров. В одном из вариантов реализации модель ML разобьёт текстовые данные на слова, по которым и произведет анализ. По результатам анализа выносится решение о наличии аномального поведения в доверенном процессе. Так, например, решение будет говорить о наличии аномального поведения доверенного процесса, если в образовавшейся цепочке переходов между процессами и событиями вида: winword -> CreateProcess -> wmic -> CreateProcess, будут присутствовать строки: powershell и encodedcommand. Примером, когда решение будет говорить об отсутствии аномального поведения, будет являться сформированная цепочка вида: excel -> CreateProcess со строкой calc.exe.
140
140
130
Стоит отметить, что в зависимости от реализации заявленного изобретения решение о наличие аномального поведения, вынесенное средством анализа , может быть как окончательным, так и промежуточным. В случае, когда решение является промежуточным, окончательным решением будет являться решение, объединяющее решение от средства анализа  и полученных от средства контроля  результатов, включающих информацию о превышенном пороге и поведенческом логе. В одном из вариантов реализации окончательным решением является среднее  значение от вероятности для цепочки и решения модели ML.
Пример обнаружения аномалий в поведении доверенного процесса на примере исполняемого файла «winword.exe» программного обеспечения Microsoft Word.
Допустим, что для исполняемого файла «winword.exe» создана базовая модель поведения, выраженная в виде цепи Маркова, и обученная для нее модель ML.
Также предположим, что базовая модель поведения для доверенного процесса исполняемого файла «winword.exe» включает следующие события:
winword.exe выполнить:
Запуск приложения (Вероятность появления или весовой коэффициент: 0.9);
100
130
130
140
140
По ходу появления событий в доверенном процессе система  с помощью средства контроля  сравнивает их с событиями в указанной выше цепочке базовой модели поведения, продвигается по ней и считает общую вероятность появления произошедших событий. При достижении заданного порога из пройденной части цепочки средство контроля  извлекает данные, которые отправляет средству анализа , а именно на вход модели ML для последующего анализа. По результатам указанного анализа средство анализа  выносит решение о наличии аномального поведения в доверенном процессе.
В одном из вариантов работы доверенного процесса пройденная часть цепочки может содержать следующие события:
1. winword.exe (Вероятность: 1.0, так как является корневым процессом).
2. Запуск приложения (Вероятность: 0.9).
3. cmd.exe (Вероятность: 0.8).
4. Запуск приложения (Вероятность: 0.8).
5. svchost.exe (Вероятность: 0.2).
Следовательно, выход цепочки (общая вероятность появления произошедших событий) будет соответствовать: 1.0 х 0.9 х 0.8 х 0.8 х 0.2 = 0.11520000000000002.
130
140
140
Если заданный порог был равен 0.2, то общая вероятность его перешла. Соответственно, средство контроля  вынесет предварительное решение о наличии аномалии. Далее извлекаются данные и передаются средству анализа  на вход модели ML. Допустим, в качестве данных используются слова из атрибутов системных вызовов (например, имен функций и событий) из цепочки. Средство анализа  с помощью модели ML проводит анализ полученных данных по словам, на основании которых выносит окончательное решение об аномальном поведении.
100
Фиг. 1
В частном случае реализации система  при вынесении решения о наличии аномалии в поведении доверенного процесса дополнительно передает информацию, включающую вынесенное решение и информацию о ПО и его доверенном процессе, по крайней мере одному внешнему компоненту защиты КС (не представлены на ). Внешними компонентами защиты могут являться компоненты КС или компоненты защиты (например, антивирус), обладающие следующими механизмами: предотвращения заражения, отправления нотификации пользователю или средству управления корпоративной сетью, блокирования работы процесса, проведения проверки упомянутого решения на ложное срабатывание.
100
100
100
110
В еще одном частном случае реализации система  в случае передачи информации компоненту КС, отвечающему за проверку ложного срабатывания, ожидает ответа и не передает информацию другим компонентам КС. Ответ содержит либо информацию об отсутствии ложного срабатывания, либо о его наличии совместно с информацией о допущенной ошибке, приведшей к ошибочному решению. В случае, когда ложное срабатывание не подтвердилось, решение остается в силе, и система  передает информацию другим компонентам КС для обеспечения защиты данных и ОС. В противном случае, когда ложное срабатывание подтвердилось, система  отменяет решение о выявленной аномалии в поведении доверенного процесса и с помощью модуля обучения  проводит переобучение соответствующей модели ML и/или выполняет изменение в базовой модели поведения на основании полученной информации от указанного компонента КС. Компонент КС, отвечающий за проверку ложного срабатывания, при его реализации может быть как техническим решением, позволяющим самостоятельно провести проверку, так и техническим решением, взаимодействующим с пользователем (администратором) через элементы вывода и ввода. Техническое решение, проводящее самостоятельную проверку ложного срабатывания, основано на сборе данных о проверяемом вынесенном решении от других аналогичных решений и при анализе использует различные правила проверки.
Фиг. 3
Фиг. 1
Напредставленаблок-схема, иллюстрирующая способ обнаружения аномалий в поведении доверенных процессов на основании цепей Маркова и алгоритма машинного обучения. Представленный способ реализуется с помощью средств системы, представленных при описании .
310
110
Фиг. 1
На этапе  (предварительном) с помощью модуля обучения  проводят подготовительную работу, включающую создание базовой модели поведения и модели ML для по меньшей мере одного доверенного процесса. Указанная подготовительная работа представлена при описании .
320
130
На этапе  с помощью средства контроля  обнаруживают запуск доверенного процесса.
330
130
На этапе  с помощью средства контроля  выбирают базовую модель поведения для обнаруженного доверенного процесса, где указанная модель выражена в виде цепи Маркова.
340
130
На этапе  с помощью средства контроля  контролируют работу обнаруженного доверенного процесса, во время которого производят подсчет общей вероятности появления происходящих событий в доверенном процессе на основании базовой модели поведения.
350
130
На этапе  с помощью средства контроля  определяют, превышает ли общая вероятность заданный порог.
360
130
140
На этапе  с помощью средства контроля  в том случае, если общая вероятность достигла или превысила заданный порог, извлекают данные из возникшей цепочки произошедших событий и передают средству анализа , а именно на вход модели машинного обучения (модели ML).
140
140
140
120
Стоит отметить, что в зависимости от реализации средство анализа  может включать в свой состав необходимую модель ML. В случае, когда средство анализа  не включает необходимую модель ML, средство анализа  предварительно запрашивает из хранилища данных  модель ML, соответствующую упомянутому доверенному процессу, и после этого передает данные ей на вход.
370
140
На этапе  с помощью средство анализа  выносят решение о наличии аномального поведения в доверенном процессе на основании анализа данных при помощи модели ML.
Фиг. 4
Фиг. 1
На  представленаблок-схема, иллюстрирующая пример формирования базовой модели поведения и модели машинного обучения (Модель ML) для доверенного процесса. Представленный пример реализуется с помощью средств системы, представленных при описании .
410
180
110
На этапе  с помощью драйвера  производится сбор информации о событиях, происходящих в доверенном процессе, во время исполнения ПО. Собранная информация представляет собой поведенческий лог, который передают модулю обучения .
420
110
На этапе  с помощью модуля обучения  анализируют поведенческий лог с целью распознавания произошедших событий и выявления параметров событий, произошедших во время работы доверенного процесса. В одном из вариантов реализации в качестве параметров определяют текстовые слова, которые находятся в атрибутах событий.
430
110
На этапе  с помощью модуля обучения  дополнительно запрашивают статистические данные о работе подобного доверенного процесса. Запрос направляется к хранилищу данных и/или к удаленному серверу.
440
110
На этапе  с помощью модуля обучения  определяют весовой коэффициент для каждого события из полученного поведенческого лога. В одном из вариантов реализации весовой коэффициент для события формируется на основании вероятности появления события во всех поведенческих логах из собранной статистики. Каждое событие цепочки является вероятностью, ее расчет осуществляется как отношение количества появлений конкретного события для текущего процесса к общему количеству появлений подобных событий для текущего процесса.
450
110
На этапе  с помощью модуля обучения  формируют базовую модель поведения согласно принципу цепи Маркова, которая представляет собой древовидную последовательность событий, происходящих во время исполнения ПО в доверенном процессе, при этом для каждого события указывается вероятность его появления (весовой коэффициент).
460
110
На этапе  с помощью модуля обучения  обучают модель ML на основании выявленных параметров событий.
470
110
120
На этапе  с помощью модуля обучения  добавляют базовую модель поведения и модель ML в хранилище данных .
Фиг. 5
20
Фиг. 1
20
21
22
23
21
23
24
25
26
20
24
представляет пример компьютерной системы общего назначения, которая может быть использована как компьютер клиента (например, персональный компьютер) или сервер, представленные на . Компьютерная система  содержит центральный процессор , системную память  и системную шину , которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором . Системная шина  реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) , память с произвольным доступом (ОЗУ) . Основная система ввода/вывода (BIOS) , содержит основные процедуры, которые обеспечивают передачу информации между элементами компьютерной системы , например, в момент загрузки операционной системы с использованием ПЗУ .
20
27
28
29
30
31
27
28
30
23
32
33
34
20
Компьютерная система  в свою очередь содержит жесткий диск  для чтения и записи данных, привод магнитных дисков  для чтения и записи на сменные магнитные диски  и оптический привод  для чтения и записи на сменные оптические диски , такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск , привод магнитных дисков , оптический привод  соединены с системной шиной  через интерфейс жесткого диска , интерфейс магнитных дисков  и интерфейс оптического привода  соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных компьютерной системы .
27
29
31
56
23
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск , сменный магнитный диск  и сменный оптический диск , но следует понимать, что возможно применение иных типов компьютерных носителей информации , которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине  через контроллер 55.
20
36
35
38
39
20
40
42
20
46
47
23
48
47
Компьютер  имеет файловую систему , где хранится записанная операционная система , а также дополнительные программные приложения 37, другие программные модули  и данные программ . Пользователь имеет возможность вводить команды и информацию в персональный компьютер  посредством устройств ввода (клавиатуры , манипулятора «мышь» ). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе  через последовательный порт , который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор  или иной тип устройства отображения также подсоединен к системной шине  через интерфейс, такой как видеоадаптер . В дополнение к монитору , персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
20
49
49
20
Фиг. 5
Компьютерная система  способна работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами . Удаленный компьютер (или компьютеры)  являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа компьютерной системы , представленного на . В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
50
20
50
51
20
54
54
23
46
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN)  и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях компьютерная система (персональный компьютер)  подключена к локальной сети  через сетевой адаптер или сетевой интерфейс . При использовании сетей персональный компьютер  может использовать модем  или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем , который является внутренним или внешним устройством, подключен к системной шине  посредством последовательного порта . Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.