Как действуют антивирусные сканеры кратко

Обновлено: 02.07.2024

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

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

Оглавление

история

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

Также в 1988 году в сети BITNET / EARN был создан список рассылки под названием VIRUS-L, в котором, в частности, обсуждалось появление новых вирусов и возможности борьбы с вирусами. Некоторые из участников этого списка, такие как Джон Макафи или Юджин Касперски , впоследствии основали компании, которые разрабатывали и предлагали коммерческие антивирусные программы. Четыре года назад, в 1984 году, была основана компания Arcen Data (ныне Norman ASA ), которая также специализировалась на антивирусных программах в конце 1980-х годов, когда в Норвегии появились первые компьютерные вирусы. В 1987 году компания G DATA Software представила первую в мире коммерческую программу защиты от вирусов, которая была специально разработана для Atari ST . До того, как подключение к Интернету стало обычным явлением, вирусы обычно распространялись через дискеты . Хотя антивирусные программы использовались иногда, они обновлялись нерегулярно. В это время антивирусные программы проверяли только исполняемые программы и загрузочные секторы на гибких дисках и жестких дисках. С распространением Интернета вирусы начали таким образом заражать новые компьютеры и, таким образом, представлять более общую угрозу.

Со временем для антивирусных программ становится все более важным сканировать различные типы файлов (а не только исполняемые программы) на предмет скрытых вирусов. На то были разные причины:

  • Использование макросов в программах обработки текстов , таких как Microsoft Word, создавало дополнительный вирусный риск. Вирусные программисты начали встраивать вирусы в документы в виде макросов. Это означало, что компьютеры могли быть заражены, просто запустив встроенный макровирус в документ.
  • Более поздние программы электронной почты, в частности MicrosoftOutlook Express и Outlook , были уязвимы для вирусов, встроенных в электронную почту. Это позволило заразить компьютер, открыв и просмотрев электронную почту.

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

Типы антивирусных программ

Сканер в реальном времени

  1. Сканирование при открытии файлов (чтении)
  2. Сканирование при создании / изменении файлов (запись)

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

Ручной сканер

Интернет-сканер вирусов

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

Другие сканеры

  • Помимо сканеров реального времени и ручных сканеров, существует ряд других сканеров.

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

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

