Comments 10
Данная программа слабо учитывает факторы «окружающей среды». Гораздо эффективнее использовать систему прав ОС.
-1
ОС — это неуправляемый код. Последняя попытка написать ОС с использованием управляемого кода (Singularity), насколько мне известно, успехом не увенчалась.
На уровне современной ОС можно очень грубо, в сравнении с управляемым кодом, управлять правами.
Если мы захотим средствами ОС ограничить доступ ко всем файлам на диске С и D для определенной программы — нам прийдется создавать специальную учетную запись (под которой будем в дальнейшем запускать программу) и явно устанавливать права для этой учетки. Кстати, установка прав для пользователя занимает не мало времени.
На уровне современной ОС можно очень грубо, в сравнении с управляемым кодом, управлять правами.
Если мы захотим средствами ОС ограничить доступ ко всем файлам на диске С и D для определенной программы — нам прийдется создавать специальную учетную запись (под которой будем в дальнейшем запускать программу) и явно устанавливать права для этой учетки. Кстати, установка прав для пользователя занимает не мало времени.
0
Singularity это не попытка написания ОС. Это исследовательский проект MS Research что бы понять как бы выглядела ОС сегодня, если бы в ее основу закладывалась не скорость, а безопансность. С этой задачей, я считаю они справились. Отдельные решения этого прокта, возможно войдут в Windows. Но сингулярити никогда не задумывалась как ос для какого-либо реального использования.
+3
Как я понимаю, цель программы — обеспечение безопасности. Ну так давайте её обеспечивать в полной мере, а не костылями. Фактически все интерфейсы для этого есть, (для установки прав на NTFS — «System.Security.AccessControl», для управлением пользователями — «System.DirectoryServices». Идеологически можно было бы совсестить данные виды защит и например встроить в контекстное меню шелла. Продвинутый пользователь и так сможет себе настроить учетку и запустить виртуальные машины для теста, а вот простой обыватель — вряд ли (о выборочном запуске .net-софта для него не может быть и речи).
-2
Мне кажется, идеальный вариант такой:
Пользователь устанавливает общией правила (возможно используя рекомендованные шаблоны).
Если программа хочет использовать функции из запрещенных стандартным шаблоном — появляется окно для пользователя с объяснением что именно она хочет и предложением разрешить или запретить.
Только как это реализовать…
Пользователь устанавливает общией правила (возможно используя рекомендованные шаблоны).
Если программа хочет использовать функции из запрещенных стандартным шаблоном — появляется окно для пользователя с объяснением что именно она хочет и предложением разрешить или запретить.
Только как это реализовать…
0
Такое возможно только когда есть возможность перехвата (фактически получаем отладчик). В итоге получаем крайне низкую производительность и общую нестабильность.
+1
Для управляемого кода это сделать можно без проблем. Можно даже доработать сабжевую программу, и запускать все управляемые программы с ее помощью с настройками по умолчанию.
Проблема лишь в том что управляемых программ очень мало.
Проблема лишь в том что управляемых программ очень мало.
+2
Такое возможно, выдать минимум прав и добавлять по мере необходимости.
Но даже для .NET это будет набор хуков. Хотя с .NET проще, надо ловить деманды, ассерты…
Но даже для .NET это будет набор хуков. Хотя с .NET проще, надо ловить деманды, ассерты…
+1
Sign up to leave a comment.
Инструмент для ограничения полномочий .Net-сборок