Описание
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 не используется.