12일, 라이엇 게임즈가 <리그 오브 레전드>(이하 LoL)에 뱅가드를 도입하는 이유를 설명하는 '개발 인사이드'를 공개했다. 라이엇 게임즈는 2024년 1월 <발로란트>에서 사용되던 보안 프로그램 '뱅가드'를 <LoL>에 도입하겠다고 밝혔다.
국내와 일본의 경우에는 '데마시아'와 같은 별도의 프로그램이 있지만 더욱 강한 부정행위(이하 핵) 방지 프로그램이 필요하다고 판단됐기 때문이다. 데마시아는 뱅가드로 대체될 예정이다.
라이엇은 글에서 뱅가드의 도입은 최대한 마지막 수로 남기려 했지만, 기존의 방식으로는 한계에 봉착한 상황이었다고 전했다. 마스터 티어 이상의 핵 프로그램 사용 유저도 늘어났으며, 수동 제재로 판단해야 할 경우도 너무나 늘어났던 상태라고 전했다. 아래는 라이엇 게임즈의 개발 인사이드 글을 요약한 것이다.
<LoL>은 무료로 플레이할 수 있는 게임이고, 핵 프로그램을 사용하는 사람은 보통 1회성에 그치지 않기에 정지를 당하면 계정을 구매해 다시 게임을 플레이한다. 무료 게임인 만큼 계정 판매자들은 핵 스크립트를 통해 계정을 양산하고 약 2,700원이 되지 않는 가격에 판매한다.
라이엇은 "최근 몇 달 들어서는 전 세계적으로 많게는 15게임당 1게임꼴로 자동 입력 또는 봇 프로그램 사용자가 있었고, 일부 지역에서는 5게임당 1게임까지 늘어난다"라고 했다. 게임 이용에 본인 인증을 요구하는 정책이 있는 중국과 한국의 핵 프로그램 사용자는 다른 나라로 넘어간다고 전했다.
핵을 사용하는 이용자의 랭크 게임 승률은 80%을 맴돈다. 효능감이 확실히 있다는 뜻이다. 라이엇의 조사 결과 마스터 티어에서 핵 프로그램을 사용한 이용자가 있었던 게임의 비율은 10%를 넘어섰다. 정기적으로 수작업 검사를 하는 챌린저 티어에서도 상당수의 핵 사용자가 있었다.
라이엇은 "이는 통계적으로 '나쁜 선'이라고 한다. 추세가 심각하다. 설상가상으로 현재의 핵 방지 체계가 뚫린 결과 추세가 어떻게 이어지는지 확인할 길이 없다"라고 했다.
핵 이용자가 포함된 게임의 수를 추적한 그래프. Y축은 이용 정지를 당한 계정의 수다. (출처: 라이엇 게임즈)
티어별 핵 프로그램 사용자가 포함된 게임의 수
상위 랭크로 갈 수록 핵 사용자 비율이 높아진다. (출처: 라이엇 게임즈)
<LoL>은 6년 정도의 기간 동안 팩맨(Packman)이라는 핵 프로그램 방지 체계를 사용해 왔다. 게임 바이너리(binary)의 분석을 어렵게 하고, 핵 사용 감지 기능을 숨기는 역할을 한다. 그러나 최근 바이너리를 추출하고 핵 방지용 검사를 우회하는 것이 쉬워졌으며, 2023년 발생한 대규모 데이터 유출로 인해 작업이 더욱 쉬워졌을 가능성이 있다고 전했다.
라이엇이 글에서 설명한 대규모 데이터 유출은 2023년 1월에 발생한 소스코드 탈취를 말하는 것이다. 당시 해킹범은 <리그 오브 레전드>와 <전략적 팀 전투> 그리고 치트 방지 프로그램의 소스 코드를 입수했다며 라이엇 게임즈에 돈을 요구했다. 라이엇은 지불하지 않겠다며 강경 대응 방침으로 답했다.
그리고 라이엇은 팩맨을 사용하는 구조에서는 '수동'으로 핵 사용을 판별해야 하는 비율이 급격히 늘어났다고 전했다. 라이엇은 "무수한 담당자가 무수한 핵 사용자를 검토하는 방안은 전략적을 타당하지 않다. 업그레이드가 필요한 상황"이라고 했다.
빨간색은 수동으로 확인해야 했던 경우, 파란색은 자동으로 팩맨이 핵 사용자를 검출한 경우다.
2023년 3월 이후 수동으로 확인해야 했던 사례의 수가 늘어난 것을 확인할 수 있다. (출처: 라이엇 게임즈)
핵 프로그램을 막는 것은 마치 꼬리잡기와 같은 구조를 띄고 있다. 핵 프로그램을 차단하면, 사용자 혹은 판매자는 이를 우회하는 방법을 찾아내기 때문이다.
라이엇 또한 핵 프로그램을 최대한 차단하려 하지만, 부정 행위를 막으면 우회법을 찾기 쉬운 경우에는 의도적으로 핵을 감지한 후 시차를 두고 조치를 취한다. 전 세계의 안티 치트 개발자가 마주한 상황이기도 하다.
라이엇은 뱅가드를 사용한 <발로란트>와 <LoL>의 핵 프로그램 사용자 정지를 위한 평균 게임 횟수를 비교하면 <발로란트>가 훨씬 적다고 전했다. 더불어 <발로란트>와 같은 FPS는 훨씬 더 정교한 핵 프로그램이 존재하기에, <LoL>에 뱅가드를 도입하면 훨씬 더 좋은 결과가 예상되는 상황이라고 했다. 더불어 뱅가드의 빠른 대응 속도로 인해 많은 핵 프로그램 이용자가 사용 시도조차 포기하는 결과가 많았다고 했다.
라이엇은 '뱅가드'에 대해 플레이어가 우려하는 사항에 대해서도 설명했다. 뱅가드는 운영체제 자체에 보안 기준을 적용하기 때문이다.
뱅가드는 <발로란트> 출시 당시 여러 오류를 일으키며 많은 논란을 낳았다.
먼저, 뱅가드에 사용되는 드라이버는 게임이 신뢰할 수 있는 환경에서 실행되고 있는지만 확인하는 것이 목적이라고 전했다. 핵 프로그램이 발전하면서, 핵 행위 방지 프로그램의 이상의 권한을 윈도우에서 취득한 후, 보내는 반응을 의도적으로 교란해 정상적인 환경에서 게임을 플레이하는 것처럼 인식시키는 경우가 많기 때문이다.
그리고 뱅가드가 '항상' 켜져 있지만 '항상' 작동하는 것은 아니라고 전했다. 라이엇의 게임을 실행하기 전에 뱅가드는 네트워크에 연결되지 않는다.
라이엇은 개발 인사이드를 통해 뱅가드에 대한 질문을 요약한 별도의 QnA를 공개하기도 했다. 다음은 QnA 중 핵심 내용 몇 가지를 꼽아 요약한 것이다. 전문은 라이엇 게임즈 공식 홈페이지에서 확인할 수 있기에 가능하면 원문을 읽는 것을 권장한다.
A. 드랍 핵의 유형은 일반적으로 (1) 서버를 노리는 DDoS 재전송 공격, (2) 다른 사용자를 노리는 DDoS UDP 폭주 공격, (3) 기형 서버 패킷 등 3가지로 나뉜다.
뱅가드는 클라이언트 측 부정행위 방지 체계이므로 전자에 필요한 트래픽 추출용 툴을 감지할 수 있으며, 보통 후자에 쓰이는 패킷 처리기 대상 훅을 막을 수 있다. 가정집을 노리는 DDoS 공격에는 뱅가드가 할 수 있는 게 많지 않다. 로컬 소프트웨어는 망 요소의 과부하를 막을 수 없다.
Q: 뱅가드가 그렇게 좋은데 왜 <발로란트>에서 핵이 보이나?
A. 우선 모든 부정행위 프로그램이나 계정에 대해 즉시 조치를 하지는 않는다. 각각의 이용 제한 조치는 해당 프로그램이 감지되었으니 부정행위 개발자에게 ‘업데이트’가 필요하다는 신호를 보내는 셈이나 마찬가지다. 부정행위 ‘군비 경쟁’의 진행 속도를 늦추고자 핵이 얼마나 정교하고, 핵 사용자가 얼마나 잘 보이는 지를 고려해 시차를 두고 이용 제한을 부과한다.
하지만 핵을 쓸 사람은 쓸 것이다. 예방 차원의 기능을 기존 장치 구성과 충돌하지 않고 정당한 플레이어에게 피해를 끼치지 않는 선에서 최대한으로 끌어올렸다.
어떤 핵이건 머지않아 감지하겠지만, 그전에 핵 사용자가 자신이 찍은 영상을 틱톡에 도배해서 광고를 하는 경우는 있을 것이다. 참고로 (핵 프로그램을 사용하는 인터넷 방송에) ‘라이브’라는 표시가 있어도 실시간 방송을 보고 있다는 뜻이 아닐 수 있다. 쓰레기를 다운로드하지 않길 권장한다.
Q. 뱅가드는 스파이웨어 아닌가?
A. 아니다. '스파이웨어'나 '루트킷'이라는 단어는 SNS에서 가짜 혼란만 낳고 있다. 이런 단어에 대한 클릭이나 리트윗 비율이 높기에, 콘텐츠 사이트에서 알고리즘에 따라 자주 등장하는 것이라 보고 있다.
텐센트와는 관계가 없다. 중국 서버는 독자적인 방지 체계를 사용한다. 뱅가드와 뱅가드의 코드는 공유하지 않는다. 데이터가 라이엇을 벗어난 적은 절대 없다.
뱅가드 (출처: 라이엇 게임즈)
Q. 핵 사용자에게 그만하라는 설득은 해 봤나?
A. 한 때 자필 사과문을 제출하면 이용 제한을 풀어줬다. 일부는 그만뒀지만, 프리랜서를 고용해 사과문을 대필한 경우가 많았으며, 이용 제한을 풀어준 91%가 6개월 안에 또 다시 이용 제한을 당했다. 핵 사용자에게는 상식이 통하지 않는다.
Q. 뱅가드가 키보드를 먹통으로 만든다고 들었다.
A. 출시 당시, 뱅가드가 취약한 드라이버는 아예 로딩하지 않도록 막았다. 드라이버 로딩을 통해 뱅가드를 무력화하는 것을 방지하기 위함이었다. 그러나 당시 호환성 테스트에서 불량 커널 드라이버를 활용할 수 있는 경우를 발견하지 못했었다. 여기에는 키보드 조명을 제어하는 드라이버도 포함되어 있었고, 이를 통해 핵 프로그램을 사용하는 경우가 있었다.
본래는 키보드의 조명과 매크로만을 위한 기능이라, 해당 개발자가 새로운 드라이버를 출시할 때까지 차단 목록에 남겨둔 것이다. 사실이라고 할 수 있다.
Q. 오제재가 있지 않나?
A. 이용 제한을 잘못 받았다고 주장하면 가능성 순서로 나열한 아래의 범주에 든다.
1. 거짓말을 한 경우
2. 부계정으로 핵을 실험하다가 하드웨어 결부를 통해 본계정까지 말려든 경우
3. 핵을 사용한 사람(보통 대리 게임 업자 또는 친척)과 계정을 공유한 경우
4. 대리 게임을 하며 핵을 프로그램을 사용한 사람과 사전 구성 팀으로 반복 플레이한 대가로 180일 이용 제한을 받은 경우
5. 핵 유저가 계정을 도용해 6게임 이상 다른 플레이어를 괴롭힌 경우
6. 다른 게임에서 사용한 핵이 뱅가드에서 감지된 경우
7. 핵과 비슷한 연산을 사용한 악성 프로그램을 설치한 경우
오제재 경우라면 고객 센터를 통해 문의해 달라. 오제제는 드물지만, 그런 경우에는 이용 제한은 며칠 안에 복구된다. 복구되지 않으면 위 7가지 범주 중 하나에 든 것이다.
Q. 그냥 핵 개발자를 고소하면 안 되나?
A. 필요할 때는 소송을 진행한다. 그러나 핵 방지가 적절히 이루어지면 소송이 가능할 정도로 사업을 영위하는 사람이 나오기 어렵다. 소송이 필요할 만큼 뱅가드 우회에 끈질기게 매달린 개발자는 많지 않았다.
Q 핵 이용자를 위한 별도의 게임 모드를 만들면 안 되나?
A. 핵 이용자만 모아 놓는 것은 흥미로운 발상이지만, 해당 시스템을 만들 리소스와 비용을 핵을 막는 데 사용하기로 결정했다.
(출처: 라이엇 게임즈)
Q. AI로 핵을 막으면 안 되나?
A. 기계 학습 모델을 사용하긴 하지만, 게임 서버가 받는 데이터만으로는 플레이어의 입력을 수정하지 않는 '정보성' 핵의 감지를 위한 세세한 정보를 얻을 수 없다. ESP와 같은 것은 감지할 수 없다. 그렇기에 전통적인 방법이 필요하다.
조준 보정 핵의 경우, 가장 뛰어난 AI 모델도 서버의 입력 정보만으로는 30%~50%밖에 잡지 못한다. 심지어 최근에는 의심을 피하고자 '인간화' 기능을 사용하는 경우도 있다. 지금은 무작위로 임의 행동을 하는 엉뚱한 기능이 대부분이지만, 언젠가는 핵 프로그램 개발자가 진짜 사람처럼 움직이는 마우스 움직임 모델을 학습시키려 노력할 가능성이 있다. 실제로 곧 나와도 이상하지 않다.
Q: 뱅가드가 수집하는 개인정보는 무엇인가?
A. 게임의 실행과 보안에 필요한 정보만 수집한다. 뱅가드는 사용자의 파일이나 문서를 내보내지 않는다.
다른 검사의 경우 사후 검토를 위해 '스냅숏'이라는 것이 필요한데, 여기에 개인식별정보가 들어갈 가능성이 있다. 예를 들어 <LoL>에 로딩되는 모든 라이브러리 파일 경로를 기록하는데, 해당 파일이 사용자 폴더에 있으면, 사용자의 이름이 들어갈 수 있다. 이런 것들을 기록하는 이유는 과거 해당 핵 프로그램을 사용한 사람을 적발하기 위함이다.
라이엇은 글을 마무리하며 더욱 강력한 방지책을 도입할 수도 있다고 했다.
가령 VM(가상 머신) 방지를 강화해 봇 프로그램 사용에 따르는 비용을 끌어올리고 어려움을 감수하도록 할 수 있다. 이 경우에는 대리 게임을 위한 봇 프로그램의 공급이 줄어들고, 계정 구매 방법을 줄일 수 있다. 또한, 뱅가드의 기기 핑거프린팅을 통해 대리 게임으로 얻은 보상을 박탈하고, 부계정이 알맞은 랭크에 보다 빠르게 도달하도록 하고, 어쩌면 '불공평한' 사전 구성 팀까지 무효화할 수 있다고 전했다.
더불어 보안 향상이 이루어지면 개발진이 더욱 많은 시간을 기획에 활용할 수 있다고 했다. 핵 프로그램이 줄어들면 챔피언 데이터를 망치는 행위가 줄어들어 밸런스 패치가 더욱 잘 이루어질 수 있다고 보았다.