윈도우 10의 새로운 샌드박스 기능은 인터넷에서 내려받은 프로그램이나 파일을 안전한 격리 환경에서 실행하여 테스트할 수 있도록 돕습니다. 사용법은 간단하지만, 설정은 텍스트 기반의 구성 파일 안에 숨겨져 있습니다.
윈도우 샌드박스의 편리함
이 기능은 윈도우 10 2019년 5월 업데이트에 포함되었습니다. 이 업데이트를 설치한 후에는 윈도우 10 프로페셔널, 엔터프라이즈, 또는 에듀케이션 버전이 필요합니다. 윈도우 10 홈에서는 사용할 수 없습니다. 하지만 시스템에서 지원된다면 샌드박스 기능을 쉽게 활성화하고 시작 메뉴에서 실행할 수 있습니다.
샌드박스는 실행 시 현재 윈도우 운영 체제의 복사본을 만들고, 개인 폴더에 대한 접근을 차단하며, 인터넷 접속이 가능한 깨끗한 윈도우 데스크톱 환경을 제공합니다. Microsoft에서 이러한 설정 파일을 추가하기 전에는 샌드박스 설정을 변경할 수 없었습니다. 인터넷 접속을 원치 않는 경우 실행 직후에 비활성화해야 했습니다. 호스트 시스템의 파일에 접근하려면 복사하여 샌드박스에 붙여 넣어야 했고, 특정 타사 프로그램을 설치하려면 샌드박스 실행 후 설치해야 했습니다.
윈도우 샌드박스는 인스턴스를 닫으면 완전히 삭제되기 때문에 매번 시작할 때마다 설정을 반복해야 했습니다. 이는 안전성을 높이는 측면에서는 좋지만, 자주 설정을 변경해야 하는 경우에는 불편함을 초래했습니다. 문제가 생기면 샌드박스를 닫기만 하면 모든 것이 사라지지만, 매번 실행할 때마다 동일한 설정을 반복해야 하는 것은 번거로울 수 있습니다.
이러한 불편함을 해소하기 위해 Microsoft는 윈도우 샌드박스 구성 기능을 도입했습니다. 이제 XML 파일을 사용하여 설정된 매개변수로 윈도우 샌드박스를 시작할 수 있습니다. 샌드박스의 제약을 강화하거나 완화할 수 있으며, 예를 들어 인터넷 연결을 차단하거나, 윈도우 10 호스트 복사본과 공유 폴더를 구성하거나, 스크립트를 실행하여 애플리케이션을 설치할 수도 있습니다. 이러한 옵션은 샌드박스 기능의 초기 버전에서는 다소 제한적이었지만, Microsoft는 향후 윈도우 10 업데이트를 통해 더 많은 기능을 추가할 계획입니다.
윈도우 샌드박스 구성 방법
윈도우 10 샌드박스 복사본은 호스트 운영 체제의 공유 폴더에 접근할 수 있습니다.
이 가이드에서는 이미 샌드박스를 설정했다고 가정합니다. 만약 아직 설정하지 않았다면, 먼저 윈도우 기능 대화 상자에서 활성화해야 합니다.
시작하려면 메모장이나 선호하는 텍스트 편집기(예: 메모장++)와 빈 새 파일이 필요합니다. 구성에 필요한 XML 파일을 생성해야 합니다. XML 코딩 언어에 대한 지식이 있으면 도움이 되겠지만 필수는 아닙니다. 파일 준비가 완료되면 .wsb 확장자로 저장합니다(Windows Sand Box의 약자). 해당 파일을 더블 클릭하면 지정된 설정으로 샌드박스가 실행됩니다.
Microsoft에서 설명한 바와 같이, 샌드박스 구성 시 선택할 수 있는 몇 가지 옵션이 있습니다. 가상 GPU(vGPU) 활성화 또는 비활성화, 네트워크 연결 설정 또는 해제, 공유 호스트 폴더 지정, 해당 폴더에 대한 읽기/쓰기 권한 설정, 시작 시 스크립트 실행 등이 있습니다.
구성 파일을 이용해 가상화된 GPU를 비활성화(기본적으로 활성화), 네트워크를 끄고(기본적으로 켜짐), 공유 호스트 폴더를 지정(샌드박스 앱은 기본적으로 액세스 권한 없음), 해당 폴더에 대한 읽기/쓰기 권한을 설정하거나, 시작 시 스크립트를 실행할 수 있습니다.
먼저 메모장이나 자주 사용하는 텍스트 편집기를 열고 새로운 텍스트 파일을 만듭니다. 그리고 다음 코드를 추가합니다:
추가할 모든 옵션은 이 두 매개변수 사이에 위치해야 합니다. 옵션은 하나만 추가하거나 모두 추가할 수 있으며, 모든 옵션을 포함할 필요는 없습니다. 옵션을 지정하지 않으면 기본값이 사용됩니다.
가상 GPU 또는 네트워킹 비활성화 방법
Microsoft에서 언급했듯이, 가상 GPU 또는 네트워킹을 활성화하면 악성 소프트웨어가 샌드박스를 벗어나기 위한 더 많은 수단을 제공할 수 있습니다. 따라서 특히 우려되는 항목을 테스트할 때는 비활성화하는 것이 현명할 수 있습니다.
기본적으로 활성화된 가상 GPU를 비활성화하려면 구성 파일에 다음 코드를 추가합니다:
Disable
기본적으로 활성화된 네트워크 액세스를 비활성화하려면 다음 코드를 추가합니다:
Disable
폴더 매핑 방법
폴더를 매핑하려면 공유하려는 폴더를 정확히 지정하고, 해당 폴더를 읽기 전용으로 할지 여부를 결정해야 합니다.
폴더 매핑은 다음과 같은 형식으로 설정합니다:
C:UsersPublicDownloads true
HostFolder
는 공유하려는 특정 폴더의 경로를 지정하는 곳입니다. 위의 예시에서는 윈도우 시스템의 공용 다운로드 폴더를 공유하고 있습니다. ReadOnly
는 샌드박스가 폴더에 쓸 수 있는지 여부를 설정합니다. 폴더를 읽기 전용으로 만들려면 true
로, 쓰기 가능하게 만들려면 false
로 설정합니다.
호스트와 윈도우 샌드박스 사이에 폴더를 연결하는 것은 시스템에 위험을 초래할 수 있다는 점을 인지해야 합니다. 샌드박스에 쓰기 권한을 부여하면 이러한 위험은 더욱 커집니다. 악성일 가능성이 있는 항목을 테스트하는 경우에는 이 옵션을 사용하지 않는 것이 좋습니다.
시작 시 스크립트 실행 방법
마지막으로 사용자 정의 생성 스크립트 또는 기본 명령을 실행할 수 있습니다. 예를 들어, 샌드박스가 시작될 때 매핑된 폴더를 자동으로 열도록 설정할 수 있습니다. 이를 위한 코드 예시는 다음과 같습니다:
C:UsersPublicDownloads true explorer.exe C:usersWDAGUtilityAccountDesktopDownloads
WDAGUtilityAccount
는 윈도우 샌드박스의 기본 사용자이므로, 명령에서 폴더나 파일을 열 때 항상 이를 참조해야 합니다.
아쉽게도, 윈도우 10 2019년 5월 업데이트의 일부 초기 릴리스 빌드에서는 LogonCommand
옵션이 의도대로 작동하지 않는 문제가 있는 것으로 보입니다. Microsoft의 문서 예제를 사용했을 때도 아무런 동작이 없었습니다. Microsoft는 이 버그를 조만간 수정할 것으로 예상됩니다.
설정으로 샌드박스 시작 방법
설정 파일 작성이 완료되면 파일을 저장하고 파일 확장자를 .wsb로 지정합니다. 예를 들어, 텍스트 편집기에서 Sandbox.txt로 저장한 경우 Sandbox.wsb로 이름을 변경하여 저장해야 합니다. 설정이 적용된 윈도우 샌드박스를 시작하려면 .wsb 파일을 더블 클릭하면 됩니다. 해당 파일을 바탕 화면에 놓거나 시작 메뉴에 바로 가기를 만들어 사용할 수 있습니다.
편의를 위해 미리 설정된 DisabledNetwork
파일을 다운로드하여 몇 단계를 생략할 수도 있습니다. 파일 확장자는 .txt로 되어있으며, 이를 .wsb로 변경하면 설정된 윈도우 샌드박스를 시작할 수 있습니다.