게임과 보안 #21 온라인 게임 보안을 꿈꾸는 이들에게

더욱 안전하고 즐거운 게임 플레이를 위해 그 중요성이 점차 커지고 있는 온라인 게임 보안!

보안 전문가 김휘강 교수가 들려주는 ‘게임과 보안’에서는 지난 20회 동안 온라인 게임 보안에 대한 다양한 이슈를 다뤘는데요.

이번 글에서는 온라인 게임 보안 분야를 연구하고 싶은 학생들에게 전하고 싶은 말을 정리하며 연재를 마무리 하려 합니다. 게임 보안이라는 블루오션을 개척하고 싶은 분들이라면 더욱 관심 있게 읽어주세요~.


 

# 온라인 게임에서 보안이 중요한 이유

지금의 비트코인과 같은 암호화폐가 그러하듯 돈이 되는 곳에는 늘 해커들이 모이기 마련이다.

온라인 게임은 암호화폐가 활성화되기 전부터, 서비스 특유의 환금성 때문에 오랜 기간 해커들, 봇 개발자들과 작업장들의 공격 대상이 되어 왔다.

마치 지금 중국의 전문 비트코인 채굴자들이 발전소 옆에 자리를 마련해 두고, 채굴 전용 하드웨어까지 개발하며 시세를 독점하는 것과 마찬가지다.

그저 게임봇이 채굴 전용 하드웨어로, 게임머니가 암호화폐로 치환된 것일뿐 공격자들이 노리는 생태계는 변하지 않았다.

온라인 게임이 계속 인기를 누리고, 많은 아이템들이 높은 가치를 유지하는 한 온라인 게임을 노리는 공격은 영원히 지속될 것이다.

안타깝지만, 온라인 게임 해킹은 앞으로도 계속 될 겁니다… ( ̄o ̄)

 

# 온라인 게임 보안의 세부 분야

온라인 게임 보안은 온라인 게임에 특화된 영역과 전통적인 영역으로 나눌 수 있다.

전통적인 영역은 온라인 게임 서비스와 관련된 자산들을 보호하기 위한 기술들이지만 다른 인터넷 서비스 보호나 기업 보안과 대동소이한 영역이다.

예를 들면, 게임 서버 장비들에 대한 보안(보안 패치를 설치하고, 계정 보안을 관리하는 일), 네트워크 장비들에 접근 제어를 설정해서 회사 내부의 게임 소스코드와 같은 주요 자산을 안전하게 보호하는 일 등이다.

온라인 게임에 특화된 영역은 대규모 접속이 이루어지는 서비스라는 점과, 온라인 게임 클라이언트나 게임 앱을 역공학으로 분석할 경우 게임 플레이를 조작할 수 있다는 점 때문에 독특하게 만들어진 영역이다.

국내 게임 중에는 처음으로 생체 정보를 활용한 보안 서비스 ‘NC 인증기’

게임 앱 또는 게임 클라이언트 프로그램을 난독화(obfuscation) 처리하여 해커가 역으로 분석하기 어렵게 하는 것, 게임 클라이언트와 게임 서버 간 통신을 암호화하는 것(초당 5만 명 이상의 동시 접속이 흔히 발생할 수 있으므로 성능 저하가 일어나지 않도록 경량화된 암호화 알고리즘을 개발하여 적용하는 것이 필요하다.), 게임 봇이 동작하지 못하도록 클라이언트나 서버단에 탐지 프로그램을 개발하여 적용하는 것, 게임 이용자들을 보호하기 위해 계정도용 방지 프로그램을 개발하는 것들이 대표적인 예이다.

은행권에서 보편적으로 쓰이는 OTP, 2차 비밀번호, 기기 등록과 같은 기능들은 다른 산업군보다도 온라인 게임에서 가장 먼저 대규모로 적용되고 활성화되어 왔다. 이처럼 국내외 온라인 게임 회사들이 서비스 보안 차원에서 보다 진취적이고 앞서 있다고 평가할 수 있다.

위 영역들은 게임 서비스에 대한 이해뿐 아니라 관련 분야에 기술적인 깊이가 많이 필요하기 때문에 꽤나 도전적인 분야이지만, 한번 이 분야로 경력을 쌓게 되면 ‘대규모 서비스를 위한 보안을 실제로 경험했다는 점’으로 인해 다양한 분야로 진출할 때 유리할 것으로 판단된다.

 

# 온라인 게임 보안의 새로운 블루오션

하지만 무엇보다도 이 연재에서 주로 다루고 싶은 부분은, 최근에 각광받는 ‘데이터 분석 중심의 보안’이다.

PC, 모바일 기기, 인터넷 공유기, 웹캠, 자동차 등 이제 모든 기기들이 인터넷에 연결되어 있고, 이러한 기기들을 노리는 신종 악성코드 및 변종코드는 하루에 5만 5천 개 이상 쏟아져 나오고 있다.

이러한 악성코드를 사람이 일일이 분석하고 대응한다는 것은 이제 불가능한 일이 됐다. 이런 대규모의 분석과 분류 작업에 꼭 필요한 것이 데이터 마이닝(data mining)과 기계 학습(machine learning) 기술이다.

