새소식 본문

GM소식

비인가 프로그램 대응에 대한 안티 치트 팀의 글

작성자
**bg2.m**
작성일
2018.12.20 PM 03:17
추천수
7


안녕하세요. 

카카오 배틀그라운드입니다.


본 개발일지는 펍지주식회사로부터 공유 받아 작성된 내용이며, 

자세한 사항은 아래 상세 내용을 참고해주시기 바랍니다.

───────────────────────────────────────────────────────




안녕하세요 플레이어 여러분,


지난 FIX PUBG 캠페인 개발자 일지에서 안티 치트 관련 내용은 추후에 좀 더 자세히 다루겠다고 말씀드렸듯이

이번 개발자 일지에서는 지금까지 진행해온 안티 치트 관련 진행 상황에 대해 공유를 드리려 합니다.


“비인가 프로그램을 잡고 있나?” “비인가 프로그램에 대한 대응 방향이 궁금하다”


커뮤니티 동향을 살펴보면 자주 보는 질문입니다.

PUBG가 진행하고 있는 안티 치트 활동에 대하여 모든 것을 속 시원하게 알려드리고 싶지만

안티 치트 생태계에서 이러한 정보는 매우 민감하며, 저희가 공개해 드리는 내용이

해커나 비인가 프로그램을 개발하는 사람들에게 오히려 도움이 될 수도 있기 때문에 자세한 내용을 알려드리기가 어려웠습니다.


하지만 저희도 플레이어 여러분과의 소통이 필요하다는 것을 늘 인지하고 있었고,

여전히 자세한 내용 공개는 어렵지만, 안내가 가능하다고 판단한 정보를 최대한 여러분께 공개하여

그동안 저희가 비인가 프로그램에 대응하기 위해 들여온 노력과 지금까지의 결과,

그리고 앞으로 저희가 나아갈 방향성에 대해 말씀드리는 시간을 갖기 위해 이번 안티 치트 개발자 일지를 준비하게 되었습니다.


FIX PUBG 캠페인 사이트에 기재된 FIX LOG의 목차와는 살짝 다르지만,

좀 더 효과적으로 여러분께 내용을 설명할 수 있도록 이번 개발자 일지는 아래와 같은 순서로 안내를 드리려 합니다.


• 기술적 대응 강화

• 안티 치트 솔루션 기능 개선

• 비인가 프로그램 사용자 대응 프로세스 개선

• 법적 대응 강화



기술적 대응 강화


배틀그라운드 게임 프로세스를 공격하는 비인가 프로그램들의 공격기법은 매우 다양한 형태가 있고,

각각의 공격 기법에 대응하고 효율을 높이기 위해 여러 가지 보안 조치를 해왔습니다.


먼저, 일반적으로 알려진 비인가 프로그램의 대략적인 구동 방식을 소개해 드리고

이를 바탕으로 한 기술적인 대응 강화 조치에 관해 설명을 이어가도록 하겠습니다.




 ① 비인가 프로그램(exe)과 게임(exe)이 구동되면 이와 동시에 관련 데이터가 메모리(RAM)에 로딩됩니다.


 ② 게임 프로세스 영역의 자체 구현된 보호 기술 혹은 제 3자 게임 안티 치트 솔루션의 보호 장치가 작동합니다.

     • 해당 프로세스 영역을 타 프로세스가 접근하지 못하도록 1차적으로 보호하는 단계입니다.


 ③ 불법프로그램 프로세스가 ②의 보호기술을 무력화고 게임 프로세스 메모리에 접근(access)*하는데 성공합니다.

     • *접근이 가능해졌다는 것은 게임과 관련된 정보를 임의로 바꿀 수 있다는 것을 의미합니다

     • 여기에 사용되는 대표적인 기법은 DKOM, Process Hollowing, SSDT후킹등이 있습니다.


 ④ 게임 프로세스 메모리에 접근 권한을 획득한 비인가 프로그램은 게임 내 각종 정보들을 수집하여 변조 또는 복제 후

    게임에서 제공하지 않는 불법적인 기능을 제공하게 됩니다.

    여기에 사용되는 대표적인 기법으로 DLL인젝션과 Code인젝션이 있습니다.

     • DLL 인젝션: 특정 프로세스에 dll 파일을 삽입하여 실행되게하는 기법. 윈도우의 LoadLibrary() API 등이 사용됩니다.

     • Code 인젝션: 타겟 프로세스에 실행 코드를 삽입하는 기법. 윈도우의 CreateRemoteThread() 등이 사용됩니다.


 ⑤ 획득한 메모리공간을 마음대로 읽어오거나, 위조/변조하여 게임에서 제공하지 않는 비정상적인 기능을 제공하는데

    성공합니다.



