Основные подходы к созданию изолированной программной среды
Для создания ИПС можно использовать два подхода:
- Замещение пользовательской оболочки собственной задачей, которая предлагает замкнутое меню.
Этот путь достаточно тривиален и предусматривает написание простого оконного приложения и указания пути к нему в ключе Shell.
- Задание ключей реестра, позволяющих ограничить число задач в меню Пуск стандартной оболочки.
В Windows NT есть возможность установить список программ, которые могут быть запущены пользователями. Для демонстрации данной возможности выполните следующие действия.
- Откройте реестр для редактирования и найдите ключ:
[HKEY_CUR-RENT_USER\Software\Microsoft\Windows \CurrentVersion\Policies\Explorer]
- Установите значение параметра 'RestrictRun1 равным 'Г для использования данной функции или равной '0' для ее блокировки. Создайте этот параметр, если его не существует.
- Определите программы, которые смогут запускать пользователи, в ключе:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Policies\Explorer\RestrictRun].
Создайте новый параметр для каждой программы, именуя их числами по возрастанию. Например:
Т='Саlс.ехе' '2'='winword.exe'
Рассмотренный путь имеет некоторый недостаток, связанный с тем, что необходимо редактировать ключи раздела CurretaUser. Таким образом, необходимо предварительно регистрироваться в системе в качестве пользователя, для которого устанавливается замкнутое меню.
Следует учитывать – ничто не мешает пользователям переименовать любой .ехе файл в winword.exe (или любой другой, разрешенный к запуску) и обойти это ограничение. В связи с этим для реализации надежной защиты необходимо "поддержать" работу ИПС драйвером уровня ядра, который контролирует операции с исполняемыми файлами.