Отказ в обслуживании

Ошибка, связанная с неправильной обработкой «плохих» сообщений в компоненте Remote Procedure Call (RPC), дает злоумышленнику возможность предпринять атаку типа «отказ в обслуживании» — Denial of Service (DoS) — на компьютеры XP, Windows 2000 и NT.

В соответствии с данными, опубликованными в бюллетене Security Bulletin MS03-010 (Flaw in RPC Endpoint Mapper Could Allow Denial of Service Attacks) от 26 марта, ошибка кодировки распределителя адресата RPC (RPC endpoint mapper) позволяет злоумышленнику через порт «забить» систему пакетами, адресованными выбранной для атаки службе. Система может быть атакована в том случае, если порт TCP 135 не заблокирован (именно через него распределитель адресата принимает входящие запросы клиентов). Если игнорировать или заблокировать трафик через порт 135, воспользоваться обнаруженным изъяном не удастся. На практике, однако, это можно осуществить в операционной системе Windows 2000 и более поздних версиях. Если в качестве сетевых клиентов и серверов используются системы NT или Windows 9x, то в них всегда применяется протокол NetBIOS, в том числе и при обработке трафика через порт 135. Унаследованные системы используют NetBIOS также для просмотра сетевых ресурсов и разрешения имен WINS. Если в таких условиях отключить порт 135, клиенты не смогут обнаружить ни контроллеры домена, ни сетевые ресурсы общего доступа. Поскольку уязвимость кода распространяется только на DoS-атаки, ошибке был присвоен статус важной, но не критической; нормальная работоспособность системы легко восстанавливается в результате обычной перезагрузки. Исправление содержит новые версии трех файлов Windows 2000: ole32.dll, rpcrt4.dll и rpcss.dll. Дата выпуска всех файлов — 25 октября 2002 г. Для XP исправление включает обновление только одного файла — rpcrt4.dll, дата выпуска 8 ноября 2002 г. Ссылки на программы коррекции для RPC можно взять из статьи Microsoft «MS03-010: Flaw in RPC Endpoint Mapper Could Allow Denial of Service Attacks» (http://support.microsoft.com/?kbid=331953). Для NT соответствующее исправление еще не выпущено. Вместо этого рекомендуется защищать NT от атак через Internet с помощью брандмауэра.

***

Исправлена ошибка в Terminal Services Client

Многие пользователи сталкивались с аварийными остановками в системах Windows XP Home Edition, XP Professional Edition и на клиентах Windows 2000 Server Terminal Services с кодом остановки 0x7F в модуле win32k.sys. Специалисты Microsoft объясняют такие сбои переполнением стека, которое возникает при закрытии операционной системой большого количества вложенных окон. Исходя из этого объяснения можно сделать вывод, что сбой на клиенте Terminal Services происходит в том случае, когда пользователь открывает много окон, а также до или во время сессии Terminal Services. Если причина проблемы кроется в заявленной ошибке, то после перезагрузки клиента и открытия очередной терминальной сессии аварийная остановка должна произойти с тем же стоп-кодом. Microsoft выпустила программу коррекции, которая устраняет проблему переполнения стека. Исправление затрагивает 14 файлов, выпущенных в период с 14 февраля по 4 марта. Получить обновление можно только в Microsoft Product Support Services (PSS), ссылаться при этом следует на статью «Windows Stops Responding with ?Stop Error 0x7F? Error Message» (http://support.microsoft.com/?kbid=814789).

***

Исправлена ошибка Windows Installer 2.0

Microsoft обновила программу Windows Installer 2.0 для XP, XP Service Pack 1 (SP1) и Windows 2000 SP3.

В Windows Installer 2.0 обнаружена ошибка, которая не дает установить программное обеспечение с разделяемых сетевых каталогов, но только в том случае, когда файл установки .msi содержит записи в таблице IsolatedComponent. Когда установка программного обеспечения выполняется с помощью сценария, который вызывает команду Msiexec, программа-установщик может выдать сообщение об ошибке Error 1308, если для указания местонахождения файла .msi используется URL, например: msiexec /i «http://appserver/outlook/test.msi». Программа установки в этом случае считает, что файл .msi не найден, и отображает искаженный вариант имени файла .msi. В PSS уже есть обновленная версия msi.dll, которая устраняет эту ошибку. Если производится модернизация систем XP и Windows 2000, нужно приобрести обновления для обеих платформ. Дата выпуска обновления для XP — 20 февраля, для Windows 2000 — 3 марта. При обращении в PSS следует ссылаться на статью Microsoft «FIX: Error 1308 When You Install a Program from an Internet Source Location» (http://support.microsoft.com/?kbid=811364).

***

Исправление ошибки в Group Policy

Если для отключения просмотра в Network Neighborhood или в My Documents использовать Group Policy Object (GPO), можно столкнуться с нарушением доступа (access violation) при попытке открыть файл. Ошибка проявляется в тот момент, когда в окне Open выбирается поле Look для поиска документа в каталоге, отличном от каталога по умолчанию. На прошлой неделе Microsoft Product Support Services (PSS) опубликовала исправление этой ошибки — новую версию comdlg32.dll (дата выпуска 25 марта). При обращении в PSS следует ссылаться на статью Microsoft «You Receive an Access Violation Error Message When You Click the Look In Drop Down Menu of an Open Dialog Box» (http://support.microsoft.com/?kbid=816372).

***

Критическая ошибка сценария

В бюллетене Security Bulletin MS03-008 (Flaw in Windows Script Engine Could Allow Code Execution) говорится, что в ядре Windows Script Engine обнаружена ошибка, которой может воспользоваться злоумышленник, обратившись на Web-сервер через рассылку специальным образом отформатированного HTML-сообщения. Точнее, ошибка содержится в JScript, и в контексте зарегистрированного пользователя злоумышленник может запустить несанкционированный код на его локальной станции. Если пользователь зарегистрировался в системе с правами администратора, можно говорить о практически ничем не ограниченном доступе к ресурсам локальной станции и подключенным сетевым ресурсам. Данная ошибка имеется на всех платформах Windows, включая Windows XP, Windows 2000, Windows NT, Windows Me и Windows 9x. Загрузить исправление для конкретной платформы можно по ссылкам, указанным в названном бюллетене.

***

Приглашение посетить Web-сайты для взрослых

Мне еще не довелось столкнуться с этой неприятностью, но, если на экране внезапно возникает окно с приглашением посетить порно-сайт, возможно, компьютер заражен разновидностью вируса Trojan Horse — W32.DSS.Trojan. Источником заражения, как правило, является почтовое сообщение с вложением, которое называется Open Me. Вирус вставляет Web-страницу, которая приглашает пользователя посетить порно-сайт, в скрытое окно Microsoft Internet Explorer (IE). Проверить, заражен ли компьютер, несложно: нужно щелкнуть список IE history. В большинстве случаев в списке появляется URL http://voyour-cams.xww.de. В статье Microsoft «Pop-Up Windows That Contain Advertisements to Adult Web Sites Intermittently Appear on Your Desktop» (http://support.microsoft.com/?kbid=810981) объясняется, как остановить работу вируса Trojan и избавиться от ссылок на openme.exe как на диске, так и в реестре.

***

Ошибка в коде WebDav проявляется в работе сервера IIS

Если у кого-то достанет безрассудства запустить Microsoft IIS Web Server без предварительного использования программы IIS Lockdown Tool, специально для таких пользователей Microsoft выпустила новое исправление. В бюллетене безопасности Microsoft Security Bulletin MS03-007 («Unchecked Buffer In Windows Component Could Cause Web Server Compromise») говорится, что опытный программист может воспользоваться ошибкой в коде сценария WWW Distributed Authoring and Versioning (WebDav) с печальными для системы последствиями. Ошибка проявляется в системах IIS Server на базе Windows 2000, безопасность которых не была дополнительно усилена с помощью программы IIS Lockdown Tool и на Web-серверах, где не установлена программа URLScan Tool. Если Web-сервер не защищен, злоумышленник может послать на него специально подготовленное HTML-сообщение, обработка которого приведет или к аварийной остановке сервера, или будет запущен несанкционированный код с правами и привилегиями учетной записи Local System. Поскольку последствия для Windows 2000 могут оказаться весьма плачевными, ошибке присвоен статус критической. Чтобы защитить Web-сервер, следует запустить программу IIS Lockdown Tool (ее можно загрузить по адресу: http://www.microsoft.com/technet/ security/tools/tools/locktool.asp) или же как минимум установить RLScan (http://www.microsoft.com/technet/security/ urlscan.asp). Те, кто еще не воспользовался названными программами, могут загрузить и установить программу коррекции Q815021 (http://microsoft.com/downloads/details.aspx?amp;displaylang=en&familyid=c9a38d45-5145-4844-b62e-c69d32ac929b&displaylang=en). Исправление содержит новую версию компонента ядра операционной системы и совместимо только с Windows 2000 Service Pack 3. Если Web-сервер работает на Windows 2000 SP2 или более ранних версиях, установка исправления приведет к нарушению нормального функционирования операционной системы. Дополнительная информация об условиях применения и установке данной программы содержится в статье Microsoft «MS03-007: Unchecked Buffer in Windows Component May Cause Web Server Compromise» (http://support.microsoft.com/?kbid=815021).

***

Обновление Qchain исправляет ошибку контроля версий

Если при установке нескольких модулей коррекции (hotfix) используется файл сценария и при этом планируется перезагрузиться только один раз, вероятно, в самом конце сценария вызывается утилита Qchain. Эта программа должна проверять файлы, заменяемые при исправлении, запоминать номера модулей коррекции, которые обновляют одинаковые файлы, и следить за тем, чтобы в системе устанавливались только самые свежие версии файлов.

Мартовское обновление Qchain исправляет ошибку в коде утилиты, из-за которой самая последняя версия файла не устанавливалась. Этот недостаток проявлялся в том случае, когда в составе двух и более программ имелись файлы с одинаковыми именами, но различных версий, и один из таких файлов был открыт во время установки исправления. Когда происходит обновление открытого компонента операционной системы, фактическая замена файла выполняется только после перезапуска системы — и так для каждого открытого файла. Процедура установки пакетов обновлений (Service Pack) и программ коррекции использует при этом операцию File Rename Pending. Вот тут-то и возникает неожиданная проблема.

Предположим, нам нужно установить за один раз две программы коррекции, и в них присутствует обновленный файл shell32.dll, компонент, который отвечает за поддержку большого числа операций на рабочем столе. Первая программа устанавливает shell32.dll version 6344, вторая — shell32.dll version 6345. Поскольку shell32.dll version 6345 — более новая, можно ожидать, что в системе после перезапуска окажется именно она. В статье Microsoft «The Correct File Is Not Installed When You Chain Multiple Hotfixes» (http://support.microsoft.com/?kbid=815062) сказано, что Qchain копирует самую последнюю версию (6345) на диск, однако переименовывает для дальнейшей обработки файл с более старой версией (6344). Если я правильно интерпретирую документ Microsoft, получается, что система располагает наиболее свежей версией shell32.dll, но файлу присваивается номер более старой (6344 вместо 6345).

Такая несуразность может вызвать сбой в работе компонента Windows File Protection (WFP), когда происходит сравнение версии загруженного файла и его сигнатуры с версией и сигнатурой в каталоге. Если номер версии указан неверно, возникает сбой в работе WFP. В статьях Microsoft утверждается, что исправления для операционных систем Windows XP и Windows 2000, выпущенные не позднее декабря 2000 г., содержат утилиту Qchain с описанной ошибкой в коде, так что выводы напрашиваются сами. Если для обновления XP, Windows 2000 и Windows NT используются сценарии с применением Qchain, ошибка способна вызвать глобальные проблемы. Чтобы этого избежать, необходимо распаковывать исправления и группировать для пакетной установки только те из них, которые не имеют пересекающихся компонентов. Кардинальное решение проблемы — загрузка обновленной версии Qchain по адресу: http://microsoft.com/downloads/details.aspx?familyid=3c64d889-74f1-490b-a2fb-f15671a3b60c&displaylang=en, или из каталога Windows Update (поиск по номеру статьи 815062).

***

Куда подевались сетевые подключения?

Наверняка многим приходилось сталкиваться с ситуацией, когда, открыв Network and Dial-Up Connections Group, можно было увидеть только значок для создания нового dial-up-подключения. Или когда при запуске Make New Connection Wizard единственными доступными для использования вариантами оказывались Dial-up to the Internet или Accept Incoming Connections. Причиной этого странного эффекта в системах XP и Windows 2000 могло быть вот что.

  1. В корне системы (system root) находится дубликат файла rasapi32.dll. Обычно файл хранится в каталогах %systemroot%system32 и %systemroot%system32dllcache (и, возможно, в некоторых каталогах Service Pack, предназначенных для удаления установленного пакета обновлений). Если файл будет обнаружен где-либо еще, кроме %systemroot%, нужно удалить эту нештатную копию и перезапустить Remote Access Connection Manager Service.
  2. Службы Telephony или Remote Access Connection Manager не запущены. В этом случае необходимо запустить остановленную службу. Если она уже работает, следует перезапустить ее.
  3. Некоторые специфические установки в реестре запрещают доступ к сетевым подключениям. Microsoft ничего не сообщает о том, как неправильные данные могли попасть в реестр, однако рекомендует удалить подраздел HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrentVersionTelephonyCardsNext и перезапустить Make New Connection Wizard. Может так случиться, что после изменений в реестре потребуется перезапустить и службу Telephony.
  4. Для восстановления System State пришлось воспользоваться утилитой NTBackup, а описание установленных сетевых адаптеров или отсутствовало, или было неверно идентифицировано.

В коде NTBackup имеется ошибка, которая проявляется при восстановлении System State в среде Windows 2000. Исправленную версию NTBackup можно получить в Microsoft Product Support Services (PSS). Если же проблему необходимо решить как можно скорее, поможет модификация реестра на целевой системе, и осуществить ее нужно до запуска процесса восстановления. Параметр реестра, о котором идет речь, предписывает NTBackup не восстанавливать базу данных PnP. Дополнительную информацию можно найти в статье Microsoft «Network Adapters Are Missing or Incorrect in Device Manager After You Run NTBackup to Restore System State Data» (http://support.microsoft.com/?kbid=810161).

***

Чехарда в кумулятивном обновлении Internet Explorer (IE)

5 февраля 2003 г. Microsoft выпустила обновление компонентов безопасности (Security Rollup) для всех версий Internet Explorer (IE). Вслед за тем, 12 февраля, компания выпустила программу коррекции, исправляющую ошибку аутентификации IE 6.0, обнаруженную в последнем Security Rollup. Дополнительная информация об этом содержится в бюллетене Microsoft Security Bulletin MS03-004: Cumulative Patch for Internet Explorer. Спустя две недели после выхода оригинального кумулятивного пакета компания выпускает обновление Security Rollup, однако были ли изменены оригинальные файлы Security Rollup — неясно. Кумулятивное обновление доступно вот уже целый месяц, никаких проблем (пока, во всяком случае) замечено не было.

Тем, кто установил на своих компьютерах версию от 5 февраля, необходимо установить дополнительно еще две программы — одну для исправления проблемы аутентификации IE 6.0, другую для восстановления функций справочников на базе HTML в браузере. Было бы лучше, если бы разработчики Microsoft с большим уважением отнеслись к труду тех, кто вынужден заниматься установкой трех разных программ, и заново выпустили кумулятивное обновление, в состав которого вошли бы обе упомянутые программы, выпущенные задним числом. Новые ошибки, обнаруженные в системе безопасности IE, ставят под угрозу функционирование и браузера, и самой операционной системы. Возможность влияния на работу операционной системы следует из того, что IE задействует несколько компонентов, которые использует и сама система — уязвимость общих компонентов точно так же опасна и для операционной системы. Поскольку совместные модули загружаются во время запуска системы, злоумышленник может воспользоваться лазейкой в системе безопасности даже при неработающем браузере IE, например при обращении к Web-сайту через браузер независимого разработчика.

Security Rollup от 19 февраля содержит все ранее документированные исправления для системы безопасности, кроме «заплатки» для компонента безопасности при кросс-доменных обменах, а также «дарит жизнь» двум новым ошибкам в коде. Кросс-доменная «брешь» проявляется в тот момент, когда пользователь в одной сессии браузера просматривает несколько Web-сайтов. Данные при каждом посещении Web-сайта должны оставаться конфиденциальными, чтобы исключить возможность взаимопроникновения сайтов при помощи параметров сессии браузера. Если безопасность данных не обеспечена, «хитроумный» Web-хост может программным путем извлечь данные сессии чужого домена.

Один из кросс-доменных изъянов обнаруживается при вводе пользователем данных в диалоговое окно в ответ на запрос с Web-страницы. Другой — в тот момент, когда IE обрабатывает HTML-страницы, содержащие Help Content, например, когда выполняется обращение к функции showHelp(). Система становится уязвимой только при условии, что браузер обращается к Web-странице, специально созданной злоумышленником для проникновения в систему через любую из двух названных лазеек. Опытный оператор Web-сайта в состоянии организовать программный доступ к данным чужой сессии, или же сохранить и запустить несанкционированный код на локальной стации, или вызвать уже имеющийся в системе исполняемый модуль. Поскольку речь в данном случае идет о потенциальных разрушениях системы, февральскому кумулятивному обновлению присвоен статус критически важного.

Необходимо загрузить, установить и протестировать три перечисленные ниже программы коррекции для обеспечения безопасности работы IE, имея в виду выявленное совсем недавно уязвимое место кода безопасности, и, конечно, устранить все ранее упомянутые проблемы, обнаруженные со времени выпуска оригинального Security Rollup. После развертывания Security Rollup пользователи IE 6.0 могут столкнуться с трудностями аутентификации на Web-сайтах, в которых применяются сценарии, либо при регистрации на почтовом сервере MSN. Security Rollup отключает возможность обработки подсказок на базе HTML — Help Content на Web-страницах, т. е. прекращает работу функции showHelp(). Обе проблемы решаются установкой программы коррекции для системы аутентификации и HTML Help. Между прочим, исправление для HTML восстанавливает действие функции showHelp(), но не полностью. Дополнительную информацию о названных программах и о том, как их лучше устанавливать, можно найти в соответствующей статье Microsoft (нужно иметь в виду, что showHelp — платформенно-зависима):

  1. исправление для IE, выпущенное 5 февраля 2003 г., "MS03-004: February, 2003, Cumulative Patch for Internet Explorer", http://support.microsoft.com/?kbid=810847;
  2. последующее исправление для showHelp, выпущенное 5 февраля 2003 г., "HTML Help Update to Limit Functionality When It Is Invoked with the window.showHelp() Method", http://support.microsoft.com/?kbid=811630;
  3. последующее исправление для аутентификации в IE 6.0, выпущенное 11 февраля 2003 г., "You Cannot Access Your MSN E-mail Account or Authenticate with a Web Site in Various Programs", http://support.microsoft.com/?kbid=813951.
***

Новые проблемы в работе редиректора Windows 2000

Два компонента редиректора Windows 2000, mrxsmb.sys и rdbss.sys, обеспечивают удаленный доступ к разделяемым ресурсам. Они участвуют в создании удаленной сессии, выполняют необходимые системные операции над файлами, а также закрывают сессию, когда ресурс больше не нужен. Когда система сталкивается с проблемой при установлении соединения с удаленным ресурсом или доступе к файлу, в журнале событий появляются предупреждения и сообщения об ошибках от модуля mrxsmb.sys. Как показано в Таблице 1, когда что-то идет не так, ошибки в коде mrxsmb.sys могут привести к аварийной остановке восемью различными способами. Если отчеты о работе компонентов редиректора какое-то время не просматривались, можно смело добавлять к существующим проблемам в работе компонента mrxsmb.sys еще две, сопровождающиеся появлением «голубого экрана смерти». Ноябрьское обновление 2002 г. устраняет «экран смерти» со стоп-кодом 0x0E3, возникающий в том случае, если редиректор пытается снять блокировку, владельцем которой он не является, а также аварийную остановку со стоп-кодом 0xCE во время штатного завершения работы. Если контракта на системную поддержку нет или же обновление редиректора не производилось несколько месяцев, нужно загрузить ноябрьское обновление, тем более когда проявляются известные проблемы с протоколом Microsoft Server Message Block (SMB). Версии ноябрьского обновления выложены на загрузочный центр в Internet — Microsoft Download Center (http://microsoft.com/downloads/details.aspx?familyid=83e6f78a-b2ed-4ff4-996e-d29fc44d6b43&displaylang=en). В марте 2003 г. была исправлена ошибка, приводящая к остановке системы со стоп-кодом 0Xd1, но насчет причин, его вызывающих, пока еще ничего не известно. Мартовская версия редиректора доступна только в PSS.

Паула Шерик — редактор Windows & .NET Magazine и консультант по вопросам планирования, реализации и взаимодействия сетей. С ней можно связаться по адресу: paula@winnetmag.com.