'월드오브워크래프트: 불타는 성전'의 모든 콘텐츠를 소모하고 국방의 의무를 수행했다. 전역 후, 같이 게임을하던 사람들도 생각나고 예전 향수도 있고 해서 정말 오랜만에 접속했다. 그리고 "악"소리를 지를만한 충격적인 사건을 경험했다.

채광과 대장을 올려놓았던 캐릭터는 무두와 채광으로 바뀌어 있었고 마법부여를 올려놨던 캐릭터는 약초채집으로 변해있었다. 고객센터를 통해 문의를 해봤지만 이미 떠나간 나의 캐릭터를 복구할 방법은 없었다.

지금 생각해보니 내 캐릭터는 흔히 말하는 '작업장'의 봇으로 도용되었던 듯하다. 이런 행위를 Fraud 라고 하는데, 게임 계정 도용뿐만 아니라 신용카드 도용, 은행계좌 도용, 보험사기, 탈세 등 광범위한 영역에 사용되고 있다.


▲엔씨소프트 이은조 데이터 분산처리 팀장


Fraud 행위를 잡아내는 행동을 Fraud Detection 이라고 부른다. 게임을 서비스하는 입장에서는 마땅히 심혈을 기울여야 할 요소다. 엔씨소프트의 이은조 데이터 분산처리 팀장은 Fraud를 탐지하는 방법에는 무엇이 있으며, '작업장'이라 불리는 오토봇들을 잡기위한 방법까지 개괄적으로 풀어냈다.

Fraud Detection에는 4가지 방법이 있다. 첫 번째는 If Than Rules. 해당 분야전문가의 경험에 의한 탐지규칙을 생성해 탐지하는 것이다. 이를테면 결제자 이름이 소문자로만 되어있는가? 여러 은행의 신용카드를 돌려가며 결제하는가? 결제시간이 새벽인가? 등으로 탐지규칙을 생성한다. 이 기법은 탐지 규칙이 단순하고 결과에 대한 해석이 쉬운 반면에, 새로운 사기 행위 탐지가 불가능하다는 단점이 있다.

두 번째는 Predictive modeling기법. 통계와 데이터 마이닝 기법을 이용한 탐지 방법이다. 통계나 수학적 기법을 통해 알고리즘을 만드는 기법이기 때문에 사람의 선입견과 부주의를 미연에 방지할 수 있으나 학습 집합 구축이 굉장히 어렵다.

이 기법의 핵심은 학습 집합 구축인데, 기존 집합에서 믿을 만한 데이터가 있어야 도출할 수 있으므로 Fraud를 잡기 위해 Fraud에 당한 표본이 있어야 된다는 모순이 있다.

세 번째는 Abnormality detection. 학습 집합이 필요 없다는 장점이 있으나 프로파일링이 어렵다는 단점이 있다. 네 번째는 Network analysis 기법이다. 사기행위자 간의 관계 네트워크를 분석해 일반인들과는 다른 네트워크 특성을 탐지하는 것이다. 최근에 많이 시도하고 있는 방법이지만 분석의 역사가 짧아서 아직 분석 기법이 정교하지 못하다.

대표적인 4가지 기법을 통해 Fraud Detection을 행한다 하더라도 사기행위로 탐지된 전체 온라인 거래의 80%는 오탐(False positive)로 판명 날정도로 상당히 어렵운 작업이다. 이은조 팀장은 특히 게임 내에서의 Fraud Detection은 회사 이미지에 막대한 타격을 입힐 수 있는 부담스런 작업이라고 강조했다.

게임 내 대표적인 Fraud 행위는 기자가 경험했던 계정도용과 게임어뷰징, 그리고 흔히 '오토'라고 불리는 자동 사냥 프로그램이 대표적이다. 특히, 오토 프로그램은 의도치 않게 콘텐츠를 소모하기 때문에 큰 골칫거리다.

이에 이은조 팀장은 Self similarity algorithm을 통해 오토 캐릭터를 탐지하는 방법을 소개했다. 오토 캐릭터는 미리 설정된 행위를 반복하는 것에 초점을 맞췄다. 즉 캐릭터는 자기 반복적인 행위를 시도하는데 이를 '자기 유사도'값으로 설정해 일반적인 유저와 오토 캐릭터를 구분한다는 것이다.

자기 유사도는 캐릭터별 발생 로그를 벡터로 변환한 후, 각 벡터의 cosine similarity를 계산해서 나온 세타값을 비교 분석해 얻을 수 있다. 캐릭터별 자기 유사도의 변화 추이를 분석하고 과거 오토로 판명 난 캐릭터와의 상관 계수 변화량 추적모델과 행동패턴을 비교함으로써 특이한 모습이 나타나는 표본을 탐지할 수 있다.

이은조 팀장은 철저하게 분업화돼있는 작업장에 관해 이야기를 이어갔다. 파밍봇이라 불리는 재화를 생산하는 캐릭터들과 재화를 모아두는 창고 캐릭터 그리고 일반 유저와 접촉하는 리셀러 캐릭터로 구분되어 있다고 말했다.

게임사 입장에서는 리셀러 캐릭터를 탐지해 네트워크를 이루고 있는 창고 캐릭터와 파밍봇을 색출하는것이 가장 좋은 방법이다. 이은조 팀장은 이 방법을 실현하기 위해 캐릭터 간의 거래 네트워크를 도식화해 그래프 클러스터링을 수행했다. 그 결과, 오토 캐릭터가 많이 있는 클러스트가 검출되었고 리셀러 캐릭터들을 성공적으로 처리할 수 있었다.

이은조 팀장은 Fraud Detection에 대한 어려움을 토로했다. NC의 과거 사례를 소개하며 오탐에 대해 두려움을 설명했다. 또한, 끊임없이 탐지 패턴을 피하고자 변화하는 작업장의 행태도 탐지에 어려움을 준다고 밝혔다.

마지막으로 작업장은 서로 탐지기법에 관해 정보를 주고받는데 반하여 이에 대응하는 게임업계나 금융업계는 데이터를 공유하지 않기 때문에 데이터 구축에 어려움을 겪고 있다고 밝혔다.

"중요한 건 알고리즘이 아니에요. 어떻게 하면 학습 집합을 잘 만드는가가 중요한 거에요. 그러기 위해서는 자료를 공유해야 되요. 제가 강연을 결심한 이유도 그것이고요."