Недавно Microsoft выпустила очередной информационный бюллетень Security Bulletin MS03-010 с соответствующими комментариями (http://support.microsoft.com/?kbid=331953), где сообщается о наличии ошибки в распределителе точек удаленного вызова процедур (RPC), которая может свести на нет защиту от несанкционированного доступа, вызывающего отказ системы в обслуживании. Однако выявленный дефект не только создает вероятность такого рода взлома, но и ставит под угрозу дальнейшее существование операционной системы Windows NT 4.0. На первый взгляд упомянутый бюллетень представляет собой рядовое явление среди информационных сообщений Microsoft о найденных ошибках в средствах обеспечения безопасности и в очередной раз подтверждает активизацию деятельности Microsoft по выявлению подобных проблем. Но, к сожалению, корректирующие программы, выпущенные Microsoft для Windows XP и Windows 2000 (по-видимому, у Windows Server 2003 эта проблема отсутствует), для NT 4.0 не предусмотрены. Бюллетень констатирует уязвимость NT 4.0 и содержит информацию о том, что внесение необходимых исправлений для данной операционной системы не представляется возможным ввиду архитектурных ограничений.
Другими словами, в NT 4.0 обнаружен дефект, который, будучи неисправленным, значительно снижает ее ценность. Это означает, что серверы и рабочие станции, функционирующие под NT 4.0, не застрахованы от взлома через порт 135. Читатель может возразить, что неразумно открывать серверу доступ в Internet, оставляя порт 135 незащищенным. В некоторых ситуациях это верно, однако не всегда. Как утверждают в Microsoft, дефект является неустранимым, и, поскольку информация исходит от создателя NT, не остается практически никакой надежды на то, что кто-то другой сможет исправить положение.
В определенном смысле сложившаяся ситуация представляется весьма удобной. Уже не один год Microsoft желает расстаться с NT 4.0, и это понятно. Данная версия теперь представляет собой лишь источник затрат, связанных с созданием корректирующих программ и выпуском информационных бюллетеней, и стала помехой на пути увеличения доходов компании, поскольку клиентов, продолжающих использовать NT 4.0, можно рассматривать в качестве потенциальных покупателей Windows 2003, XP или Windows 2000.
Очевидно, что дефект такого рода, если его не исправить, может стать последним аргументом для приверженцев NT 4.0, которые все никак не могут решиться на обновление версии. Поэтому имеет смысл проанализировать, что стоит за высказыванием об «архитектурных ограничениях».
Можно представить пять возможных сценариев реакции Microsoft на факт обнаружения дефекта в NT 4.0.
- Неразглашение информации об обнаруженном дефекте. Этот вариант не так абсурден, как может показаться на первый взгляд. Целесообразность сообщения о наличии неустранимого дефекта в широко распространенном продукте, когда об этом знают лишь немногие, далеко не очевидна. Теперь же, когда каждый злоумышленник осведомлен об уязвимом месте в системе защиты, а также о том, что Microsoft не собирается ничего предпринимать, ясно, что в ближайшие полгода нам предстоит наблюдать опустошительные прогулки «терминатора NT 4.0» по компьютерам пользователей. Конечно, в конце концов, дефект все равно мог проявиться и вызвать появление соответствующего инструмента для взлома, но это могло случиться позже. К тому времени объектов атак, т. е. систем, функционирующих под NT 4.0, было бы уже значительно меньше.
Возможно, однако, что Microsoft была вынуждена проинформировать пользователей о дефекте, поскольку он затрагивает также системы XP и Windows 2000. Появление информационного бюллетеня без упоминания об NT 4.0 выглядело бы подозрительно.
- Выпуск корректирующей программы для NT 4.0. Это было бы наилучшим решением, но, как следует из комментариев Microsoft, данный вариант не рассматривается.
- Сценарий, по которому действовала компания Intel в случае с процессором Pentium, а именно: уведомление об обнаруженном дефекте и предоставление новых версий с необходимыми исправлениями (бесплатно). Когда в процессоре была обнаружена ошибка в процедуре арифметического вычисления, разработчики Intel сначала попытались преуменьшить значение этого дефекта, однако, в конце концов, решили поменять неисправные микросхемы на новые. Это обошлось компании довольно дорого, так как микросхемы с математической ошибкой были непригодны для повторного использования.
Распределитель портов удаленного вызова процедур является неотъемлемой частью системы NT. Предположить обратное — значит преуменьшить значение функции обеспечения способности NT к совместному использованию файлов, основой для которой служит распределитель портов. Если этот элемент поврежден, компании надлежит действовать по сценарию Intel. Если, как утверждают в Microsoft, дефект в системе NT 4.0 является неустранимым, было бы справедливо возместить стоимость копий. Вспомним, что речь идет не о программе за 20 долларов — копии NT 4.0 пользователи приобретали по цене порядка 1000 долларов.
- Сообщение о невозможности создания корректирующей программы и опубликование исходного текста в качестве доказательства. Исправление действительно не всегда возможно, однако никто не может быть в этом уверен ввиду действующего закона об авторском праве Digital Millennium Copyright Act (DMCA), принятого в 1998 г. Согласно этому документу, обратное дисассемблирование защищенного авторским правом машинного кода является незаконным. Поэтому в случае попытки изучения кода распределителя портов RPC с целью создания корректирующей программы Microsoft вправе предпринять соответствующее правовое действие.
Представим для сравнения, что автомобильная компания сообщает автовладельцу, что тормоза на его модели автомобиля неисправны, но фирма не может их ни отремонтировать, ни заменить. В этом случае клиент вправе нанять специалиста для разборки тормозов. Если нанятый специалист находит способ устранения неисправности, клиент может стать продавцом данной методики, нравится это компании-изготовителю или нет. Упомянутый же выше закон DMCA защищает производителей программного обеспечения от пользователей, желающих подвергнуть проверке утверждения разработчика.
Почему бы в таком случае не обнародовать хотя бы часть исходного текста RPC, чтобы весь мир мог убедиться в правдивости заявления Microsoft? Ведь речь идет не о разглашении полного кода NT 4.0, в котором, надо полагать, исходный текст RPC составляет не более одного процента.
- Разработка корректирующей программы для NT 4.0, которая исправляет дефект с одновременным ограничением функциональных возможностей операционной системы. Как следует из опубликованных Microsoft комментариев, механизм атаки, вызывающей отказ в обслуживании, возможно, состоит в нарушении нормальной работы программы распределителя портов за счет срыва попытки установления связи и приведения программы в неопределенное состояние. Можно составить программу, блокирующую некоторые сценарии удаленного вызова процедур, т. е. обеспечить защиту системы от атаки, вызывающей отказ в обслуживании, за счет отключения ряда программ. Можно предусмотреть управляющий интерфейс, выключающий корректирующую программу в случае необходимости восстановления полномасштабных функциональных возможностей распределителя портов RPC на некоторое время без перезагрузки системы.
Любой из предложенных выше вариантов представляется более приемлемым, чем заявление Microsoft о невозможности исправления дефекта, не оставляющее пользователю NT 4.0 иного выхода, кроме модернизации системы. Не будем обвинять Microsoft в неблаговидных помыслах: компания с широким кругом акционеров обязана заботиться об их благосостоянии. Однако то, что исправление неполадки в NT 4.0 вызывает у специалистов Microsoft гораздо меньше энтузиазма, чем решение проблем Windows 2003 или XP, похоже на правду. Остается надеяться, что компания пересмотрит свою позицию.