> Из ветки Rust-for-Linux продолжен перенос дополнительной функциональности, связанной с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядраТак Linux превращают в ведро для помоев
> Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 6.4 - Linux-libre 6.4-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем.
А патч для очистки Linux от ржавчины где?
> В хранилище ключей (keyring) ".machine" реализован режим, допускающий размещения только ключей, заверенных цифровой подписью известного системе удостоверяющего центра. Хранилище ".machine" содержит ключи владельца системы (MOK, Machine Owner Keys), используемые в shim-загрузчике и применяемых для заверения цифровой подписью компонентов ядра, загружаемых на стадии после начальной загрузки, например, модулей ядра. Новый режим нацелен на предоставление возможности размещения в хранилище ".machine" ключей, используемых в подсистеме IMA (Integrity Measurement Architecture), предназначенной для проверки целостности компонентов операционной системы по цифровым подписям и хэшам.
Мне интересна политика IBM/Linux в отношении ключей IMA/EVM:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
Для гарантирования безопасной цепочки загрузки необходимо и достаточно хранение публичных ключей IMA/EVM в ядре Linux (добавляются во время компиляции ядра) и проверки ядра публичным ключом из GRUB. Ключи прописываются в:
CONFIG_EVM_X509_PATH https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
CONFIG_IMA_X509_PATH https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
и
CONFIG_MODULE_SIG_KEY https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
Сами все эти ключи, если установлена опция INTEGRITY_TRUSTED_KEYRING подписаны основным ключом ядра:
CONFIG_SYSTEM_TRUSTED_KEYS https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
В тоже время текущая реализация, почему-то ищет ключи IMA/EVM в аппаратном TPM, и если не находит то использует ключ HMAC.
Проблемка есть также в файловой системе tmpfs, в которую грузится initramfs и в cpio которым опакечен initramfs -- они не поддерживают xattr и следовательно негде хранить хеши/подписи файлов для проверки IMA/EVM. Приходится менять политику IMA/EVM для поддержки initrd.
добавление всей этой кампании ключей https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... не рекомендую, она излишня.
Предполагаю что всё это затеяно для исключения GRUB. Другие загрузчики не поддерживают загрузку с шифрованных разделов и верификацией загрузки модулей, настроек, ядра и initrd.