Vanguard x VALORANT

부정행위자들이 진화함에 따라 부정행위 방지 팀도 발맞춰 진화합니다.

플레이어 여러분, 안녕하세요! 라이엇 부정행위 방지 뱅가드 팀의 호제이 “the3” 차베즈라고 합니다! 저는 데이터 엔지니어로서 팀이 부정행위자를 감지하고 대응하는 데 필요한 데이터를 빠르고 효율적으로 제공하는 일을 합니다. 한마디로 데이터에 날개를 달아줍니다. 데이터를 다루는 일은 재미있지만, 잠깐 쉬면서 뱅가드의 현황을 말씀드리면 좋겠다고 생각했습니다. 

솔직하게 고백하겠습니다. 리그 오브 레전드용 뱅가드 게시글을 올린 mirageofpenguins 님에게 이번 글도 써달라고 부탁하려고 했지만, 답변 대신 무슨 비디오테이프를 반납해야 한다는 말만 중얼거리더라고요? 아무튼 일단은 제가 PC용 발로란트의 부정행위 방지, 콘솔용 발로란트에서 마우스 사용 감지를 다루고 경쟁전 무르기 기능 도입 계획을 살짝 언급한 후 마지막으로 계정 보안과 관련해 일생일대의 조언을 드리고자 합니다.


플레이어 여러분의 게임을 지키며 걸어온 4년

뱅가드가 발로란트와 함께 나온 지 4년이나 지났다니 놀랍지 않나요? 엄청난 여정을 걸어왔으며 그동안 우리 모두 많은 일을 겪었습니다. 다행히 부정행위 방지 체계는 여전히 굳건하며 앞으로도 그렇게 유지할 생각입니다! 


우선 그동안 어떠한 조치를 했는지 간략하게 돌아보도록 하겠습니다. 지난 4년간 360만 개의 계정에 부정행위로 인한 이용 제한을 부과했습니다. 대략 37초당 1번꼴로 이용 제한을 부과한 셈이죠! 이 수치는 봇 사용이나 대리 게임, 고의로 부정행위자와 플레이하는 행위에 대응하고자 시행한 추가 조치를 포함하지 않는다는 점을 강조하고 싶습니다. 아래의 그래프에서 이용 제한을 부과한 체계별로 구분해서 출시 이후의 조치를 나타냈습니다.

  • 감지: 명백한 부정행위를 감지해서 이용 제한 부과

  • 하드웨어: 재위반 계정을 적발해서 이용 제한 사후 부과

  • 수동: 담당자가 수동으로 검토해서 이용 제한 부과

그 어느 때보다 많은 부정행위 계정에 대해 조치를 시행하고 있습니다. 발로란트의 인기가 상승하면서 플레이어뿐만 아니라 부정행위자의 유입까지 늘었다는 점에서 일부 기인하기도 하지만, 동시에 최근 들어 자동 감지 체계가 하드웨어 차단보다 큰 몫을 하고 있음을 확인할 수 있습니다. 발로란트가 실행되기에 더 안전한 환경을 확보하고자 추가 대책을 테스트하고 도입하는 과정에서 의도적으로 그렇게 한 것입니다(아래에서 더 자세히 말씀드리겠습니다). 

발로란트에서 뱅가드가 시행한 모든 조치를 나타낸 시계열 그래프입니다. 수동 이용 제한, 자동 감지에 따른 이용 제한, 재위반 계정 하드웨어 차단을 포함합니다. 부정행위자가 있는 게임의 비율을 나타낸 선 그래프가 포개지게 했습니다.

지난 몇 달 동안 이용 제한 총계가 올라가기는 했지만, 감지 소요 시간은 비교적 변함없었습니다. 아래 그래프에서 조치 소요 시간은 대체로 변함없는 모습을 보입니다. 위 그래프에서 부정행위자가 있는 게임의 비율이 보이는 꾸준한 추이와 일치하죠. 부정행위와의 싸움은 점점 복잡해지지만, 게임에서 부정행위자를 최대한 빠르게 내쫓겠다는 다짐에는 흔들림이 없습니다. “최대한 빠르게”라고 했지만, 실제로는 살짝 기다리는 편이 더 나을 때도 있습니다! 부정행위자가 나오는 족족 곧바로 이용 제한을 부과하지 않을 때가 있는 이유를 말씀드리고자 하니 그래프에 뒤따르는 내용도 확인해 주시기를 바랍니다. 

