В.В. Киселев, В.А. Ярош
кандидат технических наук
ПРОТИВОДЕЙСТВИЕ ВРЕДОНОСНЫМ ПРОГРАММАМ: СПОСОБЫ
И СРЕДСТВА
В настоящее время в теории и практике информационной безопасности сложились два принципиально различных направления реализации способов противодействия вредоносным программам, первое из которых основано на концепции структурнонезависимых механизмов защиты информации и предполагает независимость информационных процессов и процессов противодействия таким программам [1—4], а второе, основанное на концепции структурно-зависимых механизмов защиты информации, предполагает зависимость этих процессов [5—7].
В соответствии с первым направлением средства противодействия вредоносным программам и программное обеспечение (ПО) защищенных информационных систем проектируются и разрабатываются независимо друг от друга, причем средства противодействия вредоносным программам придаются к уже разработанному ПО. Особенностью механизма противодействия в этом случае является то, что функции обнаружения вредоносных программ реализуются путем периодического контроля целостности вычислительной среды защищенных информационных систем с целью регистрации несанкционированных изменений, вызванных вредоносными программами.
В соответствии со вторым направлением реализуется двухуровневая система идентификации воздействий вредоносных программ: идентификация факта воздействия и идентификация следов воздействия. В свою очередь, идентификация факта воздействия вредоносной программы представляется двухуровневым механизмом контроля процессов функционирования защищенной информационной системы, регистрирующим некорректное поведение ее ПО:
путем сравнения текущих результатов выполнения функций обработки информации и функций контроля, полученных в динамике функционирования ПО;
путем выполнения операций сравнения текущих параметров вычислительного процесса в защищенной информационной системе с заранее известными эталонными величинами.
Особенностью такой совокупности средств контроля является то, что каждое такое средство в отдельности обладает ограниченными контролирующими характеристиками вредоносных функций, так как может охватить лишь некоторые, в основном неявные, признаки и проявления вредоносных программ. Для правильного принятия решения о том, что некорректное функционирование ПО защищенной информационной системы обусловлено именно воздействием вредоносных программ, производится анализ всей совокупности формируемых в результате идентификации фактов воздействия значимых признаков такого функционирования (трассология воздействия). При этом
анализируется последовательность всех контрольных точек и вызовов элементов ПО в соответствии с иерархией его построения с целью получения информации о времени, месте и условиях проявления воздействия вредоносной программы и последствий такого воздействия.
В основу реализации структурно-независимых механизмов идентификации вредоносных программ в защищенных информационных системах положены способы их детектирования с помощью профессиональных пакетов антивирусных средств. Основными методами при этом являются:
сканирование;
эвристическое сканирование;
СЯС-сканирование;
антивирусный мониторинг;
иммунизация.
Принцип работы антивирусных сканеров основан на проверке файлов, секторов и системной памяти, а также поиске в них известных и новых (неизвестных сканеру) вирусов. Для поиска известных вирусов используются так называемые «сигнатуры» — последовательности байтов, однозначно характерные для конкретного вируса.
Длина сигнатуры должна быть как можно больше, а в идеале — в сигнатуру должна входить вся неизменяемая часть вируса, что гарантирует однозначность идентификации. Вместе с тем это бы значительно увеличило объем антивируса и существенно замедлило бы процесс сканирования. Как правило, целесообразной считается длина сигнатуры от единиц байт до десятков байт, но не больше.
Сканеры делятся на резидентные, производящие постоянное сканирование в режиме реального времени, и нерезидентные, обеспечивающие проверку системы только по запросу. Как правило, резидентные сканеры обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как нерезидентный сканер способен опознать вирус только во время своего очередного запуска. К достоинствам сканеров всех типов относится их универсальность, к недостаткам — размеры антивирусных баз, которые сканерам приходится включать в себя, и относительно небольшую скорость поиска вирусов.
Используемые во многих антивирусных пакетах алгоритмы анализа последовательности команд с целью формирования некоторой статистики и принятия решений о возможности заражения для каждого проверяемого объекта в известной литературе получили название методов эвристического сканирования. Универсальность методов эвристического сканирования позволяет детектировать большое количество вредоносных программ. Поскольку эвристическое сканирование является во многом вероятностным методом поиска вредоносных программ, то на него распространяются многие законы теории вероятностей. Например, чем выше процент обнаруживаемых вирусов, тем больше количество ложных срабатываний. Недостатком методов эвристического сканирования является относительно невысокая скорость поиска вредоносных программ. Следует заметить, что наблюдаемая в последнее время тенденция применения в эвристических сканерах так называемых антивирусных баз, где хранится информация о характерных фрагментах кодов вредоносных программ, позволяет лишь повысить возможности обнаружения таких программ, в то время как скорость их поиска практически не увеличивается.
Некоторые антивирусные средства для обнаружения вредоносных программ реализуют алгоритмы, основанные на подсчете контрольных сумм (СЯС-сумм) для всех хранимых на носителях файлов и системных секторов. Информация о контрольных суммах, а также данные о длине файлов, даты их последней модификации и т.д. сводится в базу данных и используется при последующих запусках СЯС-сканеров для
сравнения с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то CRC-сканеры сигнализируют о воздействии вредоносной программы. Анализ алгоритмов CRC-сканирования показывает, что наилучшие возможности по обнаружению вредоносных программ имеют CRC-сканеры, использующие так называемые «антистелс»-алгоритмы. Однако у этого типа антивирусов есть принципиальный недостаток, состоящий в том, что CRC-сканеры не способны обнаружить вредоносную программу в момент ее появления в системе, а делают это лишь через некоторое время, уже после того, как вредоносная программа стала реализовывать свои функции. CRC-сканеры не могут детектировать вредоносную программу в новых файлах, например в электронной почте, на дискетах, в файлах, восстанавливаемых из файлов типа «backup» или при распаковке файлов из архива), поскольку в их базах данных отсутствует информация об этих файлах. Более того, периодически появляются вредоносные программы, которые используют эту «слабость» CRC-сканеров, заражают только вновь создаваемые файлы и остаются, таким образом, невидимыми для CRC-сканеров.
Антивирусные мониторы — это резидентные программы, контролирующие возникновение ситуаций, связанных с функционированием вредоносных программ. К таким ситуациям относятся вызовы на открытие для записи в выполняемые файлы, запись в загрузочные секторы дисков или MBR винчестера, попытки программ остаться резидентно и т. д., то есть вызовы, которые характерны для программ вирусного типа. К достоинствам мониторов относится их способность обнаруживать и блокировать вредоносные программы на самой ранней стадии их проявления. К недостаткам относится большое количество ложных срабатываний, что, видимо, и стало причиной непопулярности подобного рода антивирусных программ среди пользователей.
В последнее время, благодаря своей надежности, появились антивирусные мониторы, выполненные в виде аппаратных компонентов компьютера. Наиболее распространенной является встроенная в BIOS защита от записи в MBR винчестера, а также ряд универсальных аппаратных мониторов. Вместе с тем, сложность настройки и требования аппаратной совместимости таких типов мониторов серьезно сдерживает их применение.
Иммунизаторы — это программы, имитирующие заражение файлов вредоносными программами. Иммунизаторы делятся на два типа: иммунизаторы, осуществляющие контроль собственного тела, и иммунизаторы, блокирующие заражение определенным типом вредоносной программы. Первые обычно записываются в конец файлов (по принципу файлового вируса) и при запуске файла каждый раз проверяют его на изменение. Недостатком таких иммунизаторов является неспособность детектировать заражение вредоносной программой, использующей «стелс»-алгоритм. Второй тип иммунизации защищает элементы компьютерных сетей от поражения вирусом определенного вида. Файлы на дисках модифицируются таким образом, что вирус воспринимает их как уже зараженные. Для защиты от вредоносных программ с механизмами резидентного вируса в память компьютера заносится программа, имитирующая копию вируса: при попытке вредоносной программы внедриться в файлы иммунизатор сообщает ей о том, что файлы уже заражены.
Анализ отечественных и зарубежных антивирусных средств показывает, что большинство из такого рода средств используют несколько механизмов детектирования вредоносных программ. В таблице 1 представлены результаты такого анализа.
Следует отметить, что качественное детектирование в большинстве случаев обеспечивается более новыми антивирусными средствами, базы данных которых имеют, как правило, сигнатуры самых новых вредоносных программ.
Таблица 1
Наименование антивирусного средства Механизм
Сканирова- ние Эвристическое сканирование CRC — сканирование Мониторинг Иммуниза- ция
ADINF («Диалог- Наука») +
DrWeb («Диалог- Наука») + +
AVP («Лаборатория Касперского») + +
Norton AntiVirus (Norton Inc.) + +
McAfee SCAN +
Service Pack +
Анализ типовых ситуаций воздействия вредоносных программ на информационные процессы в защищенных информационных системах позволил установить, что действия вредоносных программ, как специфичного вида резидентных компьютерных вирусов файлового типа формально можно представить следующей последовательностью шагов:
перехват управления путем передачи ложного запроса базовому модулю операционной системы на обслуживание функций прерываний по выполнению программ (шаг 1);
восстановление исходного вида программы, в которую внедрена вредоносная программа (шаг 2);
инфицирование оперативной памяти компьютера (шаг 3);
выполнение вредоносных функций по противоправному манипулированию информацией (шаг 4);
возврат управления основной программе (шаг 5).
Существо соответствующих этим шагам способов идентификации воздействий вредоносных программ заключается в следующем.
Наиболее целесообразной формой обнаружения действий вредоносных программ, соответствующих шагам 1, 2 и 3, является:
1) сравнение последовательности выполняемых контрольных точек в программе с эталонной (контрольная функция типа 1);
2) анализ начала файла на наличие кодов команды перехода или кода, не соответствующего реальному адресу ее запуска, относящийся к типу контрольных операций проверки соответствия данных области значений (контрольная операция типа 1);
3) анализ векторов прерываний, соответствующих функциям загрузки и выполнения программ, также относящийся к типу контрольных операций проверки соответствия данных области значений (контрольная операция типа 1).
Так как при выполнении данных шагов вредоносная программа реализует системные функции, то операции обнаружения должны производиться только компонентами операционной системы под управлением ее базового модуля. При этом эталонная последовательность контрольных точек должна быть защищена.
Для контроля выполнения вредоносных функций (шаг 4) целесообразно использовать систему контрольных проверок, контролирующих как выполнение отдельных операций, так и реализацию целых функций ПО по обработке и передаче информации в защищенных информационных системах. При этом проверка операций обработки и передачи информации в ПМ осуществляется операциями контроля, а проверка функций обработки — функциями контроля, реализуемыми отдельными модулями контроля. Основными операциями контроля являются:
проверка соответствия данных области значений (контрольная операция типа 1); проверка предельных значений входных данных, промежуточных и выходных результатов (контрольная операция типа 2);
проверка времени выполнения ПМ (контрольная операция типа 3); проверка периодичности выдачи результатов или периодичности выполнения ПМ (контрольная операция типа 4);
проверка соответствия данных их типам (контрольная операция типа 5); проверка формата записей данных требуемым шаблонам (контрольная операция типа 6).
К числу основных функций контроля относятся:
проверка получаемых результатов путем обработки другим методом (контрольная функция типа 2);
проверка результатов путем получения из них исходных данных обратной обработкой (контрольная функция типа 3);
проверка расчетных значений некоторых признаков получаемых результатов (число записей, объемы массивов и т.д.) с их текущими значениями (контрольная функция типа 4);
проверка текущих значений полей данных в записях и массивах путем сравнения результатов выполнения математических операций над ними с заранее вычисленными условиями (контрольная функция типа 5);
проверка текущих значений результатов обработки со значениями математически или логически связанных с ними величин (контрольная функция типа 6);
проверка смысловых соотношений между результатами обработки (контрольная функция типа 7).
Так как при выполнении данного шага вредоносная программа реализует прикладные функции, то операции обнаружения ее воздействия могут производиться компонентами прикладного ПО без привлечения компонентов операционной системы.
Наиболее целесообразной формой контроля действий вредоносной программы на шаге возврата управления основной программе (шаг 5) является, как и на шаге перехвата управления (шаг 1), сравнение последовательности выполняемых контрольных точек в программе с эталонной (контрольная функция типа 1), выполняемой компонентами операционной системы.
Обобщенные результаты рассмотренного анализа способов обнаружения воздействий вредоносных программ приводятся в таблице 2.
Таблица 2
Шаг действия
вредоносной Форма контроля Уровень контроля
программы
1 Контрольная функция типа 1 Системный
2 Контрольная операция типа 1 Системный
3 Контрольная операция типа 1 Системный
4 Контрольные операции типа 1-6 Контрольные функции типа 2-7 Прикладной
5 Контрольная функция типа 1 Системный
Особенностью идентификации следов воздействия вредоносных программ является прослеживание через точки вызова программных модулей всей последовательности выполнения информационного процесса во всех контрольных точках. Сами же контрольные точки выбираются исходя из требований достоверности идентификации фактов воздействия вредоносных программ.
ЛИТЕРАТУРА
1. Козлов В.Е. Теория и практика борьбы с компьютерной преступностью /
В.Е. Козлов. — М.: Горячая линия - Телеком, 2002.— 176 с.
2. Касперски К. Техника сетевых атак. Приемы противодействия / К. Касперски. — М.: Солон-Р, 2001.— 397 с.
3. Сердюк В. А. Перспективные технологии обнаружения информационных атак / В.А. Сердюк // Системы безопасности.— 2002.— № 5(47).— С. 96—97.
4. Антимонов С.Г. Интеллектуальные противостояния по линии фронта Вирус-антивирус // Информация и безопасность: материалы межрегиональной научно-практ. конф.— Информация и безопасность.— Выпуск 2.— Воронеж: ВГТУ, 2002.— С. 39—46.
5. Распределенный антивирусный контроль как способ противодействия вредоносным программам в автоматизированных информационных системах / С. В. Скрыль и др. // Радиосистемы.— Вып. 37 «Радиотехнические и информационные системы охраны и безопасности».— Радиотехника.— 1999.— №6.— С. 27—30.
6. Минаев В.А. Принципы организации противодействия вредоносным программам в информационно-телекоммуникационных системах на основе оптимизации их функционирования / В. А. Минаев, С.В. Скрыль // Радиосистемы.— Вып. 47 «Радиотехнические и информационные системы охраны и безопасности».— Радиотехника.— 2000.— №9.— С. 71—72.
7. Лозинский Д.Н. Информационная безопасность. Проблема нового тысячелетия / Д.Н. Лозинский, Е.В. Плескач // Системы безопасности.— 2002.— № 4(46).— С. 13.