첫 번째로 말씀드릴 내용은 공격 기법 중 가장 고전적이고 널리 사용되는 방법인 DLL 인젝션입니다.


DLL 인젝션은 특정 DLL 파일을 게임프로세스에 강제로 삽입하는 공격 기법입니다.

이 기법이 성공하고 나면, 게임 프로세스는 이 DLL의 코드 영역이 마치 원래의 게임코드인 것처럼 신뢰하게 됩니다.

따라서 이 DLL을 이용해 후킹하거나 데이터를 가로채는 등 해커의 의도대로 프로세스를 조작할 수 있게 됩니다. 


안티 치트 팀에서는 이 DLL 인젝션 공격기법의 차단에 힘써왔습니다.

배틀그라운드의 개발 초기에는 Steam이나 Discord 등의 프로그램들이 배틀그라운드 프로세스에 DLL 인젝션을 시도하거나

마치 악성코드인 것처럼 인식되는 등 호환성 문제도 일부 있었습니다.


하지만 지속적인 개선 작업을 통하여 대부분의 호환성 이슈를 해결하였고 비인가 프로그램의 DLL 인젝션 공격 또한 대부분 차단하고 있습니다.

현재는 이 DLL 인젝션을 통한 공격 기법으로 배틀그라운드 프로세스에 실질적으로 유효한 효과를 보는 것이 거의 불가능하다고 할 수 있습니다. 


다음으로 설명드릴 공격 기법은 최근에 가장 많이 발견되는 공격 기법의 하나인 커널 드라이버를 이용한 공격입니다.


커널 드라이버는 원래 하드웨어간의 통신이나 특정 권한에서 작동하는 프로세스를 만들기 위한 파일로,

이 커널 드라이버는 대부분의 안티 치트 솔루션을 우회할 수 있으며 일반 사용자 권한 보다 높은 권한으로 실행되기 때문에

이를 탐지하기가 매우 어렵습니다.


또한, 윈도우 OS에서 자체적으로 비인가 커널 드라이버를 차단하고 있음에도 불구하고,

OS의 보안 취약점을 통하거나 불법 유통되는 공인인증서를 활용해 마치 정상적인 커널 드라이버인 것처럼 속여

불법행위에 활용되는 케이스가 많이 보입니다.


DLL 인젝션 차단에 쓰인 것과 동일한 방법으로 해당 공격 기법에 대해 방어할 수도 있지만

윈도우 OS의 취약점들이 지속해서 발견되고 있고 대부분의 안티 치트 솔루션들이 악성코드와 유사한 방식으로 동작하기 때문에

이 방법으로는 분간이 힘들어 효과적인 차단이 어렵습니다.


따라서, 안티 치트 팀에서는 커널 드라이버를 통한 공격에 효과적으로 대응하기 위해

해커가 악용할 소지가 큰 메모리 영역을 암호화하여 우선적으로 보호하고 있고, 그 적용 범위를 계속해서 넓혀가는 작업을 진행하고 있습니다. 


이 밖에도 클라이언트와 서버 사이의 통신 프로토콜 암호화나 클라이언트에서의 결과값을 서버에서 재검증하는 등 다양한 기술적 대응을 강화해 나가고 있으며, 비인가 프로그램과의 싸움에서 우위를 점할 수 있도록 최선을 다하고 있습니다.



안티 치트 솔루션 기능 개선


배틀그라운드는 앞서 설명해 드린 기술적 보호 조치 외에도 게임 프로세스 영역 보호를 위해

외부 안티 치트 솔루션을 사용하고 있습니다.


이미 보도자료 등을 통하여 외부에 알려진 것처럼 저희는 BattlEye, Uncheater 두 가지의 안티 치트 솔루션을 사용하고 있습니다.

이를 통하여 게임 프로세스 영역을 보호하고, 안티 치트 솔루션을 우회하는 다양한 시도에 대한 감지를 병행하고 있습니다.


안티 치트 솔루션을 통한 보호 조치 외에도 머신러닝 기법을 도입하여 게임 이용자의 패턴을 분석하고,

비인가 프로그램 사용자의 비정상적인 게임 패턴 감지나 정상적인 게임 진행을 방해하는 행동에 대해서도

적발할 수 있는 시스템을 구축하여 운용하고 있습니다.


이러한 시스템을 구축하는 과정에서 다양한 경험을 보유한 다수의 안티 치트 솔루션 업체, 최고 수준의 엔지니어들과의 협업을 통하여

게임 보안 수준을 강화하는데 많은 발전이 있었습니다.


앞으로도 다양한 안티 치트 솔루션 업체들과 협업하여 새로운 공격 기법에 대한 연구와,

이를 방어하기 위한 기술 개발을 지속해 나갈 예정입니다.



비인가 프로그램 사용자 대응 프로세스 개선


위에 언급한 내용과 같이 기술적 보호 조치가 마련되어 있음에도

현실적으로 모든 비인가 프로그램을 완벽하게 차단하는 것은 어렵습니다.


겹겹이 둘러싼 보호 장치를 우회하고 침입하는 비인가 프로그램에 대해

저희는 해당 프로그램이 사용되는 것을 감지하고 즉각 차단하는 방식으로 대응하고 있습니다.


안티 치트 팀에서는 일 평균 약 3TB(4GB 영화 698편 분량)의 게임 로그, 60 여종의 치트 로그

그리고 일 평균 1천만 건의 신고 리포트를 분석하고 있으며, 이를 통하여 비정상적인 패턴을 보이는 이용자를 선별하고

검증을 거쳐 제재를 진행하고 있습니다.


그리고 비인가 프로그램의 패턴을 주기적으로 파악하여 마치 "백신” 프로그램처럼 이들의 데이터베이스를 구축하고,

이를 토대로 이미 알려진 각종 비인가 프로그램을 사용하는 이용자에 대해 강력한 제재를 이어 나가고 있습니다.


이러한 비인가 프로그램을 감지하고, 비인가 프로그램 이용자에 대한 신속한 대응 및 제재를 진행함과 동시에

플레이어 여러분께 제재 진행 상황을 공유해드릴 수 있도록 시스템을 개선해 나가고 있습니다. 


그 예로, FIX PUBG 캠페인에서 말씀드렸듯이 신고 피드백 시스템을 개발해

지난 8월 23일 업데이트부터 게임에 반영하여 실제 활용하고 있습니다.


신고 피드백 시스템이 적용된 후부터 지난 11월 30일까지 약 1억 건의 신고에 대해 피드백을 드렸습니다.


특히, 한 게임에서 다수의 신고를 받은 플레이어의 83%가 영구 제재되는 등

여러분이 보내 주시는 신고가 공정한 게임 환경을 만드는 데 많은 도움이 되고 있습니다.


아래는 8월 23일부터 11월 30일까지의 신고 피드백 주간 수치입니다.



FIX PUBG 캠페인에서 언급한 하드웨어 제재와 관련해서도 안내해 드립니다.


저희는 지난 11월 19일부로 하드웨어 제재를 시작하였습니다.

하드웨어 제재는 매우 민감한 제재 수단이기 때문에 PC방이나 공공장소의 PC가 피해를 받지 않도록 하고,

일부 선량한 피해자가 발생하지 않도록 하기 위해 매우 신중하게 대상자를 선별하고 있습니다.


하드웨어 제재가되면 게임 도중이라도 아래 스크린샷과 같은 경고창이 나타나며

이후로 해당 하드웨어에서는 더 이상 배틀그라운드를 플레이 할 수 없습니다.


하드웨어 제재와 함께 매크로 마우스에 대한 차단도 시작하였으며,

매크로 기능으로 불공정한 게임을 유도하는 모든 기기에 대해서는 앞으로 그 차단 작업의 범위를 확대해 나갈 것입니다.


   <하드웨어 제재 경고창(위) / 매크로 마우스 차단 경고창 (아래)>


현재 100여 명 이상의 모니터링 요원들을 투입, 전 세계에 흩어져있는 비인가 프로그램 판매처(웹사이트, 메신저, Discord 등)에 대하여

365일 24시간 모니터링을 진행하고 있습니다.


또한, 비인가 프로그램 개발 정보가 교환되는 각종 커뮤니티의 모니터링도 병행하여

게임 보안을 위협하는 요소를 더욱 발 빠르게 탐지하고 대처하기 위한 노력도 지속하고 있습니다.


이러한 다양한 프로세스 개선으로 비인가 프로그램에 대해 좀 더 신속하게 대응을 할 것이며,

비인가 프로그램 이용자에 대해서는 이들이 게임에서 더는 활동 하지 못하도록 선제 대응을 강화하겠습니다.


추가로, 플레이 도중 제재 조치된 플레이어가 있으면 해당 게임에 참가한 다른 플레이어들에게

실시간으로 제재 소식을 알려주는 시스템의 업데이트를 앞두고 있습니다.


실시간으로 비정상적인 게임 패턴이 감지되거나, 불법 프로그램 사용 정황이 확인되어

해당 계정에 대한 차단 조치가 이뤄지게 되면 킬피드의 형태로 안내해드릴 예정입니다.


이 시스템을 통하여 그동안 많은 분이 안티 치트 활동과 관련해 궁금해하셨던 부분을 일부 해소해드릴 수 있을 것으로 기대하고 있습니다.



법적 대응 강화

공정한 게임 환경을 저해하는 비인가 프로그램은 결단코 차단해야 할 요소이며,
이를 개발하고 홍보, 판매하는 사람 역시 게임 산업에서 근절되어야 합니다.

비인가 프로그램의 확산을 막기 위해 저희는 사법기관 및 해외 오피스와 협력하여
국내외를 막론하고 강력한 법적 대응 또한 진행하고 있습니다.

아래는 2018년 한 해 동안 진행한 법적 대응의 결과이며,
중국은 '텐센트'와 긴밀한 공조를 통하여 이뤄낸 성과입니다.

• 2018년 1월 중국 롄윈강 지역 41인 검거
• 2018년 2월 중국 화이안 지역 3인
• 2018년 2월 중국 샹양 지역 11인 검거
• 2018년 4월 중국 난징 지역 141명 검거
• 2018년 4월 중국 화이안 지역 1인 검거
• 2018년 8월 한국 대전지방경찰청 6명 검거
• 2018년 9월 중국 원저우 지역 1명 검거
• 2018년 10월 중국 탕산 지역 3명 검거
• 2018년 10월 중국 원저우 지역 34명 검거
• 2018년 10월 한국 양천경찰서 11명 검거

위에서 언급해드린 수사 결과 외에도 현재 법무법인, 경찰, 저작권 보호 업체와 함께
비인가 프로그램 판매처에 대한 수사를 진행 중이며 판매처를 통하여 개발자까지 추적하고 있습니다.

모든 수사는 결과가 나오는 대로 여러분께 안내해 드릴 수 있도록 하겠습니다.


마치며...

배틀그라운드는 100명이 동시에 참여하는 배틀로얄 장르이다 보니
단 한 명의 비인가 프로그램 사용자만 있어도 나머지 99명이 피해를 보게 되어 치명적인 영향을 받을 수 있습니다.
그렇기 때문에 타 게임보다 훨씬 더 높은 수준의 게임보안을 유지해야 한다는 것을 잘 알고 있습니다.

이번 개발자 일지에서 설명해 드린 것처럼 저희 안티 치트 팀은 "공정한 게임 환경 조성"을 가장 최우선 과제로 삼아
다양한 방면에서 노력해 왔고 계속해서 정진할 것입니다.

오늘 안내해드린 내용은 저희 여정의 첫 발걸음에 불과하며, 비인가 프로그램과의 싸움에서 우위를 차지하기 위해
새로운 안티 치트 기술에 대한 연구와 개발 또한 멈추지 않을 것입니다.

지금까지 저희를 믿어와 주신 플레이어 여러분께 늘 감사드리고 있습니다. 

믿어주신 만큼 보답하는 모습 보여드릴 수 있도록 최선을 다하겠으니
앞으로도 지켜봐 주시기 바랍니다.

고맙습니다.
배틀그라운드 안티 치트 팀 일동


추천7
PC 등록 서비스

확인을 누르시면
지정 PC 등록 서비스 이용을 위한 PC 정보를 수집합니다.

  • · 확인 후 DaumGameStarterProtocol 실행 메시지 노출 시 “실행” 버튼을 클릭해 주세요.
  • · 최대 7초 정도 소요될 수 있습니다.
  • · 크롬 브라우저 정책에 따라 시크릿 모드는 지원이 되지 않습니다.
본인 인증 성공

본인인증이 완료되었습니다.

확인
게임 스타트 보안

안전한 게임 이용을 위해 게임 스타트 보안 절차를 진행해주세요.

도움말 게임 스타트 IP 보안이란?

계정 도용 및 탈취로 인한 피해를 예방하기 위한 보안 서비스입니다.
접속 IP나 PC방 정보가 다를 경우 또는 게임 접속 30일이 경과된 경우
추가 인증(본인인증 또는 SMS 간편 인증)을 통해 게임 접속이 가능합니다.

  • 수집·이용목적: 게임 스타트 IP 보안
  • 수집하는 개인정보 항목: 게임을 이용하는 PC의 IP
  • 보유·이용기간: 신규IP 갱신 및 회원 탈퇴 시 즉시 삭제
  • 본 동의를 거부할 권리가 있으며, 거부할 경우 게임 서비스 이용이 불가능합니다.

