306

Песочница Windows

Windows 10 1903 принесла нам песочницу Windows Sandbox. Это очередная технология Microsoft, использующая возможности Hyper-V без установки последнего. Ранее я писал уже про подобный подход в Application Guard защитника Windows. Она стала первой технологией, использующей функции Hyper-V для запуска браузера в изолированном окружении, доступная владельцу Windows 10 Pro и старше без танцев с бубном. Песочница позволяет быстро создать временную изолированную среду для запуска потенциально опасных приложений и документов. Все изменения, внесенные в песочницу не сохраняются и при её закрытии будут утеряны.

Системные требования:


- Windows 10 Pro или Enterprise 1903 (билд 18305 и выше)

- Архитектура AMD64 (64-х разрядная система и процессор)

- 4 Гб RAM (8 рекомендуется)

- 1 Гб дискового пространства ( рекомендуется использовать SSD)

- Включенная поддержка аппаратной виртуализации в UEFI/BIOS

- 2-х ядерный процессор ( рекомендуется 4-х ядерный с Hyper-Threading)


Преимущества перед виртуальной машиной


- Высокая готовность. Первоначально нужно лишь включить компонент. Не нужно ничего скачивать или устанавливать. Песочница запускается менее минуты.

- Оперативное восстановление. Подобно восстановлению ВМ из снимка, песочница оживает при её перезапуске. Не нужно ничего восстанавливать, если песочница повредилась. Закрыли и открыли — всё уже работает.

- Безопасность. Песочница использует аппаратную виртуализацию. Hyper-V изолирует ядро песочницы от ядра основной системы.

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

- Производительность. Используется аппаратное ускорение GPU, умное управлениепамятью и интегрированный планировщик задач.

- Это бесплатно. Операционную систему песочницы не нужно отдельно лицензировать в отличии от системы на том-же VirtualBox.


Включение Windows Sandbox


Для включения песочницы нам следует ввести команду в PowerShell:

Enable-WindowsOptionalFeature -FeatureName "Containers-DisposableClientVM" –Online


Или в командной строке:

Dism /online /Enable-Feature /FeatureName:"Containers-DisposableClientVM" -All


Или найти апплет включения компонентов в панели управления. После установки компьютер следует перезагрузить.

Использование


Воспользовавшись поиском Windows мы легко найдем песочницу. Ярлык так-же есть в главном меню.

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

В списке процессов её так-же никто не прятал. В моём случае, это процессы 5816 и 17976:

Как видно, используется Hyper-V, хоть в его оснастке и пусто. Но давайте взглянем на саму песочницу. Это такая же Windows, как у нас. Характеристиками система не обделена: ядер процессора как у хоста, 4 гигабайта памяти и 40 гб жесткий диск. Достаточно для большинства задач подобного рода. Стоит отметить, что виртуальный диск увеличивается динамически по мере использования. память так-же в системе используется динамическая, но в отличие от виртуального диска, возвращает системе неиспользованное пространство.


Работать с песочницей предельно просто. Окно, что мы видим — это подключение по RDP, его можно развернуть в полный экран — система масштабируется. Принтеры проброшены в момент подключения. Интернет будет из коробки. В зависимости от настроек виртуального коммутатора, будет видна локальная сеть (по умолчанию видна). Файлы можно передать в песочницу через копировать — вставить, буфер обмена работает.

Что любопытно, в песочнице пользователь по умолчанию называется: WDAGUtilityAccount. Первые четыре буквы — это сокращение от Windows Defender Application Guard, что намекает на развитие технологии Application Guard.


Подробности от команды разработчиков Windows Sandbox


Песочница Windows построена на технологии, которая называется Windows Containers. Контейнеры разрабатывались (и давно используются) для работы в облаке. Microsoft взял уже достаточно зрелую и протестированную технологию и доработал её для пользователей десктопной Windows.


Ссылка на статью в блоге разработчиков.

Ссылка на перевод статьи на Хабре


Динамически генерируемый образ


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


Мы хотим всегда получить одно и то же «чистое» окружение для Песочницы. Но есть проблема: некоторые системные файлы могут меняться. Решением было создание «динамически генерируемого образа»: для изменённых файлов в него будут включаться их оригинальные версии, но вот неизменные файлы физически в этот образ входить не будут. Вместо них будут использоваться ссылки на реальные файлы на диске. Как показала практика — такими ссылками будут большинство файлов в образе. Лишь малая их часть (около 100 МБ) войдут в образ полностью — это и будет его размер. Более того, когда Вы не используете Песочницу, эти файлы хранятся в сжатом виде и занимают около 25 МБ. При запуске Песочницы они разворачиваются в тот самый «динамический образ» размером около 100 МБ.

Умное управление памятью


Управление памятью для Песочницы — ещё одно важное усовершенствование. Гипервизор позволяет запускать на одной физической машине несколько виртуальных и это, в общем, неплохо работает на серверах. Но, в отличии от серверов, ресурсы обычных пользовательских машин значительно более ограничены. Для достижения приемлемого уровня производительности Microsoft разработал специальный режим работы памяти, при котором основная ОС и Песочница могут с некоторых случаях использовать одни и те же страницы памяти.


В самом деле: поскольку основная ОС и Песочница запускают один и тот же образ ОС, то большинство системных файлах в них будут одни и те же, а значит нет смысла дважды загружать в память одинаковые библиотеки. Можно сделать это один раз в основной ОС, а когда тот же файл понадобится в памяти Песочнице — ей можно дать ссылку на ту же страницу. Конечно, требуются некоторые дополнительные меры для обеспечения безопасности подобного подхода, но Microsoft позаботилась об этом.

Интегрированный планировщик


В случае использования обычных виртуальных машин гипервизор контролирует работу виртуальных процессоров, работающих в них. Для Песочницы была разработана новая технология, которая называется «интегрированный планировщик», которая позволяет основной ОС решать когда и сколько ресурсов выделить Песочнице. Работает это так: виртуальный процессоры Песочницы работают как потоки внутри процесса Песочницы. В итоге они имеют те же «права», что и остальные потоки в вашей основной ОС. Если, к примеру, у вас работают какие-то высокоприоритетные потоки, то Песочница не будет отнимать у них много времени для выполнения своих задач, которые имеют нормальный приоритет. Это позволит пользоваться Песочницей, не замедляя работу критически важных приложений и сохраняя достаточную отзывчивость UI основной ОС, аналогично тому, как работает Linux KVM.


Главной задачей было сделать Песочницу с одной стороны просто обычным приложением, а с другой — дать гарантию её изоляции на уровне классических виртуальных машин.

Использование «снимков»


Как уже говорилось выше, Песочница использует гипервизор. Мы по сути запускаем одну копию Windows внутри другой. А это означает, что для её загрузки понадобится какое-то время. Мы можем тратить его при каждом запуске Песочницы, либо сделать это лишь раз, сохранив после загрузки всё состояние виртуальной ОС (изменившиеся файлы, память, регистры процессора) на диске. После этого мы сможем запускать Песочницу из данного снимка, экономя при этом время её старта.


Виртуализация графики


Аппаратная виртуализация графики — это ключ к плавному и быстрому пользовательскому интерфейсу, особенно для «тяжелых» в плане графики приложений. Однако, классические виртуальные машины изначально ограничены в возможностях напрямую использовать все ресурсы GPU. И здесь важную роль выполняют средства виртуализации графики, которые позволяют преодолеть данную проблему и в какой-то форме использовать аппаратную акселерацию в виртуальном окружении. Примером такой технологии может быть, например, Microsoft RemoteFX.


Кроме того, Microsoft активно работала с производителями графических систем и драйверов для того, чтобы интегрировать возможности виртуализации графики непосредственно в DirectX и WDDM (модель драйверов в ОС Windows).


В результате графика в Песочнице работает следующим образом:


Приложение в Песочнице использует графические функции обычным образом, не зная кто и как будет их выполнять

Графическая подсистема Песочницы, получив команды отрисовки графики, передаёт их основной ОС

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


Это процесс можно изобразить так:

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


Использование батареи


Песочница имеет доступ к информации о заряде батареи и может оптимизировать свою работу для его экономии.


Как обычно, привожу ссылку на оригинал статьи в моём блоге.

Лига Сисадминов

2.6K постов19.1K подписчиков

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Автор поста оценил этот комментарий

Оооспади, как сложно.  Поставить песочницу для системы в целом типа Shadow религия не позволяет? Гораздо проще и эффективней.

раскрыть ветку (1)
10
Автор поста оценил этот комментарий

Где сложно? Одну галочку поставить и запустить приложение.

Не всегда допустимо ставить песочницу на всю систему. К тому же решение Майкрософт бесплатно.

11
Автор поста оценил этот комментарий

Филиал Хабра на пикабу официально открыт? :D

раскрыть ветку (1)
17
Автор поста оценил этот комментарий

И не закрывали)

показать ответы
Автор поста оценил этот комментарий

не придется откатываться до семёрки, если и не уходить с неё. Пока что win10 ничем особым меня не заинтересовала... Обещанного 50% преимущества в играх в новом directX так и не случилось.

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

MS тут не причем. Тут от разработчиков игр больше зависит. Были бы активней, давно бы на Линуксе играли без проблем.

показать ответы
Автор поста оценил этот комментарий

а можно вот эту замечательную плюшку без уебищной десятки?

все что после 1607 ltsb полная параша. а еле отключаемый антивирус ( встроенный сука!! ) я в рот шатал, как и говноиндусов, это писавших

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

нет, нельзя.

а антивирус лучше стал со временем. Особенно после объединения с EMET.

показать ответы
2
Автор поста оценил этот комментарий

Такая же хурма и с VBox.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Майкрософт разработали компонент "платформа виртуальной машины". Он есть у меня на скрине компонентов. Позволяет сожительствовать гипервизорам в привычном интерфейса используя движок Hyper-v. Нам остается ждать действий Oracle и Vmware.

показать ответы
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

нет, твои данные там недоступны

DELETED
Автор поста оценил этот комментарий
Со времён XP пользуюсь Shadow Defender. На рабочем ноуте стоит уже лет 5, ноутбуком кто только не пользуется, но стоит его перезагрузить и будто вчера систему поставил.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

sandboxie работает еще быстрее и графика на полную используется. хз в чем майки преуспели

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

она платная, это раз. Во вторых пройти через программную изоляцию проще, чем через аппаратную виртуализацию

показать ответы
0
Автор поста оценил этот комментарий
Схоронил. Потыкаю на досуге.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Не торопитесь вручную обновляться на 1903.

Я не дождался и обновился - отвалился том Storage Spaces, не открывался журнал событий и дисковые пространства в панели управления. Хорошо, есть возможность откатиться. Я откатился. Жду готовности короче.

При проверке обновлений пишет следующее:

Иллюстрация к комментарию
показать ответы
0
Автор поста оценил этот комментарий

Всегда интересовало,
можно ли использовать несколько песочниц
тоисть ни как домино, а именно из под одной - множество
само собой имея на это мощности

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Hyper-V внутри Hyper-V запустить можно.

Песочницу из песочницы нет

0
Автор поста оценил этот комментарий

Меня интересуют банковские ключи 🤔

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

можно пробросить через usb redirector. Но он платный. Кроме того, придется заново сертификаты ставить от банка после перезапуска.

0
Автор поста оценил этот комментарий

USB устройства в неё пробрасываются?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

По умолчанию нет.

Но есть два пути: расшарить диск по сети или править конфиг контейнера на проброс диска.

показать ответы
0
Автор поста оценил этот комментарий

Компания с большими финансовыми возможностями не может сделать хотя бы рабочий продукт? Проходили оригинальную лицензию Win2008srv,  где виртуализация не работала без патча - это смешно. Блог копать не собираюсь, смешно, что даже Sysinternals (now) гнобили и по итогу выкупили... Руссинович красавчик)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

На старых процессорах отлично работает Hyper-V 2012R2. Системные требования растут и это нормально. Разрабатывать  продукт, оглядываясь на совместимость с процессорами десятилетней давности не всегда возможно.

показать ответы
0
Автор поста оценил этот комментарий

бля...как мне конкретно вот эту оснастку запустить от админа?

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Напишите мне на почту leonid@uhanov.org

Могу посмотреть удаленно, если хотите.

0
Автор поста оценил этот комментарий

хм, я переключаю раскладку по капс локу. правда без танцев с бубном не обошлось.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

как ты это сделал? Расскажи.

показать ответы
1
DELETED
Автор поста оценил этот комментарий
У меня эта комбинация не робит только при авторизации, в остальном прекрасно переключает
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

где-то в реестре по любому должно быть.

показать ответы
0
Автор поста оценил этот комментарий

подскажи, если можешь, как мне запустить это говно от админа?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

UAC запросит повышение привилегий. Вот Вам и от админа.

показать ответы
1
Автор поста оценил этот комментарий
Если самому тяжко антивирь отключить, то что вам мешает твикером воспользоваться ?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

или службу остановить. Изи

1
Автор поста оценил этот комментарий
У вбокса в последних версиях/бете (не помню уже точно где) есть поддержка hyper-v.
Работает медленней, чем обычно вбокс, но позволяет сожительствовать.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

у меня не завелось

0
Автор поста оценил этот комментарий

А интересная штука. Наконец в виндоус будет вменяемый механизм изоляции приложений из коробки.
Еще бы они придумали что-то типа AppImage...

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

придумали давно. System Center только нужен.

показать ответы
0
Автор поста оценил этот комментарий

Судя по системным требованиям, всякое опасное говно проще запускать на древнем Core 2 Quad, юзая вместо SSD флешку на 32 гб )))

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

если есть второй комп и место для него.

1
Автор поста оценил этот комментарий

Обычно про рифму говорят в ответ на вопрос "Где?". А что имелось в виду здесь?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

это т9 на телефоне. Я имел ввиду, что пофиксили уже. Ждем обновы.

0
Автор поста оценил этот комментарий

Аппаратная виртуализация стала более требовательной? Оптимизации нет?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

оптимизация есть и её цель - снижение накладных расходов. К примеру, старые xeon, как и core2quad не умеют в SLAT. Не понимаю, почему бы не дать работать без него, предупредив, что будет медленней. Но видимо были причины. Надо копать блог разработчиков Hyper-v.

показать ответы
0
Автор поста оценил этот комментарий

Скорей всего, вот этого не хватает:

Intel® VT-x с таблицами Extended Page Tables (EPT) ‡  Нет

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

все верно.

Hyper-v 2016 стал более требователен к процу.

показать ответы
0
Автор поста оценил этот комментарий
К сожалению не у всех запускается, ждём когда пофиксят. Если пофиксят, конечно.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

рифму или уже. Ждите апдейта.

говорю как участник Window Insider.

показать ответы
2
Автор поста оценил этот комментарий

Все эти абстракции сильно похожи на будущие огромные дыры в безопасности

раскрыть ветку (1)
Автор поста оценил этот комментарий

вы не верите в контейнеры?

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества