По особенностям алгоритма вирусы трудно классифицировать из-за большого разнообразия.
w Простейшие вирусы – «паразитические», они изменяют содержимое файлов и секторов диска и могут быть достаточно легко обнаружены и уничтожены.
w Вирусы-репликаторы, называемые червями, которые распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои копии.
w Вирусы-невидимки, называемые «стелс»-вирусами, которые очень трудно обнаружить и обезвредить, так как они перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего тела незараженные участки диска.
w Вирусы-«спутники», вирусы, не изменяющие файлы, создают для EXE-файлов файлы спутники с расширением COM
w Наиболее трудно обнаружить вирусы-мутанты или призраки (полиморфные вирусы), содержащие алгоритмы шифровки-расшифровки, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов.(нет постоянной сигнатуры), основное тело вируса зашифровано
w Имеются и так называемые квазивирусные или «троянские» программы, которые хотя и не способны к самораспространению, но очень опасны, так как, маскируясь под полезную программу, разрушают загрузочный сектор и файловую систему дисков.
w Макровирусы пишутся не в машинных кодах, а на WordBasic, живут в документах Word, переписывают себя в Normal.dot
Файловые вирусы
В отличие от загрузочных вирусов, которые практически всегда резидентны, файловые вирусы не обязательно резидентны. Областью обитания файловых вирусов являются файлы.
Если файловый вирус не резидентный, то при запуске инфицированного исполняемого файла вирус записывает свой код в тело программного файла таким образом, что при запуске программы вирус первым получает управление. Произведя некоторые действия, вирус передает управление зараженной программе. При запуске вирус сканирует локальные диски компьютера и сетевые каталоги в поисках нового объекта для заражения. После того как подходящий программный файл будет найден, вирус записывает в него свой код, чтобы получить управление при запуске этого файла.
Если файловый вирус резидентный, то он установится в память и получит возможность заражать файлы и проявлять прочие способности не только во время работы зараженного файла.
Относительно новой разновидностью файлового вируса является макрокомандный вирус, распространяющийся с документами офисных приложений, таких как Microsoft Word for Windows или Microsoft Excel for Windows.
Документы офисных приложений содержат в себе не только текст и графические изображения, но и макрокоманды, которые представляют собой ничто иное, как программы. Эти программы составляются на языке, напоминающем Бейсик. Вирус может изменять существующие макрокоманды и добавлять новые, внедряя свое тело в файл документа.
Механизм распространения макрокомандных вирусов основан на том, что существуют макрокоманды, которые запускаются при открывании документа для редактирования или при выполнении других операций. Разработчик макрокомандного вируса берет файл с именем, например, readme.doc, и записывает в него одну или несколько вирусных макрокоманд, например, вирусную макрокоманду с именем AutoExec. Когда пользователь открывает такой файл при помощи текстового процессора Microsoft Word for Windows, эта макрокоманда будет автоматически запущена на выполнение. При этом вирус получит управление и может заразить другие документы, хранящиеся на дисках. Если вирусная макрокоманда имеет имя FileSaveAs, то распространение вируса будет происходить при сохранении документа.
Для предотвращения заражения макрокомандными вирусами необходимо перед просмотром или редактированием проверять новые файлы документов с помощью антивирусных программ, способных искать такие вирусы.
Загрузочные вирусы
Вторая большая группа вирусов - это так называемые загрузочные вирусы. Распространение и активизация этих вирусов происходит в момент загрузки операционной системы, еще до того, как пользователь успел запустить какую-либо антивирусную программу.
Сразу после включения электропитания компьютера начинает работать программа инициализации, записанная в ПЗУ базовой системы ввода/вывода BIOS. Эта программа проверяет оперативную память и другие устройства компьютера, а затем передает управление программе начальной загрузки, которая также находится в BIOS.
Программа начальной загрузки пытается прочитать в оперативную память содержимое самого первого сектора нулевой дорожки жесткого диска, в котором находится главная загрузочная запись Master Boot Record (MBR), либо содержимое самого первого сектора нулевой дорожки дискеты, вставленной в устройство A:. Этот сектор содержит загрузочную запись Boot Record (BR).
Существует две возможности загрузить операционную систему - с жесткого диска или с дискеты.
При загрузке с жесткого диска в память по фиксированному адресу читается содержимое главной загрузочной записи. Эта запись представляет собой программу, задачей которой является загрузка операционной системы с логического диска.
Загрузчик, расположенный в главной загрузочной записи MBR просматривает таблицу разделов диска Partition Table, которая находится в том же секторе диска, что и сама запись MBR. После того как в этой таблице будет найден раздел, отмеченный как активный, выполняется чтение самого первого сектора этого раздела в оперативную память, - сектора загрузочной записи BR. В этом секторе находится еще один загрузчик.
Задачей загрузчика BR является считывание в оперативную память стартовых модулей операционной системы и передача им управления. Способ загрузки зависит от операционной системы, поэтому каждая операционная система имеет свой собственный загрузчик BR.
Загрузка с дискеты происходит проще, так как формат дискеты в точности соответствует формату логического диска. Самый первый сектор нулевой дорожки дискеты содержит загрузочную запись BR, которая читается в память. После чтения ей передается управление.
Дискеты могут быть системными и несистемными.
Системную дискету MS-DOS можно подготовить при помощи команды format, указав ей параметр /s, либо при помощи команды sys.
И в том, и в другом случае в первый сектор нулевой дорожки дискеты записывается программа начальной загрузки MS-DOS.
Если же дискета была отформатирована командой format без параметра /s, она будет несистемной. Тем не менее, в первый сектор нулевой дорожки дискеты все равно записывается программа, единственным назначением которой является вывод сообщения о необходимости вставить в НГМД системную дискету.
Данное обстоятельство - присутствие загрузочной записи на несистемной дискете - играет важную роль при распространении загрузочных вирусов.
Загрузка операционной системы является многоступенчатым процессом, ход которого зависит от разных обстоятельств. В этом процессе задействовано три программы, которые служат объектом нападения загрузочных вирусов:
· главная загрузочная запись;
· загрузочная запись на логическом диске;
· загрузочная запись на дискете
Вирусы могут заменять некоторые или все перечисленные выше объекты, встраивая в них свое тело и сохраняя содержимое оригинального загрузочного сектора в каком-либо более или менее подходящем для этого месте на диске компьютера. В результате при включении компьютера программа загрузки, расположенная в BIOS, загружает в память вирусный код и передает ему управление. Дальнейшая загрузка операционной системы происходит под контролем вируса, что затрудняет, а в некоторых случаях и исключает его обнаружение антивирусными программами.