АППАРАТНЫЙ АНТИВИРУС

[0001] Полезная модель относится к способам защиты от вредоносного программного обеспечения и в частности идентификации компонент вредоносного программного обеспечения. Оно основано на создании системы аппаратного антивируса для лечения зараженных компьютерных систем.
[0002] В настоящее время существует много различных антивирусов, но все они являются частью операционной системы. Антивирусное программное обеспечение (далее ПО) обычно использует два различных метода для выполнения своих задач: сканирование файлов для поиска известных вирусов и обнаружение подозрительного поведения любой из программ, похожей на поведение зараженной программы. Так как основной поток вредоносных компонент записывается на жесткие диски, то необходимость сканирования жестких дисков является очень востребованной.
[0003] Существующие антивирусы используют ресурсы общей оперативной памяти и процессора наравне с другими приложениями, в том числе и с вредоносным ПО. Антивирусы, установленные в ОС, имеют права, как администратора, так и пользователя, но эти же права имеют и некоторые компоненты вредоносного ПО. Поэтому имея равные права с вредоносной программой, антивирус не может удалить тот или иной ее компонент. Основной пример таких вредоносных программ - это «руткиты». Под руткитом понимается набор утилит или специальный модуль ядра, который взломщик устанавливает на взломанной компьютерной системе сразу после получения им прав администратора. Набор утилит, как правило, включает в себя разнообразные функции по «заметанию следов» вторжения в систему. Руткит позволяет взломщику закрепиться во взломанной системе и скрыть следы своего пребывания, скрывая файлы, процессы и присутствие самого руткита в системе. Таким образом, он может скрыться не только от пользователя, но и от антивирусов. Существует также вероятность того, что получив более привилегированные права, руткит сможет каким-то образом повредить антивирус или испортить его работоспособность. Существуют различные методы борьбы с руткитами, однако, не существует способа, который гарантированно сможет удалить руткит из системы.
Перед использованием обычного антивируса необходима его предварительная установка в ОС. Также существует проблема загрузки системных ресурсов во время работы антивируса, так как он использует общие ресурсы. Постепенно возникает потребность в создании антивируса, который бы мог удалять вредоносное ПО, избегая проблемы доступа и прав, а также не загружающего компьютерную систему в целом.
Существуют также варианты исполнения антивирусов в виде аппаратных комплексов, которые позволяют избежать многих недостатков программных антивирусов, например, в виде использования ресурсов компьютера. Предлагаемое компанией Yoggie решение Gatekeeper (Card Pro и Pico) предлагает защиту от сетевых атак и вирусов, которые передаются через сеть (http://www.yoggie.com/Gatekeeper-Card-Pro). В то же время, Gatekeeper не предоставляет защиту от руткитов, так как это решение работает только как фильтр с данными, получаемыми через сеть. Нужно понимать, что подобные программно-аппаратные средства (firmware) не способны работать со всеми устройствами, которые можно использовать на современных компьютерах. Используя Gatekeeper как фильтр для данных, невозможно перехватить все вредоносные программ из-за того, что это решение использует традиционные антивирусные продукты, которые не дают стопроцентной гарантии обнаружения зловредных программ. Те зловредные программы, которые прошли через фильтр и попали на жесткий диск уже не могут быть обнаружены и удалены с помощью этого решения.
Способ работы устройства Gatekeeper описан в патентной заявке US 20080276302. В этой заявке рассматриваются варианты наложения определенной политики безопасности на компьютер (host) при передаче данных. Данная заявка не рассматривает варианты лечения руткитов и иных вредоносных программ, которые скрывают свое присутствие в системе.
Перед использованием обычного антивируса необходима его предварительная установка в ОС. Также существует проблема загрузки системных ресурсов во время работы антивируса, так как он использует общие ресурсы. Постепенно возникает потребность в создании антивируса, который бы мог удалять вредоносное ПО, избегая проблемы доступа и прав, а также не загружающего компьютерную систему в целом.
Поэтому для решения вышеперечисленных задач представлена полезная модель, технический результат которой заключается в предотвращении распространения вредоносного программного обеспечения. Полезная модель аппаратый антивирус для противодействия проникновению компьютерных угроз в компьютерную систему.
Система подключается непосредственно к носителю информации. Она может быть выполнена в виде отдельного устройства с возможностью подключения этого устройства к компьютеру, выполняя в таком случае функции прозрачного фильтра в разрыве интерфейсного кабеля. Таким образом, компьютер не будет подозревать о том, что данные, которые он пытается записать на носитель информации, подвергаются проверке. Соответственно, и компоненты вредоносного ПО также не будут фиксировать отслеживания их действий.
Далее будут подробного рассмотрены описания системы аппаратного антивируса и метода ее обновления.
На Фиг.1 показана структурная блок-схема системы аппаратного антивируса в общем случае в соответствии с примером реализации. Система аппаратного антивируса 130 при подключении к носителю информации приступает к проверке содержащихся на носителе данных выявляя и обезвреживая различные вредоносные программы. При подключении к системной шине 110 персонального компьютера аппаратный антивирус работает с носителем информации 120 в режиме прозрачного фильтра. Система аппаратного антивируса имеет собственные центральный процессор 140, оперативное запоминающее устройство 150 и источник питания. Таким образом, система не будет требовать общих ресурсов персонального компьютера, она будет работать независимо, не загружая систему, как это делают сейчас почти все современные антивирусные решения.
Когда к аппаратному антивирусу подключают носитель информации 120, то запускаются алгоритмы проверки записанных в нем данных на содержание вредоносного ПО, в ходе которых устраняют найденные вредоносные программы. Такой способ решает проблему скрытых системных файлов, которые находятся на носителе информации, т.к. для обработки данных используется независимое сканирование всех данных носителя информации. В этом случае во время сканирования носителя информации при рассмотрении файла можно понять, что первый сектор сканируемого файла описывает исполняемый файл и после этого его следует взять на контроль.
На Фиг.2 показана блок-схема алгоритма работы системы аппаратного антивируса в режиме прозрачного фильтра. После создания записи, которую нужно записать на носитель информации, на шаге 210 персональный компьютер передает ее контроллеру носителя информации через шину компьютера на шаге 220 (в частном варианте). Система аппаратного антивируса при взаимодействии компьютера с контроллером носителя информации начинает сканировать передаваемые данные на наличие вредоносных программ на шаге 225. В случае если передаваемые данные не содержат вирусов на шаге 230, то данные записываются на носитель информации на шаге 240. Иначе, существует несколько подходов реакции на обнаружение вредоносных компонент. Система может имитировать запись на носитель информации, а на самом деле ее не делать. Вредоносная компонента будет считать, что операция будет выполнена успешно, а на самом деле изменения не будут внесены. Другой вариант реакции на вирусы - это передача компьютерной системе сообщения об ошибке записи. Таким образом, компьютерная система получит информацию о том, что произошел сбой при записи на шаге 235.
Существует несколько различных вариантов реализации работы системы аппаратного антивируса в режиме прозрачного фильтра с низкоуровневыми данными, которые идут через него. Один из них - изучение содержимого секторов во время их передачи. Но этот способ в одиночку содержит некоторые недостатки, связанные с ограниченностью возможностей системы. Получается, что система сканирует данные только во время их чтения/записи. Но существует много скрытых файлов, которые маскируются в системе. Эти файлы не будут опознаны системой аппаратного антивируса, так как не будут производить действий чтения/записи. Соответственно, они не будут опознаны как вредоносные.
Также существует еще один способ обработки данных аппаратным антивирусом в режиме прозрачного фильтра - это работа вместе с обычным антивирусом. Работа заключается в том, что антивирус 310, изображенный на Фиг.3, имеет набор зашифрованных команд, с помощью которых он может давать те или иные указания системе аппаратного антивируса 320. Это даст доступ антивирусу 310 к носителю данных 330 в обход иерархии пользовательских прав. В этой ситуации антивирус 310 может найти руткит или другой компонент вредоносного ПО на носителе данных 330, который он не может обойти или удалить в связи с тем, что во многих операционных системах существует ограничение прав для приложений. Имея даже права администратора, антивирус 310 не может удалить руткит, который имеет те же права. Но в совокупности с системой аппаратного антивируса 320, которая работает вне операционной системы персонального компьютера, а соответственно и на нее не распространяется политика прав операционной системы, то таким образом достигается максимальная эффективность обычного антивируса 310 за счет функции удаления руткитов и других компонентов вредоносного ПО.
Один из основных аспектов работы антивируса - это наличие обновлений антивирусных баз. Антивирусные базы всегда должны быть в актуальном состоянии для борьбы с самыми новыми вредоносными программами. Ситуация с обновлениями может решаться несколькими способами. В одном частном варианте при работе системы аппаратного антивируса вместе с обычным антивирусом обновления будут скачиваться обычным антивирусом, а системе аппаратного антивируса они не потребуются. В этом случае система аппаратного антивируса выполняет второстепенную роль и предназначена для удаления руткитов, найденных обычным антивирусом. В другом частном варианте, изображенном на Фиг.4, для загрузки обновлений используется специальная утилита 410, которая устанавливается на пользовательскую компьютерную систему. В этом случае система аппаратного антивируса логически делится на две части: основную часть 420, которая состоит из рабочих антивирусных баз и кода, и часть обновлений 430. Связь системы аппаратного антивируса и персонального компьютера происходит с помощью утилиты 410, которая при загрузке новых обновлений начинает устанавливать соединение с системой аппаратного антивируса, посылая ей некоторый секретный код (или зашифрованный ключ), идентифицирующий ее как доверенное приложение. В свою очередь система аппаратного антивируса посылает ответ об успешной аутентификации утилите 410, а затем утилита 410 начинает передавать обновления в область обновлений 430. При этом рабочие базы и код в области 420 не затрагиваются. После загрузки баз утилита 410 сообщает, что обновления были загружены и готовы для дальнейшего использования. Следующим этапом является верификация баз внутри самой системы аппаратного антивируса, которая может включать в частном варианте методы сравнения электронно-цифровых подписей, контрольных сумм, подписей и т.д. Система это делает внутри себя, поэтому никакие компоненты вредоносного ПО не могут вмешаться в процесс верификации, также как и понять алгоритм проверки. В случае успешной верификации обновления загружаются из области 430 в область рабочих баз и кода 420. Такой двухступенчатый метод защищает систему аппаратного антивируса от загрузки вредоносного кода или устаревших баз. Даже если вредоносное ПО попытается загрузить вредоносный код вместо баз, то верификация внутри системы аппаратного антивируса не примет их как рабочие. Таким образом, система не будет повреждена. Старые базы также не будут загружены, потому что при верификации проверяется и актуальность баз.
На Фиг.5 изображена блок-схема алгоритма обновлений для системы аппаратного антивируса в соответствии с примером реализации со стороны утилиты, установленной на персональном компьютере. Утилита 410 начинает загружать обновления с некоторой периодичностью на шаге 510. Загрузив обновления, на шаге 520 утилита создает секретный код (ключ), идентифицирующий ее как доверенное приложение, и отсылает его системе аппаратного антивируса. На шаге 525 утилита получает ответ о результате аутентификации. В случае успешной аутентификации утилита начинает передавать загруженные обновления системе аппаратного антивируса на шаге 535. Завершив передачу данных, на шаге 540 утилита передает системе аппаратного антивируса сообщение об успешной передаче данных. Далее начинается вторая часть обработки и загрузки антивирусных баз, которая описана на Фиг.6.
На Фиг.6 также изображена блок-схема алгоритма обновлений для системы аппаратного антивируса в соответствии с примером реализации. Система аппаратного антивируса получает секретный код (ключ) от приложения персонального компьютера на шаге 610. Получив код и идентифицировав приложение как доверенную утилиту, система аппаратного антивируса отсылает ей ответ об успешной аутентификации на шаге 620. Затем утилита передает новые антивирусные базы в область обновлений системы аппаратного антивируса 430. По окончании передачи баз утилита сообщает системе о готовности баз к дальнейшей загрузке на шаге 625. После этого система производит верификацию полученных антивирусных баз на шаге 630. В случае если верификация прошла успешно на шаге 635, то есть переданные данные - это антивирусные базы и они актуальные, то они перезаписываются из области обновлений 430 в область рабочих баз 420 на шаге 640. Если верификация баз не прошла, то они удаляются из области обновлений 430 на шаге 650. На этом загрузка антивирусных баз считается завершенной.