Бөлісу құралы:


[Архив бюллетеней ^] [ Том 2, Число 3] [<Том 2, Число 5 >]

Информационный бюллетень внутренних систем 2, номер 4

www.sysinternals.com
Авторские права © 2000 Марк Руссинович


30 августа 2000 г. — в этой проблеме:

  1. РЕДАКЦИОННЫЙ

  2. НОВЫЕ ВОЗМОЖНОСТИ SYSINTERNALS

    • ListDlls версии 2.23
    • HandleEx версии 2.26
    • ElogList версии 2.02
    • LoggedOn версии 1.1
    • Синий экран версии 2.21
    • PageDefrag версии 2.01
    • LoadOrder версии 1.1
    • ClockRes версии 1.0
    • BgInfo версии 1.0
    • Внутри Windows 2000, 3rd Ed.
    • Sysinternals в Корпорации Майкрософт
  3. ВНУТРЕННИЕ СВЕДЕНИЯ

    • Мощность привилегий DEBUG
    • Новые API в Win2K с пакетом обновления 1 (SP1)
    • WinDev 2000 Запад
  4. ЧТО ПРОИСХОДИТ

    • Tokenmon

СОВМЕСТНЫЙ СПОНСОР: WINTERNALS SOFTWARE

Информационный бюллетень Sysinternals спонсируется Winternals Software в Интернете на www.winternals.com. Winternals Software является ведущим разработчиком и поставщиком расширенных системных средств для Windows NT/2K. Продукты Winternals Software включают FAT32 для Windows NT 4.0, NTFSDOS Professional Edition (драйвер NTFS/write NTFS для DOS) и удаленное восстановление.

ERD Commander 2000 Winternals Software является последним выпуском в своей линейке продуктов ERD Commander. Новые возможности ERD Commander 2000, включая встроенные редакторы реестра и файлов, делают его самым передовым средством восстановления Windows NT и Windows 2000 в существовании. Вы можете установить ERD Commander 2000 на дисках floppy, cd-ROM и даже жестком диске системы для быстрого доступа, и его мастер установки делает добавление сторонних SCSI и других драйверов массового хранилища ветерок. Командир ERD 2000 составляет $ 349, или только $ 49 для существующих владельцев командира ERD профессиональных. Узнайте больше и скачайте пробную версию на www.winternals.com/products/erdcommander2000.shtml.

СОАВТОР: WINDOWS 2000 MAGAZINE

Журнал Windows 2000 содержит практические решения для людей, работающих с Windows NT/2000 каждый день. Заказать бесплатный пример проблемы сейчас и без риска. Если вы решите продолжить подписку, вы получите 13 дополнительных вопросов на 40 % от цены на новости. Подписаться сегодня по адресу: http://www.win2000mag.com/sub.cfm?code=fs00inhs13

Здравствуйте!

Добро пожаловать в информационный бюллетень Sysinternals. В настоящее время информационный бюллетень имеет 25 000 подписчиков.

Я провел много времени в Regmon, Filemon и DebugView, инструменты, которые Брайс и я разработали в Sysinternals. Regmon — это монитор доступа к реестру (www.sysinternals.com/regmon.htm), Filemon — это монитор доступа к файлам (www.sysinternals.com/filemon.htm), а DebugView — это монитор вывода отладки (www.sysinternals.com/dbgview.htm). Иногда я сталкиваюсь с приложением или драйвером устройства, установленным на одном из моих нескольких систем, которые создают непрерывную активность, видимую в одном из этих средств. Я не говорю о необходимых действиях, однако действия, выполняемые программным обеспечением, обычно являются повторяющимся характером и исследованием выходных трассировок показывает, что программное обеспечение использует метод опроса, где использование какого-то другого менее навязчивого механизма возможно.

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

Возможно, самым вопиющим примером является служба программы Microsoft Windows Media, которая поставляется в пакете с Windows 2000 Server (): она считывает первые 2 КБ \Winnt\System32\Windows Media\Server\ASDB\mdsas.mdb со скоростью около 60 раз в секунду в системе, где в противном случае нет действий (\Winnt\System32\Windows Media\Server\Npsm.exeв том числе без обслуживания мультимедиа). Нет никаких оправданий для этого, особенно так как это может негативно повлиять на общую производительность сервера.

Я уверен, что если вы использовали Regmon, Filemon или DebugView в течение любого времени, когда вы, вероятно, столкнулись с аналогичными примерами. Когда вы видите его, не просто установите фильтр и забудьте об этом, электронная почта поставщика жалуется на их небрежное программирование.

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

Спасибо!

-Метка

НОВЫЕ ВОЗМОЖНОСТИ SYSINTERNALS

LISTDLLS версии 2.23

