14.07.2009

Уязвимости нулевого дня и защита от текущих угроз

В этой статье речь пойдет об уязвимости в Microsoft Office Web Components ActiveX компоненте и других уязвимостях нулевого дня.

Марчук Валерий
Редактор SecurityLab.ru, MVP in Enterprise Security

Введение

Уязвимость нулевого дня или 0-day – это ранее неизвестная уязвимость, которая эксплуатируется злоумышленниками в сетевых атаках. Подобные уязвимости мы оцениваем как критические и рекомендуем всем читателям немедленно принимать меры по их устранению.

В этой статье речь пойдет об уязвимости в Microsoft Office Web Components ActiveX компоненте и других уязвимостях нулевого дня.

Уязвимости нулевого дня в 2006-2009 гг.

В период с 2006 по июль 2009 года было обнаружено 24 уязвимости нулевого дня. Из них 19 уязвимостей в продуктах Microsoft.

Уязвимости нулевого дня за 2006-2009 гг, статистика SecurityLab.ru
Рис.1 Уязвимости нулевого дня за 2006-2009 гг, статистика SecurityLab.ru

Как видно на Рис. 1, количество уязвимостей нулевого дня в первом полугодии 2009 года превышает общее количество уязвимостей, обнаруженных в 2007 и 2008 годах. Это свидетельствует о повышении интереса злоумышленников к подобным уязвимостям. Не исключено, что именно финансовый кризис стал этому причиной.

Уязвимость

Месяц выхода

Дней до выхода исправления

2006

Выполнение произвольного кода в Microsoft Word

Май

25

Множественные уязвимости в Microsoft Excel

Июнь

24

Переполнение буфера в службе Server в Microsoft Windows

Август

0*

Переполнение буфера в Ichitaro Document Viewer

Август

0*

Выполнение произвольного кода в Microsoft Office

Сентябрь

35

Выполнение произвольного кода в Microsoft Visual Studio WMI Object Broker ActiveX компоненте

Ноябрь

41

Выполнение произвольного кода в Microsoft Word

Декабрь

64

2007

Выполнение произвольного кода в Microsoft Word

Январь

18

Множественные уязвимости в Microsoft Word

Февраль

81

Уязвимость при обработке анимированного курсора в Microsoft Windows

Март

4

2008

Выполнение произвольного кода в Microsoft Access Snapshot Viewer ActiveX компоненте

Июль

100

Выполнение произвольного кода в Microsoft Word

Июль

34

Множественные уязвимости в Microsoft Visual Basic ActiveX компонентах

Август

117

Выполнение произвольного кода в WordPad и Office Text Converters

Декабрь

125

Выполнение произвольного кода в Microsoft Internet Explorer

Декабрь

7

2009

Множественные уязвимости в Adobe Reader и Acrobat

Февраль

19

Выполнение произвольного кода в Microsoft Office Excel

Февраль

49

Выполнение произвольного кода в продуктах JustSystem Ichitaro

Март

0*

Выполнение произвольного кода в Microsoft Office PowerPoint

Апрель

49

SQL-инъекция в PJBlog3

Май

67 **

Выполнение произвольного кода в Microsoft DirectX

Июль

46 **

Загрузка произвольных файлов в FCKeditor

Июль

3

Выполнение произвольного кода в Microsoft DirectShow MPEG2TuneRequest ActiveX

Июль

8 **

Выполнение произвольного кода в Microsoft Office Web Components Spreadsheet ActiveX компоненте

Июль

1 **

* - количество дней эксплуатации уязвимости до выхода исправления определить не удается
** - уязвимость не устранена в настоящее время

На момент написания статьи не устранено 4 уязвимости, из них 3 уязвимости в продуктах Microsoft и одна в PJBlog3.

Временное решение по устранению уязвимостей

  • Уязвимость в Microsoft Office Web Components Spreadsheet ActiveX компоненте