부정행위자가 이용 제한을 당하기 전 평균적으로 플레이한 게임의 수

꽤 뿌듯한 성과이기는 하지만, 문제는 이러한 수치가 전부 부정행위자에게 얼마나 대응했는지만 보여준다는 데 있습니다. 부정행위자를 적발해 최대한 빨리 발로란트에서 쫓아내면 좋은 일이지만, 애초에 해를 끼치지 못하게 부정행위자를 선제적으로 막고 싶습니다. 발로란트에서 부정행위를 막고자 뱅가드가 이미 많은 일을 하는데 어떡하면 더욱더 강화할 수 있을까요?

간혹 매우 수상한 행동을 보이는 플레이어를 발견할 때가 있습니다. 노골적인 부정행위는 아니지만, 그 경계에 있는 행동을 보이는 경우죠. 혹은 부정행위자를 적발했는데 만회할 기회를 주고자 할 때도 있습니다. 이때는 뱅가드 제한이라고 하는 조치를 시행합니다. 간단히 말해 부정행위를 더 어렵게 하는 Windows의 보안 기능을 활성화하게 함으로써 수상쩍은 플레이어에게 부정행위를 안 하겠다는 약속을 받습니다. 이렇게 하면 (재위반 시) 조치 소요 시간이 인위적으로 늘어날 수 있지만, 부정행위가 더 어려워지므로 전반적으로 부정행위자가 있는 게임의 비율에 영향이 가지 않습니다.

그러면 이러한 플레이어에게 어떤 보안 기능을 왜 활성화해달라고 하는지를 살펴보겠습니다. 미리 경고를 드리자면 다음 부분에서는 훨씬 더 기술적인 내용으로 들어가고자 합니다. Windows 보안의 기능이 어쩌고저쩌고한다는 이야기에 관심이 없다면 바로 다다음 부분으로 넘어가셔도 좋습니다.


제한 공개

원래는 뱅가드 제한으로 플레이어의 현재 Windows 버전을 더 새로운 버전으로 업데이트하는 조치를 요구하기만 했습니다. 더 오래된 버전이면 커널에 코드를 삽입하는 데 이용할 수 있는 취약점이 더 흔하기 때문이죠. 비슷한 조치로 Windows 10 PC에서도 뱅가드 제한으로 TPM/보안 부팅을 요구했습니다. 이로써 부트키트를 이용한 부정행위의 가능성을 차단하고 더 나은 형태의 하드웨어 ID를 확보하고자 했습니다. 현재 뱅가드 제한을 부과해서 가상화 기반 보안(virtual-based security, VBS)과 하이퍼바이저 보호 코드 무결성(hypervisor-protected code integrity, HVCI)을 요구하는 방법의 실행 가능성을 살펴보고 있습니다. 비교적 새로운 보안 기능인 VBS와 HVCI는 Windows가 악성 소프트웨어나 취약점 악용으로부터 커널을 더욱더 안전하게 지킬 수 있게 합니다. 

직접 메모리 접근(direct memory access, DMA)을 이용하는 새로운 형태의 부정행위가 부상하고 있습니다. DMA 툴은 메인보드에 직접 연결해서 CPU를 거치지 않고 프로그램의 메모리에 접근합니다. 간단히 말해 외부 도구로 메모리를 조작하는 셈이니 Windows가 조작 여부를 감지하기 어려워집니다. 이러한 수법에 대응하고자 입출력 메모리 관리 장치(input–output memory management unit, IOMMU)도 요구하는 뱅가드 제한을 고려하고 있습니다. 악성 장치가 발로란트의 메모리에 잠입하지 못하게 함으로써 빈틈을 메우고자 합니다. 콘솔 플랫폼 역시 똑같은 IOMMU 기술을 활용해 게임의 메모리를 보호하는데요. 콘솔에서는 DMA가 사실상 전무하다는 점에서 효과가 드러납니다. 