Как это работает и вероятность успеха

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

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

    Сканеры

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

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

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

    • Анализ формата файлов (например, программ ( PE , ELF ), скриптов ( VBS , JavaScript ), файлов данных ( PDF , GIF ))
    • Устройство сопоставления образов (распознавание образов) для классических подписей
    • Распаковка для
      • Программы, сжатые во время выполнения , и процедуры шифрования (такие как UPX , Aspack, Y0daCrypt)
      • Архивы (например, ZIP , RAR , 7z , UUE / Base64 )
      • Форматы почтовых ящиков (например, mbox . DBX . Eml , mime )

      Также используется или в основном для защиты в реальном времени:

      • Анализ поведения
      • Облачные технологии
      • Песочница

      Эвристический

      SandBox

      Чтобы повысить уровень обнаружения неизвестных вирусов и червей, норвежский производитель антивирусов Norman в 2001 году представил новую технику, при которой программы выполняются в безопасной среде - песочнице . Проще говоря, эта система работает как компьютер внутри компьютера. Это среда, в которой файл запускается и анализируется, чтобы увидеть, какие действия он предпринимает. При необходимости песочница может также предоставлять сетевые функции, такие как почтовый или IRC- сервер. При выполнении файла песочница ожидает поведения, типичного для этого файла. Если файл в какой-то степени отклоняется от этого, песочница классифицирует его как потенциальную опасность. Он может различать следующие опасности:

      • W32 / вредоносное ПО
      • W32 / EMailWorm
      • W32 / NetworkWorm
      • W32 / BackDoor
      • W32 / P2PWorm
      • W32 / FileInfector
      • W32 / номеронабиратель
      • W32 / Загрузчик
      • W32 / шпионское ПО

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

      Анализ поведения

      Обнаружение постов

      Облачные технологии

      Автоматическое обновление

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

      Проблемы со сканером вирусов

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

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

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

      Проверьте конфигурацию антивирусного сканера

      Программа-антивирус

      Антивирусное программное обеспечение доступно бесплатно или в качестве платного предложения. Коммерческие производители часто также предлагают бесплатные версии с ограниченным набором функций. Весной 2017 года Stiftung Warentest пришел к выводу, что существует хорошая защита с помощью бесплатного программного обеспечения для обеспечения безопасности. Следующая таблица дает лишь небольшой обзор нескольких соответствующих производителей, продуктов и брендов.

      Производитель Соответствующие продукты / бренды Предложения для следующих платформ Лицензия Говорящий по-немецки включая бесплатные предложения
      Германия Avira Антивирус Avira Windows , macOS , Android , iOS Проприетарный да да
      Объединенное Королевство / Avast Республика Чехия Антивирус Avast Windows, macOS, Android, iOS Проприетарный да да
      Антивирус AVG Windows, macOS, Android Проприетарный да да
      Румыния Bitdefender Bitdefender Антивирус Windows, macOS, Android Проприетарный да да
      США Cisco ClamAV Windows, Unix-подобная (включая Linux ) GPL Нет да
      Новая Зеландия Emsisoft Emsisoft Anti-Malware Windows, Android Проприетарный да Нет
      Словакия ESET Антивирус ESET NOD32 Windows, macOS, Linux, Android Проприетарный да Нет
      Финляндия F-Secure Corporation F-Secure Антивирус Windows, macOS, Android Проприетарный да Нет
      Германия G Data CyberDefense G Data Antivirus Windows, macOS, Android, iOS Проприетарный да Нет
      Россия Лаборатория Касперского Антивирус Касперского Windows, macOS, Android, iOS Проприетарный да да
      США Malwarebytes Inc. Malwarebytes Windows, macOS, Android Проприетарный да да
      США McAfee McAfee VirusScan Windows, macOS, Android, iOS Проприетарный да Нет
      США Microsoft Защитник Microsoft Окна Проприетарный да да
      США NortonLifeLock (ранее Symantec ) Norton AntiVirus Windows, macOS, Android, iOS Проприетарный да Нет

      веб ссылки

      Викисловарь: Антивирусная программа - объяснение значений, происхождение слов, синонимы, переводы

      • Роберт А. Геринг: Иммунная система компьютера: антивирусное программное обеспечение . В: Безопасность потребителей в Интернете. ( проект Берлинского технического университета, финансируемый BMELV )

      Индивидуальные доказательства

        Эта страница последний раз была отредактирована 21 июля 2021 в 18:29.

      Создатели вирусов нападают

      Антивирусный сканер может быстро обнаружить изменения в программе, проверяя ее размер. Если размер файла был изменен в процессе запуска, это хороший индикатор того, что вирус инфицировал программу. Чтобы обойти эту проверку, пустотные (cavity) вирусы прятали свой код в пустых пространствах внутри файла программы, оставляя размер файла неизменным. Пустотные вирусы пошли еще со времен MS-DOS, начиная с вируса Lehigh. Использование этой техники в создании вирусов значительно возросло, когда Microsoft разработал Windows PE формат для возможности взаимодействия Windows программ в разных ОС Windows. С целью ускорить загрузку программ в формате PE, компиляторы Windows программ создавали пустые пространства внутри файлов. Многие вирусы, такие как W2K/Lamchi, использовали эти пустые пространства для сокрытия вирусного кода.

      Создатели вирусов также стали применять технику сокрытия точки входа (entry point obscuration - EPO), чтобы прятать место нахождения jump-инструкции к коду вируса. Червь W32/MTX@M и вирус Win95/SK были одними из первых, использующих эту технику. Существует множество разновидностей этой идеи, от сокрытия блока вирусного кода в теле программы до фактического интегрирования вирусного кода в код программы. Многие АВ профессионалы рассматривают EPO вирусы как наиболее перспективные.

      Создатели вирусов стали использовать техники шифрования для предотвращения быстрой идентификации антивирусным ПО. Изменяя ключ шифрования от компьютера к компьютеру, вирус может защитить свой код от быстрой идентификации. Группы разработчиков вирусов, такие как 29A VX, и отдельные разработчики, например Zombie и Black Baron, работают над усовершенствованием методов шифрования и мутации.

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

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

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

      В третьей атаке на эмуляторы кода, вирус пытается определить, что он находится в эмуляторе, используя ограничения в дизайне эмуляторов кода. Никакой эмулятор не может учесть все вероятные ситуации. Вирус может также варьировать свое поведение в зависимости от системной даты или воспринимая изменения типа потери сетевого соединения. Например, известно, что Magistr не заражает исполняемые файлы при отсутствии Интернет-соединения.

      Вирус W32.Simile - один из последних метаморфных вирусов. Этот очень сложный вирус способен существовать как на Linux, так и на Windows платформах. Большая часть кода вируса, содержащего более 14000 ассемблерных команд, посвящена собственному метаморфическому механизму. Этот вирус, написанный создателем вирусов The Mental Driller, и обнаруженный в марте 2002 г., имеет множество антиэмуляторных функций. Он использует псевдослучайный алгоритм дешифровки, который использует модульные арифметические функции для дешифровки тела вируса нелинейным способом, не от начала до конца, а кусками, выбранными, по видимому, случайным образом, для того, чтобы запутать эмулятор.

      Чтобы еще больше запутать эмулятор, вирус Simile воспользовался инструкцией RDTSC (Read Time Stamp Counter). Вирус анализирует внутренний процессорный счетчик и случайным образом определяет, пора расшифровывать код, или еще подождать. Это означает, что вирус может не расшифроваться с первой или даже с нескольких попыток. Ввиду сложности вирусного кода, он содержит множество ошибок, которые могут помешать расшифровке вируса в течение длительного времени.

      Сложность Simile также указывает на то, что мало кто из создателей вирусов возьмется за написание действительно сложных вирусов. Наоборот, успех Hybris, Klez , Magistr, MTX, и Sircam указывает на то, что вирусам, эффективно использующим поддельные адреса возврата или изменение тела вируса, обеспечена долгая жизнь на мировой арене.

      Антивирусные программисты отражают атаку!

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

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

      Один хакер может причинить столько же вреда, сколько 10 000 солдат! Боитесь что ANONYMOUS опустошат ваши счета ? Хакеры объявили Кибервойну России! Узнай первым , как выжить в цифровом кошмаре!

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

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

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

      Ложное срабатывание – детектирование вируса в незараженном объекте (файле, секторе или системной памяти).

      Пропуск вируса – недетектирование вируса в зараженном объекте.

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

      Сканирование налету – постоянная проверка на вирусы объектов, к которым происходит обращение (запуск, открытие, создание и т. п.). В этом режиме антивирус постоянно активен, он присутствует в памяти "резидентно" и проверяет объекты без

      Самыми популярными и эффективными антивирусными программами являются антивирусные сканеры, CRC-сканеры (ревизоры). Существуют также антивирусы блокировщики и иммунизаторы.

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

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

      Сканеры также можно разделить на две категории – "универсальные" и "специализированные". Универсальные сканеры рассчитаны на поиск и обезвреживание всех типов вирусов вне зависимости от операционной системы, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, например макровирусов.

      Сканеры также делятся на "резидентные" (мониторы), производящие сканирование "на лету", и "нерезидентные", обеспечивающие проверку системы только по запросу. Как правило, "резидентные" сканеры обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как "нерезидентный" сканер способен опознать вирус только во время своего очередного запуска.

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

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




      CRC-сканеры, использующие "анти-стелс" алгоритмы реагируют практически на 100 % вирусов сразу после появления изменений на компьютере. Характерный недостаток этих антивирусов заключается в невозможности обнаружения вируса с момента его появления и до тех пор, пока не будут произведены изменения на компьютере. CRC-сканеры не могут определить вирус в новых файлах (в электронной почте, на дискетах, в восстанавливаемых файлах или при распаковке файлов из архива), поскольку в их базах данных отсутствует информация об этих файлах.

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

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

      Иммунизаторы. Иммунизаторы делятся на два типа: иммунизаторы, сообщающие о заражении, и иммунизаторы, блокирующие заражение каким-либо типом вируса.

      Качество антивирусной программы определяется несколькими факторами. Перечислим их по степени важности:

      1. Надежность и удобство работы – отсутствие "зависаний" антивируса и прочих технических проблем, требующих от пользователя специальной подготовки.

      2. Качество обнаружения вирусов всех распространенных типов, сканирование внутри файлов-документов/таблиц, упакованных и архивированных файлов. Отсутствие "ложных срабатываний". Возможность лечения зараженных объектов.

      3. Существование версий антивируса под все популярные платформы (DOS, Windows, Linux и т. д.).

      4. Возможность сканирование "налету".

      5. Существование серверных версий с возможностью администрирования сети.

      6. Скорость работы.

      Классификация антивирусных программ

      Особенности работы антивирусных программ

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

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

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

      Ложное срабатывание – детектирование вируса в незараженном объекте (файле, секторе или системной памяти).

      Пропуск вируса – недетектирование вируса в зараженном объекте.

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

      Сканирование налету – постоянная проверка на вирусы объектов, к которым происходит обращение (запуск, открытие, создание и т. п.). В этом режиме антивирус постоянно активен, он присутствует в памяти "резидентно" и проверяет объекты без

      Самыми популярными и эффективными антивирусными программами являются антивирусные сканеры, CRC-сканеры (ревизоры). Существуют также антивирусы блокировщики и иммунизаторы.

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

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

      Сканеры также можно разделить на две категории – "универсальные" и "специализированные". Универсальные сканеры рассчитаны на поиск и обезвреживание всех типов вирусов вне зависимости от операционной системы, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, например макровирусов.

      Сканеры также делятся на "резидентные" (мониторы), производящие сканирование "на лету", и "нерезидентные", обеспечивающие проверку системы только по запросу. Как правило, "резидентные" сканеры обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как "нерезидентный" сканер способен опознать вирус только во время своего очередного запуска.

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

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

      CRC-сканеры, использующие "анти-стелс" алгоритмы реагируют практически на 100 % вирусов сразу после появления изменений на компьютере. Характерный недостаток этих антивирусов заключается в невозможности обнаружения вируса с момента его появления и до тех пор, пока не будут произведены изменения на компьютере. CRC-сканеры не могут определить вирус в новых файлах (в электронной почте, на дискетах, в восстанавливаемых файлах или при распаковке файлов из архива), поскольку в их базах данных отсутствует информация об этих файлах.

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

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

      Иммунизаторы. Иммунизаторы делятся на два типа: иммунизаторы, сообщающие о заражении, и иммунизаторы, блокирующие заражение каким-либо типом вируса.

      Качество антивирусной программы определяется несколькими факторами. Перечислим их по степени важности:

      1. Надежность и удобство работы – отсутствие "зависаний" антивируса и прочих технических проблем, требующих от пользователя специальной подготовки.

      2. Качество обнаружения вирусов всех распространенных типов, сканирование внутри файлов-документов/таблиц, упакованных и архивированных файлов. Отсутствие "ложных срабатываний". Возможность лечения зараженных объектов.

      3. Существование версий антивируса под все популярные платформы (DOS, Windows, Linux и т. д.).



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

      Локации вирусного ПО

      • Сканирование произвольных файлов и папок, вплоть до целых дисков.
      • Сканирование памяти. Сканируются все загруженные в память процессы и их dll.
      • Сканирование загрузочных записей дисков (Master Boot Records — MBR).
      • Сканирование системы на предмет следов вредоносного ПО. Проверка системных папок вроде %APPDATA%, %WINDIR% на предмет определенных файлов и папок. Сканирование реестра, также на предмет следов в автозагрузке и настройках.

      Виды сканирования.

      Сканирование делится на два основных вида: сигнатурный и эвристический.

      Сканирование на основе сигнатур.

      Другое название — хэш-скан (hash scan). Сканер проверяет файлы путем сравнения сигнатур файлов со словарем.
      Обычно сигнатурой антивируса является MD5-хэш (16 байт) сгенерированный на основе тела известного вируса.
      Таким образом, файл считается зараженным, если его хэш найден в базе сигнатур. Для локализации выявления вредоноса, хэш может вычисляться только для exe-файлов на основе PE-заголовка.
      Такой вид сканирования позволяет определить вид атаки с высокой долей вероятности, без ложных срабатываний (чем грешит эвристическое сканирование).
      К недостаткам хэш-скана относят неспособность выявить новые вирусы, которые отсутствуют в базе. А также беззащитность перед полиморфными или шифрующимися вирусами, в связи с чем требуются регулярные обновления базы сигнатур.
      Также слабым местом хэш-скана является скорость проверки. Если бы не закон Мура, ни один современный компьютер уже не смог бы закончить сканирование с такой массой сигнатур в разумное время.

      Эвристическое сканирование

      Компоненты и вспомогательные модули сканера

      Драйвер прямого доступа к диску

      Необходим для обхода руткитов. В зараженной системе, руткиты используются
      для заметания следов своего присутствия. Лучшим способом для этого является подмена вызовов API-функций.
      В частности для работы с файлами: CreateFile, ReadFile итд. Когда антивирусная программа сканирует систему,
      вызывая эти функции, то руткит может возвращать FALSE, когда такой вызов относится к нему. Чтобы обойти это,
      сканер содержит в себе модуль непосредственного посекторного считывания с диска, без использования WinAPI.

      Черно-Белые списки

      Служат для фильтрации обнаружений, которые на самом деле не являются зловредами. Таким образом, антивирус не предупреждает об опасности, в случае ложного срабатывания.
      Современные антивирусы, хранят базу в среднем от 5 млн. сигнатур. Причем довольно часто, для одного вируса, может существовать с десяток сигнатур. Возможная ситуация, что из нескольких тысяч системных файлов, найдется подходящий под сигнатуру файл. А это грозит тем, что антивирус удалит его, или переместит в карантин, что может привести к отказу системы вовсе.
      Минимизировать ложные срабатывания — главный приоритет любой антивирусной компании.
      Чтобы пройти самый престижный антивирусный тест — virus bulletin, антивирус должен показать 100% результат обнаружения, при этом не выдав единого ложного срабатывания.
      Белый список — содержит список файлов, которые не вредят системе, но так или иначе обнаруживаются сканером.
      Черный список — содержит список вирусов, которым мы доверяем (также не наносят вреда системе).

      Распаковщики, дешифровшики

      Чтобы достичь приемлемого уровня обнаружения вируса, сканер должен отрабатывать exe-шники, зашифрованные exe-пакером (Например UPX). Тогда перед вычислением хэша, сканер обнаруживает, что файл зашифрован и сначала обращается к дешифровщику, а затем уже на этой основе, вычисляется хэш и сравнивает с имеющимся в базе.
      Второй вид архивов — это всем известные zip, rar, 7z итд. Антивирус также должен уметь распаковывать эти архивы, и сканировать содержимое.
      Третий вид — это распаковка NTFS ADS (NTFS Alternative Data Streams). В файловой системе NTFS, исполняемый файл может быть замаскирован под обычный, например текстовый. Альтернативный поток этого файла, будет ссылаться непосредственно на вирус.

      Читайте также: