온라인 게임 보안 업계 2편




이전의 글은 아무래도 너무 게임회사의 보안담당자만 옹호하고 보안회사 쪽에는 부정적으로
비춰진 것 같아서 이번에는 한번 보안회사 측의 편을 들어서 또다른 얘기를 해볼까 합니다.

문제가 되는 현실이 일단 모든 보안담당자가 반드시 보안에 일가견이 있어서 보안담당자가
된 것은 아니라는 겁니다. 걍 보안은 알고 있긴 하지만 그 흔한 매크로 한번 실행해보지 못한
게임 보안에 무지한 사람이 담당자가 된 경우도 있고, 아니면 아예 보안의 보자도 모르는 사람이
어쩌다보니 부서를 빙빙 돌며 업무가 이리저리 날아다니다가 맡게 되는 경우가 있습니다.
이런 경우가 바로 게임회사의 보안 담당자 때문에 보안회사의 개발자나 SE 분들이 매우
힘들어지는 상황이 발생하는 때입니다.

이런 사람은 자기는 아무것도 모르면서 가지고 있는 얄팍한 지식으로 보안회사의 개발자들을
가르치려 합니다. 현실과 맞지 않는 이런저런 기능 개발을 요구하기도 하고 말도안되는 유지보수를
요청하기도 하죠. 예를 들어서 클릭 한방에 모든 패킷이 자동 암호화 되는 솔루션을 만들어
달라던가 (그것도 비밀키 알고리즘으로. 대체 비밀키는 어디서 줏어 들었는지 ㅅㅂ) 아이템
내구도의 중요한 수치를 클라이언트의 데이터 섹션에 보관하는 어이없는 취약점을 가지고
있으면서 전혀 고칠생각은 없고 보안솔루션이 ㅄ이라서 맨날 자기네 게임이 당한다고 하는 등
상식에 어긋나는 언행으로 보안회사의 사람들을 괴롭힙니다. 이런 사태를 빗대어 당시 저의 
동료였던 최모 대리가 이런 말을 남기기도 했는데요 "게임 서버 클라이언트의 한번 동기화로
막을 수 있는 핵을 게임보안 솔루션에서 걸레가 되도록 패턴으로 대응하고 있다"
아주 가슴아픈
명언이라고 생각됩니다.




그런 얘기가 있습니다. 어설픈 엔지니어보단 아예 아무것도 모르는 초짜가 낫다고. 적당히
어설프게 아는 사람들은 "어? 이러면 될 거 같은데 왜 안하고 있는거지? ㅄ 아냐?" 라는 말을
너무도 무책임하고 자연스럽게 내뱉습니다. 그리고 그에 대한 비난을 보안개발자들에게 퍼붓죠
이 경우가 정말 가장 힘든 경우입니다. 보안이라는 것에 대해 이제 개미발가락 만큼 알았다고
해서 자신이 생각해 냈던 것을 보안회사에 생각해보지 않았을까요? 만약 이사람들이 보안쪽
공부를 열심히 해서 나중에 시간이 흘러 자신이 했던 말을 다시 주워서 돌려준다면 본인이
얼마나 어리석었는지 알게 될 거라는 생각이 듭니다.

보안회사에서 일부러 뻔히 보이는 구라를 치려고 발버둥치는 모습이 보이지 않는 한,
그들을 믿으세요. 그리고 어떠한 견해를 제출하고 싶을 때 폄하로서의 의견을 내비치지
않는 것이 중요합니다. 조그마한 한마디가 굉장히 가슴을 아프게하는 경우가 많습니다.

상황이 이쯤 되자 각 게임사들은 사내에 보안팀을 확보하면서, 내부 보안 프로그램을
구축하기에 이르렀다. 내부적으로 툴을 개발하고, 개발 초기부터 클라이언트 보안을
확실히 하면서 해킹에 대한 피해를 미연에 방지하기 위해서다. 하지만 아직까지
특별한 툴이나 해킹을 방지할만한 대안이 없어 안정화까지는 시간이 걸린다. 따라서
여전히 외부 프로그램을 사용하고 있는 실정이다.


이것도 어느 정도는 맞는 얘긴데, 어느 정도는 포인트가 빗나간 면이 없지 않아 있습니다.
게임 회사 내부에서 보안 개발팀을 통하여 게임 보안 솔루션을 개발한 이력이 여러번 있었고
아쉽게도 알려진 대부분의 것들은 성공? 이라는 단어를 올리기 어려운 결과를 안겨주었습니다
(아직 서비스 되고 있는 곳도 있긴 하죠)