밀도 높은 정보를 한꺼번에 많이 다루었는데요. Windows는 PC를 악성 소프트웨어로부터 안전하게 지킬 수 있게 이렇게 많은 기능을 갖추고 있습니다. 많은 부정행위는 사실상 게임을 겨냥하는 악성 소프트웨어의 일종이죠. 마이크로소프트는 운영체제의 보안을 확보하고자 이러한 기능을 개발해 왔으며 앞으로도 계속 노력을 이어간다면 커널 수준의 부정행위 방지가 없어도 괜찮은 날이 올 겁니다. 사실 Windows가 (전체적으로 보안을 확보하고 모든 것을 샌드박스에 격리하기 시작하며) 아예 모든 서드 파티 프로그램을 커널 밖으로 옮기려고 하리라 생각합니다. 하지만 플레이어 여러분은 대부분 이런 문제를 걱정할 필요가 없겠죠. 모두 다 편안하게 게임을 즐길 수 있기만을 바라는 좋은 분이시니까요.


그래도 부정행위자 때문에 졌는데요?!

앞서 부정행위자가 이용 제한을 당하기 전 플레이한 게임의 수를 나타낸 그래프를 보여드렸습니다. 수치가 어떻든 확실한 사실은 수치가 0이 아니라는 것입니다. 변명처럼 들릴 수 있겠지만, 수치가 0이 되기를 바라지는 않습니다. 저희가 부정행위자를 색출하는 정확한 방법은 수수께끼에 둘러싸여 있으며 부정행위 개발자의 작업이 어려워지도록 계속해서 그러기를 바랍니다. 저희만 허둥지둥한다면 기분 나쁘잖아요. 상대도 허둥지둥하며 곤란해져야 합니다. 많은 경우 부정행위자가 게임에 들어가는 즉시 감지할 수 있지만, 곧바로 이용 제한을 부과하지는 않습니다. 조치를 바로 해버리면 부정행위 개발자가 A/B 테스트로 감지 방법을 파악할 기회가 생기기 때문입니다. 부정행위를 감지하는 대로 즉시 이용 제한을 부과한다면 부정행위 개발자는 그저 부정행위를 수정한 후 새로운 계정을 얻어서(이래서 계정 보안이 중요합니다) 또 이용 제한을 당하는지 확인하기만 하면 됩니다. 그다음 똑같이 반복을 거듭합니다. 그러면서 감지가 어떻게 이루어졌는지 빠르게 간파해서 우회로를 마련하고 34번째로 또 ‘안 걸리는’ 부정행위를 판매할 테죠. 언젠가는 부정행위자를 또 적발하겠지만, 한 박자 늦은 이용 제한 부과로 부정행위 개발 과정의 속도를 늦춤으로써 감지 방법이 효과를 유지하는 기간을 늘릴 수 있습니다.

이용 제한을 지연 부과하는 전략이 부정행위 방지에는 좋을지 몰라도 이용 제한의 철퇴가 내리쳐지기 전까지 몇몇 플레이어는 고통받게 된다는 사실을 인지합니다. 이용 제한이 이루어지기 전 부정행위자 때문에 플레이어들은 힘들게 얻은 RR을 잃고 랭크 상승의 영광을 놓칠 수 있습니다. 아주 언짢은 상황이니 발로란트 경쟁전 및 소셜 체계 팀과 협력해 ‘경쟁전 무르기’라고 부르는 기능을 준비하고 있습니다. 무르기 기능은 부정행위자에게 이용 제한을 부과한 후 다른 플레이어가 부정행위자를 상대한 게임에서 잃은 RR을 원상 복구합니다. 그러면 양쪽에 각각 응당한 결과가 나옵니다. 부정행위자는 게임에서 퇴출당하고 피해를 당했던 플레이어는 다시 실력을 자부할 수 있죠. 아직 완성하지는 못했지만, 확실히 도입할 예정입니다.

