Песочница
В ОС Аврора реализован механизм безопасного исполнения программ — изоляция. Каждое приложение запускается в «песочнице» — изолированном окружении, которое ограничивает доступ к API и данным.
Песочница для приложений запускается с помощью оболочки Firejail, которая позволяет процессу приложения и всем его потомкам иметь собственное представление глобально разделяемых ресурсов ядра, таких как сетевой стек, таблица процессов, таблица монтирования.
Изоляция минимизирует риск компрометации системы при запуске не заслуживающих доверия или потенциально уязвимых программ.
При запуске приложения в песочнице необходимо запрашивать разрешения на доступ к некоторым API и каталогам, работать с пользовательскими каталогами через механизм общих директорий, декларировать собственную D-Bus-службу в desktop-файле, а также учитывать особенности отладки изолированных приложений.
- Разрешения, необходимые для работы приложения, указываются в desktop-файле, где следует декларировать требуемые функции для доступа к различным типам данных и к отдельным каталогам на устройстве, а также к API, работающим с этими данными или взаимодействующим с другими приложениями или системными сервисами.
- Каждое приложение выполняется в изолированном окружении, поэтому не имеет непосредственный доступ к произвольным файлам других пакетов. Реализован механизм общих директорий, позволяющий обмениваться данными.
- На основе значений
OrganizationNameиApplicationNameприложению предоставляются права на владение именем службы D-Bus на сессионной шине. - Отладка приложений, запущенных в песочнице, осуществляется с помощью
отладчика gdb или утилиты
runtime-manager-tool.