Закрытие Дескрипторов

Как описано ранее, процесс может выпустить свой дескриптор к объекту, когда он больше не нуждается в том объекте, и его остающиеся дескрипторы также закрываются, когда процесс выходит. Можно использовать Дескриптор, чтобы закрыть дескрипторы, сохраненные процессом, не завершая процесс. Это обычно опасно. Поскольку процесс, которому принадлежит дескриптор, не знает, что его дескриптор был закрыт, используя эту функцию может привести к повреждению данных или может разрушить приложение; закрытие дескриптора в Системном процессе или критическом процессе пользовательского режима, таком как Csrss может привести к системному катастрофическому отказу. Кроме того, последующее распределение ресурсов тем же самым процессом могло быть присвоено старое значение дескриптора, потому что это больше не находится в использовании. Если программа, которую попробовали, чтобы получить доступ к теперь-замкнутому-объекту, это могло бы закончить тем, что работало на неправильном объекте.

С теми протестами в памяти, синтаксис командной строки для того, чтобы закрыть дескриптор является дескриптором-c handleValue -p PID [-y]

Значение дескриптора интерпретируется как шестнадцатеричное число, и процесс обладания должен быть определен его PID. Прежде, чем закрыть дескриптор, Дескриптор выводит на экран информацию о дескрипторе, включая его тип и имя, и попросите подтверждение. Можно обойти подтверждение, добавляя -y к командной строке.

Отметьте, что Windows защищает некоторые объектные дескрипторы так, чтобы они не могли быть закрыты кроме во время завершения процесса. Попытки закрыть эти дескрипторы сбой тихо, таким образом, Дескриптор сообщит, что дескриптор был закрыт даже при том, что это не было.

 

 

Утилиты безопасности

Эта глава описывает ряд утилит Sysinternals, на которых сосредотачиваются управление безопасностью Microsoft Windows и операции:

■                SigCheck - консольная утилита для того, чтобы проверить цифровые подписи файла, перечисляя хеши файла, и просматривая информацию о версии

■                AccessChk - консольная утилита для того, чтобы искать объекты — такие как файлы, регистрационные ключи, и службы — что полномочия предоставления определенным пользователям или группам, так же как обеспечению подробной информации о предоставленных полномочиях.

■                AccessEnum - утилита GUI, которая ищет файл или иерархию реестра и идентифицирует, где полномочия, возможно, были изменены.

■                ShareEnum - утилита GUI, которая перечисляет файл и доли принтера в Вашей сети и кто может получить доступ к ним.

■                ShellRunAs - расширение оболочки, которое восстанавливает возможность выполнить программу под различной учетной записью пользователя на Windows Vista.

■                Автовход в систему - утилита GUI, которая позволяет Вам конфигурировать учетную запись пользователя за автоматический вход в систему, когда система загружается.

■                LogonSessions - консольная утилита, которая перечисляет активные Власти Локальной защиты (LSA) сеансы входа в систему на текущем компьютере.

■                SDelete - консольная утилита для того, чтобы надежно удалить файлы или структуры папок и стереть данные в освобожденных областях жесткого диска.

SigCheck.

SigCheck - многоцелевая консольная утилита для того, чтобы выполнить связанные с безопасностью функции на одном или более файлах или иерархии папки. Его основная цель состоит в том, чтобы проверить, подписываются ли файлы в цифровой форме с доверяемым сертификатом. Поскольку рисунок 8-1 показывает, SigCheck может также сообщить о каталоге и отобразить информацию о подписывающем лице, вычислить хеши файла, используя несколько алгоритмов хеша, и вывести на экран расширенную информацию о версии. Это может также вывести на экран встроенную декларацию файла, папки сканирования для файлов без знака, и сообщить о результатах в разделенном от запятой значении (CSV) формат.

 

Рис. 8-1. Вывод от sigcheck-a-i-h c:\windows\explorer.exe.

Цифровая подпись, связанная с файлом, помогает гарантировать подлинность файла и целостность.

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

Как часть стоимости ведения торговли и обеспечения обеспечения клиентам, самые законные издатели программного обеспечения купят сертификат для подписывания кода от законного CA, такого как VeriSign или Thawte, и подпишут файлы, которые они распределяют потребительским компьютерам. Нехватка действительной подписи на исполняемом файле, который подразумевает быть от законного издателя, является причиной подозрения.

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