뱅가드 x 콘솔

난해한 PC 쪽 내용을 뒤로하고 새로운 주제로 넘어가 보도록 하겠습니다. 지난 6월 라이엇은 발로란트 콘솔 클로즈 베타를 개시했습니다. 최초의 콘솔 게임을 출시하는 일 자체도 라이엇으로서 큰 업적이었지만, 발로란트 콘솔은 부정행위 방지 팀으로서도 미지의 세계였습니다. 콘솔에서 부정행위를 감지하는 경험이 제한적이었던 만큼 갈 길이 멀었었습니다.

콘솔 게임 부정행위의 여건은 PC와 다릅니다. PC에서는 무엇을 언제 어떻게 실행할지와 관련해 사용자에게 큰 통제력을 주어서 무언가를 마음대로 변경하거나 악용할 소지가 있습니다. 그러나 콘솔은 퍼스트 파티 제조사(소니, 마이크로소프트 등)에서 제한하는 부분이 훨씬 더 많습니다. 콘솔이 원래 하지 않는 일을 하도록 속이기란 훨씬 어렵습니다. 따라서 콘솔에서는 부정행위자의 공격이 완전히 다른 방법으로 이루어집니다. 게임이 받는 입력을 조작하는 수법을 쓰죠. 콘솔 슈팅 게임의 부정행위 현황을 조사할 때 공정한 경쟁을 해치는 주범은 마우스와 키보드라는 사실을 곧장 깨달았습니다.

일인칭 슈팅 게임의 콘솔판은 대부분 스틱 기반 게임플레이 경험을 향상하고자 조준 보정 기능을 구현해 놓습니다. 발로란트 역시 마찬가지입니다. 하지만 콘솔 일인칭 슈팅 게임의 조준 보정에 화면을 가로지르는 컴퓨터 마우스의 끌어치기 능력까지 갖추면 컨트롤러를 사용하는 플레이어를 쉽게 능가합니다. 라이엇은 이러한 사실을 고려해 플레이어 간 경쟁의 공정성을 지키고자 콘솔과 PC 플레이어 간 크로스플레이를 도입하지 않기로 했을 뿐만 아니라 콘솔 게임플레이에는 마우스와 키보드를 허용하지 않기로 했습니다. 그럼 만사형통이죠! 이제 콘솔 플레이어는 대등한 경쟁 조건을 보장받는다고 안심하며 상대와 겨룰 수 있겠네요. 이렇게 간단하게 끝날 문제였으면 소원이 없겠습니다.


게임 콘솔에 마우스와 키보드를 연결하는 데 사용하는 입력 스푸핑 장치의 예시

안타깝게도 규칙을 어기려는 사람은 항상 있기 마련입니다. 콘솔 게임에서 부정행위는 콘솔의 USB 포트에 마우스와 키보드를 꽂기만 하는 것으로 끝나는 간단한 일이 아닙니다. 마우스와 키보드가 진짜 컨트롤러로 위장할 수 있게 스푸핑 장치를 사야 부정행위를 할 수 있습니다. 스푸핑 장치는 콘솔을 속여 컨트롤러를 연결했다고 착각하게 함으로써 부정행위자가 가상 마우스 입력과 조준 보정의 혜택을 둘 다 누릴 수 있게 합니다. 이는 콘솔 슈팅 게임에서 큰 문제이며 드디어 저희도 나서서 대책을 세울 차례였습니다...

콘솔 출시에 앞서 활용할 수 있는 데이터가 전무해서 출시 이후 데이터가 조금 쌓일 때까지 기다려야 할지 고민하기도 했습니다. 하지만 라이엇에서는 언제나 처음부터 훌륭한 플레이어 경험을 선사하려고 노력합니다! 따라서 대중의 손에 들어가기 전에 대책을 마련해야만 했습니다. 

