Министерство образования и науки РФ
ФГБОУ ВПО “МГТУ”
Институт энергетики и автоматизированных систем
Реферат
По информатике
На тему:
”Классификация антивирусных программ”
Выполнил:
Проверил: зав. кафедрой ИиИБ, д.т.н
Магнитогорск 2014
Содержание
Классификация антивирусных программ 1
Введение 3
1. Классификация антивирусов 5
1.1. По режиму работы 5
1.2. По типу 5
1.3. По признаку изменяемости во времени 8
2. Технологии обнаружения вирусов 9
2.1. Технологии сигнатурного анализа 9
2.2. Технологии вероятностного анализа 10
3. Антивирусные комплексы 11
3.1 Проблемы традиционного антивирусного ПО 12
3.2 Антивирусная защита из облака 13
Список используемых источников 15
Введение
Антивирусная программа (антивирус) — специализированная программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ вообще и восстановления заражённых (модифицированных) такими программами файлов, а также для профилактики — предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом.
Антивирусные программы развивались параллельно с эволюцией вирусов. По мере того как появлялись новые технологии создания вирусов, усложнялся и математический аппарат, который использовался в разработке антивирусов.
Первые антивирусные алгоритмы строились на основе сравнения с эталоном. Речь идет о программах, в которых вирус определяется классическим ядром по некоторой маске. Смысл алгоритма заключается в использовании статистических методов. Маска должна быть, с одной стороны, маленькой, чтобы объем файла был приемлемых размеров, а с другой — достаточно большой, чтобы избежать ложных срабатываний (когда «свой» воспринимается как «чужой», и наоборот).
Первые антивирусные программы, построенные по этому принципу (так называемые сканеры-полифаги), знали некоторое количество вирусов и умели их лечить. Создавались эти программы следующим образом: разработчик, получив код вируса (код вируса поначалу был статичен), составлял по этому коду уникальную маску (последовательность 10-15 байт) и вносил ее в базу данных антивирусной программы. Антивирусная программа сканировала файлы и, если находила данную последовательность байтов, делала заключение о том, что файл инфицирован. Данная последовательность (сигнатура) выбиралась таким образом, чтобы она была уникальной и не встречалась в обычном наборе данных.
Описанные подходы использовались большинством антивирусных программ вплоть до середины 90-х годов, когда появились первые полиморфные вирусы, которые изменяли свое тело по непредсказуемым заранее алгоритмам. Тогда сигнатурный метод был дополнен так называемым эмулятором процессора, позволяющим находить шифрующиеся и полиморфные вирусы, не имеющие в явном виде постоянной сигнатуры.
Если обычно условная цепочка состоит из трех основных элементов: ЦПУ®ОС®Программа, то при эмуляции процессора в такую цепочку добавляется эмулятор. Эмулятор как бы воспроизводит работу программы в некотором виртуальном пространстве и реконструирует ее оригинальное содержимое. Эмулятор всегда способен прервать выполнение программы, контролирует ее действия, не давая ничего испортить, и вызывает антивирусное сканирующее ядро.
Второй механизм, появившийся в середине 90-х годов и использующийся всеми антивирусами, — это эвристический анализ. Дело в том, что аппарат эмуляции процессора, который позволяет получить выжимку действий, совершаемых анализируемой программой, не всегда дает возможность осуществлять поиск по этим действиям, но позволяет произвести некоторый анализ и выдвинуть гипотезу типа «вирус или не вирус?».
В данном случае принятие решения основывается на статистических подходах. А соответствующая программа называется эвристическим анализатором.
Для того чтобы размножаться, вирус должен совершать какие-либо конкретные действия: копирование в память, запись в сектора и т.д. Эвристический анализатор (он является частью антивирусного ядра) содержит список таких действий, просматривает выполняемый код программы, определяет, что она делает, и на основе этого принимает решение, является данная программа вирусом или нет.
При этом процент пропуска вируса, даже неизвестного антивирусной программе, очень мал. Данная технология сейчас широко используется во всех антивирусных программах.
Классификация антивирусов
В настоящее время не существует единой системы классификации антивирусных программ.
Классификация антивирусов по режиму работы
В Лаборатории Касперского классифицируют антивирусы по режиму работы:
Проверка в режиме реального времени
Проверка в режиме реального времени, или постоянная проверка, обеспечивает непрерывность работы антивирусной защиты. Это реализуется с помощью обязательной проверки всех действий, совершаемых другими программами и самим пользователем, на предмет вредоносности, вне зависимости от их исходного расположения – будь это свой жесткий диск, внешние носители информации, другие сетевые ресурсы или собственная оперативная память. Также проверке подвергаются все косвенные действия через третьи программы.
Проверка по требованию
В некоторых случаях наличия постоянно работающей проверки в режиме реального времени может быть недостаточно. Возможна ситуация, когда на компьютер был скопирован зараженный файл, исключенный из постоянной проверки ввиду больших размеров и следовательно вирус в нем обнаружен не был. Если этот файл на рассматриваемом компьютере запускаться не будет, то вирус может остаться незамеченным и проявить себя только после пересылки его на другой компьютер.
Для такого режима обычно предполагается, что пользователь лично укажет какие файлы, каталоги или области диска необходимо проверить и время, когда нужно произвести такую проверку – в виде расписания или разового запуска вручную.
Классификация антивирусов по типу
Также антивирусные программы можно классифицировать по типу:
Сканеры (другие названия: фаги, полифаги)
Принцип работы антивирусных сканеров основан на проверке файлов, секторов и системной памяти и поиске в них известных и новых (неизвестных сканеру) вирусов. Для поиска известных вирусов используются так называемые маски. Маской вируса является некоторая постоянная последовательность кода, специфичная для этого конкретного вируса. Если вирус не содержит постоянной маски, или длина этой маски недостаточно велика, то используются другие методы. Примером такого метода является алгоритмический язык, описывающий все возможные варианты кода, которые могут встретиться при заражении подобного типа вирусом. Такой подход используется некоторыми антивирусами для детектирования полиморфик-вирусов.
Во многих сканерах используются также алгоритмы эвристического сканирования, т.е. анализ последовательности команд в проверяемом объекте, набор некоторой статистики и принятие решения для каждого проверяемого объекта.
Сканеры также можно разделить на две категории - универсальные и специализированные. Универсальные сканеры рассчитаны на поисх и обезвреживание всех типов вирусов вне зависимости от операционной системы, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, например макро-вирусов.
Сканеры также делятся на резидентные (мониторы), производящие сканирование на-лету, и нерезидентные, обеспечивающие проверку системы только по запросу. Как правило, резидентные сканеры обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как нерезидентный сканер способен опознать вирус только во время своего очередного запуска.
CRC-сканеры
Принцип работы CRC-сканеров основан на подсчете CRC-сумм (контрольных сумм) для присутствующих на диске файлов/системных секторов. Эти CRC-суммы затем сохраняются в базе данных антивируса, как, впрочем, и некоторая другая информация: длины файлов, даты их последней модификации и т.д. При последующем запуске CRC-сканеры сверяют данные, содержащиеся в базе данных, с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то CRC-сканеры сигнализируют о том, что файл был изменен или заражен вирусом.
CRC-сканеры не способны поймать вирус в момент его появления в системе, а делают это лишь через некоторое время, уже после того, как вирус разошелся по компьютеру. CRC-сканеры не могут определить вирус в новых файлах (в электронной почте, на дискетах, в файлах, восстанавливаемых из backup или при распаковке файлов из архива), поскольку в их базах данных отсутствует информация об этих файлах. Более того, периодически появляются вирусы, которые используют эту слабость CRC-сканеров, заражают только вновь создаваемые файлы и остаются, таким образом, невидимыми для них.
Блокировщики
Антивирусные блокировщики - это резидентные программы, перехватывающие вирусо-опасные ситуации и сообщающие об этом пользователю. К вирусо-опасным относятся вызовы на открытие для записи в выполняемые файлы, запись в boot-сектора дисков или MBR винчестера, попытки программ остаться резидентно и т.д., то есть вызовы, которые характерны для вирусов в моменты из размножения.
К достоинствам блокировщиков относится их способность обнаруживать и останавливать вирус на самой ранней стадии его размножения. К недостаткам относятся существование путей обхода защиты блокировщиков и большое количество ложных срабатываний.
Иммунизаторы
Иммунизаторы делятся на два типа: иммунизаторы, сообщающие о заражении, и иммунизаторы, блокирующие заражение. Первые обычно записываются в конец файлов (по принципу файлового вируса) и при запуске файла каждый раз проверяют его на изменение. Недостаток у таких иммунизаторов всего один, но он летален: абсолютная неспособность сообщить о заражении стелс-вирусом. Поэтому такие иммунизаторы, как и блокировщики, практически не используются в настоящее время.
Второй тип иммунизации защищает систему от поражения вирусом какого-то определенного вида. Файлы на дисках модифицируются таким образом, что вирус принимает их за уже зараженные. Для защиты от резидентного вируса в память компьютера заносится программа, имитирующая копию вируса. При запуске вирус натыкается на нее и считает, что система уже заражена.
Такой тип иммунизации не может быть универсальним, поскольку нельзя иммунизировать файлы от всех известных вирусов.
Классификация антивирусов по признаку изменяемости во времени
По мнению Валерия Конявского, антивирусные средства можно разделить на две большие группы - анализирующие данные и анализирующие процессы.
Анализ данных
К анализу данных относятся ревизоры и полифаги. Ревизоры анализируют последствия от деятельности компьютерных вирусов и других вредоносных программ. Последствия проявляются в изменении данных, которые изменяться не должны. Именно факт изменения данных является признаком деятельности вредоносных программ с точки зрения ревизора. Другими словами, ревизоры контролируют целостность данных и по факту нарушения целостности принимают решение о наличии в компьютерной среде вредоносных программ.
Полифаги действуют по-другому. Они на основе анализа данных выделяют фрагменты вредоносного кода (например, по его сигнатуре) и на этой основе делают вывод о наличии вредоносных программ. Удаление или лечение пораженных вирусом данных позволяет предупредить негативные последствия исполнения вредоносных программ. Таким образом, на основе анализа в статике предупреждаются последствия, возникающие в динамике.
Схема работы и ревизоров, и полифагов практически одинакова - сравнить данные (или их контрольную сумму) с одним или несколькими эталонными образцами. Данные сравниваются с данными. Таким образом, для того чтобы найти вирус в своем компьютере, нужно, чтобы он уже сработал, чтобы появились последствия его деятельности. Этим способом можно найти только известные вирусы, для которых заранее описаны фрагменты кода или сигнатуры. Вряд ли такую защиту можно назвать надежной.
Анализ процессов
Несколько по-иному работают антивирусные средства, основанные на анализе процессов. Эвристические анализаторы, так же как и вышеописанные, анализируют данные (на диске, в канале, в памяти и т.п.). Принципиальное отличие состоит в том, что анализ проводится в предположении, что анализируемый код - это не данные, а команды (в компьютерах с фон-неймановской архитектурой данные и команды неразличимы, в связи с этим при анализе и приходится выдвигать то или иное предположение.)
Эвристический анализатор выделяет последовательность операций, каждой из них присваивает некоторую оценку опасности и по совокупности опасности принимает решение о том, является ли данная последовательность операций частью вредоносного кода. Сам код при этом не выполняется.
Другим видом антивирусных средств, основанных на анализе процессов, являются поведенческие блокираторы. В этом случае подозрительный код выполняется поэтапно до тех пор, пока совокупность инициируемых кодом действий не будет оценена как опасное (либо безопасное) поведение. Код при этом выполняется частично, так как завершение вредоносного кода можно будет обнаружить более простыми методами анализа данных.
Технологии обнаружения вирусов
Технологии, применяемые в антивирусах, можно разбить на две группы:
• Технологии сигнатурного анализа
• Технологии вероятностного анализа
Технологии сигнатурного анализа
Сигнатурный анализ - метод обнаружения вирусов, заключающийся в проверке наличия в файлах сигнатур вирусов. Сигнатурный анализ является наиболее известным методом обнаружения вирусов и используется практически во всех современных антивирусах. Для проведения проверки антивирусу необходим набор вирусных сигнатур, который хранится в антивирусной базе.
Ввиду того, что сигнатурный анализ предполагает проверку файлов на наличие сигнатур вирусов, антивирусная база нуждается в периодическом обновлении для поддержания актуальности антивируса. Сам принцип работы сигнатурного анализа также определяет границы его функциональности - возможность обнаруживать лишь уже известные вирусы - против новых вирусов сигнатурный сканер бессилен.
С другой стороны, наличие сигнатур вирусов предполагает возможность лечения инфицированных файлов, обнаруженных при помощи сигнатурного анализа. Однако, лечение допустимо не для всех вирусов - трояны и большинство червей не поддаются лечению по своим конструктивным особенностям, поскольку являются цельными модулями, созданными для нанесения ущерба.
Грамотная реализация вирусной сигнатуры позволяет обнаруживать известные вирусы со стопроцентной вероятностью.
Технологии вероятностного анализа
Технологии вероятностного анализа в свою очередь подразделяются на три категории:
• Эвристический анализ
• Поведенческий анализ
• Анализ контрольных сумм
Эвристический анализ
Эвристический анализ - технология, основанная на вероятностных алгоритмах, результатом работы которых является выявление подозрительных объектов. В процессе эвристического анализа проверяется структура файла, его соответствие вирусным шаблонам. Наиболее популярной эвристической технологией является проверка содержимого файла на предмет наличия модификаций уже известных сигнатур вирусов и их комбинаций. Это помогает определять гибриды и новые версии ранее известных вирусов без дополнительного обновления антивирусной базы.
Эвристический анализ применяется для обнаружения неизвестных вирусов, и, как следствие, не предполагает лечения. Данная технология не способна на 100% определить вирус перед ней или нет, и как любой вероятностный алгоритм грешит ложными срабатываниями.
Поведенческий анализ
Поведенческий анализ - технология, в которой решение о характере проверяемого объекта принимается на основе анализа выполняемых им операций. Поведенческий анализ весьма узко применим на практике, так как большинство действий, характерных для вирусов, могут выполняться и обычными приложениями. Наибольшую известность получили поведенческие анализаторы скриптов и макросов, поскольку соответствующие вирусы практически всегда выполняют ряд однотипных действий.
Средства защиты, вшиваемые в BIOS, также можно отнести к поведенческим анализаторам. При попытке внести изменения в MBR компьютера, анализатор блокирует действие и выводит соответствующее уведомление пользователю.
Помимо этого поведенческие анализаторы могут отслеживать попытки прямого доступа к файлам, внесение изменений в загрузочную запись дискет, форматирование жестких дисков и т. д.
Поведенческие анализаторы не используют для работы дополнительных объектов, подобных вирусным базам и, как следствие, неспособны различать известные и неизвестные вирусы - все подозрительные программы априори считаются неизвестными вирусами. Аналогично, особенности работы средств, реализующих технологии поведенческого анализа, не предполагают лечения.
Анализ контрольных сумм
Анализ контрольных сумм - это способ отслеживания изменений в объектах компьютерной системы. На основании анализа характера изменений - одновременность, массовость, идентичные изменения длин файлов - можно делать вывод о заражении системы. Анализаторы контрольных сумм (также используется название ревизоры изменений) как и поведенческие анализаторы не используют в работе дополнительные объекты и выдают вердикт о наличии вируса в системе исключительно методом экспертной оценки. Подобные технологии применяются в сканерах при доступе - при первой проверке с файла снимается контрольная сумма и помещается в кэше, перед следующей проверкой того же файла сумма снимается еще раз, сравнивается, и в случае отсутствия изменений файл считается незараженным.
Антивирусные комплексы
Антивирусный комплекс — набор антивирусов, использующих одинаковое антивирусное ядро или ядра, предназначенный для решения практических проблем по обеспечению антивирусной безопасности компьютерных систем. В антивирусный комплекс также в обязательном порядке входят средства обновления антивирусных баз.
Помимо этого антивирусный комплекс дополнительно может включать в себя поведенческие анализаторы и ревизоры изменений, которые не используют антивирусное ядро.
Выделяют следующие типы антивирусных комплексов:
• Антивирусный комплекс для защиты рабочих станций
• Антивирусный комплекс для защиты файловых серверов
• Антивирусный комплекс для защиты почтовых систем
• Антивирусный комплекс для защиты шлюзов.
Проблемы традиционного антивирусного ПО
В последнее время традиционные антивирусные технологии становятся все менее эффективными, быстро устаревают, что обусловлено рядом факторов. Количество вирусных угроз, распознаваемых по сигнатурам, уже настолько велико, что обеспечить своевременное 100%-ное обновление сигнатурных баз на пользовательских компьютерах – это часто нереальная задача. Хакеры и киберпреступники все чаще используют ботнеты и другие технологии, ускоряющие распространение вирусных угроз нулевого дня. Кроме того, при проведении таргетированных атак сигнатуры соответствующих вирусов не создаются. Наконец, применяются новые технологии противодействия антивирусному обнаружению: шифрование вредоносного ПО, создание полиморфных вирусов на стороне сервера, предварительное тестирование качества вирусной атаки.
Традиционная антивирусная защита чаще всего строится в архитектуре «толстого клиента». Это означает, что на компьютер клиента устанавливается объемный программный код. С его помощью выполняется проверка поступающих данных и выявляется присутствие вирусных угроз.
Такой подход имеет ряд недостатков. Во-первых, сканирование в поисках вредоносного ПО и сравнение сигнатур требует значительной вычислительной нагрузки, которая «отнимается» у пользователя. В результате продуктивность компьютера снижается, а работа антивируса иногда мешает выполнять параллельно прикладные задачи. Иногда нагрузка на пользовательскую систему бывает настолько заметна, что пользователи отключают антивирусные программы, убирая тем самым заслон перед потенциальной вирусной атакой.
Во-вторых, каждое обновление на машине пользователя требует пересылки тысяч новых сигнатур. Объем передаваемых данных обычно составляет порядка 5 Мбайт в день на одну машину. Передача данных тормозит работу сети, отвлекает дополнительные системные ресурсы, требует привлечения системных администраторов для контроля трафика.
В-третьих, пользователи, находящиеся в роуминге или на удалении от стационарного места работы, оказываются беззащитны перед атаками нулевого дня. Для получения обновленной порции сигнатур они должны подключиться к VPN-сети, которая удаленно им недоступна.
Антивирусная защита из облака
При переходе на антивирусную защиту из облака архитектура решения существенно меняется. На компьютере пользователя устанавливается «легковесный» клиент, основная функция которого – поиск новых файлов, расчет хэш-значений и пересылка данных облачному серверу. В облаке проводится полномасштабное сравнение, выполняемое на большой базе собранных сигнатур. Эта база постоянно и своевременно обновляется за счет данных, передаваемых антивирусными компаниями. Клиент получает отчет с результатами проведенной проверки.
Таким образом, облачная архитектура антивирусной защиты имеет целый ряд преимуществ:
• объем вычислений на пользовательском компьютере оказывается ничтожно мал по сравнению с толстым клиентом, следовательно, продуктивности работы пользователя не снижается;
• нет катастрофического влияния антивирусного трафика на пропускную способность сети: пересылке подлежит компактная порция данных, содержащая всего несколько десятков хэш-значений, средний объем дневного трафика не превышает 120 Кбайт;
• облачное хранилище содержит огромные массивы сигнатур, значительно больше тех, которые хранятся на пользовательских компьютерах;
• алгоритмы сравнения сигнатур, применяемые в облаке, отличаются значительно более высокой интеллектуальностью по сравнению с упрощенными моделями, которые используются на уровне локальных станций, а благодаря более высокой производительности для сравнения данных требуется меньше времени;
• облачные антивирусные службы работают с реальными данными, получаемыми от антивирусных лабораторий, разработчиков средств безопасности, корпоративных и частных пользователей; угрозы нулевого дня блокируются одновременно с их распознаванием, без задержки, вызванной необходимостью получения доступа к пользовательским компьютерами;
• пользователи в роуминге или не имеющие доступа к своим основным рабочим местам, получают защиту от атак нулевого дня одновременно с выходом в Интернет;
• снижается загрузка системных администраторов: им не требуется тратить время на установку антивирусного ПО на компьютеры пользователей, а также обновления баз сигнатур.
Список используемых источников
1. http://www.tadviser.ru/
2. http://ru.wikipedia.org
3. http://compress.ru/article.aspx?id=10112
Классификация антивирусных программ
Реферат по предмету «Программирование»