СИСТЕМА И СПОСОБ ЗАЩИТЫ КОМПЬЮТЕРНОЙ СИСТЕМЫ ОТ АКТИВНОСТИ ВРЕДОНОСНЫХ ОБЪЕКТОВ
SYSTEM AND METHOD TO PROTECT COMPUTER SYSTEM AGAINST ACTIVITY OF HARMFUL OBJECTS

Область техники
Данное изобретение относится к системам и способам антивирусной защиты компьютерных систем и, более конкретно, к системам и способам защиты компьютерной системы от файловой, реестровой, системной и сетевой активности вредоносных объектов.
Уровень техники
На сегодняшний момент развитие компьютерной техники достигло очень высокого уровня. С развитием компьютерной техники еще более стремительными темпами увеличивается количество цифровых данных. Вместе с тем, цифровые данные уязвимы и нуждаются в защите от вредоносных объектов, таких как вирусы, троянские программы, черви и т.д.
Для защиты информации от вредоносных объектов используются антивирусные системы, основная задача которых предотвратить опасные действия вредоносных объектов. Но бывают ситуации, когда антивирусная система не смогла вовремя предотвратить действия вредоносного объекта. Такие ситуации возникают, например, при появлении нового типа вирусов, который не может быть обнаружен доступными средствами антивирусной системы, поскольку он является неизвестным для нее. Возможна также другая ситуация, когда вредоносный объект обходит средства антивирусной системы, используя уязвимости операционной системы или недостатки самой антивирусной системы.
Вредоносные объекты, оказавшись на компьютере, могут проявлять различные типы активностей: файловая активность, реестровая активность, системная активность и сетевая активность. При файловой активности вредоносный объект производит различные операции над файлами, например, удаление, изменение, создание новых файлов. Реестровая активность вредоносных объектов связана с созданием, модификацией или удалением параметров и значений реестра. Известно, например, много случаев реестровой активности, когда вредоносный объект изменяет параметры реестра так, чтобы при загрузке операционной системы происходил автозапуск вредоносного объекта. Когда вредоносный объект запускает или останавливает процессы в системе, а также запускает новые потоки в других процессах, то имеет место системная активность объекта. Сетевая активность подразумевает, например, создание новых сетевых соединений вредоносным объектом.
Вредоносные объекты также могут производить совокупность действий с файлами, реестром, создавать новые процессы и сетевые соединения.
Всегда существует вероятность того, что вредоносный объект сможет получить доступ к данным, например, файлам. Отсюда вытекает необходимость иметь возможность восстановления данных, которые были повреждены, модифицированы или удалены в результате действий вредоносного объекта.
В настоящее время существуют системы и способы для восстановления поврежденных файлов, основанные на создании копии файлов и в случае необходимости замены поврежденного файла его неповрежденной копией. Подобные системы и способы описаны в заявках US 20070100905 A1 и US 20060288419 A1.
Описываемая технология отличается от указанных, она не только предоставляет возможность производить восстановление измененных или удаленных файлов в результате деятельности вредоносных объектов, но также обеспечивает защиту компьютерной системы от реестровой, системной и сетевой активности вредоносных объектов.
Описываемая технология связана с ранее запатентованной технологией, описанной в патенте US 7472420 B1, которая применяется для обнаружения ранее неизвестных вредоносных приложений. Технология основана на наблюдении за событиями создания или изменения файлов, а также за процессами, с этим связанными.
Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании их в одной системе, позволяют получить новый результат, а именно систему и способ для восстановления поврежденных данных в результате активности вредоносных объектов.
Сущность изобретения
Техническим результатом данного изобретения является повышение уровня защищенности компьютерной системы, что достигается за счет восстановления поврежденных данных и прекращения выполнения опасных процессов.
Настоящее изобретение представляет собой систему и способ защиты компьютерной системы от активности вредоносных объектов. Система защиты включает:
а) модуль защиты, связанный с модулем сбора информации и модулем хранения антивирусной базы, при этом модуль защиты предназначен для:
I) проведения антивирусной проверки объектов, которые представляют собой системные файлы или файлы программ компьютерной системы, используя при этом антивирусную базу, находящуюся в модуле хранения антивирусной базы;
II) блокирования файловой, реестровой, сетевой и системной активности обнаруженного вредоносного объекта;
III) передачи сведений об обнаруженных вредоносных объектах модулю сбора информации;
б) упомянутый модуль сбора информации, также связанный со следующими модулями:
- модулем хранения списка регистрируемых событий;
- модулем хранения журнала файловых событий;
- модулем хранения журнала реестровых событий;
- модулем восстановления;
при этом модуль сбора информации предназначен для:
I) сбора информации о файловой активности, связанной с объектами компьютерной системы, которые указаны в списке регистрируемых событий в модуле хранения списка регистрируемых событий, и помещения собранной информации в модуль хранения журнала файловых событий;
II) сбора информации о реестровой активности, связанной с данными реестра компьютерной системы, которые указаны в списке регистрируемых событий в модуле хранения списка регистрируемых событий, и помещения собранной информации в модуль хранения журнала реестровых событий;
III) предоставления собранной информации о файловых и реестровых событиях модулю восстановления и модулю защиты при обнаружении вредоносного объекта;
в) упомянутый модуль восстановления, также связанный со следующими модулями:
- модулем хранения резервной базы файлов;
- модулем хранения резервной базы данных реестра;
- модулем обновления;
при этом модуль восстановления предназначен для:
I) проведения действий, направленных на защиту файлов и реестра компьютерной системы, заключающихся в удалении новых файлов и параметров реестра, созданных вредоносным объектом;
II) восстановления первоначальных файлов, значений и параметров реестра при изменении файлов или значений реестра и при удалении файлов, значений или параметров реестра с использованием резервной базы файлов и резервной базы данных реестра, находящихся в модуле хранения резервной базы файлов и в модуле хранения резервной базы данных реестра соответственно;
г) упомянутый модуль обновления, также связанный с модулем хранения антивирусной базы данных и модулем хранения списка регистрируемых событий, при этом модуль обновления предназначен для:
I) обновления антивирусной базы, находящейся в модуле хранения антивирусной базы;
II) обновления списка регистрируемых событий, находящегося в модуле хранения списка регистрируемых событий;
III) обеспечения модуля восстановления списком файлов компьютерной системы и значений реестра компьютерной системы, которые требуется добавить в модуль хранения резервной базы файлов и в модуль хранения резервной базы данных реестра соответственно;
д) упомянутый модуль хранения резервной базы файлов, предназначенный для хранения копии неповрежденных файлов компьютерной системы;
е) упомянутый модуль хранения резервной базы данных реестра, предназначенный для хранения копии данных реестра компьютерной системы;
ж) упомянутый модуль хранения антивирусной базы, предназначенный для хранения в себе данных, необходимых модулю защиты для проведения антивирусной проверки;
з) упомянутый модуль хранения списка регистрируемых событий, предназначенный для хранения списка объектов, за активностью, связанной с которыми, ведет наблюдение модуль сбора информации;
и) упомянутый модуль хранения журнала файловых событий, предназначенный для хранения информации о файловой активности, полученной в результате работы модуля сбора информации;
к) упомянутый модуль хранения журнала реестровых событий, предназначенный для хранения информации о реестровой активности, полученной в результате работы модуля сбора информации.
В частном варианте исполнения файловая активность включает в себя создание новых файлов компьютерной системы или удаление файлов компьютерной системы, или изменение файлов компьютерной системы.
В частном варианте исполнения реестровая активность включает в себя создание новых параметров реестра компьютерной системы или удаление параметров реестра компьютерной системы, или изменения значений параметров реестра компьютерной системы.
В частном варианте исполнения сетевая активность включает в себя создание новых сетевых соединений.
В частном варианте исполнения системная активность включает в себя запуск нового процесса или запуск нового потока в существующем процессе, или завершение процесса или завершение потока в процессе.
В частном варианте исполнения модуль защиты также предназначен для проведения антивирусной проверки объектов компьютерной системы, которые проявляли активность в отношении ранее найденного вредоносного объекта, в соответствии с данными, полученными от модуля сбора информации.
В частном варианте исполнения модуль хранения журнала файловых событий содержит, по меньшей мере, данные, включающие идентификатор объекта компьютерной системы, производящего активность, вид файловой активности и идентификатор файла, над которым были проведены операции.
В частном варианте исполнения модуль хранения журнала реестровых событий содержит, по меньшей мере, данные, включающие идентификатор объекта компьютерной системы, производящего активность, вид реестровой активности и имя параметра реестра, над которым были проведены операции.
В частном варианте исполнения модуль защиты соединен через вычислительную сеть с антивирусным сервером с возможностью обмена информацией об активности вредоносных объектов с антивирусным сервером с целью обнаружения новых вредоносных объектов.
В частном варианте исполнения в модуле хранения резервной базы файлов находятся части файлов компьютерной системы.
В частном варианте исполнения модуль восстановления также предназначен для восстановления части файла компьютерной системы, поврежденной вредоносным объектом.
В частном варианте исполнения система содержит модуль хранения журналов событий, в котором находится информация об активности пользователя или вводе-выводе данных.
В частном варианте исполнения система содержит модуль хранения резервной базы данных, в котором находятся данные пользователя.
Способ защиты компьютерной системы от активности вредоносных объектов, выполняющийся на компьютере, заключается в том, что:
а) сохраняют информацию о файловой активности модулем сбора информации в отношении файлов из списка, находящегося в модуле хранения списка регистрируемых событий, при этом информация сохраняется в модуле хранения журнала файловых событий;
б) сохраняют информацию о реестровой активности модулем сбора информации в отношении данных реестра из списка, находящегося в модуле хранения списка регистрируемых событий, при этом информация сохраняется в модуле хранения журнала реестровых событий;
в) получают модулем восстановления список файлов компьютерной системы и данных реестра компьютерной системы от модуля обновления, которые требуется добавить в модуль хранения резервной базы файлов и модуль хранения резервной базы данных реестра соответственно;
г) добавляют модулем восстановления файлы компьютерной системы и данные реестра компьютерной системы из списка, полученного от модуля обновления, в модуль хранения резервной базы файлов и в модуль хранения резервной базы данных реестра;
д) проводят антивирусную проверку модулем защиты объектов проверки компьютерной системы и процессов, связанных с данными объектами;
е) осуществляют блокирование файловой, реестровой, сетевой и системной активности найденного вредоносного объекта, направленное на защиту компьютерной системы;
ж) передают данные о найденном вредоносном объекте модулем защиты на модуль сбора информации;
з) проверяют модулем сбора информации наличие файловой или реестровой активности обнаруженного вредоносного объекта по отношению к другим объектам в модуле хранения журнала файловых событий и в модуле хранения журнала реестровых событий;
и) передают модулем сбора информации данные о файлах и данных реестра, в отношении которых была зафиксирована файловая или реестровая активность вредоносного объекта, из модуля хранения журнала файловых событий и модуля хранения журнала реестровых событий на модуль восстановления;
к) восстанавливают файлы и данные реестра, в отношении которых была зафиксирована файловая или реестровая активность вредоносного объекта, модулем восстановления с использованием модуля хранения резервной базы файлов и модуля хранения резервной базы данных реестра.
В частном варианте исполнения обновляют антивирусную базу, находящуюся в модуле хранения антивирусной базы, при помощи модуля обновления.
В частном варианте исполнения обновляют список объектов компьютерной системы, за активностью, связанной с которыми, требуется вести наблюдение, находящийся в модуле хранения списка регистрируемых событий, при этом обновление производится с помощью модуля обновлений.
В частном варианте исполнения файловая активность включает в себя создание новых файлов компьютерной системы или удаление файлов компьютерной системы, или изменение файлов компьютерной системы.
В частном варианте исполнения реестровая активность включает в себя создание новых параметров реестра компьютерной системы, или удаление параметров реестра компьютерной системы, или изменение значений параметров компьютерной системы.
В частном варианте исполнения сетевая активность включает в себя создание новых сетевых соединений.
В частном варианте исполнения системная активность включает в себя запуск нового процесса, или запуск нового потока в существующем процессе, или завершение процесса, или завершение потока в процессе.
В частном варианте исполнения в модуле хранения резервной базы файлов находятся части файлов компьютерной системы.
В частном варианте исполнения производят восстановление части файла компьютерной системы, поврежденной вредоносным объектом, с помощью модуля восстановления.
В частном варианте исполнения проводят антивирусную проверку модулем защиты объектов компьютерной системы, которые проявляли активность в отношении ранее найденного вредоносного объекта, в соответствии с данными, полученными от модуля сбора информации.
В частном варианте исполнения информация в модуле хранения журнала файловых событий содержит, по меньшей мере, данные, включающие идентификатор объекта компьютерной системы, производящего активность, вид файловой активности и идентификатор файла, над которым были проведены операции.
В частном варианте исполнения информация в модуле хранения журнала реестровых событий содержит, по меньшей мере, данные, включающие идентификатор объекта компьютерной системы, производящего активность, вид реестровой активности и имя параметра реестра, над которым были проведены операции.
В частном варианте исполнения выполняют соединение через вычислительную сеть модуля защиты с антивирусным сервером для обмена информацией об активности вредоносных объектов с антивирусным сервером с целью обнаружения новых вредоносных объектов.
Краткое описание чертежей
Сопровождающие чертежи предназначены для лучшего понимания заявленного изобретения, составляют часть данного описания, иллюстрируют варианты реализации изобретения и совместно с описанием служат для объяснения принципов изобретения.
Фиг.1 иллюстрирует схему системы восстановления данных после активности вредоносных объектов.
Фиг.2 показывает схему работы системы восстановления данных на примере файловой активности вредоносного объекта.
Фиг.3 показывает схему работы системы восстановления данных на примере сетевой активности вредоносного объекта.
Фиг.4А отображает алгоритм, описывающий систему и способ восстановления данных после вредоносной активности объектов.
На Фиг.4Б показан алгоритм работы системы при наличии сетевой активности вредоносного объекта.
На Фиг.4В показан алгоритм работы системы при наличии системной активности вредоносного объекта.
На Фиг.4Г изображен алгоритм работы системы при наличии реестровой активности вредоносного объекта.
На Фиг.4Д изображен алгоритм работы системы при наличии файловой активности вредоносного объекта.
На Фиг.5 показана компьютерная система, для защиты которой может быть использовано описанное изобретение.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формулой.
Описание вариантов осуществления
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
На Фиг.1 изображена схема системы восстановления данных после активности вредоносных объектов. Система в одном из вариантов представления состоит из объектов проверки компьютерной системы 110, которые представляют собой системные файлы или файлы программ, модуля защиты 120, задачей которого является проведение антивирусной проверки вышеупомянутых объектов 110. При антивирусной проверке используются различные методы и технологии, например, сигнатурная проверка, эвристический и поведенческий анализ.
Сигнатурная проверка основана на сравнении байтового кода проверяемых данных с кодом различных вредоносных объектов, который находится в сигнатурах. Эвристический анализ использует при поиске вредоносных объектов аналитическую систему, применяющую гибко заданные шаблоны, к примеру, описанные с использованием нечеткой логики. Поведенческий анализ в частном случае основан на наблюдении за системными событиями. Определение вредоносного объекта происходит по его поведению в системе в рамках заданных правил поведения вредоносных объектов.
При антивирусной проверке проверяются не только файлы, но и процессы, вызванные при исполнении запускаемых файлов. В процессе проверки модуль защиты 120 использует антивирусную базу, находящуюся в модуле хранения антивирусной базы 121, в которой хранятся данные, содержащие, по меньшей мере, сигнатуры вредоносных объектов и сигнатуры поведения, которые используются модулем защиты 120 при анализе объектов и процессов, вызванных исполняемыми объектами 110. Сигнатуры вредоносных объектов представляют собой последовательности битов, которые сравниваются с программным кодом проверяемого объекта. В качестве одного из вариантов могут рассматриваться сигнатуры в виде контрольных сумм, которые создаются для каждого вредоносного объекта и хранятся в антивирусной базе в модуле 121. В таком случае будет происходить сравнение контрольной суммы вредоносного объекта с контрольной суммой анализируемого объекта. Если возникает совпадение, то это означает, что анализируемый объект является вредоносным.
Сигнатуры поведения в свою очередь содержат информацию о возможных действиях потенциально вредоносных объектов, таких как вызов системных функций, обращение к данным реестра и т.д. При этом производится наблюдение за проверяемым объектом, если поведение объекта будет совпадать с известной сигнатурой поведения, то данный объект будет признан вредоносным.
Модуль защиты 120 может представлять собой в одном из вариантов реализации программный модуль, использующий при работе драйверы, которые взаимодействуют с ядром операционной системы.
Если модуль защиты 120 обнаруживает вредоносный объект 112, он передает идентификационную информацию о вредоносном объекте на модуль сбора информации 150. Также модуль защиты 120 обменивается идентификационной информацией найденных вредоносных объектов с антивирусным сервером (не изображен) посредством подключения к сети Интернет 180. Подобный обмен информацией крайне важен, поскольку позволяет указать другим системам, также имеющим доступ к антивирусному серверу, на вредоносный объект, который они по какой-либо причине не обнаружили, и произвести восстановление данных в случае необходимости. А также позволяется обмениваться информацией по активности вредоносных объектов.
Вредоносным объектом может оказаться любой объект 111-113, в описываемом варианте вредоносным является объект 112. Идентификационная информация может содержать путь к вредоносному объекту, имя объекта или, например, контрольную сумму вредоносного объекта. Модуль защиты 120 может также получать данные от модуля сбора информации 150 о различных активностях для обнаружения связей между разными объектами и процессами.
Если модуль защиты 120 обнаружил опасную системную активность, то есть запуск опасного процесса каким-либо объектом или запуск опасного потока в другом процессе, в таком случае модуль защиты 120 прекращает опасную системную активность. Модуль защиты 120 выполняет завершение опасного процесса или потока в процессе и передает идентификационную информацию об объекте 112, вызвавшем данный процесс модулю сбора информации 150.
Модуль сбора информации 150 предназначен для слежения за активностью объектов компьютерной системы 110 и сбора истории активностей объектов. При запуске объекта начинается выполнение программного кода, в ходе выполнения могут вызываться процессы, связанные с модификацией файлов (файловая активность) или изменением реестра (реестровая активность). Модуль сбора информации 150 обращается к модулю хранения списка регистрируемых событий 151 для получения списка объектов и процессов, за которыми необходимо вести наблюдение. Модуль 151 предназначен для хранения списка объектов компьютерной системы, за которыми проводится наблюдение. События, связанные с наблюдаемыми объектами, регистрируются модулем сбора информации 150.
Данный модуль 150 в одном из вариантов реализации может быть программно-аппаратным модулем, содержащим список указателей на объекты, за которыми требуется вести наблюдение, таких как системный адрес. Таким образом, модуль сбора информации 150 фиксирует события создания, удаления или изменения файлов, а также создания, удаления или изменения значений реестра только для тех объектов и процессов, которые указаны в вышеупомянутом списке в средстве хранения списка регистрируемых событий 151. Например, если какой-либо объект компьютерной системы, вредоносность которого не установлена, создал файл в системной папке операционной системы, то это событие будет зафиксировано, и будет известно, какой файл был создан каким объектом. В дальнейшем при проверке может обнаружиться, что данный файл был создан вредоносным объектом, тогда он будет удален модулем восстановления 160, который будет описан ниже. Аналогичным образом фиксируются события, связанные с реестровой активностью.
На Фиг.1 изображены модули хранения журнала файловых событий 152 и журнала реестровых событий 153, предназначенные для хранения информации, помещенной туда модулем сбора информации 150. Модуль 150 помещает данные о файловой и реестровой активности в модули хранения журналов файловых 152 и реестровых 153 событий соответственно, полученные при наблюдении за интересующими объектами и процессами компьютерной системы. В других вариантах реализации система может иметь дополнительные модули хранения журналов событий 154, куда будет помещаться информация, например, об активности пользователя, вводе-выводе данных и т.д. Так описываемая система производит сбор информации об активности объектов. Собранная информация будет необходима для анализа истории активности обнаруженного вредоносного объекта при восстановлении данных.
Данные в модуле хранения журнала файловых событий 152 содержат идентификатор объекта компьютерной системы, производящего активность, вид файловой активности (создание нового файла, изменение файла, удаление файла) и идентификатор файла, над которым были проведены операции (в качестве идентификатора может выступать, например, путь к файлу, контрольная сумма файла или контрольная сумма пути к файлу).
Данные в модуле хранения журнала реестровых событий 153 содержат идентификатор объекта компьютерной системы, производящего активность, вид реестровой активности (создание нового параметра реестра, изменение значения параметра реестра, удаление параметра или значения реестра) и имя параметра реестра, над которым были проведены операции.
Модуль хранения списка регистрируемых событий 151 и модуль хранения антивирусной базы 121 имеют возможность обновляться. Антивирусная база должна периодически обновляться при появлении новых видов угроз, чтобы модуль защиты мог достоверно и своевременно производить обнаружение вредоносных объектов и опасных процессов, запущенных вредоносными объектами. Список регистрируемых событий, хранящийся в модуле 151, должен также обновляться, поскольку новые вредоносные объекты могут проявлять активность по отношению к объектам, отсутствующим в списке, наблюдение за которыми не осуществляется, следовательно, для таких объектов отсутствует возможность восстановления. Обновление списка регистрируемых событий и антивирусной базы производится посредством модуля обновления 170, который, используя подключение к сети Интернет 180, загружает последние версии обновлений списка 151 и базы 121, а также участвует в процессе обновления резервных баз, находящихся в модулях 161-163. Модуль обновления 170 может быть реализован в программно-аппаратном виде, например, на основе сетевого адаптера, обеспечивающего сетевое подключение.
Если модуль защиты 120 находит вредоносный объект в ходе своей работы, то он сообщает о вредоносном объекте модулю сбора информации 150. Модуль сбора информации 150 находит все данные по активности вредоносного объекта, которая может быть как файловой, если объект проводил файловые операции, так и реестровой, если объект выполнял действия с реестром. Далее модуль сбора информации 150 извлекает найденные данные из модуля хранения журнала файловых событий 152, из модуля хранения журнала реестровых событий 153, из модуля хранения журнала событий 154 и т.д. и передает ее модулю восстановления 160. В результате модуль восстановления 160 получает данные о том, какие файлы или параметры реестра требуется удалить в случае создания новых параметров реестра или новых файлов и восстановить в случае их изменения или удаления.
Модуль восстановления 160, получив данные от модуля сбора информации 150, проводит удаление новых файлов и параметров реестра, созданных вредоносным объектом. При изменении файлов или значений реестра, а также при удалении файлов, значений или параметров реестра, производится восстановление первоначальных файлов, значений и параметров реестра. Для этого модуль восстановления 160 обращается к резервной базе файлов в модуле 161 и резервной базе данных реестра в модуле 162. В разных вариантах воплощения описываемая система может иметь и другие резервные базы данных, например, резервную базу данных, хранящуюся в модуле 163, в которой могут храниться, в частности, данные пользователя.
Резервная база файлов в модуле 161 содержит копии файлов компьютерной системы, которые представляют особую значимость для поддержания работоспособности операционной системы, т.е. системные файлы, например, ntoskrnl.exe, ntdetect.com, hal.dll, boot.ini в операционных системах линейки Microsoft Windows NT. Также резервная база файлов, хранящаяся в модуле 161, может содержать другие файлы, целостность которых важна для пользователя. Резервная база данных реестра в модуле хранения 162 содержит копию данных реестра, влияющих на работоспособность операционной системы.
Для восстановления файлов компьютерной системы 130 и данных реестра компьютерной системы 140 модуль восстановления 160 обрабатывает данные, поступившие от модуля сбора информации 150, получает сведения об измененных или удаленных файлах, параметрах реестра. После этого модуль восстановления ищет соответствующие файлы и параметры реестра в резервных базах файлов в модуле хранения 161 и данных реестра в модуле хранения 162 соответственно. Если такие файлы и данные реестра найдены, то модуль восстановления 160 заменяет файлы и данные реестра, измененные или удаленные вредоносным объектом.
В частном варианте реализации модуль восстановления 160 может заменять только часть измененного файла, а не весь файл целиком, в таком случае резервная база файлов в модуле хранения 161 будет также содержать части файлов, которые вероятней всего могут быть подвержены вредоносным действиям, вместо целых файлов.
Стоит отметить, что резервные базы в модулях хранения 161-163 могут пополняться самим пользователем при желании в случае повреждения восстановить нужные пользователю данные, либо с участием модуля обновления 170. Во втором случае модуль обновления 170 инициирует пополнение резервных баз в модулях хранения 161-163 новыми файлами и значениями реестра, список которых был получен модулем обновления 170 с помощью сети Интернет 180 от антивирусного сервера или другого доверенного источника данных. После чего модуль обновления 170 запускает процесс обновления, и модуль восстановления 160 пополняет резервные копии данных в резервных базах в модулях хранения 161-163.
Так происходит восстановление системы после файловой или реестровой активности вредоносных объектов.
На Фиг.2 изображена схема работы системы восстановления данных на примере файловой активности вредоносного объекта.
Файловая активность вредоносного объекта может заключаться не только в создании и удалении файлов, в таком случае файл будет удален или восстановлен модулем восстановления 160 соответственно. Возможны также другие действия вредоносного объекта, например, изменение файла. На Фиг.2 изображена схема работы системы восстановления данных на примере файловой активности данного типа. В отличие от объекта 112, показанного на Фиг.1, объект 212 не производит непосредственно создание или удаление других файлов 130 или действий с данными реестра 140, он изменяет объект 213, который до изменения являлся безвредным. Изменение может заключаться, например, во внедрении вредоносного кода в исходный файл. После проделанных изменений в объекте 213 объект 212 перестает производить любую активность. С другой стороны, объект 213 начинает производить активность, связанную, например, с удалением файлов 130 или значений реестра 140. При этом действия, связанные с активностью объекта 213, фиксируются модулем сбора информации 150.
Модуль защиты 120 в ходе выполнения антивирусной проверки установит, что объект 213 представляет угрозу, то есть является вредоносным, после чего заблокирует его деятельность, передаст информацию о нем модулю сбора информации 150 и антивирусному серверу (не изображен), аналогично действиям в примере, описанном при рассмотрении Фиг.1. Модуль сбора информации 150 передаст информацию об истории активностей на модуль восстановления 160, который восстановит при помощи резервных баз измененные данные. При этом он восстановит и объект 213, если его копия имеется в резервной базе файлов в модуле 161.
Модуль защиты 120 в это время сделает запрос на модуль сбора информации 150 и в ответ получит данные обо всех видах активностей, связанных с данным объектом 213. При этом модулю защиты станет доступна информация о том, что он был изменен объектом 212, после чего модуль защиты проведет анализ объекта 212, установит его вредоносность и заблокирует объект, предотвратив дальнейшие вредоносные действия данного объекта по отношению к другим объектам.
На Фиг.3 показана схема работы системы восстановления данных на примере сетевой активности вредоносного объекта.
Некоторые объекты 310 в ходе их исполнения создают новые сетевые соединения, например, подключение к сети Интернет 180. Если сетевое соединение было создано вредоносным объектом, оно может представлять угрозу для персонального компьютера, поскольку повышает уязвимость компьютера. Вредоносный объект, может передавать данные с компьютера или загружать другие опасные объекты на персональный компьютер из сети. Для предотвращения подобных ситуаций требуется контролировать сетевую активность объектов.
В ходе антивирусной проверки модуль защиты 120 может выявить вредоносные объекты, которые установили сетевые соединения. В описываемом примере объект 312 является вредоносным объектом, проявляющим сетевую активность. Модуль защиты 120 после обнаружения таких объектов разрывает установленные сетевые соединения, блокирует объекты и передает информацию о данных объектах модулю сбора информации 150, чтобы затем восстановить данные, если наблюдалась файловая или реестровая активность данного объекта.
Возможна также ситуация, когда вредоносный объект 312 внедряется в безопасный объект или процесс компьютерной системы, затем создает сетевое соединение и использует его. При появлении такой ситуации можно выделить два случая: когда вредоносный объект 312 производит внедрение в безопасный объект 311 или безопасный процесс, не влияющий на работоспособность системы, или когда вредоносный объект внедряется в объект 313, представляющий собой системный файл либо системный процесс.
В первом случае, когда объект или процесс не являются системными, то модуль защиты 120 фиксирует факт внедрения и последующей сетевой активности и блокирует модифицированный объект 311. При блокировании объекта пресекается его файловая активность - объект не может производить файловые операции; реестровая активность - блокируется возможность доступа к системному реестру; системная активность - все процессы и потоки, запущенные объектом, завершаются;
сетевая активность - блокируется возможность создавать сетевые соединения.
Если было обнаружено создание вредоносного потока в процессе, происходит завершение вредоносных потоков, и сетевое соединение прекращается автоматически.
Во втором случае при модифицировании системного файла 313 модуль защиты не имеет возможности заблокировать объект 313, потому что это может привести к сбою в работе операционной системы. Тем не менее, модуль защиты 120 при обнаружении сетевой активности измененного системного файла прекращает сетевую активность, разрывая сетевое соединение, вызванное только внедренным участком кода, при этом объект остается работоспособным. Также можно затем восстановить системный файл при помощи резервной копии, хранящейся в резервной базе файлов в модуле 161.
Если был создан вредоносный поток в системном процессе, то происходит остановка выполнения данного вредоносного потока в системном процессе.
На Фиг.4А показан алгоритм, описывающий систему и способ восстановления данных после вредоносной активности объектов.
Вначале, на шаге 401, производится обновление антивирусной базы, хранящейся в модуле 121, а также списка регистрируемых событий в модуле 151 на шаге 402. Производится также обновление резервных баз данных в модулях хранения 161-163 при помощи модуля обновления 170 на шаге 403. После обновления базы, списка и резервных баз данных производится процесс проверки объектов компьютерной системы 110 модулем защиты 120, на шаге 404. Если на шаге 405 выявлено, что проверяемый объект или вызванный им процесс не является вредоносным, то продолжается процесс проверки других объектов. Если объект компьютерной системы или соответствующий процесс, вызванный данным объектом, является вредоносным, то на этапе 406 происходит блокирование активности вредоносного объекта. Далее, на этапе 407, информация, идентифицирующая данный объект, передается на модуль сбора информации 150 и на антивирусный сервер на этапе 408. Также с антивирусного сервера может быть получена информация об активности обнаруженного объекта на компьютерах других пользователей. Эта информация может быть также использована модулем защиты 120. На следующем этапе 409 происходит проверка наличия активностей данного объекта, при этом производится поиск данных в журналах файловых 152, реестровых 153 событий, других имеющихся журналах событий 154. Если данные не найдены в журналах событий, то объект не проявлял файловой и реестровой активности, и он блокируется модулем защиты 120 на шаге 409.
Если найдены записи в модуле хранения журнала файловых событий 152 или модуле хранения журнала реестровых событий 153, то данные о произведенных объектом активностях передаются на модуль восстановления 160 на шаге 410 для обработки.
На шаге 411 происходит восстановление удаленных или измененных данных при помощи модуля 160.
На Фиг.4Б показан алгоритм работы системы при наличии сетевой активности вредоносного объекта.
На шаге 501 производится проверка наличия сетевой активности вредоносного объекта 312. Сетевое соединение, созданное непосредственно самим вредоносным объектом 312 будет прервано автоматически после блокирования объекта модулем защиты 120 на шаге 502. Если от модуля сбора информации 150 поступает сообщение модулю защиты о том, что данный вредоносный объект произвел модификацию других объектов 311, 312, у которых также наблюдается сетевая активность, то модуль защиты 120 на шаге 503 проверяет, являются ли модифицированные объекты системными. Если модифицированный объект 311 не является системным объектом, то модуль защиты 120 блокирует данный объект на шаге 502, и сетевое соединение завершается автоматически. В случае изменения системного объекта 313 нет возможности заблокировать объект, поскольку это может привести к сбоям в работе операционной системы. Однако модуль защиты 120 завершает сетевое соединение на шаге 504, вызванное внедренной частью модифицированного системного объекта 313, при этом сам объект остается работоспособным. После данный системный объект может быть восстановлен при помощи модуля восстановления 160. В случае запуска вредоносного потока в системном процессе производится остановка вредоносного потока, внедренного в системный процесс.
На Фиг.4В показан алгоритм работы системы при наличии системной активности вредоносного объекта.
Системная активность подразумевает наличие процессов, запущенных вредоносным объектом, а также запуск потоков в других процессах. Если обнаруживается факт системной активности вредоносного объекта на шаге 601, то все процессы, связанные с данным объектом завершаются модулем защиты 120 на шаге 602. Завершаются и вредоносные потоки, запущенные в безопасных процессах.
Если вредоносный объект обнаружен, идентифицирующая информация об объекте передается на модуль сбора информации 150. Модуль восстановления 160 производит обработку поступивших данных и определяет наличие реестровой и файловой активности, которая могла иметь место до момента обнаружения вредоносного объекта.
На Фиг.4Г изображен алгоритм работы системы при наличии реестровой активности вредоносного объекта. Алгоритм начинается на шаге 701 с проверки реестровой активности, связанной с добавлением новых данных в реестр. Такой тип активности будет обработан модулем восстановления 160 путем удаления новых данных из реестра на шаге 702. В том случае, если было изменено или удалено значение параметра или если был удален параметр реестра, модуль восстановления проверит на шаге 703 наличие значения и параметра реестра в резервной базе данных реестра в модуле 162. Найденные на шаге 704 данные модуль 160 использует для восстановления измененного или удаленного значения или параметра реестра на шаге 705.
На Фиг.4Д показан алгоритм работы системы при наличии файловой активности. На этапе 801 проводится анализ полученных данных от модуля сбора информации 150 с целью выявления созданных новых файлов в результате работы вредоносного объекта. Если выясняется, что был создан новый файл, то модуль восстановления 160 проводит удаление созданного файла на этапе 802. Если же новый файл не создавался, но имело место изменение файла или удаление файла в результате работы вредоносного объекта, то на этапе 803 модуль восстановления 160 проводит проверку наличия измененных и удаленных файлов в резервной базе файлов в модуле 161. При наличии необходимого файла на этапе 804, модуль 160 производит восстановление файла на этапе 805.
Описанная система способна функционировать при наличии сразу нескольких типов активностей вредоносного объекта.
На Фиг.5 показана компьютерная система, для защиты которой может быть использовано описанное изобретение в рамках данного варианта реализации.
На Фиг.5 представлен пример компьютерной системы 20, содержащей центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS), содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс привода магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.).
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35 и дополнительные программные приложения 37, другие программные модули 38 и программные данные 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонки, принтер и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.5. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 51 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 51 через сетевой адаптер или сетевой интерфейс 53. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью 52, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.