- •Компьютерные вирусы. Антивирусные средства
- •Навыки и умения
- •Классификация компьютерных вирусов
- •Методы внедрения вирусов
- •Маскировка вирусов
- •Макровирусы
- •Word/Excel-вирусы
- •Защита от макровирусов
- •Java-вирусы
- •Файловые черви
- •Методы и средства обнаружения компьютерных вирусов
- •Типы антивирусных средств
Защита от макровирусов
Существует несколько приемов и встроенных в Word/Excel функций, направленных на предотвращение запуска вируса. Наиболее действенной из них является защита от вирусов, встроенная в Word и Excel (начиная с версий 7.0a). Эта защита при открытии файла, содержащего любой макрос, сообщает о его присутствии и предлагает запретить этот макрос. В результате макрос не только не выполняется, но и не виден средствами Word/Excel.
Такая защита является достаточно надежной, однако абсолютно бесполезна, если пользователь работает с макросами (любыми): она не отличает макросы вируса от не-вируса и выводит предупреждающее сообщение при открытии практически любого файла. По этой причине защита в большинстве случаев оказывается отключенной, что дает возможность вирусу проникнуть в систему. К тому же включение защиты от вирусов в уже зараженной системе не во всех случаях помогает - некоторые вирусы, однажды получив управление, при каждом запуске отключают защиту от вирусов и таким образом полностью блокируют ее.
Частично защититься от вирусов Macro.Word можно при помощи системного макроса DisableAutoMacros, который запрещает автоматический запуск Auto-макросов при работе с файлами. Однако при этом не запрещается макрос AutoExec и не запрещается запуск макросов со стандартными именами. И поэтому DisableAutoMacros блокирует только те вирусы, которые для своего распространения используют один из авто-макросов.
Запуск Word с опцией /M (или с нажатой клавишей Shift) отключает только один макрос AutoExec и таким образом также не может служить надежной защитой от вируса.
Java-вирусы
Написаны на языке программирования Java и являются стандартными Java-программами. Заражают приложения Java (Java applications). Размножаются, если зараженный файл запустить как дисковую Java-программу при помощи Java-машины.
Первый известный вирус, заражающий приложения Java, обнаружен в августе 1998 года.
Обычно эти вирусы не способны размножаться при запуске под известными браузерами (при стандартных настройках). Встроенные в браузеры системы защиты не позволяют вирусу получить доступ к файлам.
Java-вирус не в состоянии получить доступ к своему коду в системной памяти - в языке Java отсутствуют необходимые для этого функции. Поэтому перед тем, как перейти к поиску и заражению Java-апплетов, вирус определяет свой собственный файл (файл-носитель), разбирает его заголовок, внутренний формат и затем считывает из него свой код. Затем вирус ищет Java-файлы (файлы с расширением .class), разбирает их внутренний формат, вставляет в файл собственную процедуру и внедряет команду ее вызова в основной класс заражаемого файла.
Иногда при размножении Java-вирус записывает в поражаемые Java-файлы только небольшую часть своего кода (так называемый "стартер"), а основной код вируса при этом хранится на удаленном Web-сервере.
В таком случае инфицированный Java-файл при инициализации устанавливает соединение с удаленным Web-сервером, считывает основную часть вируса и передает ей управление. Код в основной части вируса ищет файлы с расширением .class и заражает их. При заражении Java-файлов вирус разбирает их внутренний формат, записывает в файл код стартера вируса в виде подпрограммы и добавляет в код конструктора файла ее вызов. В качестве параметра передается имя файла с основным кодом вируса.
Заметим, что разделение кода вируса на две части: «стартер – вирус» позволяет автору вируса "апгрейдить" его код и заражать удаленные компьютеры новыми версиями вируса.
Скрипт-вирусы
Скрипт-вирусы являются скрипт-программами на PHP. Они заражают файлы с расширением .php (иногда и .htm). Записываются в начало или в конец файлов (иногда записывают только ссылку на свой код).
Вирусы работоспособны только в системах с установленным PHP-нтерпретатором.
Первый известный вирус, заражающий скрипт-программы PHP, был обнаружен в октябре 2000 года.
Некоторые скрипт-вирусы используют интересный метод заражения: в заражаемый файл записывается не код вируса, а всего одна команда "include", которая подключает ("вставляет") код вируса в файл при его обработке.
При открытии зараженного файла скрипт-машина PHP обрабатывает команду "include", считывает код вируса из указанного файла и выполняет его.
Таким образом, код вируса присутствует в системе в единственном экземпляре, а все зараженные файлы всего лишь подключают его. Заметим, что при таком способе заражения вирус не в состоянии самостоятельно распространяться за пределы зараженного компьютера.
