Sysmon v15.0 Update

1. 개요

2023년 6월 27일 Sysinternals는 블로그를 통해 Sysmon v15.0 업데이트 소식을 알렸다.

[그림 1] Sysinternals Blog Sysmon v15.0 업데이트 내용

해당 업데이트로 Sysmon이 보호된 프로세스로 실행되도록 Protected Process Light(이하 PPL) 기술을 적용하고, 실행 파일이 저장될 때 발생하는 'FileExecutableDetected' 이벤트를 추가했다.

PPL은 Windows 8.1/Windows Server 2012 R2부터 도입한 보호 수준 개념으로 관리자 권한이 있더라도 PPL이 적용되지 않은 프로세스로부터 PPL이 적용된 프로세스를 보호한다.


2. Protected Process Light(PPL) 적용 확인

이번 업데이트로 Sysmon에 PPL이 적용되어 공격자가 시스템에서 활동한 흔적을 남기지 않기 위해 Sysmon 프로세스를 변조 및 종료하는 것을 방지할 수 있게 됐다.

[그림 2] Sysmon PPL 미 적용(좌측) Sysmon v15.0 PPL 적용(우측)

시스템 관리자 계정(system)으로 접근하여 Sysmon 프로세스를 종료 시켜 PPL 기능이 정상적으로 동작하는지 확인한다.

PPL이 적용되지 않았던 이전 버전의 Sysmon은 관리자 권한에 의해 프로세스가 종료됐다면, PPL이 적용된 Sysmon v15.0은 관리자 권한임에도 프로세스를 종료할 수 없었다.

[그림 3] PPL 적용 전 Sysmon 프로세스 종료 - 성공
[그림 4] PPL 적용된 Sysmon v15.0 프로세스 종료 - 실패

3. FileExecutableDetected 이벤트

sysmon.exe -s 명령어로 Sysmon Schema 정보를 출력하면 Sysmon v15.0에서 Schemaversion은 4.90, binaryversion은 18로 적용되었다. 해당 Schemaversion에서는 Event ID 29로 ‘FileExecutableDetected’ 이벤트가 정의되어 있다.

[그림 5] Sysmon v15.0 Schema 정보 중 일부
[그림 6] Sysmon v15.0에 정의된 FileExecutableDetected 이벤트

FileExecutableDetected 이벤트 구성 항목은 아래 표와 같다.

구성 항목 설명
RuleName 탐지된 Rule 이름(Configure File 내 작성된 RuleName)
UtcTime 이벤트가 기록된 시간을 UTC 표준 시간으로 출력
ProcessGuid 실행 파일을 생성한 프로세스의 고유 식별자(Guid)
ProcessId 실행 파일을 생성한 프로세스의 고유 식별자(ID)
User 실행 파일을 생성한 PC(Domain) 및 User 이름
Image 실행 파일을 생성한 프로세스의 이미지(경로)
TargetFilename 생성된 실행 파일 이름 및 경로
Hashes HashType 필드에 존재하는 알고리즘이 있는 파일의 전체 Hash

3.1. 실행 파일 다운로드

웹 브라우저(Chrome)로 실행 파일을 다운로드할 경우 다운로드가 완료되기 전 임시 파일 형태로 실행 파일이 생성된다. 이때, 'ID 11. File created'를 참고해 생성된 실행 파일 명을 확인할 수 있고, 'ID 15. File stream created'에서 생성된 실행 파일의 출처를 확인할 수 있다.

💡
실행 파일의 확장자를 변조했을 때 탐지되지 않고, '.exe' 확장자인 실행 파일만 탐지한다.
[그림 7] 실행 파일 다운로드 시 발생한 File Executable Detected 이벤트
[그림 8] 실행 파일 다운로드 시 발생한 File created 이벤트
[그림 9] 실행 파일 다운로드 시 발생한 File stream created 이벤트

3.2. 실행 파일 복사

파일 탐색기 또는 명령어(Copy)로 실행 파일을 복사했을 때 이벤트가 발생하지만, 잘라내기(Move)로 이동된 실행 파일은 탐지되지 않는다.

[그림 10] 실행 파일 복사 시 발생한 File Executable Detected 이벤트(Explorer)
[그림 11] 실행 파일 복사 시 발생한 File Executable Detected 이벤트(cmd)

4. 결론

기존에 Sysmon으로 실행 파일을 탐지하기 위해 ‘ID 11. File created’, 'ID 15. File stream created', ‘ID 27. File Block Executable’를 사용했다.

‘ID 11. File created’, 'ID 15. File stream created'는 모든 파일에 대한 생성을 탐지하게 되면 이벤트 발생량이 많아지기 때문에 파일 확장자가 실행 파일인 경우 이벤트를 기록하게 설정하지만, ‘ID 11. File created’는 파일에 대한 해시 값을 기록해 주지 않는다. ‘ID 27. File Block Executable’는 특정 경로에 실행 파일을 탐지하고 무조건 차단된다.

‘ID 11. File created’와 달리 ‘ID 29. FileExecutableDetected’는 실행 파일 확장자(.exe)면서 실행 파일 구조를 가지는 파일이 생성되는 것을 해시 값과 함께 기록하기 때문에 실행 파일에 대한 적극적인 탐지가 가능해졌다.

따라서 ‘ID 29. FileExecutableDetected’와 함께 ‘ID 11. File created’, 'ID 15. File stream created' 이벤트로 공격자가 선호하는 경로에 악성 실행 파일 또는 공격 도구 생성을 탐지하기 위한 Configure File Rule로 활용할 수 있을 것이다.

구분 File created File stream created File Block Executable FileExecutableDetected
이벤트 ID 11 15 27 29
탐지 대상 모든 파일 모든 파일 스트림 실행 파일 실행 파일
탐지 내용 파일 생성 파일 스트림 생성 실행 파일 차단 실행 파일 생성
해시 값 미 기록 기록 기록 기록

Reference

You've successfully subscribed to PLAINBIT
Great! Next, complete checkout to get full access to all premium content.
Error! Could not sign up. invalid link.
Welcome back! You've successfully signed in.
Error! Could not sign in. Please try again.
Success! Your account is fully activated, you now have access to all content.
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.