Как работают антивирусы?

Антивирус представляет собой компьютерную программу, которая применяется для сканирования файлов с целью выявления и устранения потенциальных угроз, среди которых компьютерные вирусы и другие формы вредоносных программ.

Антивирусы, как правило, используют два метода для достижения этой цели:

  • Исследование файлов на предмет известных вирусов, согласно вирусной базе
  • Идентификация подозрительного поведения любой компьютерной программы, способного указать на заражение

Большинство коммерческих антивирусов используют оба подхода, но большее внимание уделяется вирусным базам.

Метод вирусных баз

Метод вирусных баз подразумевает анализ антивирусом файла и сравнение данных с его вирусными базами, куда занесены все известные разработчиком антивируса вредоносные программы. Если кусок кода в файле соответствует любому идентификатору вируса в базе, антивирусная программа может либо удалить файл, либо переместить его в карантин, что сделает его недоступным для других программ и предотвратит его распространение. Антивирус может также попробовать восстановить файл, вырезав из него вирус.

Чтобы оставаться эффективным в среднесрочной и долгосрочной перспективе, метод вирусных баз требует периодической загрузки обновленных записей из сети. По мере развития новых вирусов, которые идентифицируются, как «дикие», обычные и технически подкованные пользователи могут отправлять зараженные файлы разработчикам антивирусного ПО, которые затем включают информацию о новых вирусах в базы своих продуктов.

По методу вирусных баз антивирусы, как правило, проверяют файлы, когда к ним обращается операционная система компьютера, открывает и закрывает их, а также когда файлы получаются по электронной почте или из браузера. Таким образом, известный вирус может быть опознан сразу после получения. Антивирусы также поддерживают запланированное сканирование всех файлов на жестком диске компьютера, которое должно  выполняться на регулярной основе.

И хотя метод вирусных баз считается эффективным, авторы вирусов остаются на шаг впереди, выпуская в сеть «полиморфные вирусы», которые шифруют код и другими способами маскируются, чтобы не попасть под идентификатор вирусных баз антивируса.

Метод подозрительного поведения

Метод подозрительного поведения, напротив, не пытается отыскать известные вирусы, вместо этого он отслеживает поведение всех программ компьютера. Если программа пытается записать данные в исполняемую программу, антивирус отмечает это действие, как подозрительное поведение, а пользователь получает предупреждение с запросом на последующие действия.

В отличие от метода вирусных баз, анализ подозрительного поведения, следовательно, способен обеспечить защиту от новых вирусов, которые ещё не зарегистрированы в базах. Тем не менее, есть и обратная сторона медали, которая выражается в большом количестве ложных срабатываний, в результате чего, пользователь теряет бдительность и прекращает реагировать на предупреждения антивируса. Если пользователь отклоняет все предупреждения, пропуская подозрительную активность программ, антивирус теряет всякий смысл. Это проблема усугубляется развитием программного обеспечения, которое в последние годы весьма активно взаимодействует друг с другом, регулярно перезаписывая данные. Таким образом, наиболее современные антивирусы используют этот подход всё меньше и меньше.

Другие способы выявления вирусов

Некоторые антивирусы пытаются сымитировать начало кода каждого нового исполняемого файла, прежде чем пропустить его. Если программа использует самомодифицирующийся код или же иными способами проявляет себя, как вирус, (пытается найти другие исполняемые файлы), можно предположить, что исполняемый файл был заражен вирусом. Тем не менее, эта методика ведет к большому количеству ложных срабатываний.

Ещё один способ обнаружения вирусов задействует песочницу. Песочница эмулирует операционную систему и обращается к исполняемому файлу в рамках этой симуляции. После того, как работа исполняемого файла завершена, песочница анализируется на предмет изменений, которые могли бы указывать на деятельность вируса. В связи с большими требованиями к производительности компьютера, этот тип обнаружения, как правило, применяется только во время проверки по требованию пользователя.

Вопросы, вызывающие озабоченность

Макро-вирусы, вероятно, самые деструктивные и широко распространенные компьютерные вирусы, предотвратить распространение которых можно совсем недорого и весьма эффективно, вовсе без помощи антивирусных программ. Если Microsoft исправит дыры в безопасности Microsoft Outlook и Microsoft Office, связанные с выполнением загруженного кода, проблема исчезнет. А до тех пор вредоносные макросы будут продолжать сеять хаос на компьютерах пользователей Windows.

Воспитание пользователей тоже играет важную роль, наряду с антивирусами. Пользователи компьютеров должны иметь представление о безопасных вычислительных методах работы, например, не загружать и не запускать неизвестные программы из сети Интернет, что существенно сократит распространение вирусов, без помощи антивирусного ПО.

Пользователи компьютеров далеко не всегда должны работать с правами администратора на собственном компьютере. Если бы они работали в режиме пользователя с ограниченными правами, существенная доля вирусов просто не смогла бы распространяться.

Метод вирусных баз не может гарантировать защиты, поскольку постоянно пишутся новые вирусы, но и анализ подозрительного поведения не является эффективным из-за высокого уровня ложных срабатываний, следовательно, антивирусы в современном понимании просто не способны победить вирусы.

Существуют разные методы шифрования и упаковки вредоносного ПО, которые позволяют скрыть даже известные вирусы от бдительных антивирусных программ. Для обнаружения «замаскированных» вирусов требуется мощная система расшифровки, способная успеть расшифровать и проверить файл до его исполнения операционной системой. К сожалению, большинство популярных антивирусных программ не имеют такой системы, таким образом, они часто не в состоянии обнаружить зашифрованные файлы.

Компании, которые продают антивирусное ПО, похоже, имеют определенный финансовый стимул к развитию вирусов, которые регулярно пишутся и распространяются, заставляя общественность паниковать.