ListDLLs — это служебная программа командной строки, которая содержит подробные сведения о библиотеках DLL, загруженных процессами. Например, списки DLL отображают базовый адрес памяти, размер, версию и полный путь к каждой библиотеке DLL. В этой новой версии показана командная строка, используемая для запуска процесса, включая все параметры, переданные в командной строке. Это поможет вам различать несколько процессов и устранять проблемы, связанные с конкретными параметрами командной строки.

Скачайте списки DLL версии 2.23 по www.sysinternals.com/listdlls.htm.

HANDLEEX V2.26

HandleEx — это приложение, представляющее сведения о том, какие дескрипторы и процессы DLL открыты или загружены. Его дисплей состоит из двух вложенных окон. В верхней части всегда отображается список текущих активных процессов, включая имена своих учетных записей, а сведения, отображаемые в нижнем окне, зависят от режима, в который находится HandleEx: если HandleEx находится в режиме обработки, вы увидите дескриптор, выбранный в верхнем окне; Если он находится в режиме DLL, вы увидите библиотеки DLL и сопоставленные с памятью файлы, загруженные процессом.

Последний выпуск HandleEx включает несколько новых функций. Во-первых, например listDLLs, теперь отображается командная строка, которая использовалась для запуска процесса при просмотре свойств процесса.

Одним из недостатков HandleEx до этой версии было то, что, хотя оно отображало имя учетной записи, в которой выполнялись системные процессы и процессы сеанса входа, она не может обойти модель безопасности Windows NT/2000, чтобы показать владельцу процессов, запущенных из других учетных записей пользователей (программа Pview из комплектов ресурсов Windows NT/2000 также страдает от этого ограничения). Это было болезненно очевидно в средах служб терминалов NT 4 и Windows 2000, где HandleEx указал, что процессы, запущенные с других сеансов пользователей, имели неизвестных владельцев. HandleEx версии 2.26 реализует трюк, чтобы определить учетную запись владения для всех процессов без исключения, что делает его идеальным инструментом для сред служб терминалов.

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

Скачайте HandleEx версии 2.26 по www.sysinternals.com/handleex.htm.

ELOGLIST версии 2.02

Пакет ресурсов Windows 2000 включает средство с именем ELogDmp, позволяющее дампа записей из журнала событий на локальном или удаленном компьютере. ELogList более мощный, чем ElogDmp, так как он также позволяет указать необязательное имя и пароль учетной записи, чтобы получить доступ к журналам событий компьютера из другой учетной записи, отличной от учетной записи, из которой выполняется средство. Кроме того, в то время как средство ElogDmp отображает записи журнала событий в необработанной форме, что затрудняет интерпретацию выходных данных, эти записи журнала обновления ElogList форматируют записи журнала событий для отображения текста, как оно отображается в Просмотр событий Windows NT/2000. Даже при отображении журналов событий из удаленных систем ElogList использует правильные файлы сообщений в удаленной системе для форматирования строковых данных.

Скачайте ElogList версии 2.02 по адресу www.sysinternals.com/eloglist.htm.

ЖУРНАЛ ВЕРСИИ 1.1

LoggedOn — это applet командной строки, которая сообщает, кто входит в систему на определенный компьютер, локально или через общие папки ресурсов. Обновление версии 1.1 позволяет выполнять поиск в сети для сеансов входа, связанных с конкретным пользователем. Эта функция полезна в ситуациях, когда необходимо выполнить обновления учетной записи пользователя и убедиться, что пользователь в данный момент не вошел в систему.

Скачайте LoggedOn версии 1.1 с полным исходным кодом по www.sysinternals.com/misc.htm.

BLUESCREEN ВЕРСИИ 2.21

Большинство из вас, несомненно, знакомы с известным синим экраном Sysinternals Blue Screen saver, который точно изображает сбой Windows NT или Windows 2000 и перезагрузку. Начиная с первоначального выпуска, я постоянно получал запросы от пользователей Windows 9x, которые хотят запустить экранный заставщик на своих компьютерах, поэтому я, наконец, переносил его в Windows 9x. В Windows 9x он имитирует сбой Windows 2000 и перезагрузку.

Единственное требование для использования синим экрана Sysintenals в Windows 9x заключается в том, что вы получите копию файла windows 2000 Ntoskrnl.exe для размещения в \Windows\System каталоге. Для этого требуется файл для экрана-заставки Windows 2000.

Теперь вы можете действительно запутать не подозревающих пользователей Windows 9x, которые возвращаются на свой компьютер, только чтобы обнаружить, что он застрял в цикле сбоя Windows 2000 и перезагрузки!

Скачайте средство сохранения экрана Bluescreen версии 2.21 по www.sysinternals.com/bluescreen.htm.

PAGEDEFRAG версии 2.01

