소만사 | 허가받은 서명 적용된 정상 드라이버로 위장 -“EDR 킬러“ BYOVD 공격

랜섬웨어 리포트

매달 하나의 악성코드/랜섬웨어를 선정하여 상세 리포트를 제공합니다.
소만사 유지관리고객이 되시면 악성코드 분석 전문가가 직접 샘플을 입수하여 분석한 최신 악성코드/랜섬웨어 리포트를 가장 빠르게 받아보실 수 있습니다.

악성코드 분석

허가받은 서명 적용된 정상 드라이버로 위장 -“EDR 킬러“ BYOVD 공격

[소만사 악성코드 분석리포트 ] “EDR 킬러“ BYOVD 공격 분석

인증기관으로부터 허가받은 서명이 적용된 정상 드라이버로 위장, 관리자 권한 보다 높은 시스템 권한을 실행하여 탐지 및 차단이 불가능

 

1. 요약
      1) BYOVD 공격은 합법적인 서명이 되어 있어서 시스템은 정상 드라이버로 인식하지만
          실제로는 취약점을 가진 드라이버를 악용하는 것을 말함.
      2) BYOVD 공격은 관리자 권한보다 높은 시스템 권한을 실행할 수 있어
          일반적인 탐지 및 차단이 불가능하여 보안 솔루션을 쉽게 우회할 수 있다는 것이 특징.
      3) 2023년부터 랜섬웨어 제작 그룹 등에 활발히 사용.
          그룹에서 공격 범위를 넓혀가는 추세, 국내 공격 사례는 북한 라자루스 그룹의 정보 탈취 행위에 사용.
          본격적인 공격에 활용될 가능성이 높음.

 

2. 대응 방안
     1) EDR/AV 솔루션 적용 (행위기반으로 차단)
     2) 주요 데이터는 주기적인 백업을 통해 시스템 파괴 시에도 복구가 가능하도록 대비
     3) 논리적 망분리(VDI)를 적용하여 악성코드 PC 유입을 원천 차단
     4) 신뢰할 수 없는 메일의 첨부파일 실행 금지
     5) 비 업무 사이트 및 신뢰할 수 없는 웹사이트의 연결 차단
     6) PC취약점 점검과 조치 (OS나 어플리케이션은 가급적 최신 버전 유지하며 취약점 점검 및 조치)

 

────────────────────────────────────────────────────────────

1. 개요

1.1 배경

[그림 1] 시스템을 공격하는 해커

 

BYOVD 공격은 Bring-Your-Own-Vulnerable-Driver의 약자로
신뢰 가능한 인증 기관으로부터 허가받은 합법적 서명이 적용된 드라이버를 사용하는 공격이다.
서명 덕분에 시스템은 이를 정상 드라이버로 인식하지만,
실제 드라이버는 보안 제품을 무력화하는 데 악용된다.

2023년부터 랜섬웨어 제작 그룹 등에 의해 활발히 사용되기 시작한 BYOVD 공격은
드라이버를 통해 관리자 권한보다 높은 시스템 권한으로 악의적인 행위를 수행하므로
보안 솔루션을 쉽게 무력화할 수 있다.
이를 증명하듯 실제로 ‘EDR Killer’라는 별칭의 다양한 BYOVD 공격 드라이버가 판매되고 있다.

 

[그림 2] 외신 Bleeping Computer의 BYOVD 관련 기사

 

BYOVD 공격은 시스템 권한을 통한 악성 행위를 수행할 뿐만 아니라
일반적인 서드파티 솔루션에 내장된 드라이버도 BYOVD 공격의 도구가 될 수 있다는 점에서 또 다른 위협이 된다.
실제로 마이크로소프트의 ‘ProcExp’ 도구는 특정 프로세스를 종료하는 기능을 가진 강력한 드라이버를 내장하고 있다.
공격자들은 해당 드라이버를 추출해 보안 솔루션을 종료하는 자신들의 공격에 사용한다.

