Технологии

  • Обнаружение, основанное на сигнатурах
  • Обнаружение аномалий
  • Обнаружение, основанное на эмуляции
  • Эвристическое сканирование
  • HIPS


Обнаружение, основанное на сигнатурах

    Обнаружение, основанное на сигнатурах — метод работы антивирусов и систем обнаружения вторжений, при котором программа, просматривая файлили пакет, обращается к словарю с известными атаками, составленному авторами программы. В случае соответствия какого-либо участка кода просматриваемой программы известному коду (сигнатуре) вируса в словаре, программа антивирус может заняться выполнением одного из следующих действий:
  • Удалить инфицированный файл.
  • Отправить файл в «карантин» (то есть сделать его недоступным для выполнения, с целью недопущения дальнейшего распространения вируса).
  • Попытаться восстановить файл, удалив сам вирус из тела файла.
    Для достижения достаточно продолжительного успеха, при использовании этого метода необходимо периодически пополнять словарь известных вирусов новыми определениями (в основном в онлайновом режиме). Обладающие чувством гражданского долга и технически искушённые пользователи, обнаружив «живьём» новый вирус, могут выслать заражённый файл разработчикам антивирусных программ, которые включат затем новый вирус в словарь.
    Антивирусные программы, созданные на основе метода соответствия определению вирусов в словаре, обычно просматривают файлы тогда, когда компьютерная система создаёт, открывает, закрывает или посылает файлы по электронной почте. Таким образом, вирусы можно обнаружить сразу же после занесения их в компьютер и до того, как они смогут причинить какой-либо вред. Надо отметить, что системный администратор может составить график для антивирусной программы, согласно которому могут просматриваться (сканироваться) все файлы на жёстком диске.
    Хотя антивирусные программы, созданные на основе поиска соответствия определению вируса в словаре, при обычных обстоятельствах, могут достаточно эффективно препятствовать вспышкам заражения компьютеров, авторы вирусов стараются держаться на полшага впереди таких программ-антивирусов, создавая «олигоморфические», «полиморфические» и, самые новые, «метаморфические» вирусы, в которых некоторые части участки кода перезаписываютсся, модифицируются, шифруются или искажаются так, чтобы невозможно было обнаружить совпадение с определением в словаре вирусов.
    Доступно одно описание одного из методов аппаратного сканирования по ссылке. Оно заключается в попутном сканировании потока данных специальным устройством под названием контекстный сопроцессор.

Создание и распределение сигнатур
    Сигнатуры антивирусов создаются в результате кропотливого анализа нескольких копий файла, принадлежащего одному вирусу. Сигнатура должна содержать только уникальные строки из этого файла, настолько характерные, чтобы гарантировать минимальную возможность ложного срабатывания — главный приоритет любой антивирусной компании.
    Разработка сигнатур — ручной процесс, тяжело поддающийся автоматизации. Несмотря на массу исследований, посвящённых автоматической генерации сигнатур, нарастающий полиморфизм (и «метаморфизм») вирусов и атак делают синтактические сигнатуры бессмысленными. Антивирусные компании вынуждены выпускать большое количество сигнатур для всех вариантов одного и того же вируса, и если бы не закон Мура, ни один современный компьютер уже не смог бы закончить сканирование большого числа файлов с такой массой сигнатур в разумное время. Так, в марте 2006 года сканеру Norton Antivirus было известно около 72 131 вирусов, а база программы содержала порядка 400 000 сигнатур. 
    В нынешнем виде, базы сигнатур должны пополняться регулярно, так как большинство антивирусов не в состоянии обнаруживать новые вирусы самостоятельно. Любой владелец ПО, основанного на сигнатурах, обречён на регулярную зависимость от обновления сигнатур, что составляет основубизнес-модели производителей антивирусов и СОВ.
    Своевременная доставка новых сигнатур до пользователей также является серьёзной проблемой для производителей ПО. Современные вирусы и черви распространяются с такой скоростью, что к моменту выпуска сигнатуры и доставки её на компьютер пользователей, эпидемия уже может достигнуть своей высшей точки и охватить весь мир. По опубликованным данным, доставка сигнатуры занимает от 11 до 97 часов в зависимости от производителя, в то время как теоретически, вирус может захватить весь интернет меньше, чем за 30 секунд. 
    В большинстве ПО по безопасности база сигнатур является ядром продукта, наиболее трудоёмкой и ценной частью. Именно поэтому большинствовендоров предпочитает держать свои сигнатуры закрытыми — хотя и в этой области существует ряд открытого ПО (напр., ClamAV), а также исследования по обратной разработке закрытых сигнатур. Virus Bulletin регулярно публиковал сигнатуры новых вирусов вплоть до 2000 года.
    Проблемы разработки сигнатур и слабого распределения некоторых представителей вредоносного ПО приводят к тому, что разработанные в разных антивирусных компаниях сигнатуры содержат определения для разных подмножеств вирусов. Эту проблему можно устранить, разработав международный стандарт на описание антивирусных сигнатур, который будет содержать необходимую информацию для обнаружения, идентификации и устранения вредоносного ПО. Максимальный эффект от такого стандарта можно получить при реализации централизованной базы знаний по вредоносному ПО, в которую все антивирусные компании будут иметь право записи новых сигнатур (или изменение существующих). Но в таком централизованном хранилище (базе данных) каждая запись должна иметь цифровую подпись автора (конкретной компании), которая будет защищать конечных пользователей от атаки на локальную базу сигнатур путем отравления её содержимого. Так же при добавлении новых записей в центральное хранилище сигнатур должен изменяться рейтинг фирм производителей. Этот рейтинг сделает фирмы заинтересованными, так как их работу пользователь может напрямую оценивать.

