Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025)

Материал из 0x1.tv

Докладчик
Андрей Савченко.jpg
Андрей Савченко

В докладе рассказывается о ряде механизмов безопасности ALT Mobile, в частности, полнодисковом шифровании на основе LUKS и механизме тревожных паролей на основе PAM.

Видео[править вики-текст]

Презентация[править вики-текст]

Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025).pdf

Thesis[править | править вики-текст]

Ключевые слова: ALT Mobile, безопасность, LUKS, PAM, СПО.

Введение[править | править вики-текст]

Развитие Linux на мобильных устройствах в рамках проекта ALT Mobile[1] привело к необходимости внедрения новых механизмов безопасности, которые ранее были не столь актуальны для десктопных и серверных систем, либо внедрение которых потребовало новых технических средств.

Полнодисковое шифрование[править | править вики-текст]

Многие дистрибутивы ограничиваются шифрованием домашнего каталога пользователя, однако этого не достаточно: чувствительные данные могут оседать в системных журналах, файлах конфигурации, кешах и файле подкачки — поэтому мы решили реализовать полнодисковое шифрование на базе надёжной и проверенной технологии LUKS[2].

Что здесь нового? Возникло два основных технических вызова:

  • Ввод пароля с экранной клавиатуры в initrd
  • Автоматизация установки образа с LUKS

Проблема экранной клавиатуры была решена с помощью unl0kr[3] — инструмента разблокировки диска в initramfs на базе LVGL[4]. Применение LVGL позволяет выполнять рендеринг непосредственно во фреймбуфер ядра и поэтому не зависит от аппаратного ускорения GPU, которое непросто инициализировать на этапе initramfs.

Также был доработан механизм make-initrd[5] для поддержки unl0kr, обеспечения загрузки нужных модулей для работы сенсорного экрана и поддержки файловой системы f2fs.

С целью автоматизации установки образов был доработан инструмент alt-rootfs-installer[6], куда была добавлена поддержка LUKS и f2fs.

Тревожные пароли[править | править вики-текст]

У пользователя может возникнуть ситуация, когда нужно авторизоваться под внешним давлением. В таком случае можно ввести особый пароль, который активирует тревожную кнопку или выполнит любое другое программируемое действие.

Данная задача была реализована с помощью специального модуля PAM: pam_fabo[7]. FABO пароль не гарантирует успешный логин в систему: это зависит от настроек, можно как разрешить, так и запретить логин с заданным специальным паролем.

Использование осуществляется путём встраивания pam_fabo в интересующую цепочку модулей PAM, при этом сами хеши паролей и скрипты действий можно хранить где угодно (расположение задаётся через конфигурационные файлы).

В ходе работ выяснилось, что ряд действий сделать не так уж просто, например полностью заменить $HOME на другой: потому что на этапе входа в оболочку $HOME уже используется оболочкой, а если использовать killall, то процесс входа будет прекращён.

Итоги[править | править вики-текст]

Разработанные механизмы оказались универсальными и пригодными не только для мобильных дистрибутивов. Например, полнодисковое шифрование уже интегрировано в ALT Workstation.


Некоторые механизмы безопасности ALT Mobile (Андрей Савченко, OSSDEVCONF-2025)!.jpg

Примечания и ссылки[править вики-текст]

  1. ALT Mobile, https://altmobile.org
  2. Руководство по использованию полнодискового шифрования в ALT Mobile, https://altmobile.org/installations/luks
  3. Unl0kr, https://gitlab.com/postmarketOS/buffybox/-/tree/master/unl0kr
  4. LVGL, https://lvgl.io
  5. make-initrd, https://github.com/osboot/make-initrd
  6. ALT RootFS Installer, https://git.altlinux.org/people/antohami/packages/alt-rootfs-installer.git
  7. PAM FABO, https://git.altlinux.org/people/ved/packages/pam_fabo.git