커널 안티치트의 작동 방식

GeekNews (AI) | | 🔬 연구
#battleye #review #보안 소프트웨어 #시스템 감시 #커널 드라이버 #커널 안티치트
원문 출처: GeekNews (AI) · Genesis Park에서 요약 및 분석

요약

현대의 커널 기반 안티치트 시스템은 Windows 환경에서 가장 복잡한 보안 소프트웨어 중 하나로, 게임 실행 중에도 커널 수준에서 메모리와 시스템 이벤트를 감시함 유저모드 보호의 한계를 극복하기 위해 커널 드라이버를 활용하며, 프로세스·스레드 생성, 이미지...

본문

- 현대의 커널 기반 안티치트 시스템은 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 기반 원격 인증과 클라우드 게이밍이 장기적 대안으로 부상 - 커널 안티치트는 여전히 실질적 최전선이지만, 하드웨어 신뢰 검증과 서버 측 검증이 궁극적 방향으로 제시됨

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →