- •Понятие компьютерного вируса
- •История Компьютерных вирусов
- •Формальное определение
- •Классификация
- •Распространение через интернет, локальные сети и съемные носители.
- •Противодействие обнаружению
- •Вредоносное программное обеспечение
- •Лжеантивирусы
- •Основные методы защиты от вирусов
- •Классификация антивирусных продуктов
- •Работа антивируса
- •Базы антивирусов
- •Межсетевой экран
Формальное определение
Нет общепринятого определения вируса. В академической среде термин был употреблён Фредом Коэном в его работе «Эксперименты с компьютерными вирусами», где он сам приписывает авторство термина Лену Эдлмэну.
Формально вирус определён Фредом Коэном со ссылкой на машину Тьюринга следующим образом:
M : (SM, IM, OM : SM x IM > IM, NM : SM x IM > SM, DM : SM x IM > d)
с заданным множеством состояний SM, множеством входных символов IM и отображений (OM, NM, DM), которая на основе своего текущего состояния s ∈ SM и входного символа i ∈ IM, считанного с полубесконечной ленты, определяет: выходной символ o ∈ IM для записи на ленту, следующее состояние машины s' ∈ SM и движения по ленте d ∈ {-1,0,1}.
Для данной машины M, последовательность символов v : vi ∈ IM может быть сочтена вирусом тогда и только тогда, когда обработка последовательности v в момент времени t, влечёт за собой то, что в один из следующих моментов времени t, последовательность v′ (не пересекающаяся с v) существует на ленте, и эта последовательность v′ была записана M в точке t′, лежащей между t и t″:
где:
t ∈ N число базовых операций «перемещения», осуществлённых машиной
PM ∈ N номер позиции на ленте машины в момент времени t
SM0 начальное состояние машины
CM(t, c) содержимое ячейки c в момент времени t
Данное определение было дано в контексте вирусного множества VS = (M, V) — пары, состоящей из машины Тьюринга M и множества последовательностей символов V: v, v' ∈ V. Из данного определения следует, что понятие вируса неразрывно связано с его интерпретацией в заданном контексте, или окружении.
Фредом Коэном было показано, что «любая самовоспроизводящаяся последовательность символов: одноэлементный VS, согласно которой существует бесконечное количество VS, и не-VS, для которых существуют машины, по отношению к которым все последовательности символов является вирусом, и машин, для которых ни одна из последовательностей символов не является вирусом, даёт возможность понять, когда любая конечная последовательность символов является вирусом для какой-либо машины». Он также приводит доказательство того, что в общем виде вопрос о том, является ли данная пара (M, X) : Xi ∈ IM вирусом, неразрешим (то есть не существует алгоритма, который мог бы достоверно определить все вирусы), теми же средствами, которыми доказывается неразрешимость проблемы остановки.
Другие исследователи доказали, что существуют такие типы вирусов (вирусы, содержащие копию программы, улавливающей вирусы), которые не могут быть безошибочно определены ни одним алгоритмом.
Классификация
Нынче существует немало разновидностей вирусов, различающихся по основному способу распространения и функциональности. Если изначально вирусы распространялись на дискетах и других носителях, то сейчас доминируют вирусы, распространяющиеся через Интернет. Растёт и функциональность вирусов, которую они перенимают от других видов программ.
В настоящее время не существует единой системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы:
по поражаемым объектам (файловые вирусы, загрузочные вирусы, сценарные вирусы, макровирусы, вирусы, поражающие исходный код);
файловые вирусы делят по механизму заражения: паразитирующие добавляют себя в исполняемый файл, перезаписывающие невосстановимо портят заражённый файл, «спутники» идут отдельным файлом.
по поражаемым операционным системам и платформам (DOS, Microsoft Windows, Unix, Linux);
по технологиям, используемым вирусом (полиморфные вирусы, стелс-вирусы, руткиты);
по языку, на котором написан вирус (ассемблер, высокоуровневый язык программирования, сценарный язык и др.);
по дополнительной вредоносной функциональности (бэкдоры, кейлоггеры, шпионы, ботнеты и др.).
