id: Гость   вход   регистрация
текущее время 08:49 22/12/2024
Автор темы: mrrdrrr, тема открыта 05/07/2016 22:52 Печать
Категории: инфобезопасность, сеть доверия, защита дисков, операционные системы, модель угрозы
http://www.pgpru.com/Форум/ПрактическаяБезопасность/ЗащитаВиртуалкиKvmОтСливаДанныхИзНееАдминомХоста
создать
просмотр
ссылки

Защита виртуалки kvm от слива данных из нее админом хоста


Есть хост с linux, физический, а не в облаке. На нем запущена kvm-виртуалка. В виртуалке настроено шифрование luks (при включении или перезагрузке требуется ввести пароль, после чего виртуалка загружается и можно входить уже как пользователь). Пока виртуалка работает, может ли админ хоста получить доступ к данным внутри виртуалки? Мне что-то подсказывает, что может. Как защититься от этого? Никак не могу вспомнить, с какой стороны зайти – вроде бы задача стандартная, но сформулировать точно вопрос гуглу не выходит.


 
Комментарии
— SATtva (06/07/2016 06:50)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118

Физическим разделением. В текущей постановке задача не имеет решения.
— mrrdrrr (07/07/2016 12:34)   профиль/связь   <#>
комментариев: 5   документов: 1   редакций: 0
Ок. А если запаролить сам хост? Можно и это сделать, просто задачу упростить хотелось, на случай проведения легитимных работ с сервером.
— sentaus (07/07/2016 12:40)   профиль/связь   <#>
комментариев: 1060   документов: 16   редакций: 32
Запаролить? От админа? Это что за чудеса такие?
— SATtva (07/07/2016 12:42, исправлен 07/07/2016 12:59)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118

В общем случае, если у противника есть физический доступ к системе, Вы не сможете защитить от него исполняемый на ней код. Что бы Вы ни делали.


Задача может иметь ограниченные решения, если на противника накладываются те или иные ограничения (то, что называется моделью угрозы), но ошибка в таком анализе приведёт к неадекватным мерам защиты.

— Гость_ (07/07/2016 13:53)   профиль/связь   <#>
комментариев: 450   документов: 10   редакций: 13
Если не рассматривается протроянивание железа, поможет загрузка со своего внешнего носителя, на котором и загрузчик и операционная система.
— mrrdrrr (07/07/2016 13:56)   профиль/связь   <#>
комментариев: 5   документов: 1   редакций: 0
Виноват. Надо было сразу описать модель угрозы, конечно же.

Админ – это в данном случае техническая поддержка на удаленном хостинге.

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

Не рассматривается.

Пример угрозы:
1. под видом аварии по электричеству выключается сервер, делают дамп дисков. Профит? Вроде бы нет, кроме последующего брутфорса – решается длинным паролем или соглашаемся, что противник слишком крут, но я и не пытаюсь противостоять крупной группировке хакеров :) иначе вопрос вообще бы здесь не задавал;
2. к работающему серверу, на котором я предварительно ввел пароль, подключают съемный диск и пытаются... что? В консоль ввести пароль рута? Предположим, у меня стоит уведомление о том, что было подключено новое устройство, что были попытки ввести пароль любого пользователя с консоли. Как вариант, я знаю, что что-то происходит. Это уже половина решения проблемы.
3. С консоли перейти в single mode без выключения/перезагрузки сервера и пытаться сбросить пароль рута без ввода пароля luks? Это возможно?

Где-то читал, что могут сделать дамп памяти работающей системы. Т.е. аварийно выдергивается кабель питания сервера, он вырубается, и что дальше? Если обобщить вопрос: если система работает, что с ней могут сделать? Зная "что могут сделать", можно думать над тем, "как защититься".
— mrrdrrr (07/07/2016 14:08)   профиль/связь   <#>
комментариев: 5   документов: 1   редакций: 0
Последний комментарий относится скорее к защите хоста.

Все три варианта – это простые способы, которые мне приходят в голову. Они же могут быть применены и к гостевой системе, включая доступ к терминалу (консоли).

В дополнение к защите гостевой системе: если я правильно понимаю, получив доступ к хосту, злоумышленник в любом случае сможет получить содержимое оперативной памяти, в которой обязан находиться пароль от запущенной гостевой системы? Насколько это просто? Это что-то типа (дальше выдуманная на ходу команда) # dump ram --starblkt 1292 --endblk 6726365544 >> /mnt/guest.dump? Или все сложнее?
— mrrdrrr (07/07/2016 14:10)   профиль/связь   <#>
комментариев: 5   документов: 1   редакций: 0
Где можно почитать про это, чтобы не писать простыни фантазий? Может, вы вспомните, где видели обсуждение на эту тему.
— mrrdrrr (07/07/2016 14:40)   профиль/связь   <#>
комментариев: 5   документов: 1   редакций: 0
Так, кажется нашел прямо здесь же кое-что https://www.pgpru.com/forum/pr.....kljuchcryptsetupiram
Вопрос про дамп оперативной памяти гостя из хоста снимается. В общем, остается актуальной только защита хоста?
— Гость_ (07/07/2016 23:35)   профиль/связь   <#>
комментариев: 450   документов: 10   редакций: 13

Тут, тут. Обсуждалось многократно, но было урывками разбросано по разным веткам обсуждений, легко не ищется.


Да, это одна из правильных уловок, но есть и другие.


Single mode грузится с рутовой файловой системы, которая может (должна бы) быть зашифрованной. В этом случае пароль на LUKS запрашивается до single mode из-под grub'а (по SSH), если этот вариант настроен. Протроянить загрузчик, чтобы перехватить пароль на LUKS, конечно, ничто не мешает.

Пароль рута – вообще не проблема. Как минимум, его можно отключить в настройках и начать логиниться удалённо по SSH-ключам.


Если надёжно зашифровано, в руки попадёт только загрузчик, а также немного инфы о конфигурации системы и используемом софте.


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


Виртуалки обычно используются для защиты системы от программных атак изнутри (через уязвимые программы), а не от внешнего физического атакующего. Это разные угрозы. Вопрос защиты от последнего полностью ортогонален тому, есть внутри виртуалка или нет. Считать, что виртуалка сильно усложняет анализ дампа оперативной памяти, я бы не стал.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3