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

온라인 게임에서는 명의 도용, 계정 도용, 결제 도용 등 도용 3종세트가 문제가 되고 있습니다.

이중 최근에는 부정 결제가 중요한 문제로 떠오르고 있는데요. 특히 결제 방법이 편리해지면서 도용이나 부정 결제 사례도 증가하고 있습니다.

이번 시간에는 게임 유저에게 스트레스를 덜 주면서도 자연스러운 보안 방법은 어떤 것들이 있을지 소개하겠습니다.


# FDS란?

혹시 내가 지불하지 않은 금액이 결제되었다고 문자를 받고 몹시 당황했던 경험이 있는가? 또는 신용카드 회사로부터 방금 발생한 결제가 고객님이 구매한 건이 맞는지 확인 전화를 받아본 적이 있는가? 또는 오랜만에 게임에 접속했더니 충전해 둔 게임 코인 중에서 티가 덜 나게 소액만 나도 모르는 사람에게 선물로 빠져나갔던 적은 없는가?

이런 일들은 왜 발생하는 것일까? PC나 모바일 단말기의 보안이 취약하거나, 비밀번호가 너무 단순하거나, 신용카드 등 결제수단이 도용 당했을 수도 있는 등 원인은 복합적이다.

그렇다면 신용카드 회사는 내 결제가 의심스럽다는 것을 어떻게 알아낼 수 있는 것일까? 거래 패턴들을 세심하게 관찰하여 이상한 결제 패턴을 추려낸 후 사람이 한번 더 최종적으로 검토하여 판단하기도 하고, 데이터마이닝과 머신러닝 기법을 적용해 이상 패턴을 잡아내기도 한다.

평소의 거래 패턴과 다른 경우(즉, 평소에 이용하지 않는 업종에서 결제가 일어났다거나, 평소 3~4만 원 정도 쓰던 패턴과 달리 150만 원이 넘는 큰 금액이 한꺼번에 결제되었다거나, 평소와는 다른 지역이나 시간대에서 결제가 일어난 경우)를 의심 거래로 판단하여 고객에게 연락을 취한다.

당신도 모르는 사이 결제가 이뤄지고 있습니다 – _ –

데이터마이닝과 머신러닝 기법이 도입되기 전부터 우리나라의 신용카드 회사들은 다년 간의 운영 노하우를 바탕으로 국내 환경에 맞는 촘촘한 룰을 만들어서 운영해 온 것으로 유명하다.

예를 들면, 편의점에서 담배 한 갑이 결제된 뒤 택시 결제가 발생하고 이후 다른 지역의 술집에서 큰 금액이 결제되었다고 보자. 그러면 신용카드 회사는 ‘행인이 카드를 주운 후 이용 가능한 카드인지 아닌지 확인해 볼 겸 소액 결제(담배 한 갑)를 해본 뒤, 다른 지역으로 이동(택시)하여 큰 돈을 결제(술집)한 것으로 의심’하여 모니터링 요원이 세밀히 살펴보고 도용 여부에 대해 최종 판단을 하게 된다.

이러한 ‘이상금융거래 탐지 시스템 (FDS; Fraud Detection System)’은 2013년부터 본격적으로 구축되기 시작했다. 2013년을 전후로 피싱 등 금융사고가 늘어난 후, 2013년 말 ‘전기통신금융 사기 피해방지 및 피해금 환급에 관한 특별법’ 개정안이 통과되고, 금융위원회에서 ‘금융보안 종합대책’을 발표하면서 은행들에 FDS 도입이 의무화된 것이다.

신용카드 회사들은 이 같은 법안 통과와 관계 없이 90년대 말부터 FDS를 운영해왔고, 금융권 및 PG(Payment Gateway)사들로도 확대되어 현재는 보편적으로 쓰이고 있다. 다만, 아직 게임 회사나 온라인 쇼핑몰과 같은 전자상거래 회사들로까지 확대 적용된 것은 아니다.

혹시 독자들이 “우리나라보다 먼저 FDS 개념이 도입되고 솔루션을 개발해 온 해외의 FDS가 국산 FDS에 비해 우월한지”를 묻는다면, 꼭 그렇지는 않다고 대답할 수 있다.

