Карта сайта Хакер в RSS Энциклопедия Хакера PDA версия сайта Почтовые рассылки Хакера    Хакер в Twitter Хакер в ВКонтакте Приложение Хакер для Facebook Хакер на Formspring.me
Журнал Новости Форум Видео Life Xakep Live (блоги)
Bugtrack Статьи Блог Поиск English
Взлом как образ мысли Взлом как образ мысли
Интервью с человеком, который, как оказалось, является не только талантливым пентестером в одной из крупных ИБ-компании, но и хакером-ветераном, который уверенными шагами вышел на свет и прикоснулся к истории российской хак-сцены....
Полный гид по накрутке онлайн-голосований Полный гид по накрутке онлайн-голосований
Конкурсы с голосованием привлекают большое количество посетителей, а трафик, как известно, — это деньги. Особый интерес вызывают конкурсы, где за победу предлагаются лакомые призы....

История медленной презентации

Bookmark and Share

Пару недель назад я впервые принял участие в презентации на конференции Microsoft Tech-Ed перед аудиторией свыше 5000 слушателей. Старший вице-президент по маркетингу Windows Билл Вегте вел эту презентацию и рассказывал об ориентированных на пользователя функциях Windows 7, а старший менеджер по Windows Server Иен Макдональд продемонстрировал новые функциональные возможности Hyper-V и Windows Server 2008 R2. Я, в свою очередь, рассказывал об ориентированных на IT-профессионалов улучшениях в Windows 7 и Microsoft Desktop Optimization Pack (MDOP).

Я показал такие функции, как настройки групповых политик в BitLocker To Go, возможности удаленного управления и создания скриптов для объектов групповых политик в PowerShell v2, Microsoft Enterprise Desktop Virtualization (MEDV) , а также то, как App-V, перемещаемые профили пользователей и перенаправление папок дают возможность осуществить замену ПК с минимальными вынужденными потерями времени. Отдельно я остановился на том, что мы прилагаем все усилия, чтобы разработанные IT-профессионалами для Vista исправления, касающиеся совместимости приложений (мы их называем "прокладками", shims), также работали бы на Windows 7. Кроме этого, я продемонстрировал работу новой функции Windows 7 под названием AppLocker, которая на основе гибкой системы правил по определению программ помогает IT-профессионалам ограничивать список тех приложений, которые пользователи могут запустить на корпоративных машинах.

В течение нескольких недель, предшествовавших презентации, я работал с Джейсоном Лезнеком, отвечавшим за ту ее часть, которая предназначена для IT-профессионалов, чтобы выделить функции, которые я должен был показать и чтобы правильно подобрать демонстрационные материалы. Мы проводили репетиции по сценарию, изменяя наполнение демонстрации и создавая переходы, а также урезая информационное содержание, чтобы уложиться в отведенные мне временные рамки, помимо этого мы стремились сделать так, чтобы моя речь была четче акцентирована на тех преимуществах, которые дают новые технологии. Для демонстрации по вопросам совместимости приложений мы решили использовать стандартную внутреннюю программу Microsoft под названием Stock Viewer, намеренно относящуюся к той группе присутствующего сегодня на рынке прикладного ПО, которое несовместимо с Vista и Windows 7 и не может быть запущено на этих новых операционных системах без посторонней помощи. В ходе демонстрации я запускал Stock Viewer на Windows 7 и показывал постоянные сообщения об ошибках, которые выдает эта программа из-за несовместимости:

Далее я показывал, как устанавливать прокладку для обеспечения совместимости, позволяющую программе корректно работать под Vista и успешно перезапускать ее.

Мы также хотели показать, как мастер создания правил в AppLocker облегчает процесс запуска приложений исходя из информации об издателе или о версии, если ПО имеет цифровую подпись. Сначала мы хотели показать AppLocker после демонстрации, посвященной совместимости приложений, и в качестве примера использовать Adobe Acrobat Reader, поскольку им часто пользуются в различных компаниях. Мы провели пару прогонов презентации по этому сценарию, однако всякий раз нам казалось, что переходы были несколько неуклюжими, и поэтому я предложил, чтобы мы поставили демонстрацию об AppLocker перед демонстрацией Stock Viewer. Я мог бы запускать Stock Viewer через правило AppLocker и показывать работу прокладки, используя обе демонстрации.