Недостатки и достоинства синтаксических сигнатур
  • Позволяют определять конкретную атаку с высокой точностью и малой долей ложных вызовов
  • Неспособны выявить какие-либо новые атаки
  • Беззащитны перед полиморфическими вирусами и изменёнными версиями той же атаки
  • Требуют регулярного и крайне оперативного обновления
  • Требуют кропотливого ручного анализа вирусов
    Метод эвристического сканирования призван улучшить способность сканеров применять сигнатуры и распознавать модифицированные вирусы в тех случаях, когда сигнатура совпадает с телом неизвестной программы не на 100%. Данная технология, однако, применяется в современных программах очень осторожно, так как может повысить количество ложных срабатываний.


Обнаружение аномалий

    Обнаружение аномалий — динамический метод работы антивирусов, хостовых и сетевых систем обнаружения вторжений. Программа, использующая этот метод, наблюдает определённые действия (работу программы/процесса, сетевой трафик, работу пользователя), следя за возможными необычными и подозрительными событиями или тенденциями.
    Антивирусы, использующие метод обнаружения подозрительного поведения программ, не пытаются идентифицировать известные вирусы. Вместо этого они прослеживают поведение всех программ. Если программа пытается записать какие-то данные в исполняемый файл (exe-файл), программа-антивирус может пометить этот файл, предупредить пользователя и спросить, что следует сделать.
    В отличие от метода соответствия определению вируса в словаре, метод подозрительного поведения даёт защиту от совершенно новых вирусов и сетевых атак, которых ещё нет ни в одной базе вирусов или атак. Однако программы, построенные на этом методе, могут выдавать также большое количество ошибочных предупреждений, что делает пользователя маловосприимчивым к предупреждениям. Если пользователь нажимает мышью на окно «Принять» («Accept») в каждом случае появления такого предупреждения, антивирусная программа не приносит никакой пользы. В последнее время эта проблема ещё более усугубилась, так как стало появляться 


Обнаружение, основанное на эмуляции

    Обнаружение, основанное на эмуляции — метод работы антивирусной программы, при котором подозрительный файл либо запускается в тщательно контролируемой среде, либо эмулируется его исполнение с целью выявления тех признаков вредоносного кода, которые появляются только во время исполнения программы.
    Некоторые программы-антивирусы пытаются имитировать начало выполнения кода каждой новой вызываемой на исполнение программы перед тем как передать ей управление. Если программа использует самоизменяющийся код или проявляет себя как вирус (то есть немедленно начинает искать другие exe-файлы например), такая программа будет считаться вредоносной, способной заразить другие файлы. Однако этот метод тоже изобилует большим количеством ошибочных предупреждений.
    Ещё один метод определения вирусов включает в себя использование «песочницы» (зачастую основанной на виртуальной машине). Песочница имитирует операционную систему и запускает исполняемый файл в этой имитируемой системе. После исполнения программы антивирусное программное обеспечение анализирует содержимое песочницы на присутствие каких либо изменений, которые можно квалифицировать как действие вируса. Из-за того, что быстродействие системы снижается и требуется достаточно продолжительное время для выполнения программы, антивирусные программы, построенные по этому методу, обычно используются только для сканирования по запросу пользователя. Следует отметить, что эффективность данных программ намного выше, чем у всех остальных, но и затраты на их работу также выше. Несомненно, эти программы представляют интерес для профессионалов, занимающихся вопросами компьютерной безопасности и восстановлением данных после несанкционированного доступа в компьютер пользователя или атак на сервер.


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

    Практически все современные антивирусные средства применяют технологию эвристического анализа программного кода. Эвристический анализ нередко используется совместно с сигнатурным сканированием для поиска сложных шифрующихся и полиморфных вирусов. Методика эвристического анализа позволяет обнаруживать ранее неизвестные инфекции, однако, лечение в таких случаях практически всегда оказывается невозможным. В таком случае, как правило, требуется дополнительное обновление антивирусных баз для получения последних сигнатур и алгоритмов лечения, которые, возможно, содержат информацию о ранее неизвестном вирусе. В противном случае, файл передается для исследования антивирусным аналитикам или авторам антивирусных программ.
