파일리스 위협

파일리스 위협은 정확히 무엇인가요? "파일리스"라는 용어는 컴퓨터 메모리에만 있는 백도어와 같은 위협이 파일에 제공되지 않음을 시사합니다. 그러나 파일리스 맬웨어에 대한 정의는 없습니다. 이 용어는 광범위하게 사용되며 때로는 작동할 파일에 의존하는 맬웨어 패밀리를 설명하는 데 사용됩니다.

공격에는 실행, 지속성 또는 정보 도용과 같은 기능에 대한 여러 단계 가 포함됩니다. 공격 체인의 일부는 파일이 없을 수 있지만 다른 부분은 파일 시스템을 어떤 형태로든 포함할 수 있습니다.

명확성을 위해 파일리스 위협은 다양한 범주로 그룹화됩니다.

파일리스 맬웨어의 포괄적인 다이어그램
그림 1. 파일리스 맬웨어의 포괄적인 다이어그램

파일리스 위협은 진입점으로 분류할 수 있으며, 이는 파일리스 맬웨어가 컴퓨터에 도착하는 방법을 나타냅니다. 악용, 손상된 하드웨어 또는 애플리케이션 및 스크립트의 정기적인 실행을 통해 도착할 수 있습니다.

다음으로 진입점의 형식을 나열합니다. 예를 들어 익스플로잇은 파일 또는 네트워크 데이터를 기반으로 할 수 있고, PCI 주변 장치는 하드웨어 벡터의 유형이며, 스크립트 및 실행 파일은 실행 벡터의 하위 범주입니다.

마지막으로, 감염의 호스트를 분류합니다. 예를 들어 Flash 애플리케이션에는 익스플로잇, 간단한 실행 파일 및 하드웨어 디바이스의 악성 펌웨어와 같은 다양한 위협이 포함될 수 있습니다.

분류를 사용하면 다양한 종류의 파일리스 위협을 나누고 분류할 수 있습니다. 일부는 더 위험하지만 구현하기가 더 어려운 반면, 다른 일부는 매우 진보되지 않았음에도 불구하고 (또는 정확하게 때문에) 더 일반적으로 사용됩니다.

이 분류에서 감염된 컴퓨터에 남겨둘 수 있는 지문 양에 따라 세 가지 기본 유형의 파일리스 위협을 수집할 수 있습니다.

형식 I: 수행된 파일 작업이 없습니다.

완전히 파일리스 맬웨어는 디스크에 파일을 쓸 필요가 없는 것으로 간주될 수 있습니다. 이러한 맬웨어는 처음에 컴퓨터를 어떻게 감염시킬까요? 한 가지 예는 대상 컴퓨터가 EternalBlue 취약성을 악용하는 악성 네트워크 패킷을 수신하는 경우입니다. 이 취약성을 통해 DoublePulsar 백도어 설치가 가능하며 결국 커널 메모리에만 저장됩니다. 이 경우 파일에 기록된 파일이나 데이터가 없습니다.

손상된 디바이스에는 디바이스 펌웨어(예: BIOS), USB 주변 장치(예: BadUSB 공격) 또는 네트워크 카드 펌웨어에 악성 코드가 숨어 있을 수도 있습니다. 이러한 모든 예제는 디스크의 파일을 실행할 필요가 없으며 이론적으로 메모리에만 사용할 수 있습니다. 악성 코드는 다시 부팅, 디스크 다시 포맷 및 OS 다시 설치에서 유지됩니다.

대부분의 바이러스 백신 제품에는 펌웨어를 검사할 수 있는 기능이 없기 때문에 이러한 유형의 감염을 감지하기가 특히 어려울 수 있습니다. 제품에 악성 펌웨어를 검사하고 검색할 수 있는 기능이 있는 경우 이 수준에서 위협 수정과 관련된 중요한 문제가 여전히 존재합니다. 이러한 유형의 파일리스 맬웨어는 높은 수준의 정교함이 필요하며 종종 특정 하드웨어 또는 소프트웨어 구성에 따라 달라집니다. 쉽고 안정적으로 악용할 수 있는 공격 벡터가 아닙니다. 위험하지만 이러한 유형의 위협은 일반적이지 않으며 대부분의 공격에는 실용적이지 않습니다.

