Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя
SYSTEM AND METHOD OF FORMATION OF ANTI-VIRUS RECORDS USED TO DETECT MALICIOUS FILES ON USER'S COMPUTER

Область техники
Изобретение относится к области защиты от компьютерных угроз, а именно к системам и способам формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя.
Уровень техники
В настоящее время увеличивается количество всевозможных приложений (программного обеспечения), используемых на вычислительных устройствах, в том числе и на персональных электронных вычислительных машинах (компьютерах). Среди многообразия приложений существует множество вредоносных программ, которые способны нанести вред компьютеру или данным пользователя компьютера, например: сетевые черви, клавиатурные шпионы, компьютерные вирусы. Существует множество средств, обеспечивающих безопасность компьютеров, например, антивирусное программное обеспечение, которое предназначено для обнаружения вредоносных программ, а также для ограничения их работоспособности (например, для помещения в карантин или полного удаления вредоносного приложения).
Для обнаружения вредоносного программного обеспечения (ПО), вредоносных процессов, других вредоносных объектов операционной системы (ОС) и ссылок на них, например URI (англ. Universal Resource Identifier - ссылка установленного вида, например file://***.exe), антивирусное приложение использует ряд методов обнаружения вредоносного программного обеспечения, например, сигнатурный анализ (технология поиска соответствий какого-либо участка кода анализируемой программы известному коду - сигнатуре - из базы данных сигнатур вредоносных программ), эвристический анализ (технология, заключающаяся в эмуляции работы анализируемой программы, создании журнала вызовов API-функций - Application Programming Interface функции - и поиске соответствий данных из созданного журнала вызова API-функций с данными из базы данных эмуляций вредоносных программ) или проактивный анализ (технология, заключающаяся в перехвате вызовов API-функций запущенной в системе анализируемой программы, создании журнала вызова API-функций и поиске соответствий данных из созданного журнала с данными из базы данных вызовов API-функций вредоносных программ). Для работы каждого из вышеописанных методов необходимы данные, используемые для обнаружения вредоносных объектов, например для сигнатурного анализа такими данными могут являться сигнатуры, для эвристического анализа - эвристические правила. Несмотря на то, что при помощи, например, одной сигнатуры антивирусное программное обеспечение иногда может обнаружить целое множество аналогичных по своей структуре или причиняемому вреду вредоносных объектов, увеличение числа вредоносных объектов, которые могут нанести вред данным пользователя или его компьютеру, требует соответствующего увеличения объема данных, используемых для обнаружения вредоносных объектов. В большинстве случаев упомянутые данные хранятся на компьютере пользователя в составе антивирусных баз - компонента антивирусного программного обеспечения. Таким образом, увеличение объема данных, используемых для обнаружения, приводит к уменьшению доступного для записи места на жестком диске.
В публикации US 8776234 B2 описан подход для определения оптимального объема данных, используемых для обнаружения вредоносных объектов. Однако оптимальность объема данных, используемых для обнаружения, определяется только на основании используемой на компьютере пользователя ОС или ПО, а также ранее обнаруженного вредоносного ПО. Такой подход может обладать недостатком: оптимальный с точки зрения описанного в изобретении способа объем данных, используемых для обнаружения, может и не содержать данных, необходимых для обнаружения новых вредоносных объектов или объектов, которые практически не распространены в сети, что является угрозой безопасности данных пользователя и его компьютера.
Хотя в области техники существуют подходы, направленные на оптимизацию (уменьшение) места на жестком диске, занимаемого данными, используемыми для обнаружения вредоносных объектов, они не решают задачу выбора данных, используемых для обнаружения вредоносных объектов, а именно формировании такого набора данных, используемых для обнаружения вредоносных объектов, который не требовал бы большого объема памяти для хранения, но использование которого обеспечивало бы надежную защиту компьютера, или решают недостаточно эффективно. Настоящее изобретение позволяет более эффективно решить задачу выбора данных, используемых для обнаружения вредоносных объектов.
Раскрытие изобретения
Настоящее изобретение предназначено для формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя.
Технический результат настоящего изобретения заключается в снижении потребляемых антивирусным приложением ресурсов компьютера, а именно памяти на жестком диске, используемой для хранения антивирусных записей, которое достигается за счет формирования набора антивирусных записей таким образом, что для каждого вредоносного файла из базы данных файлов выбирается антивирусная запись, с помощью которой антивирусное приложение обнаружило этот файл вредоносным и являющаяся антивирусной записью с наибольшей мощностью, при этом выбранные антивирусные записи добавляются средством формирования в упомянутый набор антивирусных записей для последующей передачи компьютеру пользователю и использования антивирусным приложением на компьютере пользователя, где мощность антивирусной записи представляет собой числовое значение, чем больше которое, тем больше вредоносных файлов было обнаружено антивирусным приложением с использованием антивирусной записи среди файлов из базы данных файлов.
Технический результат настоящего изобретения достигается при помощи способа формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя, в котором при помощи средства создания антивирусных записей создают набор антивирусных записей для обнаружения каждого вредоносного файла из базы данных файлов; при этом антивирусная запись представляет собой информацию, необходимую антивирусному приложению для обнаружения вредоносных файлов; при этом для создания набора антивирусных записей используется набор способов создания антивирусных записей, который включает в себя по меньшей мере способы создания гибких хешей (англ. locality sensitive hash); при помощи антивирусного приложения собирают статистику использования каждой созданной на этапе ранее антивирусной записи; при этом статистика использования антивирусной записи представляет собой информацию о количестве вредоносных файлов, обнаруженных антивирусным приложением с использованием антивирусной записи, а также идентификатор каждого обнаруженного при помощи антивирусной записи файла; при этом сбор статистики осуществляется путем использования антивирусным приложением созданных на этапе ранее антивирусных записей для обнаружения вредоносных файлов среди файлов из базы данных файлов; при помощи средства оценки мощности вычисляют мощность каждой созданной антивирусной записи на основании собранной на этапе ранее статистики использования каждой антивирусной записи; при этом мощность антивирусной записи представляет собой числовое значение, чем больше которое, тем больше вредоносных файлов было обнаружено антивирусным приложением с использованием антивирусной записи среди файлов из базы данных файлов; при помощи средства формирования набора антивирусных записей формируют набор антивирусных записей таким образом, что для каждого вредоносного файла из базы данных файлов выбирается антивирусная запись, с помощью которой антивирусное приложение признало этот файл вредоносным, с наибольшей мощностью, при этом выбранные антивирусные записи добавляются средством формирования набора антивирусных записей в упомянутый набор антивирусных записей для последующей передачи компьютеру пользователя и использования антивирусным приложением на компьютере пользователя.
Система формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя, которая включает средство создания антивирусных записей, связанное с базой данных файлов и базой данных антивирусных записей и предназначенное для создания набора антивирусных записей для обнаружения каждого вредоносного файла из базы данных файлов; при этом антивирусная запись представляет собой информацию, необходимую антивирусному приложению для обнаружения вредоносных файлов; при этом для создания набора антивирусных записей используется набор способов создания антивирусных записей, который включает в себя по меньшей мере способы создания гибких хешей (англ. locality sensitive hash); антивирусное приложение, связанное с базой данных файлов, базой данных антивирусных записей и базой данных статистики и предназначенное для сбора статистики использования каждой антивирусной записи из базы данных антивирусных записей; при этом статистика использования антивирусной записи представляет собой информацию о количестве вредоносных файлов, обнаруженных антивирусным приложением с использованием антивирусной записи, а также идентификатор каждого обнаруженного при помощи антивирусной записи файла; при этом сбор статистики осуществляется путем использования антивирусным приложением антивирусных записей для обнаружения вредоносных файлов среди файлов из базы данных файлов; средство оценки мощности, связанное с базой данных статистики использования, базой данных файлов и предназначенное для вычисления мощности антивирусной записи на основании собранной статистики использования антивирусной записи, при этом упомянутая статистика хранится в базе данных статистики; при этом мощность антивирусной записи представляет собой числовое значение, чем больше которое, тем больше вредоносных файлов было обнаружено антивирусным приложением с использованием антивирусной записи среди файлов из базы данных файлов; средство формирования набора антивирусных записей, связанное со средством оценки мощности, базой данных статистики, базой данных файлов и предназначенное для формирования набора антивирусных записей таким образом, что для каждого вредоносного файла из базы данных файлов выбирается антивирусная запись, с помощью которой антивирусное приложение признало этот файл вредоносным, с наибольшей мощностью, при этом выбранные антивирусные записи добавляются средством формирования набора антивирусных записей в упомянутый набор антивирусных записей для последующей передачи компьютеру пользователя и использования антивирусным приложением на компьютере пользователя; базу данных антивирусных записей, предназначенную для хранения антивирусных записей; базу данных файлов, предназначенную для хранения по меньшей мере вредоносных файлов; базу данных статистики, предназначенную для хранения статистики использования антивирусных записей.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 иллюстрирует примерную схему системы формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя.
Фиг. 2 показывает вариант способа формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя.
Фиг. 3 показывает пример компьютерной системы общего назначения.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является не чем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Вредоносное приложение - приложение, способное нанести вред компьютеру или данным пользователя компьютера, например: сетевой червь, клавиатурный шпион, компьютерный вирус. В качестве нанесенного вреда может выступать неправомерный доступ к ресурсам компьютера, в том числе к данным, хранящимся на компьютере, с целью хищения, а также неправомерное использование ресурсов, в том числе для хранения данных, проведения вычислений и т.п.
Доверенное приложение - приложение, которое не наносит вреда компьютеру или его пользователю. Доверенным приложением может считаться приложение, разработанное доверенным производителем ПО, загруженное из доверенного источника (например, сайт, занесенный в базу данных доверенных сайтов) или приложение, идентификатор которого (например, MD5 файла приложения) хранится в базе данных доверенных приложений. Идентификатор производителя, например, цифровой сертификат, может также храниться в базе данных доверенных приложений.
Недоверенное приложение - приложение, которое не является доверенным, но также не признано вредоносным, например, при помощи антивирусного приложения.
Вредоносный файл - файл, являющийся компонентом вредоносного приложения. Под компонентом приложения может подразумеваться исполняемый файл, файл настроек и другие файлы, используемые приложением во время работы.
Недоверенный файл - файл, являющийся компонентом недоверенного приложения.
Доверенный файл - файл, являющийся компонентом доверенного приложения.
Сигнатурный анализ - технология поиска совпадений какого-либо участка кода программы с известным кодом - сигнатурой - из базы данных сигнатур вредоносных программ с целью обнаружения вредоносной программы. Стоит отметить, что данная технология может применяться как для обнаружения файлов вредоносной программы, так и для обнаружения вредоносного кода в оперативной памяти вычислительного устройства.
Эвристический анализ - технология, заключающаяся в эмуляции работы программы (выполнение кода программы, предназначенного для выполнения с использованием одних программно-аппаратных средств, с использованием других программно-аппаратных средств, отличных от первых), создании журнала вызовов API-функций и поиске совпадений данных из созданного журнала вызова API-функций с данными из базы данных эмуляций вредоносных программ с целью обнаружения вредоносной программы.
Проактивный анализ - технология, заключающаяся в перехвате вызовов API-функций (application programming interface функций) запущенной в операционной системе программы, создании журнала вызова API-функций и поиске совпадений данных из созданного журнала с данными из базы данных вызовов API-функций вредоносных программ с целью обнаружения вредоносной программы.
Антивирусная запись - информация, необходимая антивирусному приложению для обнаружения вредоносных файлов. Может быть представлена, например, в виде сигнатуры, эвристического правила (которое, например, может быть использовано эвристическим и проактивным анализом), контрольной суммы файла - хэша (в том числе и гибкого хэша - англ. locality sensitive hash - хэша файла, инвариантного к небольшим изменениям файла).
Статистика использования антивирусной записи включает в себя информацию о количестве вредоносных файлов, обнаруженных антивирусным приложением с использованием антивирусной записи, а также идентификатор каждого обнаруженного при помощи антивирусной записи файла (например, контрольная сумма, вычисленная в соответствии с одним из алгоритмов: MD5, SHA-1, SHA-2, или символьная строка - имя файла). При этом сбор статистики осуществляется путем использования антивирусным приложением антивирусной записи для обнаружения вредоносных файлов (во время обнаружения вредоносных файлов).
Мощность антивирусной записи представляет собой числовое значение, чем больше которое, тем больше вредоносных файлов было обнаружено антивирусным приложением с использованием антивирусной записи среди файлов из базы данных файлов.
На Фиг. 1 изображена примерная схема системы формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя. На компьютере 100 пользователя установлено антивирусное приложение 101, которое предназначено для обнаружения вредоносных файлов на компьютере 100. С этой целью антивирусное приложение 101 использует антивирусные записи, которые хранятся в базе данных антивирусных записей 102, которая расположена также на компьютере 100 пользователя. Компьютер 100 пользователя соединен посредством сети 110 (в частном случае реализации - сеть Интернет или локальная вычислительная сеть, ЛВС) с удаленным сервером 120. В частном случае реализации удаленный сервер 120 представляет собой одно вычислительное устройство, в еще одном частном случае реализации удаленный сервер 120 является набором связанных вычислительных устройств, осуществляющих распределенные вычисления (вычисления, при котором совокупный объем вычислений, например исполнение кода, разбивается на части и распределяется между несколькими вычислительными устройствами) для функционирования всех средств, входящих в состав заявленного изобретения.
На удаленном сервере 120 присутствует антивирусное приложение 121, средство создания антивирусных записей 125, средство формирования набора антивирусных записей 126, средство оценки мощности 127, база данных антивирусных записей 122, база данных файлов 123 и база данных статистики 124.
Стоит отметить, что антивирусное приложение 101 и антивирусное приложение 121 в частном случае реализации изобретения выполняют идентичные функции по обнаружению вредоносных объектов и сборе статистики, которая будет описана позднее.
База данных файлов 123 предназначена для хранения файлов. В частном случае реализации база данных файлов 123 содержит вредоносные файлы, доверенные файлы и недоверенные файлы, а также информацию, является ли хранимый файл вредоносным, доверенным или недоверенным. В частном случае реализации в базу данных файлов 123 файлы добавляются специалистом в области информационной безопасности совместно с информацией (указанием), является ли файл вредоносным, доверенным или недоверенным. В еще одном частном случае реализации в базе данных файлов 123 дополнительно к упомянутым файлам хранятся идентификаторы файлов (например, контрольные суммы файлов, вычисленная в соответствии с одним из алгоритмов: MD5, SHA-1, SHA-2, или символьная строка - имя файла).
Антивирусное приложение 121 предназначено для обнаружения вредоносных файлов. Для обнаружения вредоносных файлов антивирусное приложение 121 использует антивирусные записи (по меньшей мере одну) из базы данных антивирусных записей 122, при этом база данных антивирусных записей 122 предназначена для хранения антивирусных записей. Антивирусные записи используются антивирусным приложением 121, например, в рамках выполнения сигнатурного, эвристического или проактивного анализа.
В частном случае реализации антивирусная запись может содержать гибкий хэш (от англ. locality sensitive hash). Гибкий хэш также называется «гибкой сверткой». Это понятие раскрыто в публикации RU 2013129552 и представляет собой хэш-сумму (хэш), вычисленную от набора признаков файла, которая устойчива к небольшим изменениям файла (например, хэш-сумма, вычисленная от файла будет совпадать с хэш-суммой, вычисленной от файла, в котором, например, один из признаков имеет другое значение). В случае, если антивирусная запись содержит гибкий хэш вредоносного файла, то антивирусное приложение 121 во время анализа файла с целью обнаружения вредоносного файла вычисляет гибкий хэш анализируемого файла (от набора признаков файла) и сравнивает его с гибким хэшем из антивирусной записи. Если вычисленный гибкий хэш и гибких хэш из антивирусной записи совпадают, то анализируемый файл признается антивирусным приложением 121 вредоносным. В частном случае реализации антивирусная запись может помимо гибкого хэша содержать информацию (например, символьный идентификатор) о способе вычисления хэша, который необходимо использовать антивирусным приложением 121 во время анализа файла. Стоит отметить, что вышеописанный способ обнаружения (с использованием антивирусных записей, содержащих гибкий хэш) вредоносных файлов также может быть реализован антивирусным приложением 101, которое располагается на компьютере 100 пользователя.
Средство создания антивирусных записей 125 предназначено для создания антивирусных записей. Созданные антивирусные записи средство создания антивирусных записей 125 сохраняет в базе данных антивирусных записей 122. Для создания антивирусной записи средство создания антивирусных записей 125 использует файл (который необходимо будет обнаружить при помощи создаваемой антивирусной записи), а также один из нижеописанных способов создания антивирусных записей.
В частном случае реализации изобретения средство создания антивирусных записей 125 создает антивирусную запись для обнаружения вредоносного файла, содержащую сигнатуру (последовательность байт файла) указанного файла таким образом, чтобы файл признавался антивирусным приложением 121 вредоносным, если он содержит сигнатуру из антивирусной записи.
В еще одном частном случае реализации изобретения средство создания антивирусных записей 125 создает антивирусную запись для обнаружения вредоносного файла, содержащую эвристическое правило, таким образом, чтобы указанный файл признавался антивирусным приложением 121 вредоносным в соответствии с логикой эвристического правила, которое применяется к журналу вызовов API-функций, который формируется при эмуляции выполнения программы (в случае, если файл - исполняемый) во время эвристического анализа файла. В частном случае реализации для создания такой антивирусной записи используется технология, описанная в публикации RU 2510530.
В еще одном частном случае реализации изобретения средство создания антивирусных записей 125 создает антивирусную запись для обнаружения вредоносного файла, содержащую эвристическое правило, таким образом, чтобы указанный файл признавался антивирусного приложения 121 вредоносным в соответствии с логикой эвристического правила, которое применяется к журналу вызовов API-функций, который формируется при перехвате вызовов API-функций запущенной в операционной системе программы (в случае, если файл - исполняемый) во время проактивного анализа файла. В частном случае реализации для создания такой антивирусной записи используется технология, описанная в публикации US 8566943.
В еще одном частном случае реализации средство создания антивирусных записей 125 создает антивирусную запись для обнаружения вредоносного файла, содержащую гибкий хэш файла, таким образом, чтобы указанный файл признавался антивирусным приложением 121 вредоносным, если вычисленный гибкий хэш файла совпадает с гибким хэшем из антивирусной записи.
В частном случае реализации средство создания антивирусных записей 125 способно создавать для одного и того же вредоносного файла несколько антивирусных записей, с помощью которых данный файл может быть признан антивирусным приложением 121 вредоносным (например, с использованием нескольких вышеперечисленных способов создания антивирусной записи). В частном случае реализации средство создания антивирусных записей 125 для обнаружения одного и того же файла способно создавать антивирусные записи, содержащие различные гибкие хэши (будем считать, что такие антивирусные записи созданы с использованием различных способов создания антивирусных записей). Каждая из таких антивирусных записей создается с использованием своего способа вычисления хэша (например, одного из нижеперечисленных способов). В частном случае реализации для создания антивирусных записей средство создания антивирусных записей 125 использует алгоритм вычисления гибких хэшей, описанный в публикации RU 2013129552, при этом наборы признаков файла, которые используются при вычислении гибкого хэша могут различаться:
- в частном случае реализации для вычисления гибкого хэша используется следующий набор признаков файла: размер файла, размер образа файла, количество секций файла, RVA (англ. Related Virtual Address) секций файла, RVA точки входа, тип подсистемы, характеристики файла из COFF (англ. Common Object File Format) заголовка, взаимное расположение объектов таблицы директорий, расположение объектов таблицы директорий по секциям файла, тип использованного при создании файла компилятора, частотные характеристики символов (в том числе печатных) - частоты встречаемости символов в файле, множество строк файла и их количество. Множество признаков файла для каждой секции файла включает в себя следующие признаки: информационная энтропия начала и конца секции, среднее значение ненулевых байт начала и конца секции, виртуальный размер секции, физический размер секции;
- в еще одном частном случае реализации для вычисления гибкого хэша используется следующий набор признаков файла: размер файла, размер образа файла, количество секций файла, RVA секций файла, RVA точки входа, тип подсистемы, характеристики файла из COFF заголовка, тип использованного при создании файла компилятора;
- в еще одном частном случае реализации для вычисления гибкого хэша используется следующий набор признаков файла: размер файла, размер образа файла, тип подсистемы, частотные характеристики символов (частоты встречаемости символов в файле, множество строк файла и их количество);
- В еще одном частном случае реализации для вычисления гибкого хэша используется следующий набор признаков файла: размер файла, размер образа файла, количество секций файла, секций файла, RVA точки входа, тип подсистемы, характеристики файла из COFF заголовка, взаимное расположение объектов таблицы директорий, расположение объектов таблицы директорий по секциям файла, тип использованного при создании файла компилятора, частотные характеристики символов. Множество признаков файла для каждой секции файла включает в себя следующие признаки: информационная энтропия начала и конца секции, среднее значение ненулевых байт начала и конца секции, виртуальный размер секции, физический размер секции;
- в еще одном частном случае реализации для вычисления гибкого хэша используется следующий набор признаков файла: размер файла, размер образа файла, тип подсистемы, характеристики файла из COFF заголовка, тип использованного при создании файла компилятора, частотные характеристики символов;
- в другом частном случае реализации для вычисления гибкого хэша используется любые другие комбинации вышеперечисленных признаков.
В еще одном частном случае реализации изобретения средство создания антивирусных записей 125 предоставляет возможность специалисту в области информационной безопасности создать антивирусную запись (например, через пользовательский интерфейс) для одного из вышеперечисленных способов обнаружения (сигнатурный, эвристический анализ и т.п.).
Средство создания антивирусных записей 125 способно сохранять созданные антивирусные записи в базе данных антивирусных записей 122.
Средство создания антивирусных записей 125 способно использовать вредоносные файлы из базы данных файлов 123 для создания антивирусных записей (одну или несколько антивирусных записей при помощи одного или нескольких вышеуказанных способов соответственно), при помощи которых антивирусное приложение 121 признавало бы упомянутые файлы из базы данных файлов 123 вредоносными.
Антивирусное приложение 121 способно собирать статистику использования антивирусных записей, используемых для обнаружения вредоносных файлов. Статистика использования антивирусных записей собирается с использованием базы данных файлов 123, а также базы данных антивирусных записей 122, а именно при обнаружении вредоносных файлов с использованием антивирусных записей из базы данных антивирусных записей 122 среди файлов из базы данных файлов 123. Собранную статистику использования антивирусных записей антивирусное приложение 121 передает для хранения в базу данных статистики 124 (сохраняет в базе данных статистики 124). Стоит отметить, что антивирусное приложение 121, используя антивирусную запись, может признавать вредоносными не только известные вредоносные файла (например, вредоносные файлы из базы данных файлов 123), но и доверенные (такое обнаружение будет считаться «ложным срабатыванием», англ. «false positive») или недоверенные файлы из базы данных файлов 123.
База данных статистики 124 предназначена для хранения статистики использования антивирусных записей. В частном случае реализации, как упоминалось ранее, база данных статистики 124 хранит статистику использования антивирусных записей, которая собирается антивирусным приложением 121.
Средство оценки мощности 127 предназначено для определения (вычисления) мощности по меньшей мере одной антивирусной записи. Средство оценки мощности 127 способно вычислять мощность каждой антивирусной записи из базы данных антивирусных записей 122, для которой антивирусное приложение 121 собрало статистику использования антивирусной записи и сохранило упомянутую статистику использования антивирусной записи в базу данных статистики 124. В частном случае реализации мощность антивирусной записи может быть вычислена с использованием следующей формулы:
K=U,
где K - мощность антивирусной записи, а U - количество файлов (в частном случае реализации из базы данных файлов 123), которые были признаны антивирусным приложением 121 вредоносными при помощи упомянутой антивирусной записи.
В еще одном частном случае реализации мощность антивирусной записи может быть вычислена с использованием следующей формулы:
K=f*U,
где K - мощность антивирусной записи, U - количество файлов (в частном случае реализации из базы данных файлов 123), которые были признаны антивирусным приложением 121 вредоносными при помощи упомянутой антивирусной записи, а f - коэффициент, который принимает значение 0, если среди файлов, которые были признаны антивирусным приложением 121 вредоносными при помощи упомянутой антивирусной записи, есть доверенные файлы, и значение 1 в противном случае.
В еще одном частном случае реализации мощность антивирусной записи может быть вычислена с использованием следующей формулы:
i
где K - мощность антивирусной записи, n - общее число файлов, которые были признаны вредоносными с использованием упомянутой антивирусной записи, а a - коэффициент, который может принимать следующие значения (для i-ого файла):
- для вредоносных файлов принимает значение «2»;
- для доверенных фалов принимает значение «-1000»;
- для недоверенных файлов принимает значение «0.5».
Информация, является ли файл вредоносным, доверенным или недоверенным, которая используется в вышеописанной формуле, может быть получена из базы данных файлов 122 по идентификатору файла из статистики использования антивирусной записи.
В еще одном частном случае реализации изобретения база данных файлов 122 в дополнении к каждому файлу может хранить его весовой коэффициент p - популярность (количество пользователей, на компьютерах которых присутствует данный файл). В частном случае реализации такой весовой коэффициент для каждого файла может добавляться в базу данных файлов 122 специалистом в области информационной безопасности. В таком случае мощность антивирусной записи может быть вычислена с использованием следующей формулы:
i
i
где K - мощность антивирусной записи, n - общее число файлов, которые были признаны вредоносными с использованием упомянутой антивирусной записи, p - популярность i-ого файла, а a - коэффициент, который может принимать следующие значения (для i-ого файла):
- для вредоносных файлов принимает значение «1»;
- для доверенных фалов принимает значение «-100»;
- для недоверенных файлов принимает значение «0».
i
Информация, является ли файл вредоносным, доверенным или недоверенным, которая используется в вышеописанной формуле, а также коэффициент p для каждого файла могут быть получены из базы данных файлов 122 по идентификатору файла из статистики использования антивирусной записи.
Средство формирования набора антивирусных записей 126 предназначено для формирования набора антивирусных записей для передачи упомянутого набора антивирусных записей компьютеру 100 пользователя, а именно базе данных антивирусных записей 102. Для формирования набора антивирусных записей средство формирования набора антивирусных записей 126 использует антивирусные записи из базы данных антивирусных записей 122, а также мощность каждой упомянутой антивирусной записи, предоставляемую средством оценки мощности 127 из базы данных антивирусных записей 122. Цель формирования набора антивирусных записей заключается в том, чтобы сформировать набор антивирусных записей таким образом, чтобы все вредоносные файлы из базы данных файлов 123 могли быть обнаружены при помощи антивирусного приложения 121, использующего упомянутый набор антивирусных записей. При этом упомянутый набор антивирусных записей состоит из минимального количества антивирусных записей, что уменьшает количество памяти на жестком диске компьютера 100 пользователя, которое занято антивирусными записями, хранящимися в базе данных антивирусных записей 102 и используемыми антивирусным приложением 101.
В частном случае реализации средство формирования набора антивирусных записей 126 формирует набор антивирусных записей следующим образом: для вредоносного файла из базы данных файлов 123 выбирается антивирусная запись с наибольшей мощностью среди тех антивирусных записей из базы данных антивирусных записей 122, с помощью которых антивирусное приложение 121 признало упомянутый файл вредоносным (в соответствии с собранной ранее антивирусным приложением 121 статистикой использования антивирусных записей). Выбранная запись добавляется в набор антивирусных записей средством формирования набора антивирусных записей 126. Для следующего файла из базы данных файлов 123 аналогично выбирается антивирусная запись с наибольшей мощностью среди тех антивирусных записей из базы данных антивирусных записей 122, с помощью которых антивирусное приложение 121 признало упомянутый файл вредоносным, при этом, если выбранная антивирусная запись уже присутствует в наборе антивирусных записей, формируемом средством формирования набора антивирусных записей 126, антивирусная запись повторно не добавляется (чтобы исключить дублирование антивирусных записей в наборе). Если же выбранной антивирусной записи в наборе антивирусных записей в наборе нет, то упомянутая антивирусная запись добавляется средством формирования набора антивирусных записей 126 в набор антивирусных записей. Вышеупомянутые действия средство формирования набора антивирусных записей 126 выполняет в отношении каждого вредоносного файла из базы данных файлов 123. Сформированный таким образом набор антивирусных записей средство формирования антивирусных записей 126 передает компьютеру 100 пользователя, а именно в базу данных антивирусных записей 102, для последующего использования антивирусных записей из переданного набора антивирусных записей антивирусным приложением 101 для обнаружения вредоносных файлов на компьютере 100 пользователя.
На Фиг. 2 показывает вариант способа формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя. На этапе 201 при помощи средства создания антивирусных записей 125 создают для каждого вредоносного файла из базы данных файлов 123 набор антивирусных записей, при этом каждая из антивирусных записей из набора создается с использованием одного из описанных выше способов создания антивирусных записей. Созданные антивирусные записи сохраняются средством создания антивирусных записей 125 в базе данных антивирусных записей 122. На этапе 202 при помощи антивирусного приложения 121 собирается статистика использования антивирусных записей из базы данных антивирусных записей 122, при этом сбор статистики осуществляется путем использования антивирусным приложением 121 антивирусных записей из базы данных антивирусных записей 122 для обнаружения среди файлов (всех, не только вредоносных) из базы данных файлов 123 вредоносных файлов (под обнаружением вредоносного файла антивирусным приложением 121 понимается признание файла вредоносным в соответствии с используемыми антивирусным приложением 121 антивирусными записями). Собранная статистика использования антивирусных записей сохраняется антивирусным приложением 121 в базе данных статистики 124. Далее, на этапе 203, средство оценки мощности 127 вычисляет мощность каждой антивирусной записи из базы данных антивирусных записей 122 на основании статистики использования антивирусных записей, которая содержится в базе данных статистики 124. Вычисленную мощность каждой антивирусной записи средство оценки мощности 127 передает средству формирования набора антивирусных записей 126. На этапе 204 средство формирования набора антивирусных записей 126 формирует набор антивирусных записей таким образом, что для каждого вредоносного файла из базы данных файлов 123 выбирается антивирусная запись с наибольшей мощностью среди всех антивирусных записей, с помощью которой антивирусное приложение 121 признало этот файл вредоносным, при этом выбранные антивирусные записи добавляются средством формирования набора антивирусных записей 126 в упомянутый (формируемый) набор антивирусных записей. При этом необходимая средству формирования набора антивирусных записей 126 для формирования набора антивирусных записей информация о том, какие файлы признаются антивирусным приложением 121 вредоносным с использованием антивирусной записи, хранится в базе данных статистики 124 - в базе данных статистики для каждой антивирусной записи хранятся идентификаторы каждого файла, признанного вредоносным антивирусным приложением 121 с использованием упомянутой антивирусной записи. Используя идентификатор каждого вредоносного файла из базы данных файлов 123 средство формирования набора антивирусных записей 126 определяет все антивирусные записи из базы данных антивирусных записей 122, с помощью которых антивирусное приложение 121 признало этот файл вредоносным. Сформированный набор антивирусных записей на этапе 205 передается средством формирования набора антивирусных записей 126 в базу данных антивирусных записей 102, располагающуюся на компьютере 100 пользователя, для последующего использования антивирусных записей из этого набора антивирусным приложением 101 для обнаружения вредоносных файлов на компьютере 100 пользователя.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.