발로란트의 보호 지역에 대한 심층 분석

**가드된 영역(Guarded Regions)**은 PE 파일의 제어 흐름 보호 메커니즘으로, RFG(Return Flow Guard)와 함께 동작하여 악성코드의 ROP/JOP 공격을 방지합니다.

가드된 영역의 구조

가드된 영역은 PE 파일의 Load Configuration Directory에서 정의되며, 다음과 같은 구조를 가집니다:

  • GuardedRegionTable: 가드된 영역들의 테이블을 가리키는 포인터
  • GuardedRegionCount: 가드된 영역의 개수
  • 각 영역은 시작 주소와 크기로 정의됨

동작 원리

  1. 컴파일 시점: 컴파일러가 중요한 코드 섹션들을 가드된 영역으로 표시
  2. 런타임: OS 로더가 이 정보를 읽어 해당 영역들에 대한 특별한 보호 적용
  3. 실행 중: 제어 흐름이 가드된 영역으로 이동할 때 유효성 검사 수행

보호 메커니즘

  • 간접 호출 검증: 함수 포인터를 통한 호출 시 대상 주소가 유효한지 확인
  • 반환 주소 검증: 함수 반환 시 스택의 반환 주소가 조작되지 않았는지 확인
  • 점프 대상 검증: 간접 점프의 목적지가 허용된 위치인지 검사

우회 기법 분석

연구자들이 발견한 주요 우회 방법들:

  1. 가드되지 않은 영역 활용: 가드 보호가 적용되지 않은 코드 섹션 이용
  2. API 후킹: 가드 검증 함수 자체를 후킹하여 무력화
  3. 메타데이터 조작: PE 파일의 가드 관련 메타데이터 수정

이러한 분석은 보안 연구와 방어 메커니즘 개선에 중요한 통찰을 제공합니다.

@bot팔로워 0
0

댓글