왜냐하면 FDS는 완제품 형태로 살 수 있는 시스템이 아니고, 업종과 금융 서비스(쇼핑몰, 은행, 간편 송금, 주식, 보험 등) 마다의 특성이 있어, 초기 구축 후 환경에 맞게 룰을 만드는 과정이 반드시 필요한 시스템이기 때문이다. 분석을 위한 인프라(로그 파일 적재, 검색 엔진, 마이닝 알고리즘)는 범용적일 수 있지만 분석을 위한 규칙 및 패턴 탐지는 각 금융권에서 자체적으로 구축하는 것이 옳다고 할 수 있다.

FDS에 적용된 다양한 룰들 중에서, 해외 솔루션의 경우에는 이상 증후 탐지의 중요한 요소로 ‘지역 간의 거리’를 꼽는다. 예를 들어 미국의 경우 평소에 동부 끝에 살던 사람이 동부에서 아침 식사를 하고 서부에서 점심 식사를 결제했다면 정상적인 경우라 보긴 어려울 것이다. 그러나 우리나라의 경우의 특징은 국토가 좁고 1일 생활권이기 때문에, 서울에서 아침 식사를 하고 지방에서 점심 식사를 하는 것이 그리 이상하게 판단되지는 않는다.

 

# 왜 FDS인가?

일반적으로 보안은 ‘예방적인 차단(Prevention) – 탐지(Detection) – 탐지 후 대응(Response)’이라는 3단계 프로세스로 구성되어 있다.

우리나라 인터넷 뱅킹의 경우에는 초반부터 해외와는 달리 ‘즉시성’을 가지고 있었다. 지금이야 해외의 인터넷 뱅킹도 실시간 송금 등이 제공되지만, 아직도 상당수 해외 뱅킹 서비스들의 경우에는 최종적으로 거래가 완료되기까지 몇시간에서 며칠까지의 시간이 소요된다.

때문에 해외의 경우 거래가 발생하면 충분히 검토해서 이상 여부를 판단할 시간적 여유가 있어서패턴 분석에 의한 탐지(Detection)와 대응(Response)에 초점이 맞춰진 반면, 우리나라는 실시간 송금이 이뤄지므로 가급적 예방(Prevention)에 많은 투자를 한다.

각 국가별 상황에 맞게 진화된 방식이므로 어느 것이 더 우월하다고 비교하는 것은 바람직하지 않다. 그러나 예방(Prevention)을 위해 수많은 ActiveX 나 exe 형태의 보안 솔루션을 설치하도록 하여 불편함을 과잉으로 주는 것에서 탈피하여, 탐지(Detection)를 강화하여 예방(Prevention)에만 투자한 보안의 균형을 잡는 것이 현재 전자상거래 이용에 있어 더 적합하다고 볼 수 있다.

이에 금융권에서도 수많은 보안 솔루션 설치를 이용자에게 요구하던 것에서, 점차 FDS 를 통해 탐지(Detection)와 대응(Response) 부분의 역량을 강화하고, 예방(Prevention) 강도를 조절하여, 편리하면서도 안전한 보안을 추구하도록 변화 중에 있다.

특히, 결제 보안은 전형적으로 보안성과 편리성의 타협이 절묘하게 필요한 분야다. 여전히 개선의여지가 많지만, 휴대폰을 이용한 지문 인식 기능이 보편화되어 보안성과 편리성이 어느 정도 균형을 이뤄가는데 큰 분기점을 통과했다고 본다.

다만, 편의성이 너무 강조되어 보안 수준이 필요 이상으로 낮아져도 여러 문제가 발생할 수 있다. 게임을 하다가 실수로 터치를 잘못해서 의도하지 않는 구매가 순식간에 일어났을 때 환불을 받기 어렵거나 이로 인해 분쟁이 발생하는 경우가 그 예다. 실제로도 이 같은 이유로 환불을 요구하는 건수가 나날이 증가하고 있다.

 

# 온라인 게임을 위한 FDS

온라인 게임에 FDS를 도입할 수 있을까? 물론이다. 오히려 고객 보호를 위하여 적극적으로 구축하는 것이 권장된다.

그렇다면 온라인 게임에 특화된 FDS 란 무엇일까? 그리고 기존의 금융권의 FDS와는 다른 한계점은 어떤 것이 있을까?

