Microsoft Defender 바이러스 백신과 AMSI(맬웨어 방지 검색 인터페이스) 통합
적용 대상:
- Microsoft Defender XDR
- Microsoft Defender 바이러스 백신
- P1 & P2 엔드포인트용 Microsoft Defender
- 비즈니스용 Microsoft Defender
- 개인용 Microsoft Defender
플랫폼:
- Windows 10 이상
- Windows Server 2016 이상
엔드포인트용 Microsoft Defender AMSI(맬웨어 방지 스캔 인터페이스)를 활용하여 파일리스 맬웨어, 동적 스크립트 기반 공격 및 기타 비전통적 사이버 위협에 대한 보호를 강화합니다. 이 문서에서는 AMSI 통합의 이점, 지원하는 스크립팅 언어 유형 및 향상된 보안을 위해 AMSI를 사용하도록 설정하는 방법을 설명합니다.
파일리스 맬웨어란?
파일리스 맬웨어는 탐지를 피하기 위해 은밀한 기술을 사용하여 최신 사이버 공격에 중요한 역할을 합니다. 몇몇 주요 랜섬웨어 발발은 킬 체인의 일부로 파일리스 메서드를 사용했습니다.
파일리스 맬웨어는 PowerShell.exe 또는 wmic.exe 같이 손상된 디바이스에 이미 있는 기존 도구를 사용합니다. 맬웨어는 프로세스에 침투하여 메모리 공간 내에서 코드를 실행하고 이러한 기본 제공 도구를 호출할 수 있습니다. 공격자는 공간을 크게 줄이고 기존 탐지 메커니즘을 회피합니다.
메모리가 일시적이고 파일리스 맬웨어가 디스크에 파일을 배치하지 않으므로 파일리스 맬웨어를 사용하여 지속성을 설정하는 것이 까다로울 수 있습니다. 파일리스 맬웨어가 지속성을 달성하는 방법의 한 가지 예는 "한 줄" PowerShell cmdlet을 시작하는 레지스트리 실행 키를 만드는 것이었습니다. 이 명령은 레지스트리 BLOB에 저장된 난독 제거된 PowerShell 스크립트를 시작했습니다. 난독 처리를 한 PowerShell 스크립트에는 레지스트리에서 Base64로 인코딩된 PE를 로드한 PE(이식 가능한 실행 파일) 로더가 포함되어 있습니다. 레지스트리에 저장된 스크립트는 맬웨어가 유지되도록 했습니다.
공격자는 맬웨어 임플란트를 은밀하고 회피할 수 있는 여러 파일리스 기술을 사용합니다. 해당하는 기술은 다음과 같습니다.
반사 DLL 주입: 반사 DLL 삽입에는 디스크에 있는 DLL이 필요 없이 악의적인 DLL을 프로세스 메모리에 수동으로 로드하는 작업이 포함됩니다. 악의적인 DLL은 원격 공격자 제어 컴퓨터에서 호스트되고 단계적 네트워크 채널(예: TLS(전송 계층 보안) 프로토콜)을 통해 전달되거나 매크로 및 스크립트와 같은 감염 벡터 내에 난독 처리된 형식으로 포함될 수 있습니다. 이 구성은 실행 파일 모듈 로드를 모니터링하고 추적하는 OS 메커니즘을 회피합니다. Reflective DLL 삽입을 사용하는 맬웨어의 예는 입니다
HackTool:Win32/Mikatz!dha
.메모리 악용: 악의적 사용자는 파일리스 메모리 익스플로잇을 사용하여 희생자 컴퓨터에서 임의 코드를 원격으로 실행합니다. 예를 들어 UIWIX 위협은 Petya와 WannaCry 모두에서 사용된 EternalBlue 익스플로잇을 사용하여 DoublePulsar 백도어 설치를 수행하고 커널의 메모리(SMB 디스패치 테이블)에 전적으로 저장됩니다. Petya 및 Wannacry와 달리 UIWIX는 디스크에 파일을 삭제하지 않습니다.
스크립트 기반 기술: 스크립팅 언어는 메모리 전용 실행 파일 페이로드를 제공하기 위한 강력한 수단을 제공합니다. 스크립트 파일은 런타임에 즉시 암호 해독할 수 있는 인코딩된 셸 코드 또는 이진 파일을 포함할 수 있으며 디스크에 쓸 필요 없이 .NET 개체 또는 API를 통해 직접 실행할 수 있습니다. 스크립트 자체는 레지스트리에 숨겨지거나, 네트워크 스트림에서 읽거나, 공격자가 디스크를 건드리지 않고 명령줄에서 수동으로 실행할 수 있습니다.
참고
파일리스 맬웨어를 차단하는 수단으로 PowerShell을 사용하지 않도록 설정하지 마세요. PowerShell은 강력하고 안전한 관리 도구이며 많은 시스템 및 IT 기능에 중요합니다. 공격자는 초기 손상이 이미 발생한 후에만 발생할 수 있는 악용 후 기술로 악성 PowerShell 스크립트를 사용합니다. 오용은 소프트웨어 악용, 소셜 엔지니어링 또는 자격 증명 도난과 같은 다른 악의적인 작업으로 시작하는 공격의 증상입니다. 핵심은 공격자가 PowerShell을 오용할 수 있는 위치에 들어가지 못하도록 하는 것입니다.
팁
사용자 환경에서 서명되지 않은 Powershell 스크립트 수를 줄이면 보안 태세를 높이는 데 도움이 됩니다. 다음은 사용자 환경에서 사용되는 Powershell 스크립트에 서명을 추가하는 방법에 대한 지침입니다. Enterprise Windows PKI를 사용하여 Windows PowerShell 스크립트에 서명하려면 어떻게 해야 하나요? (2/2부) | 스크립팅 블로그
WMI 지속성: 일부 공격자는 WMI(Windows Management Instrumentation) 리포지토리를 사용하여 WMI 바인딩을 사용하여 주기적으로 호출되는 악성 스크립트를 저장합니다. Microsoft Defender 바이러스 백신은 일반, 추론 및 동작 기반 검색뿐만 아니라 로컬 및 클라우드 기반 기계 학습 모델을 사용하여 대부분의 맬웨어를 차단합니다. Microsoft Defender 바이러스 백신은 다음 기능을 통해 파일 없는 맬웨어로부터 보호합니다.
- 여러 계층의 난독 처리에서도 PowerShell 및 기타 스크립트 유형을 검사하는 기능을 제공하는 AMSI를 사용하여 스크립트 기반 기술 검색
- WMI 리포지토리를 주기적으로 그리고 비정상적인 동작이 관찰될 때마다 검색하여 WMI 지속성 기술 검색 및 수정
- 향상된 메모리 검사 기술 및 동작 모니터링을 통해 반사 DLL 주입 감지
왜 AMSI인가요?
AMSI는 Windows의 기본 제공 스크립팅 호스트에서 난독 처리 및 회피 기술을 사용하는 악성 소프트웨어에 대한 심층적인 검사를 제공합니다. AMSI를 통합함으로써 엔드포인트용 Microsoft Defender 고급 위협에 대한 추가 보호 계층을 제공합니다.
지원되는 스크립팅 언어
- PowerShell
- Jscript
- VBScript
- Windows 스크립트 호스트(wscript.exe 및 cscript.exe)
- .NET Framework 4.8 이상(모든 어셈블리 검사)
- WMI(Windows Management Instrumentation)
Microsoft 365 앱 사용하는 경우 AMSI는 JavaScript, VBA 및 XLM도 지원합니다.
AMSI는 현재 Python 또는 Perl을 지원하지 않습니다.
AMSI 사용
AMSI를 사용하도록 설정하려면 스크립트 검사를 사용하도록 설정해야 합니다. Microsoft Defender 바이러스 백신에 대한 검사 옵션 구성을 참조하세요.
또한 Defender 정책 CSP - Windows 클라이언트 관리를 참조하세요.
AMSI 리소스
AMSI(맬웨어 방지 검사 인터페이스) API 는 개발자 및 바이러스 백신 공급업체가 구현할 수 있습니다.
Exchange 및 Sharepoint와 같은 다른 Microsoft 제품도 AMSI 통합을 사용합니다.
파일리스 공격으로부터 보호하기 위한 추가 리소스
Windows Defender 애플리케이션 제어 및 AppLocker. 강력한 코드 무결성 정책을 적용하고 신뢰할 수 있는 애플리케이션만 실행할 수 있도록 합니다. 파일리스 맬웨어의 컨텍스트에서 WDAC는 PowerShell을 제한된 언어 모드로 잠그며, 이는 직접 .NET 스크립팅, Add-Type cmdlet을 통한 Win32 API 호출 및 COM 개체와의 상호 작용과 같은 확인되지 않는 코드 실행으로 이어질 수 있는 확장된 언어 기능을 제한합니다. 이는 기본적으로 PowerShell 기반 반사 DLL 삽입 공격을 완화합니다.
공격 표면 감소 는 관리자가 일반적인 공격 벡터로부터 보호하는 데 도움이 됩니다.
코드 무결성의 가상화 기반 보호를 사용하도록 설정합니다. HVCI(하이퍼바이저 코드 무결성)를 통해 커널 메모리 악용을 완화하므로 커널 모드 소프트웨어 취약성을 사용하여 악성 코드를 삽입하기가 어렵습니다.