# 커널 안티치트의 작동 방식

> Clean Markdown view of GeekNews topic #27539. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=27539](https://news.hada.io/topic?id=27539)
- GeekNews Markdown: [https://news.hada.io/topic/27539.md](https://news.hada.io/topic/27539.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-03-16T09:46:54+09:00
- Updated: 2026-03-16T09:46:54+09:00
- Original source: [s4dbrd.github.io](https://s4dbrd.github.io/posts/how-kernel-anti-cheats-work/)
- Points: 2
- Comments: 1

## Topic Body

- 현대의 **커널 기반 안티치트 시스템**은 Windows 환경에서 가장 복잡한 보안 소프트웨어 중 하나로, 게임 실행 중에도 커널 수준에서 메모리와 시스템 이벤트를 감시함  
- **유저모드 보호의 한계**를 극복하기 위해 커널 드라이버를 활용하며, 프로세스·스레드 생성, 이미지 로드, 레지스트리 변경 등을 실시간 감시  
- **BattlEye, EasyAntiCheat, Vanguard, FACEIT AC** 등 주요 시스템은 커널 드라이버·서비스·게임 DLL의 3계층 구조로 동작하며, 부팅 시 로드되는 Vanguard는 가장 강력한 제어권을 가짐  
- **메모리 스캐닝, 후킹 탐지, 드라이버 무결성 검증, DMA 공격 대응, 행동 기반 탐지** 등 다층적 방어를 결합해 치트 행위를 차단  
- 최종적으로는 **TPM 기반 원격 인증과 하드웨어 신뢰 검증**이 게임 보안의 핵심 기반으로 부상하고 있음  

---

### 1. 유저모드 보호의 한계와 커널로의 이동
- 유저모드 프로세스는 커널의 권한 하위에 있어, **커널 드라이버나 하이퍼바이저 수준의 치트**에 쉽게 우회됨  
  - 예: `ReadProcessMemory` 호출은 커널 후킹으로 위조 가능  
- 커널 모드 치트는 게임 메모리를 직접 조작하고, 유저모드 탐지를 회피할 수 있음  
- 이에 대응해 **안티치트가 커널 레벨로 이동**, 동일한 권한 수준에서 감시 수행  

### 2. 치트와 안티치트의 ‘무기 경쟁’
- 유저모드 → 커널 → 하이퍼바이저 → DMA로 이어지는 **권한 상승 경쟁**이 지속  
- 안티치트는 **드라이버 차단, 하이퍼바이저 탐지, IOMMU 기반 DMA 방어**로 대응  
- 이 과정은 치트 제작 비용과 난이도를 높여 **일반 사용자의 접근을 차단하는 효과**를 가짐  

### 3. 주요 커널 안티치트 시스템
- **BattlEye**: `BEDaisy.sys` 커널 드라이버 중심, 프로세스·스레드·이미지 로드 콜백 등록  
- **EasyAntiCheat(EAC)**: Epic Games 소유, 유사한 3계층 구조  
- **Vanguard**: 부팅 시 `vgk.sys` 로드, **드라이버 화이트리스트 모델**로 강력한 제어  
- **FACEIT AC**: 커널 수준 감시로 높은 신뢰도 확보  
- ARES 2024 논문은 이들 시스템이 **루트킷과 유사한 기술적 구조**를 가지지만, 목적은 방어임을 명시  

### 4. 커널 안티치트의 3계층 구조
- **커널 드라이버**: 시스템 콜 후킹, 메모리 스캔, 접근 제어 수행  
- **유저모드 서비스**: 네트워크 통신, 밴 관리, 텔레메트리 전송 담당  
- **게임 DLL**: 게임 프로세스 내부 검증 및 서비스와 IPC 수행  
- **IOCTL, Named Pipe, Shared Memory**를 통해 상호 통신  

### 5. 부팅 시 로드와 런타임 로드의 차이
- **BattlEye/EAC**: 게임 실행 시 드라이버 로드, 종료 시 언로드  
- **Vanguard**: 부팅 시 로드되어 이후 로드되는 모든 드라이버를 감시  
  - 이로 인해 **시스템 재부팅이 필요**하며, 부팅 단계부터 보호 가능  

### 6. 커널 콜백 기반 감시
- **ObRegisterCallbacks**: 프로세스 핸들 접근 제어, 외부 프로세스의 메모리 접근 차단  
- **PsSetCreateProcessNotifyRoutineEx**: 치트 프로세스 생성 차단  
- **PsSetCreateThreadNotifyRoutine**: 게임 프로세스 내 비정상 스레드 감지  
- **PsSetLoadImageNotifyRoutine**: 비허용 DLL 로드 탐지  
- **CmRegisterCallbackEx**: 레지스트리 변경 감시  
- **미니필터 드라이버**: 파일 시스템 수준에서 치트 파일 접근 차단  

### 7. 메모리 보호와 스캐닝
- **핸들 접근 제한**으로 외부 메모리 읽기/쓰기 차단  
- **코드 섹션 해시 검증**으로 코드 패치 탐지  
- **VAD 트리 순회**로 수동 매핑된 실행 메모리 탐지  
- **익명 실행 메모리, 수동 매핑 DLL, 쉘코드**를 휴리스틱으로 식별  

### 8. 인젝션 탐지
- **CreateRemoteThread, APC, NtMapViewOfSection, Reflective DLL** 등 다양한 주입 기법 탐지  
- **스택 프레임 분석(RtlWalkFrameChain)** 으로 비정상 코드 실행 여부 확인  

### 9. 후킹 탐지
- **IAT 후킹**: 가져오기 주소 테이블의 변조 탐지  
- **인라인 후킹**: 함수 시작부의 JMP 명령 비교로 패치 여부 확인  
- **SSDT, IDT, GDT 무결성 검사**로 커널 수준 후킹 방지  
- **직접 syscall 사용 탐지**로 ntdll 우회 시도 차단  

### 10. 드라이버 수준 보호
- **서명되지 않은 드라이버 및 테스트 서명 모드** 감지  
- **BYOVD(취약 드라이버 악용)** 공격 차단을 위한 블록리스트 운영  
- **PiDDBCacheTable, MmUnloadedDrivers, BigPool** 등 커널 내부 구조를 감시해 수동 매핑 드라이버 탐지  

### 11. 안티디버깅 및 분석 방지
- **NtQueryInformationProcess**로 디버거 존재 확인  
- **KdDebuggerEnabled 변수**로 커널 디버거 감지  
- **ThreadHideFromDebugger 플래그**로 숨겨진 스레드 탐지  
- **RDTSC 기반 타이밍 검사**, **하드웨어 브레이크포인트**, **하이퍼바이저 존재 여부**로 분석 환경 차단  

### 12. DMA 기반 치트와 대응
- **PCIe DMA 장치**가 CPU 개입 없이 메모리 읽기 수행  
- **IOMMU**가 DMA 접근을 제한하지만, 비활성화·오구성 시 무력화 가능  
- **FPGA 장치의 합법적 장치 위장**으로 탐지 어려움  
- **Secure Boot, TPM 2.0**을 통한 부팅 무결성 검증으로 일부 완화 가능  

### 13. 행동 기반 탐지와 머신러닝
- **마우스 입력 분석**으로 인간적 움직임과 자동 조준 구분  
- **CNN·Transformer 모델**을 활용한 트리거봇·에임봇 탐지  
- **그래프 신경망**으로 팀 기반 부정행위(벽핵·공모) 탐지  
- **텔레메트리 파이프라인**: 커널 입력 캡처 → 암호화 전송 → 서버 ML 분석 → 밴 결정  

### 14. 가상환경 및 분석 회피
- **CPUID 하이퍼바이저 비트**와 벤더 문자열로 VM 탐지  
- **VMware, VirtualBox, Hyper-V**의 레지스트리·디바이스 흔적 확인  
- **이중 가상화 환경**은 명령 실행 지연으로 식별 가능  

### 15. 하드웨어 식별과 밴 집행
- **SMBIOS, 디스크, GPU, MAC, MachineGuid** 등으로 HWID 생성  
- **HWID 스푸핑**은 레지스트리·드라이버·물리적 조작으로 시도되나,  
  **식별자 불일치나 비정상 포맷**으로 탐지 가능  

### 16. 향후 동향과 기술적 전환
- **DMA 이후 단계는 펌웨어 기반 치트**로, 탐지 난이도 극대화  
- **AI 기반 하드웨어 조준봇**은 인간 입력과 구분 어려움  
- **TPM 기반 원격 인증과 클라우드 게이밍**이 장기적 대안으로 부상  
- **커널 안티치트는 여전히 실질적 최전선**이지만,  
  **하드웨어 신뢰 검증과 서버 측 검증**이 궁극적 방향으로 제시됨

## Comments



### Comment 53077

- Author: neo
- Created: 2026-03-16T09:46:54+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=47382791) 
- 요약하자면, **현대 치트**는 하이퍼바이저나 BIOS 패치, DMA 장치 등을 이용해 안티치트를 우회함  
  하드웨어 수준에서 보호가 강화될수록 치트 제작자도 그만큼 진화함  
  하지만 **AI 기반 플레이 분석**이 등장하면서 치터 자체를 탐지하는 방식이 효과를 보이고 있음  
  결국 미래는 커널 모드가 아닌 **유저 모드 안티치트**와 게임플레이 분석에 있음  
  - BIOS 패칭이 “매우 인기 있다”는 건 과장처럼 들림  
    오히려 그만큼 안티치트가 잘 작동하고 있다는 증거로 보임  
    예전엔 프로그램 하나만 받으면 바로 치트가 가능했지만, 지금은 진입 장벽이 높아져서 시도조차 안 하는 경우가 많음  
    다만 글의 앞부분에서는 이런 방어책이 무력화될 수 있다고 했는데, 그럼 신뢰할 수 없는 것 아닌가 하는 의문이 듦  
  - 나는 **WoW**를 하는데, 블리자드가 무고한 유저를 밴했다는 불만이 많았음  
    나도 두 계정이 밴당했지만 고객지원으로 풀렸음  
    그러나 AI가 지원 업무에 쓰이는 듯해 억울한 밴이 많을 것 같음  
    이런 **행동 기반 밴 시스템**은 헌신적인 유저까지 잘못 제재할 위험이 있어 신뢰가 어려움  
  - 네가 말한 기술들은 공격 비용을 높이는 효과가 있음  
    즉, 아무나 치트를 만들 수 없게 되므로 안티치트는 어느 정도 성공하고 있음  
    다만 **게임플레이 분석**은 노골적인 치터만 잡고 단순 ESP류는 놓칠 가능성이 큼  
  - 행동 분석은 ‘은밀한 치터’를 잡지 못함  
    이런 치터는 커뮤니티를 서서히 망가뜨리기 때문에 더 위험함  
  - **ActiBlizz**는 Bossland나 EngineOwning 같은 유료 치트 개발자들을 상대로 정기적으로 법적 대응을 하는 거의 유일한 회사임  

- 커널을 건드리는 건 OS의 **보안 모델 전체를 무시**하는 행위임  
  실제로 버그 있는 안티치트가 루트 권한을 탈취당한 사례도 있음  
  OS의 샌드박스 기능과 부팅 단계의 신뢰 체계를 활용하는 게 맞음  
  - PC 생태계는 부트 체인 보안을 휴대폰만큼 진지하게 다루지 않음  
    그래서 OS 기능에만 의존하기 어렵고, **attestation**도 현실적으로 적용 범위가 좁음  
    완벽하진 않아도 치터 수를 통계적으로 줄일 수 있다면 의미가 있음  
  - 진짜 보안은 클라이언트를 잠그는 게 아니라 **서버에서 허용된 행동만 검증**하는 것임  
  - 혹시 “검증된 소프트웨어만 설치 가능한 잠긴 PC를 팔자는 말이냐”는 의문이 듦  
  - “공격자가 들어온 뒤 피해를 줄이는 건 의미 없다”는 주장은 **사이버보안 전반**에서는 사실이 아님  
  - 모두가 원하는 소프트웨어를 실행할 자유를 잃으면서까지 치트를 막자는 건 과도함  

- **선택적 안티치트 매칭 시스템**이 있는 게임을 보고 싶음  
  안티치트를 켠 사람들끼리만 매칭되고, 끈 사람들은 커뮤니티 자율 규제로 운영되는 구조임  
  이런 실험은 **Valve** 정도 규모의 회사만 가능할 듯함  
  - Valve의 **CS2**가 비슷한 방식을 쓰지만, **Valorant**보다 치트율이 높다고 들음  
  - 이미 **FACEIT**이 그런 역할을 함  
    하지만 커뮤니티 자율 규제는 대규모로는 절대 효율적이지 않음  
  - “그거 **PlaySafe ID** 아니냐”는 반응도 있었음  
  - 나도 이런 아이디어에 찬성함  
    개인적으로는 치터가 있으면 그냥 게임을 끄고 **밖에 나가서 바람 쐬는 게 낫다**고 생각함  
    커널 수준의 ‘멀웨어 같은’ 안티치트를 설치하느니 차라리 콘솔에서 노는 게 낫다고 봄  

- 치터는 본질적으로 **비정상적 행동 패턴**을 보이므로, 서버에서 모든 입력을 기록하고 **머신러닝 기반 이상 탐지**를 적용하면 잡을 수 있음  
  또한 ‘허니팟’ 오브젝트를 만들어 치터만 반응하도록 유도하는 방법도 있음  
  - 하지만 통계적 이상치만으로 치터를 단정할 수 없음  
    **p-hacking**처럼 우연한 변동을 의미 있는 신호로 착각할 수 있음  
  - 나도 **통계적 허니팟 모델**을 오래 주장해왔음  
    실제로 **Dota 2**는 클라이언트 내부의 비정상 데이터 영역을 읽은 계정을 모두 밴했음  
    [관련 패치 공지](https://www.dota2.com/newsentry/3677788723152833273)  
  - 그러나 **Valve**도 ML 모델을 써왔지만, 여전히 **Counter-Strike**엔 치터가 많음  
    단순히 ML을 던져놓는다고 해결되는 문제가 아님  
  - 허니팟은 유용하지만 충분하지 않음  
    **행동 분석**은 커뮤니티의 변화 속도를 따라가기 어려움  
  - **CS2**에서는 ‘time-to-damage’ 통계만으로도 많은 치터를 구분할 수 있음  
    치터는 보통 프로보다 100ms 정도 더 빠르게 반응함  

- 나는 게이머는 아니지만, 온라인 게임의 **치트 방지 문제**는 기술적으로 흥미로운 난제라고 생각함  
  단순히 “모든 걸 서버에서 처리하라”는 조언은 현실성이 없음  
  - 치트 방지는 사실상 불가능함  
    게임은 **올림픽이 아니라 동네 리그** 같은 것이라, 완벽한 공정성보다 재미가 중요함  
    치터끼리 매칭되게 하면 일반 유저는 영향이 줄어듦  
  - 가장 효과적인 방법은 **능동적인 서버 관리자**가 직접 관찰하고 밴하는 것임  
    하지만 대형 게임사는 이런 인력을 두지 않음  
  - 기술적으로는 치터가 게임이 돌아가는 **기계를 통제**하기 때문에 항상 우위에 있음  
    안티치트는 단지 진입 장벽을 높이는 역할임  
  - **Netflix**처럼 ISP 근처에 서버를 두는 분산 구조도 가능할 듯함  
  - 근본적인 해결책은 **문화적 인식 변화**임  
    온라인에서 치트하는 사람을 ‘루저’로 보는 분위기가 필요함  

- **커널 수준 안티치트**는 클라이언트를 최대한 잠그는 방식이지만, 여전히 치터는 존재함  
  결국 서버가 클라이언트를 완전히 신뢰할 수 없다는 뜻임  
  - 이건 단순히 비용 문제가 아니라 **지연(latency)** 과 시점 차이의 문제임  
    네트워크 코드로도 완전히 해결할 수 없음  
  - 의욕적인 치터라면 **카메라와 별도 컴퓨터**로 입력을 자동화할 수도 있음  

- 요즘의 경쟁 게임 문화는 기업이 유저를 친구 대신 **낯선 사람과 경쟁하게 만드는 구조**임  
  하지만 굳이 그렇게까지 해야 하나 싶음  
  - 그래도 많은 사람은 **경쟁 자체를 즐김**  
    스포츠나 체스처럼 실력을 겨루는 건 인간의 본능적인 욕구임  

- 커널 안티치트가 “가장 정교한 소프트웨어”라는 표현은 과장처럼 들림  
  시스템 콜을 가로채는 건 특별한 기술이 아님  
  - “프로그래머 대부분이 평생 만져보지 못한 메모리 구조를 스캔한다”는 말은 좀 웃김  

- 경쟁 게임을 안 해본 사람들이 많아 보임  
  **Kernel-level anti-cheat(KLAC)** 은 실제로 효과가 있음  
  **VAC/VACNet** 기반보다 **FACEIT**이나 **Vanguard** 같은 커널형이 훨씬 치트율이 낮음  
  물론 완벽하진 않지만 **진입 장벽**을 크게 높임  
  DMA 장치만 해도 수백 달러가 들고, 고급 치트는 구독형으로 비쌈  
  게임은 선택이므로 KLAC이 싫다면 안 하면 됨  
  하지만 그걸 거부하면 **치터가 판치는 환경**을 감수해야 함  

- **TPM 기반 부팅 측정**과 **UEFI Secure Boot**로 원격 인증이 가능하다고 들었는데, 공격자가 이를 조작할 수도 있다는 게 놀라움  
  - 예시로 [tee.fail](https://tee.fail/)을 보면, 원격 인증을 무력화하는 방법이 설명되어 있음  
    우리는 **기기 소유권을 완전히 보장받으면서도 차별받지 않을 자유**를 가져야 함  
  - 마더보드와 TPM 칩 간 통신이 암호화되어 있지 않아 **MITM 공격**으로 값을 바꿀 수 있음