공격자들이 BYOVD 공격을 랜섬웨어 공격의 일부로 사용한다는 것을 다양한 보도에서 발견할 수 있으며,
Lockbit과 BlackByte 갱단 등이 BYOVD 공격의 범위를 점차 늘려가는 추세이다.
국내 BYOVD 공격 사례는 북한 Lazarus 그룹의 정보 탈취 행위에 그쳤지만,
추후 이를 넘어 본격적인 공격에 BYOVD 공격이 사용될 가능성이 다분하다.

 

[그림 3] 다국적 보안 기업 Sophos의 BYOVD 공격 분석 발췌

 

국내에는 많이 알려지지 않았지만,
이미 다국적 보안 기업들은 BYOVD 공격에 대해 심각한 위협을 인지하고 있으며
공격 및 대응방안에 대한 분석이 활발하게 이루어지고 있다.
위 이미지는 다국적 보안 기업인 Sophos의 BYOVD 공격 기법 분석 내용에서 발췌했다.
다양한 드라이버가 BYOVD 공격에 사용될 수 있으며, 대비책을 마련하고 있음을 알 수 있다.

[그림 4] BYOVD 탐지 및 차단 기능이 적용된 Privacy-i EDR

 

소만사 악성코드 분석 센터는 BYOVD 공격의 위험성을 인지하고
BYOVD 공격이 무엇이며 어떤 방식으로 이루어지는지 본 보고서에 상세히 기술하였다.
이와 더불어 자사 Privacy-i EDR을 통해 BYOVD 공격을 사전에 탐지하고 차단하는 과정까지 기재하였다.

 

────────────────────────────────────────────────────────────

2. 분석

2.1 파일 정보

Name: [Backstab].exe
Type: Windows PE EXE File
Behavior: Malicious EDR Killer
SHA-256: 24e15686f4fd0a49f96f8095dc53b7c97c99992268205c9244fde3c27fe3c99f

 

[표 1] BYOVD 공격에 사용되는 드라이버에 악성 명령을 전송하는 실행 파일

 

[표 2] BYOVD 공격에 사용되는 서명된 정상 Process Explorer 드라이버 파일

 

[그림 5] 보호된 (PPL) 프로세스인 윈도우 디펜더를 종료하는 BYOVD 공격

본 보고서에서 서술하는 BYOVD 공격은 위와 같이
강력한 PPL AntiMalware 권한으로 보호되고 있는 마이크로소프트 윈도우 디펜더 프로세스조차 종료시킬 수 있다.

 

────────────────────────────────────────────────────────────

2.2 BYOVD 공격 흐름

[그림 6] 보안 제품을 무력화하는 BYOVD 공격 흐름

 

Initial Access
・ 초기 침투를 위해 계정 정보/인증서 탈취 등을 통해 시스템에 침입한다.

Privilege Escalation
・ BYOVD 공격을 수행하기 위해 드라이버 설치 권한을 확보한다.

Vulnerable Driver Installation
・ 권한이 확보된 후 BYOVD 공격에 사용할 드라이버를 시스템에 설치한다.

Attack Protected Security Program
・ 시스템의 보호를 담당하는 주요 보안 제품을 무력화하기 위해 공격을 수행한다.

Kill Security Program
・ 주요 보안 제품은 BYOVD 공격에 의해 무력화되며, 시스템의 보호는 무력화된다.

Infect System
・ 보안 제품이 무력화되어 시스템은 공격자에게 장악당한다.

 

────────────────────────────────────────────────────────────

3. 분석

3.1 악성 PE 파일 분석

3.1.1 현재 프로세스 토큰 권한 확인

[그림 7] 현재 프로세스 토큰 권한 확인

 

악성 PE 파일은 현재 프로세스의 토큰을 확인하여 소유하고 있는 권한 정보를 얻는다.
이는 추후 악성 행위를 위한 드라이버 설치 및 로드에 필요한 권한을 보유하고 있는지 확인하기 위함이다.

 

