Создание процессов с ограничением прав

  • Автор темы XCeption
  • Дата начала
Статус
Закрыто для дальнейших ответов.
X

XCeption

#1
Проблема следующая: необходимо запускать процесс при этом ограничив его, например, запретив доступ к открытию файлов, или созданию дочерних процессов и т.п. Примером может служить, например, настройка прав для приложений в KIS 2009.

Пытаясь найти решение, я начал естеcтвенно с CreateProcess() и структуры SECURITY_ATTRIBUTES, разобрался с организацией прав доступа к объектам (списки DACL и SACL, ACEs), и пришел к выводу, что вся эта схема ровно противоположна тому, что нужно мне :) Т.е. с помощью SECURITY_ATTRIBUTES я могу указать кто из пользователей и что сможет или не сможет делать с созданным процессом, а как же указать, что может делать данный процесс?
Согласно логике организации доступа процессов к объектам (маркер доступа у процесса и дескриптор безопасности у объекта) получается, что для решения проблемы необходимо запустить процесс под именем отдельного пользователя (с этим как раз проблем нет), а перед этим создать дескриптор безопасности, указав в нем данного пользователя и запретив ему нужные операции, затем применить данный дискриптор ко всем объектам системы(!) - вот это уже по-моему бред... и чувствую не туда я уже пошел.
Помогите найти верный путь :)
 
Z

zubr

#2
На самом деле все достаточно просто - перехват API функций (CreateFile, CreateProcess) путем подмены таблицы импорта запускаемого процесса.
 
Статус
Закрыто для дальнейших ответов.