В настоящее время не существует единой системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы по поражаемым объектам (файловые вирусы, загрузочные вирусы, скриптовые вирусы, сетевые черви), по поражаемым операционным системам и платформам (DOS, Microsoft Windows, Unix, GNU/Linux, Java и другие), по технологиям, используемым вирусом (полиморфные вирусы, стелс-вирусы), по языку, на котором написан вирус (ассемблер, высокоуровневый язык программирования, скриптовый язык и др.).
По способу заражения файловые вирусы (вирусы, внедряющие свой код в исполняемые файлы: командные файлы, программы, драйверы, исходный код программ и др.) разделяют на перезаписывающие, паразитические, вирусы-звенья, вирусы-черви, компаньон-вирусы, а также вирусы, поражающие исходные тексты программ и компоненты программного обеспечения (VCL, LIB и др.).
• Перезаписывающие вирусы — вирусы данного типа записывают своё тело вместо кода программы, не изменяя названия исполняемого файла, вследствие чего исходная программа перестаёт запускаться. При запуске программы выполняется код вируса, а не сама программа.
• Вирусы-компаньоны — как и перезаписывающие вирусы, создают свою копию на месте заражаемой программы, но в отличие от перезаписывающих не уничтожают оригинальный файл, а переименовывают или перемещают его. При запуске программы вначале выполняется код вируса, а затем управление передаётся оригинальной программе.
Возможно существование и других типов вирусов-компаньонов, использующих иные оригинальные идеи или особенности других операционных систем. Например, РАТН-компаньоны, которые размещают свои копии в основном каталоге Windows, используя тот факт, что этот каталог является первым в списке PATH и файлы для запуска Windows в первую очередь будет искать именно в нём. Данным способом самозапуска пользуются также многие компьютерные черви и троянские программы.
• Файловые черви — создают собственные копии с привлекательными для пользователя названиями (например, Game, exe, installexe и др.) в надежде на то, что пользователь их запустит.
• Вирусы-звенья — как и компаньон-вирусы, не изменяют код программы, а заставляют операционную систему выполнить собственный код, изменяя адрес местоположения на диске заражённой программы на собственный адрес. После выполнения кода вируса управление обычно передаётся вызываемой пользователем программе.
• Паразитические вирусы — это файловые вирусы, изменяющие содержимое файла, добавляя в него свой код. При этом заражённая программа сохраняет полную или частичную работоспособность. Код может внедряться в начало, середину или конец программы. Код вируса выполняется перед, после или вместе с программой, в зависимости от места внедрения вируса в программу.
• Вирусы, поражающие исходный код программ — вирусы данного типа поражают исходный код программы или её компоненты (OBJ-, LIB-, DCU-файлы), а также VCL- и ActiveX-компоненты. После компиляции программы оказываются встроенными в неё. В настоящее время широкого распространения не получили.
|