2

Как именно ВМ песочница? Конечно, он все еще использует те же аппаратные ресурсы и ту же ОС? Я не понимаю, почему несколько виртуальных машин в операционной системе безопасны, но несколько приложений / процессов могут быть небезопасными?

Что такого особенного в архитектуре виртуальных машин?

1 ответ1

2

Песочница действует как прокси. Вместо того, чтобы приложение или ОС запускались непосредственно на CPU, песочница может видеть, что приложение хочет сделать, и перехватывать инструкции, чтобы заставить их делать что-то еще. Это может быть использовано для предотвращения того, чтобы он делал то, что не должен, или мешал другим приложениям.

Например, предположим, что программа A хочет создать файл с именем document.txt

Обычно этот файл создается непосредственно на жестком диске. Но что, если программа B также хочет использовать document.txt для чего-то еще?

Внутри песочницы жесткого диска на самом деле не существует. Все, что есть, это интерфейс, который притворяется жестким диском. Приложение может читать из него, и приложение может записывать в него, и с точки зрения приложения кажется, что это единственная программа, использующая document.txt .

Но поскольку песочница может видеть и перехватывать все, что делает приложение, данные, которые программа A записывает в document.txt безопасно хранятся в песочнице в специальном файле, который зарезервирован только для программы A. Когда программа A читает из document.txt песочница подает ему данные из специального файла программы А.


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

Проще думать об этом так:

Обычно Windows говорит компьютеру, что делать. Если Windows находится внутри виртуальной машины как "гостевая операционная система", Guest-Windows сообщает виртуальной машине, что делать, и если виртуальная машина считает, что все в порядке, виртуальная машина перевернется и скажет компьютеру сделать то же самое. Если виртуальной машине не нравится то, что пыталась сделать Guest-Windows, она заблокирует это. Из-за того, как это реализовано, Guest-Windows не знает наверняка, работает ли она на виртуальной машине или нет, и поскольку виртуальная машина всегда имеет полный контроль, Guest-Windows должна жить в соответствии с правилами, установленными виртуальной машиной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .