Компьютерные вирусы
аражают только в текущем каталоге, другие - только в
подкаталогах 1-го уровня, третьи - в каталогах, указанных в строке path
системной среды (Vienna), четвертые - вообще во всех каталогах винчестера.
Поэтому воспользуемся программой типа rt, чтобыскопировать приманки во все
каталоги диска (запускаем из корневого каталога):
rt copy a:test.* .
Точка <.> в конце - символ текущего каталога. Потом их можно будет
удалить:
rt del test.*
Теперь выбираем заведомо зараженную программу и запускаем ее N
раз,постоянно изменяя время и дату. Проконтролировать изменение длины
поможет та же программа rt:
rt dir test.* >test.txt
Получаем файл test.txt, содержащий список файлов test.* с указаниемих
длины. Выбираем тот файл приманки, который изменил длину.
Вот вирус и пойман.
Как исследовать алгоритм работы вируса
Ситуация, когда компьютер оказался заражен неизвестным вирусом,
встречается не очень часто, но полностью сбрасывать со счетов такую
возможность нельзя. Выше рассматривались способы обнаружения вируса и
выделения его в чистом виде. Сейчас переходим к исследованию алгоритма
работы файловых вирусов для успешной борьбы с ними.
1. Прежде чем перейти к рассмотрению этого вопроса, вспомним неко-торые
принципы функционирования MS DOS.Структура СОМ- и ЕХЕ-программ.
Вообще говоря, следует отличать СОМ- и ЕХЕ-программы от СОМ- и ЕХЕ-
файлов. Дело в том, что в настоящее время расширение СОМ или ЕХЕ
является просто признаком (кстати, необязательным) запускаемой
программы. Способ загрузки программы в память и ее запуска
определяется операционной системой по внутреннему формату программы.
Этот факт часто не учитывали авторы первых вирусов, что приводило к
уничтожению некоторых программ вместо их заражения. СОМ-программа
представляет собой часть кода и данных, которая начинается с
исполняемой команды и занимает не более 64Кбайт. Например, такую
структуру имеет командный процессор COMMAND.СОМ операционной системы
MSDOS до версии 6.22 включительно. Структура ЕХЕ-программы гораздо
сложнее. В начале файла ЕХЕ-программы располагается заголовок (см.
приложение). Поля ReloCS и ExelP определяют расположение точки входа
в программу, поля ExeSP и ReloSS - расположение стека, поля PartPagи
PageCnt - размер корневого сегмента программы. Размер некоторых
программ, вычисленный по полям PartPag и PageCnt, может не совпадать
с реальным размером файла. Такие программы называются
<сегментированными> или <содержащими внутренние оверлеи>. Опытные
авторы вирусов избегают заражать такие программы. После заголовка
может размещаться специальная таблица, точное месторасположения
которой определяется полем TablOff, а размер - полем ReloCnt. В этой
таблице хранятся адреса тех слов в коде программы, которые
модифицируются операционной системой во времязагрузки программы.
Например, просматривая файл программы припомощи утилиты HackerView,
можно видеть команду call0000:1234h. В процессе загрузки программы
MS-DOS подставит вместо нулей нужный сегментный адрес, и все будет
работать корректно. Кстати, если в поле TablOff указано число 40h
или больше, то, скорее всего, это программа в формате Windows.
Подобный формат имеет, например, командный процессор Windows 95
COMMAND.COM. Несмотря на свое расширение, он имеет в начале
знаменитые символы и длину 95Кбайт.
2. Приступаем к исследованию конкретного файлового вируса и разработке
алгоритма его лечения. В качестве жертвы <показательного вскрытия>
возьмем широко известный в начале 90-х годов вирус SVC-1740. Выбор
определился следующими обстоятельствами:
- это очень простой вирус с четкой структурой;
- он не содержит деструктивных функций;
- не содержит грубых ошибок в алгоритме;
- он стандартно заражает СОМ- и ЕХЕ-программы.Запустив SVC вирус на
своей машине, можно наблюдать следующие его проявления.
а) В MS-DOS успели заразиться файлы ARCVIEW.EXE,HIEW.EXE и LEX.EXE. В
результате HackerView, проверяющий целостность своего кода, отказался
работать, сообщив: .
6) Windows 3.11 и Windows 95 сначала запустились корректно, нозатем
продемонстрировали разноцветные горизонтальные полосы в видеорежиме
800х600х256 (вирус не заражал какие-либо драйвера, просто в момент
старта Windows в памяти находился вирусный обработчик прерывания INT
21h). Излечение пришло после использования антивирусов: DrWeb с: /с р
/а1 и AidsTest с: /f /g /q
3. При помощи ранее описанных методов заразим две приманки: TEST.COM и
TEST.EXE. Увеличение их длины на 1740 байт можно увидеть только на
<чистой> машине (Stealth-эффект). Несколько слов об инструментарии.
Вообще говоря, выбор дизассемблеров весьма широк. В свое время была
широко известна программа DisDoc. По признанию Е. Касперского, он
активно пользуется интерактивным дизассемблером IDA. Быст
| | скачать работу |
Компьютерные вирусы |