보안 및 안티치트
HandyCafe에는 운영자용 안티치트 및 클라이언트 보안 시스템이 포함되어 있습니다. 이 시스템은 두 부분으로 구성됩니다. 탐지 내역을 모니터링하고 차단을 관리하는 보안 패널, 그리고 클라이언트 PC에서 어떤 보호 기능을 실행할지 구성하는 보안 설정 페이지입니다. 이 시스템으로 클라이언트 프로세스를 강화하고, 치트 도구와 디버거를 탐지하며, 하드웨어 지문으로 기기를 차단하고, 연결된 Steam 계정의 VAC 차단 여부를 확인할 수 있습니다.
보안 패널
보안 패널은 세 개의 탭으로 구성됩니다. 변조 이벤트, HWID 블랙리스트, Steam VAC입니다. 패널 상단의 탭을 클릭하여 전환합니다.
변조 이벤트
변조 이벤트 탭은 클라이언트 PC가 보고한 안티치트 탐지 기록을 보여줍니다. 각 행에는 시간, 컴퓨터(친숙한 이름과 그 아래 표시되는 MAC 주소), 이벤트 카테고리, 심각도, 탐지된 내용을 평이한 언어로 설명한 설명이 표시됩니다.
상단의 필터 행을 사용하여 목록을 좁힙니다. 날짜를 선택할 수 있고(기본값은 오늘이며 날짜를 변경하면 다시 불러옵니다), 카테고리를 선택하고, 심각도(위험, 경고, 정보)를 선택하며, 컴퓨터 또는 MAC으로 검색 상자에 입력할 수 있습니다. 새로 고침 버튼은 이벤트를 다시 불러옵니다. 필터 옆의 카운터는 불러온 전체 이벤트 중 현재 필터 조건에 일치하는 개수를 보여줍니다.
이벤트 카테고리에는 프로세스 스캔, 창 스캔, 드라이버 스캔, 디버거, 메모리 편집기, 인젝터, 게임 치트, 바이너리 무결성, 코드 서명, DNS 감시, 시간 변조가 포함됩니다. 선택한 날짜에 탐지 내역이 없으면 패널에 해당 날짜에 변조 이벤트가 없습니다라고 표시됩니다.
HWID 블랙리스트
HWID 블랙리스트 탭은 하드웨어 지문(HWID 해시)으로 차단된 기기를 나열합니다. 표에는 HWID 해시, 샘플 MAC, 사유, 메모, 시간이 표시됩니다. 상단의 카운터는 차단 건수를 보여줍니다.
기기를 차단하려면 HWID 차단 추가를 클릭합니다. 대화 상자에 MAC(AA:BB:CC:DD:EE:FF 형식), 필수 항목인 사유, 선택 항목인 메모를 입력한 후 차단 추가를 클릭합니다. 서버는 MAC을 기기 지문으로 변환하여 차단을 기록합니다. 저장하지 않고 대화 상자를 닫으려면 취소를 사용합니다.
차단을 해제하려면 해당 행의 제거 동작(차단 해제)을 사용합니다. 새로 고침 버튼은 목록을 다시 불러옵니다. 차단 건이 없으면 표에 HWID 차단이 없습니다라고 표시됩니다.
Steam VAC
Steam VAC 탭은 Steam Web API를 사용하여 연결된 회원 Steam 계정의 VAC 차단 여부를 확인합니다.
Steam Web API 키 필드에 키를 입력하고 저장을 클릭합니다. 안내 문구는 다음과 같습니다. VAC 차단 조회에 필요합니다. steamcommunity.com/dev/apikey에서 키를 발급받으세요.
VAC 스윕 아래의 지금 검사 버튼은 수동 스윕을 실행합니다. 이 스윕은 연결된 모든 회원의 Steam 계정에서 VAC 차단 여부를 확인하며 매일 자동으로 실행됩니다. 지금 검사 버튼은 Steam Web API 키가 저장되기 전까지 비활성화됩니다. 상태 텍스트에는 마지막 스윕 시간이 표시되며, 스윕이 한 번도 실행되지 않았으면 아직 스윕한 적 없음으로 표시됩니다.
클라이언트 보안 구성
클라이언트 보안 설정 페이지는 각 클라이언트 PC가 적용할 보호 기능을 제어합니다. 이 페이지는 프로세스 강화와 변조 모니터로 나뉩니다.
클라이언트 보안 보호 활성화 마스터 스위치로 전체 시스템을 켜거나 끌 수 있습니다. 이 스위치를 끄면 클라이언트는 프로세스 강화를 적용하지 않으며 변조 모니터 검사를 실행하지 않습니다. 스위치 아래의 배너는 HandyCafe Client, Server, Watchdog 바이너리가 항상 화이트리스트에 등록되어 있어 보호 기능이 절대 이들을 탐지하지 않음을 알려 줍니다. 세부 섹션은 마스터 스위치가 켜져 있을 때만 나타납니다.
이 페이지는 설정 하위 페이지입니다. 변경 사항은 섹션 내부의 별도 버튼이 아니라 페이지 수준의 저장 버튼으로 적용됩니다.
프로세스 강화
프로세스 강화는 클라이언트 시작 시 프로세스 자체 강화 정책을 적용합니다. 각 토글에는 위험도 배지(낮은 위험, 중간 위험, 높은 위험)와 동작을 설명하는 툴팁이 표시됩니다. 사용 가능한 옵션:
- 메모리 보호(DACL): 자체 프로세스의 DACL을 교체하여 비관리자 토큰이 읽기, 쓰기, 스레드 접근 권한을 잃도록 합니다. 표준 Cheat Engine 연결을 차단합니다.
- DEP 영구 적용: 데이터 실행 방지(DEP)를 영구적으로 유지하여 스택과 힙이 실행 불가능 상태로 남게 합니다.
- 동적 코드 금지(높은 위험): JIT 및 실행 가능 메모리 할당을 차단합니다. 일부 시스템에서 GPU 드라이버의 셰이더 JIT가 작동하지 않을 수 있고, 화면 캡처와 원격 제어가 실패할 수 있습니다.
- AppLocker/WDAC 서명 정책(중간 위험): 프로세스를 기존 AppLocker 또는 WDAC 바이너리 서명 규칙에 적용합니다.
- DLL 로드 필터(중간 위험): 원격 이미지 DLL 로드를 차단하고, System32를 우선하며, 낮은 무결성 이미지를 차단합니다. 일부 벤더 오버레이가 작동하지 않을 수 있습니다.
- AppInit_DLLs / IME 차단: AppInit_DLLs, IME, Winsock LSP 주입 경로를 차단합니다.
- 엄격한 핸들 검사(높은 위험): 잘못된 핸들 사용 시 오류를 발생시킵니다. 타사 라이브러리의 핸들 관리 버그가 있으면 프로세스가 충돌합니다.
- Linux: ptrace 차단: Linux에서 비루트 사용자의 ptrace 및 디버거 연결을 방지합니다.
- macOS: 디버거 연결 거부: macOS에서 이후 모든 디버거 연결을 거부합니다.
변조 모니터
변조 모니터는 무작위 간격으로 치트 도구, 디버거, 인젝터를 검사하는 백그라운드 검사를 실행합니다. 탐지 결과는 변조 이벤트 탭에 나타납니다. 사용 가능한 검사:
- Cheat Engine / 메모리 편집기 탐지: Cheat Engine, ArtMoney, MHS, ReClass 및 유사한 값 스캐너 프로세스를 검사합니다.
- 디버거 / 리버스 엔지니어링 도구 탐지(x64dbg, IDA, Ghidra): 리버스 엔지니어링 도구를 탐지합니다.
- 코드 인젝터 탐지(Process Hacker, Scylla): Process Hacker, Scylla, kdmapper 같은 코드 인젝터를 탐지합니다.
- 게임 치트 브랜드 탐지(neverlose, aimware 등): 알려진 상용 게임 치트 프로세스 이름과 일치하는지 확인하고 해당 도메인에 대한 DNS 조회를 수행합니다.
- 의심스러운 드라이버 스캔: 취약한 드라이버 악용을 탐지합니다. 참고: RTCore64는 MSI Afterburner에서도 사용되므로 오탐이 발생할 수 있습니다.
- 안티디버그 검사: 일반적인 디버거 존재 API와 하드웨어 중단점을 확인합니다.
- 실행 파일 무결성 검사(SHA-256): 스윕마다 자체 실행 파일을 해싱하여 디스크상의 패치를 탐지합니다.
- 서명 검증(WinVerifyTrust): Authenticode 서명을 검증합니다. 서명되지 않은 베타 빌드에서는 이 기능을 꺼 두세요.
- DNS 쿼리 모니터링(치트 도메인 블랙리스트): DNS 캐시를 분석하여 알려진 치트 벤더 도메인을 찾습니다.
- 창 제목 스캔: 창 제목을 검사하여 이름 기반 탐지를 회피하려고 바이너리 이름을 변경한 치트 프로세스를 잡아냅니다.
검사 간격
최소 검사 간격(초) 및 최대 검사 간격(초) 필드는 변조 모니터 검사가 실행되는 빈도를 제어합니다. 클라이언트는 각 스윕마다 이 두 값 사이에서 무작위 간격을 선택합니다. 허용 범위는 30초에서 3600초이며, 최솟값은 최댓값보다 작거나 같아야 합니다. 값이 유효하지 않으면 페이지에 다음 메시지가 표시됩니다. 최소 간격은 최대 간격보다 작거나 같아야 합니다. 값을 수정할 때까지 저장이 차단됩니다.