프로그래밍/해킹/보안
안티치트 솔루션 개발에 필요한 기능 정리
내일 더 성장하고 싶은 개발자
2025. 3. 27. 13:27
반응형
디버깅 탐지 및 방지
세부 기능 | 설명 |
IsDebuggerPresent CheckRemoteDebuggerPresent |
유저모드 API 감지 |
NtQueryInformationProcess 이용한 감지 | ProcessDebugPort, DebugFlags 등 |
커널 모드 디버거 감지 | KdDebuggerEnabled, DbgkDebugObjectHandle 등 확인 |
드라이버 레벨 방어 | ObRegisterCallbacks로 디버거 프로세스 차단 |
무결성 검사
세부 기능 | 설명 |
게임 실행 파일 메모리 무결성 검사 |
CRC/HASH 비교 |
커널 영역의 SSDT, IAT 후킹 여부 검사 | 시스템 함수 무결성 검사 |
DLL 인젝션 감지 | LoadImageNotifyRoutine + 모듈 리스트 체크 |
메모리 조작 감지
세부 기능 | 설명 |
WPM(WriteProcessMemory) 사용 여부 | API 후킹 또는 커널에서 감지 |
VirtualProtect로 메모리 권한 변경 감지 | RWX 페이지 생성 여부 확인 |
페이지 폴트 트랩 기술 탐지 | GuardPage, Hook 감지 |
핸들 보호 및 접근 제어
세부 기능 | 설명 |
ObRegisterCallback 사용 | OpenProcess, OpenThread 차단 |
커널에서 Handle 권한 강제 낮춤 | OB_PREOP_CALLBACK_STATUS 활용 |
인젝션 탐지 및 차단
기법 | 설명 |
Manual Mapping 감지 | VAD 체크, PE 시그니처 검사 |
Reflective DLL | 메모리 상 PE 검사, EntryPoint 추적 |
APC Injection, Process Hollowing 탐지 | 실행 흐름 변경 여부 확인 |
커널모드 탐지
세부 기능 | 설명 |
서명되지 않은 드라이버 탐지 | PsSetLoadImageNotifyRoutine + MmGetSystemRoutineAddress |
취약 드라이버 악용 여부 탐지 | capcom.sys, asUpIO.sys 등 |
커널 메모리 스캔 | 코드/데이터 영역 Hook 여부 확인 |
하드웨어/환경 탐지
항목 | 설명 |
VM 환경 탐지 | QEMU/VIRTUAL BOX/ VMware 탐지 |
디버깅 툴 탐지 | Chat Engine, x64dbg, WinDbg 등 실행 여부 탐지 |
Hooking Tool 탐지 | EasyHook, Frida, Detours 등 라이브러리 로드 여부 검사 |
실시간 보호 & 통신
기능 | 설명 |
커널 드라이버로 실시간 보호 | 유저모드 접근 차단, Handle 차단 |
클라이언트-서버 통신 | 치트 감지 시 로그 전송, 차단 처리 |
HWID 기반 인증 / 정지 | 핵 사용자의 하드웨어 식별 및 정지 기능 |
위 기능이 다 구현되었을 경우 기술 스택
유저 모드 | C++/WinAPI, 디버깅 탐지, 무결성 검사, 후킹 |
커널 모드 | WDM / KMDF, 드라이버 개발, ObRegisterCallbacks, PsSetLoadImageNotifyRoutine |
분석 도구 | x64dbg, IDA, Cheat Engine, WinDbg |
보호 도구 | Driver Signature Enforcement, PatchGuard 고려 등 |
보안 로깅 | JSON 기반 로그 파일 생성, 서버 업로드 (ex: REST API) |
전반적인 프로젝트 구성
[안티치트 솔루션 - AntiCheatX]
├── 유저모드 감시 프로그램
│ ├── 디버깅 탐지
│ ├── 무결성 검사
│ └── 메모리 접근 감지
├── 커널 드라이버
│ ├── 핸들 접근 차단
│ ├── DLL 로드 감지
│ └── 드라이버 감시
├── 서버
│ ├── 로그 전송 및 저장
│ └── HWID 정지 목록 관리
└── 관리자 뷰어
├── 감지 로그 보기
└── 사용자 제재
반응형