(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Защита от 0-day в Internet Explorer

Источник: securitylab
По материалам Microsoft SVRD

Как простому человеку защитить себя?

Если вы не компьютерный гуру и не читаете перед сном SecurityLab, можете смело выполнить инструкции из этого раздела и спокойно работать. Для выполнения одного из предложенных решений необходимо скачать файл solutions.zip и/или oledb32.zip и следовать нижеперечисленным инструкциям.

Для быстрого решения проблемы выполните инструкции, описанные в решении #4.

Информация об уязвимости

Уязвимость "нулевого дня" была обнаружена в Internet Explorer 7, и, по результатам исследований присутствует в других версиях Internet Explorer. Злоумышленник может выполнить произвольный код в уязвимой системе и установить вредоносные программы на компьютер при просмотре Web-сайта.

Уязвимость существует из-за повреждения памяти при обработке связываний DHTML данных (DHTML Data Binding) в Internet Explorer. Уязвимость распространяется на все поддерживаемые в настоящее время версии Internet Explorer. Специально сформированный HTML код, который использует эту уязвимость, приводит к тому, что IE создает массив из объекта связывания данных. Вредоносный код приводит к тому, что IE ссылается на объект, который был ранее инициализирован. Этот класс уязвимости эксплуатируется путем подготовки динамической памяти, содержащей контролируемые злоумышленником данные ("heap spray"), до разыменования некорректного указателя.

В настоящее время уязвимость активно используется для установки вредоносного программного обеспечения через взломанные сайты (ссылки).

Какое временное решение следует использовать?

Сейчас уведомление Microsoft содержит 8 различных вариантов блокирования уязвимости. Microsoft добавила дополнительные способы решения проблемы в последней версии уведомления, чтобы дать пользователям больше возможностей для устранения уязвимости. Только в IE8 существует возможность полностью отключить механизм связывания данных. Если вы не используете IE8, вам понадобится следующее:

  1. заблокировать доступ к уязвимому коду в библиотеке MSHTML.dll через OLEDB, что позволяет блокировать текущие векторы использования уязвимости
  2. применить самую безопасную конфигурацию, блокирующую проблемный код против этой уязвимости

Опциональный вариант (C) может применяться для усложнения контроля злоумышленника над динамической памятью.

Временное решение

A

B

C

1. Установить зоны безопасности Internet и Local в значение "High". Это позволит выводить окно с запросом на выполнение/запрет AсtiveX компонентов и Active Scripting в этих зонах для каждого сайта.

 

X

X

2. Настройть Internet Explorer на вывод запроса перед запуском Active Scripting или отключите Active Scripting в зонах безопасности Internet и Local.

 

X

X

3. Запретить Internet Explorerиспользовать OLEDB32.dll с помощью Integrity Level ACL

X

 

 

4. Запретить функционал Row Position в OLEDB32.dll

X

 

 

5. Отменить регистрацию OLEDB32.DLL

X

 

 

6. Использовать ACL для запрета OLEDB32.DLL

X

 

 

7. Запретить функционал XML Island

X

 

 

8. Включить DEP для Internet Explorer на Windows Vista и Windows Server 2008

 

 

X

9. Отключить поддержку связывания данных в Internet Explorer 8

X

X

 

Применение временного решения из колонки (A) поможет защититься от настоящих атак. Для полноценной защиты от уязвимости мы также рекомендует применить решение из колонки (B).

Зачем перечислять 4 вида опций для защиты от вектора атаки, использующего провайдер OLEDB данных?

Давайте кратко обсудим временные решения 3-5, каждый из которых описывает способ защиты от вектора атаки на провайдер OLEDB.

5 & 6 -отменить регистрацию или отключить OLEDB 32.DLL через ACL (списки контроля доступа)

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

Решение #5

Отмена регистрации OLEDB32.DLL

Для 32-битной системы (Windows 2000, XP, 2003, Vista, 2008) выполните команду:

Regsvr32.exe /u "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

Для 64-битной системы (Windows 2000, XP, 2003, Vista, 2008) выполните команды:

Regsvr32.exe /u "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"
Regsvr32.exe /u "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll"

Повторная регистрация (отмена временного решения) OLEDB32.DLL в системе

Для 32-битных систем выполните команду:

Regsvr32.exe "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

Для 64-битных систем выполните команды:

Regsvr32.exe "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"
Regsvr32.exe "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll"

Решение #6

Отключение OLEDB 32.DLL с помощью ACL

Скачайте архив solutions.zip и выполните соответствующий файл:

Для 32-битных ОС Windows 2000, XP, 2003

DisableACL-32bit.cmd

Для 64-битных Windows XP и 2003

DisableACL-64bit.cmd

Для 32-битных Windows Vista и Windows 2008

DisableACL-Vista-32bit.cmd

Для 64-битных Windows Vista и Windows 2008

DisableACL-Vista-64bit.cmd

Для отмены временного решения по отключению OLEDB32.DLL с помощью ACL и выполните соответствующий файл:

Для 32-битных ОС Windows 2000, XP, 2003

EnableACL -32bit.cmd

Для 64-битных Windows  XP и 2003

EnableACL-64bit.cmd

Для 32-битных Windows Vista и Windows 2008

EnableACL-Vista-32bit.cmd

Для 64-битных Windows Vista и Windows 2008

EnableACL-Vista-64bit.cmd

4 - Отключить функционал Row Position в OLEDB 32.dll

По нашим данным, отключение одного COM объекта OLEDB32 достаточно для блокировки доступа к уязвимой части кода. Хотя мы и указываем решения 5 и 6 в уведомлении, но решение #4 более предпочтительно, т.к. также эффективно как решения 5 и 6, но менее заметно.

Для отключения COM объекта OLEDB32 необходимо выполнить следующий reg файл:

DisableRowPosition.reg

Для отмены временного решения выполните файл:

UndoDisableRowPosition.reg

3  - Запретить Internet Explorer использовать OLEDB 32.dll с помощью Integrity Level ACL

Это еще одно решение для блокировки доступа к провайдеру OLEDB данных. Большой плюс этого решения - доступ блокируется только для Internet Explorer и не затронет другие приложения. Применение этого решения возможно только, когда включены UAC и IE Protected Mode (по умолчанию на Windows Vista и Windows Server 2008). Мы более подробно опишем это решение, т.к. оно достаточно хорошее.

Подробности решения с IntegrityLevelACL

Внимание, это решение применимо только для ОС Windows Vista и выше

Для внедрения этого типа защиты, наше решение базируется на том факте, что по умолчанию Internet Explorer запускается с включенным Protected Mode. Это означает, что процесс iexplore.exe запускается на низком уровне целостности. Подробности работы этого режима можно найти по адресу: http://msdn.microsoft.com/en-us/library/bb250462.aspx. Как написано в статье, механизм целостности позволяет заблокировать процессу возможность записи данных в защищенные объекты (например, файлы), имеющие более высокий уровень целостности. Но в статье не указывается, что также возможно запретить процессу читать и выполнять защищенные объекты с более высоким уровнем целостности. Это осуществляется путем применения специальной записи ACL для объекта. Ниже, мы расскажем, как это осуществить для OLEDB32.DLL.

Перед реализацией решения необходимо создать временную директорию и скопировать в нее inf файл из архива oledb32.zip. Для 32-битной системы используйте BlockAccess_x86.inf, для 64-битной - BlockAccess_x64.inf. Запустите командную строку с привилегиями администратора, перейдите в созданную вами директорию и выполните следующую команду:

>SecEdit /configure /db BlockAccess.sdb /cfg <файл.inf>

При успешном выполнении команды будет выдан следующий результат:

    The task has completed successfully.
    See log %windir%\security\logs\scesrv.log for detail info.

SecEdit также создаст файл BlockAccess.sdb в текущей директории. Его можно будет удалить вместе с inf файлом.

Проверка работоспособности временного решения

Для 32-битной системы достаточно выполнить команду:

icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

Для 64-битной системы будет нужно выполнить команду icacls дважды:

icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"
icacls "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll"

Наличие следующей строки в выводе команды icacls свидетельствует об успешном применении временного решения:

Mandatory Label\Medium Mandatory Level:(NW,NR,NX)

Значения NR и NX свидетельствуют об успешном выполнении команды, отсутствие строки или одного из значений (NR либо NX) говорит о неуспешно выполненной операции.

Отключение временного решения

Для отмены временного решения необходимо скопировать из архива inf файл (для 32-битной системы UnblockAccess_x86.inf, и UnblockAccess_x64.inf для 64-битной), и выполнить команду:

SecEdit /configure /db UnblockAccess.sdb /cfg <файл.inf>

Ссылки по теме

Файлы для загрузки


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 30.10.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft 365 Apps for business (corporate)
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft 365 Business Standard (corporate)
Microsoft Office для дома и учебы 2019 (лицензия ESD)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Вопросы и ответы по MS SQL Server
Краткие описания программ и ссылки на них
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100