Система и способ обнаружения нежелательного программного обеспечения

Иллюстрации

Показать все

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

Реферат

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

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

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

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

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

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

Кроме полезных, но не нужных пользователю программ, некоторые программы-установщики могут устанавливать так называемое «нежелательное программное обеспечение» (unwanted software), а также программное обеспечение, представляющее потенциальную (riskware) или реальную (malware) опасность.

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

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

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

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

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

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

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

Изобретение предназначено для антивирусной проверки приложений.

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

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

В другом частном случае реализации системы пороговое значение промежутка времени между модификациями файлов составляет по меньшей мере до 1 секунды; от 1 секунды до 1 минуты; от 1 минуты до 10 минут.

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

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

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

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

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

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

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

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

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

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

Фиг. 2 представляет структурную схему способа обнаружения нежелательного программного обеспечения.

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

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

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

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

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

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

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

Нежелательный файл - файл, входящий в состав нежелательного приложения.

Легитимное приложение - приложение, не являющееся нежелательным к моменту выполнения антивирусной проверки.

Легитимный файл - файл, входящий в состав легитимного приложения.

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

Структурная схема системы обнаружения нежелательного программного обеспечения состоит из хранилища файлов и приложений 101, хранилища истории пользовательской активности 102, средства сбора 111, средства поиска 112 и средства проверки 113.

Хранилище файлов и приложений 101 предназначено для:

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

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

- и предоставления приложений и файлов средству сбора 111.

Хранилище истории пользовательской активности 102 предназначено для:

- отслеживания с помощью драйверов (например, компьютерной мыши, клавиатуры, и т.д.) действий пользователя над приложениями, установленными в компьютерной системе;

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

- предоставления хранящейся информации средству проверки 113.

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

Средство сбора 111 предназначено для:

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

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

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

- файлы были созданы одним приложением,

- файлы загружены на компьютер с одного сетевого адреса;

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

- файлы имеют одинаковый тип файла (например, в качестве типов файла могут выступать исполнимые файлы .ехе, библиотеки .dll, архивы .zip, видео .avi и т.д.);

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

- совпадающие атрибуты файлов;

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

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

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

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

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

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

При этом пороговое значение промежутка времени между модификациями файлов составляет по меньшей мере:

- до 1 секунды;

- от 1 секунды до 1 минуты;

- от 1 минуты до 10 минут.

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

- до 1 секунды;

- от 1 секунды до 1 минуты;

- от 1 минуты до 10 минут.

Например, файлы «illustrator.exe» и «Bridge.exe» входят в состав разных приложений - «Adobe Illustrator CS6» и «Adobe Bridge CS6», оба из которых в свою очередь входят в состав графического пакета «Adobe Creative Suite». Файлы «illustrator.exe» и «Bridge.exe» были созданы практически в одно и тоже время: 10.11.2015 14:32:15.171 и 10.11.2015 14:32:16.025 соответственно, т.е. с разницей меньше в 1 секунду, что означает с большой долей вероятности, что приложения «Adobe Illustrator CS6» и «Adobe Bridge CS6» были установлены одновременно. Таким образом, файлы «illustrator.exe» и «Bridge.exe» связаны друг с другом.

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

Например, файлы «word.exe» и «excel.exe», входящие в состав приложений «Microsoft Word 2013» и «Microsoft Excel 2013» соответственно, были созданы в компьютерной системе в результате работы установочного пакета «Microsoft Office 2013» (программа установки, начавшая работу при запуске файла «office2013.msi»). Таким образом, файлы «word.exe» и «excel.exe» являются связанными, поскольку были созданы в компьютерной системе одним приложением (установочным пакетом «Microsoft Office 2013»).

В качестве другого примера выступают файлы «flash21.0.0.197.dll», представляющие собой драйвер приложения «Adobe Flash», и «mcafee.exe», представляющие собой один из файлов антивирусного пакета «McAfee AntiVirus Plus», созданные в компьютерной системе в результате работы браузера, с помощью использования ActiveX при посещении сайта «adobe.com»Ошибка! Недопустимый объект гиперссылки., при этом установочный пакет был сформирован динамически на посещаемом сайте в зависимости от опций, выставленных пользователем или заданных по умолчанию. Таким образом, файлы «flash21.0.0.197.dll» и «mcafee.exe» являются связанными, поскольку упомянутые файлы были загружены в компьютерную систему с одного сетевого адреса.

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

