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

         

Дезактивация оперативной памяти


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

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

В большинстве случаев для дезактивации памяти достаточно «обрубить» прерывания, перехватываемые вирусом: INT 21h в случае файловых вирусов и INT 13h в случае загрузочных (существуют, конечно же, вирусы, перехватывающие другие прерывания или несколько прерываний). Например, если вирус заражает файлы при их открытии, то это может выглядеть примерно так:

Исходный код вируса Код дезактивированного вируса ------------------- ----------------------------- . . . . . . . . . . . . . . . . . . 80 FC 3D CMP AH,3Dh 80 FC 3D CMP AH,3Dh 74 xx JE Infect_File 90 90 NOP, NOP E9 xx xx JMP Continue E9 xx xx JMP Continue . . . . . . . . . . . . . . . . . .

При дезактивации TSR-копии вируса необходимо помнить, что вирус может предпринимать специальные меры для восстановления своих кодов (например, некоторые вирусы семейства «Yankee» восстанавливают их при помощи методов помехо-защищенного кодирования), и в этом случае придется нейтрализовать и механизм самовосстановления вируса. Некоторые вирусы, кроме того, подсчитывают CRC своей резидентной копии и перезагружают компьютер или стирают сектора диска, если CRC не совпадает с оригинальным значением. В этом случае необходимо «обезвредить» также и процедуру подсчета CRC.



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