Антивирусная программа

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Антивирусное программное обеспечение»)
Перейти к навигации Перейти к поиску

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

Методы защиты от вирусов[править | править код]

Для защиты от вирусов используют три группы методов[2]:

  1. Методы, основанные на анализе содержимого файлов (как файлов данных, так и файлов с кодами команд). К этой группе относятся сканирование сигнатур вирусов, а также проверка целостности и сканирование подозрительных команд.
  2. Методы, основанные на отслеживании поведения программ при их выполнении. Эти методы заключаются в протоколировании всех событий, угрожающих безопасности системы и происходящих либо при реальном выполнении проверяемого кода, либо при его программной эмуляции.
  3. Методы регламентации порядка работы с файлами и программами. Эти методы относятся к административным мерам обеспечения безопасности

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

Метод контроля целостности основывается на том, что любое неожиданное и беспричинное изменение данных на диске является подозрительным событием, требующим особого внимания антивирусной системы. Вирус обязательно оставляет свидетельства своего пребывания (изменение данных существующих (особенно системных или исполняемых) файлов, появление новых исполняемых файлов и т.д.). Факт изменения данных - нарушение целостности - легко устанавливается путем сравнения контрольной суммы (дайджеста), заранее подсчитанной для исходного состояния тестируемого кода, и контрольной суммы (дайджеста) текущего состояния тестируемого кода. Если они не совпадают, значит, целостность нарушена и имеются все основания провести для этого кода дополнительную проверку, например, путем сканирования вирусных сигнатур. Указанный метод работает быстрее метода сканирования сигнатур, поскольку подсчет контрольных сумм требует меньше вычислений, чем операции побайтового сравнения кодовых фрагментов, кроме того он позволяет обнаруживать следы деятельности любых, в том числе неизвестных, вирусов, для которых в базе данных еще нет сигнатур [2].

Метод сканирования подозрительных команд (эвристическое сканирование, эвристический метод[1]) основан на выявлении в сканируемом файле некоторого числа подозрительных команд и(или) признаков подозрительных кодовых последовательностей (например команда форматирования жесткого диска или функция внедрения в выполняющийся процесс или исполняемый код). После этого делается предположение о вредоносной сущности файла и предпринимаются дополнительные действия по его проверке. Этот метод обладает хорошим быстродействием, но довольно часто он не способен выявлять новые вирусы[2].

Метод отслеживания поведения программ принципиально отличается от методов сканирования содержимого файлов, упомянутых ранее. Этот метод основан на анализе поведения запущенных программ, сравнимый с поимкой преступника «за руку» на месте преступления. Антивирусные средства данного типа часто требуют активного участия пользователя, призванного принимать решения в ответ на многочисленные предупреждения системы, значительная часть которых может оказаться впоследствии ложными тревогами. Частота ложных срабатываний (подозрение на вирус для безвредного файла или пропуск вредоносного файла) при превышении определенного порога делает этот метод неэффективным, а пользователь может перестать реагировать на предупреждения или выбрать оптимистическую стратегию (разрешать все действия всем запускаемым программам или отключить данную функцию антивирусного средства). При использовании антивирусных систем, анализирующих поведение программ, всегда существует риск выполнения команд вирусного кода, способных нанести ущерб защищаемому компьютеру или сети. Для устранения подобного недостатка позднее был разработан метод эмуляции (имитации), позволяющий запускать тестируемую программу в искусственно созданной (виртуальной) среде, которую часто называют песочницей (sandbox), без опасности повреждения информационного окружения. Использование методов анализа поведения программ показало их высокую эффективность при обнаружении как известных, так и неизвестных вредоносных программ [2].

Лжеантивирусы[править | править код]

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

Специальные антивирусы[править | править код]

В ноябре 2014 года международная правозащитная организация Amnesty International выпустила антивирусную программу Detect, предназначенную для выявления вредоносного ПО, распространяемого государственными учреждениями для слежки за гражданскими активистами и политическими оппонентами. Антивирус, по заявлению создателей, выполняет более глубокое сканирование жёсткого диска, нежели обычные антивирусы[3][4].

Эффективность антивирусов[править | править код]

Аналитическая компания Imperva в рамках проекта Hacker Intelligence Initiative опубликовала интересное исследование[5][6], которое показывает малую эффективность большинства антивирусов в реальных условиях.

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