Например, JPEG и PNG изображения, хранящиеся в ресурсах файла, могут считаться схожими, если обладают схожим цветовым содержимым. Более подробно это выглядит так: каждая точка изображения хранит цвет в формате RGB, цвет конвертируется в YUV представление и для каждого канала Y, U и V сравниваемых изображений строится гистограмма распределения цветов по всем точкам, получается для каждого изображения три 256-мерных вектора, численное значение скалярного произведения которых и будет характеризовать степень схожести изображений - чем ближе к 0, тем изображения более похожи.

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

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

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

Например, все файлы приложения «Microsoft Word» связаны с файлами приложения «Microsoft Excel»:

- цифровой подписью (один из ресурсов исполнимых файлов, входящих в состав «Microsoft Word» и «Microsoft Excel»);

- производителем программного обеспечения (Microsoft);

- общим путем установки в файловой системе ("C:\Programs File\Microsoft Office 2013").

Средство поиска 112 предназначено для:

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

- и передачи информации, идентифицирующей обнаруженное приложение, средству проверки 113.

При этом информация, идентифицирующей обнаруженное приложение, содержит по меньшей мере:

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

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

- правила запуска приложения в компьютерной системе (например, строка запуска, содержащая путь к исполнимому файлу и ключи запуска).

Средство проверки 113 предназначено для:

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

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

При этом в качестве частоты использования приложений могут выступать:

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

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

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

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

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

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

θ={θ1, θ2, …, θn},

где

θ - частота использования приложения,

θ1 - частота запуска приложения с момента ее установки в компьютерной системе и до момента выполнения антивирусной проверки приложения,

θ2 - частота вызова приложением функций API операционной системы во время своей работы на компьютерной системе,

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

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

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

где

θ - частота использования приложения #1,

ϑ - частота использования приложения #2,

- сравнивают вычисленное значение с установленным пороговым значением и в случае, когда вычисленное значение выше установленного порогового значения, полученное средством сбора 111 приложение признается нежелательным.

Например, в качестве частоты использования приложений «MicrosoR Word» и «AdBlock Plus», установленных с помощью установочного пакета пользовательской сборки, может выступать совокупность сразу несколько характеристик, а именно:

для Microsoft Word»:

- частота запуска приложения (например, 1 раз в сутки);

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

для «AdBlock Plus»:

- частота запуска приложения (например, 10 раз в сутки);

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

Результат сравнения полученных частот использования «Microsoft Word» и «AdBlock Plus» будет численное значение, вычисленное по закону вычисления скалярного произведения векторов, а именно

где

ω - результат сравнения частот использования «Microsoft Word» θ и «AdBlock Plus» ϑ,

θ1 - частота запуска приложения «Microsoft Word»,

ϑ1 - частота запуска приложения «AdBlock Plus»,

θ2 - частота действий, осуществляемых с использованием элементов интерфейса приложения «Microsoft Word»,

ϑ2 - частота действий, осуществляемых с использованием элементов интерфейса приложения «AdBlock Plus».

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

Рассмотрим систему обнаружения нежелательного программного обеспечения на следующем примере.

В компьютерной системе на основании установленного правила безопасности о регулярном выполнении антивирусной проверки компьютерной системы был начат поиск нежелательных приложений. Средством сбора 111 на основе данных, предоставленных хранилищем файлов и приложений 101 (а именно, данных, записанных в ветки реестра, содержащую информацию об установленных в компьютерной системе приложениях), было обнаружено приложение «Yandex Toolbar», представляющее собой плагин для браузеров. В настройках браузера, записанных в реестре, была определена запись, относящаяся к «Yandex Toolbar», в которой был указан путь к файлу, входящему в состав приложение «Yandex Toolbar» и реализующему функционал плагина для браузера «Google Chrome» ("C:\ProgramFiles\Google\Chrome\Plugins\ytbar.exe").

Далее средством поиска 102 для найденного файла «ytbar.exe» был произведен сбор информации о связях упомянутого файла с другими файлами компьютерной системы. С этой целью были выполнены следующие действия:

- осуществлен поиск файлов со временем создания, отличающимся от времени создания «ytbar.exe» не более чем на минуту;

- осуществлен поиск файлов, размещенных в том же каталоге, что и «ytbar.exe» (или в каталоге, схожим по названию, например, "..\Chrome\Plugins\ytbar.exe" и "..\Firefox\Plugins\ytbar2.exe").

В результате были обнаружены еще несколько десятков файлов, которые появились в компьютерной системе в тоже время, что и исследуемый файл «ytbar.exe» или по схожим путям. Было определено, в состав каких приложений входят обнаруженные файлы: «Yandex Toolbar» и "K-Lite Codecs".

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

В результате были достигнуты результаты:

