2020-04-06 11:05 (월)
넥슨 강병탁 보안팀장 “게임보안 이슈는…”
상태바
넥슨 강병탁 보안팀장 “게임보안 이슈는…”
  • 길민권
  • 승인 2011.11.23 22:56
이 기사를 공유합니다

메모리 해킹 대응에 주력…해외에서 주로 공격
개발팀과 신뢰 쌓고 즐겁게 일하는 것 중요해
게임업체의 보안 현안은 무엇일까. 국내 최대 게임업체인 넥슨 게임보안팀을 책임지고 있는 강병탁 팀장을 만나 게임보안 현안들과 대응방법 그리고 보안팀 운영 등에 대해 들어봤다.
 
강병탁 팀장은 “넥슨의 경우 타 업체와는 달리 오토프로그램 문제보다는 메모리해킹 문제가 현안”이라며 “악의적 해커들이 메모리 해킹을 통해 게임 캐릭터를 최강으로 만든다거나 한방에 적을 무너뜨리는 공격용 툴을 개발해 불법적으로 사용하는 것들이 문제”라고 설명했다.
 
◇온라인게임 타깃 다양한 해킹시도=메모리 해킹에는 게임클라이언트 코드를 리버스엔지니어링으로 코드를 변조해 자신들이 원하는 방식으로 코드를 바꾸는 형식과 메모리 값을 변조하는 데이터 변조방식이 주로 사용된다.
 
특히 넥슨은 국내 매출보다 해외매출이 전체 매출의 60~70% 정도를 차지하고 있다. 그래서 해외 지사에 대한 보안이슈 대응도 넥슨 보안팀의 주요 업무중 하나다.
 
강 팀장은 “넥슨은 일본과 미국, 유럽 등지에 해외 지사가 있다. 이들 국가에서 많은 해킹시도가 이루어지고 있다. 유럽 해커들이 미국 사이트에 활동하면서 해킹툴을 제작해 판매하는 사이트도 있고 네덜란드에서 서비스하는 사이트 등에도 여러 국가 해커들이 넥슨 게임을 타깃으로 해킹툴을 제작해 공유하기도 한다”며 “온라인게임은 일주일 혹은 한달에 한번 패치를 하고 새로운 컨텐츠를 만들어 공개하는데 그 과정에서 프로그래머가 생각지도 못했던 부분에서 취약점이 발생하기 때문에 항상 긴장을 늦출 수가 없다”고 전했다.
 
그럼 대응은 어떻게 하고 있을까. “초기에는 게임보안 솔루션에 의지해 안티리버싱 기술로 차단해 오다가 최근에는 회사 내에서 자체적으로 툴을 개발해 대응하고 있다”며 “게임보안 솔루션이 대부분 해커들에게 분석당해 구조가 드러나 우회기법들이 나오고 있어 이에 대해 대응하기 위해 자체적으로 제작하고 있다”고 설명했다.
 
타임을 변조해서 스피드를 불법으로 극대화 시키는 스피드핵과 같은 경우는 API 후킹탐지를 통해 클라이언트에서는 속도가 빠른 반면 서버에서는 정상인 경우 등 클라이언트와 서버간 시간측정을 통해 로직으로 대응하는 방식이다.
 
또 메모리 해킹도 게임보안에서는 메모리를 못 읽게 하고 게임 프로세스에 접근도 못하게 하고 있지만 해커들은 계속해서 메모리 접근을 시도한다. 주로 변조하는 메모리들의 실제 소스코드를 분석해서 취약점을 제거하는 방식으로 대응하고 있다.
 
한편 게임을 무료로 사용할 수 있고 마음대로 조정할 수 있는 사설 서버도 문제다. 이는 게임업체에 경제적 손실을 불러온다. 유저들이 무료로 게임을 즐길 수 있기 때문에 사설 해적서버로 이동하기 때문이다. 사설 서버를 추적해 법적 소송을 준비하는 것도 보안팀의 업무중 하나라고 한다.
 
◇보안팀, 개발팀과 신뢰구축 먼저 해야=게임업체에서 메인은 게임개발부서다. 개발팀과 보안팀은 자칫 관계 정리가 잘 되지 않으면 앙숙으로 변할 수도 있다.
 
강 팀장은 “게임 개발팀을 보안팀이 핸들링하기란 쉽지 않다. 개발인력들도 해킹을 자주 당해봐서 어떤 취약점이 있고 어떤 방식으로 해킹이 이루어지는지 잘 알고 있다. 패킷 해킹당한 개발자는 패킷암호화에 대해 해박한 지식을 가지고 있고 조작 방지기술도 다 알고 있는 프로들”이라며 “그런 사람들에게 이렇게 해라 저렇게 해라 지시하는 것은 바로 거부감으로 표출된다. 가장 중요한 것은 개발팀과 보안팀이 신뢰를 구축하는 것이다. 개발팀을 도와준다는 느낌으로 다가가는 것이 필요하다”고 말했다.
 
넥슨 보안팀은 개발팀과 신뢰가 구축된 상태다. 개발팀은 보안팀을 협력팀으로 인정한다. 그래서 강 팀장은 보안팀도 개발 공부를 꾸준히 하고 있다고 강조한다. 개발환경과 문화에 대해 공부하고 그들의 입장에서 발맞춰 도움을 주는 것이 서로간 신뢰를 쌓을 수 있는 방법이라고 한다.
 
