1. 개요
Valve Anti-Cheat. 줄여서 대부분 VAC이라고 부른다. 밸브 코퍼레이션이 개발 및 서비스하는 핵, 치트 방지 소프트웨어. 2002년에 카운터 스트라이크에 적용되며 처음 선보였다.서비스 이름은 상술한 '밸브 안티 치트' 및 'VAC'로 알리고 있으며, VAC가 적용된 게임들의 클라이언트 내부에서는 'VAC2'로 표기되고 있다.
2. 설명
Steamworks를 기반으로 하는 멀티플레이 게임들은 이 솔루션을 적용할 수 있는데, 일반인들에게도 SDK가 공개되어 아마추어 개발자들도 사용할 수 있다. 밸브가 개발하고 운영하는 만큼 기본에 충실하고 차단 시 제재 효과도 확실하다고 할 수 있으나, 그만큼 역사도 오래됐고 수많은 게임들이 사용하는 흔한 안티치트인 만큼 버전이 업데이트되어도 곧바로 대응하는 크래킹이 나오는 등 취약점도 두루 알려진 편이다. 따라서 대부분의 게임사들은 VAC에 더해 별도의 안티치트를 적용하는 이중 설계를 취하고 있다.기본적으로 밸브의 모든 멀티플레이 게임에 이를 적용하고 있다. 영세 개발사부터 대기업 개발사까지 nProtect나 펑크버스터 같은 별도의 비용을 지불해야 하거나 미덥지 못한 프로그램이 아닌 밸브가 자사의 게임들을 위해서라도 재깍재깍 업데이트를 해주는 VAC를 '무료로' 사용할 수 있으니 꽤 많이들 사용하는 편이다.
VAC는 차단될 경우 스팀 프로필에 공개적으로 빨간 글씨[1]로 낙인이 찍히며, 차단은 영구적이라 절대 해제되지 않는다. 밸브는 VAC 해제 관련 문의는 받지 않는다고 명시하고 있으며, 오작동이면 알아서 해제된다고 주장하고 있다. 어떤 경위로 차단되었는지, 어떤 기록을 보고 차단했는지, 그리고 언제를 기점으로 차단이 결정되었는지도 절대로 알 수 없기에 유저 스스로 원인을 파악해야 된다.[2]
게임 데이터 파일의 변조 역시 잡아낸다는 특성[3] 때문에 VAC가 적용된 게임의 온라인 컨텐츠에서는 절대로 커스텀 모드를 쓰거나 게임의 리소스를 변경해서는 안된다.[4] 그러나 싱글플레이어와 같이 VAC가 적용되지 않는 컨텐츠는 안전하다.
MOD 지원이 활발한 소스 엔진으로 만들어진 게임을 할 때는 특히 주의해야 하는데, 아무 모드나 받았다간 영문도 모르고 차단이 될 가능성이 매우 높으므로 모드는 여러 사람이 플레이 해왔던, 검증되고 안전한 모드만 소수 사용하는 것이 좋다. 가장 확실한 방법은 소스 엔진 계열 게임엔 아무런 모드 적용 없이 순정 상태로 플레이를 하는 것이다. 안전한 모드라도 다수를 깔면 충돌이 일어나거나 최악의 경우 파일 변조로 간주되어 차단될 수 있다. 그리고 플러그인이 존재하는 커뮤니티 서버는 무조건 피하고 공식 서버에서만 플레이해야 한다.
그리고 VAC 지원 게임을 플레이 시 VAC가 적용되지 않은 사설 서버는 절대로 들어가면 안된다. 해당 서버에 핵이 포함된 플러그인 기능이 플레이어 본인도 모르게 컴퓨터에 설치될 수 있고, 이 상태에서 VAC가 적용되는 공식 서버 및 사설 서버에 접속할 경우 핵 사용자로 판단되어 VAC 차단이 된다. 본인이 핵 사용이나 파일 변조, 기타 불법 프로그램을 사용하지 않았고, 계정이 해킹된 적도 없는데 VAC 차단을 당했다면 대부분 이 경우를 의심해봐야 된다. 이 또한 본인의 부주의라며 답변을 거부하므로 VAC 마크가 없는 커뮤니티 서버에 접속하는 것은 계정에 대한 자살 행위다. 특히 이 '핵으로 간주되는 플러그인'을 재수없게 받아버렸을 때가 제일 골때리는 케이스다. 왜, 언제 차단되었는지 알리지 않는 VAC 차단의 특성상 유저가 원인을 절대 파악할 수 없기 때문이다. 적어도 핵 사용자들은 본인이 핵을 쓰다가 걸렸다는 사실을 인지라도 할 수 있는 반면에, 플러그인으로 차단된 경우엔 유저가 영문도 모른 채 당했다고 생각할 수 밖에 없다. 더군다나 언제를 기점으로 차단이 결정되었는지도 모른다는 것은 차단이 적용되는 시점이 들쭉날쭉하다는 뜻인데[5], 감지된 시점에 즉각적으로 차단이 적용되지 않는다는 것은 핵쟁이들에겐 오히려 서버에서 날뛰며 타 유저들에게 불쾌감을 주는 시간만 더 벌어다 주는 꼴이고 플러그인으로 차단된 사용자들에게는 자기가 무엇 때문에 언제 차단될지 모른다는 공포감만 유발하기 때문에 결국 포맷이나 심하면 컴퓨터 하드웨어 교체로 이어지게 된다.
VAC 밴은 게임 자체를 금지하는 것이 아니고 차단된 게임의 VAC 적용 서버에 대한 접속만을 차단하는 것이기에 일단 게임은 정상적으로 구동된다. 다만 VAC 적용 게임의 서버는 절대다수가 VAC를 적용하고 있으므로 게임이 영영 불구가 되는 것이라고 봐야된다.
그리고 특정 게임에서 VAC 차단을 당한다고 해서 해당 플레이어의 스팀 계정에 있는 모든 게임에 VAC 차단이 적용되는 것은 아니고 차단 게임에만 적용된다.[6] 원래는 소스게임의 VAC적용을 개별로 했으나 스팀파이프 패치이후 게임 하나하나 소스엔진 SDK가 별도로 걸리던걸 하나의 소스엔진 버전으로 통합시켜 공유하게 되어서 그렇다.
2019년 기준 약 1500만 개의 스팀 계정이 VAC 차단 상태다. VAC 추방 상태의 스팀 계정은 언제나 현재진행형으로 증가하고 있다.
2.1. 작동 원리
VAC는 사용자의 게임과 백그라운드 프로그램을 감시하며, 만약 다른 .exe나 .dll 같은 파일을 감지하면 의심 데이터베이스에 보내고, 개발자가 그 파일과 코드들을 리버스 엔지니어링으로 분석하면서, 해당 파일과 코드가 핵이라고 판단되면 데이터베이스에 해당 파일이 핵이라고 기록을 저장하고, 그 이후 플레이어가 그 파일을 실행하면 VAC에 걸리는 구조이다.VAC는 기본적으로 메모리 안에 상주하는 핵 프로그램들을 감지하며, 게임의 실행 파일을 변조하는 것 역시 감지해 낸다. VAC에 적발된 스팀 계정은 그 즉시 차단당하지 않으며, 일정한 유예 기간을 두고 사용자가 핵을 사용하지 않았다고 발을 빼지 못하도록 충분한 '증거'를 수집하여 차단한다.
때문에, VAC 추방을 당한 스팀 계정은 VAC의 오류로 인해 차단당한 것이 아닌 이상 절대로 차단을 해제할 수 없다.
2.2. 핵 탐지 성능
게임에 사용되는 VAC 시스템 한 짤 요약 |
그리고 많은 유저들이 흔히 잘못 알고 있는 것 중에 하나가 바로 신고 시스템인데, 핵을 사용하는 해당 유저의 프로필을 찾아내서 신고를 하면 VAC를 먹거나 제한을 받을 것이다 라고 믿는 사람들이 정말 많다. 하지만 신고는 밸브나 스팀 플랫폼 자체의 이미지나, 거래 시장에 치명적인 흐름을 끼치는 수준의 사안이 아닌 이상 아무리 눌러봐야 소용없는 장식용 버튼이라고 보면 된다. 매우 안타깝지만 밸브는 핵에 대해 생각보다 무책임하며, 사실상 VAC는 있으나 마나 하는 수준으로 무용지물이 된 지 오래다.[7]
그래도 상술한 '소스 엔진 게임에다 이상한 모드를 깐' 사례를 제외하면 무고밴 사례는 드물기에 안티 치트로써의 정확도는 높은 편이다. 문제는 정확도가 높은만큼 탐지율이 낮다는 것이며, 스팀이라는 플랫폼이 워낙 커져 버린 탓에 엄청나게 늘어나는 핵쟁이들의 증가세를 전혀 따라잡지 못하고 있다는 점이다. 그래도 밴을 당하면 계정이 통째로 불구가 된다는 점에 있어서 경각심을 일깨워주긴 하기에 딱히 성능은 좋지 않아도 예방 차원에서 VAC를 적용해 놓은 게임이 많다. 이미 VAC밴을 당한 플레이어는 미리 차단까지 할 수 있으니 말이다.
간혹 봇이나 핵 유저들이 서버에서 나갈 때 "VAC에 의해 추방되었습니다"라는 메세지와 함께 서버에서 퇴출 당하는 게 보여, VAC가 다시 작동하는 게 아니냐는 말이 나왔지만 확인 결과 실제로 VAC 당한 건 아니고 그런 메세지만 남기고 떠나는 거였다. 쉽게 비유하자면, 사기꾼이 "나 경찰한테 잡혔다." 소리 지르고 다른 곳에서 사기 치러 가는 꼴.
2022년 말에 갑자기 수 많은 봇들에게 VAC밴이 활성화 되는 게 발견되었는데, 전처럼 가짜 VAC가 아니라 이번엔 프로필에 VAC 밴 기록이 뜨면서 진짜 밴을 하고 있는 것처럼 보여 유저들이 아주 큰 희망을 갖는 중이었다.
사실, 차단되는 플레이어의 수를 보면 VAC는 다른 안티치트들과 비교해도 나름대로 성능이 괜찮은 편이다[8], VAC의 실질적인 문제는 밸브가 ID 양산 행위에 관심이 없는것에서 비롯된다는 표현이 더 적절하다. 밴을 때려놔도 정작 핵쟁이들은 아무런 제지 없이 부계정을 손쉽게 만들어 핵을 돌릴수 있으니 체감상 핵쟁이가 줄어들지 않는 것.[9] 특히 밸브 사내 투어 중 현재 팀 포트리스 2의 유일한 개발자라고 알려진 에릭 스미스(Eric Smith)가 말하길, 벨브도 핵과 봇 상태를 충분히 인지하고 있으나 인력 부족으로 인해[10] 본인도 어떻게 할 수 없다고 한다.[11]
결국 2024년 6월 부로, 점점 많아지는 팀 포트리스 2와 카운터 스트라이크 2의 핵과 봇들 문제에 더는 안되겠다 싶었는지 칼을 뽑아 들어 VAC 자동 차단과는 별개로 밸브가 직접 나서서 직접 핵 및 봇 사용 계정에 영구 정지를 주고 있다.[12] 이제 완전히는 아니지만 아예 손을 놓은 그 때와 달리 핵 대처에 대해 상당히 많이 개선되고 있는 중이다.
3. 사건 사고
- 2010년 7월 VAC의 오작동으로 인해 콜 오브 듀티: 모던 워페어 2의 멀티플레이에서 플레이 중이던 스팀 이용자 12,000명이 한꺼번에 VAC 추방을 당했다고 한다. 이 사건이 터진 이후로 밸브는 이 사건에 대해 사과하며 해당 플레이어들의 VAC 추방 상태를 풀어주고 레프트 4 데드 2를 무료로 지급하는 것으로 사건을 일단락지었다.
- 2014년 2월에는 VAC가 사용자의 DNS 캐시를 밸브 서버로 보낸다는 것이 밝혀져 한바탕 소동이 일었다. 상황이 격화되자 게이브 뉴웰이 직접 나서서 "단순히 DNS를 매칭하여 핵 사이트에 들어간 정보를 얻는 것일 뿐 수집한 DNS 캐시를 이용해 사용자의 웹페이지를 보진 않는다"고 설명했다고 한다.
- 카운터 스트라이크 역사상 최악의 사건으로 전 세계 CS:GO 프로게이머들이 무명 선수부터 유명한 정상급 선수들까지 일상적으로 핵을 써 오던 것이 밝혀졌던 VACation 사태. CSGO가 E스포츠 메이저 타이틀 중 경쟁 상대인 LoL, 도타 2에 비해 규모나 상금에서 밀리면서도 동급 대우 받을 수 있는 가장 강력한 무기인 '정통성'에 직접적으로 타격을 준 사건이다.
특히 당시는 한창 FPS 종목들이 하락세였는데,[13] 당시 CSGO는 유일하게 자존심을 지키던 초대형 FPS 프랜차이즈였으나 이 대규모 핵 적발 사건으로 인해 게임의 기반 팬덤까지 휘청일 정도의 큰 위기를 맞았다.
원래 VAC의 탐지율은 바닥을 기기로 유명했고, 바로 이전의 CS 1.6 버전에서는 당시 전세계에서 가장 널리 플레이되는 대중적인 게임이면서도 상향평준화된 유저들의 실력으로 인해 그냥 대놓고 에임핵을 쓰는게 아닌 이상 핵을 써도 큰 효과를 보기 어려웠으며, 래더나 레이팅에 관련된 시스템을 배제하는 운영까지 더 하여 핵을 쓸 이유 자체가 없었기에 핵쟁이들의 숫자 자체가 적어서 드러나지 않았던 것이지[14] VAC가 무서워서 쓰지 못한 것이 아니었다. 그렇게 개선되지 않은 VAC는 팀 포트리스 2에서 밸브가 심하게 고생하게 만들었지만, 최신 FPS 게임인 CS:GO가 나올때까지도 별다른 개선점이 없어서 지금까지도 밴 웨이브 한번 돌 때마다 핵쟁이들이 떼로 잡혀나오는 기조는 변하지 않았다. 전작에 비해 이용자에게 요구되는 전체적인 능력치가 낮아졌고, 랭크 시스템과 퀵매칭이 도입되면서 실력 과시 목적의 핵쟁이들이 늘어날 것이 뻔했음에도 대비가 전혀 안됐던 것이다. 자세한 것은 해당 항목 참조.
- 2020년 10월 전후로 카운터 스트라이크: 글로벌 오펜시브의 아시아권 유저·선수들을 중심으로 집단적인 VAC 적발 정지 사태가 일어난다. 이는 우리나라도 예외는 아니었고, 커뮤니티 사이트에서는 핵 사용자들이 정의구현을 당했다는 여론과 무고밴이라는 여론이 팽팽하게 맞서게 된다.
그러다 사설 매치메이킹인 5eWIN을 이용하게 되는 경우 VAC가 적발할 수 있다는 글이 올라온다. # 해당 글이 점점 정론으로 받아들여 질 때 즈음, 글옵은 공식 트위터 계정을 통해 클라이언트 업데이트와 함께 5eWIN으로 차단된 이용자들을 전부 해제해주겠다는 글을 남겼다.
결국 2020년 10월 말부터 다시 차단 해제가 이루어지고 있다. # # 또한 이 과정에서 5eWIN과는 전혀 관련없는 이용자도 5eWIN 밴을 당했다가 해제된 사례도 확인되었는데 이는 VAC가 완벽한 프로그램은 아니라는 걸 보여준다. #
4. 사용 게임 목록
스팀에서 유통하는 VAC 사용 게임 목록- 100% 오렌지 주스
- ARK: Survival Evolved
- Awesomenauts
- Chivalry: Medieval Warfare
- Cry of Fear
- DayZ
- DEAD BY DAYLIGHT
- Dino D-Day
- Dying Light
- HELLDIVERS
- Insurgency
- Magicka
- Moonbase Alpha
- Natural Selection 2
- R.U.S.E.
- SCP: Secret Laboratory
- The Isle
- War of the Roses: Kingmaker
- 게리 모드
- 다크 메시아: 마이트 앤 매직
- 던전 디펜더스
- 데드 아일랜드
- 데이 오브 디피트
- 데이 오브 디피트: 소스
- 도타 2
- 러스트
- 레드 오케스트라
- 레드 오케스트라 2
- 레드 팩션: 아마겟돈
- 레프트 4 데드
- 레프트 4 데드 2
- 로스트 플래닛: 익스트림 컨디션
- 매직: 더 개더링 - 플레인즈워커의 결투
- Super MNC
- 바이오하자드 6
- 바이오하자드 레벌레이션스
- 브링크
- 스나이퍼 엘리트: 나치 좀비 아미
- 스벤코옵
- 에일리언 스웜
- 워게임: 유러피안 에스컬레이션
- 언턴드[15]
- 좀비패닉 소스
- 카운터 스트라이크 시리즈 (Steam)[16]
- 콜 오브 듀티: 고스트
- 콜 오브 듀티: 모던 워페어 2
- 콜 오브 듀티: 모던 워페어 3
- 콜 오브 듀티: 블랙 옵스
- 콜 오브 듀티: 블랙 옵스 2
- 콜 오브 듀티: 블랙 옵스 3
- 콜 오브 듀티: 인피니트 워페어
- 킬링 플로어
- 킬링 플로어 2
- 토탈 워: 쇼군2
- 팀 포트리스 클래식
- 팀 포트리스 2
- 프라이멀 카니지
- 하프라이프
- 하프라이프: 어포징 포스
- 하프라이프: 데스매치 소스
- 하프라이프 2: 데스매치
- 홈프론트
5. 기타
- 게임 치트 방지 프로그램 중에서는 가장 인지도가 높은지라 트위치 등의 인터넷 방송이나 프로 대회에서 엄청난 실력의 플레이를 보여주면 시청자들이 장난삼아 VAC라고 외치기도 한다. 특히 FPS에서 자주 나오는 말이다.
- 같은 맥락으로 블리자드 엔터테인먼트의 FPS 게임, 오버워치의 솔저: 76가 사용하는 궁극기인 "전술 조준경"은 해당 기술을 사용하는 동안 '자동으로 적을 조준하는' 기능이라서 역시 'VAC'라는 우스개가 나오곤 한다.
6. 관련 문서
[1] VAC차단의 경우 'VAC 차단 기록'이라고 나오며 일반 게임 차단은 '게임 차단 기록'이라고만 나온다. 참고로 이 빨간 글씨는 적용일 기준 2555일, 즉 정확히 7년이 되는 시점에 사라지고 그 이후엔 공공에 드러나지 않는다. 단, 검색해서 찾는 것도 가능하고 유저 본인에게는 계속 보이며, 차단 자체도 계속 적용된다.[2] 밸브는 이를 핵 사용자 및 개발자들이 악용할 것을 방지하고자 시행하는 정책이라고 말한다.[3] .exe 파일 변조는 물론이고 심지어 .txt 파일 변조 또한 해당된다.[4] 후커 방식의 한글패치 역시 동일하니 주의. 대표적으로 콜 오브 듀티 시리즈가 있다.[5] 그게 몇 일 사이인지, 몇 개월 사이인지, 몇 년 사이인지는 아무도 알 수 없다. 밸브에선 핵 유저들의 악용 방지라는 명목으로 아무 것도 공개하지 않고 있다.[6] 다만 소스 엔진으로 개발된 게임은 하나만 걸려도 모든 게임이 차단된다. 즉, 카스 소스에서 밴을 당하면 팀 포트리스 2, 데이 오브 디피트 소스 등이 전부 차단된다. 예외로 CSGO의 경우에는 해당 게임에서만 차단된다.[7] 그러다보니, 결국 어느 팀포2 유저가 참다 못해 팀포2 전용 핵을 직접 찾게 해주고 잡을 수 있는 프로그램을 만들어서 배포할 정도다. 하지만 최근에는 봇들이 이런 핵 유저를 채팅으로 알려주는 프로그램을 역이용해서 무고한 유저를 핵 유저라고 탐지하게 만드는 어이가 없는 케이스가 나왔기 때문에 이것도 완벽한 해결책은 아니다.[8] 배틀아이와 하드밴을 적용한 타르코프 같은 게임에서도 핵이 성행하는걸 보면 VAC의 성능이 특별히 글러먹지는 않았다고 볼 수 있다.[9] 다른 게임들은 전화번호 인증 또는 하드웨어 밴이나 IP밴을 추가해서 우회하려면 상당히 시간을 많이 들여야 하지만 스팀 아이디는 그런거 없이 그냥 찍어낼수 있다. 카운터 스트라이크 시리즈의 사설 서버의 안티치트가 특출나게 좋지 않아도 핵 비율이 적은게 아이디 양산의 제지에 있는걸 생각하면 큰 문제인건 맞다.[10] 밸브 코퍼레이션은 22년기준 1,139명의 개발자 + 기간직 개발자 등등으로 이루어져 있는 거로 알려져있다. 비슷한 AAA 게임 개발사인 액티비전 블리자드가 13,000명, EA가 12,900명것을 감안하면 매우 적은편이라고 할 수 있다.[11] 그러나 밸브는 초 거대 기업임에도 불구하고 개발진들 2~3명을 제외하고 전부 다른 프로젝트로 이탈하여 이 사태를 무려 4년째 방치해두고 있었다는건 잊지 말자. 물론 에릭 스미스 혼자서 할 수 있는 것은 게임을 조금씩 유지보수하고 수정할 수밖에 없기도 하고, 무엇보다 후술하듯이 현재 게임의 소스 코드가 굉장히 난잡하기 때문에 섣불리 수정했다가 일이 더 커질 수 있기 때문에 동정의 여지도 조금이나마 있다.[12] 팀 포트리스 2의 경우 가이드라인이 없어 직접 영구 차단을 주지 않았던 이전과는 달리 아예 영구 차단 관련 가이드라인이 추가되었다.[13] 그 전 까지는 북미에 대회가 한정돼있던 콜 오브 듀티 시리즈 중 멀티플레이로는 이례적인 글로벌 히트를 기록하고 PC 위주 무대였던 보수적인 e스포츠계에 균열을 내어 콘솔과 PC 간 수준 차이를 없앤 어드밴스드 워페어가 카스의 1.6에서 글옵으로 전환되며 일시적으로 FPS가 주류 장르에서 밀려나려던 시기에 잠시 대타로 끼어 유지를 해주었으나 슬슬 브랜드파워가 기울어갈 때 쯤 부활한 글옵으로 다시 넘겨주었고 그 이후부터는 준메이저 이상으로 오르지 못했다. 지금은 글로벌 종목이라기 보다는 일부 유럽과 북미에 편중돼있는 상황이다.[14] 1.5 시절엔 사실 핵이 아주 많은 게임이었지만 1.6에 이르러 Steam이 도입되면서 복돌이들과 함께 퇴출시키는 데 성공했다. 아예 없던 건 아니고 핀란드의 유명한 FPS 프로게이머였던 selly처럼 네임드 중에서도 가끔 핵을 쓰다가 잡히는 사례가 나오긴 했지만 CS:GO에 비하면 핵쟁이들은 숫자로든 비율로든 매우 적은 편이었다.[15] 3.17.5.0 버전(2016년 11월 12일)부터는 배틀아이와 병용한다.[16] 넥슨이 서비스했거나 하고 있는 카운터 스트라이크 온라인, 카운터 스트라이크 온라인 2, 카운터 스트라이크 Nexon: Zombies는 VAC 지원 게임에서 제외되었다. CS:Z는 대한민국 지역락으로 스팀에 출시되어 부분적으로 VAC이 적용되었다.