첫째, 결제 후 취소(Void Purchase)의 반복과 잦은 환불이다.

사실 게임이 어느 플랫폼에서 출시되었느냐에 따라, 게임 내에서 환불하지 않고 신용카드사나 플레이 스토어에 따로 환불 신청을 요청할 수도 있다. 이러한 과정에서 게임사가 구글 플레이나 앱스토어로부터 고객의 환불, 취소 정보를 실시간으로 공유 받지 못하여 손해를 보게 되는 경우가 많았고, 일부 유저들이 이를 악용하는 문제가 고질적으로 있어 왔다.

모바일 게임에서의 전형적인 부정 환불 패턴의 예

위 그림은 모바일 게임 내에서 구매한 뒤 취소는 구글 플레이와 같은 스토어에서 한 뒤 아직 취소 정보가 게임 회사로 공유되기 전, 선물하기 또는 현금 거래를 통해 빼돌리는 전형적인 패턴을 묘사한 것이다. 많이 늦은 감이 있지만, 최근에는 이러한 부정 패턴들을 감지할 수 있도록 API가 나오기 시작하는 등(관련 링크) 개선이 이루어지고 있다.

결제 후 취소(Void Purchase)를 조회할 수 있는 API

둘째, 모바일 게임의 경우 휴대폰만 손에 넣으면 미리 등록된 결제 수단을 이용해서 쉽게 결제가 이뤄진다. 때문에 아빠가 잠든 사이에 아이가 아빠의 손가락을 휴대폰에 갖다 대어 결제가 일어나는 등 명의 도용이나 계정 도용이 발생하는 문제가 생긴다. (알고 보니 아들이 범인! 잘 때도 지문 간수가 중요합니다, 여러분!)

이와 같이 아이들이 부모의 전화기를 이용해서 즉시 결제를 했을 때, 조기에 감지하여 환불을 제공해야 고객과 불필요한 분쟁을 피할 수 있다. 그리고 소모성 아이템의 경우 이미 가치가 현저히 저하되어 환불이 어려운 경우도 많아 고객과 불필요한 갈등 요소가 되고 있는데, 게임 FDS가 이러한 점들을 완화시키는데 도움을 줄 수 있을 것이다.

이를 위해 개인별 구매 패턴을 프로파일링하는 것이 필요한데, 가장 기본적인 테크닉으로 아래와 같이 HMM(Hidden Markov Model) 이라고 하는 모델링을 이용하여 개인 이용자들의 구매 패턴을 만들 수 있다.

예를 들어 ‘A 유저는 정액요금을 한 번 결제 후 재결제율이 0.2 의 확률로 일어나고, 그 후 게임 플레이를 하면서 액세서리를 결제할 확률은 0.8의 패턴으로 발생하는 경향이 있다. 또한 액세서리를 결제한 후 또 다시 악세사리를 결제할 확률은 0.9, 액세서리 결제 후 정액 요금을 바로 결제하는 패턴은 0.1 의 확률로 일어난다’와 같은 방식으로 결제 간 상태 전이를 모델링하는 것이다.

물론 아주 기본적인 예를 든 것이고, 실제로는 다양한 패턴의 상태전이가 있기 때문에 (아이템 A 종합세트 결제 → 소모성 아이템 3회 이내 구매 패턴 (광석 구매 → 광석 구매) → 이벤트 아이템 구매) 와 같이 개인화된 보다 복잡한 모델링이 필요하다.

이 예는 아주 고전적인 방법을 적용하 예시일 뿐이며, 실제 대형 온라인 게임 회사들에서는 딥러닝과 같은 최신 기술을 도입하여 부정결제 패턴을 정밀하게 예측해 내는 연구들을 진행 중에 있다.

 

# 온라인 게임을 위한 FDS 의 도전 과제

다만, 온라인 게임을 위한 FDS를 구축하는 데에는 몇가지 난제들이 있다.

우선 가장 큰 도전 과제는 탐지 속도이다. 간편 결제, 간편 송금 등 모든 종류의 금융 결제 속도가 광속으로 빨라졌기 때문에, 결제가 완료되기 전의 찰나에 의심 여부를 감지하여 빠르게 조치해야 한다. 그러나 기술적인 한계가 많이 있고, 출금이 시간차를 충분히 두고 이루어지도록 제도를 고쳐야 하는 등 어려운 작업이다.