3.1.2 디버그 권한 획득

[그림 8] 디버그 권한 획득

 

PE 파일 실행 시 입력받은 PID를 통해 프로세스의 정보 등을 얻기 위해
시스템 내 프로세스에 접근이 가능한 디버그 권한을 획득하고 자기 자신의 권한을 상승시킨다.

 

3.1.3 동적으로 NTAPI 주소 획득

[그림 9] NTAPI 주소 획득

 

추후 행위에 필요한 NTAPI의 주소를 동적으로 획득한다.
이 때 주요한 NTAPI는 NtLoadDriver이다.

 

3.1.4 리소스 내 드라이버 추출

[그림 10] 리소스에서 드라이버 추출

 

본 악성 PE 파일은 리소스 영역에 BYOVD 공격을 위한 드라이버를 내장하고 있다.
이를 추출하여 향후 BYOVD 공격에 사용한다.
드라이버를 추출해 파일의 형태로 만드는 경로는 공격자가 입력한 경로이며
시스템 내 모든 경로에 추출이 가능하다.

 

3.1.5 추출된 드라이버

[그림 11] 추출된 드라이버

 

이전의 리소스 추출 행위 결과로 공격자가 지정한 경로에 BYOVD 공격에 사용할 드라이버가 추출됐다.
추출된 드라이버는 마이크로소프트의 신뢰있는 서명을 받은 정상 드라이버이다.
그러나 본 드라이버는 공격자에 의해 보안 프로그램 종료 등에 악용된다.
이처럼 정상 드라이버를 공격에 악용하는 것이 BYOVD 공격의 핵심이다.

 

3.1.6 드라이버 로드를 위한 권한 상승

[그림 12] SE_LOAD_DRIVER_NAME 권한 상승

 

BYOVD공격은 SE_LOAD_DRIVER_NAME 권한을 획득하고 자기 자신을 상승시키는데,
이는 이전에 추출한 BYOVD 공격용 드라이버를 로드하기 위해 필요한 권한이다.
이 권한은 일반 프로세스가 드라이버를 로드하기 위해 필수적인 권한으로서
추후 레지스트리에 접근하여 값을 쓰고 드라이버를 로드할 수 있게 해준다.

 

3.1.7 드라이버 서비스 레지스트리 등록

[그림 13] 드라이버 서비스 등록

 

HKLM\System\CurrentControlSet\Services\[ServiceName] 경로에 드라이버 서비스를 등록한다.
이는 드라이버 로드에 필수적인 과정으로, 드라이버가 서비스로 설치되고 실행되는
윈도우 메커니즘에 있어 레지스트리에 서비스로 등록하는 과정이 필수적이다.

 

3.1.8 레지스트리 등록 결과

[그림 14] 레지스트리 등록 확인

 

HKLM\System\CurrentControlSet\Services\ProcExp64 라는 레지스트리가 등록되었으며,
레지스트리 내 드라이버 경로가 기재된 모습을 볼 수 있다.

 

3.1.9 NtLoadDriver API를 통한 드라이버 로드

[그림 15] 드라이버 로드

 

SE_LOAD_DRIVER_NAME 권한 상승과 레지스트리 등록이 끝났으므로,
이전에 동적으로 획득한 NTAPI인 NtLoadDriver API를 호출한다.
NtLoadDriver의 인자에 이전에 등록한 레지스트리를 기재하면 드라이버는 시스템의 메모리 내 로드된다.

 

3.1.10 드라이버와 연결

[그림 16] 드라이버 연결

 

로드된 드라이버를 BYOVD 목적으로 사용하기 위해 드라이버와 연결을 수행한다.
위 이미지는 드라이버 핸들을 획득하기 위해 CreateFileA API를 호출해 드라이버와 연결하는 모습이다.

 