Методы эвристического сканирования не обеспечивают какой-либо гарантированной защиты от новых, отсутствующих в сигнатурном наборе компьютерных вирусов, что обусловлено использованием в качестве объекта анализа сигнатур ранее известных вирусов, а в качестве правил эвристической верификации — знаний о механизме полиморфизма сигнатур. В то же время, поскольку этот метод поиска базируется на эмпирических предположениях, полностью исключить ложные срабатывания нельзя.
Технология эвристического анализа
    В ряде случаев эвристические методы оказываются чрезвычайно успешными, к примеру, в случае очень коротких программных частей в загрузочном секторе: если программа производит запись в сектор 1, дорожку 0, сторону 0, то это приводит к изменению раздела накопителя. Но кроме вспомогательной программы fdisk эта команда больше нигде не используется, и потому в случае ее неожиданного появления речь идёт о загрузочном вирусе.
    В процессе эвристического анализа производится проверка эмулируемой программы анализатором кода. К примеру, программа инфицирована полиморфным вирусом, состоящим из зашифрованного тела и расшифровщика. Эмулятор кода эмулирует работу данного вируса по одной инструкции, после этого анализатор кода подсчитывает контрольную сумму и сверяет ее с той, которая хранится в базе. Эмуляция будет продолжаться до тех пор, пока необходимая для подсчета контрольной суммы часть вируса не будет расшифрована. Если сигнатура совпала — программа идентифицирована.

Недостатки эвристического сканирования
  • Чрезмерная подозрительность эвристического анализатора может вызывать ложные срабатывания при наличии в программе фрагментов кода, выполняющего действия и/или последовательности, в том числе и свойственные некоторым вирусам. В частности, распаковщик в файлах, запакованных PE-упаковщиком (Win)Upack вызывает ложные срабатывания целого ряда антивирусных средств, не признающих такой проблемы.
  • Наличие простых методик обмана эвристического анализатора. Как правило, прежде чем распространять вредоносную программу (вирус), ее разработчики исследуют существующие распространенные антивирусные продукты, различными методами избегая ее детектирование при эвристическом сканировании. К примеру, видоизменяя код, используя элементы, выполнение которых не поддерживается эмулятором кода данных антивирусов, используя шифрование части кода и др.
  • Несмотря на заявления и рекламные проспекты разработчиков антивирусных средств относительно совершенствования эвристических механизмов, эффективность эвристического сканирования на данный момент далека от ожидаемой. Независимые тесты компонентов эвристического анализа показывают, что уровень обнаружения новых вредоносных программ составляет не более чем 40-50 % от их числа.
  • Даже при успешном определении, лечение неизвестного вируса практически всегда является невозможным. Как исключение, некоторыми продуктами возможно лечение однотипных и ряда полиморфных, шифрующихся вирусов, не имеющих постоянного вирусного тела, но использующих единую методику внедрения. В таком случае, для лечения десятков и сотен вирусов может существовать одна запись в вирусной базе, как это реализовано, к примеру, в антивирусе И. Данилова.

HIPS

    HIPS (Host-based Intrusion Prevention System) — система предотвращения вторжений. Продукты этого класса управляют правами приложений на выполнение тех или иных действий, подобно тому, как брандмауэр управляет сетевым доступом; сходство принципов работы обусловливает тот факт, что нередко HIPS объединяются с брандмауэром в составе одного защитного продукта.

Принцип работы

    HIPS является средством проактивной защиты, то есть не содержит базы данных сигнатур вирусов и не осуществляет их детектирование; таким образом, HIPS оперирует не понятиями «легитимный файл — вредоносный файл», а понятиями «разрешенное действие — запрещенное действие». Эффективность HIPS может доходить до 100 % предотвращения повреждения или инфицирования системы, однако большинство программ этого класса требует от пользователя определенных знаний для управления ими. В соответствии с принципом организации защиты HIPS могут быть подразделены на три основные группы.

Виды HIPS
  • Классические HIPS — системы, оснащенные открытой таблицей правил. На основании этой таблицы драйверы HIPS разрешают / запрещают определенные действия со стороны приложений либо запрашивают пользователя о том, что необходимо предпринять по отношению к данному действию. Такое устройство системы ориентировано на ручное управление разрешениями и активное взаимодействие с пользователем, что предъявляет высокие требования к компетентности последнего. В качестве примера могут быть приведены продукты System Safety Monitor и AntiHook.
  • Экспертные HIPS, или поведенческие эвристики — осуществляют анализ активности работающего приложения. Если совокупность выполняемых действий приобретает подозрительный или опасный характер, продукт данного типа сообщает о вероятном присутствии вредоносной программы. Примером экспертной HIPS может служить система ThreatFire (бывший CyberHawk).
  • HIPS типа Sandbox («песочница») — реализуют принцип минимального взаимодействия с пользователем. В их основе лежит разделение приложений на доверенные и не доверенные; на работу доверенных приложений HIPS не оказывает никакого воздействия, в то время как недоверенные запускаются в специальном пространстве, отграниченном от системы. Это позволяет работать с подозрительными приложениями без риска инфицирования или повреждения системы и изучать отчеты об их активности. Типичные представители данного типа — продукты DefenseWall HIPS иSandboxie.
Оплата услуг более 300 провайдеров за WebMoney, RBK Money, Деньги@Mail.Ru, WebCreds и Яндекс.Деньги