이유는 무엇일까요? 글쎄, 저만의 생각일지도 모르겠지만 저는 결코 기술력이 후달려서 라고
생각되지 않습니다. 게임보안 기술력은 아직도 그 흔한 책한권 나온게 없지만 인터넷을 통해
그리고 수많은 해커들의 리버스 엔지니어링을 통해 아주 많이 알려졌습니다. 그리고 회사에서
돈 들여 솔루션을 개발하는데, 그정도 기술을 보유하지 못한 초삐리들로 인력을 구성할까요?
그럼 문제는 무엇이냐, 제 생각으로는 제품 유지보수와 안정화 문제라고 생각됩니다.

게임 보안 분야는 그 특이성으로 인해 새로운 해킹툴이 계속 쏟아져 나올 수밖에 없고, 이런
모습을 사물에 빗대어보자면, 일종의 소모품 같은 구조라고 할 수 있습니다. 현관문에 자물쇠를
붙혀 놓으면 계속 사용할 수 있는 것과는 달리, 계속 닳고 닳는 자물쇠라는 겁니다. 그래서
시간이 지나면 자물쇠는 다 닳아 풀려버리게 되고 업데이트/유지보수가 반년 이상 버려진 채
지속된다면 그냥 뚫려버리게 되겠죠. 이런 습성의 솔루션인 까닭이라고 생각됩니다.
다시 기사로 돌아와서 안랩 신호철 부장님의 한마디를 인용해 볼까요.

게임 보안 기술은 IT보안 업계 중에서도 최고 난이도에 속한다. 게임 속도에 영향을 미치지
않으면서도, 게임 밸런스 유지와 함께 오토 프로그램, 각종 해킹툴에 대한 방어까지 고려
해야할 요소만 수십 가지에 달한다. 전 세계를 통틀어 어떠한 업체도 완벽한 보안
프로그램을 개발하지는 못했다. 다만 그 대응 속도를 어떻게 가져가느냐에 따라 승부가
갈린다고 본다.


이 한마디에 모든 것이 다 담겨있다고 생각했습니다. 결론은 유지보수와 대응력 그리고 안정화
입니다. 실제로 핵이 난무하는 게임을 담당하다보면, 뚫리고 뚫리고 뚫리고 또 뚫리고 아주 미치죠.
나중에가선 "대체 어떻게 해야 할까 ㅠ ㅠ" 라는 좌절감 까지 맛보는 경우도 생깁니다. 그리고 피똥
싸가며 코딩해서 새기술을 게임에 적용 시켰는데, 무수히 많은 오진 사태. 연구 테마와 필드에서
사용 가능한 기술은 완전히 다르다는 현실을 직감케 해줍니다. 마지막으로 오만 프로그램과의
충돌 사태, 특히나 보안 솔루션끼리의 충돌은 아주 기가 막힙니다. 내가 후킹한걸 얘가 후킹하고
그걸 다시 또 쟤가 후킹하고, 그걸 또 또다른 넘이 원복해서 오버 후킹을 하고. 아주 지랄맞죠 ㅋ
이같은 세 가지 문제 때문에 "어 ㅅㅂ 까짓거 우리도 함 만들어보지 겜보안솔루션" 하고 뛰어들만한
시장이 아니라는 얘기입니다. 그래서 전문 보안 솔루션을 사용해야 합니다. 그들은 지금까지의
저런 문제에 대한 노하우를 어쨌든 축적하고 있으니까요. 그리고 IT 업계는 특히나 자신의 분야에
대해 자긍심이 많으시겠지만, 사실 객관적으로 봐도 게임 보안기술은 IT 보안업계 중에서도 최고
난이도에 속한다
라는 말에 전적으로 동의합니다. 알아야 될게 너무도 많으니까요 ㅠ ㅠ
제가 생각하는 게임 보안 개발자가 가지고 있어야 할 자질입니다.

- 기본적인 C/C++/Asm 프로그래밍 스킬
- 암호화 프로그래밍, 각종 알고리즘에 대한 지식
- 시스템 프로그래밍 (API Hooking, Process, Thread etc Windows Internals 에 대한 지식)-
- native API, Kernel 프로그래밍 스킬


