TrotRanking
IT Engineering

윈도우 디펜더(Windows Defender) 샌드박스 격리 활성화 및 시스템 점유율 폭주 극복 가이드

김민준 · IT 시스템 엔지니어
윈도우 운영체제를 사용할 때 시스템이 아무런 작업을 하지 않는 유휴 상태임에도 불구하고 노트북의 쿨링 팬이 미친 듯이 이륙 수준으로 돌거나 데스크탑의 CPU 점유율이 30% 이상 치솟는 기현상을 한 번쯤은 겪어보신 적이 있으실 겁니다. 그 순간 작업 관리자를 열어 점유율 상승의 범인을 색출해 보면 십중팔구 'Antimalware Service Executable'이라는 프로세스를 목격하게 될 것입니다. 이것은 윈도우 디펜더의 핵심 백그라운드 스캐닝 엔진 모듈이 시스템 로컬 드라이브의 방대한 파일들을 실시간으로 샅샅이 뒤지며 I/O 자원을 무자비하게 탐식하고 있다는 맹백한 증거입니다. 보안이라는 명목하에 마이크로소프트가 심어둔 이 훌륭한 백신 소프트웨어는 아쉽게도 개발자나 하드코어 PC 사용자의 무거운 런타임 환경에서는 종종 끔찍한 병목 현상을 유발하는 폭군으로 돌변합니다. 단원컨대 이러한 문제를 피하기 위해 디펜더를 완전히 강제 종료해 버리는 것은 악성코드의 완전한 노출을 의미하므로 최악의 하수들이나 선택할 법한 선택지이며, 시스템 엔지니어라면 레지스트리 환경 변수와 커널 파라미터 제어를 통해 이 디펜더 엔진의 활동 범위를 정밀하게 격리하고 코어 소모 한계를 강압하는 것이 가장 모범적인 해답입니다. 가장 먼저 선행되어야 할 치명적 최적화 작업은 윈도우 디펜더 프로세스 자체를 시스템의 가장 깊숙한 관리자 커널 권한에서 떼어내어 엄격히 통제된 별도의 격리된 컨테이너 환경에서 동작하게끔 가두어 버리는 '샌드박스(Sandbox)' 모드 활성화 튜닝입니다. 윈도우 버전에 따라 기능이 잠겨 있지만 명령어 세트 한 번으로 이 은밀한 보안 모드를 깨울 수 있습니다. 관리자 권한을 취득한 명령 프롬프트를 띄우고 `setx /M MP_FORCE_USE_SANDBOX 1` 이라는 글로벌 환경 변수 인젝션 명령어를 정확하게 타격해 줍니다. 이 명령어 타격 후 시스템을 한 차례 재부팅하게 되면, 보안 감시 역할을 하는 코어 엔진 프로세스가 기존의 무소불위의 시스템 권한을 잃고 철저하게 격리된 가상의 공간 안쪽으로 위치를 옮겨 샌드박싱 구동 체제로 들어가게 됩니다. 이 샌드박스 환경에서는 설령 외부의 공격자가 윈도우 디펜더 자체의 취약점을 해킹해 권한 상승을 시도하더라도 메인 호스트 OS로 피해가 전파되는 것을 완벽하게 봉쇄하는 이중 보안 잠금장치의 역할마저 수행합니다. 동시에 백그라운드 엔진이 함부로 호스트의 물리적인 파일 디스크 헤더를 폭발적으로 스캐닝하는 무리한 행위를 중간에서 한 번 물리적으로 필터링하므로, 예기치 않은 시스템 프리징과 과도한 CPU 클럭 낭비를 체감될 수준으로 줄여주는 일석이조의 극적인 부가 효과를 안겨줍니다. 샌드박스 모드를 활성화하여 권한을 격하시켰다면, 이번에는 남은 시스템 처리량 소모를 기술적으로 강제 커트해버릴 차례입니다. 윈도우 파워쉘을 역시 동일한 관리자 권한으로 오픈한 뒤, 디펜더 정책 코어 설정 제어 명령어인 `Set-MpPreference` 구문을 적극 차용합니다. 개발 환경이 담긴 거대한 'node_modules' 폴더나 무거운 유니티 엔진 및 가상 머신 드라이브 폴더 전체에서 실시간 검사가 돌아가며 컴파일이나 실행 속도를 마비시키는 절망을 방어하려면 이 구문을 통한 완벽한 격리 회피 경로 구축이 이뤄져야 합니다. `Set-MpPreference -ExclusionPath "C:\개발용_프로젝트_폴더"` 형식으로 본인의 헤비급 폴더를 스캔 범위에서 영구 배제시켜 줍니다. 이에 그치지 않고 디펜더 프로세스가 사용할 수 있는 절대 물리적 CPU 코어의 상한선을 통제하기 위해 `Set-MpPreference -ScanAvgCPULoadFactor 20` 명령을 이어 실행함으로써 스캔 대역폭을 전제 CPU 리소스의 20%로 하드 리미팅(강제 상한선)시킬 수 있습니다. 운영체제에서 기본적으로 모든 자원을 허락받던 시스템 코어 서비스를, 이처럼 터미널 구문을 통해 강경하고 타이트하게 컨트롤하고 예외 처리 디렉토리 파이프라인을 유기적으로 엮어내는 작업을 마무리할 때 우리는 비로소 보안이라는 방패를 유지함과 동시에 내가 지불한 최고 사양 CPU 스펙의 연산력을 파편화 없이 통째로 애플리케이션 컴파일 속도에 온전히 할당하는 자유를 성취하게 됩니다.