Вирус представляет собой самовоспроизводящуюся программу, которая способна внедрять свои копии в файлы, системные области, вычислительные сети и т. д., и приводить к нарушению нормального функционирования компьютера. Копии вирусной программы также сохраняют способность дальнейшего распространения.
Вирусы принято классифицировать по следующим признакам:
По среде обитания вирусы разделяют на файловые, загрузочные и сетевые.
Файловые вирусы внедряются в файлы, чаще всего выполняемые или файлы документов текстовых процессоров и рабочих книг табличных процессоров.
Загрузочные вирусы внедряются в загрузочный сектор диска или в сектор системного загрузчика жесткого диска.
Сетевые вирусы распространяются по компьютерной сети.
Существуют также файлово-загрузочные вирусы, которые заражают файлы и загрузочные сектора.
Способ заражения среды обитания зависит от самой среды. В частности, тело файлового вируса может при заражении размещаться в конце, начале, середине или хвостовой (свободной) части последнего кластера файла. Наиболее просто реализуется внедрение вируса в конец файла типа СОМ.
Наиболее сложна имплантация вируса в середину файла, поскольку для этого должна быть известна структура заражаемого файла, чтобы можно было внедриться, к примеру, в область стека. При внедрении загрузочного вируса (ввиду малых размеров среды обитания) используется размещение головы тела вместо загрузочного сектора диска или сектора системного загрузчика, а хвост вируса и следующий за ним загрузочный сектор размещаются в других кластерах или секторах.
По способу активации вирусы подразделяют на резидентные и нерезидентные.
Резидентный вирус при заражении оставляет в оперативной памяти резидентную часть, которая затем перехватывает обращения операционной системы к объектам заражения — файлам, загрузочным секторам и т. п., и внедряется в них. Резидентные вирусы сохраняют свою активность вплоть до выключения или перезагрузки компьютера.
Нерезидентные вирусы являются активными ограниченное время и активизируются в определенные моменты, например при запуске зараженных выполнимых программ или при обработке документов текстовым процессором. Некоторые нерезидентные вирусы оставляют в оперативной памяти небольшие резидентные программы.
По деструктивным возможностям вирусы разделяют на безвредные, неопасные, опасные и очень опасные.
Безвредные вирусы проявляются только в том, что уменьшают объем памяти на диске в результате своего распространения.
Неопасные вирусы, кроме отмеченного проявления, порождают графические, звуковые и другие эффекты.
Опасные вирусы могут привести к нарушениям нормальной работы компьютера, например, к зависанию или к неправильной печати документа.
Очень опасные вирусы могут привести к уничтожению программ и данных, стиранию информации в системных областях памяти и даже приводить к выходу из строя движущихся частей жесткого диска при вводе в резонанс.
По особенностям алгоритмов различают следующие вирусы: спутники, черви или репликаторы, паразитические, студенческие, невидимки или стелс-вирусы, призраки или мутанты.
Вирусы-спутники файлы не изменяют, а для выполнимых программ (ЕХЕ) создают одноименные программы типа СОМ, которые при выполнении исходной программы запускаются первыми, а затем передают управление исходной выполнимой программе.
Вирусы-черви распространяются в компьютерных сетях, вычисляют адреса сетевых компьютеров и создают там свои копии.
Паразитические вирусы при распространении меняют содержимое дисковых секторов и файлов и, как следствие, легко обнаруживаются.
Студенческие вирусы представляют собой простейшие вирусы — легко обнаруживаемые вирусы.
Стелс-вирусы (название происходит от STEALTH — название проекта создания самолетов-невидимок) перехватывают обращение операционной системы к пораженным файлам и секторам дисков и подставляют незараженные участки диска, затрудняя тем самым их обнаружение.
Вирусы-призраки представляют собой трудно обнаруживаемые вирусы, которые имеют зашифрованное с помощью алгоритмов шифровки-расшифровки тело вируса, благодаря чему две копии одного вируса не имеют одинаковых участков кода (сигнатур).