라이엇이 다른 콘솔 슈팅 게임 개발사에서 데이터를 사 왔다는 추측이 돌기도 했지만, 실상은 달랐습니다. 저희가 퇴치하려는 적이 되기로 했습니다. 내부 플레이테스트에서 다양한 설정과 실력 수준으로 직접 부정행위를 하면서 기준점으로 삼을 확실한 데이터를 모았습니다(제 컨트롤러 에임 능력은 진짜가 아니었단 걸 동료들에게 고백합니다). 플레이테스트 내내 뱅가드를 담당하는 소프트웨어 엔지니어와 데이터 엔지니어가 면밀히 협력하면서 악의적 행위를 감지하는 데 필요한 데이터를 생성, 형식화, 조사했습니다. 수많은 플레이테스트와 데이터가 더 필요하다는 요구 끝에 결국 초기 감지 체계를 만드는 데 필요한 데이터를 확보하기에 이르렀습니다.

6월 14일에 드디어 결전의 날이 찾아왔습니다. 부정행위자를 죄다 잡을 수 있으리란 확신은 없었지만, 큰 해를 끼치기 전에 일부라도 잡을 수 있기를 바랐습니다. 몇 시간 안에 소식이 들어왔습니다. 이용 제한이 부과된 거죠! 이어서 더 많은 이용 제한이 부과되기 시작했습니다. 플레이어들이 저희의 노력을 알아보기 시작했으며 정말 뿌듯했습니다! 출시 후 첫 주말부터 벌써 감지 체계에 적응하려는 시도가 보여서 부정행위자에게 뒤처지지 않도록 감지 기술을 계속해서 개선했습니다. 활용할 수 있는 데이터가 훨씬 더 많아진 시점이었으며 작업을 거듭할수록 감지 체계가 발전하고 있었습니다.


입력 스푸핑 장치와 마우스 및 키보드를 사용하는 플레이어가 실시간 이용 제한을 당하는 영상을 올린 부정행위 방지 단체의 게시물

다 좋은데 이제 데이터 담당자답게 수치를 보여줄 때가 왔다고 생각하시는 분이 많겠죠. 알겠습니다. 아래에서 클로즈 베타 시작 후 발로란트 콘솔에서 시행한 조치의 수를 나타낸 그래프를 확인할 수 있습니다. ‘이용 제한’이 아니라 ‘조치’라고 하는 이유는 전면적인 이용 제한 대신 대전 종료(와 플레이어 알림) 조치를 대안으로 섞어서 활용하는 시도를 하고 있기 때문입니다. 흥미롭게도 게임이 새로운 지역에서 열린 시점, 오픈 베타 전환 시점, 정식 출시 시점에 각각 시행한 조치의 수가 급증하는 모습을 볼 수 있습니다.

6월 14일 오픈 베타 시작 후 발로란트 콘솔에서 뱅가드가 시행한 조치를 나타낸 그래프입니다. 부정행위자가 우쭐거리는 일이 없도록 부정행위자의 총수는 당분간 공개하지 않고자 합니다.

콘솔 부정행위자와의 싸움에서 거둔 초기 성공을 돌아보느라 재미있었지만, 싸움이 끝나려면 한참 멀었습니다. 부정행위자는 계속해서 감지 체계의 한계를 시험할 것이며 저희는 계속해서 새로 등장하는 수법에 발맞춰 적응해야만 합니다. 플레이어들이 대전의 공정성에 대해 안심할 수 있도록 뱅가드와 부정행위 방지 팀은 콘솔 부정행위라는 또 다른 전선을 계속 지키고자 합니다.

자동차라면 다운로드하지 않을 거잖아요

어릴 때 본 광고에 의하면 ‘자동차라면 훔치지 않을 거잖아요’라고 하던데 부정행위자는 아무런 거리낌 없이 플레이어 여러분의 계정을 훔쳐서 악의적 행위에 이용합니다. 자기 계정이 이용 제한을 당한 후 포기하고 미련을 버렸으면 좋겠지만, 부정행위자는 안 그럽니다. 부정행위자는 고집이 세서 이용 제한의 철퇴를 맞고 나서도 게임에 돌아오려고 합니다. 하드웨어 무작위화, 계정 생성, 튜토리얼 과정을 반복해서 하면 진저리가 나기 마련입니다. 하지만 계정을 훔치면 간단하게 끝날 문제죠! 

