Создание Windows-приложений на основе Visual C#

         

Тестирование безопасности доступа кода приложения. Утилита Caspol.exe


Утилита командной строки caspol.exe, поставляемая с .NET Framework, позволяет просматривать и манипулировать политикой безопасности. Файл утилиты располагается в каталоге С\WINDOWS\Microsoft.NET\Framework\ v1.1.4322\ CasPol.exe.

Утилита caspol.exe отображает всю доступную информацию об уровне безопасности, установленном по умолчанию (Machine). Эта информация включает в себя иерархию групп кода, название набора разрешений и имена сборок, использующих политику Full Trust.

Утилита caspol.exe имеет следующий синтаксис:

caspol <параметры> <аргументы>

В таблице 10.5 приводится список некоторых параметров утилиты.

Таблица 10.5. Некоторые парметры утилиты caspol.exe

ПараметрДействиеПримечания
-lСписок (List)Вывод всей доступной информации об уровне безопасности, установленном по умолчанию
-lgСписок групп кода (List Group Code)Вывод списка групп кода уровня безопасности, установленного по умолчанию
-lpСписок наборов разрешений (List Permission Set)Вывод списка наборов разрешений
-agДобавление группы кода (Add Code Group)Добавление новой группы кода в уровень безопасности
-urlURLИспользование сборкой URL в качестве условия принадлежности к группе
-nНазвание группы кода (Code Group Name)Задание имени для новой группы кода
-exclusiveУстановка флага Exclusive для уровня безопасностиИспользуется для тестирования. Любая сборка, встретившая условие группы кода, получает соответствующий набор разрешений. Например, это может применяться для предотвращения автоматического назначения набора разрешений Full Trust
-cgПоменять группу кода (Change Code Group)Изменение существующей группы кода
-rgУдалить группу кода (Remove Code Group)Удаление существующей группы кода

Для работы с утилитой выбираем Пуск\Все программы\ Microsoft Visual Studio .NET 2003 \ Visual Studio .NET Tools \ Visual Studio .NET 2003 Command Prompt и в запустившейся командной строке вводим

caspol.exe

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

caspol –help caspol -? caspol /?


Утилита командной строки caspol.exe, поставляемая с .NET Framework, позволяет просматривать и манипулировать политикой безопасности. Файл утилиты располагается в каталоге С\WINDOWS\Microsoft.NET\Framework\ v1.1.4322\ CasPol.exe.

Утилита caspol.exe отображает всю доступную информацию об уровне безопасности, установленном по умолчанию (Machine). Эта информация включает в себя иерархию групп кода, название набора разрешений и имена сборок, использующих политику Full Trust.

Утилита caspol.exe имеет следующий синтаксис:

caspol <параметры> <аргументы>

В таблице 10.5 приводится список некоторых параметров утилиты.

Таблица 10.5. Некоторые парметры утилиты caspol.exe

ПараметрДействиеПримечания
-lСписок (List)Вывод всей доступной информации об уровне безопасности, установленном по умолчанию
-lgСписок групп кода (List Group Code)Вывод списка групп кода уровня безопасности, установленного по умолчанию
-lpСписок наборов разрешений (List Permission Set)Вывод списка наборов разрешений
-agДобавление группы кода (Add Code Group)Добавление новой группы кода в уровень безопасности
-urlURLИспользование сборкой URL в качестве условия принадлежности к группе
-nНазвание группы кода (Code Group Name)Задание имени для новой группы кода
-exclusiveУстановка флага Exclusive для уровня безопасностиИспользуется для тестирования. Любая сборка, встретившая условие группы кода, получает соответствующий набор разрешений. Например, это может применяться для предотвращения автоматического назначения набора разрешений Full Trust
-cgПоменять группу кода (Change Code Group)Изменение существующей группы кода
-rgУдалить группу кода (Remove Code Group)Удаление существующей группы кода

Для работы с утилитой выбираем Пуск\Все программы\ Microsoft Visual Studio .NET 2003 \ Visual Studio .NET Tools \ Visual Studio .NET 2003 Command Prompt и в запустившейся командной строке вводим

caspol.exe

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



caspol –help caspol -? caspol /?




Для вывода информации о группах кода и наборов разрешений вводим

caspol -l

Для получения списка групп кода вводим

caspol -lg

Для просмотра списка наборов разрешений вводим

caspol –lp

Для сброса всех пользовательских настроек вводим

caspol –reset

По умолчанию весь код, запускающийся на локальной машине, получает набор разрешений полного доступа Full Trust. Нам может потребоваться, для тестовых целей, чтобы код выполнялся под другим набором разрешений. Самый простой способ сделать это — создать папку и настроить политику безопасности для причисления этой папки к другой зоне. Это делается следующим образом.

Создаем папку C:\testpermissions, затем в командной строке создаем новую группу разрешений:

сaspol –ag 1 –url file:///C:/testfolder/ * Internet -n test_permissions_group –exclusive on

Этот код добавляет новую группу кода test_permissions_group, условием вступления в которую является запуск из папки testpermissions. После этого копируем приложение в папку testpermissions и запускаем его с набором разрешений Internet.

Изменяем набор разрешений на Execution командой

Caspol –cg Test_Group Execution

Удаляем тестовую группу командой

Caspol –rg Test_Group



Для вывода информации о группах кода и наборов разрешений вводим

caspol -l

Для получения списка групп кода вводим

caspol -lg

Для просмотра списка наборов разрешений вводим

caspol –lp

Для сброса всех пользовательских настроек вводим

caspol –reset

По умолчанию весь код, запускающийся на локальной машине, получает набор разрешений полного доступа Full Trust. Нам может потребоваться, для тестовых целей, чтобы код выполнялся под другим набором разрешений. Самый простой способ сделать это — создать папку и настроить политику безопасности для причисления этой папки к другой зоне. Это делается следующим образом.

Создаем папку C:\testpermissions, затем в командной строке создаем новую группу разрешений:

сaspol –ag 1 –url file:///C:/testfolder/ * Internet -n test_permissions_group –exclusive on

Этот код добавляет новую группу кода test_permissions_group, условием вступления в которую является запуск из папки testpermissions. После этого копируем приложение в папку testpermissions и запускаем его с набором разрешений Internet.

Изменяем набор разрешений на Execution командой

Caspol –cg Test_Group Execution

Удаляем тестовую группу командой

Caspol –rg Test_Group


Содержание раздела