형식 II: 간접 파일 작업

맬웨어가 상당한 엔지니어링 작업 없이도 컴퓨터에서 파일 없는 존재를 달성할 수 있는 다른 방법이 있습니다. 이 형식의 파일리스 맬웨어는 파일 시스템에 파일을 직접 쓰지 않지만 파일을 간접적으로 사용할 수 있습니다. 예를 들어 Poshspy 백도어 공격자가 WMI 리포지토리 내에 악성 PowerShell 명령을 설치하고 WMI 필터를 구성하여 명령을 주기적으로 실행하도록 구성했습니다.

백도어가 이미 파일에 있을 필요 없이 명령줄을 통해 이러한 설치를 수행할 수 있습니다. 맬웨어를 설치하고 이론적으로 파일 시스템을 건드리지 않고 실행할 수 있습니다. 그러나 WMI 리포지토리는 CIM 개체 관리자가 관리하는 중앙 스토리지 영역의 실제 파일에 저장되며 일반적으로 합법적인 데이터를 포함합니다. 감염 체인은 기술적으로 물리적 파일을 사용하지만 WMI 리포지토리는 검색 및 제거할 수 없는 다목적 데이터 컨테이너이기 때문에 파일 없는 공격으로 간주됩니다.

형식 III: 작동하는 데 필요한 파일

일부 맬웨어는 일종의 파일리스 지속성을 가질 수 있지만 파일을 사용하지 않고는 작동할 수 없습니다. 이 시나리오의 예로는 임의 파일 확장명용 셸 열기 동사 처리기를 레지스트리에 만드는 Kovter가 있습니다. 이러한 확장명으로 파일을 열면 합법적인 도구 mshta.exe 통해 스크립트가 실행됩니다.

Kovter의 레지스트리 키 이미지.
그림 2. Kovter의 레지스트리 키

열려 있는 동사를 호출하면 레지스트리에서 연결된 명령이 시작되어 작은 스크립트가 실행됩니다. 이 스크립트는 추가 레지스트리 키에서 데이터를 읽고 실행하여 최종 페이로드를 로드합니다. 그러나 처음에 열린 동사를 트리거하려면 Kovter가 동사를 대상으로 하는 동일한 확장명의 파일을 삭제해야 합니다(위의 예제에서 확장명은 .bbf5590fd임). 또한 컴퓨터가 시작될 때 이러한 파일을 열도록 구성된 자동 실행 키를 설정해야 합니다.

Kovter는 파일 시스템이 실제로 사용되지 않으므로 파일리스 위협으로 간주됩니다. 임의 확장이 있는 파일에는 위협의 존재를 확인하는 데 사용할 수 없는 정크 데이터가 포함되어 있습니다. 레지스트리를 저장하는 파일은 악성 콘텐츠가 있는 경우 검색 및 삭제할 수 없는 컨테이너입니다.

감염 호스트별 파일리스 위협 분류

광범위한 범주를 설명했으므로 이제 세부 사항을 자세히 알아보고 감염 호스트의 분석을 제공 할 수 있습니다. 이 포괄적인 분류는 일반적으로 파일리스 맬웨어라고 하는 것의 파노라마를 다룹니다. 이는 공격 클래스를 중화하고 맬웨어가 군비 경쟁에서 우위를 점하지 못하도록 하는 새로운 보호 기능을 연구하고 개발하기 위한 우리의 노력을 이끌고 있습니다.

악용

파일 기반 (형식 III: 실행 파일, Flash, Java, 문서): 초기 파일은 운영 체제, 브라우저, Java 엔진, 플래시 엔진 등을 악용하여 셸코드를 실행하고 메모리에 페이로드를 제공할 수 있습니다. 페이로드는 파일이 없지만 초기 항목 벡터는 파일입니다.

네트워크 기반 (유형 I): 대상 컴퓨터의 취약성을 활용하는 네트워크 통신은 애플리케이션 또는 커널의 컨텍스트에서 코드 실행을 달성할 수 있습니다. 예를 들어 WannaCry는 SMB 프로토콜에서 이전에 수정된 취약성을 악용하여 커널 메모리 내에서 백도어를 제공합니다.

하드웨어

디바이스 기반(유형 I: 네트워크 카드, 하드 디스크): 하드 디스크 및 네트워크 카드와 같은 디바이스에는 칩셋과 전용 소프트웨어가 필요합니다. 디바이스의 칩셋에 거주하고 실행되는 소프트웨어를 펌웨어라고 합니다. 복잡한 작업이지만 펌웨어는 맬웨어에 감염될 수 있습니다.

CPU 기반 (형식 I): 최신 CPU는 복잡하며 관리 목적으로 펌웨어를 실행하는 하위 시스템을 포함할 수 있습니다. 이러한 펌웨어는 하이재킹에 취약하고 CPU 내에서 작동하는 악성 코드의 실행을 허용할 수 있습니다. 2017년 12월, 두 명의 연구원은 공격자가 Intel의 최신 CPU에 있는 ME(관리 엔진) 내에서 코드를 실행할 수 있는 취약성을 보고했습니다. 한편, 공격자 그룹 PLATINUM은 설치된 운영 체제를 우회하여 인텔의 AMT(Active Management Technology) 를 사용하여 보이지 않는 네트워크 통신을 수행할 수 있는 기능이 있는 것으로 관찰되었습니다. ME 및 AMT는 기본적으로 CPU 내에 있고 매우 낮은 수준에서 작동하는 자율 마이크로 컴퓨터입니다. 이러한 기술의 목적은 원격 관리 기능을 제공하는 것이므로 하드웨어에 직접 액세스할 수 있고 운영 체제와 독립적이며 컴퓨터가 꺼져 있더라도 실행할 수 있습니다.

CPU는 펌웨어 수준에서 취약할 뿐만 아니라 하드웨어 회로에 직접 삽입된 백도어로 제조할 수 있습니다. 이 공격은 과거에 연구되고 가능한 것으로 입증되었습니다. x86 프로세서의 특정 모델에는 일반 애플리케이션이 권한 있는 실행을 얻을 수 있는 백도어에 효과적으로 제공할 수 있는 보조 임베디드 RISC와 같은 CPU 코어가 포함되어 있는 것으로 보고되었습니다.

USB 기반 (Type I): 모든 종류의 USB 디바이스를 악의적인 방식으로 운영 체제와 상호 작용할 수 있는 악성 펌웨어로 다시 프로그래밍할 수 있습니다. 예를 들어 BadUSB 기술을 사용하면 다시 프로그래밍된 USB 스틱이 키 입력을 통해 컴퓨터에 명령을 보내는 키보드 또는 트래픽을 원하는 대로 리디렉션할 수 있는 네트워크 카드 작동할 수 있습니다.

BIOS 기반 (Type I): BIOS는 칩셋 내부에서 실행되는 펌웨어입니다. 컴퓨터가 켜지면 실행되고, 하드웨어를 초기화한 다음, 제어를 부팅 섹터로 전송합니다. BIOS는 낮은 수준에서 작동하고 부팅 섹터 전에 실행되는 중요한 구성 요소입니다. 과거에 Mebromi 루트킷과 같이 악성 코드로 BIOS 펌웨어를 다시 프로그래밍할 수 있습니다.

하이퍼바이저 기반 (유형 I): 최신 CPU는 하드웨어 하이퍼바이저 지원을 제공하여 운영 체제가 강력한 가상 머신을 만들 수 있도록 합니다. 가상 머신은 제한된 시뮬레이션 환경에서 실행되며 이론적으로는 에뮬레이션을 인식하지 못합니다. 컴퓨터를 인수하는 맬웨어는 작은 하이퍼바이저를 구현하여 실행 중인 운영 체제의 영역 외부에 자신을 숨길 수 있습니다. 이러한 종류의 맬웨어는 과거에 이론화되었으며, 현재까지 알려진 것은 거의 없지만 결국 실제 하이퍼바이저 루트킷이 관찰되었습니다.

실행 및 삽입

파일 기반 (III 유형: 실행 파일, DLL, LNK 파일, 예약된 작업): 표준 실행 벡터입니다. 간단한 실행 파일을 1단계 맬웨어로 시작하여 메모리에 추가 페이로드를 실행하거나 다른 합법적인 실행 프로세스에 삽입할 수 있습니다.

매크로 기반 (III 형식: Office 문서): VBA 언어 는 편집 작업을 자동화하고 문서에 동적 기능을 추가하도록 설계된 유연하고 강력한 도구입니다. 따라서 공격자가 실행 파일 페이로드를 디코딩, 실행 또는 삽입하거나 qkG의 경우와 같이 전체 랜섬웨어를 구현하는 등의 악의적인 작업을 수행하도록 악용될 수 있습니다. 매크로는 Office 프로세스(예: Winword.exe)의 컨텍스트 내에서 실행되고 스크립팅 언어로 구현됩니다. 바이러스 백신이 검사할 수 있는 이진 실행 파일은 없습니다. Office 앱은 문서에서 매크로를 실행하기 위해 사용자의 명시적 동의가 필요하지만 공격자는 소셜 엔지니어링 기술을 사용하여 사용자가 매크로를 실행할 수 있도록 속입니다.

스크립트 기반 (형식 II: 파일, 서비스, 레지스트리, WMI 리포지토리, 셸): JavaScript, VBScript 및 PowerShell 스크립팅 언어는 Windows 플랫폼에서 기본적으로 사용할 수 있습니다. 스크립트는 매크로와 동일한 장점을 가지며, 텍스트 파일(이진 실행 파일이 아님)이며 클린 합법적인 구성 요소인 인터프리터(예: wscript.exe, powershell.exe)의 컨텍스트 내에서 실행됩니다. 스크립트는 다양하며 파일에서 실행하거나(두 번 클릭) 인터프리터의 명령줄에서 직접 실행할 수 있습니다. 명령줄에서 실행하면 맬웨어가 WMI 리포지토리에서 WMI 이벤트 구독으로 자동 실행 레지스트리 키 내의 자동 시작 서비스로 악성 스크립트를 인코딩할 수 있습니다. 또한 감염된 컴퓨터에 대한 액세스 권한을 얻은 공격자는 명령 프롬프트에서 스크립트를 입력할 수 있습니다.

디스크 기반 (형식 II: 부팅 레코드): 부팅 레코드는 디스크 또는 볼륨의 첫 번째 섹터이며 운영 체제의 부팅 프로세스를 시작하는 데 필요한 실행 코드를 포함합니다. Petya와 같은 위협은 악성 코드로 덮어써서 부팅 레코드를 감염할 수 있습니다. 컴퓨터가 부팅되면 맬웨어가 즉시 제어권을 얻습니다. 부팅 레코드는 파일 시스템 외부에 있지만 운영 체제에서 액세스할 수 있습니다. 최신 바이러스 백신 제품에는 검색하고 복원할 수 있는 기능이 있습니다.

파일 없는 맬웨어를 무찌를 수 있습니다.

Microsoft에서는 보안 환경을 적극적으로 모니터링하여 새로운 위협 추세를 식별하고 위협 클래스를 완화하는 솔루션을 개발합니다. 광범위한 위협에 대해 효과적인 지속성 보호를 계측합니다. AMSI(AntiMalware Scan Interface), 동작 모니터링, 메모리 검사 및 부팅 섹터 보호를 통해 엔드포인트용 Microsoft Defender 난독 처리가 많은 경우에도 파일 없는 위협을 검사할 수 있습니다. 클라우드의 기계 학습 기술을 통해 새로운 위협과 새로운 위협에 대해 이러한 보호를 확장할 수 있습니다.

자세한 내용은 보이지 않지만 보이지 않음: 동작 모니터링, AMSI 및 차세대 AV를 사용하여 파일 없는 맬웨어 무찌르

추가 리소스 및 정보

Microsoft 365 E5 위협 방지 기능을 배포하는 방법을 알아봅니다.