если шифрование тома хранилища libvirt хранит секретный ключ на самой гипер, как защитить сам секрет, если злоумышленник имеет физический доступ

Строка в java неизменна. Поэтому всякий раз, когда создается строка, она остается в памяти до тех пор, пока не будет собрана мусор. Поэтому любой, кто имеет доступ к памяти, может прочитать значение строки. Если значение строки будет изменено, это приведет к созданию новой строки. Таким образом, как исходное значение, так и измененное значение остаются в памяти, пока не будет собран мусор. С помощью массива символов содержимое массива может быть изменено или удалено после того, как будет применена цель пароля. Исходное содержимое массива не будет найдено в памяти после его модификации и даже до того, как будет собрана сборка мусора. Из-за проблемы безопасности лучше хранить пароль в виде массива символов.

0
задан Rong Zhao 27 March 2019 в 02:15
поделиться

1 ответ

Если у злоумышленника есть root-доступ на локальном хосте, вы уже проиграли. Даже если libvirt зашифровал свои секреты на диске, злоумышленник может просто извлечь ключ дешифрования из памяти libvirtd. Или они могут просто получить доступ к памяти гостевой виртуальной машины, чтобы напрямую получить мастер-ключ LUKS.

Шифрование диска libvirt в первую очередь предназначено для защиты образов дисков, когда они хранятся в сетевом хранилище (NFS и т. Д.). В этом случае он защищает от атакующего по сети MITM или атаки со стороны администратора NFS-сервера. Он может защищать изображения, хранящиеся на локальном хосте, когда этот хост выключен - при условии, что основной хост FS также зашифрован.

Единственное, что выходит за рамки защиты - это защита от root на локальном узле virt.

0
ответ дан DanielB 27 March 2019 в 02:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: