бесплатные прокси листы

Загрузка...

Макро-вирусы. Технологии защиты

23:22
Рейтинг материала:
39/39 из 39 голосов


1. Вместо введения.

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

Макросы, как правило, используются для решения следующих задач:

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

Другими словами, пользователь может произвольно расширить возможности используемого программного обеспечения. Проблема же состоит в том, что на возможности расширения функций офисных приложений практически нет никаких ограничений. Ядро автоматизации составляет Visual Basic for Application (VAP). Он включает в себя функции работы с реестром и файловой системой, что позволяет осуществлять деструктивные действия не только по отношению к обрабатываемым данным, но и в отношении системных ресурсов.

Высокая распространенность макро-вирусов имеет очень простое объяснение.

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

Во-вторых, простота создания макро-вирусов. Для того чтобы написать вирус, например, для MS Word, достаточно изучить азы языка программирования VBA. Несмотря на то, что он является самым простым и доступным среди всех остальных языков, вместе с тем, данный язык предоставляет злоумышленникам достаточно возможностей для того, чтобы похитить или уничтожить важную информацию, либо надолго вывести компьютер из строя.

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

Стоит также сказать, что в последнее время макро-вирусы все чаще используются совместно с другими вирусными атаками. Так, например, Kukudro.A – это макро-вирус, внедряющий на зараженные компьютеры троян Downloader.JIH.

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

Недостатки первого подхода:

  • средства защиты надежно выявляют и "лечат" только известные вирусы, сигнатуры которых включены в базу данных вирусных записей. Т.е. в любой момент времени существуют и злоумышленникам известны (поскольку ими созданы) макро-вирусы, не включенные в базу средств защиты, т.е. в любой произвольно взятый момент времени любой компьютер можно считать уязвимым. Следовательно, защита отсутствует как таковая;
  • требуется постоянное пополнение баз данных сигнатур вирусных записей данными сигнатур новых вирусов. На сегодняшний день эти базы могут содержать десятки тысяч (приближается к сотне тысяч) записей. А это делает практически не применимыми на практике подобные средства защиты, т.к. проверка больших объемов данных может занимать часы – о возможности защиты в реальном масштабе времени при использовании данного подхода следует забыть и по этой причине.

Недостатки второго подхода:

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

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

2. Решение, основанное на реализации разграничительной политики доступа процессов к ресурсам.

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

