Почему доступ для чтения к начальному файлу CONFIG_GCC_PLUGIN_RANDSTRUCT не ограничен привилегированными пользователями? - PullRequest
0 голосов
/ 17 октября 2019

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

Почему мы не ограничиваем доступ на чтение к начальному файлу привилегированным пользователям? Конечно, это означает, что нам нужно скомпилировать модули ядра, используя доступ sudo / root. Но я не вижу причин для его отклонения, поскольку для установки модуля ядра требуется доступ sudo / root.

Я сам собираю ядро, потому что не могу найти дистрибутивы, которые включают эту функцию.

1 Ответ

0 голосов
/ 18 октября 2019

Если вы собрали ядро ​​самостоятельно, то вы несете ответственность за файлы. Просто ограничьте доступ к начальному файлу при необходимости. Если вы этого не сделаете, каждый, кто может читать (копировать) файл, также может создавать модули ядра на своем компьютере. Не имеет смысла включать эту функцию в предварительно собранном ядре, потому что все пользователи будут использовать одно и то же общедоступное начальное число.

...