Описание

18 июля 2000 года в бюллетене Bugtraq появилось сообщение об изъяне программ Outlook и Outlook Express совсем другого типа, не имеющем ничего общего с элементами ActiveX.
Проблема заключается в классическом переполнении буфера, Причиной которого может послужить заполнение раздела GMT (Greenwich Mean Time — среднее время по Гринвичу) поля даты заголовка электронного сообщения чрезмерно большой порцией данных. В процессе загрузки такого сообщения с использованием протокола РОРЗ или IMAP4 файл INCETCOMM.DLL, который отвечает за анализ значения GMT, не выполняет необходимой проверки переполнения границ. Это приводит к возникновению аварийной ситуации в программах Outlook и Outlook Express и возможности запуска произвольного кода. Ниже приведен пример кода, работа которого основана на наличии этого изъяна.


Date: Tue, 18 July 2000 14:16:06 +<около 1000 бзмтхкод для звпуска>


Коварное сообщение позволяет незаметно установить программу типа "троянский конь". Через него могут распространяться "черви", а, кроме того, оно может дискредитировать целевую систему, запустить вложение — одним словом, делать практически все, что заблагорассудится.
Пользователям Outlook Express достаточно лишь открыть папку с представляющим опасность сообщением, и они сразу же становятся уязвимыми. Простая загрузка такого сообщения в процессе проверки почты может привести к переполнению буфера и возникновению исключительной ситуации. Таким образом, пользователи ОЕ попадают в замкнутый круг: сообщение не может нормально загрузиться, а его содержимое приводит к сбою программы при каждой последующей попытке приема почты. Одним из способов устранения описанной проблемы является просмотр почты и удаление вызвавшего аварию сообщения (при условии, что мы можем его "вычислить") с помощью почтового клиента, отличного от Outlook/OE. Это легко сделать, используя программу Netscape Messenger, в окне предварительного просмотра которой отображается дата сообщения, по которой можно понять, какое из сообщений привело к сбою. Пользователи Outlook уязвимы во время предварительного просмотра, чтения и пересылки сообщения, вызывающего неполадки, а также тогда, когда они на него отвечают.
Первоначально код, основанный на данном изъяне, был опубликован в бюллетене Bugtraq. Однако позже выяснилось, что данный подход можно применять лишь против сервера, входящего в состав частной локальной сети. Поэтому он неприменим, если его использовать портив пользователя, подсоединенного к Internet через модем. Как представляется, эта публикация стала результатом ошибки Аарона Дрю, который, по-видимому, пытался применить подход, подобный описанному в этой главе методу капсулы для взлома электронной почты, но вместо этого ошибочно отправил свое сообщение в бюллетень Bugtraq. Подготовленное для официального оглашения, это сообщение выглядело бы следующим образом (обратите внимание на строку Date, в которой для краткости опущены данные, вызывающие переполнение; в примере они заключены в квадратные скобки, которые не являются необходимыми).

Date: Sun, 7 May 2000 11:20:46 +[~1000 байт + код в шестнадцатиричном формате или ascii]

Группа Underground Security Systems Research (USSR, http://www.ussrback.com) также сообщила о том, что обнаружила эту брешь (по крайней мере, об этом заявил хакер Метатрон). Однако, по их утверждению, они не стали сообщать о ней публично, ожидая, пока Microsoft выпустит соответствующий модуль обновления. На базе этого изъяна группа USSR опубликовала свою реализацию, что вызвало интерес к их Web-узлу. Код запускается почти таким же образом, как и в предыдущем примере.


Контрмеры


Согласно информационному сообщению компании Microsoft, которое можно найти на ее Web-узле по адресу http://www.microsoft.com/technet/security/ bulletin/MSOO-043. asp, изъян может быть устранен с помощью модуля обновления, находящегося по адресу http://www.microsoft.com/windows/ie/download/ critical/patch9.htm.
Кроме того, эту проблему можно решить, установив одно из следующих обновлений с параметрами, принятыми по умолчанию.
Internet Explorer 5.01 Service Pack 1.
Internet Explorer 5.5 в любой системе за исключением Windows 2000.
Пользователи Windows 2000 должны вернуться к версии 5.01, установить модуль обновления, а затем обновить версию до 5.5. Это нужно осуществить, поскольку в Windows 2000 служба зашиты системных файлов (WFP — Windows File Protection) предотвращает обновление файла wab32.dll в процессе установки модуля обновления для IE 5.5.
Если выполняется установка, отличная от установки по умолчанию, и во время этого процесса устанавливаются обновленные компоненты Outlook Express, то описанный изъян также устраняется (при этом у пользователя будет возможность соответствующего выбора).
При установке модуля обновления IE 5.5 на компьютер с операционной системой Windows 2000 обновленные компоненты Outlook Express не устанавливаются, поэтому этот изъян не устраняется.
Следует также заметить, что по утверждению компании Microsoft пользователи Outlook, у которых эта программа настроена только для использования служб MAPI, не подвержены негативному влиянию, независимо от установленной у них версии Internet Explorer. Если службы электронной почты Internet не установлены (ToolsoServices), то библиотека INETCOMM . DLL не используется.