Когда я вернулся к себе в свой офис, я поставил на Stock Viewer цифровую подпись Sysinternals и отослал программу Джейсону. Несколько часов спустя он сообщил мне через электронную почту, что что-то не так с демонстрационной системой, потому как Stock Viewer, который до этого запускался мгновенно, теперь тратил на запуск около минуты. Близилось начало TechEd и он был в панике, поскольку мы должны были уже заканчивать составление демонстрации. Мне доводилось слышать о том, что .NET инициирует проверку цифровой подписи при загрузке подписанных приложений, так что мое первое подозрение пало именно на это. Я попросил Джейсона зафиксировать следы при помощи Process Monitor и он отослал мне результаты уже несколько минут спустя.

После того, как я открыл лог, первое, что я сделал - это отфильтровал события для StockViewer.exe, найдя его первую операцию и кликнув по ней правой кнопкой мыши для установки быстрого фильтра:

После этого я посмотрел на время первого события (2:27:20) и последнего события (2:28:32), между которыми как раз и была та минутная задержка, о которой сообщил Джейсон. Просматривая весь лог, я обнаружил много записей, относящихся к шифрованию ключей реестра и папкам файловой системы, а также к указаниям на настройки TCP/IP, однако среди них должна была быть хотя бы одна запись, ответственная за столь существенную задержку. В конце концов, я обнаружил десятисекундный разрыв после отметки 2:27:22:

Непосредственно перед разрывом находились ссылки на сетевой DLL-файл Rasadhlp.dll, а до этого – многочисленные указания на ключи реестра Winsock, с доступом к зашифрованным ключам реестра сразу после десятисекундной задержки. Складывалось такое ощущение, что система не была подключена к Интернету, и что приложение сдерживалось десятисекундным тайм-аутом сети. Я стал смотреть дальше и обнаружил следующий 12-секундный разрыв:

Снова та же ситуация – сетевая активность до паузы и обращение к зашифрованным ключам реестра после нее. Следующий (тоже 12-секундный) разрыв демонстрировал аналогичную картину:

Несколько последующих разрывов выглядели полностью идентичными. В каждом из случаев сразу после паузы была ссылка на HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections, так что я установил фильтр по этому ключу и RegOpenKey, в результате чего получил шесть временных промежутков по 12 секунд каждый:

Их сумма – 6 раз по 12 секунд, как раз и давала ту задержку, которую увидел Джейсон. Далее я захотел убедиться, что эти повторяющие попытки получить доступ к сети были вызваны проверкой цифровой подписи, и потому начал проверять стеки различных событий, выбирая их и нажимая Ctrl-K для открытия диалогового окна свойств стека. Стек событий, связанных с настройками Интернет-соединения, показал, что причиной было именно шифрование:

Последнее, в чем мне оставалось убедиться – это в том, что ответственность за эти проверки целиком лежала на .NET. Пересмотрев лог, я убедился, что Stock Viewer действительно является .NET-приложением:

Я также взглянул на стеки некоторых более ранних событий, связанных с обращениями к зашифрованным ключам реестра и увидел, что они представляли собой вызовы процедуры WinVerifyTrust из рабочей среды.NET. Эта функция Windows позволяет проверить цифровую подпись файла, а ее вызов инициировал многочисленные попытки доступа к Интернет:

Удостоверившись, что задержка запуска была вызвана .NET, пытающимся проверить через Интернет, не отозван ли сертификат у файла Stockviewer.exe, я начал искать в Сети способ миновать проверку .NET, так как во время презентации использующийся для нее компьютер, скорее всего, не будет подключен к Всемирной паутине. Пару минут почитав заметки, авторами которых были люди, столкнувшиеся с аналогичной проблемой, я обнаружил эту статью из базы знаний Microsoft.

В ней были описаны приведенные мною симптомы, а также указан способ, позволяющий отключить обязательную проверку цифровой подписи в .NET 2.0 (именно с этой версией я и имел дело). Для этого надо было создать конфигурационный файл в том же каталоге и с тем же именем, что и исполняемый компонент, за исключением расширения ".config" (StockViewer.exe.config), после чего добавить туда следующий XML-код:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>

