> For the complete documentation index, see [llms.txt](https://www.xn--hy1b43d247a.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.xn--hy1b43d247a.com/defense-evasion/userland-hooking-history.md).

# 유저랜드 후킹 - 역사

### 역사 <a href="#ec-9a-94-ec-95-bd" id="ec-9a-94-ec-95-bd"></a>

공격자들은 [2010년 데프콘](https://www.youtube.com/watch?v=q5pA49C7QJg)에서 시작된 파워쉘 열풍 이후 2017년 파워쉘의 몰락을 거쳐 .NET/C#/C++/Nim/Golang 등을 이용해 더 로우-레벨의 툴 제작(Tradecraft)을 시도하고 있다. 이에 발 맞춰 2013년도에 EDR 솔루션이 개발됐고, 2016년도 부터 본격적으로 EDR 솔루션을 도입하는 회사들이 많아짐에 따라 EDR vs. 공격자 구도가 형성됐다.\\

이 구도에서 가장 치열했던 창과 방패의 싸움은 2016년\~2020년의 유저랜드 후킹과 우회일 것이다. 2021년 기준 많은 EDR 솔루션들이 커널 모드로 다시 돌아가며 다양한 탐지 방법을 만들어내고 있지만, 그 전에 가장 많이 쓰이던 탐지 기법은 바로 유저랜드 후킹이였다.

### 엔드포인트 탐지 트렌드 <a href="#ec-97-94-eb-93-9c-ed-8f-ac-ec-9d-b8-ed-8a-b8-ed-83-90-ec-a7-80-ed-8a-b8-eb-a0-8c-eb-93-9c" id="ec-97-94-eb-93-9c-ed-8f-ac-ec-9d-b8-ed-8a-b8-ed-83-90-ec-a7-80-ed-8a-b8-eb-a0-8c-eb-93-9c"></a>

2022년도 기준 현재 시장에 나와있는 EDR 솔루션들은 다양한 방법을 통해 악성코드 및 악성행위를 탐지한다. 커널 접근이 가능했던 “옛날”과 달리, Kernel Patch Protection (PatchGuard) 이 적용된 이후 보안 솔루션들은 커널 모드에서 벗어나 유저 모드에서 탐지를 진행해야한다. 유저 모드에 있는 탐지 방법 및 데이터 측정 출처 (telemetry sources)의 종류는 많이 있지만, 가장 많이 알려져있는 기법/기술은 다음과 같다.

1. 유저랜드 후킹 (Userland Hooking)
2. 커널 콜백 함수 (Kernel Callbacks)
3. ETW (Event Tracing for Windows)
4. 미니필터 드라이버 (Mini-Filter Drivers)
5. 파워쉘과 .NET AMSI (AntiMalware-Scanning-Interface)

유저랜드 후킹은 2016년 \~ 2020년 중 EDR 솔루션들이 많이 사용하던 탐지 방법 중 하나다. 물론 현재에도 많이 사용하지만, 요새 트렌드는 다시 또 커널 모드로 돌아가는 추세다. 2,4 번의 경우 커널과 관련된 로우레벨 부분이 존재하고 (실무에서 취약한 커널 드라이버 로드 같은 기법은 사용하기 어렵기도 하고), 3번은 현재 공부 하고 있기 때문에 아직까지는 다루지 않는다.
