Приватная операционная система Subgraph OS

Приватная операционная система Subgraph OS

Приватная операционная система Subgraph OS

Об этой операционный системе мы писали в далеком 2016 году, и с тех пор мало что изменилось. Это все еще очень сырой форк Debian, который однажды похвалил Сноуден за идею, но не за реализацию. Единственное, что в Subgraph заметно изменилось, — это перечень предустановленного софта.

Последняя версия сейчас — сентябрьская альфа 2017 года. Она может запускаться в Live-режиме, но для полноценной работы предполагает установку на жесткий диск.

Ключевая особенность Subgraph OS — система запуска приложений в песочницах Oz. Она изолирует выбранные приложения друг от друга и от основной системы с помощью пространств имен и накладывает ограничения с помощью seccomp-bpf, так же как это делает уже упомянутый Firejail.

Ядро Subgraph OS собрано с патчами PaX/Grsecurity. Они ограничивают доступ к файлам /proc, применяют более жесткую изоляцию chroot(), включают в себя более продвинутую систему рандомизации адресного пространства ASLR, помечают стек как неисполняемый и контролируют выделение сетевых сокетов.

Subgraph OS устанавливается на зашифрованный раздел, имеет средства для разрешения/запрета доступа приложений к сети, поддерживает аппаратные ключи YubiKey с одноразовыми паролями.

Электронная почта защищена с помощью PGP, а встроенный брандмауэр маршрутизирует все исходящие соединения через анонимную сеть Tor.

Интегрированный Subgraph OS Instant Messenger — это форк CoyIM с поддержкой XMPP, который также работает через Tor по умолчанию.

Создание анонимных файловых шар доступно через OnionShare, но точно так же утилита работает и в других версиях Linux.

На первый взгляд может показаться, что в Subgraph OS все хорошо и это действительно достойная ОС, но на самом деле все намного сложнее. Во встроенной песочнице запускаются только определенные приложения. Есть список приложений, которые автоматически попадают в sandbox, остальные, включая рабочую среду GNOME, запускаются как обычные приложения в любом другом дистрибутиве Linux.

Такая архитектура открывает множество путей для компрометации ОС. Например, Tor Browser запускается в песочнице, но имеет полный доступ к каталогу ~/Downloads (для сохранения загруженных файлов). Если в браузере будет обнаружена дыра и взломщик найдет способ ее использовать для запуска эксплоита, он сможет записать в ~/Downloads все, что захочет, включая, например, файл формата .desktop.

В такой файл можно поместить любой скрипт, и он будет исполнен, когда пользователь перейдет в каталог ~/Downloads и кликнет по нему. А так как для навигации по ФС в Subgraph OS используется работающий вне песочницы файловый менеджер Nautilus, то скрипт будет иметь доступ ко всей системе.

В апреле 2017 года этим недоразумением воспользовалась Micah Lee и Joanna Rutkowska (создательница Qubes OS), выполнив показательный хак Subgraph OS.