Последнее обновление: 15 ноября 2011

Навигация









Общая информация


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

Основные методы определения вирусов

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

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

Антивирусное программное обеспечение обычно использует два отличных друг от друга метода для выполнения своих задач:

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

Метод соответствия определению вирусов в словаре

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

  1. Удалить инфицированный файл.
  2. Заблокировать доступ к инфицированному файлу.
  3. Отправить файл в карантин (то есть сделать его недоступным для выполнения с целью недопущения дальнейшего распространения вируса).
  4. Попытаться «вылечить» файл, удалив тело вируса из файла.
  5. В случае невозможности лечения/удаления, выполнить эту процедуру при следующей перезагрузке операционной системы.

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

Некоторые из продуктов для лучшего обнаружения используют несколько ядер для поиска и удаления вирусов и программ-шпионов. Например, в разработке NuWave Software используется одновременно пять ядер (три для поисков вирусов и два для поиска программ-шпионов).

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

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

Метод обнаружения странного поведения программ

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

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

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

Метод обнаружения при помощи эмуляции

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

Метод «Белого списка»

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

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

Эвристический анализ

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

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

HIPS

HIPS — система мониторинга всех приложений, работающих в системе, с чётким разделением прав для разных приложений. Таким образом HIPS может предотвратить деструктивную деятельность вируса, не дав ему необходимых прав. Приложения делятся на группы, начиная от «Доверенных», права которых не ограничены, заканчивая «Заблокированными», которым HIPS не даст прав даже на запуск.

Ложные антивирусы (лжеантивирусы)


В 2009 году различные производители антивирусов стали сообщать о широком распространении нового типа программ — ложных или лжеантивирусов (rogueware). По сути эти программы или вовсе не являются антивирусами (то есть не способны бороться с вредоносным ПО), или даже являются вирусами (воруют данные кредитных карт и т. п.).
Ложные антивирусы используются для вымогательства денег у пользователей путём обмана. Один из способов заражения ПК ложным антивирусом следующий. Пользователь попадает на «инфицированный» сайт, который выдаёт ему предупреждающее сообщение вроде «На вашем компьютере обнаружен вирус» и предлагает скачать бесплатную программу для удаления вируса. После установки такая программа производит сканирование компьютера и якобы обнаруживает ещё массу вирусов. Для удаления вредоносного ПО ложный антивирус предлагает купить платную версию программы. Шокированный пользователь платит (суммы колеблются от $10 до $80) и ложный антивирус очищает ПК от несуществующих вирусов.