Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 13-16 / 2 / OC_16.doc
Скачиваний:
64
Добавлен:
04.04.2013
Размер:
989.18 Кб
Скачать

16.3.2 Подходы к борьбе с вирусами

Идеальным решением проблемы вирусной угрозы является предотвращение: превалируют меры, не допускающие проникновения вируса в систему. Этой цели, вообще говоря, достичь невозможно, но предотвращение может сократить количество успешных вирусных атак. Хорошо организованная защита должна быть в состоянии реализовать такие действия.

  • Выявление. Как только произойдет заражение, необходимо обнаружить наличие вируса и его местонахождение.

  • Идентификация. Если произойдет заражение, необходимо идентифицировать вирус, который заразил программу.

  • Удаление. После идентификации вируса необходимо удалить все следы его присутствия в зараженной программе и восстановить ее до первоначального состояния. Нужно избавиться от вируса во всех удаленных системах, чтобы инфекция больше не могла распространяться.

Если вирус выявлен, но невозможно его идентифицировать или избавиться от него, то выход состоит в том, чтобы избавиться от зараженной программы и загрузить ее чистую версию, воспользовавшись дубликатом.

Достижения в области технологии вирусов и антивирусных программ идут рука об руку. Ранние вирусы имели вид сравнительно простых фрагментов кода, и можно было их легко идентифицировать, а также избавиться от них с помощью сравнительно простых антивирусных программных пакетов. По мере нагнетания "гонки вооружений" как вирусные, так и (соответственно) антивирусные программы становились все сложнее и сложнее. Появлялись и продолжают появляться все более изощренные антивирусные подходы и соответствующие продукты. В этом подразделе освещены два важнейших подхода.

16.3.2.1 Обобщенное дешифрование

Технология обобщенного дешифрования позволяет антивирусной программе легко обнаруживать даже самые сложные полиморфные вирусы, поддерживая в то же время высокую скорость сканирования. При запуске файла, содержащего полиморфный вирус, этот вирус перед активизацией должен дешифровать сам себя. Чтобы обнаружить такую структуру, исполняемые файлы пропускаются через сканер обобщенного дешифрования, в котором содержатся такие элементы.

Эмулятор центрального процессора. Виртуальный компьютер, реализован­ный программными средствами. Команды исполняемых файлов, вместо того чтобы выполняться на системном процессоре, интерпретируются эмулятором, который содержит в себе программные реализации всех регистров и других аппаратных компонентов процессора. Поэтому выполняющиеся на эмуляторе программы не затрагивают системный процессор.

Средство обнаружения сигнатур вирусов. Модуль, который сканирует исследуемый код, отыскивая в нем сигнатуры известных вирусов.

Модуль управления эмуляцией. Управляет выполнением исследуемого кода.

В начале каждой имитации эмулятор начинает по очереди интерпретировать каждую команду исследуемого кода. Если в этом коде содержится процедура дешифрования, что может свидетельствовать о наличии вируса, такой код интерпретируется, и вирус выполняет работу антивирусной программы, выявляя себя. Управляющий модуль периодически прерывает интерпретацию, чтобы проверить исследуемый код на наличие сигнатур вирусов.

В процессе интерпретации исследуемый код не может причинить вред вычислительной среде персонального компьютера, потому что он интерпретируется в полностью контролируемой среде.

Самое сложное при разработке компьютерных средств обобщенного сканирования — определить, как долго должна продолжаться каждая интерпретация. Обычно элементы вирусов активизируются вскоре после запуска программы, но это вовсе не обязательно. Чем дольше сканер выполняет эмуляцию программы, тем с большей вероятностью он найдет в ней спрятанные вирусы. Однако антивирусные программы должны выполняться в течение ограниченного времени и занимать ограниченные ресурсы, иначе пользователи будут недовольны.

Соседние файлы в папке 2