Спецслужбы Франции выпустили CLIP OS, защищенный дистрибутив на базе Gentoo Hardened
Агентство национальной кибербезопасности Франции опубликовало исходные тексты проекта CLIP OS, в рамках которого развивается защищенный дистрибутив, основанный на ядре Linux и открытом ПО. Для обеспечения безопасности дистрибутива задействованы наработки Gentoo Hardened с заимствованием некоторых идей от проектов Chromium OS и Yocto. Наработки и сборочный инструментарий открыты в основном под свободной лицензией LGPLv2.1+.
Для установки приложений используются портреджи Gentoo, но также развивается прослойка для поддержки пакетов из репозиториев Debian. В качестве причины создания нового дистрибутива называется желание сформировать надежную ОС, отвечающую требованиям к безопасности, предъявляемым в госучреждениях Франции. Проект разрабатывается с 2005 года и первые выпуски использовались только за закрытыми дверями. Версию CLIP OS 5 решено развивать как общедоступный открытый продукт, продвигающий свои патчи в upstream-проекты. В настоящее время CLIP OS 5 находится на стадии альфа-тестирования.
Исполняемые и системные файлы в дистрибутиве отделены от изменяемых данных (корневой раздел монтируется в режиме только для чтения, а изменяемые каталоги выборочно подключаются при помощи bind-монтирования). Также применяется многоуровневая система доступа, разграничивающая обработку информации с разными уровнями конфиденциальности.
Разделение осуществляется путем поддержания разных окружений, выполняемых в изолированных контейнерах, используя подход, напоминающий Qubes OS. Каждый контейнер имеет доступ только к разрешенному набору данных и ограничен доступном только к необходимым системным вызовам. Для дополнительной изоляции контейнеров применяются патчи от проекта Landlock. Подобные изолированные окружения например, могут быть созданы для web-браузера и офисного пакета. Графическое окружение построено на основе композитного сервера на базе Wayland. Для изоляции отдельных приложений предлагается использовать Flatpak.
Загружаемые компоненты ОС и модули ядра верифицируются по цифровой подписи с использованием загрузки в режиме UEFI Secure Boot. В дистрибутиве организована проверка целостности файлов и связанных с ними метаданных по базе предварительно вычисленных хэшей. Целостность корневого раздела проверяется при помощи подсистемы DM-Verity. Обновление производится в атомарном режиме путем замены корневого раздела (новая версия копируется в запасной раздел, который затем делается активным, старый вариант остается для следующего обновления и может применяться для отката изменений).
Администратор имеет ограниченные права и не может скомпрометировать уже установленную систему и также не имеет доступа к данным пользователей. Доступ администратора ограничен возможностью изменения только определенного набора настроек. На разделах с данными применяется шифрование и верификация целостности (LUKS2, DM-Crypt и DM-Integrity). Опционально возможно шифрование и системных разделов.
Запуск исполняемого кода и скриптов ограничен только разрешенными компонентами (используется патч O_MAYEXEC). По умолчанию для защиты процессов применяется механизм защиты памяти W^X (Write XOR Execute), суть которого в том, что страницы памяти процесса не могут быть одновременно доступны на запись и исполнение (код может быть исполнен только после запрещения записи, а запись возможна только после запрета исполнения).
Предоставлены инструменты для версифицирвоанной сборки установочных образов из исходных текстов. Готовые установочные сборки не формируются, вместо них по аналогии с Gentoo предлагается собирать пакеты из исходных текстов. Процесс сборки повторяем, т. е. можно убедиться, что используемые исполняемые файлы собраны именно из имеющихся исходных текстов. По умолчанию при сборке портреджей включаются все дополнительные опции для повышения безопасности на этапе сборки. В дистрибутиве также включены дополнительные методы защиты за этапе компиляции (сборка в виде PAE, режимы защиты от переполнения стека и проверки границ буферов), задействованы патчи для усиления безопасности ядра Linux и активированы MAC-расширения SELinux.
Дополнительно можно отметить, что сегодня исполнилось ровно 19 лет с момента основания проекта Gentoo Linux.