![Побег без прав root?](https://rvso.com/image/169404/%D0%9F%D0%BE%D0%B1%D0%B5%D0%B3%20%D0%B1%D0%B5%D0%B7%20%D0%BF%D1%80%D0%B0%D0%B2%20root%3F.png)
Я беспокоился, что программы, работающие на виртуальных машинах, могут переместиться из Virtualbox на мою хост-машину, но, как я знаю, для большинства действий по выходу требуются привилегии root, поэтому я никогда не ввожу пароль root при запуске сторонних программ. Достаточно ли этого, чтобы избежать уязвимости выхода?
решение1
Короткий ответ: root-доступ внутри виртуальной машины не является гарантией. Это затрудняет некоторые формы вредоносного ПО, но не все.
Мой совет: считайте, что все, чему не доверяют, виновно, пока не доказано обратное. То есть, считайте, что все, чему не доверяют, определенно вредоносно, и радуйтесь, когда окажется, что вы не правы.
С этой целью я бы рассмотрел как можно больше советов о том, как анализировать известные вредоносные программы. Есть несколько хороших советов о рисках. Прочитав часть из этого, я бы сказал, что общее мнение, похоже, таково, что естьявляютсявсе еще риски. Конкретные векторы атак есть/были:
- Черви, которые могут переходить с машины на машину по сети. Ваша виртуальная машина, скорее всего, находится в сети, как и ваш хост. Помните, что ваш ПК обычно находится за брандмауэром (даже просто домашним маршрутизатором), который блокирует множество атак на входе. Запуск виртуальной машины помещает вредоносное ПО в вашу сеть за брандмауэр.
- Существуют эксплойты по синхронизации ЦП. См.РасплавлениеиСпектр. Даже не покидая ВМ, есть риск, что этотипошибки могут раскрыть секретную информацию вашего хоста.
- Инструменты VM. Они неявно предназначены для предоставления вашей VM доступа к функциям на хосте, а эксплойты могут предоставить больше доступа, чем ожидалось. Обычно вы ненуждатьсячтобы установить их, но если вы это сделаете, они могут быть уязвимы.
Из вашего вопроса и комментариев
но как я знаю, для большинства действий по выходу из положения необходимо получить привилегии root
«большинство» — не самое удачное слово в сфере безопасности.
Если вы не доверяете приложению, не запускайте его.
Но это реальная жизнь, и это не всегда вариант. Но это разумное правило. Если вы не пытаетесь намеренно анализировать вредоносное ПО, то сначала проверьте происхождение того, что вы устанавливаете. Проверьте, что оно получено из надежного источника, и сделайте все возможное, чтобы проверить, сколько людей его используют / говорят о нем в сети.
Ссылки для дальнейшего чтения (обязательно прочтите полные ответы здесь!)
https://security.stackexchange.com/a/3060/10066
Виртуальные машины определенно могут пересекаться. Обычно они объединены в сеть, поэтому любое вредоносное ПО с сетевым компонентом (например, черви) будет распространяться туда, куда позволяет их адресация/маршрутизация. Обычные вирусы, как правило, работают только в пользовательском режиме, поэтому, хотя они и не могут общаться открыто, они все равно могут настроить скрытый канал. Если вы используете общие процессоры, занятый процесс на одной виртуальной машине может эффективно передавать состояние другой виртуальной машине (это ваш прототипный скрытый канал синхронизации).
https://security.stackexchange.com/a/3058/10066
Тем не менее, это довольно хорошо. Вероятно, большинство вредоносных программ, с которыми вы столкнетесь в полевых условиях, не будут иметь специального кода для побега из виртуальной машины. И запуск вредоносной программы в виртуальной машине, безусловно, намного безопаснее, чем ее установка непосредственно на вашу повседневную рабочую машину!
https://security.stackexchange.com/a/23503/10066
Несколько уязвимостей, которые я вижу в эти дни, больше основаны на части 'vmtools'. Это программное обеспечение, которое вы устанавливаете, чтобы гостевая ОС работала более эффективно (для VMWare это то, что позволяет захватывать курсор на лету и делиться им между гостем и хостом без сети). Это особый программный путь заражения; не устанавливайте инструменты, не имейте уязвимости.