최근의 악성코드 분석 및 탐지는 아직 기계 학습에 의해 완전히 자동화된 것은 아니다. 그러나 상당수의 제품들이 기계 학습 기술을 도입하고 있고, 향후 5년 이내에는 기계 학습 방식의 안티 바이러스(antivirus) 프로그램이 전통적인 프로그램을 상당 부분 대체할 수 있을 것으로 생각된다.

수많은 데이터 속에서 유용한 정보를 캐내어 분석하는 데이터 마이닝 기술

온라인 게임 분야에도 데이터 마이닝과 기계 학습은 중요한 역할을 하고 있다. 실제로 적용되는 예들은 다음과 같다.

– 상대방에 따라 좀 더 지능적인 플레이를 하는 NPC 의 AI 개발

– 고객 이탈을 예측하는 모델 개발

– 고객이 좋아할만한 또는 다음 단계에서 필요한 퀘스트를 추천해주는 시스템

– (‘게임과 보안’ 연재를 통해서 설명했던 것처럼) 게임 유저들의 대규모 플레이 데이터를 분석한 뒤, 정상적인 유저들과 게임봇/작업장을 구분하는 시스템

– 계정 도용 및 부정 결제 탐지 시스템

인공지능 기술과 함께 활발히 연구되고 있는 기계 학습

한 가지 더 특징이 있다면 불량 유저들과 부정 결제를 탐지하는 것과 같은 보안 서비스 분야와 고객 이탈을 예방하고 고객에게 추천 서비스를 제공하는 분야 모두, 요구되는 전문 지식(skillset)이 상당 부분 겹친다는 것이다.

때문에 많은 대형 온라인 게임 회사에서는 두 분야를 한 부서에서 담당하기도 하고, 서로 다른 부서가 담당하기도 한다. 이에 부서 간 협력도 잦고 향후 부서를 이동하여 일할 수 있다는 장점이 있다.

유저들이 보안성뿐 아니라 편리함도 중요하게 생각하기 때문에 클라이언트에 보안 프로그램을 설치해서 성능을 떨어뜨릴 수 있는 점은 선호하지 않는다. 그래서 점차 서버단에서 대규모 데이터 분석을 통해 ‘알아서 공격을 차단해주고 불량 유저들을 탐지하는’ 자동화된 시스템을 더욱 선호하게 될 것이다.

온라인 게임의 고도화에 따라 필요성이 더욱 높아지는 사이버 보안 분야!

이러한 ‘데이터 분석 중심의 보안’은 지금 온라인 게임 서비스 영역뿐 아니라 다양한 분야에서 활용된다. 금융권 및 관련 서비스(은행에서의 계정 도용 탐지, 신용카드사에서의 부정 결제 탐지, 보험사에서의 보험 사기 청구 탐지), 공공 서비스(국세청에서의 탈세 및 자금 세탁 탐지), 소셜미디어 서비스(페이스북 내 가짜 계정 탐지, 가짜 뉴스를 SNS를 통해 유포시키는 행위 탐지), 그리고 IT 서비스가 결합된 모든 종류의 융합 서비스(자율 주행 자동차 개발, 자동으로 사람을 인식해주는 CCTV)에서 폭발적으로 성장하고 있다.

온라인 게임은 웹 서비스와 더불어 가장 성공적인 인터넷 응용 서비스이므로 대용량의 데이터를 다루고 또 풍성한 액션을 포함하고 있다. (예를 들어 트위터는 기껏해봐야 액션이 direct message, tweet, retweet 정도이다.)

때문에 온라인 게임 분야에서 데이터 분석가로서 또는 데이터 분석 중심의 보안 경력을 쌓게 된다면, 향후 전세계 어느 곳에서든 경쟁력을 갖춘 인재가 될 수 있다고 확신한다.

 

# 온라인 게임 보안 분야에서 일하고 싶다면

현재 모든 사람들이 조금만 공부해서도 손쉽게 기본적인 엑셀 작업은 할 수 있게 되듯이, 향후에 기계 학습과 데이터 마이닝은 누구나 사용할 수 있는 보편화된 도구가 될 것이다.

인터넷에 무료 동영상 강의와 한글 자막까지 제공해 주는 사이트도 많으니, 지금부터 바로 파이썬(Python) 언어 공부와 기계 학습을 익혀 볼 것을 추천한다.

일단 파이썬은 미시간대학교에서 제공하는 Introduction to Data Science in Python 강좌(링크)를, 기계 학습은 스탠퍼드대학교에서 제공하는 Machine Learning 강좌(링크)를 추천한다.

온라인 강의 사이트 Coursera에서 한글 자막이 지원되는 파이썬 관련 강의들

15년 전만 하더라도 데이터 마이닝과 기계 학습을 배우고 싶다면 꼭 대학원으로 진학해야 했고 선수 과목으로 선형대수, 통계, 프로그래밍 관련 과목들이 필요했다. 하지만 이제는 그러한 이론들을 전부 알지 못하더라도, 자신만의 문제를 풀 때 기계 학습을 응용하는 것이 충분히 가능한 시대가 되었다.

