СИСТЕМА И СПОСОБ ДЛЯ ИСПРАВЛЕНИЯ АНТИВИРУСНЫХ ЗАПИСЕЙ
SYSTEM AND METHOD FOR CORRECTING ANTIVIRUS RECORDS

Область техники
Изобретение относится к антивирусным технологиям, в частности к системам и способам для исправления антивирусных записей.
Уровень техники
В настоящее время одной из самых актуальных задач антивирусной индустрии является проблема поддержания антивирусных баз в актуальном состоянии. Ведь даже за то небольшое время, когда вредоносная программа пока еще не обнаружена ведущими антивирусными экспертами и компаниями, она может быть скачана сотни тысяч раз различными пользователям и сможет заразить большое количество компьютеров. Своевременное обновление антивирусных баз позволяет адекватно и быстро осуществлять борьбу с вредоносным ПО.
Но стоит отметить, что количество программного обеспечения, в том числе и вредоносного, постоянно растет, в связи с чем необходимы проактивные методы обнаружения подобных приложений. Для борьбы с неизвестными вредоносными программами современные антивирусные компании используют методы эвристического обнаружения, методы исполнения неизвестных программ в защищенной среде (sandbox, honeypot) с использованием виртуализации, а также различные способы ограничения функционала программ на основе анализа их активности (HIPS). Тем не менее нельзя полностью полагаться на все вышеперечисленные методики, так как все они обладают определенными недостатками, связанными как с особенностью их работы, так и с их использованием в современных антивирусных приложениях, в которых пользователь вправе выставить настройки, которые не дадут использовать эти технологии в полной мере, так как они могут отнимать заметное количество времени и ресурсов, например при старте неизвестных программ. До окончания проверки неизвестных программ пользователь может отключить, например, их исполнение в защищенной среде вроде песочницы или же уменьшить время, которое отводится на эмуляцию.
В связи с возможными рисками неэффективной работы проактивных технологий и ввиду постоянного роста количества вредоносных программ все более популярными становятся так называемые "белые списки" (whitelist) - базы чистых, то есть проверенных и надежных объектов. Список чистых объектов создается для таких объектов, как файлы, приложения, ссылки, сообщения электронной почты, а также для учетных записей пользователей систем мгновенного обмена сообщениями, журналов обмена сообщениями, IP-адресов, имен хостов, имен доменов и так далее. Подобные списки можно составлять исходя из многих факторов: наличия электронной цифровой подписи или иных данных производителя, данных об источнике (откуда приложение было получено), данных о связях приложения (отношения родитель-ребенок), данных о версии приложения (например, приложение можно считать проверенным исходя из того, что прошлая версия также была в списке проверенных программ), данных о переменных окружения (операционная система, параметры запуска) и т.д. Перед каждым выпуском обновлений сигнатур для антивирусных баз они должны быть проверены на предмет коллизий, например, с "белым списком" файлов. Стоит отметить, что большинство исследуемых неизвестных исполняемых файлов на данный момент являются так называемыми РЕ-файлами (Portable Executable) и имеют РЕ-формат (для семейства операционных систем Windows, под которые пишется большая часть вредоносного программного обеспечения). РЕ-файл может быть представлен в виде заголовка, некоторого количества секций, которые составляют образ исполняемой программы, и оверлея, являющегося сегментом программы, подгружаемым при необходимости во время ее выполнения. В настоящий момент для того, чтобы создать сигнатуру файла, стараются использовать различные уникальные части файла. Чаще всего для этих целей используют код из секции кода. Однако нередки ситуации, когда эксперт ошибочно интерпретирует библиотечный или иной широко используемый код как часть вредоносного, так как данный фрагмент присутствует в вредоносном приложении. В этом случае создается сигнатура, которая ошибочно накладывается на этот широко используемый фрагмент. Данная сигнатура будет успешно детектировать вредоносное приложение, однако все другие файлы, которые будут содержать данный фрагмент кода, но при этом являются чистыми, эта сигнатура также будет определять как вредоносные. В результате такой ошибки получается ложное срабатывание.
Работа антивирусных приложений, так или иначе, связана с какими-либо антивирусными записями, например правилами, шаблонами, списками, сигнатурами, в создании которых, как правило, принимает участие эксперт. Данные антивирусные записи позволяют обнаружить вредоносное ПО и удалить его. Но в данном процессе также не исключен человеческий фактор, и эксперт может допустить ошибку, сделав, например, сигнатуру, которая будет определять чистое ПО, информация о котором находится в "белом списке" файлов, как вредоносное. Следует также отметить, что не только эксперт может сделать ошибку. Существуют системы автоматического формирования антивирусных записей, которые, пытаясь обнаружить как можно больше вредоносного ПО, неизбежно охватывают и некоторые чистые приложения. При этом могут возникнуть ситуации, когда необходимое для работы пользователя специальное ПО, не являющееся вредоносным, блокируется антивирусным приложением, и подобные ситуации могут существенно снижать лояльность пользователей к определенному антивирусному приложению в будущем. По мере обнаружения ложных срабатываний необходимо формировать исправления антивирусных баз, а также списков доверенных программ, что в реальности происходит не быстро.
Предложенное изобретение позволяет сразу после обнаружения факта наличия ложного срабатывания, то есть, например, неправильной антивирусной записи, сделать исправление антивирусной записи, а также осуществить передачу информацию об исправлении антивирусной записи, например статуса антивирусной записи на те ПК, на которых неправильная антивирусная запись сработала.
Таким образом, задача минимизации количества ложных срабатываний является очень важной для антивирусной индустрии. На сегодняшний день известны различные подходы, позволяющие минимизировать количество ложных срабатываний и оповещений.
В заявке WO 2007087141 A1 описывается метод для уменьшения количества ложных срабатываний. Суть его сводится к последовательной проверке сначала по списку вредоносных объектов, а затем по списку чистых объектов. Но описанный метод не подразумевает исправления неправильных антивирусных записей в случае, если обнаружено ложное срабатывание.
В патенте US 7231637 B1 описывается способ и система для обновления и тестирования обновлений. Есть тестовые записи, они распространяются на ПК вместе с рабочими. Отчет о работе этих правил от ПК отправляется на сервер, где тестовые записи могут быть переведены в статус рабочих. Но данная система не описывает процесс исправления статусов антивирусных записей, в том числе и тестовых, в случае обнаружения ложного срабатывания и передачи измененной антивирусной записи на ПК.
Система для выявления и исправления ложных срабатываний описана в патенте US 7640589. Для выявления и исправления ложных срабатываний статистическая информация об обнаруженном объекте отправляется на сервер обнаружения и исправления ложных срабатываний. Это множество записей поступает на средство обнаружения, где с помощью различных алгоритмов происходит сравнение поступившей информации об обнаруженных объектах со списком чистых объектов и списком вредоносных объектов с целью выявления коллизий. Коллизией является факт присутствия объекта, который был обнаружен как вредоносный, в списке чистых объектов, или же наоборот, объекта, являющегося чистым, в списке вредоносных. Если обнаружена коллизия, то выявленный таким образом объект (или метаданные объекта) и соответствующая антивирусная запись, по которой данный объект был классифицирован как вредоносный, передаются средству исправления. Средство исправления оценивает вероятность попадания в список чистых объектов вредоносного объекта (и наоборот), используя критерии, которым ставятся в соответствие весовые коэффициенты для построения дерева решений. После этого делается вывод о том, что надо исправлять - список чистых объектов или список вредоносных объектов. Исправленные антивирусные записи или записи о чистых файлах автоматически попадают соответственно в список вредоносных объектов или списки чистых объектов.
Таким образом, анализируя обнаруженные объекты, можно выявить ложные срабатывания и, в зависимости от ситуации, осуществить пополнение или изменение списка вредоносных объектов (антивирусной базы) или списка чистых объектов. Обновленный список вредоносных объектов из антивирусной базы данных поступает на ПК с установленным антивирусным приложением для обновления антивирусной базы данных. Но, как правило, между обновлениями проходят часы, и зачастую задолго до выпуска обновления на стороне антивирусной компании есть список антивирусных записей, которые были исправлены. Реализуется ситуация, когда обнаружена неправильная запись, отвечающая за ложное срабатывание, и она будет исправлена при следующем обновлении продукта. Но до обновления на ПК множества пользователей может быть проверен такой же объект, при проверке которого сработает та самая неправильная запись, отвечающая за ложное срабатывание, и произойдет ложное оповещение. Предлагаемая же далее система позволяет до основного обновления антивирусной базы иметь возможность осуществить промежуточное исправление антивирусной записи, например ее статуса, которое позволит минимизировать количество ложных срабатываний и оповещений. Тем не менее следует отметить, что описываемая далее система может работать совместно с системой, описанной в патенте US 7640589, а также иметь связи между отдельными элементами. При этом решение задачи минимизации ложных срабатываний будет происходить наиболее эффективно.
Предложенные и описанные далее система и способ для исправления антивирусных записей обходит описанные выше недостатки. Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании их в одной системе, позволяют получить новый результат, а именно минимизацию ложных срабатываний за счет исправления статусов антивирусных записей.
Сущность изобретения
Настоящее изобретение предназначено для исправления антивирусных записей. Технический результат заключается в минимизации ложных срабатываний при использовании исправлений статусов для выявленных записей, определяющих в качестве вредоносного такой объект, который является доверенным и чистым.
Способ для исправления антивирусных записей, содержащий этапы, на которых:
I. осуществляют антивирусную проверку объекта на ПК, при этом если выявлена антивирусная запись, которой соответствует проверяемый объект, то проверяют наличие данных об исправлении для выявленной антивирусной записи;
II. в случае если существуют данные об исправлении для выявленной антивирусной записи, которой соответствует проверяемый объект, то передают данные об исправлении на ПК, а также осуществляют действия, предусмотренные данными об исправлении для выявленной антивирусной записи;
III. в случае если не существует данных об исправлении для выявленной антивирусной записи, которой соответствует проверяемый объект, то передают на удаленный сервер данные об объекте и о выявленной антивирусной записи при проверке данного объекта с целью определения коллизий и исправления выявленной антивирусной записи.
Система для исправления антивирусных записей, содержащая:
I. антивирусное приложение, установленное на ПК и состоящее из:
А. по меньшей мере, одного модуля защиты, связанного с антивирусной базой и предназначенного для:
- антивирусной проверки объекта;
- проверки наличия исправления для выявленной антивирусной записи, которой соответствует проверяемый объект в базе данных исправленных записей;
- получения данных об исправлении выявленной антивирусной записи в случае наличия исправления для выявленной антивирусной записи в базе данных исправленных записей, а также осуществления действий, предусматриваемых данными об исправлении для выявленной антивирусной записи;
- передачи на средство обработки информации данных об объекте и выявленной антивирусной записи при проверке данного объекта.
В. упомянутой антивирусной базы, которая содержит антивирусные записи, позволяющие обнаружить вредоносный объект;
II. Сервер анализа и исправлений, связанный с ПК с установленным антивирусным приложением и состоящий из:
А. средства обработки информации, связанного с базой данных чистых объектов и средством исправления записей и предназначенного для;
- получения от модуля защиты данных об объекте и выявленной антивирусной записи при проверке данного объекта;
- сравнения данных об объекте, при проверке которого выявлена антивирусная запись, с данными из базы данных чистых объектов с целью определения коллизии;
- передачи данных о выявленной антивирусной записи при проверке объекта, в отношении которого была определена коллизия, на средство исправления записей.
В. упомянутой базы данных чистых объектов, содержащей данные о доверенных и чистых объектах;
С. упомянутого средства исправления записей, связанного с базой данных исправленных записей и предназначенного для исправления выявленной антивирусной записи при проверке объекта, в отношении которого была определена коллизия, и передачи данных об исправлении в базу данных исправленных записей, при этом упомянутое средство имеет в своем составе базу правил, содержащую правила, по результатам срабатывания которых происходит исправление выявленной антивирусной записи;
D. упомянутой базы данных исправленных записей, содержащей данные об исправлениях антивирусных записей.
Краткое описание чертежей
Сопровождающие чертежи, которые включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами, на которых:
Фиг.1 иллюстрирует известный вариант схемы работы системы для обновления антивирусных баз.
Фиг.2 иллюстрирует механизм антивирусной проверки.
Фиг.3 иллюстрирует систему защиты от вредоносного ПО в соответствии с вариантом реализации.
Фиг.4 иллюстрирует схему системы для исправления антивирусных записей.
Фиг.5 иллюстрирует алгоритм работы системы для исправления антивирусных записей.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
На Фиг.1 изображен известный вариант схемы работы системы для обновления антивирусных баз.
Как правило, антивирусные обновления направляются от сервера с обновлениями 110 через сеть Интернет 140 на ПК 120 с установленным антивирусным приложением. На сервере с обновлениями 110 находится постоянно пополняемая антивирусная база данных 130, и антивирусная компания располагает средствами пополнения указанной антивирусной базы данных 130. Так, антивирусная компания постоянно выпускает новые сигнатуры, эвристики, средства родительского контроля и другие объекты, которые она может выпускать в двух статусах - как уже проверенные и рабочие антивирусные записи, так и тестовые антивирусные записи, которые можно проверить на компьютерах пользователей в тестовом режиме. Антивирусная база данных 130 содержит как проверенные рабочие записи, так и тестовые. Рабочие антивирусные записи - сигнатуры, эвристики и другие отличаются от тестовых записей тем, что в случае срабатывания рабочей записи произойдет оповещение пользователя об этом событии. Если же запись была тестовой, то в этом случае пользователь не будет оповещен. Таким образом, здесь и далее под рабочей записью подразумевается антивирусная запись со статусом "рабочая", а под тестовой записью подразумевается антивирусная запись со статусом "тестовая". Следует отметить, что работа системы не ограничивается использованием антивирусных записей с указанными статусами, таких статусов может быть большее количество. Во время антивирусного обновления новые антивирусные записи из антивирусной базы данных 130 передаются через сеть Интернет 140 на ПК 120. На ПК 120 установлено антивирусное приложение, имеющее в своем составе средство обновления 150, на которое передаются записи из антивирусной базы данных 130. Антивирусное приложение имеет собственную антивирусную базу 160, в которой находятся как рабочие записи, так и тестовые. Антивирусную базу 160 может использовать один из модулей защиты антивирусного приложения - это может быть модуль сигнатурной проверки, эмулятор, средство эвристической проверки и другие. Новые записи из антивирусной базы данных 130, имеющие отношение как к рабочим записям, так и к тестовым записям, передаются средством обновления 150 в антивирусную базу 160.
Каждая запись, находящаяся в антивирусной базе 160, обладает уникальным идентификатором (ID). Каждая антивирусная запись позволяет обнаружить один или несколько вредоносных объектов 200, обладающих своей хеш-суммой. Следует отметить, что часто хеш-суммы вычисляются с помощью алгоритма MD5, но они также могут вычисляться с помощью любых других хеш-функций, например MD4, SHA1, SHA2, SHA256 и так далее. Отношением между уникальным идентификатором антивирусной записи и хеш-суммой объектов является "многие ко многим". Например, одна запись с уникальным идентификатором может соответствовать нескольким хеш-суммам. В тоже время одна хеш-сумма может соответствовать нескольким записям - это может произойти, например, если вначале на конкретную хеш-сумму была наложена отдельная запись с уникальным идентификатором, а потом была создана новая запись, которая позволяет обнаруживать целое семейство подобных вредоносных программ.
Следует отметить, что процесс такого антивирусного обновления может происходить с интервалом в часы. Если после антивирусного обновления в антивирусную базу 160 попадет, например, сигнатура, при использовании которой объект, известный как чистый, определяется как вредоносный, то подобное событие является ложным срабатыванием и ведет к ложному оповещению. В течение нескольких часов до следующего антивирусного обновления, когда такая ошибка может быть исправлена, на огромном количестве ПК 120 может произойти ложное срабатывание и огромное количество пользователей будут оповещены об обнаружении чистого объекта в качестве вредоносного. Поэтому необходим механизм, позволяющий до основного обновления антивирусных баз провести оперативное исправление антивирусных записей с целью минимизации ложных срабатываний, а также ложных оповещений.
На Фиг.2 изображен механизм антивирусной проверки на клиентской стороне.
Антивирусное приложение, установленное на каком-либо ПК 120, для осуществления антивирусных задач нуждается в антивирусных базах 160. В антивирусной базе 160 находятся рабочие антивирусные записи 210, при срабатывании которых пользователь может быть проинформирован о данном событии, и тестовые 220. Каждая антивирусная запись имеет свой уникальный идентификатор. При антивирусной проверке того или иного объекта 200 антивирусное приложение может использовать какую-либо запись с уникальным идентификатором из антивирусной базы данных 160. Каждая запись из антивирусной базы данных 160 отвечает за вердикт 230 по результатам проверки. В антивирусной базе 160 находятся записи, которые позволяют антивирусному приложению обнаружить вредоносный объект 200, и в дальнейшем осуществить ряд действий, предназначенных для нейтрализации данного объекта 200. Таким образом, при проверке объекта 200 антивирусным приложением с использованием записи из антивирусной базы 160 с уникальным идентификатором вердикт 230 для данного проверяемого объекта 200 на основании сработавшей для него записи отнесет проверяемый объект к вредоносным объектам 230а. Под сработавшей антивирусной записью здесь и далее подразумевается выявленная антивирусная запись, которой соответствует проверяемый объект 200. Но есть вероятность того, что данная запись и вердикт по ней не верны, так как, например, в ходе обновления антивирусных баз 160 на клиентской стороне может оказаться антивирусная запись, которая отнесет проверяемый объект к вредоносным, хотя данный объект не является таковым. Поэтому необходимо иметь инструмент проверки актуальности сработавшей записи, например ее статуса, а также оперативного исправления неактуальных антивирусных записей.
На Фиг.3 изображена система защиты от вредоносного ПО в соответствии с вариантом реализации.
Системой защиты от вредоносного ПО является антивирусное приложение 310, которое содержит ряд модулей защиты 320, позволяющих обнаружить и, например, удалить вредоносное ПО. Для работы модулей защиты 320 антивирусное приложение 310 в своем составе имеет собственную антивирусную базу 160, которая содержит как рабочие записи 210, так и тестовые записи 220. Каждая антивирусная запись имеет свой уникальный идентификатор. При антивирусной проверке того или иного объекта 200 какой-либо модуль защиты из ряда модулей защиты 320 может использовать записи из антивирусной базы данных 160. Такими записями являются, например, сигнатуры, эвристики, средства родительского контроля и так далее. Следует отметить, что не все модули защиты из ряда модулей защиты 320 используют одни и те же записи. В зависимости от типа объекта 200 используется соответствующий модуль защиты, который использует антивирусные записи при проверке данного объекта 200. Несколько модулей защиты могут также осуществлять проверку объекта 200 совместно. Какой-либо модуль защиты из ряда модулей защиты 320 для антивирусной проверки того или иного объекта 200 может использовать как рабочую запись 210, в случае срабатывания которой произойдет оповещение пользователя об этом событии, так и тестовую запись 220, в случае срабатывания которой оповещение пользователя не происходит. Также антивирусное приложение 310 может иметь в своем составе кэш 330, необходимый для хранения исправлений антивирусных записей. Исправления, например исправленные записи или статусы записей, которые находятся в кэше 330, обладают более высоким приоритетом по сравнению с записями с тем же идентификатором из антивирусной базы 160. Если при антивирусной проверке того или иного объекта 200 каким-либо модулем защиты из ряда модулей защиты 320 будет существовать возможность использования для данного объекта 200 записи из антивирусной базы 160 и записи с тем же идентификатором из кэша 330, то этот модуль защиты выберет запись из кэша 330.
В случае срабатывания антивирусной записи, как рабочей, так и тестовой, информация о сработавшей записи отправляется на сервер анализа и исправлений 340, на котором может быть проверена актуальность сработавшей записи. На сервер анализа и исправлений 340 может также отправляться информация об обнаруженном записью объекте 200. Эта информация необходима для выявления тех записей в антивирусной базе 160, функционирование которых приводит к возникновению ложных срабатываний и оповещений. Информация об обнаруженных записями объектах 200 может быть представлена в виде метаданных этих объектов 200. Сервер анализа и исправлений 340 находится на стороне компании-поставщика антивирусных услуг и принимает статистическую информацию о сработавших антивирусных записях и об обнаруженных этими записями объектах 200 от множества ПК 120, на которых установлено антивирусное приложение 310. Связь между антивирусным приложением 310 и сервером анализа и исправлений 340 осуществляется через сеть Интернет 140. Если при работе какого-либо модуля защиты из ряда модулей защиты 320 сработала антивирусная запись из антивирусной базы 160, то данный модуль направляет запрос на сервер анализа и исправлений 340 с целью проверки актуальности сработавшей записи. Подобный запрос осуществляется до выполнения каких-либо действий в соответствии со сработавшей записью. Так, например, запрос будет отправлен до вывода оповещения об обнаружении сработавшей записью со статусом "рабочая" вредоносного объекта. Если ответ на запрос будет подтверждать актуальность сработавшей записи, то произойдет оповещение, а также дальнейшие действия, направленные на нейтрализацию обнаруженного записью вредоносного объекта 200. Обнаружение и исправление выпущенных антивирусных записей, результат работы которых приводит к ложным срабатываниям и оповещениям пользователя, производится в процессе обработки статистической информации об обнаруженных этими записями объектах 200.
На Фиг.4 изображена схема системы для исправления антивирусных записей.
Как было отмечено ранее, антивирусное приложение 310, установленное на ПК 120, во время своей работы осуществляет взаимодействие с сервером анализа и исправлений 340. Так, например, в случае срабатывания уникальной антивирусной записи как рабочей, так и тестовой, информация о сработавшей записи отправляется на сервер анализа и исправлений 340, на котором осуществляется проверка актуальности сработавшей записи. В одном из вариантов реализации сервер анализа и исправлений 340 содержит базу данных исправленных записей 440, в которой хранятся исправления тех записей, признанных в процессе эксплуатации, например, отвечающими за ложные срабатывания. В данной базе 440 хранится, например, информация касательно исправления статусов для антивирусных записей. Далее в описании примеров реализации будет описываться именно этот случай. Но следует понимать, что описываемая система не ограничивается примерными вариантами реализации, и база данных исправленных записей 440 может содержать также полностью измененные антивирусные записи.
В общем случае при антивирусной проверке того или иного объекта 200 какой-либо модуль защиты из ряда модулей защиты 320 может использовать записи из антивирусной базы данных 160. Далее, если какой-либо модуль защиты из ряда модулей защиты 320 выявил вредоносность объекта 200 с помощью той или иной антивирусной записи, то перед тем, как осуществить какие-либо действия в соответствии со сработавшей записью, например оповещение пользователя о данном событии, данный модуль защиты отправляет запрос на сторону сервера анализа и исправлений 340, а именно в базу данных исправленных записей 440. В запросе указывается, например, идентификатор сработавшей антивирусной записи из антивирусной базы данных 160. Если запись с данным идентификатором до очередного обновления антивирусной базы 160 была исправлена, например изменен ее статус, и данное исправление, которым в этом случае является информация о новом статусе, находится в базе данных исправлений 440, то в ответ на запрос на сторону антивирусного приложения 310, например какому-либо модулю защиты из ряда модулей защиты 320, будет передана информация об исправлении статуса сработавшей антивирусной записи. Дальнейшая работа антивирусного приложения 310, а именно какого-либо модуля защиты из ряда модулей защиты 320, с объектом 200 будет осуществляться в соответствии с измененным статусом для сработавшей антивирусной записи. В частном случае информация об исправлениях для записей может передаваться от какого-либо модуля защиты из ряда модулей защиты 320 в кэш 330, который необходим для хранения исправлений антивирусных записей. Исправления, которые находятся в кэше 330, всегда используются при антивирусной проверке того или иного объекта 200. Так, например, при срабатывании той или иной записи из антивирусной базы 160 будет проверяться наличие исправления для данной записи в кэше 330. Если в кэше 330 есть исправление, например изменение статуса сработавшей антивирусной записи, то работа антивирусного приложения, а именно какого-либо модуля защиты из ряда модулей защиты 320, будет осуществляться в соответствии с измененным статусом для сработавшей антивирусной записи. В частном случае, если в результате запроса к базе данных исправленных записей 440 какой-либо модуль защиты из ряда модулей защиты 320 получил полностью измененную антивирусную запись и сохранил ее в кэше 330, то при дальнейшей работе именно эта запись будет обладать более высоким приоритетом по сравнению с записями из антивирусной базы 160. То есть если при антивирусной проверке того или иного объекта 200 каким-либо модулем защиты из ряда модулей защиты 320 будет существовать возможность использования для данного объекта 200 записи из антивирусной базы 160 и из кэша 330, то этот модуль защиты выберет запись из кэша 330. Следует отметить, что кэш 330 очищается после очередного обновления антивирусной базы 160, так как при очередном обновлении в антивирусную базу 160 будут переданы обновленные антивирусные записи, которые учитывают произошедшие исправления.
Статусами антивирусных записей в примерной реализации могут быть такие статусы, как "рабочая", "тестовая" и "неактивная". При срабатывании "рабочей" записи пользователь получает оповещение о данном событии, при срабатывании "тестовой" записи оповещения не происходит. При срабатывании как рабочей, так и тестовой записи на сторону сервера анализа и исправлений 340 направляется информация о сработавшей записи, например ее идентификатор, а также статистическая информация об объекте 200, при проверке которого сработала данная антивирусная запись. При срабатывании "неактивной" записи никаких из вышеописанных действий не производится. Необходимость статуса "неактивная" следует из нескольких соображений. В первую очередь перевод какой-либо записи в статус "неактивная" позволит избежать ложных срабатываний и оповещений пользователя. Также, когда какая-либо запись из антивирусной базы 160 начнет определять в качестве вредоносного объект 200, который является чистым и установленным на множестве ПК 120 во всем мире, например Microsoft Word, огромный объем статистических данных о данном объекте 200 будет направлен на сервер анализа и исправлений 340. Такой поток статистических данных в состоянии затруднить работу сервера 340. Исправление статуса данной записи на статус "неактивная" на стороне сервера анализа и исправления 340 позволит блокировать дальнейшую передачу статистических данных.
В случае когда в базе данных исправленных записей 440, а также в кэше 330 нет никакой информации об исправлениях сработавшей записи, то в зависимости от статуса записи пользователю может быть передано оповещение об обнаружении вредоносного объекта 200. Также информация о сработавшей антивирусной записи, например ее идентификатор вместе со статистической информацией об объекте 200, при проверке которого сработала данная запись, отправляется на сторону сервера анализа и исправлений 340, а именно на средство обработки информации 410. Следует отметить, что набор статистических данных об объекте 200 всегда отправляется вместе с информацией о сработавшей записи при антивирусной проверке данного объекта 200 каким-либо модулем защиты из ряда модулей защиты 320. Набор статистических данных может включать различные параметры, например имя объекта 200, хеш-сумма данного объекта 200, версия, расширение и так далее. На стороне сервера анализа и исправлений 340 также находится база данных чистых объектов 430. База данных чистых объектов 430 создается для файлов, ссылок, сообщений электронной почты, а также учетных записей пользователей систем мгновенного обмена сообщениями, журналов обмена сообщениями, IP адресов, имен хостов, имен доменов, идентификаторов рекламных компаний и так далее. Далее будет рассмотрен примерный вариант, в котором база данных чистых объектов 430 содержит хеш-суммы объектов, признанных доверенными и не представляющими угрозы для ПК 120 и для данных, которые на данном ПК 120 хранятся. Следует понимать, что система не ограничена лишь данным примерным вариантом реализации, и данных, которые могут храниться в базе данных чистых объектов 430, может быть большое количество.
Получив информацию о сработавшей антивирусной записи, например ее идентификатор, а также статистическую информацию об объекте 200, при антивирусной проверке которого сработала данная запись, средство обработки информации 410 осуществляет сравнение полученной информации с информацией, сохраненной в базе данных чистых объектов 430. Так, в примерном варианте реализации может быть сравнена хеш-сумма проверенного каким-либо модулем защиты из ряда модулей защиты 320 объекта 200, для которого сработала антивирусная запись и который был признан вредоносным, и хеш-суммы чистых объектов, которые сохранены в базе данных чистых объектов 430. Если возникнет такая ситуация, когда хеш-сумма объекта 200, проверенного каким-либо модулем защиты из ряда модулей защиты 320 с использованием антивирусной записи и признанного вредоносным, совпадает с хеш-суммой чистого объекта из базы данных чистых объектов 430, то средство обработки информации 410 отправляет информацию о записи, которая определила в качестве вредоносного объект из базы данных чистых объектов 430, например ее идентификатор, на средство исправления записей 420.
Средство исправления записей 420 предназначено для обработки информации об антивирусных записях, которые работают некорректно и определяют в качестве вредоносного объект из базы данных чистых объектов 430, а также для исправления данных записей, например их статусов. Средство исправления записей 420 в своем составе содержит базу данных правил 420а, при срабатывании которых средством анализа и исправления 420 будет исправлена некорректная антивирусная запись. Так, например, в базе данных правил 420а может находиться правило, которое предписывает исправление статуса записи с "рабочая" на "неактивная", если на пятидесяти ПК 120 данной антивирусной записью в качестве вредоносного был принят объект 200, хеш-сумма которого находится в базе данных чистых объектов 430. Также, например, учитывая то, что одной антивирусной записью могут быть признаны вредоносными несколько объектов 200, правило, которое предписывает исправление статуса записи с "рабочая" на "неактивная", может срабатывать при определенном пороге значения отношения определения антивирусной записью в качестве вредоносного такого объекта, который таковым не является, к определению той же записью действительно вредоносного объекта. Если данное отношение превысит заранее заданный порог, например, 0,01%, то статус данной антивирусной записи будет изменен средством исправления записей 420 с "рабочая" на "неактивная". Таким же образом может быть изменена запись, обладающая статусом "тестовая". Если значение отношения определения данной записью действительно вредоносного объекта к определению той же записью в качестве вредоносного такого объекта, который таковым не является, будет соответствовать 99,9%, то статус данной антивирусной записи будет изменен средством исправления записей 420 с "тестовая" на "рабочая". Если же значение данного отношения опустится до значения, например, 90% и ниже, то статус данной антивирусной записи будет изменен средством исправления записей 420 с "тестовая" на "неактивная". Далее новый статус для антивирусной записи вместе с идентификатором данной записи пересылается в базу данных исправленных записей 440. В частном варианте реализации как только сработает правило для исправления статуса записи, и статус записи будет изменен, средство исправления записей 420 может осуществить передачу информации об исправленном статусе какой-либо антивирусной записи в кэш 330 антивирусных приложений 310, установленных на множестве ПК 120, с помощью, например, технологии PUSH-обновлений. Технологии PUSH-обновлений - технология принудительного обновления. То есть, например, вместо того, чтобы антивирусное приложение 310 проверяло сервер с обновлениями 110 на наличие обновлений каждые несколько минут, сервер 110 сам передает обновления антивирусному приложению 310, как только они появились.
Таким образом, в короткий временной промежуток осуществляется обнаружение ложного срабатывания какой-либо антивирусной записи из антивирусной базы 160, исправление ее статуса и передача обновленного статуса в зависимости от варианта реализации либо в базу данных исправленных записей 440, либо с помощью технологии PUSH-обновлений в кэш 330 антивирусных приложений 310, установленных на множестве ПК 120.
В частном варианте реализации в работу средства исправления записей 420 могут вмешиваться аналитики для анализа поступающих данных о сработавших антивирусных записях. Аналитики отвечают за пополнение базы данных правил 420а новыми правилами, на основании которых будет изменяться антивирусная запись. Аналитики могут также пополнять базу данных исправленных записей 440 информацией о новых статусах тех или иных записей, а также полностью измененными антивирусными записями.
На Фиг.5 изображен алгоритм работы системы для исправления антивирусных записей.
Работа системы начинается на этапе 501, на котором при антивирусной проверке объекта 200 каким-либо модулем защиты из ряда модулей защиты 320 антивирусного приложения 310 сработала уникальная антивирусная запись из антивирусной базы 160. Сработавшая запись обладает уникальным идентификатором, а также статусом, таким как "рабочая", "тестовая" и "неактивная".
Далее на этапе 502, перед тем как осуществить какие-либо действия над объектом 200, который был определен антивирусной записью как вредоносный, например, оповестить пользователя о том, что такой объект обнаружен на ПК 120, модуль защиты из ряда модулей защиты 320, обнаруживший объект, осуществляет запрос на сторону сервера анализа и исправлений 340, а именно в базу данных исправленных записей 440, с целью выяснения актуальности сработавшей записи. В запросе указывается, например, идентификатор сработавшей антивирусной записи. Далее на этапе 503, если запись с данным идентификатором до очередного обновления была исправлена, например изменен ее статус, и данное исправление, которым в этом случае является информация о новом статусе, находится в базе данных исправлений 440, то на этапе 504 в ответ на запрос на сторону антивирусного приложения 310, например, какому-либо модулю защиты из ряда модулей защиты 320 будет передана информация об исправлении статуса сработавшей записи. Дальнейшая работа антивирусного приложения 310, а именно какого-либо модуля защиты из ряда модулей защиты 320, с объектом 200 будет осуществляться в соответствии с измененным статусом для сработавшей антивирусной записи. В зависимости от нового статуса записи пользователю может быть передано оповещение об обнаружении вредоносного объекта 200, если, например, статус антивирусной записи изменился с "тестовая" на "рабочая". Или же наоборот, оповещения может не быть в случае, если статус записи изменился, например, на "неактивная" запись. Работа системы заканчивается на этапе 505. В частном варианте реализации работа системы может не заканчиваться на этапе 505, работа системы может быть продолжена после этапа 504 на этапе 506. Как было сказано ранее, одна антивирусная запись может обнаруживать в качестве вредоносных несколько объектов 200. При работе системы может возникнуть ситуация, когда появился новый объект 200, например установочный файл нового приложения, который относится к безопасным объектам, и антивирусная запись, статус которой был ранее исправлен с "тестовая" на "рабочая", стала определять данный объект в качестве вредоносного. Продолжение работы системы после этапа 504 на этапе 506 поможет избежать таких ситуаций, то есть риска повторного возникновения ложных срабатываний после исправления антивирусной записи, например ее статуса.
Также в частном варианте реализации на этапе 504 информация об исправлении для записи передается от какого-либо модуля защиты из ряда модулей защиты 320 в кэш 330, который необходим для хранения данных исправлений антивирусных записей. Исправления, которые находятся в кэше 330, всегда используются при антивирусной проверке того или иного объекта 200. Так, например, при срабатывании той или иной записи из антивирусной базы 160 будет проверяться наличие исправления для данной записи в кэше 330. Если в кэше 330 есть исправление, например изменение статуса антивирусной записи, то работа антивирусного приложения 310, а именно какого-либо модуля защиты из ряда модулей защиты 320, будет осуществляться в соответствии с исправленным статусом для сработавшей записи. Также следует отметить, что в частном варианте реализации, когда исправления записей передаются от средства исправления записей 420 напрямую в кэш 330, на этапе 502 какой-либо модуль защиты из ряда модулей защиты 320 осуществляет запрос не на сторону сервера анализа и исправлений 340, а в кэш 330 антивирусного приложения 310.
Если же на этапе 503 запись с данным идентификатором до основного обновления не была изменена, и в базе данных исправлений 440 нет информации об исправлении данной записи, то работа системы продолжается на этапе 506. На данном этапе каким-либо модулем защиты из ряда модулей защиты 320 осуществляется передача информации о сработавшей записи, например ее идентификатор вместе со статистической информацией об объекте 200, при проверке которого сработала данная антивирусная запись, на сторону сервера анализа и исправлений 340, а именно на средство обработки информации 410. Набор статистических данных может включать различные параметры, например имя объекта 200, хеш-сумма, версия, расширение и так далее. На стороне сервера анализа и исправлений 340 также находится база данных чистых объектов 430. Получив информацию о сработавшей записи, например ее идентификатор, а также статистическую информацию об объекте 200, при антивирусной проверке которого сработала данная запись, средство обработки информации 410 на этапе 507 осуществляет сравнение полученной информации с информацией, сохраненной в базе данных чистых объектов 430. Так в примерном варианте реализации может быть сравнена информация о хеш-сумме проверенного объекта 200, для которого сработала антивирусная запись и который был признан вредоносным, и информация о хеш-суммах чистых объектов, которая сохранена в базе данных чистых объектов 430. В частном варианте реализации может быть сравнена другая информация о проверенном объекте 200, например, имя с соответствующей информацией из базы данных чистых объектов 430. Также может быть осуществлено сравнение информации о множестве параметров проверенного объекта 200 с соответствующей информацией из базы данных чистых объектов 430.
Далее, если на этапе 508 после сравнения информации о хеш-сумме проверенного объекта 200, для которого сработала антивирусная запись и который был признан вредоносным, и информации о хеш-суммах чистых объектов, которая сохранена в базе данных чистых объектов 430, будет выявлено, что объект действительно вредоносный, так как в базе данных чистых объектов 430 отсутствует хеш-сумма данного объекта, то работа системы закончится на этапе 509. Если же на этапе 508 возникнет такая ситуация, когда хеш-сумма объекта 200, проверенного каким-либо модулем защиты из ряда модулей защиты 320 с использованием антивирусной записи и признанного вредоносным, совпадает с хеш-суммой чистого объекта из базы данных чистых объектов 430, то на этапе 510 средство обработки информации 410 отправляет информацию о записи, которая определила в качестве вредоносного объект из базы данных чистых объектов 430, на средство исправления записей 420. Подобной информацией может быть, например, идентификатор данной антивирусной записи. Средство исправления записей 420 в своем составе содержит базу данных правил 420а, при срабатывании которых средством исправления записей 420 будет исправлена та или иная антивирусная запись, например ее статус. Так, если на этапе 511 после получения информации об антивирусной записи, которая определила вредоносным объект 200, информация о котором находится в базе данных чистых объектов, не сработало правило для исправления данной записи, то работа системы продолжится на этапе 501. Подобное может произойти в случае, если, например, средство исправления записей 420 получило информацию о данной записи недостаточное количество раз, и для срабатывания правила для исправления данной записи этого количества случаев некорректного срабатывания записи недостаточно. Следует понимать, что в данном случае имеется в виду начало работы системы на этапе 501 для другого ПК 120, на котором сработала та же антивирусная запись при проверке того же объекта 200.
Если же на этапе 511 после получения информации об антивирусной записи, которая определила вредоносным объект, хеш-сумма которого находится в базе данных чистых объектов 430, сработало правило для исправления данной записи, то работа системы продолжится на этапе 512. На данном этапе средство исправления записей 420 произведет исправление антивирусной записи, например статуса данной записи. Статус антивирусной записи может быть изменен средством исправления записей 420, например, с "рабочая" на "неактивная". Далее, новый статус для антивирусной записи вместе с идентификатором данной записи пересылается в базу данных исправленных записей 440. В частном варианте реализации на данном этапе как только сработает правило для исправления статуса записи, и статус записи будет изменен, средство исправления записей 420 может осуществить передачу информации об исправленном статусе какой-либо антивирусной записи в кэш 330 антивирусных приложений 310, установленных на множестве ПК 120, с помощью, например, технологии PUSH-обновлений. Таким образом, исправление записи, например ее статуса, будет передано либо в базу данных исправленных записей 440, либо в кэш 330 антивирусного приложения 310. После этого при срабатывании той же записи из антивирусной базы 160 при работе какого-либо модуля защиты из ряда модулей защиты 320 на другом ПК 120 и передачи запроса либо в базу данных исправленных записей 440, либо в кэш 330, будет получена информация об исправлении антивирусной записи, например новый статус, с учетом которого будет далее осуществлять работу какой-либо модуль защиты из ряда модулей защиты 320. Работа системы заканчивается на этапе 513.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.