Как работает антивирус

Аватарка пользователя Ирина Тюльпакова

Рассказываем об истории антивирусов и о том, как софт ищет малвери.

Первое нежелательное ПО, или «малвери», появилось в 1971 году. «Вирус» Creeper разработал энтузиаст из BBN Technologies Боб Томас.

Реактивно с целью уничтожить Creeper возник Reaper: программа, которая ищет на компьютере следы малвери и удаляет его. Creeper не «размножался», а перемещался между компьютерами, не изменяя своего кода. Reaper сканировал файлы, сверяясь с сигнатурой, и удалял вирус перед тем, как тот мигрирует на другое устройство.

Нет достоверных сведений о том, кто Creeper разработал. Некоторые утверждают, что это был сам Боб Томас, в то время как другие говорят, что это была работа Рэя Томлинсона, создателя электронной почты и синтезатора речи.

Действительно вредоносное ПО появилось годом спустя, в 1972. Rabbit воспроизводил себя, пока не вторгался в систему и не вызвал ее сбой.

Дальше создавались более «таргетированные» вирусы: например, Elk Cloner в 1981 году, Vienna.648 в 1988 году. Некоторые вирусы чинились руками: ведущий программисты искали заражённые файлы и устраняли внедрённый код. Но проворачивать такое для размножающихся вирусов оказалось невозможным, поэтому для уничтожения малвера начали писать программы-антивирусы.

Механизм работы

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

Разумеется, злоумышленники быстро разгадали, как действует антивирус. И научились подстраивать вредоносное ПО таким образом, чтобы последовательность байтов менялась. Так что эта технология в «старом» виде, а уж тем более как единственный механизм защиты, сейчас не используется.

Сюда же, к сигнатурам, можно отнести и сопоставление хэшей. Антивирусы анализировали блоки программы, и «сворачивали» последовательность байтов в хэш, который, подобно сигнатуре, загружался в базу. Разумеется, проблема та же — изменения одного бита в малвери приведёт к тому, что хэши получаются разными, а значит защитный софт такой код пропустит.

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

  1. Используется ли функция VirtualAlloc?
  2. Размер исполняемого файла больше 30КБ и меньше 75КБ?
  3. Есть ли в исполняемом файле раздел с разрешением на чтение, запись и выполнение?

И если на все пункты ответ «да» — то ПО можно назвать вредоносным. В данном случае потому что VirtualAlloc может выделить виртуальную память и внедрить код в другой процесс путём принудительного вызова LoadLibrary в целевом процессе, а размер и разрешения файла считаются характерными для малвери.

Разумеется, параметров, на которые смотрит антивирус при эвристическом механизме, гораздо больше. Но, опять же, для того чтобы обмануть антивирус, злоумышленнику достаточно изменить ПО так, чтобы оно собирало «нет» по большинству признаков.

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

Интернет как массовая эпидемия вирусов

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

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

Стеганография позволяет незначительно менять биты в картинке (и любом другом медиа-файле). Запустив такой файл, программа, которая открывает картинку, в первую очередь выполнит ряд команд. «Инфицированный» и безобидный файл никак не различить, пользователь, ровно как и система, остаётся в неведении.

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

Нужен ли мне сторонний антивирус

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

Встроенные антивирусы, по типу Microsoft Defender, к слову, неплохо отлавливают нежелательное ПО, но от угроз в интернете защищают слабее. К тому же, скомпрометировать можно не только компьютер: малвери можно запустить на любом гаджете, хоть на кофеварке. Лишь бы он был подключен к интернету.

Интернет
299