우리가 운전할 때 자동차 안의 모든 기계에 대해 이해하고 기계공학과 자동차에 대해 배워야만 운전을 할 수 있던가? 우리가 엑셀을 쓸 때 엑셀에 담긴 그 수많은 함수들을 다 알아야만 사용할 수 있던가?

그야말로 이제 기계 학습은 일종의 계산기와 같은 평범한 도구로 ‘미래의 엑셀 프로그램’ 정도로 자리잡게 될 것이다. 더불어 기계 학습을 다룰 수 있는지 여부에 따라 꽤 많은 연봉 차이를 겪게 될 것이다.

기계 학습을 배우는 데 있어서 실제 온라인 게임 데이터를 활용해 보고 싶다면, ‘2018 빅콘테스트(링크)’, ‘IEEE CIG 2017에서의 유저 이탈 데이터 분석 챌린지(링크)’와 같은 대회를 참고하기 바란다.

그리고 온라인 게임 관련은 아니지만, ‘데이터 분석 중심’의 정보보안분야 데이터 분석 챌린지에 도전해보고 싶다면 ‘정보보호 R&D 데이터 챌린지(링크)’ 홈페이지를 방문해 보기 바란다.

2018 빅콘테스트(위)와 Game Data Mining Competition 2017(아래)

더불어 꼭 한 가지 강조하고 싶은 부분이 있다. 우리가 아무리 좋은 도구들이 있더라도 ‘이 도구를 써서 어떻게 문제를 해결할 수 있는가’라는 것은 전적으로 그 사람의 통찰력(insight)에 달려 있다. 그 회사의 게임을 플레이해보고, 콘텐츠를 충분히 이해한 상태에서만 좋은 탐지 모델을 개발할 수 있다.

데이터 마이닝과 기계 학습은 향후 온라인 게임 보안에 있어서, 아니 온라인 게임 서비스에 있어서 핵심적인 역할을 맡게 될 것이다. 하지만 끊임없이 통찰력를 얻기 위해 노력하는 것을 잊지 말아주었으면 한다.

인사이트 없는 기계 학습 숙련자는 아래의 격언과 같이 결국 실패하게 될 것이다.

망치만 가지고 있는 사람에게는 모든 문제가 못으로 보인다

 

# 맺으며

온라인 게임은 이미 우리의 일상으로 들어와 있다. 15년 전에는 지하철, 버스에서 책을 읽는 사람들을 심심찮게 발견할 수 있었다. 지금은 어느 장소에서건 고개를 한 번만 돌리면 휴대폰을 손에 쥐고 게임하는 사람들을 쉽게 볼 수 있다.

이렇게 일상에 깊숙이 들어온 온라인 게임 서비스를 보다 안전하고 편리하게 즐길 수 있도록 만드는 일은 기술적으로, 사회적으로 의미가 큰 일이 될 것이다.

그간 글을 읽어주고 댓글로 또는 메일로 좋은 의견을 제시해준 모든 분들께 감사드린다.


김휘강 고려대학교 정보보호대학원 부교수. KAIST 산업경영학과를 마치고 산업공학과에서 석사, 박사학위를 받았으며, 게임 봇 탐지 및 작업장 탐지, 계정도용 및 결제부정 탐지와 관련하여 지속적인 연구를 수행 중에 있으며, 고려대학교 해킹대응기술 연구실은 온라인 게임 보안 분야에서 전세계적으로 가장 많은 연구 성과를 내고 있다.

 

게임과 보안 #1 게임봇의 두 얼굴

게임과 보안 #2 게임봇이 나쁜 이유

게임과 보안 #3 게임봇과 작업장을 바라보는 다양한 시선

게임과 보안 #4 게임봇을 탐지하는 기법

게임과 보안 #5 게임봇과의 채팅엔 뭔가 특별한 게 있다

게임과 보안 #6 찾아라! 게임봇의 행동 패턴

게임과 보안 #7 계정 도용을 막는 방법

게임과 보안 #8 시퀀스 분석으로 계정 도용을 막아라

게임과 보안 #9 모티베이션 (동기) 분석을 통한 봇 탐지

게임과 보안 #10 사설 서버

게임과 보안 #11 온라인 게임 회사를 노리는 해킹 그룹

게임과 보안 #12 악성 행위의 전파

게임과 보안 #13 쾌적한 게임 공간을 만드는 방법

게임과 보안 #14 사람이 게임봇과 다른 이유 Part 1

게임과 보안 #15 사람이 게임봇과 다른 이유 Part 2

게임과 보안 #16 MMORPG를 통한 사회적/반사회적 행동 관찰 Part 1

게임과 보안 #17 MMORPG를 통한 사회적/반사회적 행동 관찰 Part 2

게임과 보안 #18 통계적 모델을 이용한 봇 유저수 추정

게임과 보안 #19 VPN을 통한 우회 접속 이용자 탐지하기

게임과 보안 #20 부정 결제를 알아차리는 방법