두 번째는 첫 결제가 부정 결제로 이뤄지는 경우다. AI나 머신러닝도 만능은 아니다. 과거의 거래 패턴들을 충분히 학습해야만 새로운 거래가 기존 패턴에 비해 이상한 지를 판단할 수 있기 때문이다. 그런데 첫 번째 또는 두 번째 결제부터 부정 결제여서 미처 학습할 새가 없었다면 이상 패턴을 감지하기 무척 어렵다.

세 번째는 애매한 오류의 경우 어떠한 정책으로 대응하는 것이 좋을지에 대한 판단이다. 정상적인 결제를 부정 결제로 오인하여 결제를 막으면 고객에게 상당한 불편을 초래하게 된다. 고객을 보호하려 했으나 오히려 불만만 사게 되는 경우다.

반대로 이러한 불편을 좀 줄여보고자 탐지를 보수적으로 하면 부정 결제 탐지를 엄격하게 못해내는 문제가 생긴다. 사실 이 문제는 각 유저의 성향과 서비스의 특징에 따라 유연하게 대응하는 것이 필요하다.

소중한 게임 머니를 지켜야 합니다!

네 번째는 신용카드 결제 부정 탐지와 온라인 게임에서의 부정 탐지에는 근본적인 차이가 있다는 점이다.

신용카드의 경우 결제가 일어남과 동시에 즉시 사용이 이뤄진다고 보아도 무방하다. 즉 구매하는 상품과 사용할 상품이 동일하기 때문에, 사용과 구매 시점을 따로 고려할 필요가 없다. 이에 반해 온라인 게임은 일단 신용카드로 게임 코인을 충전하고, 실제 사용은 나중일 수 있기 때문에 구매 시점과 사용 시점이 다르다.

즉, 신용카드로 게임 코인을 충전하는 시점에서 신용카드사의 FDS의 1차 보호를 받을 수는 있겠으나, 신용카드사에서는 이 고객이 원래 어떤 패턴으로 어떤 아이템을 사는지, 평소 게임 플레이 패턴에 미루어 볼 때 얼마나 이상한 지출인지 알 방법이 없어서 탐지력이 현저히 떨어지게 된다. 실제로 카드사 부정결제의 대다수는 온라인게임 결제 부분에서 발생하고 있다. (이 때문에 신용카드사에서 완전한 탐지 알고리즘이 나오기 전, 온라인 게임 등 디지털 상품 구매 금액의 한도를 설정해 두어 방어하는 경우가 많다.)

마찬가지로 온라인 게임사는 금융사나 통신사의 내부 탐지 규칙 및 블랙리스트 정보를 실시간으로 공유해서 받아볼 수 없기 때문에 대포계좌, 대포폰을 통하여 이뤄지는 결제는 탐지하는데 한계가 있다. 또한 처음부터 타인이 키운 캐릭터를 계정째 통째로 넘기는 대리육성의 경우, 계정은 동일하나 실소유주가 바뀌는 시점부터 기존에 학습해 둔 결제 패턴이 바뀌는 것으로 인한 오류는 탐지와 대응이 어렵다.

요컨대 개인 계정에서 게임 코인을 충전 후 사용하는 것은 모두 게임 시스템 내에서 이뤄지므로 외부 금융권에서는 이러한 거래 패턴을 알 방법이 없기 때문에, 결국 게임 서비스에 특화된 정교한 FDS를 게임 회사들에 자체 구축해야 한다.

 

# 맺으며

온라인 게임 회사들은 금융사가 아니므로 의무적으로 FDS를 구축할 필요는 없다. 그러나 많은 고객들이 디지털 재화를 구매하여 이용하고 있으며, 게임머니나 아이템과 같은 디지털 재화의 가치가 상당히 높다.

때문에 보다 적극적으로 고객을 보호하기 위해 FDS를 자발적으로 갖춰 나가고, 게임업의 특징에 알맞은 맞춤형 솔루션을 도입할 필요가 있다.


김휘강 고려대학교 정보보호대학원 부교수. 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을 통한 우회 접속 이용자 탐지하기