Уязвимости Internet Explorer
Уязвимости, позволяющие злоумышленнику получить доступ к системе
Уязвимости, приводящие к созданию DoS
Обход настроек безопасности, заданных для текущего домена
Пример эксплоита, применяемого червем NetSky
Уязвимости, основанные на особенностях реализации Internet Explorer
Недостаточная защита паролей доступа к Web-сайтам и к данным системы автозаполнения форм
Неавторизованная установка BHO
Как проверить, уязвим ли ваш Internet Explorer
Методика противодействия уязвимостям
Несмотря на наличие на рынке альтернативных решений (например, Opera и FireFox), одним из основных браузеров до сих пор остается Internet Explorer. Как следствие, его уязвимости представляют угрозу для очень большого числа пользователей, а потому весьма активно эксплуатируются разработчиками вредоносных программ.
Статистика
мире существует ряд компаний, которые занимаются регистрацией фактов обнаружения уязвимостей в различных продуктах с последующей статистической обработкой и публикацией результатов. Для определенности будем опираться на данные, опубликованные на сайте Secunia (http://secunia.com) на основании анализа уязвимостей Internet Explorer за период 2003-2005 годов (рис. 1-3). Как видно из диаграммы (см. рис. 1), почти ежемесячно в Internet Explorer находят новую уязвимость, причем в среднем в месяц обнаруживается около двух новых уязвимостей.
Рис. 1. Количество обнаруженных уязвимостей в IE версий 6.x и 5.x
Если же посмотреть на статистику степени опасности обнаруженных уязвимостей, то за указанный период получается картина, представленная на рис. 2. Следует отметить, что 29% не представляющих опасность уязвимостей относится к таким, практическая ценность которых, с точки зрения злоумышленника, близка к нулю.
Рис. 2. Статистика уязвимостей IE версии 6.x
по степени опасности
Еще более интересная для пользователя статистика по устранению обнаруженных уязвимостей (см. рис. 3). На данный момент не устранено 28% известных уязвимостей, причем для ряда этих уязвимостей существуют эксплоиты. Кроме того, важным показателем является время между обнаружением уязвимости, появлением реализующего уязвимость эксплоита, созданием эксплуатирующих уязвимость вредоносных программ и выходом обновления, устраняющего уязвимость.
Рис. 3. Статистика устранения уязвимостей
IE версии 6.x
Основные виды уязвимостей
опробуем ввести классификацию уязвимостей в нашем случае удобнее всего классифицировать их по поражающему воздействию на браузер.
Уязвимости, позволяющие злоумышленнику получить доступ к системе
Чаще всего данная уязвимость сводится к выполнению машинного кода, созданного злоумышленником. Наиболее распространенной разновидностью из данной категории является переполнение буфера, которое приводит к срыву стека и к выполнению программного кода, сформированного атакующим. Кроме того, по статистике автора, нередки уязвимости, основанные на некорректной обработке CHM-файлов через протоколы ms-its (ms-itss, its, mk:@MSITStore) данная методика часто применяется для внедрения на компьютер пользователей троянских программ и SpyWare-компонентов.
Уязвимости, приводящие к созданию DoS
Под DoS в данном случае подразумевается любой сбой в работе Internet Explorer, начиная от его аварийного завершения и зависания и заканчивая значительными расходами ресурсов и снижением производительности системы в целом. Самая типичная реализация переполнение буфера (только в случае DoS достаточно простого срыва стека), вредоносные скрипты. Простейшей демонстрацией DoS может служить HTML-файл вида:
<body onload=”window();”>
</body>
Открытие такого файла в Internet Explorer 6.0 приводит к аварийному завершению работы браузера.
Обход настроек безопасности, заданных для текущего домена
Internet Explorer использует так называемую доменную модель обеспечения безпасности (Cross-Domain Security Model), основная идея которой состоит в том, что операции с данными, открытыми в окне одного узла, недоступны со стороны другого. Файловая система локального компьютера рассматривается как домен, а следовательно, при нарушении доменной безопасности можно получить доступ к локальным файлам. Одним из методов обхода настроек безопасности является применение тэга IFRAME это плавающий фрейм, который размещается в web-странице аналогично изображению; в реализации поддержки IFRAME в IE различных версий известен ряд уязвимостей, которые очень широко эксплуатировались (и эксплуатируются) почтовыми червями.
Спуфинг
Наиболее распространенные формы спуфинга отображение в поле «адрес» Internet Explorer такого адреса, который не соответствует адресу загруженного сайта (это называется URL-спуфинг); отображение всплывающих окон (которые, с точки зрения пользователя, принадлежат просматриваемой в браузере странице (см. пример http://secunia.com/multiple_browsers_ dialog_origin_ vulnerability_test/, в котором открывается окно IE с сайтом www.google.com, а затем выводится диалоговое окно, визуально принадлежащее данной странице); модификация заголовка окна или данных в панели статуса.
Межсайтовый скриптинг
Межсайтовый скриптинг (Cross-Site Scripting, CSS) состоит в том, что в загружаемую web-страницу внедряется посторонний код, созданный атакующим. Как правило, подобный вид атаки возможен из-за некорректной обработки параметров запроса на стороне сервера (в этом случае на сервер передается особым образом сконструированный запрос) либо из-за уязвимости самого браузера (например, известна уязвимость в DHTML Edit ActiveX). В результате таких атак в контексте загруженной Web-страницы выполняется вредоносный скрипт, который может применяться, в частности, для воровства Cookies, модификации содержимого Web-страницы, перехвата сессии. Подробное описание уязвимости в DHTML Edit ActiveX можно найти по адресу http://secunia.com/advisories/13482/, а по адресу http://secunia.com/internet_explorer_ cross-site_scripting_vulnerability_test/ размещен тестовый эксплоит, демонстрирующий применение данной уязвимости).
Пример эксплоита, применяемого червем NetSky
Рассмотрим в качестве примера классический эксплоит, используемый почтовым червем Email-Worm.Win32.NetSky.q (само письмо было извлечено из карантина почтового сервера в момент написания статьи).
<BODY bgColor=3D#ffffff>If the message will not
displayed automatically,<br>
follow the link to read the delivered message.<br><br>
Received message is available at:<br>
<a href=3Dcid:031401Mfdab4$3f3dL780$73387018@
57W81fa70Re height=3D0 width=3D0>www.z-oleg.com/
inbox/newvirus/read.php?sessionid-5434</a>
<iframe
src=3Dcid:031401Mfdab4$3f3dL780$73387018@57W81fa70Re
height=3D0 width=3D0></iframe>
<DIV> </DIV></BODY></HTML>
=_NextPart_001_001C_01C0CA80.6B015D10
=_NextPart_000_001B_01C0CA80.6B015D10
Content-Type: audio/x-wav;
name=”message.scr”
Content-Transfer-Encoding: base64
Content-ID:<031401Mfdab4$3f3dL780$73387018@
57W81fa70Re>
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAA…
Тело письма идет в формате HTML и содержит ссылку, якобы ведущую на ресурс www. z-oleg.com/inbox/newvirus/read.php?sessionid-5434. Кроме того, в HTML-коде размещен тэг IFrame ссылка и IFRAME указывают на тело червя. При этом необходимо обратить внимание на то, что червь является исполняемым файлом, но при этом у него задан некорректный Content-Type audio/x-wav.
Уязвимости, основанные на особенностях реализации Internet Explorer
язвимости данной категории не являются таковыми в прямом смысле этого слова скорее это конструктивные недоработки, которые могут в том или ином виде использоваться в неблаговидных целях.
Хранение настроек в реестре
Все настройки Internet Explorer хранятся в системном реестре и могут модифицироваться из диалогового окна настройки IE или путем непосредственной правки реестра, а Internet Explorer никак не контролирует целостность этих настроек и не проводит их защиту. По данной причине злоумышленниками было создано множество вредоносных программ, модифицирующих те или иные настройки Internet Explorer (существуют тысячи таких программ, причем довольно часто запуск подобной троянской программы производится за счет той или иной уязвимости Internet Explorer).
Обычно вредоносные программы модифицируют следующие настройки:
- домашняя страница, настройки поиска;
- параметры безопасности для одной или нескольких зон, причем возможно добавление одного или нескольких серверов в список надежных узлов;
- настройки подключения для реализации обмена через прокси-сервер злоумышленников.
Файлы Cookies
Файлы Cookies у Internet Explorer хранятся в виде отдельных текстовых файлов с именами типа “zaitsev@yandex[1].txt” в папке Documents and Settings\<имя пользователя>\Cookies. Эта папка имеет атрибут «Системный» и не видна в проводнике, но никакой иной защиты Cookies не предусмотрено. Следовательно, троянская программа может произвести анализ Cookies с целью поиска паролей или иной хранимой в них информации. Кроме того, при использовании чужого компьютера (например, в Интернет-кафе) следует помнить, что Cookies остаются и могут быть использованы злоумышленниками.
Меры против несанкционированных действий заключаются в ограничении прав доступа к папке Cookies и в отключении приема Cookies для определенных сайтов. В случае использования чужого компьютера нужно удалить файлы Cookies после завершения сеанса работы.
Журнал посещенных сайтов
Internet Explorer ведет журнал, в котором фиксируются посещенные пользователем сайты. Особой опасности это не представляет, однако такой журнал не защищен и потому может быть проанализирован троянской программой.
Чтобы предотвратить атаки, рекомендуем очистку журнала и настройку времени его хранения в параметрах Internet Explorer.
Недостаточная защита паролей доступа к Web-сайтам и к данным системы автозаполнения форм
Когда пользователю приходится авторизоваться на некотором Web-сайте, Internet Explorer предлагает сохранить пароли. Это очень удобная функция, за одним исключением защита сохраненных паролей доступа находится на низком уровне. Рассмотрим для примера программу Advanced Internet Explorer Password Recovery (http://www.passwords.ru/aiepr.html), предназначенную для отображения сохраненных паролей (рис. 4) и позволяющую просмотреть сохраненные пароли к Web-сайтам и данные системы автоматического заполнения форм.
Рис. 4
Поэтому советуем не использовать сохранение паролей и автозаполнение Web-форм, причем это особенно важно при работе на компьютере, к которому имеется публичный доступ. Окно настройки автоматического заполнения форм, показанное на рис. 5, позволяет выполнить два вида операций: настроить автозаполнение и произвести очистку журналов автозаполнения.
Рис. 5
Неавторизованная установка BHO
Для подключения BHO (Browser Helper Object) к Internet Explorer достаточно зарегистрировать в реестре класс BHO и записать его в ключе реестра с настройками IE. Данная операция может быть проведена любым приложением, что позволяет вредоносной программе скрытно установить какой-либо BHO.
Противодействие настройка прав доступа (только чтение) к трем ключам реестра:
- HKEY_LOCAL_MACHINE\Software\ Microsoft\ indows\CurrentVersion\Explorer\Browser Helper Objects;
- HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Internet Explorer\Toolbar;
- HKEY_LOCAL_MACHINE\Software\ Microsoft\Internet Explorer\Extensions.
Подобная операция хотя и затруднит установку BHO (придется временно разрешить модификацию данных ключей, а затем запретить ее после установки), но заблокирует неавторизованную установку BHO.
Следует отметить, что в последних версиях Internet Explorer появилась возможность просматривать подключенные надстройки и модули расширения (меню Сервис\Свойства обозревателя, в окне свойств закладка «Программы», кнопка «Надстройки»). В данном окне (рис. 6) можно не только просмотреть установленные надстройки и расширения IE, но и отключить любую из надстроек.
Рис. 6
Как проверить, уязвим ли ваш Internet Explorer
ровести комплексную проверку и дать однозначные ответы крайне трудно, но проверка наличия десятка наиболее популярных уязвимостей доступна любому пользователю. Проще всего выполнить проверку при помощи онлайновых ресурсов (например, http://bcheck.scanit.be/bcheck/). Идея подобных тестов весьма проста: после начала теста против браузера поочередно применяется несколько эксплоитов, а пользователь при этом может наблюдать за реакцией браузера на каждый из них. Затем формируется отчет, в котором указано, сколько эксплоитов успешно сработало, с описанием соответствующих им уязвимостей и методов их устранения. В частности, для Internet Explorer 6.0 из комплекта Windows XP SP2 было предложено 22 теста, а в результате была обнаружена единственная уязвимость Microsoft Internet Explorer DHTML Edit Control Script Injection Vulnerability, позволяющая реализовывать межсайтовый скриптинг. Кроме того, полезно посетить сайт http://secunia.com/product/11, посвященный уязвимостям Internet Explorer 6.x; в описаниях многих уязвимостей на данном сайте размещаются тестовые эксплоиты или фрагменты скриптов.
Методика противодействия уязвимостям
теперь перечислим основные способы противодействия уязвимостям Internet Explorer:
- Своевременная установка обновлений. Как ни банален этот совет, своевременная установка обновлений является одной из самых эффективных мер борьбы с уязвимостями.
- Применение антивирусных мониторов. Известно, что такой монитор может обнаружить эксплоит (особенно если он к тому же обладает способностью контролировать Интернет-трафик), а поскольку целью многих эксплоитов является загрузка и запуск троянской программы, то монитор может обнаружить эту программу в момент ее загрузки или запуска. Некоторые антивирусные мониторы могут проверять скрипты перед их выполнением (такую проверку, в частности, выполняет монитор антивируса Касперского).
- Работа с Internet Explorer из-под учетной записи пользователя, причем в идеале пользователь должен обладать минимальными правами. От уязвимости это не спасет, но нанесенный системе ущерб будет несравненно ниже. Кроме того, можно запустить Internet Explorer с пониженными правами при помощи запуска от имени пользователя с ограниченными правами или за счет применения программ типа DropMyRights (данная программа работает только в Windows XP, и, собственно, ее работа сводится к запуску указанного в параметрах приложения с минимальными правами).
- Применение брандмауэров. Некоторые брандмауэры могут обнаруживать и блокировать эксплоиты по сигнатурам, и практически любой брандмауэр окажется полезным в случае проникновения на компьютер вредоносной программы, так как он заблокирует ее попытки обмена с Интернетом.
- Тщательная настройка безопасности, особенно для Интернет-зоны. Настройки безопасности Internet Explorer необходимо периодически проверять, поскольку они могут быть несанкционированно изменены вредоносными программами.
- Повышенная осторожность при открытии ссылок, особенно в письмах, полученных по электронной почте.
Заключение
настоящий момент в Internet Explorer существует ряд уязвимостей, и по мере их ликвидации будут обнаруживаться новые, а следовательно, необходимо принимать дополнительные меры защиты от возможных последствий эксплуатации этих уязвимостей. Кроме того, от уязвимостей определенных типов (например, от переполнения буфера) предусмотрены универсальные методики защиты, в частности DEP (Data Execution Prevention), поддержка которой появилась в Windows XP и Windows Server 2003, и программы типа DefencePlus (http://www.softsphere.com/), которые отслеживают переполнение буфера и в большинстве случаев адекватно ему противодействуют.