그리고 다음은 게임 개발자와 협업하여 그리고 게임 서버/클라이언트에 대한 시큐어 코딩 가이드를
전달하거나 라이브러리를 만들어 제공할 수 있을만한 기술이 필요합니다. 게임 보안 클라이언트
엔진만으로는 불가능한 경우가 많으니까 게임 서버에 코드를 심는 경우가 잦습니다.

- 네트워크 프로그래밍 스킬 (서버/클라이언트)
- 패킷 암호화
- Direct X, OpenGL 프로그래밍 스킬 (이것도 필요할때가 있습니다 ㅅㅂ)


그리고 바이러스 분석가 이상의 분석력이 필요합니다.

- 리버스 엔지니어링
- ring3 / ring0 디버깅
- 바이러스 분석
- 패킷 분석
- PE Header/ Protector/Packer
- Anti-Debugging

그리고 마지막으로 어이없는 스펙까지 요구됩니다.

- 정파스런 코딩이 아닌 사파스런 코딩 (주화입마에 빠지기 직전의 코딯)
- 슈퍼 잔대가리







이렇게 이들의 입장을 한번 간추려 보았습니다. 게임 보안 솔루션은 라이브 서비스 제품입니다.
유지보수와 각종 대응은 상식 이하로 많으며, 일단 붙혀놓고 널럴한 제품과는 수준이 틀립니다. 
또 역시 이런 인력이 없다보니 현실은 제공하는 입장이나 사서 쓰는 입장이나 모두 힘든 경우가
많죠. 고생하시는 분들 끝없는 고행길이 눈앞에 훤하고 너무도 힘든 시장이네요. 우리가 사용하고
있는 솔루션 우리가 욕 해 보았자 소용이 없습니다. 이바닥은 결국엔 같이 협업해야 되니까요.
한쪽에서만 발악하며 대응해 봤자 큰 이득이 없습니다.

그리고 불필요한 간섭 조차 그들을 힘들게 합니다. 말은 이렇게 하지만 저 스스로도 똑바로 하고
있는지 모르겠네요... 이 재미없고 긴 글 글 여기까지 혹시라도 보신 분 계신다면 좀 게임보안
개발자들에게 좀더 잘 대해주세요 ^^;;;


window31. 2009년 1월


ps 이미지는 해커들이 만든 HackShield 이미지와, nProtect 이미지입니다.
    nProtect 이미지는 치엔 포럼, HackShield 이미지는 이분 블로그에서 퍼왔습니다.

Posted by window31


트랙백 보낼 주소 : http://window31.com/trackback/236 관련글 쓰기