Уязвимость существует из-за ошибки проверки границ данных в методе msDataSourceObject() в Office Web Components Spreadsheet ActiveX компоненте. Удаленный пользователь может с помощью специально сформированного Web сайта вызвать переполнение стека и выполнить произвольный код на целевой системе. В настоящий момент в публичном доступе находится 3 варианта эксплоита к этой уязвимости.

Уязвимые приложения:

  • Microsoft Office XP Service Pack 3
  • Microsoft Office 2003 Service Pack 3
  • Microsoft Office XP Web Components Service Pack 3
  • Microsoft Office 2003 Web Components Service Pack 3
  • Microsoft Office 2003 Web Components for the 2007 Microsoft Office system Service Pack 1
  • Microsoft Internet Security and Acceleration Server 2004 Standard Edition Service Pack 3
  • Microsoft Internet Security and Acceleration Server 2004 Enterprise Edition Service Pack 3
  • Microsoft Internet Security and Acceleration Server 2006
  • Internet Security and Acceleration Server 2006 Supportability Update
  • Microsoft Internet Security and Acceleration Server 2006 Service Pack 1
  • Microsoft Office Small Business Accounting 2006

В качестве временного решения для устранения уязвимости мы рекомендуем деактивировать уязвимый ActiveX компонент. Для этого установите Compatibility Flags в DWORD значение 0x00000400 для ключей

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{0002E541-0000-0000-C000-000000000046}

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{0002E559-0000-0000-C000-000000000046}

