Архивы: по дате | по разделам | по авторам

Нечаянный стриптиз

АрхивТехнологии
автор : Андрей Васильков   12.03.2004

Слухи о том, что в Сеть попала часть исходников операционных систем Windows NT и Windows 2000, оказались правдой. Что дальше?

=+=+=+=

12 февраля корпорация Microsoft официально подтвердила правдивость слухов о том, что в Сеть попала часть исходников операционных систем Windows NT и Windows 2000. Событие сенсационное само по себе, но гораздо интереснее не то, как код попал в интернет, а чем это чревато для пользователей, работающих под управлением нечаянно "открывшихся" ОС, и для самой Microsoft.

12 февраля 2004 года на сайте Neowin.net появилось первое сообщение о гуляющих по Сети исходниках Windows. Новостные агентства моментально разнесли сенсационную весть по свету. В тот же день отреагировала и Microsoft, признав в официальном пресс-релизе утечку части исходного кода Windows 2000 и Windows NT 4.0.

Официальное заявление Microsoft по поводу кражи кода Windows
В четверг компании Microsoft стало известно, что часть исходного кода Microsoft Windows 2000 и Windows NT 4.0 была незаконно выложена в открытый доступ в интернете. Публикация исходного кода Microsoft третьими лицами незаконна, и мы рассматриваем этот инцидент со всей серьезностью. Подробнее..

Предварительное расследование показало, что виновником является компания Mainsoft, которая, занималась портированием приложений Microsoft под Unix и имела доступ к исходникам Windows задолго до того, как Microsoft запустила программу shared source. Впрочем, вина Mainsoft (которая, к слову, не слишком отпирается) еще не доказана. По данным компании iDefence, код был похищен в 2001 году. Времени, чтобы изменить его и "подставить" Mainsoft, тем самым, отведя подозрения от себя, у злоумышленников было предостаточно. Более того, Кен Данэм, специалист по "вредному коду" из iDefence, даже сомневается, что весь распространяемый код принадлежит "пострадавшему": "в архиве чистый код перемешан с халтурой, не похожей на продукцию Microsoft. Такое впечатление, что некто придержал код и немного поигрался с ним, прежде чем распространять".

Сама Mainsoft вызвалась активно помогать ФБР в расследовании. Однако если ей предъявят обвинение, она запросто сможет воспользоваться так называемой троянской защитой. Это новомодный адвокатский прием, который использует идею возможности внедрения в компьютеры обвиняемого троянских программ, с помощью которых третьи лица действуют от имени подзащитного. Учитывая, что доказать обратное практически невозможно ("троянский конь" мог самоуничтожиться, а значит, для построения адвокатской защиты отыскивать его необязательно), у Mainsoft есть шанс избежать судебного преследования. Правда, о сотрудничестве с Microsoft компания с громким именем тоже может забыть. Портировать Media Player или IE под Unix, скорее всего, будет кто-нибудь другой.

Пока сведений о пользователях, реально пострадавших из-за сложившейся ситуации, не поступало. В то же время, есть основания полагать, что теперь угроз для пользователей ОС Windows NT/2000/XP/2003 потенциально стало больше.

Избранные комментарии из похищенных исходников

private\shell\ext\tweakui\genthunk.c:
* CallProc32W is insane. It’s a variadic
* function that uses the pascal calling
* convention. (It probably makes more
* sense when you’re stoned.)

private\mvdm\wow32\wgdi31.c:
// InquireVisRgn is an undocumented Win // 3.1 API. This code has been
// suggested by ChuckWh. If this does not // fix the s 2.0 problem, then ChuckWh
// would be providing us with an private // entry point.

private\ntos\w32\ntuser\kernel\mnpopup.c:
// Set the GlobalPopupMenu variable so
// that EndMenu works for popupmenus so
// that WinWart II people can continue to // abuse undocumented functions.

private\mvdm\wow32\wgfont.c:
* This thunk implements the undocumented
* Win3.0 and Win3.1 API
* GetCurLogFont (GDI.411). Symantec QA4.0
* uses it.
* To implement this undocumented API we
* will use the NT undocumented API

private\windows\media\avi\verinfo.16\verinfo.h:
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!IF YOU CHANGE TABS TO SPACES,!!
* !!!!!!!!!YOU WILL BE KILLED!!!!!!!!!!!!!
* !!!!!!!!!DOING SO FUCKS THE BUILD!!!!!!!
* !!!!!!!!!PROCESS!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Архив с кодом Windows 2000 весит порядка 200 мегабайт и включает в себя более 30 тысяч файлов, содержащих около 13,5 млн. строк кода. Известно, что в самой Windows 2000 - от 35 до 100 млн. строк кода (вилка, конечно, недетская; в некоторых источниках говорится, что объем исходных файлов Windows 2000 составляет 4 гигабайта). Даже по самым скромным подсчетам получается, что в руках злоумышленников оказалось 15-20 процентов кода Windows 2000 SP1, который реализует сетевые сервисы (winsock и inet) и отвечает за работу многих популярных приложений. Windows NT 4.0, по слухам, похищена почти полностью, но она привлекает гораздо меньше внимания в силу своей относительной неактуальности.

Комментарии

Открытие исходников Windows не влияет катастрофически на безопасность. Дмитрий Леонов, специалист по компьютерной безопасности, один из авторов книги "Атака на интернет", комментирует ситуацию с кражей исходников Windows.