강 팀장은 “게임 취약점은 알고도 못 고치는 경우 많다. 이를 개발자도 잘 알고 있다. 개발환경을 전혀 모르는 상황에서 보안컨설턴트가 와서 원론적인 이야기만 하면 전혀 접점이 생기지 않는다”며 “서로간 문화를 잘 이해하려고 노력해야 하고 신뢰를 쌓는 것이 중요하다. 그들 입장에서 접근해야 한다. 보안이 기업의 비즈니스에 도움을 주는 길이 바로 이런 것이라고 생각한다. 그리고 신뢰도 실력이 없으면 생길 수 없다. 보안팀의 실력도 중요하다”고 강조했다.
 
그는 항상 개발팀에게 보안이슈에 대해 한가지만 하도록 강요하는 것이 아니라 여러가지 대안을 제시하고 개발팀에서 스스로 판단해 제시된 조건중 자신들이 알아서 적용하도록 하고 있다. 개발팀의 자존심을 건드리지 않으면서 보안팀의 목적을 달성하는 영리한 방법이 필요하다.
 
넥슨은 게임별로 담당하는 보안담당자가 있다. 그리고 개발시점부터 보안팀이 움직이기 보다는 클로즈 베타 정도 단계에서 보안팀이 투입돼 취약점 점검 등 보안성 검수를 하고 있다. 검수 결과도 문서로 주면 개발팀에서 거부할 수도 있기 때문에 반론의 여지가 없도록 동영상으로 보여주고 방어코드도 제공해준다. 때로는 개발팀이 바쁜 경우 직접 코드 수정도 해주기도 한다. 이런 가운데 상호 신뢰가 쌓여가는 것이 아닐까.
 
그래서 강 팀장은 “게임 보안쪽에서 살아남기 위해서는 개발능력은 필수다. 보안만 잘한다고 되는 일이 아니다”라며 “서버 침해사고 대응할 때도 그리고 보안점검을 할 때도 개발능력이 필요하다.  보안팀에서도 스크립트를 직접 제작해 자동화해서 진단하고 악성코드 탐지도 코드를 만들어 탐지해야 하기 때문”이라고 강조했다.
 
◇매일매일 전쟁이지만 즐겁게 일해요=그는 넥슨에서 출시된 많은 게임들의 보안이슈를 담당하고 있기 때문에 매일매일 개발팀들과 회의하느라 하루가 다 간다고 한다. 또 해킹 이슈가 국내 보다는 해외에서 많이 발생하기 때문에 업무의 70% 정도가 해외 지사 관련 업무라고 한다.
 
넥슨은 현재 미국, 일본, 유럽에 현지 지사가 있고 게임 서비스는 50개국에서 이루어지고 있다. 한편 국내 보다는 해외 해커들의 공격수준이 더 높다고 한다. 그래서 강 팀장의 메일에는 대부분 해외에서 날아온 영어 메일로 꽉 차있고 이것을 하나하나 대응해줘야 한다. 예전에는 미국에서 이슈가 발생하면 시차 때문에 대응하는데 2~3일 정도가 걸렸다고 한다. 하지만 지금은 보안팀에서 탐지툴과 운영툴 등을 자체 개발해 각 지사에 배포해서 즉각적인 대응이 이루어질 수 있도록 조치한 상태다.
 
강 팀장은 “다른 곳도 비슷하겠지만 넥슨 보안팀에서 근무하기 위해서는 기본적인 보안지식과 개발스팩이 있어야 한다”며 “리버스엔지니어링도 잘해야 하고 동적 분석이 아닌 코드 레벨로 한줄 한줄 분석해서 문제를 캐치할 수 있어야 한다. 또한 해외 업무로 인해 영어에 불편함이 없어야 한다”고 설명했다.
 
더불어 “보안분야 만큼 다양한 전공분야 사람들이 일하는 곳도 없을 것 같다”며 “보안의 역사가 짧아서 이겠지만 좋은 현상이다. 보안담당자는 회사내 개발팀, 인사팀, 시스템부서, 법무팀 등 거의 모든 부서와 소통해야 한다. 그래서 커뮤니케이션 능력도 중요한 요소”라고 덧붙였다.
 
이렇게 매일매일 전쟁처럼 살아가지만 강 팀장은 항상 즐거운 모습이다. 직장내 밴드 동아리 회장으로 활동도 하고 일년에 두번 정도 정기공연과 비정기적으로 홍대 클럽을 대여해 맴버끼리 연주회도 열고 있다. 그의 주 포지션은 일렉트릭 기타다.
 
그는 “즐겁게 일했으면 좋겠다. 늦게까지 일하고 업무도 많지만 이 일이 재미있기 때문에 힘들지 않다. 팀원들 대부분이 집에 가서도 공부하고 새로운 툴 만들어 보고 모두들 힘들어 하기 보다는 좋아하는 일도 하면서 돈도 버는 것이다. 그리고 그런 팀원들과 함께 하는 것 자체가 행복하다”며 “게임해킹은 악성코드 분석이나 서버해킹보다 다이나믹해서 재미있다. 또 해커와 소통을 자주한다. 해커가 공격툴을 만들면 바로 방어하고 다시 뚫리고 다시 막고 그런 과정이 즐겁고 보람을 느낀다”고 말한다. [데일리시큐=길민권 기자]