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

Область техники
Настоящая полезная модель относится к системам обнаружения и лечения вредоносного программного обеспечения и, более конкретно, к использованию аппаратного антивируса для лечения зараженных компьютерных систем.
Уровень техники
Изобретение относится к способам защиты от вредоносного программного обеспечения и в частности идентификации компонент вредоносного программного обеспечения. Оно основано на создании системы аппаратного антивируса для лечения зараженных компьютерных систем.
В настоящее время существует много различных антивирусов, но все они являются частью операционной системы. Антивирусное программное обеспечение (далее ПО) обычно использует два различных метода для выполнения своих задач: сканирование файлов для поиска известных вирусов и обнаружение подозрительного поведения любой из программ, похожей на поведение зараженной программы. Так как основной поток вредоносных компонент записывается на жесткие диски, то необходимость сканирования жестких дисков является очень востребованной.
Существующие антивирусы используют ресурсы общей оперативной памяти и процессора наравне с другими приложениями, в том числе и с вредоносным ПО. Антивирусы, установленные в ОС, имеют права, как администратора, так и пользователя, но эти же права имеют и некоторые компоненты вредоносного ПО. Поэтому имея равные права с вредоносной программой, антивирус не может удалить тот или иной ее компонент. Основной пример таких вредоносных программ - это «руткиты». Под руткитом понимается набор утилит или специальный модуль ядра, который взломщик устанавливает на взломанной компьютерной системе сразу после получения им прав администратора. Набор утилит, как правило, включает в себя разнообразные функции по «заметанию следов» вторжения в систему. Руткит позволяет взломщику закрепиться во взломанной системе и скрыть следы своего пребывания, скрывая файлы, процессы и присутствие самого руткита в системе. Таким образом, он может скрыться не только от пользователя, но и от антивирусов. Существует также вероятность того, что получив более привилегированные права, руткит сможет каким-то образом повредить антивирус или испортить его работоспособность. Существуют различные методы борьбы с руткитами, но, однако, не существует способа, который гарантированно сможет удалить руткит из системы.
Перед использованием обычного антивируса необходима его предварительная установка в ОС. Также существует проблема загрузки системных ресурсов во время работы антивируса, так как он использует общие ресурсы. Постепенно возникает потребность в создании антивируса, который бы мог удалять вредоносное ПО, избегая проблемы доступа и прав, а также не загружающего компьютерную систему в целом.
Таким образом, техническим результатом заявленной полезной модели является использование аппаратного антивируса для повышения уровня лечения зараженных компьютерных систем.
Сущность изобретения
Указанный технический результат достигается за счет того, что согласно одному из вариантов реализации аппаратный антивирус, предотвращающий распространение компонентов вредоносного программного обеспечения (ПО), расположенный между персональным компьютером и накопителем информации, содержащий минимум два интерфейса, один из которых подключают к системной шине компьютера, а другой подключают к носителю информации, являющийся при этом прозрачным фильтром, обеспечивающим передачу данных между интерфейсами, фильтрация упомянутых данных осуществляется центральным процессором антивируса, который использует оперативное запоминающее устройство, при этом основная работа антивируса заключается в фильтрации поступающих данных, и если в них не обнаружен компонент вредоносного ПО, то данные записывают на носитель информации, если же в данных обнаружен компонент вредоносного ПО, то данные не записывают.
В частном варианте реализации аппаратный антивирус встроен в контроллер жесткого диска.
В частном варианте реализации аппаратный антивирус в случае обнаружения компонент вредоносного ПО, имитирует запись на диск данных, не записывая данные на носитель информации.
В частном варианте реализации аппаратный антивирус в случае обнаружения компонент вредоносного ПО, передает компьютерной системе сообщение об ошибке записи.
В частном варианте реализации аппаратный антивирус имеет набор зашифрованных команд, с помощью которых программный антивирус компьютера способен управлять аппаратным антивирусом, в обход иерархии пользовательских прав, напрямую обращаясь к носителю информации.
В частном варианте реализации аппаратный антивирус дополнительно выполняет удаление руткитов с носителя информации под управлением программного антивируса, при этом программный антивирус руководствуется обновляемыми антивирусными базами.
В частном варианте реализации обновление антивирусных баз аппаратного антивируса происходит путем использования утилиты обновления антивирусных баз аппаратного антивируса, посредством которой устанавливают соединение с аппаратным антивирусом, посылая ему секретный код или зашифрованный ключ, который идентифицирует утилиту, в ответ на такой код аппаратный антивирус посылает ответ об успешной аутентификации, после которого утилита передает обновления антивирусных баз, которые сохраняются в памяти аппаратного антивируса.
В частном варианте реализации дополнительно осуществляется верификация антивирусных баз внутри аппаратного антивируса, и если верификация прошла успешно, то антивирусные базы добавляют в область рабочих баз и кода.
В частном варианте реализации дополнительно проверяется актуальность антивирусных баз.
Краткое описание прилагаемых чертежей
Сопровождающие чертежи предназначены для дополнительного понимания заявленной полезной модели, составляют часть этого описания, иллюстрируют варианты реализации полезной модели и совместно с описанием служат для объяснения принципов полезной модели.
На чертежах:
Фиг.1 показывает структурную блок-схему системы аппаратного антивируса в общем случае в соответствии с примерным вариантом реализации.
На Фиг.2 показан алгоритм работы системы аппаратного антивируса в соответствии с примерным вариантом реализации.
Фиг.3 показывает структурную блок-схему системы совместной работы аппаратного и программного антивирусов в соответствии с примерным вариантом реализации.
Фиг.4 показывает структурную блок-схему обновлений системы аппаратного антивируса в соответствии с примерным вариантом реализации.
На Фиг.5 изображена блок-схема алгоритма обновлений для системы аппаратного антивируса в соответствии в соответствии с примерным вариантом реализации.
На Фиг.6 также изображена блок-схема алгоритма верификации обновлений для системы аппаратного антивируса в соответствии в соответствии с примерным вариантом реализации.
Подробное описание предпочтительных вариантов осуществления
Далее будут рассмотрено подробное описание сопровождающих чертежей системы аппаратного антивируса и метода ее обновления.
Предлагаемая система находится между персональным компьютером и любым дисковым устройством. Она может быть выполнена в виде отдельного устройства или интегрирована в контроллер диска, а также может находиться в виде прозрачного фильтра в разрыве интерфейсного кабеля. Таким образом, компьютер не будет подозревать о том, что данные, которые он пытается записать на диск, подвергаются проверке. Соответственно, и компоненты вредоносного ПО также не будут фиксировать отслеживания их действий.
На Фиг.1 показана структурная блок-схема системы аппаратного антивируса в общем случае в соответствии с примером реализации. Система аппаратного антивируса 130 находится между персональным компьютером и диском 120 и подключена к системной шине 110 персонального компьютера. Система аппаратного антивируса имеет собственные центральный процессор 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. На этом загрузка антивирусных баз считается завершенной.
Имея описанные здесь предпочтительные варианты реализации, будет очевидным для специалиста в уровне техники, что достигнуты определенные преимущества описанных систем. Будет также понятно, что различные модификации, адаптации и альтернативные варианты реализации этих системы могут быть сделаны в объеме и сущности настоящей полезной модели. Полезная модель определяется нижеследующей формулой.