Антивирусная программа (антивирус) — любая программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ вообще и восстановления зараженных (модифицированных) такими программами файлов, а также для профилактики — предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом.
На данный момент антивирусное программное обеспечение разрабатывается в основном для ОС семейства Windows от компании Microsoft, что вызвано большим количеством вредоносных программ именно под эту платформу (а это, в свою очередь, вызвано большой популярностью этой ОС, также как и большим количеством средств разработки, в том числе бесплатных и даже «инструкций по написанию вирусов»). В настоящий момент на рынок выходят продукты и под другие платформы настольных компьютеров, такие как Linux и Mac OS X. Это вызвано началом распространения вредоносных программ и под эти платформы, хотя UNIX-подобные системы всегда славились своей надежностью. Например, известное видео «Mac or PC» шуточно показывает преимущество Mac OS над Windows и большим антивирусным иммунитетом Mac OS по сравнению с Windows.
Классифицировать антивирусные продукты можно сразу по нескольким признакам, таким как: используемые технологии антивирусной защиты, функционал продуктов, целевые платформы. По используемым технологиям антивирусной защиты: Классические антивирусные продукты (продукты, применяющие только сигнатурный метод детектирования) Продукты проактивной антивирусной защиты (продукты, применяющие только проактивные технологии антивирусной защиты); Комбинированные продукты (продукты, применяющие как классические, сигнатурные методы защиты, так и проактивные) По функционалу продуктов: Антивирусные продукты (продукты, обеспечивающие только антивирусную защиту) Комбинированные продукты (продукты, обеспечивающие не только защиту от вредоносных программ, но и фильтрацию спама, шифрование и резервное копирование данных и другие функции) По целевым платформам: Антивирусные продукты для ОС семейства Windows Антивирусные продукты для ОС семейства *NIX (к данному семейству относятся ОС BSD, Linux, Mac OS X и др.) Антивирусные продукты для мобильных платформ (Windows Mobile, Symbian, iOS, BlackBerry, Android, Windows Phone 7 и др.) Антивирусные продукты для корпоративных пользователей можно также классифицировать по объектам защиты: Антивирусные продукты для защиты рабочих станций Антивирусные продукты для защиты файловых и терминальных серверов Антивирусные продукты для защиты почтовых и Интернет-шлюзов Антивирусные продукты для защиты серверов виртуализации и др.
Говоря о системах Майкрософт, обычно антивирус действует по схеме: - поиск, в базе данных антивирусного ПО, сигнатур вирусов - если найден инфицированный код в памяти (оперативной и/или постоянной), запускается процесс карантина и процесс блокируется - зарегистрированная программа обычно удаляет вирус, незарегистрированная просит регистрации, и оставляет систему уязвимой.
Для использования антивирусов необходимы постоянные обновления так называемых баз антивирусов. Они представляют собой информацию о вирусах - как их найти и обезвредить. Поскольку вирусы пишут часто, то необходим постоянный мониторинг активности вирусов в сети. Для этого существуют специальные сети, которые собирают соответствующую информацию. После сбора этой информации производится анализ вредоносности вируса, анализируется его код, поведение, и после этого устанавливаются способы борьбы с ним. Чаще всего вирусы запускаются вместе с операционной системой. В таком случае можно просто удалить строки запуска вируса из реестра, и на этом в простом случае процесс может закончиться. Более сложные вирусы используют возможность заражения файлов. Например, известны случаи, как некие даже антивирусные программы, будучи зараженными, сами становились причиной заражения других чистых программ и файлов. Поэтому более современные антивирусы имеют возможность защиты своих файлов от изменения и проверяют их на целостность по специальному алгоритму. Таким образом, вирусы усложнились, как и усложнились способы борьбы с ними. Сейчас можно увидеть вирусы, которые занимают уже не десятки килобайт, а сотни, а порой могут быть и размером в пару мегабайт. Обычно такие вирусы пишут в языках программирования более высокого уровня, поэтому их легче остановить. Но по прежнему существует угроза от вирусов, написанных на низкоуровневых машинных кодах наподобие ассемблера. Сложные вирусы заражают операционную систему, после чего она становится уязвимой и нерабочей.