PageDefrag — это служебная программа дефрагментации, которая выполняется во время загрузки для дефрагментации файлов разбиения по страницам системы и кустов реестра. PageDefrag была первой служебной программой, способной дефрагментировать кусты реестра, но с момента его выпуска эта функция была добавлена в несколько коммерческих дефраггеров. Однако PageDefrag по-прежнему бесплатна, и версия 2.01 работает в Windows 2000, а также Windows NT 4.

Если вы заинтересованы в интерфейсе дефрагментации, предоставленном Windows NT 4 и Windows 2000, вы можете узнать об этом и скачать исходный код в интерактивный дефрагментатор файлов в www.sysinternals.com/defrag.htm. Sysinternals задокументировал интерфейс дефрагментации за годы до того, как Корпорация Майкрософт включила его в пакет SDK для платформы, а несколько коммерческих дефрагментаторов использовали нашу документацию и пример кода.

Скачайте PageDefrag версии 2.01 по www.sysinternals.com/pagedfrg.htm. Просмотрите документацию по интерфейсу defrag по www.sysinternals.com/defrag.htm.

LOADORDER ВЕРСИИ 1.1

Вы когда-нибудь задавались вопросом о том, в каком порядке драйверы устройств и службы загружают и инициализировать? Теперь вы можете легко узнать. LoadOrder — это служебная программа, которая обрабатывает сведения в HKLM\System\CurrentControlSet\Services разделе для создания рисунка порядка загрузки драйверов и служб.

Скачайте LoadOrder версии 1.1 по www.sysinternals.com/misc.htm.

CLOCKRES ВЕРСИИ 1.0

В моих статьях по планировщику я говорил о том, что кванта потока Windows NT/2000 (длина очереди потока для запуска на ЦП) основана на разрешении системных часов. Разрешение часов также влияет на задержку событий на основе таймера Windows. Статья на www.sysinternals.com/timer.htm даже обсуждает способ, которым приложения могут управлять разрешением часов. В большинстве SMPs разрешение составляет 15 мс, а для однопроцессоров — 10 мс, значения, заданные стандартными hals SMP и uniprocessor (аппаратный уровень абстракции).

Хотя большинство систем используют общие значения, перечисленные выше, как определить фактическое разрешение часов на компьютерах? Ответ лежит в API GetSystemTimeAdjustment Win32, который указывает, применяется ли система периодической корректировки к часам дня. Это просто так происходит, что этот API также возвращает интервал часов. Applet ClockRes использует API, чтобы сообщить вам разрешение часов системы.

Скачайте clockRes плюс источник по www.sysinternals.com/misc.htm.

BGINFO V1.0

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

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

Скачайте BgInfo версии 1.0 по адресу www.sysinternals.com/misc.htm.

ВНУТРИ WINDOWS 2000, 3RD EDITION

Официальная книга на внутренних устройствах Windows 2000 теперь доступна! Этот выпуск, соавтор Дэвид Соломон (www.solsem.com) и Марк Руссинович, превышает 40 % больше, чем предыдущий, с новым охватом сети, подключаемых модулей и воспроизведения, управления питанием, служб, реестра, WMI, загрузки и завершения работы и хранения. Он также включает компакт-диск с несколькими мощными инструментами, недоступными в других местах, для изучения внутренних компонентов Windows 2000.

Просмотрите оглавление книги и порядок сейчас через www.sysinternals.com/insidew2k.htm.

SYSINTERNALS AT WWW.MICROSOFT.COM

У меня нет новых статей базы знаний, которые ссылаются на Sysinternals для отчета, но Корпорация Майкрософт добавила некоторые довольно громкие ссылки на Sysinternals в части своего сайта TechNet. Первый в "Спрашивать нас о... Столбец "Безопасность" в www.microsoft.com/TechNet/security/au022800.asp, где обозреватель Joel Scambray предупреждает читателей о том, что NTFSDOS (www.sysinternals.com/ntfspro.htm) может использоваться злоумышленником для изменения содержимого Active Directory контроллера домена Windows 2000.

Вторая ссылка находится в столбце "Inside Microsoft" в www.microsoft.com/technet/inside/default.asp. Столбец — это стиль Q&A и начинается с двух вопросов, связанных с определением того, какое приложение открывает определенный файл. В ходе ответов, где читатели указываются на HandleEx (www.sysinternals.com/handleex.htm) и NtHandle (www.sysinternals.com/nthandle.htm), автор статьи ("Моль") утверждает, что это о Sysinternals: "Существует просто TON великих коммунальных услуг, которые не будут стоить вам немного. Даже Моль ссылается на Sysinternals время от времени (Что? Вы думали, возможно, Моль держит всю эту информацию в голове?). Еще раз, это то, где он собирается отправить тебя". Это примерно так близко к официальному одобрению сайта Корпорацией Майкрософт, как мы можем ожидать.

