나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-08-18 14:31:08

Valve Anti-Cheat

VAC에서 넘어옴
{{{#!wiki style="margin:-10px"<table align=center><table bordercolor=#000000,#000000><table bgcolor=#000000,#000000> 파일:밸브 코퍼레이션 로고.svg 파일:스팀 로고 화이트.svg }}}
[ 펼치기 · 접기 ]

비판 및 논란 · 출시 게임
Valve Anti-Cheat · 소스 필름메이커 · 버니합

기능 · 할인 · 비판 · 사건 사고 · 게임 목록 · 연동 게임 · 한국어(비공식)
SteamOS · SteamVR · Steamworks · Steam 어워드 · 앞서 해보기 · 게스트 패스 · 빅 픽처
하드웨어

Machine · Controller · Link · Index · Deck
인물

게이브 뉴웰 · 지프 바넷
게임 엔진

GoldSrc · 소스(역사) · 소스 2
기타

KOMODO · EmuDeck · 밸브빠 · 스팀충 · 도슬람 · 스팀 마이너 갤러리 · PlayStation PC

1. 개요2. 설명
2.1. 작동 원리2.2. 핵 탐지 성능
3. 사건 사고4. 사용 게임 목록5. 기타6. 관련 문서

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. 핵 탐지 성능

파일:Valve_Anti_Cheat_Dis.gif
게임에 사용되는 VAC 시스템 한 짤 요약
VAC를 쓰는 게임의 특징은 하나같이 관리를 하는게 맞나 싶을 정도로 핵쟁이들이 무지하게 많다는 것이다. 최근에는 카운터 스트라이크 2, 도타 2 등 일부 게임에 VACnet으로 업그레이드되어 핵 플레이어 탐지에 딥러닝을 도입했다고 하지만 아직까지도 낮은 탐지율은 여전하다.

그리고 많은 유저들이 흔히 잘못 알고 있는 것 중에 하나가 바로 신고 시스템인데, 핵을 사용하는 해당 유저의 프로필을 찾아내서 신고를 하면 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. 사건 사고

4. 사용 게임 목록

스팀에서 유통하는 VAC 사용 게임 목록

5. 기타

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이 적용되었다.