Система и способ обнаружения вредоносной активности на компьютерной системе
SYSTEM AND METHOD FOR DETECTING MALICIOUS ACTIVITY ON A COMPUTER SYSTEM

Область техники
Изобретение относится к технологиям обеспечения информационной безопасности, а более конкретно к системам и способам обнаружения вредоносной активности на компьютерной системе.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и объемом программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для таких атак, как отказ в обслуживании (англ. DDoS - Distributed Denial of Service) или для перебора паролей методом грубой силы (англ. bruteforce) на другие компьютеры или компьютерные сети. Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.
С описанными выше угрозами хорошо справляются специальные программы - антивирусы. Однако в некоторых ситуациях упомянутые антивирусы практически бесполезны, например при целевых кибератаках на компьютерные системы (англ. APT - advanced persistent threat), а также, когда при заражении компьютерных систем упомянутые антивирусы на этих компьютерных системах не функционировали (например, не были установлены или отключены).
В этом случае для установления факта заражения компьютерной системы приходится выполнять ресурсоемкий анализ состояния компьютерной системы, анализировать журналы поведения компьютерной системы, передаваемые и получаемые по компьютерной сети данные, действия пользователей и т.д. Зачастую описанные мероприятия приходится выполнять вручную, что хотя и увеличивает их эффективность, значительно повышает трудозатраты.
В публикации US 8225041 B2 описана технология управление историей производительности компьютерной системы. С этой целью производится анализ характеристик работы элементов компьютерной системы (запоминающие устройства, серверы управления, виртуализации хранения и т.д.) на основании которой строятся связи между данными на упомянутой компьютерной системе. На основании построенных связей восстанавливается история производительности компьютерной системы и предоставляется возможность управления упомянутой компьютерной системой и историей производительности.
Описанные выше технологии хорошо справляются с задачами восстановления и связывания разрозненных данных, собираемых на компьютерных системах, однако они не справляются с задачами анализа состояния компьютерной системы на основании выявленных связей упомянутых данных, на основании которых впоследствии можно определять, в каком состоянии находилась анализируемая компьютерная система в тот или иной момент времени или в тот или иной момент выполнения действий на компьютерной системе.
Настоящее изобретение позволяет решать задачу обнаружения вредоносной активности на компьютерной системе более эффективно.
Раскрытие изобретения
Изобретение предназначено для обеспечения информационной безопасности данных.
Технический результат настоящего изобретения заключается в обнаружения вредоносной активности на компьютерной системе на основании анализа связей между объектами упомянутой компьютерной системы.
Данные результаты достигаются с помощью использования системы обнаружения вредоносной активности на компьютерной системе, которая содержит: средство сбора, предназначенное для: сбора информации об объектах компьютерной системы (далее, «объекты»); определения связи между объектами на основании анализа собранной информации; передачи информации о собранных объектах и определенных связях средству формирования графов; средство формирования графов, предназначенное для: формирования по меньшей мере двух графов на основании информации о полученных связях между объектами таким образом, чтобы диаметр графа был менее заранее заданного параметра, при этом в качестве вершин графа выступают объекты, а в качестве ребер - определенные средством сбора связи; формирования итогового графа на основании сформированных графов таким образом, чтобы итоговый граф содержал по меньшей мере по одной вершине из первого и второго графа и одно ребро соединяющее упомянутые вершины; передачи сформированного итогового графа средству поиска и средству анализа; средство поиска, предназначенное для: выборки из базы графов по меньшей мере одного графа, степень схожести которого с полученным графом превышает заранее заданный уровень, при этом в базе графов хранятся заранее сформированные графы активности компьютерной системы, каждому из которых поставлен в соответствие коэффициент вредоносной активности; передачи выбранного графа средству анализа; средство анализа, предназначенное для вынесения решения об обнаружении вредоносной активности на компьютерной системе на основании результатов анализа графов, полученных от средства формирования графов и средства поиска.
В другом частном случае реализации системы в качестве объектов выступают по меньшей мере: файлы; сетевые пакеты; сайты; страницы оперативной памяти, как физической, так и виртуальной; процессы и связанные с ними объекты операционной системы; события операционной системы; записи в журналах операционной системы или приложений; записи в MFT; записи в реестре операционной системы.
Еще в одном частном случае реализации системы в которой информация об объекте представляет собой данные, по меньшей мере: однозначно характеризующие упомянутый объект; на основании которых возможно сформировать вывод о наличии связи между упомянутым объектом и другим объектом.
В другом частном случае реализации системы связь между двумя объектами устанавливается при выполнении условия, при котором по меньшей мере: первый объект обрабатывает данные, предоставляемые вторым объектом; первый объект использует второй объект; первый и второй объекты используются третьим объектом; упомянутые объекты имеют по меньшей мере один одинаковый характеризующий их параметр.
Еще в одном частном случае реализации системы средство сбора дополнительно при определении связи между объектами ставит ей в соответствие степень достоверности связи, а передача информации о собранных объектах и определенных связях средству формирования графов производится только в случае, если степень достоверности определенной связи между собранными объектами превышает заранее заданное пороговое значение.
В другом частном случае реализации системы оптимизируют сформированный итоговый граф с целью уменьшения связей между объектами.
Еще в одном частном случае реализации системы решение об обнаружении вредоносной активности на компьютерной системе выносится на основании анализа коэффициента вредоносности по меньшей мере одного графа, найденного в базе графов, и степени схожести упомянутого графа со сформированным графом.
В другом частном случае реализации системы на основании анализа сформированного графа определяют объект, являющийся источником вредоносной активности на компьютерной системе.
Данные результаты достигаются с помощью использования способа обнаружения вредоносной активности на компьютерной системе, при этом способ реализуется с помощью средств из системы по по. 1 и содержит этапы, на которых: собирают информацию об объектах компьютерной системы (далее, «объекты»); определяют связи между объектами на основании анализа собранной информации, при этом каждой связи ставится в соответствие степень достоверности связи; формируют по меньшей мере два графа на основании определенных связей таким образом, чтобы диаметр графа был менее заранее заданного параметра, при этом в качестве вершин графа выступают объекты, а в качестве ребер - определенные на предыдущем этапе связи; формируют итоговый граф на основании сформированных графов таким образом, таким образом, чтобы итоговый граф содержал по меньшей мере по одной вершине из первого и второго графа и одно ребро соединяющее упомянутые вершины; выбирают из базы графов по меньшей мере один граф, степень схожести которого с сформированным итоговым графом превышает заранее заданный уровень, при этом в базе графов хранятся заранее сформированные графы активности компьютерной системы, каждому из которых поставлен в соответствие коэффициент вредоносной активности; выносят решение об обнаружении вредоносной активности на компьютерной системе на основании результатов анализа сформированного и выбранного графов.
В другом частном случае реализации способа в качестве объектов выступают по меньшей мере: файлы; сетевые пакеты; сайты; страницы оперативной памяти, как физической, так и виртуальной; процессы и связанные с ними объекты операционной системы; события операционной системы; записи в журналах операционной системы или приложений; записи в MFT; записи в реестре операционной системы.
Еще в одном частном случае реализации способа информация об объекте представляет собой данные, по меньшей мере: однозначно характеризующие упомянутый объект; на основании которых возможно сформировать вывод о наличии связи между упомянутым объектом и другим объектом.
В другом частном случае реализации способа связь между двумя объектами устанавливается при выполнении условия, при котором по меньшей мере: первый объект обрабатывает данные, предоставляемые вторым объектом; первый объект использует второй объект; первый и второй объекты используются третьим объектом; упомянутые объекты имеют по меньшей мере один одинаковый характеризующий их параметр.
Еще в одном частном случае реализации способа на предыдущем этапе определенной связи ставится в соответствие степень достоверности связи, а формирования графов производится только на основании связей, степень достоверности которых между собранными объектами превышает заранее заданное пороговое значение.
В другом частном случае реализации способа оптимизируют сформированный итоговый граф с целью уменьшения связей между объектами.
Еще в одном частном случае реализации способа решение об обнаружении вредоносной активности на компьютерной системе выносится на основании анализа коэффициента вредоносности по меньшей мере одного графа, найденного в базе графов, и степени схожести упомянутого графа со сформированным графом.
В другом частном случае реализации способа на основании анализа сформированного графа определяют объект, являющийся источником вредоносной активности на компьютерной системе.
Краткое описание чертежей
Фиг. 1 представляет пример структурную схему системы обнаружения вредоносной активности на компьютерной системе.
Фиг. 2 представляет пример структурной схемы способа обнаружения вредоносной активности на компьютерной системе.
Фиг. 3 представляет пример схемы формирования графа на основании анализа связей между объектами компьютерной системы.
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Функциональная связь - тип отношения (связи) между объектами при котором изменения каждого из объектов сопутствуют друг другу. При функциональной связи отсутствуют главные признаки причинно-следственной связи - производительность (объекты не производят друг друга), асимметричность во времени (они сосуществуют, одно из них не предшествует другому), необратимость.
Фиг. 1 представляет пример структурную схему системы обнаружения вредоносной активности на компьютерной системе.
Структурная схема системы обнаружения вредоносной активности на компьютерной системе содержит средство сбора 110, объекты компьютерной системы 111, обученную модель выбора 112, средство формирования графов 120, базу графов 131, средство поиска 130, средство анализа 140, решение 141, средство переобучения 150.
Средство сбора 110 предназначено для:
- сбора информации об объектах компьютерной системы 111 (далее, «информация об объектах» и «объекты» соответственно);
- определения связи между объектами 111 на основании анализа собранной информации, при этом каждой связи ставится в соответствие степень достоверности связи;
- передачи информации о собранных объектах 111 и определенных связях средству формирования графов 120.
Например, сбор информации об объектах компьютерной системы может осуществляться с помощью установленного в компьютерной системе специализированного драйвера, обеспечивающего перехват данных, передаваемых между процессами, по сети и т.д.
В одном из вариантов реализации системы в качестве объектов 111 выступают по меньшей мере:
- файлы;
- сетевые пакеты;
- сайты;
- страницы оперативной памяти, как физической, так и виртуальной;
- процессы и связанные с ними объекты операционной системы;
- события операционной системы;
- записи в журналах операционной системы или приложений,
- записи в MFT (англ. master file table - главная файловая таблица),
- записи в реестре операционной системы.
Например, сайт в качестве объекта 111 может представлять собой адрес, к примеру «http://google.com» или «http://files.downloads.com/chrome.exe».
Еще в одном примере журнал операционной системы «system.evtx» содержит следующую запись 111:
содержащая совокупность пар «ключ» - «значение», описывающих системное событие.
Еще в одном из вариантов реализации системы информация об объектах 111 представляет собой данные, по меньшей мере:
- однозначно характеризующие упомянутый объект 111,
- на основании которых возможно сформировать вывод о наличии связи между упомянутым объектом 111 и другим объектом 111.
Еще в одном из вариантов реализации системы в качестве информации об объектах 111 выступают по меньшей мере:
- информация о файлах:
имя файла,
путь к файлу,
размер файла;
- информация о процессах:
идентификатор процесса,
идентификаторы родительского и дочерних процессов;
имя приложения, породившего процесс;
- информация о сетевых пакетах:
адрес получения или передачи сетевого пакета,
размер сетевого пакета,
тип, размер и свертка данных, содержащихся в сетевом пакете,
имя приложения, получающего или передающего сетевой пакет;
- страницы оперативной памяти:
тип, размер, флаги страниц оперативной памяти,
размер, позиция, тип и свертка данных в страницах оперативной памяти,
идентификаторы процессов и имена приложений, работающих с данными на заданных страницах оперативной памяти;
- записи в журналах операционной системы:
ключ - значение, где в качестве ключа выступает название параметра, а в качестве значения - его значение.
Например, в реестре операционной системы (который можно рассматривать как один из журналов операционной системы) может быть следующая запись:
В качестве ключа в указанном примере выступает название поля «ImagePath», в качестве значения ключа - пара значений «тип поля» - «REG_EXPAND_SZ%», «значение поля» - <<systemroot%\KtknjRrl.exe».
Еще в одном из вариантов реализации системы связь между объектами 111 представляет собой логическую или функциональную связь (например, в виде бинарного отношения) между упомянутым объектами 111, при этом логическая связь может возникать, когда два объекта 111 используются совместно, при том, что друг с другом они могут быть не связаны (например, сетевой пакет и событие операционной системы «запись файла на диск»), функциональная связь может возникать, когда один объект 111 используются для анализа другого объекта 111 (например, сайты и сетевые пакеты).
Еще в одном из вариантов реализации системы связь между двумя объектами 111 устанавливается при выполнении условия, при котором по меньшей мере:
- первый объект обрабатывает данные, предоставляемые вторым объектом;
например, использование технологии межпроцессного взаимодействие (англ. inter-process communication, IPC), в одном из случаев которого первый процесс считывает данные из памяти второго процесса;
- первый объект использует второй объект;
например, использование программой для своей работы dll-библиотеки;
- первый и второй объекты используются третьим объектом;
например, использование программой в своей работе двух независимых dll-библиотек (т.е. dll-библиотек, функции одной из которых не используют функции другой);
- упомянутые объекты имеют по меньшей мере один одинаковый характеризующий их параметр;
например, в качестве параметра может выступать имя файла.
Более подробно описанный выше пример выглядит следующим образом: при создании сервиса выполняются:
- запись файла «KtknjRrl.exe» на жесткий диск, информация о записывается в MFT:
- запись в журнал событий данных о выполненной операции:
- запись в реестр данных о созданном сервиса:
Все три записи объединяет имя файла <<KtknjRrl.exe>>, выступающий в качестве общего параметра для MFT, журнала событий и реестра.
Еще в одном примере с помощью браузера «chrome.exe» пользователь с сайта «http://files.com» загрузил архив «drivers.zip» из которого с помощью приложения «WinZip» затем выделил файл «driver.sys». В этом случае будет установлено, что файл «driver.sys» напрямую связан с файлом «drivers.zip» и косвенно с браузером «chrome.exe». В качестве объектов 111 в приведенном примере выступают объект #1: браузер «chrome.exe», объект #2: архив «drivers.zip», объект #3: файл «driver.sys», объект #4: сайт «http://files.com».
Вообще в описанном выше примере могут быть выделены следующие связи:
Еще в одном примере демонстрации связей между объектами 111 разнообразные службы операционной системы Windows записывают данные о свой работе в журнал операционной системы «system.evtx» в формате «[id записи] [время] [процесс] [событие] [параметры]». К примеру журнал содержит следующие записи:
В таком случае будет установлено, что процесс «hsayy.exe» связан с процессом «explorer.exe», поскольку было выполнено заранее заданное условие, связывающее два разных объекта 111 - с разницей в 30 секунд был записан и считан файл один и тот же файл «data.dat».
Еще в одном из вариантов реализации системы степень достоверности связи между двумя объектами 111 представляет собой численное значение, характеризующее вероятность того, что один из упомянутых объектов 111 имеет логическую или функциональную связь с другим их упомянутых объектов 111.
Например, степень достоверности связи может быть действительным численным значением в диапазоне от 0.0 до 1.0, где значение 0.0 означает, что объекты 111 однозначно не связаны друг с другом, а 1.0 - что связь между упомянутыми объектами 111 гарантированно присутствует.
Таким образом в случае, если степень достоверности связи между объектами 111 не максимально возможная (например, 1.0 из описанного выше примере), то определение связи между объектами 111 носит вероятностный характер и зачастую связь определяется не строго, а на основании накопленного опыта, статистических данных о связи между упомянутыми объектами 111.
Например, то что два объекта 111, созданные с разницей в 0.1 секунды, являются связанными друг с другом (например, были созданы при установке программного обеспечения) является хотя и предположением, но с высокой степенью достоверности из-за огромного объема накопленных статистических данных по работе операционной системы и установке разнообразного программного обеспечения.
Еще в одном из вариантов реализации системы передача информации о собранных объектах 111 и определенных связях средству формирования графов 120 производится только в случае, если степень достоверности определенной связи между собранными объектами 111 превышает заранее заданное пороговое значение.
Еще в одном из вариантов реализации системы выбор объектов 111, по которым средство сбора 110 собирает информацию и между которыми определяет связи, осуществляется с использованием обученной модели выбора 112. Обученная модель выбора 112 формируется предварительно с использованием методов машинного обучения, известных из уровня техники, на основании обучающей выборке, включающей компьютерные системы, поведение которых заранее известно (вредоносное или безопасное), таким образом, чтобы количество выбираемых объектов 111 стремилось к минимальному, а решение, выносимое при этом средством анализа 140 на основании анализа информации об упомянутых объектах 111 и связей между ними, стремилось к максимально точному. Такой подход позволяет сократить использование вычислительных ресурсов (памяти, процессорного времени и т.д.) для определения вредоносной активности на компьютерной системе и при этом сохранить точность выносимого решения.
Поскольку в дальнейшей для определения вредоносной активности на компьютерной системе используются как сами объекты 111 (информация об объектах), так и связи между объектами 111, то удобно представлять множество выделенных объектов 111 и множество определенных связей между выделенными объектами 111 в качестве элементов графа - математического объекта, для работы с которым разработана широкая и многофункциональная теория (теория графов), а анализ сводить к решению абстрактных математических задач.
Граф - абстрактный математический объект, представляющий собой множество вершин графа и набор ребер, то есть соединений между парами вершин. Например, за множество вершин может быть взято множество объектов 111, а за множество ребер могут быть взято множество логических и функциональных связей между выделенными объектами 111.
Для разных областей применения виды графов могут различаться направленностью, ограничениями на количество связей и дополнительными данными о вершинах или ребрах. Многие структуры, представляющие практический интерес в математике и информатике, могут быть представлены графами. Например, компьютерная система может быть смоделирована при помощи ориентированного графа, в котором как упоминалось выше вершины - это объекты 111 (описываемые, совокупностью параметров, представляющих собой информацию об объектах 111), а дуги (ориентированные ребра) - логические и функциональные связи между упомянутыми объектами 111. Кроме того, каждой вершине (связи) может быть поставлен свой вес (степень достоверности связи) и сформирован взвешенный ориентированный граф.
Графы являются основным объектом изучения теории графов.
Средство формирования графов 120 предназначено для:
- формирования по меньшей мере двух графов на основании информации о полученных связях таким образом, чтобы диаметр графа был менее заранее заданного параметра, при этом в качестве вершин графа выступают объекты 111, а в качестве ребер - определенные связи;
- формирования итогового графа на основании сформированных графов таким образом, таким образом, чтобы итоговый граф содержал по меньшей мере по одной вершине из первого и второго графа и одно ребро соединяющее упомянутые вершины;
- передачи сформированного итогового графа средству поиска и средству анализа 130.
Например, если компьютерная система может представлять собой распределенную систему клиентов, то в этом случае на основании собранных объектов 111 с каждого клиента и определенных связей между упомянутыми объектами 111 формируются свои графы для каждого из клиентов.
В одном из вариантов реализации системы оптимизируют сформированный итоговый граф с целью уменьшения количества ребер графов (т.е. связей между объектами 111).
Например, при оптимизации графа из графа исключаются по меньшей мере:
- вершины с заранее заданными свойствами (например, объекты заданных типов, обладающие заданными параметрами),
- ребра с заранее заданными свойствами (например, связи между объектами по времени создания объектов),
- дублирующие ребра.
Еще в одном варианте реализации системы минимизируют количество пересечений ребер итогового графа, где количество пересечений ребер графа (число пересечений графа) - наименьшее число элементов в представлении данного графа как графа пересечений конечных множеств, или, эквивалентно, наименьшее число клик, необходимых для покрытия всех ребер графа).
Еще в одном из вариантов из вариантов системы средство формирования графов 120 предназначено для:
- формирования графа на основании информации о полученных связях, где качестве вершин графа выступают объекты 111, а в качестве ребер - определенные связи, таким образом, чтобы:
диаметр графа был менее заранее заданного параметра;
содержал по меньшей мере по одной вершине из первого и второго графа и одно ребро соединяющее упомянутые вершины;
- передачи сформированного графа средству поиска и средству анализа 130.
Еще в одном из вариантов реализации системы средство формирования графов 120 на основании нескольких (по меньшей мере трех) графов формирует несколько, но при этом менее, чем упомянутых графов (по меньшей мере два) итоговых графа.
Например, при анализе компьютерной системы, представляющей собой распределенную систему (к примеру, персональные компьютеры, объединенные в локальную сеть) для каждого компьютера (по сути самостоятельного элемента компьютерной системы) формируют по нескольку графов. Затем, на основании сформированных для каждого компьютера графов формируют по одному итоговому графу и передают всю совокупность сформированных итоговых графов средству поиска 130.
В еще одном примере, в случае, если компьютерная система представляет собой распределенную систему, граф строится на основании информации об объектах 111 упомянутой компьютерной системы, включающей имена пользователей и их IP адреса, содержащейся в записях журналах операционной системы «security.evtx». В итоге, к примеру, получаются следующая цепочка действий (направленный граф):
пользователь #1 создал файл на компьютере #1 → …
… → пользователь #1 прошел авторизацию с компьютера #2 → …
… → на компьютере #2 пользователь #1 имперсонализировался из пользователя #2 → …
… → пользователь #2 прошел авторизацию с компьютера #3 и т.д.
Средство поиска 130 предназначено для:
- выборки из базы графов 131 по меньшей мере одного графа, степень схожести которого с полученным графом превышает заранее заданный уровень, при этом в базе графов хранятся заранее сформированные графы активности компьютерной системы, каждому из которых на основании анализа упомянутой активности поставлен в соответствие коэффициент вредоносной активности;
- передачи выбранного графа средству анализа 140.
В одном из вариантов реализации системы база графов 131 пополняется заранее графами, сформированными на основании объектов 111, выбранных из компьютерных систем, вредоносная активность которых известна. При этом упомянутые графы формируются с использованием описанных выше средства сбора 110 и средства формирования графов 120.
Еще в одном из вариантов реализации системы база графов 131 пополняется графами, сформированными на основании объектов 111, выбранных из компьютерных систем, входящих в обучающую выборку, на основании которой производилось машинное обучение модели выбора 112.
Еще в одном из вариантов реализации системы в базе графов 131 хранятся не сами сформированные описанными выше способами графы, а их свертки. При этом средство поиска 130 дополнительно на основании графа, полученного от средства формирования графов 120, вычисляет его свертку, а поиск в базе графов 131 производит на основании сравнения свертки вычисленной свертки графа с хранящимися в базе свертками графов.
Еще в одном из вариантов реализации системы в качестве свертки графа используется гибких хэш (англ. fuzzy hash).
Еще в одном из вариантов реализации системы определяется степень изоморфизма графов, на основании которой определяется степень схожести упомянутых графов.
Средство анализа 140 предназначено для вынесения решения 141 об обнаружении вредоносной активности на компьютерной системе на основании результатов анализа графов, полученных от средства формирования графов 120 и средства поиска 130.
В одном из вариантов реализации системы решение об обнаружении вредоносной активности на компьютерной системе выносится на основании анализа коэффициента вредоносности по меньшей мере одного графа, найденного в базе графов, и степени схожести упомянутого графа со сформированным графом.
Например, итоговая степень вредоносности анализируемой компьютерной системы может вычисляться по формуле
где
w - коэффициент вредоносности анализируемой компьютерной системы,
j
w - коэффициент вредоносности j-ого графа, выбранного из базы графов 131,
{i,j}
c - степень схожести i-ого сформированного графа и j-ого графа, выбранного из базы графов 131,
N - количество сформированных графов для анализируемой компьютерной системы,
М - количество графов, выбранных из базы графов 131.
m
Еще в одном примере коэффициент вредоносности w анализируемой компьютерной системы может находиться в диапазоне от 0,0 (на компьютерной системе не было вредоносной активности) до 1,0 (на компьютерной системе вредоносная активность была). При этом, если упомянутый коэффициент вредоносности w превышает заранее заданное значение (к примеру, 0,75) выносится решение о том, что на анализируемой компьютерной системе обнаружена вредоносная активность.
Еще в одном из вариантов реализации системы на основании анализа сформированного графа определяют объект 111, являющийся источником вредоносной активности на компьютерной системе.
Средство переобучения 150 предназначено для переобучения модели выбора 112 на основании вынесенного средством анализа 140 решения 141, таким образом, чтобы при повторном анализе той же компьютерной системы на вредоносность для формирования графов средством формирования графов 120 на основании анализа объектов 111, выбранных средством сбора 110, по меньшей мере:
- количество выбираемых объектов 111 стремилось к минимальному, а решение, выносимое при этом средством анализа 140 на основании анализа информации об упомянутых объектах 111 и связей между ними, стремилось к максимально точному;
- использование вычислительных ресурсов для формирования графов средством формирования графов 120 было меньше, чем при использовании объектов 111, выбранных при использовании непереобученной модели.
Рассмотрим работу системы обнаружения вредоносной активности на компьютерной системе на следующем примере:
Пользователь последовательно выполнил следующие действия:
- подключился к удаленному компьютеру с вводом пароля,
- создал новый сервис;
что в свою очередь стало причиной следующих изменений в упомянутой компьютерной системе:
- создание сервиса модифицирует реестр,
- сервис запускает Powershell,
- Powershell создает файл.
Средство сбора 110 собирает информацию об объектах компьютерной системы 111:
- объект # 1 - запись в журнале,
- объект #2 - запись в журнале,
- объект #3 - ключ в реестре,
- объект #4 - запись в журнале,
- объект #5 - создание файлы на файловой системе.
Средство формирования графов 120 на основании собранных объектов 111 строит связи на основании следующих данных:
объект # 1 (запись в журнале) → [связь по имени пользователя] → ….
… → объект #2 (запись в журнале) → [связь по имени сервиса] → …
… → объект #3 (ключ в реестре) → [связь по имени файлы в ключе реестра] → …
… → объект #4 (запись в журнале) → [связь по имени файла в журнале] → …
… → объект #5 (создание файлы на файловой системе)
Фиг. 2 представляет пример структурной схемы способа обнаружения вредоносной активности на компьютерной системе.
Структурная схема способа обнаружения вредоносной активности на компьютерной системе содержит этап 210, на котором собирают информацию об объектах компьютерной системы, этап 220, на котором определяют связи между объектами, этап 230, на котором формируют графы, этап 240, на котором формируют итоговый граф, этап 250, на котором выбирают графы, этап 260, на котором выносят решение о вредоносной активности, этап 270, на котором переобучают модель выбора.
На этапе 210 собирают информацию об объектах компьютерной системы 111.
В частном случае реализации способа выбор объектов 111 для которых собирается информация осуществляется с использованием обученной модели выбора 112.
На этапе 220 определяют связи между объектами 111 на основании анализа собранной информации, при этом каждой связи ставится в соответствие степень достоверности связи.
В одном из частных случаев реализации способа объекты 111, степень достоверности связи между которыми ниже заранее заданного порогового значения, из дальнейшего анализа компьютерной системы на вредоносность исключаются.
Таким образом достигается уменьшение используемых для анализа компьютерной системы на вредоносность вычислительных ресурсов.
На этапе 230 формируют по меньшей мере два графа на основании определенных связей (в том числе, с использованием установленной степени достоверности связи) таким образом, чтобы диаметр графа был менее заранее заданного параметра, при этом в качестве вершин графа выступают объекты 111, а в качестве ребер - определенные связи.
На этапе 240 формируют итоговый граф на основании сформированных графов таким образом, таким образом, чтобы итоговый граф содержал по меньшей мере по одной вершине из первого и второго графа и одно ребро соединяющее упомянутые вершины.
На этапе 250 выбирают из базы графов 131 по меньшей мере один граф, степень схожести которого с сформированным итоговым графом превышает заранее заданный уровень, при этом в базе графов хранятся заранее сформированные графы активности компьютерной системы, каждому из которых на основании анализа упомянутой активности поставлен в соответствие коэффициент вредоносной активности.
В одном из вариантов реализации способа выставление коэффициентов вредоносной активности осуществляется любым известным из уровня техники способом, в том числе на основании анализа упомянутого графа аналитиком.
На этапе 260 выносят решение об обнаружении вредоносной активности на компьютерной системе на основании результатов анализа сформированного и выбранного графов.
На этапе 270 переобучают модель выбора 112 на основании вынесенного на этапе 260 решения 141, таким образом, чтобы при повторном анализе той же компьютерной системы на вредоносность для формирования графов на этапе 230 на основании анализа объектов 111, выбранных на этапе 210, по меньшей мере:
- количество выбираемых объектов 111 стремилось к минимальному, а решение, выносимое при на этапе 260 на основании анализа информации об упомянутых объектах 111 и связей между ними, стремилось к максимально точному;
- использование вычислительных ресурсов для формирования графов на этапе 230 было меньше, чем при использовании объектов 111, выбранных при использовании непереобученной модели.
Фиг. 3 представляет пример схемы формирования графа на основании анализа связей между объектами компьютерной системы.
Схеме формирования графа на основании анализа связей между объектами компьютерной системы 111 содержит сформированные исходные графы 310 и 320, объединенный граф 330, оптимизированный граф 340, при этом каждый граф в качестве вершин графов выступают объекты компьютерной системы 301, 302, 303.
При этом объекты 301 могут рассматриваться как разные объекты (для удобства они все объединены под единым индексом, по сути являясь различными), а объекты 302 и 303 являются одинаковыми.
Исходные графы 310 и 320 формируются на основании анализа собранных объектов 301, 320, 303 и выявленных связей между ними.
На Фиг. 3 сплошными линиями обозначаются функциональные связи между объектами 111, пунктирными линиями - логические связи, стрелками - связывающий и связываемый объекты (т.е. стрелка отходит от объекта 111, породившего связь к объекту 111, ставшему связанным с упомянутым объектом 111). Например, если из архива будет выделен файл, то стрелкой будет показана функциональная связь от архива к выделенному файлу.
Например, с помощью средства сбора 110 собираются информацию об объектах компьютерной системы 111, при этом компьютерная система может состоять из нескольких независимых компонент (к примеру, клиента и сервера) и упомянутые объекты 111, собранные с разных независимых компонент, могут также считаться независимыми. Таким образом будет сформировано несколько исходных графов.
Еще в одном примере компьютерная система является унитарной (содержит лишь один независимый компонент), поэтому все собранные объекты 111 могут считаться зависимыми, тем не менее они также могут быть разделены на несколько относительно независимых (с малым количеством связей) групп, для которых будет построено несколько (для каждой группы свой) исходных графов.
Например, на компьютерной системе работает вредоносная программа, позволяющая осуществлять удаленное управление упомянутой компьютерной системой (англ. backdoor) - получая команды от «хозяина», упомянутая вредоносная программа может выполнять те или иные вредоносные или несанкционированные действия. Можно рассмотреть частный случай, когда вредоносная программа получила две разные команды «зашифровать документы» и «получить пароли». Оба действия будут независимыми и могут быть выполнены разными модулями вредоносной программы. При анализе такой компьютерной системы будет построено 2 независимых графа, в одном из которых по большей части объектами 111 станут файлы (документы), а во второй - записи в журналах операционной системы. Тем не менее связь между двумя графами можно будет отследить по сетевой активности (которая отразится также в журналах операционной системы), источнику активности (модулям вредоносной программы), времени начала активности, сетевым пакетам и т.д.
Средство формирования графов 120 формирует исходные графы 310, 320 таким образом, чтобы они содержали (в качестве вершин) по меньшей мере два одинаковых или схожих объекта 111 (схожие объекты - объекты, у которых по меньшей мере по одному параметру отличается друг от друга на величину, не больше заданной). Например, исходный граф 310 содержит два одинаковых объекта 303.
Объединенный граф 330 формируется на основании сформированных ранее исходных графов 310 и 320.
Средство формирования графов 120 формирует объединенный граф 330 таким образом, чтобы в него входили все одинаковые или схожие объекты 111, присутствующие во всех исходных графах, на основании который формируется объединенный граф 330. Например, объединенный граф 330 содержит все объекты 302, 303, присутствующие в исходных графах 310, 320.
Объединенный граф 330 может считаться итоговым графом, на основании которого средство поиска 130 будет производить последующий анализ упомянутого графа. Тем не менее, для того, чтобы система обнаружения вредоносной активности на компьютерной системы была менее требовательной к компьютерным ресурсам (место в базе графов, вычислительные ресурсы для формирования, поиска и анализа графов и т.д.) средство формирования графов 120 производит оптимизацию объединенного графа 330 и формирует оптимизированный граф 340.
Оптимизированный граф 340 формируется на основании сформированного ранее объединенного графа 330.
Средство формирования графов 120 формирует оптимизированный граф 340 таким образом, чтобы в него входили все одинаковые или схожие объекты 111, присутствующие во всех исходных графах, и объединенном графе. Например, оптимизированный граф 340 содержит все объекты 302, 303, присутствующие в исходных графах 310, 320 и объединенном графе 330.
При этом все несвязанные с упомянутыми объектами 111 объекты и связи (вершины и ребра) могут быть удалены из оптимизированного графа 340 (отмечены как незакрашенные круги 301).
Таким образом после оптимизации кроме упомянутых объектов 302, 303 могут быть выявлены объекты 304, между которыми установлена связь, не определяемая ранее, на этапе формирования исходных графов 310, 320.
Оптимизированный граф 340 является уже более компактным, чем объединенный граф 330, поэтому последующие работы с использованием оптимизированного графа более оптимальны.
Фиг. 4 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 4. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.