#1 «K-Lite Codecs», представляющее собой набор кодеков и утилит для работы с видео- и аудиофайлами (в основном кодирование и декодирование).

Было определено, что:

- файлы приложения «K-Lite Codecs», представляющие собой .dll библиотеки, запускались 30 раз в сутки;

- файлы приложения «K-Lite Codees», представляющие собой исполнимые.ехе файлы утилиты для работы с видео- и аудиофайлами, запускались 2 раза в сутки;

- один из файлов приложения «K-Lite Codees», представляющий собой утилиту («GraphStudioNext64.exe»), обладает графическим интерфейсом, содержащим элементы управления, и пользователь взаимодействовал с элементы управления (нажимал на кнопки, вносил параметры) 15 раз за каждый запуск файла «GraphStudioNext64.exe».

По полученным данным делается вывод, что приложение «K-Lite Codees» является активно работающим и регулярно используется пользователем.

#2 «Yandex Toolbar», представляющее собой плагин для браузеров, имеющий графический интерфейс, и предоставляющее пользователю быстрый доступ к разнообразным службам, таким как информация о погоде, почтовым сервисам и т.д.

Было определено, что:

- файлы приложения «Yandex Toolbar» запускались 25 раз в сутки (что соответствует количеству запусков браузера);

- в графическом интерфейсе приложения «Yandex Toolbar» ни разу не выполнялись действия с использованием элементов интерфейса приложения для передачи данных упомянутому приложению.

По полученным данным делается вывод, что приложение «Yandex Toolbar»:

- было установлено вместе с приложением «K-Lite Codecs» из одного установочного пакета (K-Lite Codec Pack Mega);

- не используется пользователем, будучи установленным.

Таким образом, делается вывод, что приложение «Yandex Toolbar» является нежелательным и должно быть удалено из компьютерной системы.

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

Структурная схема способа обнаружения нежелательного программного обеспечения содержит этап 201, реализуемый средством сбора 111, на котором получают приложения для проведения проверки, этап 202, реализуемый средством сбора 111, на котором обнаруживают файлы, входящий в состав проверяемого приложения, этап 203, реализуемый средством поиска 112, на котором производят поиск файлов, связанных с обнаруженным файлом, этап 204, реализуемый средством поиска 112, на котором обнаруживают приложения, этап 205, реализуемый средством проверки 113, на котором определяют частоту использования приложений, и этап 206, реализуемый средством сбора 113, на котором определяют проверяемое приложение как нежелательное приложение.

На этапе 201 получают от хранилища файлов и приложений 101 приложения, установленные в компьютерной системе.

На этапе 202 обнаруживают файлы, входящий в состав проверяемых приложений.

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

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

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

На этапе 203 производят в компьютерной системе, в которой расположены обнаруженные на этапе 202 файлы, поиск файлов, связанных с упомянутыми файлами, при этом два файла являются связанными, если выполнено по меньшей мере два из условий:

- файлы были созданы одним приложением;

- файлы загружены на компьютер с одного сетевого адреса;

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

- файлы имеют одинаковый тип файла (например, в качестве типов файла могут выступать исполнимые файлы .ехе, библиотеки .dll, архивы .zip, видео .avi и т.д.);

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

- атрибуты файла одинаковы для обоих файлов;

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

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

При этом пороговое значение промежутка времени между модификациями файлов составляет по меньшей мере:

- до 1 секунды;

- от 1 секунды до 1 минуты;

- от 1 минуты до 10 минут.

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

- до 1 секунды;

- от 1 секунды до 1 минуты;

- от 1 минуты до 10 минут.

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

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

На этапе 204 обнаруживают по меньшей мере одно приложение, содержащее по меньшей мере один найденный на этапе 203 файл, при этом упомянутое приложение установлено в компьютерной системе, что и полученное на этапе 201 приложение.

При этом информация об обнаруженных приложениях содержит по меньшей мере:

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

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

- правила запуска приложения в компьютерной системе (например, строка запуска, содержащая путь к исполнимому файлу и ключи запуска).

На этапе 205 определяют частоту использования полученного на этапе 201 приложения и обнаруженного на этапе 204 приложения, при этом частота использования приложения характеризует количество выполняемых приложением заранее установленных действий в компьютерной системе за установленное время.

При этом в качестве частоты использования приложений могут выступать:

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

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

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

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

На этапе 206 обнаруживают полученное на этапе 201 приложение как нежелательное приложение на основании сравнения полученных на этапе 205 частот использования полученного на этапе 201 приложения и обнаруженного на этапе 204 приложения.

При этом