개요
VACnet은 밸브 코퍼레이션이 개발한 딥 러닝 기반 치트 탐지 시스템으로, 카운터-스트라이크: 글로벌 오펜시브(Counter-Strike: Global Offensive, CS:GO)에 도입되었다. 기존 밸브 안티 치트(Valve Anti-Cheat, VAC)가 시그니처 스캐닝과 클라이언트 챌린지 방식에 의존했다면, VACnet은 머신 러닝 모델을 활용해 플레이어의 게임 내 행동 패턴을 분석하고 치트 사용 가능성이 높은 계정을 자동으로 선별한다. 이 시스템은 2018년 3월 게임 개발자 컨퍼런스(Game Developers Conference, GDC)에서 밸브에 의해 공식적으로 공개되었으며, 오버워치(Overwatch) 시스템과 연계되어 의심스러운 플레이어를 사람 심사관에게 넘기는 역할을 수행한다.[1][2]
역사
배경과 필요성
밸브는 2001년 이븐 밸런스(Even Balance Inc.)의 펑크버스터(PunkBuster) 지원이 중단되고, 밸브 자체적으로 치트 대응의 장기적 해결책이 필요하다고 판단해 2002년 카운터-스트라이크와 함께 VAC을 처음 출시했다. 초기 VAC은 24시간 정지에서 시작해 1년, 5년 정지를 거쳐 2005년 VAC2 도입과 함께 영구 정지 체계로 전환되었다. 이후 시그니처 기반 탐지와 메모리 스캔, DNS 캐시 확인 등 다양한 보조 수단이 추가되었으나, LMAOBOX 같은 인기 치트 프로그램이 2016년 5월까지 탐지되지 않는 등 시그니처 기반 접근의 한계가 드러났다.[2]
머신 러닝 접근의 도입
2017년 2월, 밸브는 카운터-스트라이크: 글로벌 오펜시브에 머신 러닝 기반 치트 탐지 방식을 도입할 계획임을 발표했고, 초기 버전이 이미 배치되어 의심스러운 플레이어를 오버워치 시스템으로 자동 회부하고 있다고 밝혔다. 오버워치는 숙련된 플레이어들이 리플레이를 검토해 치트 여부를 판단하는 커뮤니티 기반 심사 제도다. 이 머신 러닝 시스템은 2018년 3월 GDC 강연에서 'VACnet'이라는 이름으로 공식 공개되었다.[2]
이후 사건들
2023년 10월, AMD 그래픽 카드 드라이버 업데이트로 추가된 '안티랙+(Anti-Lag+)' 기능이 특정 DLL 함수를 후킹(detouring)하는 방식으로 동작해 VACnet에 의해 치트로 오탐지되어 다수의 카운터-스트라이크 2 플레이어가 정지당하는 사건이 발생했다. AMD는 해당 드라이버를 철회했고 밸브는 피해 계정의 정지를 해제하겠다고 밝혔다. 같은 달, 윈도우 7 환경에서 플레이한 계정들이 대량으로 정지되었다가 철회되는 일도 있었으며, 지나치게 높은 마우스 DPI 설정을 이유로 정지가 발급되는 사례도 보고되었다.[2]
기능과 사용법 개요
무엇을 탐지하는가
VACnet은 플레이어의 조준 패턴, 이동, 반응 속도, 벽 너머 적 위치 인지 여부 등 게임 플레이 데이터 전반을 딥 러닝 모델로 분석해 에임봇(aimbot), 월핵(wallhack), 트리거봇(triggerbot) 등 다양한 치트 유형의 사용 가능성을 확률적으로 산출한다. 시그니처 스캐닝처럼 알려진 치트 바이너리를 찾는 것이 아니라, 치트 사용자가 보이는 통계적 이상치를 학습해 미지의 치트나 변종 치트에도 대응할 수 있도록 설계되었다.[1][2]
오버워치 연계
VACnet이 치트 사용 확률이 높다고 판단한 계정은 자동으로 오버워치 케이스로 생성되어 자격을 갖춘 커뮤니티 심사관들에게 배정된다. 심사관은 리플레이를 보며 치트 여부를 투표하고, 충분한 합의가 모이면 해당 계정은 VAC 영구 정지 처분을 받는다. 이 방식은 완전 자동화된 정지의 오탐 위험을 줄이면서도, 사람이 모든 경기를 검토할 수 없는 규모 문제를 머신 러닝으로 1차 필터링해 해결하려는 의도다.[2]
대상 사용자 및 적용 범위
VACnet은 카운터-스트라이크: 글로벌 오펜시브의 경쟁전(Competitive) 및 일반 매치메이킹 매치에 적용되며, 밸브 공식 매치메이킹 서버에서 수집된 데이터를 학습 및 추론에 사용한다. 서드파티 플랫폼(예: FACEIT, ESEA)이나 커뮤니티 서버에서는 별도의 안티 치트 시스템이 병행되어 VACnet의 직접적 영향권 밖에 있다. 일반 플레이어는 별도의 설정이나 조작 없이 매치메이킹을 플레이하는 것만으로 VACnet의 분석 대상이 된다.[2]
생태계·커뮤니티
오버워치 심사관 커뮤니티
VACnet의 실질적 운영 파트너는 오버워치 심사관들이다. 심사관 자격은 경쟁전 랭크, 계정 연령, 신고 이력, 플레이 시간 등 여러 기준을 충족한 플레이어에게 부여된다. 이들은 VACnet이 선별한 의심 사례를 검토함으로써 시스템의 정밀도(precision)를 보완하고, 새로운 치트 패턴이 등장했을 때 사람 눈으로는 식별되지만 모델이 놓치는 케이스를 피드백하는 역할을 한다. 밸브는 심사관들의 판단을 모델 재학습 데이터로 활용하는 것으로 알려져 있다.[2]
치트 개발자와의 군비 경쟁
VACnet 도입 후 치트 개발 커뮤니티는 '머신 러닝 회피'를 목표로 한 치트 설계를 시도하고 있다. 예를 들어, 사람의 조준 패턴을 모방한 '레이지트(lazy aim)'나 '레지트봇(legitbot)' 설정이 유행했으며, 추론 시간을 늘리거나 노이즈를 추가해 모델의 신뢰도를 낮추려는 시도가 공유된다. 밸브는 모델 구조와 학습 데이터, 특징 벡터(feature vector) 구성 등을 비공개로 유지하며, 모델 업데이트를 빈번히 수행해 회피 시도를 무력화하려 한다. 이는 전통적인 시그니처 기반 VAC이 '작은 조각만 노출해 해커가 전체를 파악 못 하게 한다'는 존 쿡(John Cook)의 설계 철학과 맥을 같이 한다.[2]
커뮤니티 반응과 논의
레딧(Reddit), HLTV, 스팀 커뮤니티 허브 등에서는 VACnet의 판정 정확도, 오탐 사례, 오버워치 심사관의 주관성, 치트 유행 주기와의 관계 등이 지속적으로 논의된다. 2018년 GDC 공개 당시에는 '드디어 밸브가 AI를 쓴다'는 기대와 '오버워시에 떠넘기기 아니냐'는 회의가 공존했다. 2023년 AMD 안티랙+ 오탐 사건 이후로는 '커널 레벨 안티 치트가 아닌 클라이언트 사이드 행동 분석만으로 충분한가'에 대한 기술적 논의도 이어졌다.[2]
사용 사례·작품
카운터-스트라이크: 글로벌 오펜시브 (CS:GO)
VACnet이 최초로 적용된 타이틀이다. 2017년 2월 초기 배치, 2018년 3월 GDC 공식 공개 후 지속적으로 모델이 갱신되었다. 경쟁전 매치메이킹 전 경기가 분석 대상이며, 오버워치 시스템과 결합해 수만 건의 정지 처분을 이끌어냈다. 밸브는 구체적인 정지 통계나 모델 성능 지표(정밀도, 재현율 등)를 공개하지 않는다.[2]
카운터-스트라이크 2 (Counter-Strike 2)
2023년 출시된 카운터-스트라이크 2(Source 2 엔진)로의 전환 과정에서도 VACnet은 유지·확장되었다. 서브틱(Sub-tick) 아키텍처 변경으로 인해 입력 데이터의 시간 해상도가 달라진 점을 모델이 적응해야 했으며, 2023년 10월 AMD 안티랙+ 오탐, 윈도우 7 오탐, 마우스 DPI 오탐 등 신규 엔진 환경에서 발생한 여러 오탐 사례가 보고되었다. 밸브는 이들 오탐을 신속히 인정하고 정지 해제를 진행했다.[2]
평가
긍정적 평가
시그니처 기반 VAC의 근본적 한계(알려진 치트만 탐지, 변종·신종 치트 무력)를 행동 기반 딥 러닝으로 보완했다.
오버워치 커뮤니티 심사 제도와 결합해 완전 자동화 정지의 오탐 위험을 줄이면서도 처리량을 확보했다.
치트 개발자가 모델을 리버스 엔지니어링하기 어렵게 모델 구조와 특징을 비공개로 유지하고 빈번히 업데이트한다.
커널 레벨 드라이버 설치 없이 유저 모드 데이터만으로도 상당한 탐지력을 보인다는 점에서, 라이엇 뱅가드(Riot Vanguard)나 배틀아이(BattlEye) 같은 커널 안티 치트와 다른 설계 철학을 보여준다.[2]
비판과 한계
밸브가 정지 통계, 모델 성능 지표, 오탐률(false positive rate) 등을 전혀 공개하지 않아 외부 검증이 불가능하다.
오버워시 심사관의 주관적 판단에 의존하는 2단계 구조상, 심사관 피로도, 편향, 인원 부족 등으로 처리 지연이 발생할 수 있다.
'레지트봇'류 치트처럼 사람과 구별하기 어려운 미세한 보정 치트는 탐지율이 낮다는 커뮤니티 평가가 지속된다.
2023년 10월 연이은 오탐 사건(AMD 안티랙+, 윈도우 7, 마우스 DPI)은 모델이 정상적인 시스템·하드웨어 동작을 치트 행위로 오분류할 수 있음을 보여줬다.
커널 레벨 안티 치트가 메모리 무결성 검사, 드라이버 서명 강제, 하드웨어 가상화 기반 격리 등 더 강력한 무결성 보장을 제공하는 현 시점에서, 유저 모드 행동 분석만으로는 한계가 있다는 지적도 존재한다.[2]
사회적 영향
VACnet을 통한 정지 역시 기존 VAC 정지와 동일하게 스팀 프로필에 '정지 기록 있음(ban(s) on record)' 표식이 공개되며, 가계정 공유(Family Sharing) 제한, 스팀 번역 서버 참여 금지, 환불 불가, 주요 e스포츠 대회 출전 자격 박탈 등 제약이 따른다. 2020년 엘리아스 '잼피(Jamppi)' 올코넨(Elias "Jamppi" Olkkonen)이 미성년자 시절 계정 매도 후 구매자가 받은 VAC 정지로 인해 메이저 대회 출전이 영구 금지되자 밸브를 상대로 소송을 제기한 사례는, VACnet 정지도 동일한 정책 적용을 받음을 보여준다.[2]
이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.