Параметры командной строки SigCheck предоставляют многочисленные возможности для того, чтобы выполнить проверки, определяя файлы, чтобы отсканировать, и форматируя вывод. Синтаксис показывают здесь, сопровождается Таблицей 8-1, которая обеспечивает сводку параметров:

sigcheck.exe [-e] [-s] [-i] [-r] [-u] [-c catalogFile] [-a] [-h] [-m] [-n] [-v] [-q] цель.

Таблица 8-1 Параметры Командной строки SigCheck

Параметр     Описание

цель               Определяет файл или каталог, чтобы обработать. Это может включать подстановочные символы.

Проверка подписи

-i                   Показывает имя каталога и подписывающие лица изображения.

-r                   Проверки на аннулирование сертификата.

-u                  Сообщают файлы без знака только, включая файлы, у которых есть недопустимые подписи.

-c                  Ищет подпись в указанном файле каталога.

Какие Файлы Отсканировать

-e                  Исполняемые файлы сканирований только. (Это смотрит на заголовки файла, не расширение, к

определите, является ли файл исполнимой программой.)

-s                  Рекурсивно вызывает подкаталоги.

Дополнительная информация о Файле

-a                  Шоу расширенная информация о версии.

-h                  Выставочные хеши файла.

-m                 Показывает декларацию.

-n                  Показывает номер версии файла только.

Выходной Формат

-v                  Вывод CSV (не совместимый с-i или-m).

-q                  Тихий (подавляет баннер).

Целевой параметр - единственный необходимый. Это может определить единственный файл, такой как проводник. exe; это может определить многократные файлы, используя подстановочный знак, такие как *.dll; или это может определить папку, используя относительные или абсолютные пути. Если Вы определяете папку, SigCheck сканирует каждый файл в папке. Следующая команда сканирует каждый файл в текущей папке:

sigcheck.

Проверка подписи

Без дальнейших параметров SigCheck сообщает о следующем для каждого отсканированного файла:

■                Проверенный. Если файл был подписан с сертификатом для подписывания кода, который происходит из корневого органа сертификации, которому доверяют на текущем компьютере, и файл не был изменен начиная с его подписания, это поле отчеты, Со знаком. Если это не было подписано, это поле отчеты, Без знака. Если это было подписано, но есть проблемы с подписью, те проблемы отмечаются. Проблемы могут включать следующее: сертификат подписания был вне его срока действия во время подписания; корневым полномочиям не доверяют (который может произойти с самоподписанным сертификатом, например); файл был изменен начиная с подписания.

 

■                Подписание даты. Показывает дату, в которую был подписан файл. Это поле показывает n/a, если файл не был подписан.

■                Издатель. Поле Company Name от ресурса версии файла, если найдено.

■                Описание. Поле Description от ресурса версии файла, если найдено.

■                Продукт. Поле Product Name от ресурса версии файла, если найдено.

■                Версия. Поле Product Version от ресурса версии файла, если найдено. Отметьте, что это от строковой части ресурса версии, не двоичного значения, которое используется для сравнения версии.

■                Версия файла. Поле File Version от ресурса версии файла, если найдено. Отметьте, что это, также, от строковой части ресурса версии.

Чтобы показать дополнительные детали подписи, добавьте -i к командной строке. Используя эти шоу параметра следующие два дополнительных поля, если подпись файла допустима:

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

■                Подписывающие лица. Показывает Подчиненное имя CN из сертификата для подписывания кода и от сертификатов CA в его цепочке.

По умолчанию SigCheck не проверяет, был ли сертификат подписания отменен его выпускающим. Чтобы проверить, что сертификат подписания и сертификаты в его цепочке не были отменены, добавьте -r к командной строке. Отметьте, что проверка аннулирования может добавить существенную ­сетевую задержку к проверке подписи, потому что SigCheck должен запросить список аннулирования сертификата (CRL) точки распределения.

Чтобы фокусировать Ваш поиск только файлов без знака, добавьте -u к командной строке. SigCheck тогда сканирует все указанные файлы, но он сообщает только о тех, которые не подписываются или у которых есть подписи, которые не могут быть проверены.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: