Способ выявления вредоносных файлов с использованием графа связей Российский патент 2024 года по МПК G06F21/56 

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

Область техники

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

Уровень техники

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

Также известны так называемые атаки типа «целевая атака» (англ. advanced persistent threat (https://www.kaspersky.com/resource-center/definitions/advanced-persistent-threats), APT). Целевая атака характеризуется тем, что атакующий знает в той или иной мере объект атаки (архитектуру, установленное программное обеспечение, возможные уязвимости). Такие атаки выполняются на организации и компании в целом и осуществляются на инфраструктуру посредством эксплуатации программных уязвимостей и методов «социальной инженерии». Известны случаи, когда такие атаки производились с использованием нескольких простых приложений, которые не проявляли никакой вредоносной активности по отдельности, но по мере попадания в инфраструктуру атакуемой компании выполнялись совместно, в общем образуя вредоносный функционал и нанося вред атакуемой компании (например, Duqu (https://www.kaspersky.ru/resource-center/threats/duqu-2)).

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

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

Однако существует ряд вредоносных программ, которые не удается обнаружить с использованием вышеуказанных методов обнаружения. Например, в случае использования сразу ряда техник – использования подтвержденной электронной подписи у установочного файла, использования неизвестных уязвимостей нулевого дня (англ. zero day), отложенной загрузки вредоносных модулей (англ. second-stage payload). Кроме того, вредоносный функционал может быть реализован избирательно в зависимости от целей создателей вредоносного программного обеспечения (далее - ПО), как, например, в случае заражения 3CXDesktopApp в марте 2023 года (https://www.crowdstrike.com/blog/crowdstrike-detects-and-prevents-active-intrusion-campaign-targeting-3cxdesktopapp-customers/). Еще один вариант распространения вредоносного ПО заключается в модификации известных пакетов легитимного ПО, из-за чего при анализе таких приложений отличить вредоносное ПО от легитимного оказывается крайне затруднительно. В качестве примера такого распространения можно привести модификацию браузеров Tor в 2022 году (https://securelist.ru/onionpoison-infected-tor-browser-installer-youtube/105956/).

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

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

Раскрытие сущности изобретения

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

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

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

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

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

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

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

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

Краткое описание чертежей

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

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

Фиг. 2 показывает пример построения графа связей для объектов.

На Фиг. 3a и приведены примеры двух кластеров из графов связей.

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

Фиг. 5а и иллюстрируют варианты разметки файлов на основе кластеров.

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

Осуществление изобретения

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

Глоссарий

Телеметрия – получение, преобразование, передача по каналу связи, обработка и регистрация информации о различных событиях. В рамках настоящего изобретения телеметрия включает информацию о событиях, которые возникают на компьютерах пользователей при запуске исполняемых файлов или при скачивании файлов. Например, к событиям относят вызовы API функций и их аргументы, куда входят операции с файловой системой, реестром, работа с сетью, создание новых процессов и другие события. Например, при скачивании файла также сохраняется следующая информация: откуда был скачан файл, имя файла, путь к файлу на диске, временная метка сохранения файла на диске. Телеметрия собирается с компьютеров пользователей, на которые установлено приложение безопасности, такое как Kaspersky Internet Security или Kaspersky Endpoint Security.

В рамках настоящего изобретения есть два потока телеметрии: детектирующий поток телеметрии, который содержит события, связанные со срабатыванием приложения безопасности (например, обнаружение вредоносного файла), информационный поток телеметрии, который содержит информацию, которая связана с исполнением файлов. Подобная информация может собираться, например, с помощью модуля System Watcher (https://support.kaspersky.com/keswin/10sp2/ru-RU/128012.htm).

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

Метаданные – данные об объектах в компьютерной системе. Объектом может быть файл или ссылка. Данные о файле могут включать как статическую информацию (тип файла, размер, временная метка создания, количество строк, хеш-сумма и т.д.), так и динамическую информацию (например, список вызываемых API функций и их аргументы и т.д.). Данные о событии включают тип события, временную метку, а также связи с другими объектами (например, при открытии сетевого соединения будет указано, какой процесс инициировал открытие самого соединения и с каким хостом).

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

На Фиг. 1 представлен способ реализации настоящего изобретения. На этапе 101 собирают телеметрию по событиям, связанным с исполнением файлов, а также скачиванием файлов по ссылкам, при этом этап 101 повторяют по меньшей мере для двух пользователей (точнее – компьютеров пользователей, далее для упрощения речь будет идти о пользователях). На этапе 102 строят граф связей на основании полученных данных телеметрии, где вершинами являются объекты (файлы и связанные с ними метаданные из телеметрии, а также ссылки), а связывающие их ребра относятся к одному и тому же событию из телеметрии. Сбор данных с большого количества пользователей позволит собрать полную информацию по похожим событиям. События являются похожими если они относятся к одним и тем же объектам. Кроме пользователей, информация по событиям, связанными с исполнением файлов, может быть получена из внутренних ресурсов антивирусной компании. Источниками файлов является ресурс virustotal.com (и другие платформы, где используются несколько антивирусных сканеров), обмен коллекциями новых файлов с другими антивирусными компаниями, обход специальными краулерами ссылок, по которым скачивают неизвестные файлы, скачивание неизвестных файлов, которые были обнаружены с помощью тестовых антивирусных записей (например, согласно технологии в патенте US8356354).

На этапе 103 происходит разметка части объектов, информация по которым была собрана в рамках телеметрии.

На этапе 104 используют обученный ранее классификатор для разметки тех объектов, которые не были размечены ранее на этапе 103.

Рассмотрим все этапы более подробно.

Сбор телеметрии на этапе 101 в одном из вариантов реализации включает сбор по меньшей мере следующих данных по таким событиям, как запуск неизвестных файлов и/или скачивание неизвестных файлов (данные могут собираться с компьютеров пользователей, на которых установлены приложения безопасности, такие как Kaspersky Internet Security или Kaspersky Endpoint Security). Нотификации данных событий включают по меньшей мере один или несколько из следующих объектов (файлов или связанных с ними метаданных, а также URL-ссылок):

• Имя файла.

• Хеш файла (например, MD5).

• Путь к файлу.

• Размер файла.

• Имя запускающего файла.

• Путь к запускающему файлу.

• Тип учетной записи.

• Временные метки создания файла, последнего запуска файла.

• Факт упаковки файла (и какой упаковщик использовался).

• Наличие файла в автозапуске.

• Разрядность.

• Другие атрибуты файла.

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

• Версия приложения безопасности.

• Дата обновления антивирусных баз.

• Версия операционной системы.

При скачивании файла собирается информация:

• URL-адрес, откуда был скачан файл.

• IP-адрес домена.

• WHOIS информация домена

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

На этапе 103 происходит разметка части объектов.

Хеш файла признается легитимным (доверенным), если он найден в базе данных хешей для доверенных файлов (англ. whitelist). Также хеш файла признается доверенным, если сам файл был ранее признан доверенным на основе популярности (т.е. файл запускало количество пользователей, превышающее установленное значение, в рамках заданного промежутка времени) или на основе похожести на известные доверенные файлы по статическим признакам (похожесть файлов может быть определена с помощью методов, описанных в патентах US8499167, US9501742).

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

URL или IP-адрес домена признается вредоносным, если он находится в базе данных фишинговых или вредоносных адресов. Доверенные адреса находятся в списках доверенных на основании популярности, наличия доверенного сертификата.

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

file_md5=0x234, file_name='astra.exe', exec_file_path='C:/Program Files/', exec_file_size=140;
file_md5=0x234, file_name='1111.exe', exec_file_path='C:/Windows', exec_file_size=140;
file_md5=0x975, file_name='1111.exe', exec_file_path='C:/Windows', exec_file_size=10;
file_md5=0x876, file_name='wnd.dll', exec_file_path='C:/Windows', exec_file_size=100,

где file_md5 – хеш файла, file_name – имя файла, exec_file_path – путь к файлу, exec_file_size – размер файла в Кб. Как уже отмечалось ранее, хеш файла идентифицирует уникальный файл. В данном примере хеш файла приведен в виде короткой строки для целей иллюстрации (хеш файла, вычисленный по алгоритму MD5 состоит из 32 байт).

Указанные объекты (хеш, имя файла, путь, размер) представлены на Фиг. 2. Например, объект “имя файла” : “wnd.dll” связан с объектами “хеш файла” : “ 0x876” и “ путь к файлу” : “C:/Windows”. Это означает, например, что при событии скачивания файла, файл с таким именем был скачан и сохранен по данному пути и имеет указанный хеш. В то же время файл с хешем “0x234” был обнаружен как минимум по двум путям: “C:/Program Files/”, ”C:/Windows” – таким образом, один и тот же файл был сохранен по разным путям.

Связи (ребра) между объектами также включают агрегированную информацию о связанных между собой объектах. Например, ребро между объектами “хеш файла” : “ 0x876” и “ путь к файлу” : “C:/Windows” включает информацию об атрибутах файла, таких как размер или наличие недоверенной подписи. Так как информация об объектах собирается с различных компьютеров пользователей, то ребра могут включать как массив данных (например, массив значений размера файла file_size=[10,100,140] для указанного выше примера означает, что объектами “хеш файла” : “ 0x876” и “ путь к файлу” : “C:/Windows” были 3 файла с указанными хешами и путями, а также размерами 10 Кб, 100 Кб, 140 Кб), так и агрегаты по указанным массивам. Агрегаты включают такие значения, как минимум/максимум/среднее/дисперсия/популярность и другие величины. Агрегат в виде среднего значения для массива file_size=[10,100,140] будет равен 83.3. Агрегаты вычисляются как для ребер, так и для самих объектов. Например, для объекта (вершины графа) “1111.exe” агрегат в виде среднего значения для размера файла file_size=[140, 10] будет равен 75.

Агрегат для пары вершин (т.е. для ребра) характеризует, например, как часто встречались объекты, которые имеют значения, например, хеш “0х234” и путь “C:/Windows”. Также можно посчитать еще один агрегат в виде популярности объектов, например, самое большое количество встречаемости пути для того же хеша “0х234”.

На этапе 104 используют обученный ранее классификатор (модель машинного обучения) для разметки тех объектов, которые не были размечены ранее на этапе 103. Примеры классификаторов: бустинг на деревьях, полносвязная нейронная сеть, графовая нейронная сеть. Именно на этапе 104 происходит обнаружение неизвестных ранее вредоносных файлов.

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

В одном из вариантов реализации вектор признаков формируется для одной из вершин типа file_md5. С этой целью собирается набор признаков в виде информации об объектах и ребрах на заданном расстоянии N от указанной вершины. Например, на Фиг. 2 для вершины с file_md5=0x234 и N = 1 собирается информация по объектам “путь к файлу”: “С:/Program Files/” и “имя файла” : “astra.exe”, а также соответствующим ребрам.

В еще одном варианте реализации используется графовая нейронная сеть и вектор признаков формируется автоматически для нужной вершины. В другом варианте реализации используется алгоритм DeepWalk (https://arxiv.org/abs/1403.6652) для построения вектора признаков.

Есть другие варианты реализации, основанные на использовании вектора признаков в виде кластеров, которые будут собраны уже для объекта другого типа, например, “имя файла”. Кластер считается не компактным (неоднородным), если центральная вершина связана хотя бы с одной вершиной, которая соответствует легитимному (доверенному) файлу. На Фиг. 3а в качестве примера приведен кластер, где вершина 1 связана с вершинами 2, 3, 4, которые относятся к вредоносным файлам, но вершина 5 относится к доверенному файлу. Таким образом, неоднородный кластер содержит как вредоносные, так и доверенные файлы.

Также на Фиг. 3б приведен пример компактного (однородного) кластера, где вершина кластера связана только с вершинами, которые относятся к вредоносным файлам (т.е. кластер содержит похожие друг на друга файлы). Например, вершина 11 связана с вершинами 12, 13, 14, 15, которые относятся к вредоносным файлам. В таком кластере неизвестные вершины 16 и 17 (хеши файлов) могут быть отнесены к вредоносным файлам, в том случае, если другие признаки, такие как размер файла или наличие недоверенной подписи, являются схожими с признаками для файлов по вершинам 12, 13, 14, 15.

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

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

Фиг. 4а и иллюстрируют примеры использования обученного классификатора, который предсказывает тип кластера для неизвестной вершины (компактный или не компактный). В указанных примерах неизвестные файлы в графе являются объектами типа “хеш файла”.

Например, на Фиг. 4а классификатор признал кластер не компактным, потому что один из признаков - размер файла – слишком сильно различается для таких объектов, как вредоносный файл 22 (размер файла равен 850 Кб) и неизвестные файлы 24 и 25 (размеры равны 179 Кб и 1700 Кб), в то время как при обучении размеры файлов отличались не так сильно. В других случаях классификатор может ориентироваться на другие более сложные признаки.

Фиг. 4б иллюстрирует пример компактного кластера, для которого размеры неизвестных файлов 33 и 37 не сильно отличаются от размеров вредоносного файла 32 (например, значения размеров файлов будут 150 Кб, 180 Кб и 210 Кб соответственно). В таком случае классификатор отнесет указанный кластер к компактным и определит вершины 33, 37, а также 35 и 36, как относящиеся к вредоносным файлам.

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

Для обучения выборка собирается следующим образом: распространить разметку считаем возможным между любыми двумя вредоносными файлами кластера (т.е. в рамках триплета файлов), между любыми другими - нельзя. Например, на Фиг. 5а вредоносными файлами являются файлы с хешами “0xfff” и “0x111”, а “0xaba” является легитимным. По указанной выше логике вредоносным файлом также можно считать и связывающий их файл с именем “File_001.exe”. Но разметку вредоносного файла нельзя будет распространить для таких триплетов как:

“0xfff” – “File_001.exe” – “0xaba”;

“0x111” – “File_001.exe” – “0xaba”;

“0xfff” – <Неизвестный_файл> – <любой_легитимный_файл>.

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

Фиг. 5б иллюстрирует пример обнаружения вредоносных файлов с помощью метода распространения метки вредоносного файла. Например, если в триплете “Вредоносный файл” – “File_001.exe” – “Неизвестный файл 1” можно распространить метку вредоносного файла на “Неизвестный файл 1”, то на следующих шагах проверяется, можно ли сделать то же самое для следующих триплетов:

“ Неизвестный файл 1” – “ C:/Program Files/ ” – “Неизвестный файл 2”;

“ Неизвестный файл 1” – “File_001.exe” – “Неизвестный файл 3”.

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

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

Как показано на Фиг. 6, компьютерная система 620 включает в себя: центральный процессор 621, системную память 622 и системную шину 623, которая связывает разные системные компоненты, в том числе память, связанную с центральным процессором 621. Системная шина 623 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, способную взаимодействовать с любой другой шинной архитектурой. Примерами шин являются: PCI, ISA, PCI-Express, HyperTransport™, InfiniBand™, Serial ATA, I2C и другие подходящие соединения между компонентами компьютерной системы 620. Центральный процессор 621 содержит один или несколько процессоров, имеющих одно или несколько ядер. Центральный процессор 621 исполняет один или несколько наборов машиночитаемых инструкций, реализующих способы, представленные в настоящем документе. Системная память 622 может быть любой памятью для хранения данных и/или компьютерных программ, исполняемых центральным процессором 621. Системная память может содержать как постоянное запоминающее устройство (ПЗУ) 624, так и память с произвольным доступом (ОЗУ) 625. Основная система ввода/вывода (BIOS) 626, содержит основные процедуры, которые обеспечивают передачу информации между элементами компьютерной системы 620, например, в момент загрузки операционной системы с использованием ПЗУ 624.

Компьютерная система 620 включает в себя одно или несколько устройств хранения данных, таких как одно или несколько извлекаемых запоминающих устройств 627, одно или несколько неизвлекаемых запоминающих устройств 628, или комбинации извлекаемых и неизвлекаемых устройств. Одно или несколько извлекаемых запоминающих устройств 627 и/или неизвлекаемых запоминающих устройств 628 подключены к системной шине 623 через интерфейс 632. В одном из вариантов реализации извлекаемые запоминающие устройства 627 и соответствующие машиночитаемые носители информации представляют собой энергонезависимые модули для хранения компьютерных инструкций, структур данных, программных модулей и других данных компьютерной системы 620. Системная память 622, извлекаемые запоминающие устройства 627 и неизвлекаемые запоминающие устройства 628 могут использовать различные машиночитаемые носители информации. Примеры машиночитаемых носителей информации включают в себя машинную память, такую как кэш-память, SRAM, DRAM, ОЗУ не требующую конденсатора (Z-RAM), тиристорную память (T-RAM), eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM; флэш-память или другие технологии памяти, такие как твердотельные накопители (SSD) или флэш-накопители; магнитные кассеты, магнитные ленты и магнитные диски, такие как жесткие диски или дискеты; оптические носители, такие как компакт-диски (CD-ROM) или цифровые универсальные диски (DVD); и любые другие носители, которые могут быть использованы для хранения нужных данных и к которым может получить доступ компьютерная система 620.

Системная память 622, извлекаемые запоминающие устройства 627 и неизвлекаемые запоминающие устройства 628, содержащиеся в компьютерной системе 620 используются для хранения операционной системы 635, приложений 637, других программных модулей 638 и программных данных 639. Компьютерная система 620 включает в себя периферийный интерфейс 646 для передачи данных от устройств ввода 640, таких как клавиатура, мышь, стилус, игровой контроллер, устройство голосового ввода, устройство сенсорного ввода, или других периферийных устройств, таких как принтер или сканер через один или несколько портов ввода/вывода, таких как последовательный порт, параллельный порт, универсальная последовательная шина (USB) или другой периферийный интерфейс. Устройство отображения 647, такое как один или несколько мониторов, проекторов или встроенных дисплеев, также подключено к системной шине 623 через выходной интерфейс 648, такой как видеоадаптер. Помимо устройств отображения 647, компьютерная система 620 оснащена другими периферийными устройствами вывода (на Фиг. 6 не показаны), такими как динамики и другие аудиовизуальные устройства.

Компьютерная система 620 может работать в сетевом окружении, используя сетевое соединение с одним или несколькими удаленными компьютерами 649. Удаленный компьютер (или компьютеры) 649 является рабочим персональным компьютером или сервером, который содержит большинство или все упомянутые компоненты, отмеченные ранее при описании сущности компьютерной системы 620, представленной на Фиг. 6. В сетевом окружении также могут присутствовать и другие устройства, например, маршрутизаторы, сетевые станции или другие сетевые узлы. Компьютерная система 620 может включать один или несколько сетевых интерфейсов 651 или сетевых адаптеров для связи с удаленными компьютерами 649 через одну или несколько сетей, таких как локальная компьютерная сеть (LAN) 650, глобальная компьютерная сеть (WAN), интранет и Интернет. Примерами сетевого интерфейса 651 являются интерфейс Ethernet, интерфейс Frame Relay, интерфейс SONET и беспроводные интерфейсы.

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

Машиночитаемый носитель информации является осязаемым устройством, которое сохраняет и хранит программный код в форме машиночитаемых инструкций или структур данных, к которым имеет доступ центральный процессор 621 компьютерной системы 620. Машиночитаемый носитель может быть электронным, магнитным, оптическим, электромагнитным, полупроводниковым запоминающим устройством или любой подходящей их комбинацией. В качестве примера, такой машиночитаемый носитель информации может включать в себя память с произвольным доступом (RAM), память только для чтения (ROM), EEPROM, портативный компакт-диск с памятью только для чтения (CD-ROM), цифровой универсальный диск (DVD), флэш-память, жесткий диск, портативную компьютерную дискету, карту памяти, дискету или даже механически закодированное устройство, такое как перфокарты или рельефные структуры с записанными на них инструкциями.

Система и способ настоящего изобретения, могут быть рассмотрены в терминах средств. Термин «средство», используемый в настоящем документе, относится к реальному устройству, компоненту или группе компонентов, реализованных с помощью аппаратного обеспечения, например, с помощью интегральной схемы, специфичной для конкретного приложения (ASIC) или FPGA, или в виде комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора машиночитаемых инструкций для реализации функциональности средства, которые (в процессе выполнения) превращают микропроцессорную систему в устройство специального назначения. Средство также может быть реализовано в виде комбинации этих двух компонентов, при этом некоторые функции могут быть реализованы только аппаратным обеспечением, а другие функции — комбинацией аппаратного и программного обеспечения. В некоторых вариантах реализации, по крайней мере, часть, а в некоторых случаях и все средство может быть выполнено на центральном процессоре 621 компьютерной системы 620. Соответственно, каждое средство может быть реализовано в различных подходящих конфигурациях и не должно ограничиваться каким-либо конкретным вариантом реализации, приведенным в настоящем документе.

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

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

название год авторы номер документа
Система и способ двухэтапной классификации файлов 2018
  • Романенко Алексей Михайлович
  • Прокудин Сергей Викторович
  • Лискин Александр Викторович
RU2708356C1
Способ классификации объектов для предотвращения распространения вредоносной активности 2023
  • Паринов Денис Игоревич
  • Власова Виктория Владимировна
  • Романенко Алексей Михайлович
  • Антонов Алексей Евгеньевич
RU2808385C1
СИСТЕМА И СПОСОБ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ОБНАРУЖЕНИЯ НЕИЗВЕСТНЫХ ВРЕДОНОСНЫХ ОБЪЕКТОВ 2010
  • Машевский Юрий Вячеславович
  • Василенко Роман Сергеевич
RU2454714C1
Способ избирательного использования шаблонов опасного поведения программ 2017
  • Павлющик Михаил Александрович
  • Слободянюк Юрий Геннадьевич
  • Монастырский Алексей Владимирович
  • Мартыненко Владислав Валерьевич
RU2665909C1
СИСТЕМА И СПОСОБ АНАЛИЗА СОБЫТИЙ ЗАПУСКА ФАЙЛОВ ДЛЯ ОПРЕДЕЛЕНИЯ РЕЙТИНГА ИХ БЕЗОПАСНОСТИ 2012
  • Павлющик Михаил Александрович
  • Монастырский Алексей Владимирович
RU2531565C2
Система и способ адаптирования шаблонов опасного поведения программ к компьютерным системам пользователей 2017
  • Павлющик Михаил Александрович
  • Слободянюк Юрий Геннадьевич
  • Монастырский Алексей Владимирович
  • Мартыненко Владислав Валерьевич
RU2652448C1
Устранение ложных срабатываний антивирусных записей 2016
  • Паринов Денис Игоревич
  • Свиридов Константин Юрьевич
  • Уласень Сергей Иванович
RU2625053C1
Способ ускорения полной антивирусной проверки файлов на мобильном устройстве 2019
  • Чебышев Виктор Владимирович
  • Главатских Дмитрий Николаевич
  • Филатов Константин Михайлович
  • Кусков Владимир Анатольевич
RU2726878C1
Система и способ снижения количества ложных срабатываний классифицирующих алгоритмов 2018
  • Прокудин Сергей Викторович
  • Чистяков Александр Сергеевич
  • Романенко Алексей Михайлович
RU2706883C1
Способ выборочного повторного антивирусного сканирования файлов на мобильном устройстве 2019
  • Чебышев Виктор Владимирович
  • Главатских Дмитрий Николаевич
  • Филатов Константин Михайлович
  • Кусков Владимир Анатольевич
RU2726877C1

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

Реферат патента 2024 года Способ выявления вредоносных файлов с использованием графа связей

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

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

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

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

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

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

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

2. Способ по п. 1, в котором вектор признаков формируют для одной из вершин, при этом собирают набор признаков в виде информации об объектах и ребрах на заданном расстоянии от указанной вершины.

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

а) статических методов обнаружения;

б) динамических методов обнаружения.

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

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

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

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

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

US 20170230410 A1, 10.08.2017
US 20210176260 A1, 10.06.2021
US 20220245256 A1, 04.08.2022
US 20210117544 A1, 22.04.2021
US 20110083180 A1, 07.04.2011
Система и способ обнаружения вредоносной активности на компьютерной системе 2018
  • Суменков Игорь Игоревич
  • Голованов Сергей Юрьевич
RU2697958C1

RU 2 823 749 C1

Авторы

Когтенков Алексей Александрович

Романенко Алексей Михайлович

Антонов Алексей Евгеньевич

Даты

2024-07-29Публикация

2023-07-28Подача