불행히도 와이파이 물통의 비밀번호조차 유출될 수 있는 게 우리의 현실입니다. 유출된 정보는 이메일이나 계좌에 몰래 접근하는 데 사용될 수 있습니다. 더 심각하게는 라이엇 게임즈 계정도 위험해질 수 있죠! 악질분자는 유출된 정보로 무고한 플레이어의 계정을 도용해 악행을 저지릅니다. 이러한 사실을 보여주는 수치가 있습니다. 발로란트에서 부정행위에 따른 이용 제한 중 4%는 추후 계정 도용이 원인으로 밝혀져 취소됩니다. 그리고 예상하셨겠지만, 계정이 도용당했다고 주장해서 자기가 받은 이용 제한이 취소되게 하려는 시도는 부정행위자가 흔히 쓰는 전략입니다. 하지만 부정행위자가 거짓말을 하면 간파할 수 있어서 속지 않습니다. 

그러면 어떡해야 계정을 보호할 수 있냐고요? 우선 즉시 가능한 가장 쉬운 조치로 비밀번호를 변경할 수 있습니다. 누구나 2011년부터 똑같은 비밀번호를 쓴 계정 하나 정도는 바로 떠올릴 수 있을 텐데요. 비밀번호를 기억하기는 쉽겠지만, 그만큼 계정이 도용당하기 쉬워집니다. 더 새롭고 더 강하며 라이엇 계정에만 사용하는 비밀번호로 변경하면 유출된 비밀번호를 악용하는 악질분자에게 당할 가능성이 현저하게 줄어듭니다. 다음으로 강력한 조치는 라이엇 계정에 2차 인증을 활성화하는 것입니다. 라이엇 게임즈 계정에 로그인한 후 계정 관리 페이지에 가면 2차 인증을 활성화할 수 있습니다. 

2차 인증을 활성화한 라이엇 게임즈 계정의 계정 관리 페이지

무슨 생각을 하시는지 잘 압니다. 그냥 신속플레이 혹은 데스매치를 한 판 하려는데 로그인 승인 코드를 받으려고 이메일까지 확인하는 일이 귀찮을 수는 있겠지만, 2차 인증에 따른 계정 보안 효과는 이루 헤아릴 수 없습니다. 계정을 되찾으려고 할 때의 마음고생과 성가심에 비하면 2차 인증 때문에 로그인 과정이 몇 초 늘어나는 건 아무것도 아닙니다. 이메일이든 은행이든 와이파이 물통이든 모든 온라인 계정에 해당하는 조언입니다. 비밀번호를 변경하고 가능한 경우 2차 인증을 활성화하시기를 바랍니다. 그러면 악질분자의 계획에 큰 걸림돌이 생기니 계정(과 그동안 계정에 쏟은 노력)이 안전하다고 확신하며 밤에 맘 놓고 주무실 수 있습니다.

마치며

생각보다 많이 써서 놀랐습니다. 오늘의 내용이 유익했기를 바랍니다! 추억을 회상하면 좋지만, 아직 갈 길이 멉니다. 뱅가드가 발로란트 PC와 발로란트 콘솔, (역시 저희가 담당하는) 리그 오브 레전드까지 여러 전선에서 싸워야 하는 상황인 만큼 특히 더 그렇습니다. 게임의 공정성을 지키는 싸움의 끝은 아직 멀었으며 뒤처지지 않으려면 긴장을 늦출 수 없습니다. 다행히 뱅가드로 최고의 부정행위 방지 체계를 만들고자 (내부 플레이테스트에서 부정행위를 하면서까지) 필요한 일을 마다하지 않으며 뛰어난 지능과 강한 의지를 겸비한 팀이 있습니다. 현재로서는 계정의 보안을 꼭 챙기시고 게임에서 부정행위를 한다고 의심이 가는 플레이어는 신고해 주시기를 바랍니다! 마지막으로 부정행위자들에게도 한마디 하겠습니다. 이제 그만 좀 하시죠.