Как писать скрипты ядра для обеспечения безопасности при запуске

Как писать скрипты ядра для обеспечения безопасности при запуске

Я пытаюсь узнать о процедуре загрузки при работе с зашифрованными разделами LUKS (в частности, когда root все еще зашифрован), чтобы я мог реализовать пользовательские процедуры дешифрования (например: принимать пароль только при удерживании CTRL+C; сначала разблокировать некорневой раздел для запуска зашифрованных скриптов; использовать идентификаторы оборудования в качестве ключей и т. д.). В этом нет никакой реальной цели, кроме изучения новых вещей (и погружения в глубокий смысл, когда все не имеет особого смысла).

Я совсем новичок в этом деле и немного не понимаю, где мне вообще следует учиться, возможно ли вообще то, что я хочу сделать. Сначала я думал, что обучениекак использовать файлы USB-ключейвозможно, это было бы хорошей отправной точкой, но потом я прочитал "... I had no way to provide the keyfile for unlocking the root partition at boot..."и понял, что, вероятно, обращаюсь не по адресу.

Я понимаю, что на данный момент ядро ​​работает, но поскольку корневой раздел зашифрован, у меня нет доступа к большинству стандартных функций или каталогов. Это приводит меня к выводу, что мне просто нужно напрямую общаться с ядром... и вот тут я теряюсь.

Сейчас я работаю на Ubuntu 18.04, но могу перейти на 16.04, если это облегчит жизнь. Я также экспериментирую в экземпляре VirtualBox, прежде чем переходить на ноутбук, чтобы проверить решения (если найду таковые), просто потому что это проще и быстрее.

Заранее спасибо, любая помощь или идеи будут высоко оценены.

Связанный контент