응용 프로그램 격리
Win32 앱 격리
Win32 앱 격리는 Windows 클라이언트의 기본 격리 표준으로 설계된 보안 기능입니다. AppContainer를 기반으로 하며 Windows 플랫폼이 애플리케이션 또는 타사 라이브러리에서 취약성을 사용하는 공격을 방어하는 데 도움이 되는 몇 가지 추가 보안 기능을 제공합니다. 개발자는 애플리케이션을 격리하기 위해 Visual Studio를 사용하여 애플리케이션을 업데이트할 수 있습니다.
Win32 앱 격리는 2단계 프로세스를 따릅니다.
- 첫 번째 단계에서 Win32 애플리케이션은 Windows에서 보안 경계로 인식되는 AppContainer를 사용하여 낮은 무결성 프로세스로 시작됩니다. 프로세스는 기본적으로 특정 Windows API 집합으로 제한되며 더 높은 무결성 수준에서 작동하는 모든 프로세스에 코드를 삽입할 수 없습니다.
- 두 번째 단계에서는 Windows 보안 개체에 대한 권한 있는 액세스 권한을 부여하여 최소 권한이 적용됩니다. 이 액세스는 MSIX 패키징을 통해 애플리케이션 매니페스트에 추가되는 기능에 따라 결정됩니다. 이 컨텍스트의 보안 개체는 기능에 의해 액세스가 보호되는 Windows 리소스를 나타냅니다. 이러한 기능을 사용하면 Windows에서 임의 Access Control 목록을 이식할 수 있습니다.
격리된 애플리케이션이 원활하게 실행되도록 하려면 개발자는 애플리케이션 패키지 매니페스트의 액세스 기능 선언을 통해 애플리케이션에 대한 액세스 요구 사항을 정의해야 합니다. ACP(애플리케이션 기능 프로파일러)는 낮은 권한으로 애플리케이션을 학습 모드로 실행할 수 있도록 하여 전체 프로세스를 간소화합니다. ACP는 기능이 없는 경우 액세스를 거부하는 대신 액세스를 허용하고 애플리케이션이 격리된 상태로 실행되는 경우 액세스에 필요한 추가 기능을 기록합니다.
인식되지 않는 네이티브 Win32 애플리케이션과 일치하는 원활한 사용자 환경을 만들려면 다음 두 가지 주요 요소를 고려해야 합니다.
- 데이터 및 개인 정보 보호 정보에 액세스하는 방법
- 다른 Windows 인터페이스와의 호환성을 위해 Win32 앱 통합
첫 번째 요소는 격리 경계 AppContainer 내외부의 파일 및 개인 정보 보호 정보에 대한 액세스를 관리하는 방법을 구현하는 것과 관련이 있습니다. 두 번째 요인은 사용자 동의 프롬프트를 당황하게 하지 않고 원활한 기능을 가능하게 하는 방식으로 Win32 앱을 다른 Windows 인터페이스와 통합하는 것입니다.
더 알아보세요
- Win32 앱 격리 개요
- ACP(애플리케이션 기능 프로파일러)
- Visual Studio를 사용하여 Win32 앱 격리 애플리케이션 패키징
- Win32 앱 격리를 사용하여 Python 샌드박싱
앱 컨테이너
Win32 앱에 대한 Windows 샌드박스 외에도 UWP(유니버설 Windows 플랫폼) 애플리케이션은 앱 컨테이너라고 하는 Windows 컨테이너에서 실행됩니다. 앱 컨테이너는 프로세스 및 리소스 격리 경계 역할을 하지만 Docker 컨테이너와 달리 Windows 애플리케이션을 실행하도록 설계된 특수 컨테이너입니다.
앱 컨테이너에서 실행되는 프로세스는 낮은 무결성 수준에서 작동하므로 소유하지 않은 리소스에 대한 액세스가 제한됩니다. 대부분의 리소스의 기본 무결성 수준은 중간 무결성 수준이므로 UWP 앱은 파일 시스템, 레지스트리 및 기타 리소스의 하위 집합에만 액세스할 수 있습니다. 또한 앱 컨테이너는 네트워크 연결에 대한 제한을 적용합니다. 예를 들어 로컬 호스트에 대한 액세스는 허용되지 않습니다. 결과적으로, 맬웨어 또는 감염된 앱은 탈출을 위한 공간이 제한되어 있습니다.
더 알아보세요
Windows 샌드박스
Windows 샌드박스 Hyper-V와 동일한 하드웨어 기반 가상화 기술을 사용하여 신뢰할 수 없는 Win32 애플리케이션을 안전하게 실행할 수 있는 경량 데스크톱 환경을 제공합니다. Windows 샌드박스 설치된 신뢰할 수 없는 Win32 앱은 샌드박스에만 유지되며 호스트에 영향을 줄 수 없습니다.
Windows 샌드박스 닫으면 디바이스에서 아무 것도 유지되지 않습니다. 모든 파일과 상태가 있는 모든 소프트웨어는 신뢰할 수 없는 Win32 애플리케이션이 닫힌 후 영구적으로 삭제됩니다.
더 알아보세요
Linux용 Windows 하위 시스템(WSL)
WSL(Linux용 Windows 하위 시스템)을 사용하면 별도의 가상 머신이나 이중 부팅 없이 Windows 디바이스에서 Linux 환경을 실행할 수 있습니다. WSL은 Windows와 Linux를 동시에 사용하려는 개발자에게 원활하고 생산적인 환경을 제공하도록 설계되었습니다.
Windows 11 버전 24H2의 새로운 기능
- Hyper-V 방화벽 은 Windows에서 호스트하는 WSL 컨테이너에 대한 인바운드 및 아웃바운드 트래픽을 필터링할 수 있는 네트워크 방화벽 솔루션입니다.
- DNS 터널링 은 네트워킹 패킷이 아닌 DNS 정보를 얻기 위해 가상화 기능을 사용하여 다양한 네트워킹 환경의 호환성을 향상시키는 네트워킹 설정입니다.
- 자동 프록시 는 WSL이 Windows의 HTTP 프록시 정보를 사용하도록 강제하는 네트워킹 설정입니다. Windows에서 프록시를 사용할 때 해당 프록시가 WSL 배포에 자동으로 적용되므로 켜기
이러한 기능은 Microsoft Intune[7]과 같은 디바이스 관리 솔루션을 사용하여 설정할 수 있습니다. 엔드포인트용 Microsoft Defender(MDE)는 WSL과 통합되어 WSL 배포판 내에서 활동을 모니터링하고 MDE 대시보드에 보고할 수 있습니다.
더 알아보세요
가상화 기반 보안 enclave
가상화 기반 보안 Enclave는 호스트 애플리케이션 내의 소프트웨어 기반 TEE(신뢰할 수 있는 실행 환경)입니다. VBS enclave를 사용하면 개발자가 VBS를 사용하여 관리자 수준 공격으로부터 애플리케이션의 비밀을 보호할 수 있습니다. VBS enclave는 x64 및 ARM64 모두에서 Windows 10 사용할 수 있습니다.
더 알아보세요