Не сохраняет старый boot-сектор дискет. При загрузке с такой дискеты заражает MBR и пишет "Non-System disk". Вместо строки OEM записывает другую строку: "1000000".
С вероятностью 1/16 выводят на экран текст "Near Dark", а затем стирают MBR. Используют стелс-механизм.
Периодически выводит текст: "[Nichols] by Apache".
Зашифрован. Содержит в себе незашифрованную строку "PCAT".
Прислан из Ростова-на-Дону. Почти полностью повторяет вирус "Stoned". Не содержит текстовых строк и не выводит текст на экран. При загрузке с зараженного флоппи-диска с вероятностью 1/32 стирает на винчестере восемь секторов.
Семейство "Stoned"
. При заражении MBR выводит картинку.
Семейство "Stoned"
. Boot-сектор и MBR сохраняет по адресу 0/0/9. Иногда проигрывает простейшую гамму.
Вирусы "Scrlock" запрещают запись на винчестер, если нажата клавиша ScrollLock.
Сдвигает часть экрана, если одновременно нажат NumLock и не нажат ScrollLock.
Очень опасные резидентные загрузочные вирусы. Перехватывают INT 13h и заражают первые физические сектора дисков: начальный сектор флоппи-дисков и MBR винчестера. Дискеты инфицируются при чтении с них (INT 13h, AH=02), винчестер - при загрузке DOS с зараженной дискеты. Состоят из двух частей. Первая часть содержит тело вируса и хранится в первом физическом секторе диска, вторая содержит первоначальный сектор зараженного диска и занимает один из редко используемых секторов: на винчестере - сектор между MBR и первым загрузочным сектором, а на дискете - один из секторов, отведенных под корневое оглавление. Например, вирус "Stoned.a" записывается в последний сектор корневого каталога 360K дискет. Ранние версии вируса сохраняют на дисках свою вторую часть по фиксированным адресам: на дискете - 1/0/3 (головка/трек/сектор), на винчестере - 0/0/7. При этом никаких проверок не производится, поэтому вирус может уничтожить часть информации на дисках (на дискетах - один из секторов FAT или корневого каталога, на винчестере - один из секторов FAT). Содержат строки текста, в некоторых вирусах они зашифрованы:
"Stoned.Angelina": Greetings for ANGELINA !!!/by Garfield/Zielona Gora "Stoned.Antigame": Antigame from The Rat "Stoned.Archub": ARC HUB 8A "Stoned.Arcv.a": [HiDos] By Apache "Stoned.Arcv.b": [SCYTHE2] by Apache "Stoned.Arcv.c": [X-3a] ICE-9 "Stoned.Bite": I'm made in B I T E Soft. ! "Stoned.BlackWorm": BLACK WORM "Stoned.Bunny": BUNNY "Stoned.Canadian": Canadian "Stoned.Dallas": MаsfВl perc mгlva DALLAS ! "Stoned.Damcdoom": DAMCDOOM "Stoned.Daniela": EU TE AMO DANIELA "Stoned.Diablo": DIABLO "Stoned.Digital93": ^DIGITAL'93 "Stoned.Intruder": Intruder "Stoned.J&M": J&M "Stoned.Jugador": MARADONA ESTE ES EL VIRUS DEL MEJOR JUGADOR DEL MUNDO SALUDA A UD. MUY ATTE. DIEGO ARMANDO MARADONA "Stoned.Kenya": KENYA "Stoned.Lera": IF YOU WANT TO FUCK CALL 575-52-94 LERA!!!! "Stoned.Magic": Magic "Stoned.Micola.a": Mikola "Stoned.Mikola.b": MIKOLA V15 GHOST "Stoned.Military": EXPERIMENTAL MILITARY VIRUS Do not distribuite whitout Pentagon S21 office permission! "Stoned.Neardark.a": MARIJUANA++ "Stoned.Ok": o.k. "Stoned.Vaucher": "VAUCHER" BY DARK DOC "Stoned.Scrlock.a": ScrLock Protection "Stoned.Scrlock.b": (C)91 Scroll Lock Protects the HDD "Stoned.Sepultura": -=>SРpЧLчБrТ<=- "Stoned.Service": "Service-1" presents bootER 1991
made in Russig
"Stoned.Spirit": SPIRIT (c) MW "Stoned.Survivor": Survivor2 "Stoned.Zoboot": ЗаBOOTовка
Поражают диски при обращении к ним (INT 13h, AH=2,3). Сохраняют старое содержимое изменяемых секторов (boot-сектор у флоппи-диска и MBR винчестера) по адресу 1/0/3 (головка/трек/сектор) для дискет и 0/0/8 (или 0/0/7 в зависимости от версии вируса) для винчестера. При загрузке с зараженного флоппи-диска с вероятностью 1/8 сообщают:
"Stoned.Sex.a": EXPORT OF SEX REVOLUTION ver. 1.1 "Stoned.Sex.b": EXPORT OF SEX REVOLUTION ver. 2.0
Содержит тексты "Spook 1.0", "LIM". При заражении винчестера вместо одного MBR записывает подряд восемь секторов, в результате чего может произвести на диске серьезные разрушения.
Выводит на экран текст: "The Swedish Disaster".
При загрузке с вероятностью 1/8 выводит на экран:
Repent for ye shall be tormented... Tormentor B - RABID Int'nl Dev. Corp. '91
19 октября выводит текст:
The Turbo Maniac was here..
Поражает загрузосные сектора дискет и первый загрузочный сектор винчестера (не MBR). Содержит строки: "JAM WXYC" и "WXYC rules this roost!". Последнюю строку периодически выдает на экран при перезагрузке компьютера.
По первым числам ежемесячно выводит текст: "HAVE A NICE DAY (c)YMP".
4 декабря стирает сектора дисков и выводит сообщение:
Dedicated to ZAPPA...
Стирает сектора дисков и выводит сообщение:
ZAPPED YOU!
Очень опасный резидентный загрузочный вирус. Перехватывает INT 13h и записывается в boot-сектора дискет и boot-сектор активного раздела винчестера. Через 30 дней после заражения системы стирает сектора винчестера. Содержит строку:
Boot Strafer
Резидентный загрузочный вирус. Занимает четыре сектора (три сектора - тело вируса, один сектор - старый загрузочный сектор или MBR). На жестком диске записывает старый MBR и свое продолжение начиная с 17 сектора первого трека, на гибких дисках использует для этого последние четыре сектора диска. При загрузке системы вирус размещается в область верхних адресов оперативной памяти, уменьшая значение по адресу 0000:0413 на 3 и перехватывает INT 8. При появлении обработчика прерывания INT 2Ah (вектор по адресу 0000:00A8h не равен 0000:0000) восстанавливает INT 8 и перехватывает INT 21h. При загрузке COMMAND.COM увеличивает длину области драйверов и копирует свое тело в эту область. При этом восстанавливается старое значение INT 21h и перехватываются INT 9 и INT 13h. Область памяти, занимаемая ранее вирусом, освобождается: значение по адресу 0000:0413 увеличивается на 3, величина последнего MZ-блока увеличивается на 3K. Если копирование вируса в область драйверов невозможна, вирус выводит фразу:
Hmm... Strange drivers you have, very strange... ;-)
При обработке INT 13h вирус проверяет наличие трассировки. Для этого он запрещает аппаратные прерывания (команда CLI), заталкивает в стек регистр AX, выталкивает его и сравнивает содержимое стека со значением регистра. Если эти значения не совпадают, вирус возвращает код ошибки "disk write-protect" независимо от функции. По-видимому, подразумевалась передача управления дальше, чтобы произошла запись случайного сектора, но в вирусе стоит RET FAR. Вирус перехватывает INT 9 (клавиатура) и дублирует одну случайно выбранную клавишу. Помимо этого если при записи секторов через прерывание INT 13h первые два байта - 'MZ', то вирус заменяет их на 'ZM'. Кроме прерываний INT 9 и INT 13h, которые вирус использует по "прямому" вирусному назначению (эффекты на клавиатуре и заражение дисков), вирус перехватывает еще одно из аппаратных прерываний - либо INT 0Dh, либо INT 76h. Эти прерывания соответствуют аппаратному запросу компьютера - hardware interrupt request (IRQ).
INT 0Dh соответствует IRQ5 на PC/XT fixed disk, INT 76h - IRQ14 на PC/AT hard disk controller. При обращении к винчестеру компьютерное железо генерирует соответствующий IRQ (IRQ5 на PC/XT и IRQ14 на компьютерах класса IBM/AT), основной процессор реагирует на полученный запрос вызовом прерывания. Для того чтобы правильно перехватить прерывание винчестера, вирус должен определить класс компьютера (т.е. тип процессора), на котором он работает. Вирус делает это с помощью команды SHR AX,CL (AX=0002h, CL=41h). Если значение регистра AX после этого равно 1, то компьютер класса i286 и выше (вирус перехватывает INT 76h), если 0 - i86 (иначе перехватывается INT 0Dh). С помощью прерываний INT 0Dh и INT 76h вирус организует "стелс"-механизм на винчестере. Для этого он постоянно хранит в памяти оригинальный (незараженный) MBR и при чтении зараженного MBR подставляет незараженный. На PC/XT при вызове INT 0Dh вирус считывает адрес дискового буфера из порта 6, после чего проверяет зараженность этого сектора. Если сектор заражен, вирус копирует в дисковый буфер код оригинального MBR. На PC/AT при вызове INT 76h вирус считывает номера сектора, трека и головки через порты 1F3h, 1F4h, 1F5h и 1F6h. Если их значения соответствуют MBR, вирус записывает в вышеуказанные порты адрес сектора, содержащего оригинальный MBR. Если попытаться протрассировать прерывание INT 13h (с учетом того, что вирус проверяет наличие трассировки) при чтении MBR, то трассировка доходит до ROM BIOS, изменений в значениях регистров нет, но тем не менее в буфер считывается оригинальный MBR, а не вирус! Можно установить INT 13h напрямую в BIOS, но вирус все равно останется невидимым! Удаление вируса с дисков при условии незараженой памяти - занятие несложное. Старый MBR хранится вирусом по адресу 0/0/11 (сторона/трек/сектор), а флоппи-диски легко восстанавливаются простой перезаписью стандартного загрузочного сектора. Однако перед тем как проделывать эти процедуры, следует удалить вирус из памяти либо перезагрузкой компьютера с незараженной дискеты, либо обеззараживанием оперативной памяти компьютера.В памяти вирус слудует искать при помощи трассировки прерывания INT 13h, поскольку кроме области драйверов и верхней памяти вирус может находиться в конце одного из MZ-блоков. У нас, например, он садился в 'хвост' NC.EXE (Norton Commander). Для поиска вируса на жестком диске необходимо лечение вируса в памяти, причем лечения прерывания INT 13h недостаточно из-за "стелс"-механизма. Поэтому лечить кроме INT 13h нужно еще INT 0Dh и INT 76h.
Опасный резидентный boot-вирус. Перехватывает INT 13h и заражает boot-сектора дискет и MBR винчестера. При заражении дискет не сохраняет первоначальный boot-сектор, при загрузке с зараженных дискет вирус (не система) выводит собщение:
Non-System disk or disk error Replace and strike any key when ready
Вирус портит считываемую с диска информацию, если в ней находится заголовок EXE-файла, упакованного LzExe.
Неопасный резидентный загрузочный вирус. При загрузке с дискеты вирус не остается резидентно в памяти, а только заражает MBR винчестера и отдает управление первоначальному загрузчику. При загрузке с MBR вирус перехватывает INT 13h и заражает дискеты. В некоторых случаях вирус расшифровывает и выводит на экран:
< SVINOLOBOVA SYKA >S0_MBR (C) 04.1994 by @SOURCE (ЛИАП).
Опасный резидентный boot-вирус. Перехватывает INT 13h и записывается в MBR винчестера и boot-сектора дискет. Корректно заражает только 360K-дискеты, на прочих дискетах может испортить данные. Не сохраняет первоначальный MBR - при загрузке с такого диска вирус самостоятельно ищет активный boot-сектор и передает на него управление.
Безобидный резидентный загрузочный вирус. Перехватывает INT 8, 13h, 1Ch и записывается в boot-сектора 1.4Mb дискет и MBR винчестера. Содержит строку:
virus SZATAN dedicated to BARTCZAR
Опасный резидентный boot-вирус. Перехватывает INT 13h и записывается в boot-сектора дискет. В MBR винчестера записывается при загрузке с зараженной дискеты. При заражении сохраняет первоначальные boot/MBR по адресу 27/09/01 (трек/сектор/головка) и может испортить данные. Содержит строку:
TaeKwonDo
Довольно короткий резидентный загрузочный вирус - длина всего 84 байта. Перехватывает INT 40h. Поражает только boot-сектора дискет. При загрузке с зараженной дискеты инсталлирует себя в память, а затем грузит систему с винчестера.
Очень опасный резидентный загрузочный вирус. Перехватывает INT 13h и заражает boot-сектора дискет и MBR винчестера. Начиная c 100-го поколения стирает сектора дискет. Содержит зашифрованную строку:
TOMALAK
Резидентный неопасный вирус, перехватывает INT 13h и поражает boot-сектора дисков, первоначальный boot-сектор записывает в самый последний сектор диска. Содержит текст:
Tony
Неопасный резидентный зашифрованный загрузочный вирус. Перехватывает INT 13h и записывается в MBR винчестера и boot-сектора дискет. В зависимости от своего внутреннего счетчика и значения системного таймера "сдвигает" экран. Содержит строку:
TORNADO
Демонстрации вирусных эффектов:
tornado.com |
Безобидный резидентный стелс
boot-вирус. Перехватывает INT 13h и записывается в MBR винчестера и boot-сектора дискет. Содержит строку:
Traveller.
Очень опасный резидентный загрузочный вирус. Перехватывает INT 13h и поражает boot-сектора флоппи-дисков при обращениях к ним и при "теплой" перезагрузке. При обращении к зараженному диску меняет содержимое 0-го и 39-го треков диска.
Неопасный резидентный загрузочный стелс-вирус. Перехватывает INT 13h и записывается в boot-сектора дискет и MBR винчестера. В некоторых случаях расшифровывает и выводит текст:
ШstanbulCCC was here. He He
Опасный резидентный загрузочный вирус. Поражает MBR винчестера при загрузке с зараженной дискеты, перехватывает INT 13h и заражает boot-сектора флоппи-дисков при чтении или записи их секторов. Мешает запуску некоторых EXE-файлов (TorboBasic?). Содержит текст:
Don't run TurboBasic!
Опасный резидентный загрузочный вирус, методом "Brain"
поражает boot-сектора винчестера и флоппи-дисков при чтении с них (INT 13h, ah=2). На диске располагаются способом "Brain". Работает только на компьютерах IBM PC/XT, так как содержит команду MOV CS,AX (межсегментный JMP), которая выполняется только процессором 8086 (IBM PC/XT). Перехватывает INT 13h, 17h. Подменяет знаки, которые выводятся на принтер.
Неопасный резидентный зашифрованный boot-вирус. Перехватывает INT 13h и записывается в MBR винчестера и boot-сектора дискет. При заражении не сохраняет первоначального содержимого сектора. При загрузке с зараженного сектора передает управление на первый boot-сектор винчестера. По 6-м числам ежемесячно выводит текст и завешивает компьютер:
UFRO IEE-1987
Безобидные резидентные загрузочные вирусы. Перехватывают INT 9, 13h и записываются в MBR винчестера и boot-сектора дискет. В вирусах содержится код, который после двух заражений выводит текст и завешивает PC:
the UNashamed Naked!
однако по причине ошибки этот код никогда не вызывается.
Вместо INT 9 перехватывает INT 8 (таймер) и в зависимости от системного времени выводит на экран текст:
I'm the great UN, say, the Unashamed Naked! Yeah! of course, I'm the pride of yo nud(ll)ity! I'm here to nakedly spread my HELPS, say, my AIDS along with my UNashamed & AmeriKindily famous dinocracy, yo girl & pearl$ in my heart! Uh! I this game! Pray fo peace guys, while I seize, strip, kis & $queeze! You'd enjoy the scene & hold yo hate, I've no shame, once I'm spreading AIDS, for(the)sake (of)yo peace! Sure! In Songola, Moznia, Amalia, Bozambique,... my stripsqueeze's going on, UNashamed & NAKEDly!
UN, watch yoself!... Black Synapse advises!
Безобидный резидентный загрузочный стелс
-вирус. Перехватывает INT 13h и записывается в MBR винчестера и boot-сектора дискет. Содержит строки:
UNIFORM Rajaat
Неопасный резидентный зашифрованный стелс
boot-вирус. Перехватывает INT 13h и записывается в MBR винчестера и boot-сектора дискет. Выводит строку:
Urkel
Очень опасный зашифрованный загрузочный стелс
-вирус. Перехватывает INT 13h и записывается в boot-сектора флоппи-дисков и MBR винчестера. Винчестер поражается при загрузке с зараженного флоппи-диска, дискеты - при обращениях к ним. Оригинальные boot-сектора и MBR хранятся вирусом в зашифрованном виде.
В зависимости от таймера с вероятность 1/100 вирус выводит сообщение:
PeaceMaker by VaRiOLa
затем стирает системные сектора на доступных жестких дисках и завешивает компьютер.
Неопасный резидентный boot-вирус. Перехватывает INT 9, 13h и записывается в MBR винчестера и boot-сектора дискет. Работает только на PC-XT. Иногда портит буфер клавиатуры. Содержит строку:
VENDETTA
Очень опасный загрузочный вирус. Перехватывает INT 13h и записывается в boot-сектора дискет и MBR винчестера. По 25-м числам ежемесячно заменяет команду записи (INT 13h, AH=3) на команду проверки (verify, INT 13h, AH=4), что может вызвать порчу файлов и системных секторов.
Безобидный резидентный загрузочный стелс-вирус. Перехватывает INT 13h, при ображении к загрузочным секторам и MBR винчестера заражает их. Никак себя не проявляет.
Неопасный резидентный загрузочный стелс
-вирус. При старте с зараженной дискеты заражает память и MBR первого жесткого диска. Оригинальный boot-сектор записывает на последнюю дорожку дискеты, предварительно пометив в FAT эти сектора как сбойные. Оригинальный MBR сохраняет по адресу 0/0/5. Содержит текст:
VMF v1.0
Этот вариант самого распространенного загрузочного вируса "Stoned"
впервые обнаружен в Волгоградском государственном университете. Первая версия вируса из семейства "Volga" датирована июлем 1991, последняя - апрелем 1992. На диске вирус занимает один сектор, в памяти в зависимости от версии - 1 или 2Kb. Первоначальный загрузочный сектор дискет при заражении не сохраняется.
Как и стандартный "Stoned", этот вирус после загрузки с дискеты инсталлируется в верхние адреса оперативной памяти, после чего проверяет зараженность MBR винчестера. Если винчестер не был заражен - заражает его, причем сохраняемая копия MBR зашифровывается. Методы шифровки MBR в разных версиях различны. После заражения винчестера (или сразу после загрузки, если винчестер уже был заражен) вирус считывает зараженный MBR и передает управление ему.
В вирусах применен новый вид пакости на дисках, который при лечении вирусов в памяти делает невозможным дальнейшую работу с диском без дополнительного его исправления. Вирусы перехватывают прерывание INT 13h (обращение к диску) и следят за операциями чтения/записи.
Вирус использует тот факт, что команды стандартного и длинного чтения/записи имеют практически совпадающий формат. При записи сектора или секторов через обычную функцию (AH=03h) вирус записывает сектора по одному с помощью функции "запись длинных секторов" (AH=0Bh). Посекторная запись сделана потому, что для чтения нескольких секторов (число секторов чтения/записи указывается в регистре AL) потребовался бы соответствующих размеров буфер, равный числу байт в секторе, умноженному на число секторов. При чтении секторов с помощью обычной функции чтения (AH=02h) вирусы также меняют функцию на "чтение длинных секторов" (AH=0Ah), которая читает как сектора, записанные функцией AH=02h, так и записанные функцией AH=0Bh. В результате часть секторов диска (те, в которые произошла запись) оказываются в формате LONG, а остальные - в стандартном формате.
То есть карта секторов винчестера выглядит как черно-белая шахматная доска: один или несколько стандартных секторов, затем один или несколько 'длинных', затем опять несколько стандартных и так далее.
В зараженной системе диски читаются как обычно, но после удаления вируса из памяти или после удаления вируса из MBR и загрузке с чистого диска начинает твориться невесть что: все пораженные сектора перестают читаться средствами DOS. Диск становится недоступным после удаления вируса! Перестают читаться все сектора диска, которые были перезаписаны под активным вирусом. Первые 63 сектора диска вирус не портит. В большинстве случаев эти сектора занимает таблица размещения файлов (FAT) - но FAT без файлов (файлы записаны long'ом) все равно, что компьютер без процессора.
Для исправления таких секторов требуется специальная программа, которая должна читать подряд все сектора на диске с помощью обычной функции чтения (INT 13h AH=02h), пока не найдется сбойный сектор. Сбойный сектор читается функцией "чтение длинных секторов" (INT 13h, AH=0Ah). Если чтение прошло успешно, записывается обратно через обычную функцию записи (INT 13h AH=02h). На исправление пораженного таким образом диска требуется значительное время: от нескольких минут до часа и более (в зависимости от объема диска и его времени доступа).
Опасный нерезидентный загрузочный вирус. При загрузке с зараженного диска записывает себя вместо boot-секторов дисков A: (если дискета в дисководе) и C: (если загружается с дискеты). Первоначальный код загрузчика не сохраняется - вирус сомостоятельно грузит DOS. Содержит несколько ошибок и может завесить систему или испортить не-DOS диски. Содержит строки:
[VooDoo] Yar harddisk's gone now..
Пытается (безуспешно) вывести вторую из них.
Неопасные резидентные загрузочные вирусы. Перехватывают INT 13h и поражают boot-сектора флоппи дисков и MBR винчестера, при этом изменяет в зараженном секторе около 40 байт кода. "VSign.a" лечит диски и системную память, зараженную вирусом "Stoned". При каждом 64-ом заражении "VSign.a" рисует на экране большую букву 'V' и завешивает компьютер. При каждом 16-м заражении "VSign.b" выводит текст: "VERONIKA" и тоже завешивает компьютер. Этот вирус содержит слово-идентификатор:
VP
См. также файловый вирус "Veronika"
.
Демонстрации вирусных эффектов:
vsign.com |
Опасный резидентный стелс
-вирус. Перехватывает INT 13h и записывается в boot-сектор винчестера и флоппи-дисков. При заражении дискет не сохраняет первоначальное содержимое boot-сектора, при загрузке с такой дискеты вирус выводит текст:
No system disk or disk error Replace and strike any key when ready
Вирус также содержит строку:
- (c) 1990 W.E.T. -
Резидентный неопасный вирус, перехватывает INT 13h, 1Ch и записывается в boot-сектора дискет. Старый boot-сектор запоминает в последнем секторе 360K диска. Периодически проявляется видео-эффектом: сдвигает экран и крутит символ '-'. Содержит текст:
WINDMILL Strain 2Windmills in your mind..LLCPHP
Демонстрации вирусных эффектов:
windmill.com |
Неопасный резидентный загрузочный стелс
-вирус. Занимает на диске 4 сектора. При загрузке с зараженного диска перехватывает INT 10h, 12h, 13h, 17h, 19h, 1Ch. Затем заражает загрузочные сектора дискет и диска C:. Свой основной код и первоначальный код зараженного сектора хранит в последних секторах диска. Периодически изменяет цифры при их печати на принтере (INT 17h). Перехват INT 13h используется для вызова процедур заражения и стелс. Остальные прерывания используются для установки и изменения внутренних флагов и счетчиков вируса. Вирус содержит строку:
? wolleH
Опасный резидентный загрузочный вирус. Перехватывает INT 13h, 1Ch и записывается в boot-сектора дискет. Оригинальный boot-сектор сохраняет в последнем секторе корневого каталога. При заражении дисков емкостью 1.44 Мб портит второй сектор корневого каталога. Перехватчик таймера (INT 1Ch) периодически выводит на экран мигающий разными цветами текст:
World Peace
Неопасный резидентный boot-вирус. При загрузке с зараженной дискеты записывается в MBR винчестера и неиспользуемые сектора перед первым boot-сектором. При загрузке с зараженного винчестера копирует часть своего кода (128 байт) в таблицу векторов прерываний, перехватывает INT 13h и затем записывается в boot-сектора дискет. После инсталляции в памяти остается только кусок кода вируса, поэтому при заражении дискет вирусы приходится копировать себя из секторов винчестера в сектора заражаемой дискеты. В зависимости от системного таймера выводит текст:
XIV L.O. Wroclaw Najlepszy polski program antywirusowy MkS_Vir kupisz w firmie: APEXIM Sp. z o.o. ul. Dzielna 74/76 01-029 Warszawa tel. 38-92-82
Также содержит строки:
Pozdrawiam wszystkich uczniвw Czternastki! AutorXIV LO
Демонстрации вирусных эффектов:
xiv.com |
Безобидный резидентный зашифрованный (метод XOR) загрузочный вирус. Перехватывает INT 8, 13h и записывается в MBR винчестера и boot-сектора дискет. Содержит строку:
Independent SLOVENIA !
Очень опасный резидентный загрузочный вирус. Перехватывает INT 9 и INT 13h. Инфицирует диски только при "теплой" перезагрузке, записывая себя в boot-сектор диска A:. Первоначальный boot-сектор сохраняет в секторе 0/39/8 (сторона/трек/сектор). Никаких проверок при этом не делает.
15years
ABCD
ABS3
Aija
Aircop
Amjads
Andrew (boot)
Ani
Anticmos
AntiExe, семейство
AntiWin
AP, семейство
April
Armee, семейство
ASBV
Asterisk
Azusa, семейство
Baboon
Bagoes
BanBan
Beryllium
Bhorse
Blacksun
Bleah, семейство
Booty
Bounty
BR (boot)
Brain, семейство
Brasil
Bravo
Breaker
Brr
Bucharest
Bug70
Bupt, семейство
Bye
Cannabis (загрузочный)
Carcel
Catman
Cekov
Chance
Chimp
ChineseFish
Cicada
Clock
CMOS
CmosDeath
CrazyBoot
Cruel, семейство
DaBoys
Damanaegi
DAN (загрузочные)
DarkElf (boot)
Darnok
Defo
DenZuk, семейство
Devil, семейство
DiskFiller
DiskKiller
Disque
Dodgy
Dragon1
Dream (загрузочный)
DullBoy
Duran
Edv
Edwin
EE
Ekaterinburg
Empire
EncePhalyt
Energy
Ester
Experimental
Facade, семейство
Falcon
FatAvenger
Feint
FindMe
Fish (Boot)
Fisu
Flame
Form
Frankenstein
Galicia
Gena
Gentry
Ghost
Gorilla
Grox
Gullich
Gwar
Haharin
Hal
HappyBox
HardCore
Havoc (Stealth_Boot), семейство
HDD_Error
HDKiller
Hex
Hippie
Hob
Hoppity
Incubus, семейство
India
Insomnio
Int10, семейство
Int12 (boot)
Int40
IR&MJ
IsraeliBoot
JackRipper
JindraBoot
Jobi
Joshi, семейство
Kein
Keydrop
Kilroy, семейство
Kiryanov
KL
Koh
Korea
Leandro
Lilith
LP
LuciferBoot
LZR
Maniak
Mega
MemEater
Michael, семейство
Mik
MiniMax
Misis, семейство
Mission
Moloch
Mongolian
Monkey, семейство
MPHTI, семейство
MrHu
Multiani
Murky
MusicBug
Nail
Nice
NKTU_LUH
NOP
Nova
NYB (B1, Stoned.i)
Ordure
Ornate
Palma5
Parity, семейство
Payback
Pebble
Pentagon
Pers
Peru
PeterII
PF
PG
Pilgrim
Ping-Pong, семейство
Pirate
PMBS
Pow
Pretty
PrintScreen
Procuror
Pur'Cyst
PurpleCum
Putrid
Quandary
Quarter
Quox
Rabbit, семейство
Reggie
Rose
Rotceh
RP, семейство
RPS, семейство
RSY
Sailor.Boot
Sampo
Sea
Sebek
Secretar
SeeYou, семейство
Sepultura (boot)
SheHas
Shin
Sierra
Sniper
Snow
SP
SP3
Stb
StealthBoot
Stone.MidNigh
Stoned, семейство
Неопасный резидентный зашифрованный boot-вирус. Перехватывает INT 13h и записывается в boot-сектора дискет и диска C:. В зависимости от своего "поколения" меняет фонт символа '5'. Содержит строку:
Zeus
Демонстрации вирусных эффектов:
zeus.com |
Опасный резидентный загрузочный вирус. Копирует себя в область данных DOS по адресу 0000:0540, перехватывает INT 13h и затем записывается в boot-сектора дискет. Заражает MBR винчестера при загрузке с зараженной дискеты. Содержит ошибку и может испортить сектора и завесить систему при заражении.
Безобидный резидентный boot-вирус. Перехватывает INT 13h и записывается в MBR винчестера и boot-сектора дискет. Содержит строку:
ZUZANA-0001FAT12
На мой взгляд, наиболее удобным для хранения и анализа вируса объектом является файл, содержащий его (вируса) тело. Как показывает практика, для анализа файлового вируса удобнее иметь несколько зараженных файлов различной, но не очень большой, длины. При этом желательно иметь зараженные файлы всех типов (COM, EXE, SYS, BAT, NewEXE), поражаемых вирусом. Если необходимо проанализировать часть оперативной памяти, то при помощи некоторых утилит (например, AVPUTIL.COM) довольно просто выделить участок, где расположен вирус, и скопировать его на диск. Если же требуется анализ сектора MBR или boot-сектора, то скопировать их в файлы можно при помощи популярных «Нортоновских утилит» или AVPUTIL. Для хранения загрузочного вируса наиболее удобным является файл-образ зараженного диска. Для его получения необходимо отформатировать дискету, заразить ее вирусом, скопировать образ дискеты (все сектора, начиная с нулевого и кончая последним) в файл и при необходимости скомпрессировать его (эту процедуру можно проделать при помощи «Нортоновских утилит», программ TELEDISK или DISKDUPE).
Зараженные файлы или файл-образ зараженной дискеты лучше передать разработчикам антивирусных программ по электронной почте или, в крайнем случае, на дискете по обычной почте. Однако если это займет много времени, которое, как известно, не ждет, то пользователям, достаточно уверенным в себе, можно попробовать и самостоятельно разобраться в вирусе и написать собственный антивирус.
При анализе алгоритма вируса предстоит выяснить:
способ(ы) размножения вируса;
характер возможных повреждений, которые вирус нанес информации, хранящейся на дисках;
метод лечения оперативной памяти и зараженных файлов (секторов).
При решении этих задач не обойтись без дизассемблера или отладчика (например, отладчиков AFD, AVPUTIL, SoftICE, TorboDebugger, дизассемблеров Sourcer или IDA).
И отладчики, и дизассемблеры имеют и положительные и отрицательные черты — каждый выбирает то, что он считает более удобным. Несложные короткие вирусы быстро «вскрываются» стандартным отладчиком DEBUG, при анализе объемных и высокосложных полиморфик-стелс-вирусов не обойтись без дизассемблера.
Если необходимо быстро обнаружить метод восстановления пораженных файлов, достаточно пройтись отладчиком по началу вируса до того места, где он восстанавливает загруженную программу перед тем, как передать ей управление (фактически именно этот алгоритм чаще всего используется при лечении вируса). Если же требуется получить детальную картину работы вируса или хорошо документированный листинг, то кроме дизассемблеров Sourcer или IDA с их возможностями восстанавливать перекрестные ссылки, здесь вряд ли что поможет. К тому же следует учитывать, что, во-первых, некоторые вирусы достаточно успешно блокируют попытки протрассировать их коды, а во-вторых, при работе с отладчиком существует ненулевая вероятность того, что вирус вырвется из-под контроля.
При анализе файлового вируса необходимо выяснить, какие файлы (COM, EXE, SYS) поражаются вирусом, в какое место (места) в файле записывается код вируса — в начало, конец или середину файла, в каком объеме возможно восстановление файла (полностью или частично), в каком месте вирус хранит восстанавливаемую информацию.
При анализе загрузочного вируса основной задачей является выяснение адреса (адресов) сектора, в котором вирус сохраняет первоначальный загрузочный сектор (если, конечно, вирус сохраняет его).
Для резидентного вируса требуется также выделить участок кода, создающий резидентную копию вируса и вычислить возможные адреса точек входа в перехватываемые вирусом прерывания. Необходимо также определить, каким образом и где в оперативной памяти вирус выделяет место для своей резидентной копии: записывается ли вирус по фиксированным адресам в системные области DOS и BIOS, уменьшает ли размер памяти, выделенной под DOS (слово по адресу [0000:0413]), создает ли для себя специальный MCB-блок либо использует какой-то другой способ.
Существуют особые случаи, когда анализ вируса может оказаться очень сложной для пользователя задачей, например при анализе полиморфик-вируса. В этом случае лучше обратиться к специалисту по анализу кодов программ.
Для анализа макро-вирусов необходимо получить текст их макросов. Для нешифрованных не-стелс вирусов это достигается при помощи меню Tools/Macro. Если же вирус шифрует свои макросы или использует стелс-приемы, то необходимо воспользоваться специальными утилитами просмотра макросов. Такие специализированные утилиты есть практически у каждой фирмы-производителя антивирусов, однако они являются утилитами «внутреннего пользования» и не распространяются за пределы фирм.
На сегодняшний день известна единственная shareware-программа для просмотра макросов — Perforin. Однако эта утилита пока не поддерживает файлы Office97.
Работа с плохими данными
подразумевает хороший код
(Андрей Крюков, AVP team.)
Наиболее эффективны в борьбе с компьютерными вирусами антивирусные программы. Однако сразу хотелось бы отметить, что не существует антивирусов, гарантирующих стопроцентную защиту от вирусов, и заявления о существовании таких систем можно расценить как либо недобросовестную рекламу, либо непрофессионализм. Таких систем не существует, поскольку на любой алгоритм антивируса всегда можно предложить контр-алгоритм вируса, невидимого для этого антивируса (обратное, к счастью, тоже верно: на любой алгоритм вируса всегда можно создать антивирус). Более того, невозможность существования абсолютного антивируса была доказана математически на основе теории конечных автоматов, автор доказательства — Фред Коэн.
Следует также обратить внимание на несколько терминов, применяемых при обсуждении антивирусных программ:
«Ложное срабатывание» (False positive) — детектирование вируса в незараженном объекте (файле, секторе или системной памяти). Обратный термин — «False negative», т.е. недетектирование вируса в зараженном объекте.
«Сканирование по запросу» («on-demand») — поиск вирусов по запросу пользователя. В этом режиме антивирусная программа неактивна до тех пор, пока не будет вызвана пользователем из командной строки, командного файла или программы-расписания (system scheduler).
«Сканирование на-лету» («real-time», «on-the-fly») — постоянная проверка на вирусы объектов, к которым происходит обращение (запуск, открытие, создание и т.п.). В этом режиме антивирус постоянно активен, он присутствует в памяти «резидентно» и проверяет объекты без запроса пользователя.
Антивирусные блокировщики — это резидентные программы, перехватывающие «вирусо-опасные» ситуации и сообщающие об этом пользователю. К «вирусо-опасным» относятся вызовы на открытие для записи в выполняемые файлы, запись в boot-сектора дисков или MBR винчестера, попытки программ остаться резидентно и т.д., то есть вызовы, которые характерны для вирусов в моменты из размножения.
К достоинствам блокировщиков относится их способность обнаруживать и останавливать вирус на самой ранней стадии его размножения, что, кстати, бывает очень полезно в случаях, когда давно известный вирус постоянно «выползает неизвестно откуда». К недостаткам относятся существование путей обхода защиты блокировщиков и большое количество ложных срабатываний, что, видимо, и послужило причиной для практически полного отказа пользователей от подобного рода антивирусных программ (мне, например, неизвестно ни об одном блокировщике для Windows95/NT — нет спроса, нет и предложения).
Необходимо также отметить такое направление антивирусных средств, как антивирусные блокировщики, выполненные в виде аппаратных компонентов компьютера («железа»). Наиболее распространенной является встроенная в BIOS защита от записи в MBR винчестера. Однако, как и в случае с программными блокировщиками, такую защиту легко обойти прямой записью в порты контроллера диска, а запуск DOS-утилиты FDISK немедленно вызывает «ложное срабатывание» защиты.
Существует несколько более универсальных аппаратных блокировщиков, но к перечисленным выше недостаткам добавляются также проблемы совместимости со стандартными конфигурациями компьютеров и сложности при их установке и настройке. Все это делает аппаратные блокировщики крайне непопулярными на фоне остальных типов антивирусной защиты.
Принцип работы CRC-сканеров основан на подсчете CRC-сумм (контрольных сумм) для присутствующих на диске файлов/системных секторов. Эти CRC-суммы затем сохраняются в базе данных антивируса, как, впрочем, и некоторая другая информация: длины файлов, даты их последней модификации и т.д. При последующем запуске CRC-сканеры сверяют данные, содержащиеся в базе данных, с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то CRC-сканеры сигнализируют о том, что файл был изменен или заражен вирусом.
CRC-сканеры, использующие анти-стелс алгоритмы, являются довольно сильным оружием против вирусов: практически 100% вирусов оказываются обнаруженными почти сразу после их появления на компьютере. Однако у этого типа антивирусов есть врожденный недостаток, который заметно снижает их эффективность. Этот недостаток состоит в том, что CRC-сканеры не способны поймать вирус в момент его появления в системе, а делают это лишь через некоторое время, уже после того, как вирус разошелся по компьютеру. CRC-сканеры не могут определить вирус в новых файлах (в электронной почте, на дискетах, в файлах, восстанавливаемых из backup или при распаковке файлов из архива), поскольку в их базах данных отсутствует информация об этих файлах. Более того, периодически появляются вирусы, которые используют эту «слабость» CRC-сканеров, заражают только вновь создаваемые файлы и остаются, таким образом, невидимыми для них.
Процедура дезактивации памяти, как и лечение зараженных файлов, требует некоторых знаний об операционной системе и обязательного знания азыка Ассемблер.
При лечении оперативной памяти необходимо обнаружить коды вируса и изменить их таким образом, чтобы вирус в дальнейшем не мешал работе антивирусной программы — «отключить» подпрограммы заражения и стелс. Для этого требуется полный анализ кода вируса, так как процедуры заражения и стелс могут располагаться в различных участках вируса, дублировать друг друга и получать управление при различных условиях.
В большинстве случаев для дезактивации памяти достаточно «обрубить» прерывания, перехватываемые вирусом: 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.
1. Вирус может проникнуть в таблицу векторов прерываний
Лучший способ обнаружить такой вирус состоит в том, чтобы просмотреть карту распределения памяти, которая отображает список резидентных программ (пример такой карты приведен в табл. 3.1). Подробная карта памяти сообщает информацию о всех блоках, на которые разбита память: адрес блока управления памятью MCB, имя программы-владельца блока, адрес ее префикса программного сегмента (PSP) и список перехватываемых блоком векторов прерываний.
При наличии вируса в таблице векторов прерываний, утилиты, отображающие карту распределения памяти (например, AVPTSR.COM, AVPUTIL.COM), начинают «шуметь».
Таблица 3.1. Карта распределения незараженной памяти
+-----------------------------------------------------+ |Адрес|Адрес|Размер |Имя программы|Номера векторов | |блока| PSP |блока |владельца |прерываний | | MCB | |MCB(Кб)|блока MCB | | |-----+-----+-------+-------------+-------------------| |0E9A |0E9B | 3,20K| COMMAND.COM | 22,24,2E | |0F6E |0F6F | 0,04K|блок свободен| | |0F72 |0E9B | 0,15K| COMMAND.COM | | |0F7D |0F85 | 23,20K| AVPTSR.COM | 10,1B,1C,23,26,27 | | | | | | 28,2F,40,EF,FF | |1545 |1546 | 0,10K|блок свободен| | |154D |154E | 3,90K| PLUCK.COM | 09,13,16,21 | |164B |0E9B |549,30K| COMMAND.COM | 30,EE,F2,F3,F4,F5 | | | | | | F6,F7,F8,FE | +-----------------------------------------------------+
Таблица 3.2. Таблица векторов прерываний поражена вирусом
+-----------------------------------------------------+ |Адрес|Адрес|Размер |Имя программы|Номера векторов | |блока| PSP |блока |владельца |прерываний | | MCB | |MCB(Кб)|блока MCB | | |-----+-----+-------+-------------+-------------------| |0E9A |0E9B | 3,20K| COMMAND.COM | 22,24,2E,EB | |0F6E |0F6F | 0,04K|блок свободен| | |0F72 |0E9B | 0,15K| COMMAND.COM | | |0F7D |0F86 | 23,20K| AVPTSR.COM | 10,1B,23,26,27,28 | | | | | | 2F,40,CA,D3 | |1546 |1547 | 0,10K|блок свободен| | |154E |154F | 3,90K| PLUCK.COM | 09,13,16,91 | |164C |0E9B |549,30K| COMMAND.COM | 30,85,89,8E,90,93 | --+ | | | | | 95,97,98,9D,9E,9F | | | | | | | A2,A7,A9,AB,AE,AF | | | | | | | B1,B3,BB,BE,BF,C0 | |- «Шум» | | | | | C4,C9,CE,CF,D0,D1 | | | | | | | D2,D4,D5,D8,D9,DA | | | | | | | DB,DD,DF,E0,E4,E5 | | | | | | | E6,E7,E8,E9,EA,ED | | | | | | | EE,F3,F4,F5,F7,F8 | | | | | | | F9 | --+ +-----------------------------------------------------+
Основным источником вирусов на сегодняшний день является глобальная сеть Internet. Наибольшее число заражений вирусом происходит при обмене письмами в форматах Word/Office97. Пользователь зараженного макро-вирусом редактора, сам того не подозревая, рассылает зараженные письма адресатам, которые в свою очередь отправляют новые зараженные письма и т.д.
Предположим, что пользователь ведет переписку с пятью адресатами, каждый из которых также переписывается с пятью адресатами. После посылки зараженного письма все пять компьютеров, получившие его, оказываются зараженными:
+-----+ |%%%%%| +---------+ -----------------------------------------------------+ +---------+ | | | | | | V V V V +-----+<+ +-----+ +-----+ +-----+ +-----+ | | | | | | | | | | +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+
Затем с каждого вновь зараженного компьютера отправляется еще пять писем. Одно уходит назад на уже зараженный компьютер, а четыре — новым адресатам:
^ ^ ^ ^ ^ | +-----+ | +-----+ | +-----+ | +-----+ | +-----+ |----|%%%%%| |---|%%%%%| |---|%%%%%| |---|%%%%%| |---|%%%%%| | +---------+ | +---------+ | +---------+ | +---------+ | +---------+ | +---------+ | +---------+ | +---------+ | +---------+ | +---------+ |--> |--> |--> |--> |--> |--> |--> |--> |--> |--> |--> |--> |--> |--> |--> +--> +--> +--> +--> +-->
Таким образом, на втором уровне рассылки заражено уже 1+5+20=26 компьютеров. Если адресаты сети обмениваются письмами раз в день, то к концу рабочей недели (за 5 дней) зараженными окажутся как минимум 1+5+20+80+320=426 компьютеров. Нетрудно подсчитать, что за 10 дней зараженными оказываются более ста тысяч компьютеров! Причем каждый день их количество будет учетверяться.
Описанный случай распространения вируса является наиболее часто регистрируемым антивирусными компаниями. Нередки случаи, когда зараженный файл-документ или таблица Excel по причине недосмотра попадает в списки рассылки коммерческой информации какой-либо крупной компании. В этом случае страдают не пять, а сотни или даже тысячи абонентов таких рассылок, которые затем разошлют зараженные файлы десяткам тысячам своих абонентов.
Иммунизаторы делятся на два типа: иммунизаторы, сообщающие о заражении, и иммунизаторы, блокирующие заражение каким-либо типом вируса. Первые обычно записываются в конец файлов (по принципу файлового вируса) и при запуске файла каждый раз проверяют его на изменение. Недостаток у таких иммунизаторов всего один, но он летален: абсолютная неспособность сообщить о заражении стелс-вирусом. Поэтому такие иммунизаторы, как и блокировщики, практически не используются в настоящее время.
Второй тип иммунизации защищает систему от поражения вирусом какого-то определенного вида. Файлы на дисках модифицируются таким образом, что вирус принимает их за уже зараженные (пример — печально известная строка «MsDos», предохраняющая от ископаемого вируса «Jerusalem»). Для защиты от резидентного вируса в память компьютера заносится программа, имитирующая копию вируса. При запуске вирус натыкается на нее и считает, что система уже заражена.
Такой тип иммунизации не может быть универсальним, поскольку нельзя иммунизировать файлы от всех известных вирусов: одни вирусы считают уже зараженными файлы, если время создания файла содержит метку 62 секунды, а другие — 60 секунд. Однако несмотря на это, подобные иммунизаторы в качестве полумеры могут вполне надежно защитить компьютер от нового неизвестного вируса вплоть до того момента, когда он будет определяться антивирусными сканерами.
Файл-серверы «общего пользования» и электронные конференции также служат одним из основных источников распространения вирусов. Практически каждую неделю приходит сообщение о том, что какой-либо пользователь заразил свой компьютер вирусом, который был снят с BBS, ftp-сервера или из какой-либо электронной конференции.
При этом часто зараженные файлы «закладываются» автором вируса на несколько BBS/ftp или рассылаются по нескольким конференциям одновременно, и эти файлы маскируются под новые версии какого-либо программного обеспечения (иногда — под новые версии антивирусов).
В случае массовой рассылки вируса по файл-серверам ftp/BBS пораженными практически одновременно могут оказаться тысячи компьютеров, однако в большинстве случаев «закладываются» DOS- или Windows-вирусы, скорость распространения которых в современных условиях значительно ниже, чем макро-вирусов. По этой причине подобные инциденты практически никогда не кончаются массовыми эпидемиями, чего нельзя сказать про макро-вирусы.
Какой антивирус самый лучший? Ответ будет — «любой», если на вашем компьютере вирусы не водятся и вы не пользуетесь вирусо-опасными источниками информации. Если же вы любитель новых программ, игрушек, ведете активную переписку по электронной почте и используете при этом Word или обмениваетесь таблицами Excel, то вам все-таки следует использовать какой-либо антивирус. Какой именно — решайте сами, однако есть несколько позиций, по которым различные антивирусы можно сравнить между собой.
Качество антивирусной программы определяется, на мой взгляд, по следующим позициям, приведенным в порядке убывания их важности:
Надежность и удобство работы — отсутствие «зависаний» антивируса и прочих технических проблем, требующих от пользователя специальной подготовки.
Качество обнаружения вирусов всех распространенных типов, сканирование внутри файлов-документов/таблиц (MS Word, Excel, Office97), упакованных и архивированных файлов. Отсутствие «ложных срабатываний». Возможность лечения зараженных объектов. Для сканеров (см. ниже), как следствие, важной является также периодичность появления новых версий (апдейтов), т.е. скорость настройки сканера на новые вирусы.
Существование версий антивируса под все популярные платформы (DOS, Windows, Windows95, Windows NT, Novell NetWare, OS/2, Alpha, Linux и т.д.), присутствие не только режима «сканирование по запросу», но и «сканирование на лету», существование серверных версий с возможностью администрирования сети.
Скорость работы и прочие полезные особенности, функции, «припарки» и «вкусности».
Надежность работы антивируса является наиболее важным критерием, поскольку даже «абсолютный антивирус» может оказаться бесполезным, если он будет не в состоянии довести процесс сканирования до конца — «повиснет» и не проверит часть дисков и файлов и, таким образом, оставит вирус незамеченным в системе. Если же антивирус требует от пользователя специальных знаний, то он также окажется бесполезным — большинство пользователей просто проигнорирует сообщения антивируса и нажмут [OK] либо [Cancel] случайным образом, в зависимости от того, к какой кнопке ближе находится курсор мыши в данный момент.
Ну а если антивирус будет чересчур часто задавать сложные вопросы рядовому пользователю, то, скорее всего, он (пользователь) перестанет запускать такой антивирус или даже удалит его с диска.
Качество детектирования вирусов стоит следующим пунктом по вполне естественной причине. Антивирусные программы потому и называются антивирусными, что их прямая обязанность — ловить и лечить вирусы. Любой самый «навороченный» по своим возможностям антивирус бесполезен, если он не в состоянии ловить вирусы или делает это не вполне качественно. Например, если антивирус не детектирует 100% какого-либо полиморфного вируса, то при заражении системы этим вирусом такой антивирус обнаружит только часть (допустим 99%) зараженных на диске файлов. Необнаруженными останется всего 1%, но когда вирус снова проникнет в компьютер, то антивирус опять обнаружит 99%, но уже не от всех файлов, а только от вновь зараженных. В результате жаражено на диске будет уже 1.99%. И так далее, пока все файлы на диске не будут заражены при полном молчании антивируса.
Поэтому качество детектирования вирусов является вторым по важности критерием «лучшести» антивирусной программы, более важным, чем «многоплатформенность», наличие разнообразного сервиса и т.д. Однако если при этом антивирус с высоким качеством детектирования вирусов вызывает большое количество «ложных срабатываний», то его «уровень полезности» резко падает, поскольку пользователь вынужден либо уничтожать незараженные файлы, либо самостоятельно производить анализ подозрительных файлов, либо привыкает к частым «ложным срабатываниям», перестает обращать внимание на сообщения антивируса и в результате пропускает сообщение о реальном вирусе.
«Многоплатформенность» антивируса является следующим пунктом в списке, поскольку только программа, рассчитанная на конкретную операционную систему, может полностью использовать функции этой системы. «Неродные» же антивирусы часто оказываются неработоспособными, а иногда даже разрушительными. Например, вирус «OneHalf» поразил компьютер с установленными на нем Windows95 или WindowsNT.
Если для расшифрования диска ( данный вирус шифрует сектора диска) воспользоваться DOS-антивирусом, то результат может оказаться плачевным: информация на диске окажется безнадежно испорченной, поскольку Windows 95/NT не позволит антивирусу пользоваться прямыми вызовами чтения/записи секторов при расшифровке секторов. Антивирус же, являющийся Windows-программой, справляется с этой задачей без проблем.
Возможность проверки файлов «на лету» также является достаточно важной чертой антивируса. Моментальная и принудительная проверка приходящих на компьютер файлов и вставляемых дискет является практически 100%-й гарантией от заражения вирусом, если, конечно, антивирус в состоянии детектировать этот вирус. Очень полезными являются антивирусы, способные постоянно следить за «здоровьем» серверов — Novell NetWare, Windows NT, а в последнее время, после массового распространения макро-вирусов, и за почтовыми серверами, сканируя входящую/исходящую почту. Если же в серверном варианте антивируса присутствуют возможность антивирусного администрирования сети, то его ценность еще более возрастает.
Следующим по важности критерием является скорость работы. Если на полную проверку компьютера требуется нескольно часов, то вряд ли большинство пользователей будут запускать его достаточно часто. При этом медленность антивируса совсем не говорит о том, что он ловит вирусов больше и делает это лучше, чем более быстрый антивирус. В разных антивирусах используются различные алгоритмы поиска вирусов, один алгоритм может оказаться более быстрым и качественным, другой — медленным и менее качественным. Все зависит от способностей и профессионализма разработчиков конкретного антивируса.
Наличие всяческих дополнительных функций и возможностей стоит в списке качеств антивируса на последнем месте, поскольку очень часто эти функции никак не сказываются на уровне «полезности» антивируса. Однако эти дополнительные функции значительно упрощают жизнь пользователя и, может быть, даже подталкивают его запускать антивирус почаще.
Третий путь «быстрого заражения» — локальные сети. Если не принимать необходимых мер защиты, то зараженная рабочая станция при входе в сеть заражает один или несколько служебных файлов на сервере (в случае Novell NetWare — LOGIN.COM):
+---+ | | <----------------------------------------------------------+ | | ^ | | | | | | +-----+ | | | | | | | | | | | | | | +---+ +-----+ | | | | | | | | | | +-----+ | +-----+ +-----+ +-----+ +-----+ |%%%%%| + | | | | | | | | +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+
На следующий день пользователи при входе в сеть запускают зараженные файлы с сервера, и вирус таким образом получает доступ на компьютеры пользователей:
+---+ |%%%| -----------------------------------------------------------+ |%%%| | | | | | |%%%| +-----+ | | | | | |%%%| | | | | | | | +---+ +-----+ | | | | | | V V V V +-----+ | +-----+ +-----+ +-----+ +-----+ |%%%%%| + | | | | | | | | +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+
Вместо служебного файла LOGIN.COM может также выступать различное программное обеспечение, установленное на сервере, стандартные документы-шаблоны или Excel-таблицы, применяемые в фирме, и т.д.
Следите за тем, чтобы антивирусные программы, используемые для проверки, были самых последних версий. Если к программам поставляются апдейты, то проверьте их на «свежесть». Обычно выход новых версий антивирусов анонсируется, поэтому достаточно посетить соответствующие WWW/ftp/BBS.
«Национальность» антивирусов в большинстстве случаев не имеет значения, поскольку на сегодняшний день процесс эмиграции вируса в другие страны и иммиграции антивирусных программ ограничивается только скоростью Internet, поэтому как вирусы, так и антивирусы не признают границ.
Если на компьютере обнаружен вирус, то самое главное — не паниковать (тем, для кого «встреча» с вирусом — вполне обыденное явление, такая рекомендация может показаться смешной). Паника никогда не доводила до добра: непродуманные действия могут привести к печальным последствиям.
Если вирус обнаружен в каком-то из новых файлов и еще не проник в систему, то нет причин для беспокойства: убейте этот файл (или удалите вирус любимой антивирусной программой) и спокойно работайте дальше. В случае обнаружения вируса сразу в нескольких файлах на диске или в загрузочном секторе, то проблема становится более сложной, но все равно разрешимой — антивирусники не зря едят свой хлеб.
Следует еще раз обратить внимание на термин «ложное срабатывание». Если в каком-либо ОДНОМ файле, который достаточно долго «живет» на компьютере, какой-либо один антивирус обнаружил вирус, то это скорее всего ложное срабатывание. Если такой файл запускался несколько раз, а вирус так и не переполз в другие файлы, то это крайне странно. Попробуйте проверить файл другими антивирусами. Если они хранят молчание, отправьте этот файл в лабораторию фирмы-производителя антивируса, обнаружившего в нем вирус.
Если же на компьютере действительно найден вирус, то надо сделать следующее:
1. В случае обнаружения файлового вируса, если компьютер подключен к сети, необходимо отключить его от сети и проинформировать системного администратора. Если вирус еще не проник в сеть, это защитит сервер и другие рабочие станции от проникновения вируса.
Единственный известный мне источник подробной информации данного рода практически обо всех известных вирусах — «Энциклопедия вирусов AVP».
3. При помощи антивирусной программы нужно восстановить зараженные файлы и затем проверить их работоспособность. Перед лечением или одновременно с ним - создать резерсные копии зараженных файлов и распечатать или сохранить где-либо список зараженных файлов (log-файл антивируса). Это необходимо для того, чтобы восстановить файлы, если лечение окажется неуспешным из-за ошибки в лечащем модуле антивируса либо по причине неспособности антивируса лечить данный вирус. В этом случае придется прибегнуть к помощи какого-либо другого антивируса.
Гораздо надежнее, конечно, восстановить зараженные файлы из backup-копии (если она есть), однако все равно потребуются услуги антивируса — вдруг не все копии вируса окажутся уничтожены, или если файлы в backup-копии также заражены.
Следует отметить, что качество восстановления файлов многими антивирусными программами оставляет желать лучшего. Многие популярные антивирусы частенько необратимо портят файлы вместо их лечения. Поэтому если потеря файлов нежелательна, то выполнять перечисленные выше пункты следует в полном объеме.
В случае загрузочного вируса необходимо проверить все дискеты независимо от того, загрузочные они (т.е. содержат файлы DOS) или нет. Даже совершенно пустая дискета может стать источником распространения вируса — достаточно забыть ее в дисководе и перезагрузить компьютер (если, конечно же, в BIOS Setup загрузочным диском отмечен флоппи-диск)
Помимо перечисленных выше пунктов необходимо обращать особое внимание на чистоту модулей, сжатых утилитами типа LZEXE, PKLITE или DIET, файлов в архивах (ZIP, ARC, ICE, ARJ и т.д.) и данных в самораспаковывающихся файлах, созданных утилитами типа ZIP2EXE. Если случайно упаковать файл, зараженный вирусом, то обнаружение и удаление такого вируса без распаковки файла практически невозможно. В данном случае типичной будет ситуация, при которой все антивирусные программы, неспособные сканировать внутри упакованных файлов, сообщат о том, что от вирусов очищены все диски, но через некоторое время вирус появится опять.
Штаммы вируса могут проникнуть и в backup-копии программного обеспечения при обновлении этих копий. Причем архивы и backup-копии являются основными поставщиками давно известных вирусов. Вирус может годами «сидеть» в дистрибутивной копии какого-либо программного продукта и неожиданно проявиться при установке программ на новом компьютере.
Никто не гарантирует полного уничтожения всех копий компьютерного вируса, так как файловый вирус может поразить не только выполняемые файлы, но и оверлейные модули с расширениями имени, отличающимися от COM или EXE. Загрузочный вирус может остаться на какой-либо дискете и внезапно проявиться при случайной попытке перезагрузиться с нее. Поэтому целесообразно некоторое время после удаления вируса постоянно пользоваться резидентным антивирусным сканером (не говоря уже о том, что желательно пользоваться им постоянно).
Способы противодействия компьютерным вирусам можно разделить на несколько групп: профилактика вирусного заражения и уменьшение предполагаемого ущерба от такого заражения; методика использования антивирусных программ, в том числе обезвреживание и удаление известного вируса; способы обнаружения и удаления неизвестного вируса.
Анализ алгоритма вируса
Антивирусные программы
Восстановление пораженных объектов
Обнаружение неизвестного вируса
Профилактика заражения компьютера
Как отмечалось, вирусы делятся на резидентные и нерезидентные. Встречавшиеся до сих пор резидентные вирусы отличались гораздо большим коварством и изощренностью, чем нерезидентные. Поэтому для начала рассмотрим простейший случай — поражение компьютера неизвестным нерезидентным вирусом. Такой вирус активизируется при запуске какой-либо зараженной программы, совершает все, что ему положено, передает управление программе-носителю и в дальнейшем (в отличие от резидентных вирусов) не будет мешать ее работе. Для обнаружения такого вируса необходимо сравнить длины файлов на винчестере и в дистрибутивных копиях (упоминание о важности хранения таких копий уже стало банальностью). Если это не поможет, то следует побайтно сравнить дистрибутивные копии с используемыми программами. В настоящее время разработано достаточно много утилит такого сравнения файлов, самая простейшая из них (утилита COMP) содержится в DOS.
Можно также просмотреть дамп выполняемых файлов. В некоторых случаях можно сразу обнаружить присутствие вируса по наличию в его коде текстовых строк. Многие вирусы, например, содержат строки: «.COM», «*.COM», «.EXE», «*.EXE», «*.*», «MZ», «COMMAND» и т.д. Эти строки часто встречаются в начале или в конце зараженных файлов.
Существует и еще один способ визуального определения зараженного вирусом DOS-файла. Он основан на том, что выполняемые файлы, исходный текст которых написан на языке высокого уровня, имеют вполне определенную структуру. В случае Borland или Microsoft C/C++ сегмент кода программы находится в начале файла, а сразу за ним — сегмент данных, причем в начале этого сегмента стоит строка-копирайт фирмы-изготовителя компилятора. Если в дампе такого файла за сегментом данных следует еще один участок кода, то вполне вероятно, что файл заражен вирусом.
То же справедливо и для большинства вирусов, заражающих файлы Windows и OS/2. В выполняемых файлах этих ОС стандартным является размещение сегментов в следующем порядке: сегмент(ы) кода, за которыми следуют сегменты данных.
Если за сегментом данных идет еще один сегмент кода, это также может служить сигналом о присутствии вируса.
Пользователям, знакомым с языком Ассемблер, можно попробовать разобраться в кодах подозрительных программ. Для быстрого просмотра лучше всего подходит HIEW (Hacker's View) или AVPUTIL. Для более подробного изучения потребуется дизассемблер — Sourcer или IDA.
Рекомендуется запустить одну из резидентных антивирусных программ-блокировщиков и следить за ее сообщениями о «подозрительных» действиях программ (запись в COM- или EXE-файлы, запись на диск по абсолютному адресу и т.п.). Существуют блокировщики, которые не только перехватывают такие действия, но и сообщают адрес, откуда поступил «подозрительный» вызов (к таким блокировщикам относится AVPTSR). Обнаружив подобное сообщение, следует выяснить, от какой программы оно пришло, и проанализировать ее коды при помощи резидентного дизассемблера (например, AVPUTIL.COM). При анализе кодов программ, резидентно находящихся в памяти, большую помощь часто оказывает трассирование прерываний 13h и 21h.
Следует отметить, что резидентные DOS-блокировщики часто оказываются бессильны, если работа ведется в DOS-окне под Windows95/NT, поскольку Windows95/NT позволяют вирусу работать «в обход» блокировщика (как, впрочем, и всех остальных резидентных программ). DOS-длокировщики также неспособны остановить распространение Windows-вирусов.
Рассмотренные выше методы обнаружения файловых и загрузочных вирусов подходят для большинства как резидентных, так и нерезидентных вирусов. Однако эти методы не срабатывают, если вирус выполнен по технологии «стелс», что делает бесполезным использование большинства резидентных блокировщиков, утилит сравнения файлов и чтения секторов.
Характерными проявлениями макро-вирусов являются:
Word: невозможность конвертирования зараженного документа Word в другой формат.
Word: зараженные файлы имеют формат Template (шаблон), поскольку при заражении Word-вирусы конвертируют файлы из формата Word Document в Template.
только Word 6: невозможность записи документа в другой каталог/на другой диск по команде «Save As».
Excel/Word: в STARTUP-каталоге присутствуют «чужие» файлы.
Excel версий 5 и 7: наличие в Книге (Book) лишних и скрытых Листов (Sheets).
Для проверки системы на предмет наличия вируса можно использовать пункт меню Tools/Macro. Если обнаружены «чужие макросы», то они могут принадлежать вирусу. Однако этот метод не работает в случае стелс-вирусов, которые запрещают работу этого пункта меню, что, в свою очередь, является достаточным основанием считать систему зараженной.
Многие вирусы имеют ошибки или некорректно работают в различных версиях Word/Excel, в результате чего Word/Excel выдают сообщения об ошибке, например:
WordBasic Err = номер ошибки
Если такое сообщение появляется при редактировании нового документа или таблицы и при этом заведомо не используются какие-либо пользовательские макросы, то это также может служить признаком заражения системы.
Сигналом о вирусе являются и изменения в файлах и системной конфигурации Word, Excel и Windows. Многие вирусы тем или иным образом меняют пункты меню Tools/Options — разрешают или запрещают функции «Prompt to Save Normal Template», «Allow Fast Save», «Virus Protection». Некоторые вирусы устанавливают на файлы пароль при их заражении. Большое количество вирусов создает новые секции и/или опции в файле конфигурации Windows (WIN.INI).
Естественно, что к проявлениям вируса относятся такие очевидные факты, как появление сообщений или диалогов с достаточно странным содержанием или на языке, не совпадающем с языком установленной версии Word/Excel.
В этом разделе рассматриваются ситуации, с которыми может столкнуться пользователь в том случае, если он подозревает, что его компьютер поражен вирусом, но ни одна из известных ему антивирусных программ не дала положительного результата. Где и как искать вирус? Какие при этом необходимы инструментальные средства, какими методами следует пользоваться и каким правилам следовать?
Самое первое правило — не паниковать. Ни к чему хорошему это не приведет. Вы — не первый и не последний, чей компьютер оказался зараженным, к тому же не каждый сбой компьютера является проявлением вируса. Поэтому почаще вспоминайте поговорку — «Не так страшен черт, как его малюют». К тому же поражение вирусом не самое плохое, что может случиться с компьютером.
Если нет уверенности в собственных силах — обратитесь к системному программисту, который поможет локализовать и удалить вирус (если это действительно вирус) или найти другую причину «странного» поведения компьютера.
Не следует звонить в антивирусные фирмы с вопросом: «Наверное, у меня в компьютере вирус. Что мне делать?». Помочь вам не смогут, поскольку для удаления вируса требуется несколько больше информации. Для того чтобы антивирусная фирма могла оказать реальную помощь, на ее адрес следует выслать образец вируса — зараженный файл в случае файлового вируса или зараженную дискету (или ее файл-образ) в случае загрузочного вируса. Каким образом обнаруживаются зараженные файлы/диски, будет рассказано ниже.
Не забывайте перед использованием антивирусных программ и утилит загрузить компьютер с резервной копии DOS, расположенной на заведомо чистой от вирусов и защищенной от записи дискете, и в дальнейшем использовать программы только с дискет. Это необходимо для того, чтобы застраховаться от резидентного вируса, так как он может блокировать работу программ или использовать их работу для инфицирования проверяемых файлов/дисков. Более того, существует большое количество вирусов, уничтожающих данные на диске, если они «подозревают», что их код может быть обнаружен. Конечно же, это требование никак не относится к макро-вирусам и к дискам, размеченным одним из новых форматов (NTFS, HPFS), — после загрузки DOS такой винчестер окажется недоступным для DOS-программ.
Если в компьютере обнаружены следы деятельности вируса, но видимых изменений в файлах и системных секторах дисков не наблюдается, то вполне возможно, что компьютер поражен одним из «стелс»-вирусов. В этом случае необходимо загрузить DOS с заведомо чистой от вирусов дискеты, содержащей резервную копию DOS, и действовать, как и при поражении нерезидентным вирусом. Однако иногда это нежелательно, а в ряде случаев невозможно (известны, например, случаи покупки новых компьютеров, зараженных вирусом). Тогда придется обнаружить и нейтрализовать резидентную часть вируса, выполненную по технологии «стелс». Возникает вопрос: где в памяти и как искать вирус или его резидентную часть? Существует несколько способов инфицирования памяти.
В загрузочных секторах дисков расположены, как правило, небольшие программы, назначение которых состоит в определении размеров и границ логических дисков (для MBR винчестера) или загрузке операционной системы (для boot-сектора).
В начале следует прочитать содержимое сектора, подозрительного на наличие вируса. Для этой цели удобно использовать DISKEDIT из «Нортоновских утилит» или AVPUTIL из профессионального комплекта AVP.
Некоторые загрузочные вирусы практически сразу можно обнаружить по наличию различных текстовых строк (например, вирус «Stoned» содержит строки: «Your PC is now Stoned!», «LEGALISE MARIJUANA!»). Некоторые вирусы, поражающие boot-секторы дисков, наоборот, определяются по отсутствию строк, которые обязательно должны присутствовать в boot-секторе. К таким строкам относятся имена системных файлов (например, строка «IO SYSMSDOS SYS») и строки сообщений об ошибках. Отсутствие или изменение строки-заголовка boot-сектора (строка, содержащая номер версии DOS или название фирмы-производителя программного обеспечения, например, «MSDOS5.0» или «MSWIN4.0») также может служить сигналом о заражении вирусом, если на компьютере не установлена Windows95/NT — эти системы по неизвестной мне причине записывают в заголовок загрузочных секторов дискет случайные строки текста.
Стандартный загрузчик MS-DOS, расположенный в MBR, занимает меньше половины сектора, и многие вирусы, поражающие MBR винчестера, довольно просто заметить по увеличению длины кода, расположенного в секторе MBR.
Однако существуют вирусы, которые внедряются в загрузчик без изменения его текстовых строк и с минимальными изменениями кода загрузчика. Для того чтобы обнаружить такой вирус, в большинстве случаев достаточно отформатировать дискету на заведомо незараженном компьютере, сохранить в виде файла ее boot-сектор, затем некоторое время использовать ее на зараженном компьютере (записать/прочитать несколько файлов), а после этого на незараженном компьютере сравнить ее boot-сектор с оригинальным. Если в коде загрузочного сектора произошли изменения — вирус пойман.
Существуют также вирусы, использующие более сложные приемы заражения, например, изменяющие при инфицировании MBR всего 3 байта Disk Partition Table, соответствующие адресу активного загрузочного сектора. Для идентификации такого вируса придется провести более детальное исследование кодов загрузочного сектора вплоть до полного анализа алгоритма работы его кода.
Приведенные рассуждения основываются на том, что стандартные загрузчики (программы, записываемые операционной системой в загрузочные сектора) реализуют стандартные алгоритмы загрузки операционной системы и оформляются в соответствии с ее стандартами. Если же диски отформатированы утилитами, не входящими в состав DOS (например, Disk Manager), то для обнаружения в них вируса следует проанализировать алгоритм работы и оформление загрузчиков, создаваемых такой утилитой.
Опасность представляют также компьютеры, установленные в учебных заведениях. Если один из студентов принес на своих дискетах вирус и заразил какой-либо учебный компьютер, то очередную «заразу» получат и дискеты всех остальных студентов, работающих на этом компьютере.
То же относится и к домашним компьютерам, если на них работает более одного человека. Нередки ситуации, когда сын-студент (или дочь), работая на многопользовательском компьютере в институте, перетаскивают оттуда вирус на домашний компьютер, в результате чего вирус попадает в компьютерную сеть фирмы папы или мамы.
Нелегальные копии программного обеспечения, как это было всегда, являются одной из основных «зон риска». Часто пиратские копии на дискетах и даже на CD-дисках содержат файлы, зараженные самыми разнообразными типами вирусов.
Старайтесь не запускать непроверенные файлы, в том числе полученные из компьютерной сети. Желательно использовать только программы, полученные из надежных источников. Перед запуском новых программ обязательно проверьте их одним или несколькими антивирусами.
Если даже ни один антивирус не среагировал на файл, который был снят с BBS или электронной конференции — не торопитесь его запускать. Подождите неделю, если этот файл вдруг окажется заражен новым неизвестным вирусом, то скорее всего кто-либо «наступит на грабли» раньше вас и своевременно сообщит об этом.
Желательно также, чтобы при работе с новым программным обеспечением в памяти резидентно находился какой-либо антивирусный монитор. Если запускаемая программа заражена вирусом, то такой монитор поможет обнаружить вирус и остановить его распространение.
Все это приводи к необходимости ограничения круга лиц, допущенных к работе на конкретном компьютере. Как правило, наиболее часто подвержены заражению «многопользовательские» персональные компьютеры.
Крайне осторожно относитесь к программам и документам Word/Excel, которые получаете из глобальных сетей. Перед тем, как запустить файл на выполнение или открыть документ/таблицу, обязательно проверьте их на наличие вирусов.
Используйте специализированные антивирусы — для проверки «на-лету» всех файлов, приходящих по электронной почте (и по Internet в целом). К сожалению, на сегодняшний день мне неизвестны антивирусы, которые достаточно надежно ловят вирусы в приходящих из Internet файлах, но не исключено, что такие антивирусы появятся в ближайшем будущем.
Пользуйтесь утилитами проверки целостности информации. Такие утилиты сохраняют в специальных базах данных информацию о системных областях дисков (или целиком системные области) и информацию о файлах (контрольные суммы, размеры, атрибуты, даты последней модификации файлов и т.д.). Периодически сравнивайте информацию, хранящуюся в подобной базе данных, с реальным содержимым винчестера, так как практически любое несоответствие может служить сигналом о появлении вируса или «троянской» программы.
Периодически сохраняйте на внешнем носителе файлы, с которыми ведется работа. Такие резервные копии носят название backup-копий. Затраты на копирование файлов, содержащих исходные тексты программ, базы данных, документацию, значительно меньше затрат на восстановление этих файлов при проявлении вирусом агрессивных свойств или при сбое компьютера.
При наличии стримера или какого-либо другого внешнего носителя большого объема имеет смысл делать backup всего содержимого винчестера. Но поскольку времени на создание подобной копии требуется значительно больше, чем на сохранение только рабочих файлов, имеет смысл делать такие копии реже.
Лучше покупать дистрибутивные копии программного обеспечения у официальных продавцов, чем бесплатно или почти бесплатно копировать их из других источников или покупать пиратские копии. При этом значительно снижается вероятность заражения, хотя известны случаи покупки инфицированных дистрибутивов.
Как следствие из этого правила вытекает необходимость хранения дистрибутивных копий программного обеспечения (в том числе копий операционной системы), причем копии желательно хранить на защищенных от записи дискетах.
Пользуйтесь только хорошо зарекомендовавшими себя источниками программ и прочих файлов, хотя это не всегда спасает (например, на WWW-сервере Microsoft довольно долгое время находился документ, зараженный макро-вирусом «Wazzu»). По-видимому, единственными надежными с точки зрения защиты от вирусов являются BBS/ftp/WWW антивирусных фирм-разработчиков.
Для уменьшения риска заразить файл на сервере администраторам сетей следует активно использовать стандартные возможности защиты сети: ограничение прав пользователей; установку атрибутов «только на чтение» или даже «только на запуск» для всех выполняемых файлов (к сожалению, это не всегда оказывается возможным) и т.д.
Используйте специализированные антивирусы, проверяющие «на лету» файлы, к которым идет обращение. Если это по какой-либо причине невозможно, регулярно проверяйте сервер обычными антивирусными программами.
Значительно уменьшается риск заражения компьютерной сети при использовании бездисковых рабочих станций.
Желательно также перед тем, как запустить новое программное обеспечение, попробовать его на тестовом компьютере, не подключенном к общей сети.
Поскольку проблема макро-вирусов в последнее время перекрывает все остальные проблемы, связанные с прочими вирусами, на ней следует остановиться подробнее.
Существует несколько приемов и встроенных в Word/Excel функций, направленных на предотвращение запуска вируса. Наиболее действенной из них является защита от вирусов, встроенная в Word и Excel (начиная с версий 7.0a). Эта защита при открытии файла, содержащего любой макрос, сообщает о его присутствии и предлагает запретить этот макрос. В результате макрос не только не выполняется, но и не виден средствами Word/Excel.
Такая защита является достаточно надежной, однако абсолютно бесполезна, если пользователь работает с макросами (любыми): она не отличает макросы вируса от не-вируса и выводит предупреждающее сообщение при открытии практически любого файла. По этой причине защита в большинстве случаев оказывается отключенной, что дает возможность вирусу проникнуть в систему. К тому же включение защиты от вирусов в уже зараженной системе не во всех случаях помогает — некоторые вирусы, однажды получив управление, при каждом запуске отключают защиту от вирусов и таким образом полностью блокируют ее.
Существуют другие методы противодействия вирусам, например функция DisableAutoMacros, однако она не запрещает выполнение прочих макросов и блокирует только те вирусы, которые для своего распространения используют один из авто-макросов.
Запуск Word с опцией /M (или с нажатой клавишей Shift) отключает только один макрос AutoExec и таким образом также не может служить надежной защитой от вируса.
Если нет нужды каждый день грузить систему с дискеты, поставьте в BIOS Setup порядок загрузки «сначала - С:, потом - A:». Это надежно защитит компьютер от загрузочных вирусов.
Не обольщайтесь встроенной в BIOS защитой от вирусов, многие вирусы «обходят» ее при помощи различных приемов.
То же верно для систем антивирусной защиты, встроенных в Word и Office97. Они также могут быть отключены вирусом (или самим пользователем, поскольку эти системы могут сильно мешать в работе).
Одним из основных методов борьбы с вирусами является, как и в медицине, своевременная профилактика. Компьютерная профилактика предполагает соблюдение небольшого числа правил, которое позволяет значительно снизить вероятность заражения вирусом и потери каких-либо данных.
Для того чтобы определить основные правила компьютерной гигиены, необходимо выяснить основные пути проникновения вируса в компьютер и компьютерные сети.
Достаточно редко, но до сих пор вполне реально заражение компьютера вирусом при его ремонте или профилактическом осмотре. Ремонтники — тоже люди, и некоторым из них свойственно наплевательское отношение к элементарным правилам компьютерной безопасности. Однажды забыв закрыть защиту от записи на одном из своих флоппи-дисков, такой «маэстро» довольно быстро разнесет заразу по машинам своей клиентуры и скорее всего потеряет ее (клиентуру).
Принцип работы антивирусных сканеров основан на проверке файлов, секторов и системной памяти и поиске в них известных и новых (неизвестных сканеру) вирусов. Для поиска известных вирусов используются так называемые «маски». Маской вируса является некоторая постоянная последовательность кода, специфичная для этого конкретного вируса. Если вирус не содержит постоянной маски, или длина этой маски недостаточно велика, то используются другие методы. Примером такого метода являетcя алгоритмический язык, описывающий все возможные варианты кода, которые могут встретиться при заражении подобного типа вирусом. Такой подход используется некоторыми антивирусами для детектирования полиморфик-вирусов.
Во многих сканерах используются также алгоритмы «эвристического сканирования», т.е. анализ последовательности команд в проверяемом объекте, набор некоторой статистики и принятие решения («возможно заражен» или «не заражен») для каждого проверяемого объекта. Поскольку эвристическое сканирование является во многом вероятностным методом поиска вирусов, то на него распространяются многие законы теории вероятностей. Например, чем выше процент обнаруживаемых вирусов, тем больше количество ложных срабатываний.
Сканеры также можно разделить на две категории — «универсальные» и «специализированные». Универсальные сканеры рассчитаны на поисх и обезвреживание всех типов вирусов вне зависимости от операционной системы, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, например макро-вирусов. Специализированные сканеры, рассчитанные только на макро-вирусы, часто оказываются наиболее удобным и надежным решением для защиты систем документооборота в средах MS Word и MS Excel.
Сканеры также делятся на «резидентные» (мониторы), производящие сканирование «на-лету», и «нерезидентные», обеспечивающие проверку системы только по запросу. Как правило, «резидентные» сканеры обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как «нерезидентный» сканер способен опознать вирус только во время своего очередного запуска.
К достоинствам сканеров всех типов относится их универсальность, к недостаткам — размеры антивирусных баз, которые сканерам приходится «таскать за собой», и относительно небольшую скорость поиска вирусов.
Самыми популярными и эффективными антивирусными программами являются антивирусные сканеры (другие названия: фаги, полифаги). Следом за ними по эффективности и популярности следуют CRC-сканеры (также: ревизор, checksumer, integrity checker). Часто оба приведенных метода объединяются в одну универсальную антивирусную программу, что значительно повышает ее мощность. Применяются также различного типа блокировщики и иммунизаторы.
В подавляющем большинстве случаев восстановление зараженных файлов является достаточно сложной процедурой, которую невозможно произвести «руками» без необходимых знаний — форматов выполняемых файлов, языка ассемблера и т.д. К тому же обычно зараженными на диске оказываются сразу несколько десятков или сотен файлов и для их обезвреживания необходимо разработать собственную программу-антивирус (можно также воспользоваться возможностями редактора антивирусных баз из комплекта AVP версий 2.x).
При лечении файлов следует учитывать следующие правила:
необходимо протестировать и вылечить все выполняемые файлы (COM, EXE, SYS, оверлеи) во всех каталогах всех дисков вне зависимости от атрибутов файлов (т.е. файлы read-only, системные и скрытые);
желательно сохранить неизменными атрибуты и дату последней модификации файла;
необходимо учесть возможность многократного поражения файла вирусом («бутерброд» из вирусов).
Само лечение файла производится в большинстве случаев одним из нескольких стандартных способов, зависящих от алгоритма размножения вируса. В большинстве случаев это сводится к восстановлению заголовка файла и уменьшению его длины.
Для обезвреживания Word и Excel достаточно сохранить всю необходимую информацию в формате не-документов и не-таблиц — наиболее подходящим является текстовый RTF-формат, содержащий практически всю информацию из первоначальных документов и не содержащий макросов. Затем следует выйти из Word/Excel, уничтожить все зараженные Word-документы, Excel-таблицы, NORMAL.DOT у Word и все документы/таблицы в StartUp-каталогах Word/Excel. После этого следует запустить Word/Excel и восстановить документы/таблицы из RTF-файлов.
В результате этой процедуры вирус будет удален из системы, а практически вся информация останется без изменений. Однако этот метод имеет ряд недостатков. Основной из них — трудоемкость конвертирования документов и таблиц в RTF-формат, если их число велико. К тому же в случае Excel необходимо отдельно конвертировать все Листы (Sheets) в каждом Excel-файле. Второй недостаток — потеря невирусных макросов, используемых при работе. Поэтому перед запуском описанной процедуры следует сохранить их исходный текст, а после обезвреживания вируса — восстановить необходимые макросы в первоначальном виде.
В большинстве случаев заражения вирусом процедура восстановления зараженных файлов и дисков сводится к запуску подходящего антивируса, способного обезвредить систему. Если же вирус неизвестен ни одному антивирусу, то достаточно отослать зараженный файл фирмам-производителям антивирусов и через некоторое время (обычно — несколько дней или недель) получить лекарство-«апдейт» против вируса. Если же время не ждет, то обезвреживание вируса придется произвести самостоятельно.
Восстановление секторов в большинстве случаев является довольно простой операцией и проделывается при помощи DOS'овской команды SYS (загрузочные сектора дискет и логических дисков винчестера) или командой FDISK/MBR (Master Boot Record винчестера). Можно, конечно же, воспользоваться утилитой FORMAT, однако практически во всех случаях команды SYS вполне достаточно.
Следует иметь в виду, что лечение секторов необходимо производить только при условии отсутствия вируса в оперативной памяти. Если копия вируса в памяти не обезврежена, то вполне вероятно, что вирус повторно заразит дискету или винчестер после того, как код вируса будет удален (даже если воспользоваться утилитой FORMAT).
Будьте также крайне осторожны при использовании FDISK/MBR. Эта команда заново переписывает код программы-загрузчика системы и не изменяет таблицу разбиения диска (Disk Partition Table). FDISK/MBR является 100% лекарством для большинства загрузочных вирусов, однако, если вирус шифрует Disk Partition Table или использует нестандартные способы заражения, FDISK/MBR может привести к полной потере информации на диске. Поэтому перед запуском FDISK/MBR убедитесь в корректности Disk Partition Table. Для этого требуется загрузиться с незараженной DOS-дискеты и проверить корректность этой таблицы (наиболее удобная программа для этой цели — Norton Disk Editor).
Если же восстановление секторов при помощи SYS/FDISK невозможно, то следует разобраться в алгоритме работы вируса, обнаружить на диске первоначальный boot/MBR-сектор и перенести его на законное место (для этого подходят Norton Disk Editor или AVPUTIL). При этом надо постоянно иметь в виду, что при перезаписи системных загрузчиков необходимо соблюдать особую осторожность, поскольку результатом неправильного исправления сектора MBR или boot-сектора может быть потеря всей информации на диске (дисках).
Обнаружение резидентного Windows-вируса является крайне сложной задачей. Вирус, находясь в среде Windows как приложение или VxD-двайвер, практически невидим, поскольку одновременно активны несколько десятков приложений и VxD, и вирус по внешним признакам от них ничем не отличается. Для того, чтобы обнаружить программу-вирус в списках активных приложений и VxD, необходимо досконально разбираться во «внутренностях» Windows и иметь полное представление о драйверах и приложениях, установленных на данном компьютере.
Поэтому единственный приемлемый способ поймать резидентный Windows-вирус - загрузить DOS и проверить запускаемые файлы Windows методами, описанными выше.