[NDC18] 소프트웨어 2.0으로 부정 이용자 검출 방법

게임입력 :2018/04/27 08:45

소프트웨어 2.0을 이용해 게임 속 부정한 행위인 어뷰징을 찾는 방법이 넥슨 개발자 컨퍼런스에서 소개됐다.

26일 웹젠 김정주 TD는 판교에서 열린 넥슨개발자컨퍼런스2018(NDC18)에서 ‘소프트웨어 2.0을 활용한 게임 어뷰징 검출’이라는 주제로 발표했다.

소프트웨어 2.0은 테슬라의 딥러닝 전문가인 안드레 카파시가 내세운 개념이다. 사람이 의도를 가지고 프로그램을 구현하고 동작을 통해 데이터가 발생하던 기존 방식과 달리 자연 또는 이미 구현된 프로그램을 통해 확보한 데이터를 학습해 원하는 기능을 구현하는 것으로 빅데이터를 이용한 기계학습 등을 의미한다.

웹젠 김정주 TD.

김정주 TD는 소모용 캐릭터를 이용하 핵을 사용하는 비정상 플레이, 스팸메일 등의 어뷰징이 기하급수적으로 발생해 사람의 개입만으로는 한계에 달해 사람의 개입이 최소화된 탐지 시스템을 만들기 위해 소프트웨어2.0으로 개발했다고 밝혔다.

탐지 시스템은 범용 분산 클러스터 컴퓨팅 플랫폼인 스파크를 이용해 개발했다. 스파크는 규모 가변성이 좋아 빅데이터와 연결해도 추가로 소스코드를 변경할 필요가 없고 다양한 시도를 하기 좋은 장점이 있기 때문이다.

김정주 TD는 “PC 1대에서 충분히 구동할 수 있는 데이터라도 스파크를 이용해 빅데이터 환경을 조성해서 처리해보면 추후 실제 빅데이터를 사용할 때도 거의 동일하게 할 수 있다”며 스파크를 이용해 빅데이터 처리 연습을 해볼 것을 조언했다.

또한 빅 데이터 처리는 아마존의 데이터처리 서비스인 AWS EMR을 사용했으며 딥러닝 라이브러이는 텐서플로우(tenserFlow)와 파이토치(pyTorch)를 적용했다.

김 TD는 “스파크와 AWS EMR과 연동하는 방식은 직접 설치보다 비싸다고 할 수 있지만 직접 설치하고 유지보수하고 유연성이 높지 않은 만큼 회사 입장에서는 비용을 조금 더 쓰더라도 빠르게 처리하는 것이 현명할 수 있다”고 소개했다.

텐서플로우는 레퍼런스가 다양하고 속도가 빨라 실제 서비스에 적합하며 파이토치는 소스가 간결하고 디버깅이 용이해 연구에 적합한 장점이 있다.

김정주 TD는 소프트웨어2.0을 이용한 빅데이터 처리의 장점은 속도가 빠르다며 게임에서 어뷰징 관련 사고가 일어나 일부는 중복되고 일부 데이터가 없는 원천 로그 파일 4개월 치를 분석해야 했던 사례를 소개했다.

그는 기존 방식으로는 약 30일이 걸리는 작업이었지만 스파크와 아마존의 데이터처리 서비스인 AWS EMR을 이용해 30대 클러스트로 분산처리해 하루 만에 완료했다고 밝혔다.

또한 소프트웨어2.0의 기계학습을 이용하면 기존에 수작업으로 파악해야 했던 어뷰징 캐릭터를 자동으로 선별할 수 있다.

예를 들어 핵 등 부정프로그램을 사용하는 어뷰징 캐릭터는 언제 계정이 정지될 지 모르는 소모품이기 때문에 이름이 암호코드처럼 일반적이지 않게 작성되는 경우가 대부분이다.

.

김정주 TD는 이러한 성질을 이용해 어뷰징 캐릭터를 잡아내기 위해 일반적인 이름과 다른 방식의 이름을 가진 캐릭터를 분류하는 프로그램을 개발했다.

이 프로그램은 영어에서 Q 다음에 주로 U가 나오고 D 다음은 띄어쓰기가 많이 나오는 등 특정 관계의 발생하는 패턴인 ‘마르코프 연쇄’를 이용해 제작됐다.

이를 위해 단어를 2개씩 추출 후 조사를 통해 특정 앞파벳 뒤어 어떤 알파벳이 오는지 확률별로 분석했다. 이후 읽기 어렵고 난수 같은 이름이 검출되도록 한 결과 90% 이상 어뷰징 캐릭터를 파악할 수 있었다고 김 TD는 소개했다.

관련기사

김정주 TD는 “소프트웨어 2.0을 이용해 어뷰징을 검출한 결과 기존에 국가별로 수백 단위로 있던 어뷰징 캐릭터가 거의 사라진 것으로 나타났다”며 어뷰징 검출에선 표면적 특성보다 하나의 핵심 특성을 찾는 것이 반복 작업을 줄이는 길이 될 것”이라고 조언했다.

더불어 그는 “소프트웨어 1.0과 2.0은 어느 한쪽이 우월한 것이 아니라 장단점이 있는 만큼 서로보완하며 사용하는 것이 중요할 것”이라고 말했다.=