Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Microsoft Office Office 2003 Resource Kit Безопасность Office 2003 Элементы управления ActiveX и безопасность Office RSS

Элементы управления ActiveX и безопасность Office

Текущий рейтинг: 3.67 (проголосовало 52)
 Посетителей: 18262 | Просмотров: 21574 (сегодня 0)  Шрифт: - +
Club logo

Элементы управления Microsoft® ActiveX® в некоторых случаях могут представлять собой угрозу безопасности, поскольку с их помощью может распространяться вредоносный код или вирусы (особенно в тех случаях, когда на компьютере не настроены все необходимые параметры безопасности).

Например, если с веб-станицы загружается неподписанный элемент управления ActiveX, и при этом на компьютере не установлен уровень безопасности обозревателя Microsoft Internet Explorer Высокая (High) или Средняя (Medium), элемент ActiveX запустится без предупреждения. В том случае, если этот элемент содержит вирус или другой вредоносный код, работа операционной системы может быть нарушена, а содержащиеся на компьютере данные могут быть повреждены.

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

Что представляет собой элемент управления ActiveX

По существу элемент управления ActiveX является OLE- или COM-объектом. Элемент ActiveX – это программа, которая автоматически регистрируется в системном реестре при первом запуске.

Элемент управления ActiveX может быть как простым (как например текстовое поле), так и достаточно сложным (например, представлять собой ряд диалоговых окон). В некоторых случаях элемент ActiveX по сложности сравним с небольшим приложением. Модули ActiveX используются в качестве элементов управления на веб-страницах, в качестве надстроек, разрабатываемых сторонними производителями для крупных приложений, а также в качестве подключаемых модулей (plug-ins). С этой точки зрения элементы управления ActiveX аналогичны Java-приложениям, подключаемым модулям Netscape и выполняемым сценариям. Однако преимущество ActiveX по сравнению с другими возможностями программирования заключается в том, что элементы управления ActiveX могут использоваться в приложениях, написанных на различных языках, включая все языки, предназначенные для программирования баз данных Microsoft и управления ими.

Элементы управления ActiveX не являются самостоятельными решениями. Они могут быть запущены только из родительских приложений, таких как обозреватель Internet Explorer, приложения Microsoft Visual Basic®, среда разработки Visual C++® или Visual Basic for Applications и так далее. Модули ActiveX облегчают распространение специализированных элементов управления через сеть и интеграцию этих элементов в обозреватели веб-страниц. Элементы управления ActiveX могут предоставлять сведения о себе приложениям, в которых они используются.

Элементы управления ActiveX могут выполняться в виде сценариев веб-страниц. Это означает, что Вы можете создать или приобрести модуль ActiveX, представляющий собой элемент управления пользовательского интерфейса или элемент интерфейса графического устройства (Graphics Device Interface, GDI), а затем управлять им, программируя алгоритм его работы на языке сценариев (таком как VBScript или JavaScript™).

Параметры безопасности, связанные с инициализацией элементов ActiveX

На странице Specify Office Security Settings программ Custom Installation Wizard и Custom Maintenance Wizard доступны четыре уровня безопасности для элементов управления ActiveX:

  • Do not configure

MST- или CMW-файл не изменяет параметры безопасности, настроенные на компьютере пользователя. Новые приложения устанавливаются с уровнем безопасности по умолчанию Prompt user to use persisted data.

  • Prompt user to use control defaults

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

  • Prompt user to use persisted data

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

  • Do not prompt

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

Использование администраторами этих параметров безопасности в мастере Custom Installation Wizard или Custom Maintenance Wizard обеспечивает дополнительный контроль над выполнением потенциально опасного кода элементов ActiveX на клиентских компьютерах. Для получения дополнительной информации о записях в системном реестре, относящихся к рассмотренным параметрам безопасности, обратитесь к статье Как работают системные политики на веб-странице Office 2003 Resource Kit.

Подписывание кода

Поскольку элементы ActiveX могут получать доступ к основным службам операционной системы, необходимо убедиться, что запускаемый элемент не является вредоносной программой. Выполнить такую проверку помогает технология Microsoft Authenticode®, которая позволяет разработчику подтвердить надежность создаваемого им элемента ActiveX. Эта процедура называется подписыванием кода и предоставляет пользователям возможность идентифицировать автора программы, прежде чем дать разрешение на ее установку или выполнение.

Если Вы когда-либо использовали неподписанные или неопознанные элементы управления ActiveX при работе с обозревателем Internet Explorer, Вы могли видеть диалоговые окна, сообщающие о том, что:

  • Элемент управления не подписан
  • Инициализация элемента небезопасна
  • Элемент небезопасен для выполнения сценариев

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

Установка элементов управления ActiveX

Если пользователь пытается установить и запустить незарегистрированный элемент управления ActiveX, загруженный из Интернета, обозреватель Internet Explorer проверяет, содержит ли этот элемент управления цифровую подпись. Если файл элемента управления ActiveX (OCX-файл) имеет сертификат доверия, который уже был принят пользователем и считается доверенным, этот файл может быть установлен и зарегистрирован в системе. В зависимости от уровня безопасности, установленного для обозревателя Internet Explorer, пользователю предлагается установить элемент ActiveX, если в системе не содержатся сведения о его сертификате. Если пользователь принимает решение установить элемент ActiveX, в системный реестр заносятся сведения о сертификате, связанном с этим элементом.

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

После того, как элемент управления установлен на компьютере пользователя, он считается надежным, даже если изначально не имел цифровой подписи; при его запуске диалоговые окна с информацией о подписывании кода не выводятся.

Подписывание элементов управления ActiveX

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

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

Определение безопасности элементов управления ActiveX

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

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

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

Прежде чем отметить элемент управления ActiveX как безопасный, разработчик должен полностью удостовериться в том, что этот элемент на самом деле является таковым. Например, для каждого элемента ActiveX необходимо убедиться в том, что:

  • Индексы не выходят за границы массивов, а также отсутствуют другие ошибки работы с памятью, которые могут привести к утечке или нарушению областей памяти.
  • Проверяются и корректируются все входные данные, включая параметры инициализации, параметры методов и функции задания свойств (используются методы оценки допустимых значений ввода/вывода и защиты данных).
  • Все данные о пользователе, а также все данные, вводимые пользователем, используются корректно и по назначению.
  • Приложение прошло всестороннее и тщательное тестирование.
Автор: Артем Жауров aka Borodunter  •  Иcточник: (переведено с англ.) Microsoft Technet  •  Опубликована: 02.02.2007
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.