Planetahost VPS
Перейти к основному контенту

Windows Sandbox: изолированная среда для тестирования программ

intro-Windows-Sandbox-solated-environment-for-testing-software-planetahost.png

Подробности урока
Уровень сложности Лёгкий
Права администратора Требуются
Требования Рабочий стол
Категория Установка ПО
Совместимость с ОС Windows
Примерное время чтения 30 мин

Введение

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

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

Требования

Для работы Windows Sandbox необходима поддержка аппаратной виртуализации. Возможность использования компонента также зависит от редакции Windows. Перед использованием Sandbox необходимо убедиться, что виртуализация включена в BIOS/UEFI и поддерживается процессором и установленной версией Windows.

Принцип работы

При запуске Windows Sandbox создаётся изолированная среда, внутри которой запускается отдельный экземпляр Windows.

Среда использует технологии аппаратной виртуализации и гипервизор Windows. При этом Sandbox не работает как обычная виртуальная машина с полностью независимым дисковым образом. Для системных компонентов используются механизмы совместного использования памяти и файлов, что позволяет сократить время запуска и требования к дисковому пространству.

С точки зрения пользователя Sandbox выглядит как отдельный рабочий стол Windows с собственными процессами, файлами и настройками. Основная система при этом продолжает работать независимо.

Временный характер Sandbox

Одной из основных особенностей Windows Sandbox является её временный характер.

Изменения, выполненные внутри среды, сохраняются только до момента её закрытия. После завершения работы Sandbox созданная среда удаляется. Например, если внутри Sandbox установить приложение, создать файлы или изменить параметры Windows, после закрытия среды эти изменения будут потеряны. При следующем запуске будет создана новая среда.

Отличие от полноценной виртуальной машины

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

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

Sandbox рассчитана на временные задачи. Её основное преимущество заключается в быстром создании чистого окружения и автоматическом удалении этого окружения после завершения работы.

Таким образом, виртуальная машина больше подходит для постоянных тестовых стендов, а Windows Sandbox для кратковременных проверок и экспериментов.

⚠️ Дисклеймер

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

Перед запуском:

  • не подключайте к Sandbox реальные пользовательские папки с правом записи;

  • не передавайте внутрь важные документы, фотографии, базы данных и другие ценные файлы;

  • не используйте для экспериментов папки, которые синхронизируются с OneDrive, Google Drive и другими облачными сервисами;

  • по возможности отключите сетевой доступ, если тестируемой программе не нужен интернет;

  • не вводите в Sandbox пароли, токены, ключи и другие конфиденциальные данные;

  • убедитесь, что Windows и её компоненты виртуализации обновлены;

  • не рассматривайте Sandbox как полноценную лабораторию для анализа сложного вредоносного ПО.

Особенно важно: не пробрасывайте в Sandbox свои реальные папки с правом записи, если собираетесь запускать неизвестный исполняемый файл. В этом случае вредоносная программа потенциально сможет изменить или зашифровать файлы в такой папке, и изоляция Sandbox от этого не спасёт.

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

Установка

Windows Sandbox является дополнительным компонентом Windows.

Для её включения можно открыть окно компонентов Windows:

Win + R

и выполнить:

optionalfeatures

изображение.png

В списке компонентов необходимо найти Windows Sandbox (Песочница Windows) и включить её.

изображение.png

Также компонент можно установить с помощью PowerShell, запущенного от имени администратора:

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

изображение.png

После установки может потребоваться перезагрузка компьютера. После появится новое приложение, которое можно найти в поиске и запустить.

изображение.png

Практическое применение

Windows Sandbox наиболее полезна в ситуациях, когда необходимо быстро получить чистую Windows для проведения эксперимента или проверки программного обеспечения.

Проверка неизвестного установщика

Например, пользователю необходимо установить небольшую утилиту, которую раньше не приходилось использовать. Установщик можно сначала запустить в Sandbox и посмотреть, какие действия он выполняет.

изображение.png

Внутри среды можно проверить:

  • какие файлы появляются после установки;

  • какие службы и задачи создаются;

  • добавляется ли программа в автозагрузку;

  • какие изменения вносятся в реестр;

  • требуется ли подключение к интернету;

  • какие дополнительные программы устанавливаются вместе с приложением.

После завершения проверки Sandbox закрывается вместе со всеми внесёнными изменениями.

Проверка PowerShell-скриптов

Sandbox удобно использовать для тестирования скриптов, которые изменяют настройки Windows или работают с файлами.

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

изображение.png

Это особенно полезно для скриптов, которые:

  • устанавливают программное обеспечение;

  • изменяют параметры Windows;

  • создают или удаляют файлы;

  • работают с реестром;

  • изменяют сетевые настройки;

  • устанавливают службы или планировщик заданий.

изображение.png

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

Тестирование изменений реестра

Sandbox подходит для проверки инструкций, связанных с реестром Windows.

Например, если необходимо изменить определённый параметр в:

HKEY_LOCAL_MACHINE

можно сначала выполнить изменение в Sandbox и проверить его результат.

Это удобно при подготовке инструкций для пользователей или создании административных скриптов. Ошибочное изменение не требует восстановления основной системы, поскольку после закрытия Sandbox все изменения будут удалены.

Проверка системных настроек

В Sandbox можно проверить различные настройки Windows перед применением их на реальных рабочих станциях.

Например:

  • изменить параметры проводника;

  • установить дополнительный компонент Windows;

  • проверить работу групповой политики;

  • изменить настройки брандмауэра;

  • протестировать команду PowerShell;

  • проверить работу службы.

Для одноразовых экспериментов такой подход значительно быстрее развёртывания отдельной виртуальной машины.

Передача файлов в Sandbox

На практике часто возникает необходимость передать в Sandbox программу или набор файлов для тестирования.

Самый простой вариант - это скопировать файл в буфер обмена и вставить его внутри Sandbox. Для регулярных задач удобнее использовать конфигурационный файл .wsb.

Например, на основной системе можно создать каталог:

C:\Sandbox\Files

и разместить в нём установщик или тестовые файлы.

Затем создать файл test.wsb:

<Configuration>
  <MappedFolders>
    <MappedFolder>
      <HostFolder>C:\Sandbox\Files</HostFolder>
      <SandboxFolder>C:\Test</SandboxFolder>
      <ReadOnly>true</ReadOnly>
    </MappedFolder>
  </MappedFolders>
</Configuration>

изображение.png

После запуска test.wsb каталог основной системы будет доступен внутри Sandbox как:

C:\Test

При этом параметр ReadOnly запрещает приложениям внутри Sandbox изменять содержимое исходного каталога.

изображение.png

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

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

Некоторым программам для работы интернет не требуется. В таком случае сетевое подключение Sandbox можно отключить.

Для этого используется параметр:

<Configuration>
  <Networking>Disable</Networking>
</Configuration>

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

Автоматическая подготовка среды

.wsb-файл можно использовать не только для подключения каталогов и отключения сети, но и для автоматического запуска команд.

Например:

<Configuration>
  <LogonCommand>
    <Command>powershell.exe -NoExit</Command>
  </LogonCommand>
</Configuration>

После запуска Sandbox автоматически откроет PowerShell.

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

Заключение

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

Полезные ссылки для самостоятельного изучения