Методы и средства защиты информации

advertisement
Методы и
средства защиты
информации
ЛЕКЦИЯ 6:
АНТИВИРУС
Тейс Г.Н., 2013
Антивирус
Антивирусная программа —
специализированная программа для
обнаружения компьютерных вирусов, а также
нежелательных (считающихся вредоносными)
программ вообще и восстановления зараженных
(модифицированных) такими программами
файлов, а также для профилактики —
предотвращения заражения (модификации)
файлов или операционной системы
вредоносным кодом.
2
Целевые платформы

Microsoft Windows

Google Android

Linux

Apple iOS

Windows Phone

MacOS

BlackBerry
3
Классификация по
функционалу

Антивирусные продукты (продукты,
обеспечивающие только антивирусную
защиту)

Комбинированные продукты (продукты,
обеспечивающие не только защиту от
вредоносных программ, но и фильтрацию
спама, шифрование и резервное
копирование данных и другие функции)
4
Классификация по
объектам защиты

Антивирусные продукты для защиты
персональных компьютеров

Антивирусные продукты для защиты рабочих
станций

Антивирусные продукты для защиты файловых
и терминальных серверов

Антивирусные продукты для защиты почтовых и
Интернет-шлюзов

Антивирусные продукты для защиты серверов
виртуализации
и др.
5
Классификация по
технологии защиты

Классические антивирусные продукты
(продукты, применяющие только сигнатурный
метод детектирования)

Продукты проактивной антивирусной защиты
(продукты, применяющие только проактивные
технологии антивирусной защиты)

Комбинированные продукты (продукты,
применяющие как классические, сигнатурные
методы защиты, так и проактивные)
6
Сигнатурный метод
обнаружения
Обнаружение, основанное на сигнатурах — метод
работы антивирусов и систем обнаружения вторжений,
при котором программа, просматривая файл или пакет,
обращается к словарю с известными вирусами,
составленному авторами программы. В случае
соответствия какого-либо участка кода просматриваемой
программы известному коду (сигнатуре) вируса в
словаре, программа антивирус может заняться
выполнением одного из следующих действий:

Удалить инфицированный файл.

Отправить файл в «карантин» (то есть сделать его
недоступным для выполнения, с целью недопущения
дальнейшего распространения вируса).

Попытаться восстановить файл, удалив сам вирус из
тела файла.
7
Эффективность
сигнатурного метода
Для достижения достаточно продолжительного
успеха, при использовании этого метода
необходимо периодически пополнять словарь
известных вирусов новыми определениями (в
основном в онлайновом режиме). Обладающие
чувством гражданского долга и технически
искушённые пользователи, обнаружив «живьём»
новый вирус, могут выслать заражённый файл
разработчикам антивирусных программ, которые
включат затем новый вирус в словарь.
8
Сложности сигнатурного
метода [1]

Разработка сигнатур — ручной процесс, тяжело
поддающийся автоматизации. Несмотря на
массу исследований, посвящённых
автоматической генерации сигнатур,
нарастающий полиморфизм (и
«метаморфизм») вирусов и атак делают
синтаксические сигнатуры бессмысленными.
Антивирусные компании вынуждены выпускать
большое количество сигнатур для всех вариантов
одного и того же вируса, и если бы не закон
Мура, ни один современный компьютер уже не
смог бы закончить сканирование большого числа
файлов с такой массой сигнатур в разумное
время. Так, ещё в марте 2006 года сканеру
Norton Antivirus было известно около 72 131
вирусов, а база программы содержала порядка
400 000 сигнатур.
9
Сложности сигнатурного
метода [2]

Своевременная доставка новых сигнатур до
пользователей также является серьёзной
проблемой для производителей ПО.
Современные вирусы и черви
распространяются с такой скоростью, что к
моменту выпуска сигнатуры и доставки её на
компьютер пользователей, эпидемия уже
может достигнуть своей высшей точки и
охватить весь мир. По опубликованным
данным, доставка сигнатуры занимает от 11 до
97 часов в зависимости от производителя, в то
время как теоретически, вирус может захватить
весь интернет меньше, чем за 30 секунд.
10
Недостатки и достоинства
сигнатурного метода

Позволяют определять конкретную атаку с
высокой точностью и малой долей ложных
вызовов

Неспособны выявить какие-либо новые атаки

Беззащитны перед полиморфными вирусами
и изменёнными версиями того же вируса

Требуют регулярного и крайне оперативного
обновления

Требуют кропотливого ручного анализа вирусов
11
Проактивная защита
Проактивные технологии – совокупность
технологий и методов, используемых в
антивирусном программном обеспечении,
основной целью которых, в отличие от реактивных
(сигнатурных) технологий, является
предотвращение заражения системы
пользователя, а не поиск уже известного
вредоносного программного обеспечения в
системе.
12
История развития
проактивной технологии
Проактивные технологии начали развиваться
практически одновременно с классическими
(сигнатурными) технологиями. Однако, первые
реализации проактивных технологий
антивирусной защиты требовали высокий уровень
квалификации пользователя, т.е. не были
рассчитаны на массовое использование
простыми пользователями персональных
компьютеров. Спустя десятилетие антивирусной
индустрии стало очевидно, что сигнатурные
методы обнаружения уже не могут обеспечить
эффективную защиту пользователей. Этот факт и
подтолкнул к возрождению проактивных
технологий.
13
Технологии проактивной
защиты

