PvP 게임에 있어서 핵 vs 안티치트는 꾸준히 이어져온 창과 방패의 싸움인데
요즘은 거의 창의 승리가 되가는 추세라고 함
그 이유가 핵쟁이들이 소프트웨어 단에서 핵을 돌리는게 아니라
물리적인 장비를 동원하고 있기 때문
그 핵심이 바로 DMA 카드인데
DMA는 Direct Memory Access의 줄임말로, 직접 메모리 접근이라는 뜻임
핵 용도로 개발된 녀석은 아니고
원래는 컴퓨터 하드웨어가 CPU를 거치지 않고 바로 메모리에 접근할 수 있게 해주는 오래된 기술임
근데 이걸 게임 핵 용도로 악용한 거임
어떻게 악용하냐고?
컴퓨터 두 대를 두되,
한쪽에서는 게임을 돌리고 다른 한쪽에서는 핵을 돌리는 식으로 악용함
이 방법은 두 대의 컴퓨터가 필요함
하나는 게임만 돌리는 메인 PC, 다른 하나는 핵을 돌리는 보조 PC임
이때 메인 PC를 게이밍 PC라고 부르고,
보조 PC를 레이더 PC(혹은 공격 PC)라고 부르기도 함
우선 DMA 카드라는 장치를 메인 PC의 PCI-Express(글카 꼽는데 맞음) 슬롯에 꽂고,
보조 PC와 방금 꽂은 DMA 카드를 USB로 연결함
그러면 메인 PC의 메모리가 USB 케이블을 통해
보조 PC로 실시간으로 전송됨
그러면 보조 PC에서는 게임을 실행하지 않은 채,
메인 PC의 게임 데이터를 모조리 볼 수 있게 되는 거임!
보조 PC에서 실시간으로 메인 PC의 게임 데이터를 볼 수 있으니
그 이후 벌어질 일은 뻔하지 않겠음?
예시를 들겠음
1. 게임이 '적 플레이어 위치: X=100, Y=200, Z=50' 데이터를 메인 PC의 메모리에 저장
(당연히 이는 메모리에서만 존재하고, 벽 뒤에 가려진 상태에선 플레이어는 알 수 없어야 정상)
2. DMA 카드가 이 메모리 영역을 통째로 복사해서 USB를 통해 핵이 설치된 보조 PC로 전송
3. 보조 PC에서 이 데이터를 받아서 "아! 저기에 아쎄이가 있구나!" 하고 분석
4. 위도우메이커 궁 마냥 ESP나 레이더 형태로 화면에 표시 (단, 추가 장비 필요)
이 모든 지랄 맞은 과정이 메인 PC의 CPU나 운영체제 모르게 일어나는 거임
아무리 커널 레벨 안티치트고 나발이고 정작 게임이 돌아간 컴퓨터에선 핵이 실행 안되고 있는데 어떻게 잡을거임?
실제 핵이 돌아가는 보조컴엔 정작 게임도 안티치트도 설치가 안되있으니 의미가 없고
근데 보조 PC에서 핵 기능이 돌아가는건 알겠고
그 데이터(ESP 표시, 마우스 에임 강제조정 등)를 DMA 카드를 통해 다시 메인 PC로 보낼때 잡으면 되지 않냐고?
그래서 별도의 추가 장치가 필요함
여기서 등장하는 게 바로 'KMBOX'와 'FUSER' 장치임
첫 번째로 KMBOX는 Keyboard Mouse Box의 줄임말인데,
마우스와 키보드 신호를 긴빠이쳐서 조작할 수 있는 장치임
에임봇 전용 장치라고 보면 되는데...
일반적으로 마우스를 연결하면 마우스 → 컴퓨터 이런 식으로 신호가 가는데,
KMBOX를 쓰면 마우스 → KMBOX → 컴퓨터 이런 식으로 중간에 KMBOX가 끼어듦
PC 입장에선 이게 마우스가 다이렉트로 연결된건지, KMBOX 인지 구분이 불가능함.
1. 보조 PC에서 "저기 적 머리가 있으니까 마우스를 2도 위로 올려" 하는 명령을 KMBOX에 전송
2. KMBOX 안에 들어있는 마이크로컨트롤러가 이 명령을 받음
3. 사용자의 마우스 움직임 + 마우스의 가속 상태 + KMBOX의 추가 움직임을 더해서 메인 PC에 전달
4. 결과적으로 자연스러운 에임 보정이나 자동 조준이 됨
그리고 가장 중요한 것은
이 모든 과정이 하드웨어 레벨에서 일어난다는 거임
(안티치트: 이거 핵 아닌 것 같은데???)
메인 PC의 안티치트 입장에서는
그냥 소프트웨어 보정 없이 마우스가 정직하게 움직인 것처럼 보인다는 뜻임
두 번째로 FUSER는 화면 신호를 합치는 장치임
이건 월핵처럼 온갖 정보를 보여주는 핵인 ESP와 관련된 장치라고 보면 됨
1. 메인 PC의 게임 화면이 FUSER로 전송
2. 보조 PC의 ESP 정보도 FUSER로 전송
3. 그러면 FUSER가 이 두 신호를 실시간으로 합침
4. 합쳐진 화면을 핵쟁이가 사용할 모니터에 보내줌
방송에서 흔히들 쓰는 녹색 배경의 크로마키 기술과 비슷하다고 생각하면 됨
FUSER 안의 영상 처리 칩이 두 화면을 실시간으로 합성하고,
이걸 모니터로 출력하는 방식이니 ㅇㅇ
당연하게도 이 역시 하드웨어 단에서 일어나는 일이기 때문에 소프트웨어적으로는 전혀 알 수가 없음
오로지 유저 모니터에서만 그렇게 보일 뿐임
비유하자면 게이밍 모니터중 일부는 이렇게 모니터 단에서 알아서 크로스헤어를 합성해주는 기능이 있거든?
그 원리가 ESP로 악용되는 상태라고 보면 됨, 모니터상에서 합성되는거라 윈도우 화면 캡쳐 같은거로는 전혀 알 수가 없음
그런데 사실 FUSER 없이도 핵을 쓸 수도 있음
그냥 핵이 돌아가는 보조 PC에 별도 모니터를 연결해서 ESP용 화면만 따로 보는 방법도 있기 때문임
심지어 모든 것이 스마트해진 2020년대에 걸맞게
휴대폰으로 맵 정보를 전송받는 앱도 있다고 함
(적 위치까지 모두 보이는 미니맵과 연동된 모습)
(안티치트: ㅅ1ㅂ)
메인 PC의 안티치트 입장에선 그냥 하드웨어 하나가 더 연결된 것처럼 보이고
USB 마우스나 키보드를 연결한 것과 똑같은 수준으로 인식되니까 알 수가 없음
그나마 다행이라면 메인 PC의 DMA 카드의 장착 여부는
안티치트가 감지할 수도 있다는 점임
DMA 카드가 장착되어 있으면 핵쟁이일 가능성이 크니 그걸 기반으로 정지를 먹이는 것인데,
물론 핵쟁이들도 대비책을 세움
바로 감지될 DMA 카드를 다른 하드웨어로 위장하는 거임
그러니까 DMA 카드 안에 들어가는 소프트웨어인 '펌웨어'를 조작한다고 보면 됨
모든 PCI-Express 장치는 "나는 누구고, 뭘 하는 장치다" 하는 신분증 겸 펌웨어를 가지고 있음
이걸 PCIe Configuration Space라고 하는데,
여기에 제조사 ID, 장치 ID, 시리얼 넘버 등이 들어있음
이 신분증을 바꾸는 거임
그래서 일부 펌웨어 판매자들은 좀 더 확실하게 위장하기 위해
실존하는 사운드카드나 랜카드의 정보를 '긴빠이'해서 DMA 펌웨어에 넣기도 함
당연히 신분증 조작 여부를 모르는 윈도우와 안티치트는
"아, DMA 카드가 아니라 랜카드구나" 하고 그냥 넘어가버림
이렇게 DMA 카드를 사용 중인 것을 숨겨버리는 거임
당연히 이쯤되면 'ㅅ1ㅂ 이러면 핵 감지 방법 자체가 없는 게 아닌가'라고 생각할 거임
사실 어느 정도 맞는 말이긴 한데,
안티치트라고 이런 상황을 완전히 포기한 건 아님
우선 앞서 언급한 DMA 펌웨어를 진짜 철저하게 검사함
내부 데이터가 실제 제조사 데이터와 맞는지,
시리얼 넘버의 중복이 있는지,
이상한 패턴이 있는지,
드라이버가 정상적으로 로드되는지,
이상한 동작이 감지되는지 등등
고성능 안티치트에서는 이를 통해 어떻게든 DMA 카드 여부를 구분 지으려고 함
하지만 별 문제가 없어서 DMA 카드 여부를 통과했다고?
그러면 이 다음으로 메모리 접근 패턴을 확인함
정상적인 사운드카드라면 오디오 관련 메모리만 건드려야 하는데,
게임 메모리까지 읽고 있다면? 당연히 기열 핵쟁이로 의심해야지 않겠음?
여기서 긁어가는 데이터를 모니터링하고, 접근 빈도나 패턴이 비정상적인지 AI로 분석도 함
한데, 이런 것마저 통과했다?
그때부터는 하드웨어의 행동을 검증함
진짜 랜카드라면 네트워크 신호를 처리해야 하고,
진짜 사운드카드라면 오디오 신호를 처리해야 함
그런데 DMA 카드는 그런 기능이 없음
그냥 그런 기능이 있다고 속일 뿐이지, 작동은 하지 않음
해당 장치에 실제로 명령을 보내봤을 때 예상대로 반응하는지 테스트,
드라이버 로딩 과정에서 정상적인 초기화 절차를 거치는지 테스트,
TLP(Transaction Layer Packet) 통신이 실제 하드웨어와 일치하는지 테스트
그래서 이런 테스트를 통해
어떻게든 핵과 관련된 하드웨어를 찾아내려고 함
이외에도 IOMMU(Input-Output Memory Management Unit)라는
하드웨어가 메모리에 직접 접근하는 걸 제한하는 기술(일종의 메모리 방화벽)을 게임에 적용하기도 함
물론 이건 시기상조라는 말이 많고, 관련하여 온갖 찐빠가 많은 편임
(TPM 2.0 문제나, 안전 부팅 문제나...)
물론... 이러한 대책들 또한
부지런한 핵쟁이들에 의해 파훼돼고 있음
세상에 하나뿐인 전용 펌웨어를 만들어서 감지 데이터베이스에 없게 만들기,
게임할 때마다 하드웨어 ID를 바꿔서 추적 회피,
진짜 하드웨어를 하나 사서 그 정보를 완전히 복사해서 사용,
DMA 데이터를 여러 경로로 나눠서 전송해서 대용량 전송을 숨기기,
시스템이 부팅할 때 메모리 맵을 조작해서 DMA 카드를 정상 장치로 위장,
말도 안 되지만 한편으론 말이 되는 하드웨어 정보를 넣어서 IOMMU를 혼란시키기
등등 온갖 기상천외한 방법과 역돌격으로 안티치트의 엉덩이를 털어대고 있음
아주 부지런한 십ㅅㄲ들이 아닐 수 없다
<3줄 요약>
1. DMA 핵이 나타나서 기존 안티치트 감지 방식 상당수가 무력화됨
2. 투컴 + 고가 장비가 필요해서 비싸지만 거의 감지가 불가능
3. 게임사들이 대응은 하고있지만 솔직히 창과 방패의 대결에서 창이 크게 이기고 있는 모양새
출처
Copyright ⓒ 시보드 무단 전재 및 재배포 금지
본 콘텐츠는 뉴스픽 파트너스에서 공유된 콘텐츠입니다.






