Или скачайте и запустите .msi файл (http://go.microsoft.com/?linkid=9672747).

  • Выполнение произвольного кода в Microsoft DirectShow MPEG2TuneRequest ActiveX

Уязвимость существует из-за ошибки проверки границ данных при обработке потокового видео в BDATuner.MPEG2TuneRequest.1 ActiveX компоненте (msVidCtl.dll) в Microsoft DirectShow. Удаленный пользователь может с помощью специально сформированного Web сайта вызвать переполнение стека и выполнить произвольный код на целевой системе.

Уязвимости подвержены:

  • Microsoft Windows XP
  • Microsoft Windows 2003

Для устранения уязвимости следует деактивировать уязвимый ActiveX компонент. Microsoft выпустила утилиту, деактивирующую CLSID, относящиеся к Microsoft Video ActiveX компоненту. Скачать .msi файл можно по ссылке:
http://go.microsoft.com/?linkid=9672398

Проактивная защита

В качестве проактивной защиты мы рекомендуем администраторам осуществить следующие действия:

  • Заблокировать доступ к доменным именам, с которых устанавливается вредоносное ПО. Инструкции по настройке DNS серверов и список доменов для блокирования можно найти в блоге по адресу http://www.securitylab.ru/blog/personal/tecklord/9228.php
  • Осуществлять мониторинг сетей на предмет попыток эксплуатации уязвимостей. Пример правил обнаружения уязвимостей для Snort IDS:
    • alert tcp $EXTERNAL_NET $HTTP_PORTS -> $HOME_NET any (msg:"Microsoft OWC Spreadsheet 0-day Exploit Attempt"; flow:from_server, established; content:"0002E559-0000-0000-C000-000000000046"; nocase; pcre:"/<OBJECTs+[^>]*classids*=s*[x22x27]?s*clsids*x3as* x7B?s*0002E559-0000-0000-C000-000000000046/si";  classtype:attempted-user; sid:3000900; rev:1;)
    • alert tcp $EXTERNAL_NET $HTTP_PORTS -> $HOME_NET any (msg:"Microsoft OWC Spreadsheet 0-day Exploit Attempt"; flow:from_server, established; content:"0002E541-0000-0000-C000-000000000046"; nocase; pcre:"/<OBJECTs+[^>]*classids*=s*[x22x27]?s*clsids*x3as* x7B?s*0002E541-0000-0000-C000-000000000046/si"; classtype:attempted-user; sid:3000901; rev:1;)
    • alert tcp $EXTERNAL_NET $HTTP_PORTS -> $HOME_NET any (msg:"Possible MSVIDCTL.dll exploit attempt"; flow:to_client,established; content:"|00 03 00 00 11 20 34|"; content:"|ff ff ff ff 0c 0c 0c 0c 00|"; within:70; classtype:trojan-activity; reference:url,www.securitylab.ru/vulnerability/382197.php; sid:3000902; rev:1;)
    • alert tcp $EXTERNAL_NET $HTTP_PORTS -> $HOME_NET any (msg:"Possible MSVIDCTL.dll exploit attempt"; flow:to_client,established; content:"|00 03 00 00 11 20 34|"; content:"|ff ff ff ff 0c 0c 0c 0c 00|"; within:70; classtype:trojan-activity; reference:url,www.securitylab.ru/vulnerability/382197.php; sid: 3000903; rev:1;)

Заключение

Еще только середина июля, а мы уже наблюдаем 4 уязвимости нулевого дня -  это максимальное количество уязвимостей нулевого дня, обнаруженных в течении одного месяца за последние 4 года. Очень хочется надеяться, что июль 2009 является исключением и подобного более не повториться. Сегодня Microsoft планирует выпустить исправление для уязвимости в Microsoft DirectShow MPEG2TuneRequest ActiveX компоненте. Следите за публикацией уязвимостей на SecurityLab.ru.

или введите имя

CAPTCHA
r14
17-07-2009 08:24:29
Исходя из заголовка, я действительно подумал, что "В этой статье речь пойдет об уязвимости в Microsoft Office Web Components ActiveX компоненте и других уязвимостях нулевого дня", раскроются какие-то закономерности в выявлении этих уязвимостей, будут даны какие-то технические детали, их объединяющие, и т.п., словом - ожидал нормальную аналитическую статью. Но вся аналитика уместилась в двух словах под Рис.1, и в нескольких строчках "Заключения". Что ж, можно сделать выводы о качественном составе команды этого ресурса, где до сих пор не научились правильно ставить мягкий знак в окончаниях на "-тся" и "-ться". Обидно, редактор SecurityLab.ru, MVP in Enterprise Security.
0 |
17-07-2009 09:27:49
>ожидал нормальную аналитическую статью. А тут бац - и практические рекомендации по блокировке 0-day. Ну кому это надо, а? >раскроются какие-то закономерности На Рис 1 ? > пор не научились правильно ставить мягкий знак в окончаниях на "-тся" и "-ться". Что важнее - получить рекомендации по борьбе с угрозой позже или получить текст без опечаток? > можно сделать выводы о качественном составе команды этого ресурса Можно. Они супер крутые перцы, котором многие завидуют и придираются по мелочам ?
0 |
r14
17-07-2009 11:47:45
Наверное, дело в том, что содержимое статьи не оправдало конкретно моих ожиданий. А то, что практические рекомендации и ссылки приведены в одном месте - хорошо, да.
0 |
17-07-2009 12:47:55
В любом случае, спасибо за идею. Работаем над аналитикой по 0-day
0 |
17-07-2009 13:02:30
Спасибо за комментарий, ошибки исправлю. По поводу содержимого статьи, она планировалась как инструкции по устранению 0-day уязвимости. раскроются какие-то закономерности в выявлении этих уязвимостейК сожалению невозможно спрогнозировать, когда появится та или другая уязвимость и будет ли она эксплуатироваться злоумышленниками (т.е. будет ли это настоящий 0-day), или будет продана iDefense (или другой компании) и отправлена приозводителю. Статистика по 0-day за конец 2008 и 2009 год показывает, что RCE уязвимости все чаще продаются на черном рынке и мы о них узнаем вследствии их эксплуатации. Что касается выявления - эти уязвимости к сожалению выявляются по факту взлома или при попытке взлома. будут даны какие-то технические детали, их объединяющие, и т.п.Общее для всех уязвимостей нулевого дня: 1. возможность удаленного выполнения кода 2. наличие ПО, эксплуатирующего эту уязвимость 3. отсутствие исправления и данных об этой уязвимости в публичном доступе это как бы очевидные вещи, я не счел нужным о них писать
0 |
dimak
09-09-2010 10:46:55
нормальная статья. кому надо тот понял
0 |