DX.WINAPI: Дыра в вантусе



14.08.2002
Vlad Kiselev, 2:5030/1095.6
Тема: DX.WINAPI: Дыра в вантусе

Добрый {утро|день|вечер}, All!

* Crossposted in SU.POL * Crossposted in RU.DELPHI

»- Вот оно... В Windows найдена ошибка, которую нельзя исправить Компьюлента. 8 августа 2002 года, 17:50

В ОС Windows обнаружено серьезное уязвимое место: с его помощью злоумышленник может запустить на компьютере любую программу, даже не имея для этого достаточных прав. Ситуация осложнена тем, что устранить уязвимое место при помощи обычных заплаток не удастся. По мнению специалиста, обнаружившего дыру, ошибка была допущена еще на этапе проектирования программного интерфейса Win32 (Win32 API). езависимый консультант по вопросам компьютерной безопасности Крис Пейджет утверждает, что на мысль заняться поиском недостатков Windows его натолкнули слова вице-президента Microsoft Джима Оллчина. Доказывая недопустимость распространения исходных кодов Windows, Оллчин заметил, что национальной безопасности США будет нанесен серьезный ущерб, если откроются некоторые недостатки этой операционной системы.

Пейджету стало любопытно, что же в действительности скрывается за этими словами. Итогом его исследований стала внушительная статья, в которой подробно описывается несложный способ, позволяющий поднять свои полномочия в системе до уровня администратора.

Основой, на которой базируется пользовательский интерфейс Windows, являются сообщения (messages). Каждое действие, предпринимаемое пользователем, порождает массу сообщений, передаваемых для обработки окнам (отдельные компоненты интерфейса, такие как кнопки или, например, поля ввода текста, с точки зрения Windows, также являются окнами). екоторые сообщения генерируют работающие приложения или сама система.

Проблема заключается в том, что Windows никак не контролирует передачу сообщений между разными приложениями. Любое приложение может послать любое сообщение любому окну, и то, как правило, обработает его, не задумываясь. В Windows 95, где все пользователи и программы равны, это было нормально, но в Windows NT/2000/XP дело обстоит совсем не так. екоторые программы имеют администраторские права, а другие - нет. Вредоносная программа может заставить выполнять программу с администраторскими правами действия, которые для нее самой запрещены.

Чтобы проверить реальность угрозы, Пейджет написал небольшую программу под названием Shatter. Она узнает идентификатор (handle) окна антивируса Network Associates VirusScan. Имея идентификатор, Shatter может послать антивирусу сообщение, устраняющее ограничение на длину текста, который можно ввести в текстовое поле в одном из его диалоговых окон. В этот момент требуется вмешательство взломщика: он должен поместить в буфер обмена (clipboard) исполняемый код программы, которую он хочет запустить. Сделать это можно при помощи какого-нибудь шестнадцатеричного редактора. Shatter перемещает данные из буфера обмена в текстовое поле VirusScan. Затем с помощью отладчика этот код можно найти, и, послав сообщение WM_TIMER, запустить его.

Единственная операция, которая требует администраторских прав - это использование отладчика. о в демонстрационных целях, по мнению Пейджета, такое допущение простимо. В реальности для запуска вредоносного кода пришлось бы воспользоваться более сложным или менее надежным способом - недостатка в возможностях нет.

О проблеме было сообщено в Microsoft. Там подтвердили, что знают об этой уязвимости, однако не склонны преувеличивать ее опасность. В Microsoft считают, что если уж злоумышленник получил возможность поработать за чужим компьютером, остановить его невозможно. Так или иначе, но своего он добьется.

Пейджет считает, что авторы Windows не улавливают сути. Главная опасность угрожает компаниям, у которых много компьютеров, пользователи которых имеют ограниченные права. Эти компьютеры не имеют ничего для защиты от атаки с помощью программы, похожей на Shatter. Вся система безопасности Windows теряет смысл.

Крис Пейджет: "В Microsoft не улавливают сути" Причина, по которой Microsoft ничего не делает, заключается, по мнению Пейджета, в ином. В компании осознают свое бессилие. Хотя проблема имеет решения, ни одно из них не лишено недостатков.

Осторожность Microsoft можно понять. есмотря ни на что, до сих пор ее тактика оправдывала себя: за годы существования Win32 API случаев использования этой уязвимости не было. »- No more! Windows Clipboard

Vlad

--- [ shiko@conceptio.ru :: www.conceptio.ru :: www.impsoft.spb.ru ] * Origin: coModerator of RU.CONCEPTIO [proJect conceptio] (2:5030/1095.6)

назадУказатель рубрикивперед