ВНУТРЕННИЕ СВЕДЕНИЯ

МОЩНОСТЬ ПРИВИЛЕГИЙ ОТЛАДКИ

В отличие от других мониторов выходных данных отладки, включая dbmon, монитор отладки DebugView (www.sysinternals.com/dbgview.htm) требует привилегий локального администратора для выполнения, так как он устанавливает драйвер устройства, который записывает выходные данные отладки в режиме ядра. В результате я получил десятки сообщений электронной почты от разработчиков, жалуясь на то, что их управление не даст им права локального администратора, только права отладки. Аргумент идет о том, что привилегия отладки существует по причине, и все разработчики приложений должны разрабатываться. Эти разработчики попросили меня изменить DebugView, чтобы он устанавливал драйвер только в том случае, если у пользователя есть права администратора, и в противном случае собирает выходные данные отладки Win32.

Эти запросы всегда дают мне усмехаться, так как то, что управление, которое делает аргумент debug-privilege, не понимает, что эта привилегия открывает дверь для привилегий локального администратора. С помощью привилегий отладки разработчик может подключить отладчик к процессу локального центра безопасности (LSASS) и управлять им, чтобы предоставить им права локального администратора для следующего входа. Или они могут внедрить код в любой процесс, выполняемый в системной учетной записи, которая добавит свою учетную запись в группу локальных администраторов. Когда я объясню это жалующимся разработчикам, они иногда отвечают на то, что их управление не покупает аргумент. До сих пор я не имел ничего для них, чтобы вернуться к их управлению, чтобы сделать свое дело, но недавний сыпь таких электронных писем побудил меня принять меры.

LogonEx, служебная программа, скачать в www.sysinternals.com/logonex.zip, графически демонстрирует влияние привилегии отладки. LogonEx работает в Windows NT и Windows 2000. Чтобы лучше показать это, создайте учетную запись, которая является обычной учетной записью пользователя, за исключением добавления привилегий "Отладочные программы". Выйдите и войдите в систему в этой учетной записи и запустите LogonEx. Вам потребуется файл символов для msv1_0.dll для конкретной установки (у разработчиков обычно установлены системные символы), которые LogonEx использует для поиска точки MsvpPasswordValidate входа функции и исправления. После того как LogonEx сделает его исправление, вы сможете войти в систему с помощью любой учетной записи без указания пароля. Выполните демонстрацию, выполнив вход от имени администратора и добавив учетную запись, созданную в группу локальных администраторов.

LogonEx является лишь одним из примеров того, как привилегия отладки позволяет разработчику контролировать систему, но есть много других. Я надеюсь, что LogonEx убеждает управление, что это не имеет смысла не предоставлять разработчикам права локального администратора (обратите внимание, однако, что я не говорю о привилегиях администратора домена, которая является другой историей, которую местный администратор правит верховным только над собственным компьютером, а не другими пользователями, в то время как администратор домена правил сети).

НОВЫЕ API В WIN2K SP1?

После того, как многие пользователи столкнулись с проблемами с пакетами обновления NT 4 (SP), вызвавших новые ошибки, корпорация Майкрософт приняла политику не включая новые функциональные возможности в пакете обновления, чтобы свести к минимуму вероятность того, что они будут вводить новые проблемы при исправлении старых. Или так мы думали. Windows 2000 с пакетом обновления 1 (SP 1) недавно выпущен и, как представляется, не имеет новых функций. Однако подробный осмотр Ntoskrnl.exe, файл, содержащий компоненты исполнительного и ядра Windows 2000, а также Ntdll.dll, библиотека, содержащая собственный API и загрузчик, показывает, что новый API дебютировал в SP 1.

Новый API состоит из следующих функций:

   RtlTraceDatabaseAdd
   RtlTraceDatabaseCreate
   RtlTraceDatabaseDestroy
   RtlTraceDatabaseEnumerate
   RtlTraceDatabaseFind
   RtlTraceDatabaseLock
   RtlTraceDatabaseUnlock
   RtlTraceDatabaseValidate

Имена функций довольно описательные, поэтому это явно API для событий ведения журнала. Интересный аспект API заключается в том, что его реализация дублируется в Ntdll и Ntoskrnl, это отличается от других API Ntdll, которые вызывают службы реализации в Ntoskrnl.

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

Что использует этот новый API? Ничего, что установлено на моей довольно полнофункционалной установке Windows 2000 Advanced Server, поэтому его не ясно, что все делает. Возможно, это был отладочный API, который был случайно включен в код выпуска SP 1.

Опубликовано в среду, 30 августа 2000 7:07 по оттох

[Архив бюллетеней ^] [ Том 2, Число 3] [<Том 2, Число 5 >]