Эвристический анализ

Эмуляция кода

Анализ поведения

Песочница

Виртуализация рабочего окружения
14
Эвристический анализ

Эвристический анализ — это совокупность
функций антивируса, нацеленных на
обнаружение неизвестных вирусным базам
вредоносных программ, но в то же время этот
же термин обозначает один из конкретных
способов.

Технология эвристического анализа позволяет
на основе анализа кода выполняемого
приложения, скрипта или макроса обнаружить
участки кода, отвечающие за вредоносную
активность.
15
Использование
эвристического анализа
Практически все современные антивирусные
средства применяют технологию эвристического
анализа программного кода. Эвристический
анализ нередко используется совместно с
сигнатурным сканированием для поиска сложных
шифрующихся и полиморфных вирусов. Методика
эвристического анализа позволяет обнаруживать
ранее неизвестные инфекции, однако, лечение в
таких случаях практически всегда оказывается
невозможным. В таком случае, как правило,
требуется дополнительное обновление
антивирусных баз для получения последних сигнатур
и алгоритмов лечения, которые, возможно,
содержат информацию о ранее неизвестном
вирусе. В противном случае, файл передается для
исследования антивирусным аналитикам или
авторам антивирусных программ.
16
Полиморфизм
компьютерного вируса
Полиморфизм компьютерного вируса —
специальная техника, используемая авторами
вредоносного программного обеспечения для
снижения уровня детектирования вредоносной
программы классическими антивирусными
продуктами.
17
Метод полиморфизма

Полиморфизм заключается в формировании
программного кода вредоносной программы «на
лету» — уже во время исполнения, при этом сама
процедура, формирующая код, также не должна быть
постоянной и видоизменяется при каждом новом
заражении. Зачастую, изменение кода достигается
путем добавления операторов, не изменяющих
алгоритм работы программного кода (например,
оператор NOP).

Постоянное видоизменение программного
кода вредоносной программы не позволяет создать
универсальную сигнатуру для данного образца
вредоносной программы. На сегодняшний день, для
противодействия данному методу в антивирусном
программном обеспечении применяются такие
технологии, как эвристический анализ и эмуляция.
18
Технология эвристического
анализа [1]

Методы эвристического сканирования не
обеспечивают какой-либо гарантированной
защиты от новых, отсутствующих в сигнатурном
наборе компьютерных вирусов, что
обусловлено использованием в качестве
объекта анализа сигнатур ранее известных
вирусов, а в качестве правил эвристической
верификации — знаний о механизме
полиморфизма сигнатур. В то же время,
поскольку этот метод поиска базируется на
эмпирических предположениях, полностью
исключить ложные срабатывания нельзя.
19
Технология эвристического
анализа [2]

В ряде случаев эвристические методы
оказываются чрезвычайно успешными, к
примеру, в случае очень коротких
программных частей в загрузочном секторе:
если программа производит запись в сектор 1,
дорожку 0, сторону 0, то это приводит к
изменению раздела накопителя. Но кроме
вспомогательной программы fdisk эта
команда больше нигде не используется, и
потому в случае её неожиданного появления
речь идёт о загрузочном вирусе.
20
Технология эвристического
анализа [3]
В процессе эвристического анализа производится
проверка эмулируемой программы анализатором
кода. К примеру, программа инфицирована
полиморфным вирусом, состоящим из
зашифрованного тела и расшифровщика.
Эмулятор кода считывает инструкции в буфер
антивируса, разбирает их на инструкции и
производит их исполнение по одной инструкции,
после этого анализатор кода подсчитывает
контрольную сумму и сверяет её с той, которая
хранится в базе. Эмуляция будет продолжаться до
тех пор, пока необходимая для подсчета
контрольной суммы часть вируса не будет
расшифрована. Если сигнатура совпала —
программа определена.
21
Недостатки эвристического
сканирования [1]

Чрезмерная подозрительность эвристического
анализатора может вызывать ложные
срабатывания при наличии в программе
фрагментов кода, выполняющего действия
и/или последовательности, в том числе и
свойственные некоторым вирусам. В
частности, распаковщик в файлах,
запакованных PE-упаковщиком (Win)Upack
вызывает ложные срабатывания целого ряда
антивирусных средств, не признающих такой
проблемы.
22
Недостатки эвристического
сканирования [2]

Наличие простых методик обмана
эвристического анализатора. Как правило,
прежде чем распространять вредоносную
программу (вирус), её разработчики
исследуют существующие распространенные
антивирусные продукты, различными
методами избегая её детектирование при
эвристическом сканировании. К примеру,
видоизменяя код, используя элементы,
выполнение которых не поддерживается
эмулятором кода данных антивирусов,
используя шифрование части кода и др.
23
Недостатки эвристического
сканирования [3]

Несмотря на заявления и рекламные
проспекты разработчиков антивирусных
средств относительно совершенствования
эвристических механизмов, эффективность
эвристического сканирования на данный
момент далека от ожидаемой. Независимые
тесты компонентов эвристического анализа
показывают, что уровень обнаружения новых
вредоносных программ составляет не более
чем 40-50 % от их числа.
24
Недостатки эвристического
сканирования [4]

Даже при успешном определении, лечение
неизвестного вируса практически всегда
является невозможным. Как исключение,
некоторыми продуктами возможно лечение
однотипных и ряда полиморфных,
шифрующихся вирусов, не имеющих
постоянного вирусного тела, но использующих
единую методику внедрения. В таком случае,
для лечения десятков и сотен вирусов может
существовать одна запись в вирусной базе, как
это реализовано, к примеру, в антивирусе
Doctor Web.
25
Эмуляция кода
Технология эмуляции позволяет запускать
приложение в среде эмуляции, эмулируя
поведение ОС или центрального процессора.
При выполнении приложения в режиме эмуляции
приложение не сможет нанести вреда системе
пользователя, а вредоносное действие будет
детектировано эмулятором.
26
Эффективность
эмуляции кода

Несмотря на кажущуюся эффективность
данного подхода, он также не лишен
недостатков – эмуляция занимает слишком
много времени и ресурсов компьютера
пользователя, что негативно сказывается на
быстродействии при выполнении повседневных
операций, также, современные вредоносные
программы способны обнаруживать
выполнение в эмулированной среде и
прекращать свое выполнение в ней
27
Анализ поведения

Технология анализа поведения основывается на
перехвате всех важных системных функций
или установке т.н. мини-фильтров, что
позволяет отслеживать всю активность в
системе пользователя. Технология
поведенческого анализа позволяет оценивать
не только единичное действие, но и цепочку
действий, что многократно повышает
эффективность противодействия вирусным
угрозам.

Поведенческий анализ также является
технологической основой для целого класса
программ – поведенческих блокираторов (HIPS
– Host-based Intrusion Systems).
28
Песочница
Sandbox

Песочница обычно представляет собой жёстко
контролируемый набор ресурсов для
исполнения гостевой программы — например,
место на диске или в памяти. Доступ к сети,
возможность сообщаться с главной
операционной системой или считывать
информацию с устройств ввода обычно либо
частично эмулируют, либо сильно ограничивают.
Песочницы представляют собой пример
виртуализации. Повышенная безопасность
исполнения кода в песочнице зачастую связана с
большой нагрузкой на систему — именно
поэтому некоторые виды песочниц используют
только для неотлаженного или подозрительного
кода.
29
Технология песочницы


Технология Песочницы работает по принципу
ограничения активности потенциально
вредоносных приложений таким образом, чтобы
они не могли нанести вреда системе
пользователя.
Ограничение активности достигается за счет
выполнения неизвестных приложений в
ограниченной среде – собственно песочнице,
откуда приложение не имеет прав доступа к
критическим системным файлам, веткам
реестра и другой важной информации.
Технология ограничения привилегий выполнения
является эффективной технологией
противодействия современным угрозам, но,
следует понимать, что пользователь должен
обладать знаниями, необходимыми для
правильной оценки неизвестного приложения.
30
Применение песочницы
Как правило, песочницы используют для запуска
непроверенного кода из неизвестных источников,
как средство проактивной защиты от
вредоносного кода, а также для обнаружения и
анализа вредоносных программ. Также зачастую
песочницы используются в процессе разработки
программного обеспечения для запуска «сырого»
кода, который может случайно повредить
систему или испортить сложную конфигурацию.
Такие «тестировочные» песочницы копируют
основные элементы среды, для которой пишется
код, и позволяют разработчикам быстро и
безболезненно экспериментировать с
неотлаженным кодом.
31
Виртуализация рабочего
окружения

Технология виртуализации рабочего окружения
работает с помощью системного драйвера, который
перехватывает все запросы на запись на жесткий диск
и вместо выполнения записи на реальный жесткий диск
выполняет запись в специальную дисковую область –
буфер. Таким образом, даже в том случае, если
пользователь запустит вредоносное программное
обеспечение, оно проживет не далее чем до очистки
буфера, которая по умолчанию выполняется при
выключении компьютера.

Однако следует понимать, что технология
виртуализации рабочего окружения не сможет
защитить от вредоносных программ, основной целью
которых является кража конфиденциальной
информации, т.к. доступ на чтение к жесткому диску
не запрещен.
32
Лжеантивирусы

В 2009 началось активное распространение
т.н. лжеантивирусов — программного
обеспечения, не являющегося антивирусным
(то есть не имеющего реального функционала
для противодействия вредоносным
программам), но выдающим себя за таковое.
По сути, лжеантивирусы могут являться как
программами для обмана пользователей и
получения прибыли в виде платежей за
«лечение системы от вирусов», так и обычным
вредоносным программным обеспечением.

В настоящий момент это распространение
приостановлено.
33
Ваши вопросы
34
Download