Представлен проект по интеграции SELinux в Android
SE Android расширяет стандартную модель безопасности Android, основанную на дискретном контроле доступа и полномочиях приложений, добавляя в неё возможность принудительного контроля доступа, который происходит не только при обращении приложений к данным, но и, например, во время обмена данными с помощью IPC binder. Основная идея проекта состоит в том, чтобы устранить возможные риски, связанные с работой системных демонов, исполняемых с правами root, но, как показала история, имеющих множество уязвимостей и недоработок.
Для интеграции SELinux в Android был подготовлен порт libselinux для библиотеки Bionic, из которого были удалены все зависимости от Glibc. Также в систему был интегрирован минимальный набор SELinux-утилит и внесены изменения в систему инициализации init, которая теперь понимает такие команды как setcon, restorecon и опцию seclabel. Системный сервис Zygote, используемый для порождения новых процессов виртуальной машины был модифицирован таким образом, чтобы запускать приложения в указанном контексте безопасности SELinux, а installd - для установки нужных SELinux-меток на каталоги приложений. В ядро была добавлена поддержка SELinux и механизм автоматической установки SELinux-меток на новые inode, создаваемые в файловой системе yaffs2. Чтобы иметь возможность изменения меток в библиотеку Bionic добавлена поддержка системных вызовов для работы с расширенными атрибутами ФС.
Специально для SE Android разработчики написали набор SELinux-правил, которые ограничивают системные демоны и устанавливаемые приложения непривилегированным доменом, в котором запрещены какие-либо нестандартные операции, такие, например, как запуск несистемных бинарных файлов, создание сокетов, перемонтирование системного раздела и т.д. Благодаря этому система оказалась устойчива к таким эксплойтам как GingerBreak, Exploid, RageAgainstTheCage, Zimperlich, KillingTheNameOf, psneuter и смогла предотвратить утечку данных в некоторых популярных приложениях, таких как Skype, Bank of America, Lookout Mobile Security и других.
В настоящее время проект находится в стадии разработки, поэтому для загрузки доступны только версии операционной системы для эмулятора и смартфона Google Nexus S. В будущем разработчики планируют добавить в систему новые возможности, не связанные с SELinux и выпустить версии для других устройств. Исходный код доступен в репозитории SELinux.
Источник: http://www.opennet.ru/opennews/art.shtml?num=32806
|
0 | Tweet | Нравится |
|