Поскольку именно процесс офисного приложения несет в себе угрозу атаки на системные и информационные ресурсы, можно предположить, что подобную угрозу можно в значительной мере снизить, реализовав соответствующую разграничительную политику доступа к ресурсам. Проведем исследование, так ли это на самом деле. Для этого воспользуемся механизмами защиты из состава Комплексной системы защиты информации (КСЗИ) "Панцирь-К" для ОС Windows 2000/XP/2003 (разработчик ЗАО "НПП "Информационные технологии в бизнесе"). Особенностью данного средства защиты является то, что в качестве субъекта доступа к защищаемым ресурсам (файловые объекты, объекты реестра ОС, объекты внешней сети и т.д.), для которого реализуется разграничительная политика, может выступать как пользователь (учетная запись), так и процесс, либо одновременно пользователь и процесс. На сегодняшний день это, если не единственное, то одно из очень немногих средств защиты, предоставляющее подобные возможности.

Интерфейс настройки механизма контроля доступа к файловым объектам представлен на Рис.1 (аналогично выглядят и интерфейсы иных механизмов контроля доступа к ресурсам, в частности к объектам реестра ОС). Заметим, что в качестве субъекта доступа может выступать процесс, задаемый своим полнопутевым именем, либо с использованием механизма масок, например маска "*" означает любой процесс. Важной особенностью интерфейса является возможность выбора разграничительной политики (разрешения или запрещения) для каждого субъекта, а также, что, пожалуй самое важное, то, что правила доступа к ресурсам назначаются не как атрибуты, присваемые объекту (какой субъект может обращаться к объекту), а как права доступа субъекта (к каким объектам может обращаться субъект). В противном случае данные механизмы защиты становятся ненастраиваемыми. Заметим, что в нашем исследовании мы воспользуемся средствами инструментального аудита, пример журнала аудита приведен на Рис.2 (фиксируются все обращения доступа к ресурсам), и соответствующим фильтром

2.1. Защита системных ресурсов от атак макро-вирусов.

Защита системных ресурсов – это одна из ключевых задач защиты информации. Попытаемся сформулировать, в чем она состоит. Необходимо предотвратить возможность:

  • Модификации офисным приложением системного диска и диска, в котором хранятся исполняемые файлы приложений;
  • Возможности запуска офисным приложением несанкционированной программы;
  • Возможности модифицировать критичные объекты реестра ОС, к которым, в первую очередь, следует отнести ветвь: HKEY_LOCAL_MACHINE.

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

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

  1. Операционная система - Microsoft Windows XP;
  2. Рассматриваемые офисные приложения – Microsoft Office Word 2003, Microsoft Office Excel 2003, Microsoft Office Outlook 2003;
  3. Операционная система установлена на диске C;
  4. Все приложения инсталлированы в каталог C:\Program files;
  5. Обработка информации осуществляется под учетной записью User 1;
  6. Для хранения обрабатываемых данных пользователем используется каталог С:\OOD1.

К защищаемым системным ресурсам в данных предположениях, в первую очередь, следует отнести каталоги C:\Windows и C:\Program files и объект реестра HKEY_LOCAL_MACHINE.

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

Посмотрев внимательно на полученные разграничения, видим, что очень во многом они схожи. Это обусловливает возможность реализации единой разграничительной политики доступа к ресурсам для рассмотренных офисных приложений. Данные разграничения приведены в Табл.4.

Таблица 1. Разграничения для процесса MS Word

C:\DOCUMENTS AND SETTINGS\ALL USERS\APPLICATION DATA\MICROSOFT\

OFFICE\DATA\

OPA11.BAK

 

C:\WINDOWS

 

C:\PROGRAM FILES

 

Файловые ресурсы

Разрешенные для чтения

Разрешенные для записи и чтения

Разрешенные для выполнения

С :\OOD1

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\ ШАБЛОНЫ

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\OFFICE

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\ADDINS

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\WORD

 

C:\DOCUMENTS AND SETTINGS\USER1\LOCAL SETTINGS\TEMP

 

C:\DOCUMENTS AND SETTINGS\ALL USERS\APPLICATION DATA\

MICROSOFT\OFFICE\DATA\

OPA11.DAT

 

C:\DOCUMENTS AND SETTINGS\USER1\LOCAL SETTINGS\TEMPORARY INTERNET FILES\CONTENT.MSO

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\OFFICE\

ПОСЛЕДНИЕ ФАЙЛЫ

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\PROOF

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\CLIP ORGANIZER

C:\WINDOWS

 

C:\PROGRAM FILES

Ресурсы реестра

Запрещенные для чтения

Разрешенные для записи и чтения

-

 

HKCU\*

 

Таблица 2 Разграничения для процесса MS Excel

Файловые ресурсы

Разрешенные для чтения

Разрешенные для записи и чтения

Разрешенные для выполнения

C:\DOCUMENTS AND SETTINGS\ALL USERS\APPLICATION DATA\MICROSOFT\

OFFICE\DATA\

OPA11.BAK

 

C:\WINDOWS

 

C:\PROGRAM FILES

 

С :\OOD1

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\OFFICE

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\ADDINS

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\EXCEL

 

C:\DOCUMENTS AND SETTINGS\ALL USERS\APPLICATION DATA\

MICROSOFT\OFFICE\DATA\OPA11.DAT

 

C:\DOCUMENTS AND SETTINGS\USER1\LOCAL SETTINGS\TEMP

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\CLIP ORGANIZER

 

C:\DOCUMENTS AND SETTINGS\USER1\LOCAL SETTINGS\TEMPORARY INTERNET FILES\CONTENT.MSO

C:\WINDOWS

 

C:\PROGRAM FILES

 

Ресурсы реестра

Запрещенные для чтения

Разрешенные для записи и чтения

 

-

 

HKCU \*

 

Таблица 3 Разграничения для MS Outlook

Файловые ресурсы

Разрешенные для чтения

Разрешенные для записи и чтения

Разрешенные для выполнения

C:\DOCUMENTS AND SETTINGS\

ALL USERS\

APPLICATION DATA\

MICROSOFT\

OFFICE\

DATA\

OPA11.BAK

 

C:\WINDOWS

 

C:\PROGRAM FILES

 

С :\OOD1

 

C:\DOCUMENTS AND SETTINGS\USER1\LOCAL SETTINGS\TEMP\OUTLOOK LOGGING

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\OFFICE

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\OUTLOOK

 

C:\DOCUMENTS AND SETTINGS\USER1\LOCAL SETTINGS\APPLICATION DATA\MICROSOFT

 

C:\DOCUMENTS AND SETTINGS\USER1\APPLICATION DATA\MICROSOFT\ADDINS

 

C:\DOCUMENTS AND SETTINGS\ALL USERS\APPLICATION DATA\MICROSOFT\OFFICE\DATA\OPA11.DAT

 

 

C:\WINDOWS

C:\PROGRAM FILES

 

 

Ресурсы реестра

Запрещенные для чтения

Разрешенные для записи и чтения

-

 

HKCU\*

 

Таблица 4 Единые разграничения для анализируемых процессов

Файловые ресурсы

Разрешенные для чтения

Разрешенные для записи и чтения

Разрешенные для выполнения

C:\DOCUMENTS AND SETTINGS\

ALL USERS\

APPLICATION DATA\

MICROSOFT\

OFFICE\

DATA\

OPA11.BAK

 

C:\WINDOWS

 

C:\PROGRAM FILES

 

С :\OOD1

 

C:\DOCUMENTS AND SETTINGS\USER1

 

C:\DOCUMENTS AND SETTINGS\ALL USERS\APPLICATION DATA\MICROSOFT\OFFICE\

DATA\OPA11.DAT

 

 

C:\WINDOWS

 

C:\PROGRAM FILES

 

Ресурсы реестра

Запрещенные для чтения

Разрешенные для записи и чтения

-

 

HKCU\*

 

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

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

2.1. Защита информационных ресурсов от атак макро-вирусов

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

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

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

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

Чтобы обеспечить защиту хранящихся на компьютере данных от возможных деструктивных действий соответствующего офисного процесса (приложения) механизмами контроля доступа к ресурсам может быть реализовано следующее решение. Файловые объекты (например, каталоги) будем подразделять, на объекты, предназначенные только для хранения данных пользователей, и объекты, предназначенные для работы с офисными приложениями (критичными процессами). Разрешим доступ критичных процессов только к тем объектам, которые используются для работы с этими приложениями (соответственно запретим им доступ к объектам, используемым для хранения данных). Для копирования же данных из одного объекта в другой будем использовать проводник, не несущий в себе соответствующей угрозы (не позволяющий подключать макросы), например, процесс far.exe. В этих условиях обработка данных критичным процессом (офисным приложением) будет осуществлена по схеме

Что же мы получим в результате? По сути, нами введен файловый объект (каталог) промежуточного хранения документов. Офисное приложение может модифицировать только документы, хранящиеся в данном объекте . В этом случае, в предположении, что в ООД всегда находится только один документ, который обрабатывается офисным приложением, макро-вирус не имеет возможности воздействовать на другие документы – сформулированная нами задача защиты информационных ресурсов решена! Причем и эта задача решена в общем виде - т.к. становится неважным, известным ли, либо каким-либо новым макро-вирусом осуществляется атака.

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

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

Категория: Компьютерная вирусология | автор: Дата: | описание: Макро-вирусы и защита от них
просмотры: 7090 | Комментарии: 1 | Теги: вирус, макро-вирусы



Loading...


Похожие материалы:



Всего комментариев: 1
Гектор   (28.08.2012 22:03)2012-08-28T22:03:58Z 1
0   Спам
кажется очень заумно, но тем не менее познавательно
Имя *:
Email *:
Код *: