본문으로 건너뛰기
HMY BLOG

OS·소프트웨어

Windows Sandbox로 의심스러운 exe 확인하기

정체가 불분명한 실행 파일을 본 PC에서 바로 열지 않고 Defender·VirusTotal·Windows Sandbox로 먼저 확인하는 방법.

예전에 인터넷에서 받은 정체가 애매한 .exe를 별다른 확인 없이 본 Windows에서 실행한 적이 있다. 그 뒤 Discord에서는 내 계정으로 @everyone 멘션이 전송되고 비트코인 홍보 이미지가 게시됐다. Instagram 스토리에도 같은 성격의 이미지가 올라갔다.

이상하게도 외부에서 새로 로그인한 기록은 남아 있지 않았다. 정황상 그 파일을 실행하면서 브라우저에 저장된 로그인 세션이나 토큰이 빠져나간 것으로 보였다.

이 일을 겪은 뒤에는 수상해 보이는 실행 파일을 본 Windows에서 바로 열지 않고 Windows Sandbox에서 한 번 더 확인하고 있다.

Windows Sandbox를 쓰게 된 이유

Windows Sandbox는 호스트와 분리된 일회성 Windows 환경이다. 별도 가상 머신을 직접 구성하지 않아도 시작 메뉴에서 열 수 있고, 창을 닫으면 그 세션에 설치한 프로그램과 파일이 삭제된다.

Microsoft도 테스트, 디버깅, 알 수 없는 파일 확인 같은 용도로 안내한다. 나는 수상한 .exe를 본 Windows에서 바로 실행하기 전에 눈에 띄는 동작을 살펴보는 정도로 사용한다.

공식 문서: Windows Sandbox | Microsoft Learn

Windows Sandbox 기능 켜기

현재 Microsoft 문서 기준으로 Windows Sandbox는 Windows 10과 Windows 11의 Pro, Enterprise, Pro Education/SE, Education 에디션에서 지원되며 Home 에디션은 지원하지 않는다.

BIOS에서 가상화를 켜야 하고, 최소 RAM 4GB, 여유 공간 1GB, CPU 2코어가 필요하다. Microsoft 권장치는 RAM 8GB, SSD, 하이퍼스레딩을 지원하는 CPU 4코어다.

Windows 11 24H2에서는 Microsoft Store로 업데이트되는 새 Windows Sandbox도 제공된다. 같은 기능이라도 화면이나 실행 중 설정 메뉴는 이 글의 캡처와 다를 수 있다.

내가 활성화한 순서는 Windows 기능 켜기/끄기 → Windows Sandbox 체크 → 재부팅 → 시작 메뉴에서 Windows Sandbox 실행이었다.

Windows 실행 창에서 optionalfeatures를 입력하는 화면
Win + R로 실행 창을 연 뒤 Windows 기능 설정으로 들어간다.
optionalfeatures 명령으로 Windows 기능 창을 여는 화면
optionalfeatures를 입력하면 Windows 기능 켜기/끄기 창을 연다.
Windows 기능에서 Windows Sandbox를 체크하는 화면
Windows Sandbox를 선택하고 설치가 끝나면 재부팅한다.

재부팅 뒤 시작 메뉴에서 Windows Sandbox를 검색해 실행한다.

Windows Sandbox 실행 중 로딩 화면
Windows Sandbox를 처음 실행할 때의 로딩 화면
Windows Sandbox가 열린 뒤 보이는 기본 Windows 화면
호스트 PC와 분리된 임시 Windows 바탕화면

설치 조건 공식 문서: Install Windows Sandbox | Microsoft Learn

지금까지 사용한 방식

지금까지는 Windows Sandbox를 실행한 뒤 .exe 파일을 복사해서 넣고 직접 실행해봤다. 별도 분석 도구를 쓰기보다는 실행하면서 눈에 띄는 변화가 있는지만 확인했다.

  • 브라우저가 갑자기 열리는지
  • 작업 관리자에 이상한 프로세스가 생기는지
  • Microsoft Defender에서 탐지하는지
  • 설치 후 모르는 프로그램이 추가되는지
  • 그 밖에 수상한 동작이 보이는지

전문적인 패킷 캡처나 리버스 엔지니어링 도구를 쓰지 않더라도, 이렇게 격리된 창에서 한 번 실행해 보는 것만으로 1차적인 이상 징후는 꽤 걸러낼 수 있다.

앞으로 사용할 exe 확인 절차

기존에는 Sandbox에서 바로 실행해 눈에 띄는 동작을 살폈다. 실행 전 검사까지 포함하면 다음 순서로 확인할 수 있다.

Microsoft Defender 검사 → VirusTotal SHA-256 조회 → .wsb로 실행

1. Microsoft Defender로 먼저 검사

먼저 파일 탐색기에서 .exe를 우클릭하고 더 많은 옵션 표시 → Microsoft Defender로 검사를 실행한다.

아무것도 탐지되지 않았더라도 다음 단계의 확인은 필요하다.

2. VirusTotal에서 SHA-256 해시 검색

파일 자체를 바로 업로드하기 전에 SHA-256 해시로 기존 분석 결과가 있는지 확인한다. Windows PowerShell에서 다음 명령을 실행하면 된다.

Get-FileHash "C:\경로\파일.exe" -Algorithm SHA256

출력된 Hash 값을 복사해 VirusTotal 검색창에 넣는다. VirusTotal 공식 문서에 따르면 MD5, SHA-1, SHA-256으로 이미 저장된 파일 분석 보고서를 검색할 수 있다.

VirusTotal에서 SHA-256 해시 검색한 결과

