Code Access Security - future is here :)
От: Cyberax Марс  
Дата: 04.02.08 06:27
Оценка: 52 (14)
Поставил себе сегодня альфу Ubuntu после того, как прочел о ней описание на Slashdot (http://linux.slashdot.org/article.pl?sid=08/02/02/2219233&from=rss).

Самое классное, что там есть — PolicyKit (тут есть скриншот: http://arstechnica.com/news.ars/post/20080202-first-look-ubuntu-8-04-hardy-heron-alpha-4.html).

Эта штуковина позволяет делать почти полноценный code access security для обычных приложений. Если кратко, то оно работает так — есть шина обмена сообщениями D-BUS (это COM с человеческим лицом), на нее вешаются сервисы, выполняющие restricted-операции, они работают в контекстах безопасности, с достаточными правами.

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

Кроме того, тут в дело вступает еще один компонент системы — AppArmor. Это ядерный модуль, который позволяет ограничить права одного конкретно взятого процесса. Например, можно сделать так, чтобы FireFox не имел доступа ни к каким файлам кроме своего каталога плугинов. Совместно с PolicyKit он может использоваться для изоляции опасных процессов.

В пользовательском интерфейсе это все выглядит так:


Если я нажимаю на кнопку "Unlock" — то у меня появляется окно, в котором я ввожу свой пароль, после чего приложение "Network Settings" получает права на работу с настройками сети, но ни с чем иным.

Уже делается интеграция с FireFox — чтобы можно было безопасно сохранять файлы через диалог "Save as", но при этом, чтобы FireFox не мог заниматься, например, шпионством за файлами пользователя.

В общем, как оказалось, для CAS совсем не нужно переписывать все на managed-код.
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.