Официальная публикация кодов Windows снизит риск. Свои предложения по уменьшению опасности для миллионов пользователей Windows выдвигает Алексей Новодворский, заместитель геннерального директора ALTLinux.

Ситуация с исходниками Windows повысит интерес к Linux. Разработчики Linux не остались равнодушны к истории с кражей исходников Windows. Светлана Семавина, менеджер ASPLinux по связям с общественностью, передала мнение программистов о создавшейся ситуации.

Кража исходников Windows приведет к масштабной вирусной эпидемии. Публикация в интернете исходников Windows 2000 может заметно повлиять на вирусную активность и вызвать новые эпидемии. Ситуацию комментирует Денис Зенкин, руководитель информационной службы "Лаборатории Касперского".

На первый взгляд 15 процентов - совсем немного. Однако если подноготная Windows 2000 станет известна вирусописателям, хакерам и прочим "исследователям", это сильно поспособствует успешности их новых атак. Разумеется, после первого сервис-пака вышло великое множество заплат, часть дыр давно залатана, многие пользователи перешли на Windows Server 2003, но анализ кода может представлять интерес не столько в плане поиска уязвимостей, сколько для понимания ключевых моментов работы ОС и получения информации, ранее доступной лишь разработчикам. Это поможет писать программы, которые буду взаимодействовать с ОС на самом глубоком уровне. Среди таковых наверняка окажутся вирусы, троянские кони, бэкдоры, сетевые черви, "шпионские" (adware) компоненты, отловить и вычистить которые будет гораздо труднее, чем раньше.

Дело в том, что прежде "нападающие" и "защитники" (вирусописатели и антивирусные компании) находились в равных условиях. Не зная исходного кода, обе стороны работали, основываясь лишь на общедоступных данных о системе, а также на тех, что смогли получить методом "черного ящика". Ради поиска недокументированных функций приходилось идти на множество ухищрений; обнаруживать бреши в системе защиты тоже было нелегко. С открытием исходных кодов делать подобные вещи станет гораздо проще. Это все равно, что вместе с захваченным самолетом противника найти в кабине его детальные чертежи.

Любопытно, что Linux, чей код общеизвестен, не испытывает от этого серьезных проблем. Наоборот, в среде линуксоидов открытость считается благом, поскольку дает возможность легко находить ошибки и оперативно (причем самостоятельно) их исправлять. Почему же тогда открытие исходников Windows приравнивают к катастрофе с далеко идущими последствиями? Очевидно, потому что код Linux был открыт с самого начала. Эту ОС шлифовали от версии к версии тысячи энтузиастов, прежде чем она обрела популярность и стала завоевывать серверный рынок, а после утвердилась и в качестве полноценной настольной системы, начала использоваться в мобильных устройствах, различных гаджетах.

Windows развивалась по совершенно иному пути. Будучи полностью закрытой разработкой на ранних этапах своего существования, она уже была популярной и использовалась как основная операционная система для дома и офиса. Параллельно Microsoft штурмовала серверный сегмент, внедряя WinNT (опять же закрытую). Найденные ошибки устранялись выпуском патчей, которые писал штат программистов самой компании. Пользователь не имел возможности исправить проблему самостоятельно, а зачастую даже узнать о методе исправления на детальном уровне. Вера в безопасность системы была именно верой, частично подкрепляемой статистикой, сертификатами, мнениями экспертов и "результатами независимых исследований", но она не основывалась на собственном анализе тех участков кода, безопасность которых пользователь желал проверить.

Конечно, мало кто обладает достаточными знаниями и временем, чтобы провести такую проверку, да еще суметь сделать правильные выводы. Однако само наличие подобной возможности представляет немалую ценность.

Затея Microsoft выборочно открыть части исходников своих продуктов некоторым организациям была, скорее, вынужденным шагом, нежели добровольной инициативой. Случившееся неконтролируемое "ускорение и расширение" процесса действительно способно доставить немало проблем как самой компании, так и пользователям.

"Подобные утечки снижают степень защиты операционной системы и могут привести к созданию вирусов, использующих такие бреши в безопасности Windows, для которых еще нет заплаток. В результате, это может привести к крупномасштабной вирусной эпидемии, борьба с которой будет существенно затруднена", - полагают в "Лаборатории Касперского". Вирусы и раньше использовали для своего распространения дыры, для которых еще не было заплаток. Разработчику не всегда удается оперативно отреагировать на обнаружение новых брешей и выпустить патч до того, как ими воспользуются "вредители". С другой стороны, бывали случаи, когда проблема общеизвестна, пакет исправлений давно выпущен, а пользователи просто ленятся его установить. Так было в случае с Worm.SQL.Helkern. Он использовал дыру, патч для которой был выложен на сайт Microsoft за полгода (!) до эпидемии.

Первая ласточка уже прилетела. В списке рассылки Full Disclosure опубликовано описание бреши в IE, основанное на поверхностном анализе кода Windows 2000. Между первыми сообщениями об архивах с исходниками и публикацией письма прошло два дня.

Помимо того, что хакерам и вирусописателям теперь будет легче находить дыры в ОС, головной боли компании добавляет тот факт, что ее наработки могут быть использованы для создания других продуктов и усложнят конкурентную борьбу. Отважным поступком была бы официальная публикация скомпрометированного кода под свободной лицензией, но рассчитывать на это не приходится. Microsoft, скорее, попытается снизить оценку угрозы и удесятерит усилия по разработке патчей.

© ООО "Компьютерра-Онлайн", 1997-2021
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.