В итоге, через 15 минут после того, как я получил электронное письмо от Джейсона, я отослал ему сообщение со своими выводами и вложенным конфигурационным файлом. Вскоре он прислал мне ответ, где сообщил, что задержки исчезли, и выразил свое изумление по поводу того, насколько быстро мне удалось решить проблему. Ему это могло показаться какой-то магией, однако я просто воспользовался Сетью и Process Monitor, чтобы разрешить ситуацию. Нет нужды говорить, что обновленная версия демонстрации и переход между AppLocker и совместимостью приложений прошли успешно.

Оригинал:

http://blogs.technet.com/markrussinovich/archive/2009/05/26/3244913.aspx

Читай так же:

Знаток изнанки операционных систем: Марк Руссинович

История файлов-призраков

История пропавшей DLL

История неудавшегося сжатия

Windows Defender: история одного торможения

Сам себе Руссинович

История зависшего гаджета

История пропавшего автозапуска

История случаных падений IE и WMP

Копирование: простая сложность

История неизвестного Автостарта

Руткит от Sony: история в деталях

История небезопасной программы безопасности

+ Сам себе Руссинович



Теги: Windows , администрирование





СВЯЗАННЫЕ СТАТЬИ
История медленной презентации
СЛЕДУЮЩИЕ СТАТЬИ
Умная стратегия обновления позволит сохранить исправность системы
10 наиболее важных Open Source проектов 2011
Oracle оставляет базы данных уязвимыми
IPv6: время действовать
Раз заплатка, два заплатка: зачем нужны бинарные патчи, и как ими пользоваться
Прав достаточно: 8 приемов для обхода групповых политик в домене
Windows 7 PORTABLE: делаем загрузочную флешку с "семеркой" на борту
Суперкомпьютер из видеокарты: задействуем возможности GPU для ускорения софта
SELinux: бронежилет для корпоративного пингвина
Генеральный директор Red Hat: "Я не имею ни малейшего понятия, что дальше"
ПРЕДЫДУЩИЕ СТАТЬИ
Конструктор для тукса: пошаговое руководство по созданию своего дистрибутива на базе Ubuntu
WAIK: собственная сборка Windows
Безопасность Apple: 5 направлений улучшения
Туннельный синдром: настройка PPTP-сервера в Windows Server 2008
Узник тайной тюрьмы: FreeBSD Jail для изолирования небезопасных сервисов
Легче не бывает: строим сервер из легких компонентов
Hyper-V: технология виртуализации для Windows Server 2008
История файлов-призраков
Elastix: гибридное решение для быстрого и простого развертывания VoIP-телефонии
Дистрибутивы Linux: из России с любовью
ОБСУЖДЕНИЕ СТАТЬИ
Логин:
Пароль:
Если у вас есть форумный логин - вы можете использовать его, иначе анонимный гостевой доступ.

Для оставления комментария вы можете зарегистрироваться по упрощенной процедуре.

Обсуждение этой статьи на forum.xakep.ru
Для отправки сообщения введите код, указанный на картинке
Сообщение

UserГость
18.06.2009 14:38:45
Ответить Ссылка
Обычно не пользуюсь windows (лишь на работе, настраивая компы бухгалтерии), но статья понравилась. Спасибо
UserГость
18.06.2009 17:41:16
Ответить Ссылка
захватывает, прям как детектив.)
UserГость
19.06.2009 3:26:16
Ответить Ссылка
Все логично, "по полочкам". Так и надо решать проблемы. Последовательно и до конца. Хорошая статейка.
UserГость
21.06.2009 23:48:33
Ответить Ссылка
А что бы делал не Марк Русинович? o.O
Avatarrgo
27.06.2009 4:32:38
Ответить Ссылка
quote:

ORIGINAL: Guest
А что бы делал не Марк Русинович? o.O

Кричал бы, что венда глюкавая поделка и хуже всего дотнет. Хотя не факт, что не маркруссинович догадался бы до дотнета.
UserГость
26.06.2009 15:42:12
Ответить Ссылка
везде глюки
UserГость
08.09.2009 12:12:06
Ответить Ссылка
"и выразил свое изумление по поводу того, насколько быстро мне удалось решить проблему"
По-моему, он уже не первый раз бахвалится тем, что он быстрый и ловкий вендерулёз.
Чувак сам себе проблемы ищет, находит и решает. Молодец!




Keywords: zPOSTz zOSz, zINFOz, zYANDEXz z48573z
Для Авторов: edit Lock delete Lock



    Rambler's Top100