위 개인정보 수집 및 이용 동의를 거부할 권리가 있습니다.
동의를 거부하는 경우 게임 스타트 보안 서비스를 제공받을 수 없습니다.

자세한 내용은 카카오게임즈 개인정보처리방침을 확인해 주세요.

간편 SMS 인증 등록

개인정보 수집 및 이용 동의 후 게임 스타트 보안 인증 시 SMS 간편 인증 자동 가입!
접속 위치 변경으로 재 인증 시 SMS 인증만으로 게임 시작이 가능합니다.

SMS 간편 인증 서비스 이용 시 회원정보에 등록하신 휴대전화 번호가 업데이트됩니다.
게임 스타트 보안 인증을 위한 SMS 인증 문자 발송용으로 사용됩니다.
(게임 스타트 보안 서비스 종료 시 자동 해제됩니다.)

휴대전화 본인인증
임시 보안 인증

게임 시작을 위한 1회성 본인 인증으로 접속 위치가 변경되면 재 인증이 필요합니다.

보안 서비스 가입

아래 보안 서비스 중 한 가지 이상을 가입 시 게임 스타트 보안 인증을 받지 않으셔도 됩니다.

※ 본인인증에 문제가 있는 경우 고객센터로 문의해주세요.

개인정보 수집 이용에 동의 해 주세요.
게임 스타트 보안

안전한 게임 이용을 위해 게임 스타트 보안 절차를 진행해주세요.

도움말 게임 스타트 IP 보안이란?

계정 도용 및 탈취로 인한 피해를 예방하기 위한 보안 서비스입니다.
접속 IP나 PC방 정보가 다를 경우 또는 게임 접속 30일이 경과된 경우
추가 인증(본인인증 또는 SMS 간편 인증)을 통해 게임 접속이 가능합니다.

  • 수집·이용목적: 게임 스타트 IP 보안
  • 수집하는 개인정보 항목: 게임을 이용하는 PC의 IP
  • 보유·이용기간: 신규IP 갱신 및 회원 탈퇴 시 즉시 삭제
  • 본 동의를 거부할 권리가 있으며, 거부할 경우 게임 서비스 이용이 불가능합니다.

위 개인정보 수집 및 이용 동의를 거부할 권리가 있습니다.
동의를 거부하는 경우 게임 스타트 보안 서비스를 제공받을 수 없습니다.

자세한 내용은 카카오게임즈 개인정보처리방침을 확인해 주세요.

SMS 간편 인증 서비스를 이용중입니다.
게임 접속을 위해 인증 번호 받기 후 전송되는 인증번호를 입력 후 확인을 눌러 주세요.
(인증번호는 회원정보에 등록된 휴대전화 번호로 발송됩니다.)

확인
기존에 등록하신 SMS 간편 인증 휴대전화 번호 사용이 불가할 경우

휴대전화 본인인증을 다시 진행해 주시면 SMS 간편 인증 휴대전화 번호가 새로운 번호로
업데이트 됩니다.

휴대전화 본인인증
일시적으로 SMS 간편 인증이 불가할 경우 아래의 인증 수단 중 한 가지로 본인인증

게임 시작을 위한 1회성 본인 인증으로 접속 위치가 변경되면 재 인증이 필요합니다.

게임 스타트 보안

SMS 간편인증 서비스 등록이 완료 되었습니다.

도움말 게임 스타트 IP 보안이란?

계정 도용 및 탈취로 인한 피해를 예방하기 위한 보안 서비스입니다.
접속 IP나 PC방 정보가 다를 경우 또는 게임 접속 30일이 경과된 경우
추가 인증(본인인증 또는 SMS 간편 인증)을 통해 게임 접속이 가능합니다.

마지막 접속 IP나 PC방 정보가 다를 경우 또는 게임 접속 30일이 경과된 경우
등록 된 휴대전화 번호로 SMS 간편 인증이 가능합니다.

  •  등록일
  • 등록 휴대전화 번호
확인
기존에 등록하신 SMS 간편 인증 휴대전화 번호 사용이 불가할 경우

다음 게임 스타트 보안 인증 시 휴대전화 본인인증을 다시 진행해 주시면 SMS 간편 인증 휴대전화
번호가 새로운 번호로 업데이트 됩니다.