탐지 결과가 0이라고 해서 바로 안전한 파일로 보면 안 된다. 반대로 한두 개 엔진에서만 잡혔다고 해서 곧바로 악성 파일이라고 단정할 수도 없다. 파일 출처와 탐지명, 다른 엔진 결과를 같이 보는 게 좋다.

파일을 올리기 전에 해시부터 조회하는 이유

VirusTotal에 파일을 직접 올리면 분석 결과가 보안 업체 등 파트너와 공유될 수 있다. 회사 내부 파일이나 비공개 프로그램처럼 외부로 나가면 곤란한 파일은 바로 업로드하지 않는 게 좋다.

그래서 먼저 SHA-256 해시로 기존 분석 기록이 있는지 확인한다. 이미 등록된 파일이라면 원본 파일을 다시 올리지 않고도 결과를 볼 수 있다.

3. 그래도 수상하면 .wsb로 격리 실행

출처를 신뢰할 수 없고 꼭 필요한 파일도 아니라면 실행하지 않는 편이 낫다. 동작을 확인해야 할 이유가 있을 때 Windows Sandbox를 사용하면 본 Windows에서 바로 실행할 때보다 노출을 줄일 수 있다.

.wsb로 조금 더 제한해서 실행

.wsb는 Windows Sandbox의 실행 설정을 저장하는 파일이다. 네트워크나 클립보드 공유 같은 옵션을 미리 정해두고 해당 설정으로 Sandbox를 실행할 수 있다.

평소에는 기본 Sandbox를 열고 파일을 복사해 넣어 확인했지만, 더 안전하게 보려면 아래처럼 네트워크와 클립보드 공유를 끄고 테스트 폴더만 읽기 전용으로 연결하는 .wsb 파일을 만들어 쓸 수 있다.

기본 Windows Sandbox는 네트워크와 클립보드 리디렉션이 모두 켜져 있다. 클립보드를 끄면 기존처럼 파일을 붙여넣을 수 없으므로 호스트의 C:\SandboxTest 폴더를 읽기 전용으로 매핑한다.

safe-test.wsb 파일을 메모장에서 작성 후 실행
<Configuration>
  <Networking>Disable</Networking>
  <ClipboardRedirection>Disable</ClipboardRedirection>

  <MappedFolders>
    <MappedFolder>
      <HostFolder>C:\SandboxTest</HostFolder>
      <SandboxFolder>C:\Users\WDAGUtilityAccount\Desktop\Test</SandboxFolder>
      <ReadOnly>true</ReadOnly>
    </MappedFolder>
  </MappedFolders>
</Configuration>

safe-test.wsb 내용

C:\SandboxTest 폴더를 먼저 만들고 테스트할 .exe 파일만 넣어둔다. Networking은 인터넷 연결을 끄고, ClipboardRedirection은 본 Windows와 Sandbox 사이의 복사·붙여넣기를 막는 설정이다.

ReadOnly를 true로 두면 Sandbox에서 C:\SandboxTest 안의 파일을 수정하거나 새 파일을 쓸 수 없다. 읽기까지 막는 것은 아니므로 테스트 폴더에는 확인할 파일만 둔다.

여기에 더해 마이크나 vGPU 공유까지 세밀하게 제어하고 싶다면 아래 공식 문서의 옵션을 참고하면 된다.

그 다음 safe-test.wsb를 더블클릭하면 지정한 설정으로 Windows Sandbox가 열린다. 바탕화면의 Test 폴더에서 .exe를 실행한 뒤 브라우저가 갑자기 열리는지, 이상한 프로세스가 생기는지, Defender 경고가 뜨는지, 모르는 프로그램이 추가되는지 확인하면 된다.

.wsb 설정 공식 문서: Use and configure Windows Sandbox | Microsoft Learn

Sandbox에서 이상이 없어도 남는 위험

물론 Sandbox에서 당장 눈에 띄는 이상이 없었다고 해서 100% 안전한 파일이라는 보장은 없다. 따라서 Sandbox 안에서는 개인 계정에 로그인하거나 중요한 파일 폴더를 연결하지 않는 것이 원칙이다.

특히 새로 유포된 파일이나 특정 조건에서만 동작하는 악성코드는 백신과 짧은 실행만으로 티가 나지 않을 수 있다.

그래서 0/70처럼 모든 엔진에서 탐지되지 않았다는 결과만 보고 바로 실행하지는 않는다.

보안이나 개발 지식이 있다면 파일 출처, 디지털 서명, 해시, 실행 후 프로세스나 네트워크 동작 등을 직접 확인할 수 있다.

외부 AI 서비스에 확인을 요청할 때는 실행 파일 자체, 사내 자료, 개인 정보가 포함된 URL을 바로 올리지 않는다. 가능한 한 SHA-256, 공개된 배포처, 디지털 서명자, 제품·버전처럼 외부에 공개해도 되는 정보만 제공한다.

해시와 공개 배포처를 기준으로 확인 항목을 정리해야 한다면 다음처럼 요청할 수 있다.

실행 파일은 업로드하지 않는다. 아래 SHA-256 해시와 공개된 배포처를 기준으로 확인할 항목을 정리해줘.

- 파일명과 제품·버전
- SHA-256 해시
- 디지털 서명 유무와 서명자
- VirusTotal에 이미 있는 분석 결과
- 파일명, 서명, 배포처 사이에 이상한 점
- 알려진 정상 프로그램을 사칭한 가능성

탐지가 없다는 이유만으로 안전하다고 판단하지 말고, 추가 확인 항목과 격리 실행이 필요한 조건을 설명해줘.

공개 배포처: [공식 URL 또는 공개 다운로드 페이지]

태그

댓글