치트, 치터 및 안티치트
네트워크 게임을 위한 해킹 프로그램은 항상 존재할 것입니다. 이는 사실입니다. 우리가 아무리 바라지 않아도 어쩔 수 없는 일이죠. 아니면 그냥 게임을 하지 않도록 하세요. 해킹은 절대 근절될 수 없습니다. 더 잘하고 싶고 특별한 노력을 들이지 않고도 최고가 되고 싶어하는 욕망은 많은 게이머들에게 공통적입니다. 그래서 많은 초보자들이 매번 총알을 피하느라 지쳐, 가장 쉬운 길을 선택하게 됩니다...
아니, 컴퓨터 게임 개발자들은 가만히 앉아 있는 것이 아닙니다. 새로운 패치와 수정이 출시되고, 해킹이나 앞으로 사용할 수 있는 취약점이 신속하게 패치됩니다.
가장 초기의 안티치트들은 효과가 떨어지며 많은 문제와 오류를 일으켰습니다. 하지만 시간이 지나면서 점차 개선되어 갔습니다. 새로운 샘플들이 데이터베이스에 추가되고, 스캔 방법들이 발전하여 심지어는 알려지지 않은 해킹 프로그램도 발견할 수 있게 되었습니다. 그러나 '해킹 산업'도 멈추지 않고 게임 개발자들과 안티치트들이 설계한 모든 함정을 성공적으로 우회했습니다. 이는 바이러스 제작자와 안티바이러스 제작자 간의 영원한 전투와 비슷했습니다. 아무리 훌륭한 안티바이러스라도 항상 치명적인 취약점이나 우회 방법이 존재합니다. 마찬가지로 해킹 프로그램도 그렇습니다. 완벽한 안티치트는 존재하지 않습니다. 그리고 해킹을 만드는 것은 단순히 코딩을 배우기 시작한 얼빠진 청소년이 아니므로, (그런 사람들은 궁금하다면 codhacks.ru에서 볼 수 있습니다 ;)). 많은 이들에게는 상당한 수익을 올리는 사업이 되었습니다. 나는 유료 해킹 프로그램 개발자들이 가지고 있는 명성과 위험성을 언급하고 싶습니다. 자신을 단순히 '해커 개발자'라고 부르기도 민망합니다. 무료와는 달리, 유료 해킹을 사용할 경우 밴을 당할 위험은 거의 제로에 가까워집니다. 게다가 보통 이곳은 24/7 기술 지원이 제공되며 (포럼, irc), 서비스 수준도 매우 높습니다. 새로운 패치가 출시되거나 새로운 스캔 시그니처가 등장하면 해킹 프로그램은 적시에 업데이트됩니다. 유료 해킹에 대항하는 것은 사실상 무의미합니다. 왜냐하면 거의 모든 유료 해킹은 'antileak' 시스템을 갖추고 있어 실행 파일의 유출을 방지하기 때문입니다. 예를 들어, 한 잘 알려진 해킹 커뮤니티의 해킹 프로그램이 작동하는 방식을 살펴보겠습니다. Steam 같은 특수 클라이언트가 존재해서 사용자의 현재 모든 활성 구독, 즉 쉽게 말해 구매한 해킹 프로그램이 표시됩니다. 사용자의 PC에는 실제 해킹 프로그램이 존재하지 않습니다 - 오직 이 클라이언트의 실행 파일만 있을 뿐입니다. 해킹 프로그램을 실행하면 서버에서 다운로드되어 즉시 RAM에 로드됩니다 (그렇지 않았다면 모든 유료 해킹이 mpcforum 같은 사이트에서 공공연하게 배포되었을 것입니다). 유료 해킹 프로그램은 결제가 이루어졌던 PC의 하드웨어 ID에 묶이는 경우가 많습니다 (HW ID가 변경되면 클라이언트에 로그인할 수 없습니다). 이는 해킹의 유통을 차단하기 위한 조치입니다. 그렇지 않으면 누군가가 그것을 구매하여 공개할 수 있었겠죠 (정말 처음 그런 일이 일어난적이 있었는데, 코드 제작자들이 위에서 설명한 방법을 생각해내기 전에). 추가로 각 사용자마다 고유한 CRC 코드가 생성되어 추가적인 보호를 제공합니다 (모든 사용자의 실행 파일이 동일한 CRC를 가지면 이 코드를 안티치트의 데이터베이스에 쉽게 추가될 수 있겠죠).
예를 들어, VAC 지원팀의 젊은 남자들이 백 유로를 아끼지 않고 (우리 친구들이 카운터 스트라이크를 사는데 사용하는 돈으로 ;)), 유료 해킹을 구매했습니다. 그들은 앉아 해킹 프로그램을 조작하기 시작했습니다. 상당히 오랜 시간을 할애해 마지막으로 긴 노력 끝에 모든 실행 파일 및 해킹 라이브러리를 확보하는 데 성공했습니다. 당연히 그들은 즉시 얻은 정보를 VAC 데이터베이스에 입력하며, 이 해킹을 사용한 모든 사람들은 밴을 당할 것입니다. 그러면 해킹 개발자들은 어떻게 할까요? 그들은 간단히 해킹 프로그램을 업데이트합니다 (실행 파일 버전, 라이브러리 변경, 게임 프로세스 내에 주입하는 방법 변경, 또는 끝내 실제로 해킹을 다시 조립할 뿐입니다). 그래서 Valve와의 노력은 모두 무의미해질 것입니다. 밴당한 게 하도 중요하지 않은 실수입니다. 당신은 유료 해킹 구매에 100달러를 지출하는 사람을 밴한다고 해서 멈출 것이라 생각하나요? 웃기지 마세요. 그들은 새 키를 구매하고 계속해서 해킹을 사용할 것입니다. Valve는 변경사항을 검토하느라 소중한 시간을 다시 쓰게 될 일이 없을 것입니다. 아니, Valve는 어느 사이트를 영원히 감시하지 않을 수 있습니다? 물론 Valve에는 천재들이 일하고 있지만, 해킹제작자도 바보는 아닙니다. 잘 보호된 해킹 프로그램을 분석하는 데는 상당한 시간이 소요됩니다. 그리고 이제 유료 해킹을 판매하는 사이트가 얼마나 많은지 대강 계산해 보겠습니다. 대충 20개 정도 잡아볼까요 (실제로는 이보다 훨씬 많습니다). VAC 개발팀에 직원과 시간이 얼마나 있으며, 모든 유료 해킹 프로그램을 구매하고 조사할 수 있는 여력이 생길까요? … 불가능합니다. 시지프의 노동에 불과하며 해킹 프로그램은 다시 업데이트되고 다시 조립될 것이란 가능성이 높습니다. 따라서 모든 작업이 무의미해지고 맙니다.
어떤 유명한 해킹 프로그램을 파는 사이트에 게시된 게임 유인물입니다. 이게 정말 능동적인 모니터가 해킹 상태를 검사하는 것이라고 생각하세요? .. 이건 단순한 템플릿의 요소일 뿐이며, 해킹이 발견되면 'Undetected'는 결코 'Detected'로 바뀌지 않을 것입니다.
무료 해킹 프로그램은 상황이 훨씬 간단합니다. 인기 있는 해킹 포털을 찾고 그곳에서 정기적으로 모든 신제품을 다운로드하며 안티치트 데이터베이스에 정기적으로 추가하는 것으로 충분합니다. 게다가, 무엇과도 관계없이 'antileak'에 관한 보호는 전혀 존재하지 않습니다. 무료 해킹 프로그램은 무엇으로 구성되어 있습니까?
Superhack.exe (실행 파일)
Superhack.dll (라이브러리)
Superhack.cfg (사용자 설정이 저장되는 파일).
이 파일들의 CRC를 추가로 데이터베이스에 추가하기만 하면 됩니다. 작업은 최대로 반 시간 정도 소요됩니다. 이러한 이유로 무료 해킹 프로그램은 한두 달밖에 생존하지 않습니다. 그래서 그렇게 적은 것입니다. 유료 해킹 프로그램을 구매하고 해부하는 대신, 안티치트 개발자들은 새로운 탐지 시스템을 추가하고 스캔 방법을 개선하느라 시간을 보냅니다.
PunkBuster vs VAC
"VAC sucks". 각 플레이어는 VAC 개발 팀에 돌을 던지는 것을 기쁘게 여깁니다. MODERN WARFARE 2에 있는 해커들 수가 증가하고 있다고 주장하며 떠들기 때문입니다. 명성 높은 VAC는 그들을 처리하지도 못하고 아무도 밴하지도 않습니다. 그리고 그들의 비난을 끝내는 말은 "그러면 PunkBuster를 사용하길 바랬어야지". 하지만 아무도 VAC를 작동하는 방법을 상상하지 않습니다. 내가 VAC에 대한 자세한 FAQ를 작성한 후에도 이곳에 글을 썼습니다. 상황은 전혀 변하지 않았습니다. 내 글에 대한 댓글 중 한 사람은 "효과가 없다는 말이 아닌데요, 입문한 지 며칠 만에 월해커를 만나는 법이..."라는 반복적인 문구를 남겼습니다. 이제 진실을 밝혀 정리해봅시다. 먼저 여러분, 기억하세요. 아니면 메모해두고 잠자기 전 기도처럼 반복하세요:
해커는 항상 존재할 것입니다. 이 현상은 어떤 방법으로도 파괴할 수 없습니다. 하나가 사라지면 다른 것이 나올 것입니다. 왜 사람들이 범죄를 저지르는가? 그들은 언젠가는 처벌받을 것을 알고 있습니다. 이것도 마찬가지입니다.
해킹 프로그램은 항상 안티치트 개발팀보다 한 발 앞서 있을 것입니다. 각각의 방패에는 그것을 뚫는 칼이 있는 것입니다.
대부분의 게이머를 괴롭히는 질문은 "모던 워페어 2의 안티치트로 왜 VAC가 선택되었는가"입니다 (정확히 말하자면 VAC2). 그 간단한 이유는 게임에서 전용 서버가 부재하다는 것입니다. 인피니티 워드는, 그들이 자주 반복하는 대로, 게임의 네트워크 부분을 완전히 자율적으로 만들고 싶었습니다. PunkBuster는 클라이언트 측과 서버 측 모두에서 지속적인 업데이트가 필요합니다. 아울러 스크린샷을 주기적으로 확인해야 하며, 해킹의 증거를 명확히 해야 합니다. 그렇다면 전용 서버가 없으므로 누가 그것을 할까요? 그래서 VAC가 선택되었습니다.
VAC는 인피니티 워드의 요구사항에 완벽하게 부합합니다: VAC를 유지 관리할 필요가 없고 모든 것은 VAC 개발 팀의 어깨에 쏠려 있습니다. 그러나 IW 측에서는 VAC가 기본적으로 Valve 게임에서만 사용되었기 때문에 전혀 부적합하다고 생각하지 않았습니다.
__________________________
\참고: VAC는 단 3개의 외부 게임에서만 사용되었습니다: Red Orchestra, Lost Planet: Extreme Condition, Killing Floor.*
VAC의 가장 큰 단점은 지연 밴입니다 (지연된 밴). VAC는 해킹을 즉시 발견합니다. 그러나 차단은 평균 3주 이상의 임의의 시간이 지나야 이루어집니다. 그동안 해커는 계속해서 게임을 하며 다른 플레이어들에게 고통을 줄 수 있습니다. 밴을 받으면, 그는 곧바로 새 게임 디스크를 사러 뛰어갈 것이고 계속해서 해킹 프로그램을 사용할 것입니다. 결국 우리는 러시아에 살고 있고, 서양의 기준에 따르면 게임은 거의 공짜입니다 (MW2가 13달러인데, 그쪽에서는 60달러입니다). 왜 해커들을 즉시 밴하지 않을까요? 여기에는 하나의 속임수가 있습니다. VAC는 해커에게나 안티치트 개발자에게도 진정한 골칫거리입니다. 아무리 코더가 뛰어나도, 그가 개발한 해킹이 발견되는지 알 수는 없습니다. 확인은 3주 후에만 가능합니다. 그 외에는 전혀 알 수 없습니다. 만약 그것이 공개된 해킹 프로그램이라면, 그때가 되었을 때 원래 'undetected' 상태였다면, 90% 확률로 VAC에 포함될 것입니다. 인기 있는 유료 해킹 프로그램을 다루는 개발자들도 그들의 해킹을 사용함에 있어 100% 안전하다고 보장할 수는 없습니다.
PunkBuster는 즉시 밴합니다. 심지어 해킹 외에도 ;) 의심되는 활동이 포착되면 곧바로 킥합니다. 매 라운드마다 모든 플레이어의 화면을 스크린샷 몇 장을 자동으로 찍습니다. 이러한 스크린샷은 범죄의 충분한 증거가 될 수 있습니다. 또한 이 스크린샷을 Evenbalance(그들이 PunkBuster를 개발하고 지원합니다)에게 전송하면, 그것은 그의 키에 대한 전역적 밴의 결과로 이어질 수 있습니다. PunkBuster 개발 팀은 Valve와는 달리 모든 불만을 기꺼이 접수합니다. 게다가 여러 개의 스트림 기반이 있어 기초 충족이 가능합니다. 그런데 이건 무엇일까요? 이것은 독립된 팀으로서 자신의 데이터베이스에 해킹 프로그램을 추가하고, 이를 사용할 수 있는 모든 서버에 연결할 수 있도록 합니다 (Steambans 같은 서비스라고 예로 들 수 있습니다). 만약 어떤 플레이어의 PC가 검사 중에 스트림 데이터베이스의 샘플과 일치하는 경우이므로, 즉시 밴이 통지되는 겁니다. 모든 서버에 동일한 서비스가 연결되어 있으므로, 스트림에 의한 밴은 전역적 밴과 거의 같습니다. 그러나 여기서 더큰 단점은 긴급성을 잡기 위해 GGC-stream의 사용 예가 정당하지 않은 것으로 비난받는 경우가 많습니다. 또한 모든 증거는 위조 가능성이 있습니다. 심지어 PunkBuster의 스크린샷도요.
PunkBuster는 파일의 체크섬을 검사하고 텍스처의 무결성을 유지하는 것도 중요하게 생각합니다 (예를 들어, 사용자가 수정된 드라이버를 사용하고, 예를 들어, 잔디가 없는 경우), 그리고 이와 같은 것이 많습니다. 하지만 PunkBuster에 맞춰 해킹 프로그램을 작성하는 것은 어느 정도 더 수월합니다. 해킹 프로그램이 발견되거나 발견되지 않는지를 즉시 확인할 수 있기 때문입니다.
그러나 PunkBuster와는 달리 많은 문제가 있습니다. 수동으로 업데이트해야 하고 (자동 업데이트는 항상 올바르게 작동하지 않음), 다른 소프트웨어와 갈등을 겪기도 합니다. 게다가 바이러스 등으로 인해 메모리에 떠 있는 알려지지 않은 프로세스로 간단히 킥될 수도 있습니다. 그리고 작년에는 광기어린 일이 있었습니다: PunkBuster는 Steam의 오버레이 사용에 대해 사용자를 킥했었습니다...
PunkBuster 서버 측 코드 또한 지속적인 감독이 필요합니다.
PB의 일반적인 오류. 재설치로 해결됩니다.
PunkBuster가 당신의 PC를 스캔하면, 그 보통은 지연 및 흔들림을 유발합니다.
하지만 그럼에도 불구하고, PunkBuster는 계속 성공적으로 우회되고 있습니다. 심지어 PBSS(클라이언트 화면에서 스크린샷을 찍는 모듈)도 속일 수 있습니다. 예를 들면, 여러 가지 우회 방법이 있습니다:
스크린샷이 단지 서버로 전송되지 않거나 손상된 상태로 전송됩니다.
스크린샷이 전송되지만 빈 스크린입니다. 플레이어는 항상 자신이 Vista나 Win7을 사용하고 있다고 주장 할 수 있습니다.
이 방법은 간단한 수단 밖에 안 되는 경우가 많습니다. 서버에서 플레이어의 화면을 받는 명령이 들어오면, 실행된 해킹 프로그램은 어떤 시각적 검증도 자동으로 비활성화합니다 (월해킹, 레이더 등). 이후 깨끗한 스크린샷이 찍힌 후 서버로 보내지고, 해킹 프로그램은 다시 모든 항목을 활성화합니다. 이 과정은 1.5초 이내의 시간이 소요됩니다.
특정 경우에는 PunkBuster에서 하드웨어 밴을 사용합니다 (즉, 하드웨어에 대한 밴). 하지만 지난 1년 반 사이에는 그렇게 한 사례가 없었습니다.
VAC는 플레이어에게 더 친절하며 다른 운영 체제와도 충돌하지 않고 스캔 시 지연을 유발하지 않으며 그렇게 많은 주의를 요구하지 않습니다. 대개 VAC 서버와의 연결이 끊긴 오류가 발생해도 됩니다 (인터넷, 게임 서버 또는 Valve 서버의 오류로 인한 것). 그러나 이런 경우는 극히 드뭅니다.
이제 결론을 내릴 시간입니다. VAC와 PunkBuster 모두 별도의 미세한 부분이 존재합니다. 물론 PunkBuster는 해커를 즉시 밴할 것입니다만, 앞서 설명한 바와 같이 IWnet과 함께 사용되는 것은 불가능하므로 VAC는 유일한 옵션으로 남게 됩니다 (아마 거의 유일한 선택처럼 보이죠). VAC, PunkBuster 및 GameGuard 등은 안정적인 통합 솔루션으로 운영되고 있으며, 다른 안티치트는 외부 모듈 (sXe Injected와 같은)이나 좁은 전문성과 낮은 효과 (일례로 X-ray)로 인해 그들에게 합당한 경쟁력을 갖추지 못합니다.
PB 게임 중에 촬영된 스크린샷의 모습 (COD4)
무료 유료 해킹
당신은 그들의 존재를 믿으십니까? 개인적으로는 믿지 않습니다. 그러나 많은 사람들이 자원봉사자가 자신을 위해 해킹 프로그램을 구매하여 무료로 공유할 수 있다는 생각에 빠져 원하는 사람들에게 다운로드할 수 있도록 하는 것을 믿습니다. 하지만 사람들은 주로 이를 이용하여 가짜 소프트웨어를 만들어 사람들이 소중한 정보를 잃는 데 활용합니다. 그렇게 되면, 안에 악성 트로이 목마가 있어 Steam 계정 비밀번호를 유출하게 됩니다. 그러나 플레이어들은 그들이 훌륭한 해킹 프로그램을 가지고 있다는 행복한 환상에 빠져버리며, 해킹을 사용할 수 있다는 기쁜 마음으로 안티바이러스의 경고를 무시하거나 꺼버립니다. 다음 날, 그들은 어떤 포럼에서 자신의 계정이 해킹당했다며 울부짖기 시작합니다. 만약 내가 당신에게 내가 한 말이 그리 설득력 있게 다가오지 않는다면, 그러면 그런 "해킹 프로그램"을 virustotal.com에서 검사하여 당신 스스로 확인하십시오.
러시아 해커들
무례한 말이 되지 않기를 바랍니다만, 러시아 해커들은 가장 멍청합니다. 14살 소년 바샤는 모던 워페어 2를 구매한 후 이틀간 게임을 즐기고 배신감과 분노를 느끼고 자신의 실력을 높이기로 마음먹었습니다. 그의 친구 바냐는 그에게 해킹 프로그램을 찾으라고 추천했습니다: "이건 정말 멋진 프로그램이야." 바샤는 기쁘게도 구글링을 시작하고 곧 해킹 프로그램을 다운로드할 수 있는 멋진 포럼을 발견합니다. VAC가 무엇인지, 해킹 프로그램을 사용하면 밴을 당할 것이란 알고리즘조차 모르겠습니다. 해킹 프로그램은 잘 작동하고, 바샤는 처음 날도, 두번째 날도, 한 주 후에도 밴을 당하지 않았습니다... 바샤는 말로 표현할 수 없는 기쁨에 젖어 무엇이든 해킹 프로그램을 사용해 자신이 그렇게 잘 될 것이라 생각합니다. 그러나 갑자기 그에게 밴이 밀려옵니다. 어떤 포럼에서 Steam이 너무 형편없다며 투덜거리며 새로운 디스크를 다시 구매하러 갑니다. 해킹 프로그램 없이 게임을 할 수 없습니다. 그리고 다시 해킹 프로그램을 찾습니다. 그리고 다시 같은 실수를 반복합니다. 주의, 질문: 바샤가 몇 번의 밴을 당한 후에 해킹 프로그램이 악이라는 사실을 이해할까요? 둘? 아니면 셋이 될까요? 바샤의 아버지가 석유 시추장 소유자일 수도 있으며, 바샤는 매주 디스크를 구매할 여유가 있을 수도 있습니다?..
러시아인들은 아마 유료 해킹 프로그램을 구매하지 않을 것입니다. 우리는 무료의 매력에 익숙해져 있습니다. 우리는 종종 라이센스 게임조차 구매하는데 불가합니다. 누가 해킹 프로그램을 구매하는 것을 생각이나 하겠습니까? "해킹 프로그램을 구매한다고? 오마이갓, 내가 쟤가 되기 위해 비용을 지불해야 한다고?" 누가 평범한 고등학생에게 플라스틱 카드와 해킹 프로그램 한 달 지급할 유럽 화폐 수백 유로가 있을까요? 그래서 모두 무료로 사용합니다.
서양에서는 이미 오래전부터 무료 해킹 프로그램을 사용한다는 것은 성병에 걸린 여성과 원치 않는 관계를 가진 것과 같다고 이해하고 있습니다. 당신은 반드시 밴을 당할 것입니다. 단지 시간 문제가 있을 뿐입니다. 또한 그들에게서 백 유로는 우리에게서 100 루블과 같습니다. 그래서 위험을 감수하는 것보다는 한 번 해킹 프로그램을 사는 것이 좋습니다.
비극
다시 한 번 인피니티 워드와 밸브에 재확인합니다. 그들은 뛰어난 개발자들입니다.
게임 출시 일주일 후, 수많은 해킹 프로그램과 해커들이 등장했습니다. 전염병처럼 보였습니다. 바로 이때 IWnet의 모든 결점이 드러났습니다. 플레이어들은 해커를 밴하거나 킥할 수 없었습니다. 그리고 해커들에게는 참을 수 없는 천국이었습니다... VAC는 지속적으로 새로운 해킹 프로그램을 데이터베이스에 추가하고 있었지만, 유료 해킹 프로그램에 대한 대책이 필요했습니다. "모든 해킹 프로그램을 구매하고 데이터베이스에 추가하십시오"라고 할 수도 있습니다. 불가능합니다. 이는 막대한 인력이 필요하고, 또한, 앞서서 각 검토를 위한 시간 또한 필요하다는 것 이며, 저는 가짜 데이터베이스를 늘려야 한다고 알고 있습니다. Valve는 계속 인피니티 워드에 부담을 주었습니다. "당신들이 우리에게 제공한 만큼의 돈을 방치하지 않기 바랍니다 (이들은 VAC 개발자들이 무료로 일하고 있지 않기 때문에 말입니다)", 한 달이 지나지 않아 해커들이 게임을 장악했습니다.
그리고 무언가를 해야 했습니다. 누가 이 아이디어를 생각해 내었는지 알 수 없지만, 그에게는 분명히 메달이 필요합니다.
패치 *169가 출시되었을 때 모든 유료 해킹 프로그램은 즉시 업데이트되어 새로운 시그니처와 수정 사항을 우회했습니다 (무료 해킹은 업데이트가 훨씬 느립니다). 그리고 인피니티 워드는 *164로 돌아갔고 모든 해커가 한눈에 드러났습니다. 2,500명 이상의 사람들이었습니다. 그들은 역으로 타이머가 없었으니까요. 수동으로 해킹 프로그램이 밴 당했고, 실제로 모든 유료 해킹 프로그램을 사용한 사람을 지적하며 쾌감을 느꼈습니다. 이 결과에 고무된 IW와 Valve는 이런 방식의 지속적인 연습을 할 것으로 보입니다. 그러나 기쁜 마음이 드는 것은 아닙니다. 적들도 가만히 있지 않을 것입니다. 해킹 프로그램의 개발자들은 고객과 여러분의 막대한 수익을 잃고 싶지 않기 때문에, 그래서 전쟁은 계속될 것입니다. 영원히 계속될 수도 있습니다.