Вопрос в том, насколько эффективными являются антивирусы против самых актуальных угроз. Чтобы ответить на этот вопрос, компания Imperva и студенты Тель-Авивского университета раздобыли на российских подпольных форумах 82 образца самого свежего вредоносного ПО — и проверили его по базе VirusTotal, то есть против 42 антивирусных движков. Результат оказался плачевным.

  1. Эффективность антивирусов против только что скомпилированных зловредов оказалась менее 5 %. Это вполне логичный результат, поскольку создатели вирусов обязательно тестируют их по базе VirusTotal.
  2. От появления вируса до начала его распознавания антивирусами проходит до четырёх недель — это у «элитных» антивирусов, а у остальных срок может доходить до 9-12 месяцев. Например, в начале исследования 9 февраля 2012 года был проверен свежей образец фальшивого инсталлятора Google Chrome. После окончания исследования 17 ноября 2012 года его определяли только 23 из 42 антивирусов.
  3. У антивирусов с самым высоким процентом определения зловредов присутствует также высокий процент ложных срабатываний.
  4. Хотя исследование сложно назвать объективным, ибо выборка зловредов была слишком маленькой, но можно предположить, что антивирусы совершенно непригодны против свежих киберугроз.

Классификации антивирусных программ[править | править код]

Антивирусные программы подразделяются по исполнению (средствам блокирования)[1] на:

  • программные;
  • программно-аппаратные.

По признаку размещения в оперативной памяти[1] выделяют:

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

По виду (способу) защиты от вирусов различают:

  • Программы-детекторы, или сканеры[1], находят вирусы в оперативной памяти, на внутренних и(или) внешних носителях, выводя сообщение при обнаружении вируса.
  • Программы-доктора, (фаги[1], полифаги[1]) находят зараженные файлы и "лечат" их. Среди этого вида программ существуют полифаги, которые способны удалять разнообразные виды вирусов, самые известные из антивирусов-полифагов Norton AntiVirus, Doctor Web, Kaspersky Antivirus.
  • Программы-вакцины (иммунизаторы[1]) выполняют иммунизацию системы (файлов, каталогов) блокируя действие вирусов[1].
  • Программы-ревизоры[1] являются наиболее надежными в плане защиты от вирусов. Ревизоры запоминают исходное состояние программ, каталогов, системных областей диска до момента инфицирования компьютера (как правило, на основе подсчета контрольных сумм[1]), затем сравнивают текущее состояние с первоначальным, выводя найденные изменения на дисплей.
  • Программы-мониторы начинают свою работу при запуске операционной системы, постоянно находятся в памяти компьютера и осуществляют автоматическую проверку файлов по принципу "здесь и сейчас".
  • Программы-фильтры (сторожа) обнаруживают вирус на ранней стадии, пока он не начал размножаться. Программы-сторожа - небольшие резидентные программы, целью которых является обнаружение действий, характерных для вирусов.

В соответствии с нормативным правовым актом ФСТЭК России «Требования в области технического регулирования к продукции, используемой в целях защиты сведений, составляющих государственную тайну или относимых к охраняемой в соответствии с законодательством Российской Федерации иной информации ограниченного доступа (требования к средствам антивирусной защиты)» (утв. приказом ФСТЭК России от 20 марта 2012 г. № 28)[7] выделяют следующие типы средств антивирусной защиты:

  • тип «А» – средства антивирусной защиты (компоненты средств антивирусной защиты), предназначенные для централизованного администрирования средствами антивирусной защиты, установленными на компонентах информационных систем (серверах, автоматизированных рабочих местах);
  • тип «Б» – средства антивирусной защиты (компоненты средств антивирусной защиты), предназначенные для применения на серверах информационных систем;
  • тип «В» – средства антивирусной защиты (компоненты средств антивирусной защиты), предназначенные для применения на автоматизированных рабочих местах информационных систем;
  • тип «Г» – средства антивирусной защиты (компоненты средств антивирусной защиты), предназначенные для применения на автономных  автоматизированных рабочих местах.

Средства антивирусной защиты типа «А» не применяются в информационных системах самостоятельно и предназначены для использования только совместно со средствами антивирусной защиты типов «Б» и (или) «В».

Примечания[править | править код]

  1. 1 2 3 4 5 6 7 8 9 10 11 12 13 Язов Ю. К., Соловьев С. В. Защита информации в информационных системах от несанкционированного доступа. Пособие. — Воронеж: Кварта, 2015. — С. 357. — 440 с. — 232 экз. — ISBN 978-5-93737-107-2.
  2. 1 2 3 4 5 Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. — 4-е изд. — СПб.: Питер, 2010. — С. 871-875. — 944 с. — 4500 экз. — ISBN 978-5-49807-389-7.
  3. AI разработала программу, которая спасет журналистов от киберслежки
  4. BBC:"How to stop governments spying on you"
  5. исследование.
  6. Imperva: антивирусы — бесполезная трата денег — «Хакер». Проверено 13 июня 2017.
  7. Информационное сообщение ФСТЭК России Об утверждении требований к средствам антивирусной защиты от 30 июля 2012 г. № 240/24/3095 (рус.). Официальный сайт ФСТЭК России. fstec.ru (30 июля 2012). Проверено 20 января 2018.