Энциклопедия компьютерных вирусов

         

Как работает вирус


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

Затем вирус устанавливает новые Disk Transfer Address и адрес INT 24h. Для начала вирус заражает файл, отмеченный в ENVIRONMENT строкой COMSPEC=. В большинстве случаев этим файлом является COMMAND.COM. Итак, COMMAND.COM поражен. После этого вирус ищет сначала EXE файлы текущего каталога, а затем и COM файлы и пытается внедриться в них. При поиске и поражении файлов вирус использует функции DOS FindFirst/Next ASCII (INT 21h, AH=4Eh/4Fh). Он ищет не более 8-ми файлов, из которых поражает не более 5. Итого, после успешной работы вируса, зараженными могут оказаться только первые 8 COM или EXE файлов в текущем каталоге и файл COMMAND.COM. Особенности

-----------

Вирус перехватывает INT 24h - Fatal Error Handler, но это не все, что он делает для того, чтобы избежать попыток заражения файлов на защищенном от записи диске: перед тем, как перейти к заражению файлов, вирус пытается создать, а затем уничтожить временный файл в каталоге, в котором лежит заражаемый файл. Если при создании файла произошла ошибка - вирус считает, что диск не доступен для записи и не пытается записываться в файлы этого диска.

Вирус также запоминает и восстанавливает атрибуты заражаемого файла. Для хорошего тона осталось только запомнить и восстановить время и дату последней модификации файла - что и проделывается вирусом, за исключением того, что значение секунд в дате файла устанавливается в 22. При поиске файлов вирус проверяет это значение и не заражает такие файлы. Итак, если значение секунд в дате файла - 22, то файл может быть заражен вирусом Todor. Однако команда DIR из DOS не показала мне секунд, не сделали этого и другие имеющиеся у меня утилиты... Только Windows File Manager честно высветил:


todor.exe ... x:xx:22pm

Перед заражением файла вирус проверяет его заголовок. Если в заголовке по смещению 32 находится строка "(C)Todor" то вирус не поражает такие файлы. Это что? Защита автора вируса от собственного детища? Не поражаются также файлы, содержащие смещению 28 от начала строку "LZ9", т.е. все файлы, сжатые утилитой LZEXE.

При поражении EXE-файла вирус сравнивает его реальную длину с длиной модуля, указанной в заголовке EXE-файла. Таким образом, вирус не поражает файлы, содержащие внутренние оверлеи. Вирус проверяет также длину COM файлов, она должна быть не меньше 11000 байт. Затем вирус модифицирует заголовок файла: в заголовке EXE меняет стартовые значения регистров CS, IP, SS, SP. В начало COM файлов вирус записывает код перехода на программу расшифровки вируса: MOV SI,offset Virus / PUSH SI / RET. Однако этот код выбирается случайным образом из 8 вариантов, в которых постоянными являются только две команды и 3 буквы: MOV SI,offset VIRUS / PUSH SI / "SQR".

Еще одной особенностью вируса является то, что в каждый месяц после августа после 15-го числа вирус шифрует случайно выбранный логический сектор текущего диска. Алгоритм шифрования довольно прост, однако слишком велика вероятность того, что этот сектор будет одним из секторов File Allocation Table или сектором Root Directory. Это делает вирус очень опасным. Пользователи дисков объемом более 32M могут не волноваться: при чтении/записи сектора на диск вирус использует только старый формат вызова INT 25h / INT 26h и, соответственно, работает только с дисками меньшими 32M.

Последней особенностью вируса является то, что он содержит в своем теле строки текста:

*.exe *.com COMSPEC=(C)TodorLZ9


Содержание раздела