Элементы ActiveX компании Microsoft
Элементы управления ActiveX являются результатом повторной попытки фирмы Microsoft разработать модель мобильного кода. Их часто описывают как приспособленную для Web технологию создания документов со связыванием и внедрением объектов (Object Linking and Embedding — OLE). На самом деле это сильно упрощенная трактовка набора интерфейсов, спецификаций и претендующих на исключительность парадигм разработки, входящих в модель СОМ компании Microsoft (COM — Component Object Model), которая и составляет основу технологии ActiveX. В то же время подобные упрощения способствуют лучшему пониманию. Приложения ActiveX могут создаваться для выполнения определенных задач (таких как воспроизведение видео-или звукового файла). Их можно поместить на Web-страницу, и тогда эти программы будут выполнять свои функции при ее просмотре точно так же, как технология OLE поддерживает операцию вставки электронных таблиц Excel в документы Word.
Флаг "Safe for scripting" технологии ActiveX
Летом 1999 года Георгий Гунински (Georgi Guninski) и Ричард М. Смит (Richard М. Smith) (и не только они) независимо обнаружили два различных изъяна в методе обработки элементов ActiveX броузером Internet Explorer. Установив для элементов управления флаг "safe for scripting" ("помеченный как безопасный"), их разработчики могут полностью обойти обычную процедуру проверки сертификатов Authenticode. В качестве примеров таких элементов ActiveX можно привести Scriptlet. typelib и Eyedog.OCX, предназначенные для использования в IE4 и более ранних версиях. Если для этих элементов управления установлен флаг "safe for scripting", то при их запуске в броузере на экран не будет выводиться никаких сообщений.
<object id="scr" Масштабы потенциального воздействия могут быть устрашающими. Чтобы установить флаг "safe for scripting" для элемента управления ActiveX, нужно либо реализовать в них интерфейсIObjectSafety, либо пометить их как безопасные. Для этого в системном реестре в ключ Implemented Categories, соответствующий данному элементу управления, необходимо добавить параметр 7DD95801-9882-11CF-9FA9-OOAA006C42C4 . Зачастую в системном реестре Windows находится несколько десятков таких элементов управления. Для подобных атак могут быть использованы те из них, которые могут выполнять действия с повышенными привилегиями (например, запись на диск или запуск кода). Есть несколько способов, позволяющих определить, какие из элементов управления активно используются системой. Для обычного просмотра активных приложений СОМ (включая элементы управления ActiveX), установленных на компьютере, щелкните на кнопке Start, выберите команду Run и введите dcomcnfg. При этом на экране появится диалоговое окно, представленное на следующем рисунке.
Чтобы посмотреть, имеются ли среди этих объектов помеченные как "safe for scripting", воспользуйтесь утилитой oleview из набора NT Resource Kit (ее более новая версия входит в среду разработки приложений Visual Studio компании Microsoft). Утилита oleview позволяет просмотреть все зарегистрированные в системе объекты COM/ActiveX. Кроме того, она выводит их идентификатор класса (CLSID — Class ID), используемый при обращении к этим объектам в системном реестре, и многие важные параметры из поддерева Implemented Categories системного реестра.
function setup() { ua.ShowDialog(ОхОЕ2В); Элементы управления, помеченные как "safe for scripting", могут вызываться также из электронных сообщений в формате HTML. В этом случае их гораздо легче разместить в нужном месте, поэтому они могут быть более опасны. Подобные "бомбы" обсуждаются в следующих разделах, посвященных хакингу через электронную почту. Защита от использования флага "safe for scripting"
Для защиты от этих серьезных изъянов пользователям Internet можно предложить три метода. Мы рекомендуем воспользоваться всеми тремя способами.
После инстанцирования элементы управления ActiveX остаются в памяти до тех пор, пока не будут выгружены. Для этого в командной строке введите команду regsvr32 /u [Имя_элемента]. Активная загрузка файлов
Независимый исследователь проблем безопасности Хуан Карлос Гарсия Квартанго (Juan Carlos Garci'a Cuartango), внимание которого особенно привлекает броузер Internet Explorer, поместил на своем Web-узле информационное сообщение об одном из его изъянов. Это оказалось настолько важным, что сообшение было переведено на английский язык (тогда как остальная информация узла была представлена на испанском). Суть изъяна заключается в возможности генерирования состояния отказа в обслуживании (DoS — Denial of Service), если для загрузки файлов с расширением .CAB, имеющих сертификат компании Microsoft, используется элемент управления ActiveX. При этом файлы загружаются в любое указанное место диска, даже если для этого необходимо записать их поверх других файлов.
Контрмеры
Компания Microsoft выпустила соответствующий модуль обновления, который можно найти по адресу
http://www.microsoft.com/security (Bulletin MS00-42).
В системе Windows 2000 защиту определенных системных файлов от перезаписи обеспечивает служба WFP (Windows File Protection). Разумное использование зон безопасности: общее решение проблемы элементов ActiveXВозможно, к этому моменту многие читатели пришли к выводу, что элементы управления ActiveX стали проклятием клиентов Internet, нарушающим спокойствие и безопасность пользователей. Такое мнение не учитывает основную закономерность: чем более мощной и распространенной становится технология, тем больший потенциал в ней заключен. И этот изъян способен привести к различным, в том числе и к разрушительным последствиям. Элементы управления ActiveX — мощная и популярная технология; поэтому она может принести большой вред, если служит злонамеренным целям (более полно возможности ActiveX раскрыты в последующих разделах, где рассказывается о хакинге электронной почты). Конечные пользователи всегда стремятся к автоматизации выполнения своих повседневных задач, и элементы ActiveX — это один из инструментов, который способен удовлетворить эти потребности. Можно просто закрыть глаза и надеяться, что на сегодня все обойдется, а потом на смену этому программному обеспечению придет новое. Однако это далеко не лучший выход. Новые технологии, находящиеся где-то за горизонтом, скорее всего, будут таить в себе примерно те же опасности. Общим решением проблемы, связанной с элементами управления ActiveX (не важно, связана ли она с использованием флага "safe for scripting"), является ограничение их возможности осуществлять над системой привилегированный контроль. Для этого требуется определенное понимание одного из наиболее значительных аспектов обеспечения безопасности системы Windows — зон безопасности (security zone). Поэтому для повышения степени защиты необходимо научиться правильно их использовать. Одной из лучших ссылок по этой теме является статья Q174360 из базы знаний компании Microsoft (http://support.microsoft.com). Там вы найдете много ценной информации о зонах безопасности. По существу, модель зон безопасности позволяет определять разные уровни доверия для кода, загружаемого с одной из четырех зон: Local Intranet (Местная зона (интрасеть)), Trusted Sites (Зона надежных узлов), Internet (Зона Internet) и Restricted Sites (Зона ограниченных узлов). Существует еще пятая зона, которая называется Local Machine (Локальная машина), однако в пользовательском интерфейсе она недоступна, настроить ее можно только с помощью средств администрирования IEAK (IE Administration Kit)В любую зону, за исключением зоны Internet, узлы можно добавлять вручную. В зоне Internet содержатся все узлы, не включенные в любую другую зону, которые содержат в своем URL символ точки (.) (например, узел http: //local по умолчанию входит в местную зону, тогда как узел http://www.microsoft.com находится в зоне Internet, поскольку в его адресе встречаются точки). При посещении узла, входящего в какую-то зону, активизируются соответствующие ей параметры безопасности (например, в зависимости от этого возможность запуска элементов управления ActiveX ("Run ActiveX controls") может быть разрешена или запрещена). Поэтому очень важно правильно настроить зону Internet, поскольку по умолчанию к ней относятся все посещаемые пользователями узлы. Конечно, если вручную добавить узел в другую зону, то на него это правило распространяться уже не будет. При перемещении узлов из одной зоны в другую будьте очень внимательны (в корпоративных локальных сетях наполнение других зон обычно производится администраторами этих сетей). Чтобы настроить параметры безопасности зоны Internet, выберите в броузере Internet Explorer команду Tools^Internet Options и перейдите во вкладку Security (или запустите аплет Internet Options панели управления). Затем выберите в раскрывающемся списке элемент Internet zone и задайте требуемый уровень безопасности. Мы рекомендуем установить уровень безопасности High, а затем выбрать режим Custom Level и вручную настроить несколько других параметров, как показано в табл. 16.1. Таблица 16.1. Рекомендуемые параметры безопасности зоны Internet( настройки уровня Custom Level нужно выполнять после того, как по умолчанию задан уровень безопасности High)
Параметры, позволяющие запретить использование элементов управления ActiveX, показаны на рис. 16.1.
Если вы все же хотите воспользоваться преимуществами звуковых и анимационных эффектов, обеспечиваемых элементами Shockwave, придется допустить использование элементов ActiveX (конечно, если не задействован броузер Netscape, в котором элементы Shockwave выступают в качестве подключаемых модулей). Другим ориентированным на элементы ActiveX узлом, который посещается многими пользователями, является узел Windows Update компании Microsoft (WU), на котором элементы ActiveX используются
для сканирования компьютера пользователя, а также для загрузки и установки нужных модулей дополнения. Этот Web-узел оказался удачной идеей. Он позволяет сэкономить огромное количество времени, требуемого для поисков отдельных модулей обновления (что особенно важно для обеспечения безопасности!), и автоматически определить, была ли ранее установлена правильная версия. Однако мы не думаем, что из-за одного узла, предоставляющего такие удобства, стоит полностью разрешать использование элементов управления ActiveX. Еще хуже то, что после запрещения использования элементов ActiveX в броузере Internet Explorer нельзя воспользоваться механизмом автоматического поиска адреса по фрагменту URL, введенному в адресной строке (например, когда по подстроке
mрЗ требуется найти узел http: //www.mp3. com).
Соблюдайте осторожность и добавляйте в зону надежных узлов только те из них, которые пользуются высокой степенью доверия, поскольку к ним будет применяться меньше ограничений, связанных с загрузкой их активного содержимого и запуском. Следует иметь в виду, что даже респектабельный Web-узел может быть взломан хакерами-злоумышленниками, или в группе его разработчиков может оказаться негодяй, охотящийся за данными пользователей (а возможны и худшие варианты). Для безопасного чтения электронных сообщений приложения Outlook и Outlook Express можно настроить так, чтобы в них тоже учитывались зоны безопасности. Параметры Outlook и Outlook Express позволяют выбрать зону, уровень безопасности которой будет использоваться при обработке содержимого, отображаемого почтовой программой. Имеется две возможности: Internet и Restricted Sites. Конечно же, рекомендуется выбрать зону ограниченных узлов (новый модуль Outlook 2000 Security Update выполняет эту установку самостоятельно). Убедитесь в том, что в параметрах зоны Restricted Sites полностью отключены все категории активного содержимого! Для этого установите уровень безопасности High, а затем задайте режим Custom Level и отключите все режимы, которые остались включенными (если их отключить нельзя, установите переключатель в положение, соответствующее наивысшему уровню безопасности). Процесс настройки зоны Restricted Sites в Outlook показан на рис. 16.2ДКак и в Internet Explorer, в Outlook можно смягчить самые сильные ограничения. Однако в электронных сообщениях активное содержимое встречается реже, чем на Web-страницах. Поэтому предупреждающие сообщения о них доставляют меньше беспокойства. Однако в этом случае опасность, возникающая в процессе интерпретации сообщения, намного превышает преимущества его эстетического восприятия. Читателям, которые не доверяют этому утверждению, рекомендуется дочитать главу до конца. Замечательной особенностью зон безопасности является то, что с их помощью можно заставить Outlook вести себя более консервативно, чем Web-броузер. Гибкость программного обеспечения и умение правильно пользоваться его параметрами приведет к повышению безопасности.
Изъяны в системе защиты Java
В 1990 году компания Sun Microsystems решила создать парадигму программирования, которая помогла бы решить многие проблемы разработки программ, стоящие перед их создателями еще со времен зарождения вычислительной техники. В результате одним выстрелом удалось убить двух зайцев: создать новый язык Java и попутно решить многие традиционные проблемы обеспечения безопасности. Большинство людей полагают, что язык Java безопасен на все 100%, поскольку с самого начала был задуман как нечто исключительное. Это мнение в значительной мере подкрепляется маркетинговой политикой компании Sun. Конечно же, обеспечить абсолютную безопасность невозможно. Однако пути ее повышения, применяемые в Java, несомненно, представляют определенный интерес. (Ниже будет рассмотрена архитектура Java 2, или JDK 1.2, которая в момент написания книги являлась текущей.)
Ошибки JVM броузера Netscape Communicator
В апреле 1999 года сотрудник Марбургского университета (Германия) Карстен Зор (Karsten Sohr) обнаружил изъян важного компонента безопасности JVM броузера Netscape Communicator. При определенных обстоятельствах виртуальная машина Java не проверяет загружаемый в нее код. Использование этого изъяна позволяет взломщику запустить код, разрушающий механизмы проверки типов Java, и реализовать взлом со смешением типов (type confusion attack). Это классический пример отступления реализации от первоначального замысла.
Отключение Java в броузере Netscape
Обновите текущую версию Netscape, или отключите Java, выполнив следующие действия (рис. 16.3).
Изъян в механизме обеспечения безопасности Microsoft Java
В броузере Internet Explorer вскоре была обнаружена аналогичная ошибка. Из-за недостатков реализации механизма обеспечения безопасности в JVM компании Microsoft появилась возможность полностью обойти механизмы защиты с помощью хитро запрограммированного аплета, размещенного на удаленном Web-сервере, или встроенного в сообщение электронной почты в формате
HTML.
Устранение ошибок в Internet Explorer Чтобы узнать, уязвима ли используемая вами версия программы, введите в командной строке команду jview. Найдите номер сборки (последние четыре цифры номера версии) и определите, к какой из следующих категорий он относится.
Не удивляйтесь, если после выполнения команды jview окажется, что изъян существует, даже если Internet Explorer не установлен. Некоторые другие продукты компании Microsoft, такие как Visual Studio, тоже устанавливают виртуальную машину
Java. Во время написания этого раздела немало был удивлен и автор, когда выяснил, что у него на компьютере тоже установлена версия JVM с изъяном. Она была установлена вместе с IE 5.0 через год с момента выпуска модуля обновления!
Brown Orifice и новые ошибки в Java
Летом 2000 года Дан Брумлев (Dan Brumleve) сообщил о двух выявленных изъянах. относящихся к реализации Java в Netscape Communicator. В частности, он установил, что в некоторых файлах библиотек классов Java при выполнении определенных операций не выполняется надлежащая проверка безопасности или результаты этой проверки игнорируются. В число классов, о которых идет речь, входит класс java.net. ServerSocket, используемый для создания прослушиваемых сетевых сокетов для входящих сетевых соединений, а также классы netscape, net. URLConnection и netscape.net.URLlnputSteam, содержащие абстрактные стандартные методы чтения локальных файлов. Во всех этих трех классах содержатся методы, в которых некорректно вызывается метод SecurityManager .check, определяющий, действительно ли данный аплет обладает правами доступа, необходимыми для выполнения некоторых действий. Если проверка завершилась неудачей, то это исключение игнорируется.
Контрмеры против Brown Orifice
Как обычно, единственный надежный способ защиты от опасных аплетов заключается в запрете использования Java в Web-броузере. Сделать это можно в броузере Netscape, как описано выше в разделе "Отключение Java В Броузере Netscape" и показано на рис. 16.3. Мы рекомендуем использовать эти параметры пользователям Netscape.
|