댓글을 달아주세요

  1. ks
    2009/01/27 21:57
    댓글 주소 수정/삭제 댓글
    그래도 GG나 HS드라이버를 모두 NOP으로 패칭한 후 모든 후킹을 해제하면 멋지겠군요(스레드 변환 없이 단번에 실행해야 함).... 테스트하고 싶지만 블루스크린이 두려워서(?)...
    • 2009/01/28 01:12
      댓글 주소 수정/삭제
      네. VirtualPC에서 돌아가는 게임을 찾아보세요.
  2. 2009/01/28 01:09
    댓글 주소 수정/삭제 댓글
    "넌 저기 있는거 다 할줄아냐?" 라는 태클에 대비해 한마디 덧붙힙니다.
    네 당연히 할줄 모릅니다. 겸손이 아니고 정말 모릅니다. 모르는 상태로 막 하긴 했었죠.
    그래서 좌절감 절망감 분노 쪽팔림 머 다 겪어봤습니다.
    하지만 다 하는 분들이 분명히 계십니다.
    그분들은 정말 대단한 분들이라는 말씀을 드리고 싶었습니다.
    그런분들이 많지는 않으시겠지만요 지금도 이바닥에서 코딩하며 새로운 것들을 연구하고 계시겠죠.
  3. justlive
    2009/01/31 17:25
    댓글 주소 수정/삭제 댓글
    이호철 -> 신호철 부장님 입니다. 정정 부탁드려요 ~ ㅋ
    • 2009/02/02 16:00
      댓글 주소 수정/삭제
      이런 ㅠ ㅠ 얼른 수정했습니다.
      신호철 부장님께 죄송합니다 (__)
  4. 한마디합니다
    2009/02/04 00:30
    댓글 주소 수정/삭제 댓글
    솔직히 잘 모르지만 하도 답답해서 한마디합니다 다른 보안솔루션과 충돌난다? 잘 이해가 안되지만 그건 그렇다고 칩시다 그런데 왜? 윈도우와 충돌이 납니까? 시스템충돌이 난다고요 진짜 빡치는줄 알았어요 게임가드 참 ;; 게임가드 솔직히 사용자컴퓨터에 뭔짓하는거아닙니까? 안그러고는 왜 충돌이 납니까? 그리고 악성코드같이 API후킹한다고요? 얼마나 이상하게 만들었으면 가만히 있는 운영체제까지 날립니까? 그리고 백신에 잘도 걸리네요? 뭐 루트킷? 키로거? 거기다가 왜 다른 백신을 잡습니까? 게임가드랑 nProtect만 보면 열받아요 누가 내 컴퓨터에 저것들 설치해버릴까봐 불안합니다? 하도 게임보안솔루션때문에 익스플로러충돌에 각종 시스템충돌 키보드충돌 충돌 충돌 충돌 충돌 때문에 미치겠어서 온라인게임접었습니다 솔직하게 스파이짓같은것도 하시죠? 안그러면 저렇게 안습일 수 있습니까?
  5. 한마디합니다
    2009/02/04 00:33
    댓글 주소 수정/삭제 댓글
    윈도우7나올때도 XP가 좋아 이럴꺼에요? 윈도우7에 게임보안솔루션 안됩니다 실행자체가 안됩니다 예? 윈도우7이 나쁘다고요? 설마요 지금도 욕이 좀 나올려는데 참습니다 저번에는 비스타가 보안이 쌔다고 엄청 싫어하시디만 이제는 윈도우7까지 싫어할 작정인거같네요 전에보니 게임가드는 윈도우7이 나와도 무시하고 XP만 지원한다던데 참 XP는 외부공격에는 안정성이 없다는 소리도 들리는데 XP만 계속 쓰실래요? ActiveX사랑에 XP사랑에 할말이없습니다
  6. 한마디합니다
    2009/02/04 00:38
    댓글 주소 수정/삭제 댓글
    마이크로소프트제품이 싫으시면 따로 운영체제를 만드는것은 무리인데요 XP나온지가 언제인지 생각좀하시기바랍니다 XP솔직하게 안정성 진짜 떨어집니다 보안도 약하던데 가만히 있는 컴퓨터에 ActiveX를 통해서 악성코드가 들어와있지않나? XP오래켜놓으면 버벅입니다 윈도우7은 오래 켜놔도 안 버벅일껀데 언제까지 XP쓰실래요? 아 참 됬습니다 게임보안솔루션은 XP에만 배포하고 이제 다른 운영체제에는 배포 안하시는거네요 이말은 즉 윈도우7은 보안이 쌔서 보안솔루션이 필요하지않으니 배포안해도 된다는거네요 좋네요 그렇게알게요
    • 2009/02/04 01:17
      댓글 주소 수정/삭제
      저도 게임가드 매우 싫어합니다.
      매~~~우 싫어합니다.
      그런데 어떡하죠 저는 게임가드와 아무 관계가 없으므로 저에게 얘기해보셔봤자 소용이 없습니다.
      이 얘기 그대로 게임가드 개발사에 전해주세요. 회신이 어떻게 올지는 모르겠습니다만.
      그리고 그때는 적어도 이메일이나 블로그 정도는 남겨주시겠죠 아마?
      본인이 정말 떳떳하다면 남을 깔 때도 자신이 누군지 알리는 것을 숨길 필요 없이 당당히 까야 하니까요.
      커뮤니티의 작은 댓글 하나가 법적 책임을 묻는 세상으로 바뀌어 가는 요즘의 풍토에서
      익명으로 이런저런 소릴 해 보았자 별로 주의깊게 들어주지 않을 것이라 생각됩니다.
    • ks
      2009/02/10 15:41
      댓글 주소 수정/삭제
      저도 싫어합니다....
      충돌쟁이인데다가 서포트도 제대로 안 해주고요...

      그리고 window31님이 말하신 거에서 익명성이 있는데요, 저는 블로그가 있기는 한데 아직 내용이 별로 없어서 아직 입니다.

      근데 게임가드를 싫어하는(충돌 말고) 이유가 또 있나요?
  7. 한마디합니다
    2009/02/04 12:18
    댓글 주소 수정/삭제 댓글
    그러면 당신은 어느회사에 다니죠? 혹시 안랩 핵쉴드세요?
  8. 한마디합니다
    2009/02/04 12:21
    댓글 주소 수정/삭제 댓글
    잉카인터넷 참 더럽다죠 하는짓도 이런소리해봤자 아마 씹던지? 아니면 어쩔 수 없다던지 이상한 답변만 오겠죠?
  9. 한마디합니다
    2009/02/04 12:26
    댓글 주소 수정/삭제 댓글
    아 은근히 겁주시네요? 잠시 열받았나봅니다 죄송합니다
    • 지나가다
      2009/02/04 12:51
      댓글 주소 수정/삭제
      주인장님 씹으세요~ 이런 쓰레기같은 사람들 상대할필요 없는듯~
    • 나도 지나가다
      2009/02/04 14:08
      댓글 주소 수정/삭제
      이런 잉카만도 못한 놈 그냥 씹으세요 ㅋ
  10. 지나가다
    2009/02/04 15:49
    댓글 주소 수정/삭제 댓글
    다시 생각해보니 아니네요 게임가드는 나쁩니다
  11. 나도 지나가다
    2009/02/04 15:50
    댓글 주소 수정/삭제 댓글
    양키만도 못한놈은 죄송합니다 글을보니 괜찮네요
  12. 저도 게임가드 싫어요
    2009/02/05 11:34
    댓글 주소 수정/삭제 댓글
    사실 모든 사용자를 잠재적 범죄자를 취급함으로써 실상 악성코드와 동일한 방식으로 실행되는 겜가드...정말 싫어합니다....와우의 warden처럼 사용자가 프로세스에 올려놓은 프로그램 목록은 물론 여타 프라이버시가 가득한 정보를 제 것처럼 퍼갈 것이라는 불안감이 드는게 한 두 번이 아닙니다. 모든 프로그램에 인젝션하면서 여러 프로그램과 충돌하게 만드는 건 정말 정도가 아니라고 생각합니다. 그럼 불법 프로그램은 어떻게 막아?하시는 관계자계시겠죠? 그건 우리 사용자가 알 바 아니죠. 현업에 몸담고 계신 분들이 기술적으로 고민할 부분이겠죠. 잉카 제품 짜증나는게 옥션 쇼핑하다가 usb키보드 썼다는 이유로 블루스크린 띄우는게 한 두번이 아니었습니다. 해결방법도 겨우 알았고요. 잉카인터넷이 사용자를 좀 더 배려해서 제품을 만들기를 바랄 뿐입니다. 그렇지 않으면, 그러한 구멍을 메우는 다른 뛰어난 보안업체가 시장을 휘어잡겠죠.
  13. 게임가드싫어요
    2009/02/05 12:54
    댓글 주소 수정/삭제 댓글
    다른 뛰어난 보안업체가 생기기도 힘들어요 왜냐하면 지금 사회를 보세요 들어갈 틈이 없습니다 만약 생긴다고해도 잉카인터넷에 밀립니다 성능이나 다른게 다 좋아도 밀릴 수 밖에 없어요 이유는? ㅃ ㅐ ? ㄱ 아시죠? 이것떄문입니다
  14. 2009/02/09 12:37
    댓글 주소 수정/삭제 댓글
    댓글들이 참.. -_-;;
    • 2009/02/24 23:54
      댓글 주소 수정/삭제
      저랑 같은 생각을 하셨네요 ㅎ ;
  15. 2009/02/19 00:11
    댓글 주소 수정/삭제 댓글
    고객문의를 담당하는 부서에 계신분들을 존경하는 이유가 여기에 있네요ㅋ
    겜이나 하고 자야지^^; 형 낼봐요~
    • 2009/02/24 23:55
      댓글 주소 수정/삭제
      응.. 근데 내일에 해당하는 2월20일날 (혹은 19일) 우린 안본거 같다만 ;;; ㅋ
  16. 2009/05/07 21:34
    댓글 주소 수정/삭제 댓글
    우연히 들러 포스팅 잘 읽고 갑니다.
    보안에 대해 지식이 없는터라 모두 와닿지는 않지만...
    그래도 컴퓨터를 다뤄야 할 사람으로서 많은 부분 공감되네요 -_-;

BLOG main image
by window31

카테고리

분류 전체보기 (281)
Reverse Engineering (21)
C, C++ (20)
Kernel (8)
Guitar (19)
잡담 (77)
etc (8)
who am i (8)
보안 이야기 (88)
Tools (3)
월간 마이크로소프트웨어/그.. (28)

글 보관함