3.1.11 보호된 프로세스 핸들 획득

[그림 17] 핸들 획득

 

일반 프로세스 권한으로는 획득할 수 없는 보안 솔루션 핸들을
이전에 로드한 드라이버에 명령을 내려 반환하도록 한다.
이는 시스템 권한이 드라이버 프로세스 보호 정책을 무시할 수 있기 때문에 가능하다.

 

3.1.12 보호된 프로세스 정보 획득

[그림 18] 정보 획득

 

드라이버로부터 받은 핸들로 보호된 보안 제품의 핸들을 열고 프로세스 정보를 획득한다.
본 시나리오 내에서 대상 프로세스는 윈도우 디펜더 프로세스이다.

 

3.1.13 보안 제품 무력화

[그림 19] 보안 제품 무력화 시도

ProcExpKillHandle 이라는 함수 내 DeviceIoControl API을 호출하여 무력화 대상 PID를 전달한다.
본 과정을 통해 드라이버를 통해 보안 제품을 무력화하는 BYOVD 공격이 수행된다.

 

3.1.14 보안 제품 무력화 결과

[그림 20] MsMpEng.exe 종료

BYOVD 공격의 결과로 윈도우 디펜더 프로세스인 MsMpEng.exe 프로세스가 무력화되었다.

 

────────────────────────────────────────────────────────────

3.2 BYOVD (ProcExp.sys) 드라이버 분석

3.2.1 보호된 프로세스 핸들 전달

[그림 21] 보호된 핸들 전달

 

본 드라이버에는 전달받은 PID의 핸들을 열고 이를 복제하여
전달을 요청한 프로세스에게 돌려주는 기능이 있다.
본 기능을 통해 이전의 악성 PE 파일은 보호 권한의 보안 제품 핸들을 얻을 수 있다.

 

3.2.2 대상 프로세스 종료

[그림 22] 핸들 객체 제거

 

본 드라이버에는 또 다른 기능인 핸들 객체 제거를 통한 프로세스 종료 기능이 있다.
이전과 같이 전달받은 PID를 가진 프로세스의 열린 모든 핸들을 오픈하고
핸들 객체를 제거하여 프로세스를 종료시키는 기능이다.
이러한 공격은 일반적으로 탐지 및 차단이 불가능하며, 마이크로소프트 윈도우 디펜더조차 종료할 수 있다.

 

────────────────────────────────────────────────────────────

4. Privacy-i EDR 탐지 정보

4.1 BYOVD 공격 시도에 대한 사전 탐지 및 차단

[그림 23] 사전 탐지

 

[그림 24] 자사 제품 방어

 

BYOVD 공격은 보안 제품을 무력화하고 시스템 장악 후 악성 행위를 수행한다.
소만사 제품인 Privacy-i EDR은 자사 제품에 대한 BYOVD 공격 시도를 사전에 탐지 및 차단하고
시스템을 안전하게 보호하며 자가 보호까지 완료하였다.

────────────────────────────────────────────────────────────

5. 대응

  1. EDR/AV 솔루션 적용 (행위 기반으로 차단)

  2. 주요 데이터는 주기적인 백업을 통해 시스템 파괴 시에도 복구가 가능하도록 대비

  3. 논리적 망분리(VDI)를 적용하여 악성코드 PC 유입을 원천 차단

  4. 신뢰할 수 없는 메일의 첨부파일 실행 금지

  5. 비업무 사이트 및 신뢰할 수 없는 웹사이트의 연결 차단

  6. PC 취약점 점검과 조치 (OS나 어플리케이션은 가급적 최신 버전 유지)

 

PDF로 리포트 자세히 보기
이전글 CrowdStrike 보안 업데이트 사칭, 와이퍼 악성코드 분석 2024.07.31
다음글 LAPSUS$ 그룹 자체개발- 헥사로커(HexaLocker) 랜섬웨어 2024.11.24
목록