로그인

회원가입 | ID/PW 찾기

연재

[게임과 법] ‘불법 프리서버’는 어떻게 만들어지나?

프리서버: 전체적인 구조

땡땡땡 2016-03-07 16:19:44

안녕하세요 게임과 법 칼럼의 OOO입니다.

 

이번 연재에서는 게임과 저작권 중 프리서버에 대한 이야기를 해 볼까 합니다. 사실 프리서버에 대한 문제는 저작권뿐만 아니라 다른 법적 문제도 함께 관련돼 있어서 다른 주제를 더 논한 후에 설명할 생각이었습니다. 다만 댓글로 기대하겠다고 하신 분도 있고 하여 기왕이면 생각이 난 김에 말씀을 드리려고 합니다.

 

지금부터 한 4년 정도 전의 일인데, 사건 때문에 프리서버 운영자를 만난 적이 있었습니다. 처음에 그 ‘운영자’를 만나 보고 놀랐던 부분은 생각보다 나이가 어린 분이었다는 점입니다. 성인이긴 했지만 어리다 못해 ‘앳되다’는 표현이 더 맞는, 갓 학생 티를 벗은 분이었던 것이 기억에 남습니다.

 

형사사건이라 고소인의 대리인과 피의자로서 만난 것이었으니 상대방 입장에서는 상당히 불편한 자리이긴 했습니다. 그러나 합의를 위해 마련된 자리였기 때문에 궁금했던 점을 여쭈어보았고 답변을 들으며 프리서버에 대해 많은 이야기를 들을 수 있기도 했습니다.

  

이 분은 모 온라인게임의 프리서버를 중·고등학생 시절 운영하다가 고3이 되면서 더 이상 운영하기가 어려워 타인에게 운영권을 양도한 분이었습니다. 저와 마주앉아 이야기를 했던 때는 대학생이 된 이후였고요. 사실 형사사건의 범죄자라고 보기는 어려운 인상이었죠. 

  

운영하던 당시에는 학생이라 속칭 ‘문상(학생들이 문화상품권을 줄여 부르는 은어)’으로 사용료를 ‘기부’ 받았다고 합니다. 많이 벌 때에는 한 달에 50~60만 원 정도까지 벌기도 했고, 서버 운영자와 관리자를 따로 두고 ‘용돈’을 주기도 했다는 말을 들었습니다. (기부, 용돈 등의 용어는 뒤에서 다시 설명을 드리겠습니다)

  

동시접속자 수는 많을 때는 500여명 정도 수준이었고, 회원 수는 5만 명 정도(포털 사이트 카페에서 4만 명, 자체 홈페이지로 1만 명 가량)까지 됐었다고 했습니다. 그 정도면 기업적이거나 대규모는 아니라고 하더라도 상당히 체계적으로 운영이 되었던 것을 알 수가 있었습니다.

 

프리서버와 관련이 있던 게임은 학생들 사이에 인기가 많았던 게임이라, 프리서버도 꽤 잘 됐다고 말했습니다. 많진 않지만 학생 입장에서는 꽤 큰 용돈벌이가 되는 것이 신기하기도 했고, 인터넷을 통해 불법적인 일을 하다 보니 마치 자신이 해커가 된 것 느낌에 일탈이 주는 즐거움도 있었다고 했습니다.

 

이 분은 3년 정도 운영하고 나니 공부도 해야겠고 더 이상 벌이도 시원치 않아 타인에게 운영 중이던 프리서버를 넘겼다고 합니다. 다만 이후에도 해당 프리서버는 꽤 오래 운영됐고, 결국 고소 이후 소재추적 끝에 검거됐죠. 당사자는 아마도 예전에 손을 떼어 문제되지 않을 거라 생각했을 터인데, 갑자기 피의자가 되자 무척 겁을 먹은 것 같았습니다.

  

사실 제가 수사관이 아니고, 합의를 위한 자리에서 그간의 사정에 대해 알고 싶다고 부탁해 이야기를 들은 것이라 그 운영자가 모든 것을 사실대로 말했는지 알기는 어렵습니다. 보통 피의자의 입장에서는 피해 규모는 일부 줄여서 설명하는 경향이 없진 않습니다. 그러나 합의를 전제로 얘길 들었고 상당히 구체적인 부분까지 이야기를 한 것으로 보아 꽤 믿을 만한 이야기를 들었던 것 같습니다.

 

위 사례는 프리서버 운영 실태를 파악하기에 상당히 신뢰할 만한 사례가 아니었나 싶습니다.

 

 

 

프리서버는 우리나라에서 많이 쓰는 용어인데, 예상하셨다시피 영어의 ‘Free Server’를 그대로 우리말로 옮긴 것입니다. 아재개그 같은 소리 하나 보태면, 프리서버를 모든 것이 자유로운 ‘자유서버’라고 해석하시면 안됩니다. 여기서의 프리서버는 ‘공짜서버’라는 의미로 쓴 것임을 염두에 두시기 바랍니다.

 

프리서버는 쉽게 말하면 게임 퍼블리셔나 개발사로부터 라이선스나 동의를 받지 않고 임의로 게임 서버를 제작하고, 게임 클라이언트를 변조해 배포한 후, 불법적인 게임서비스를 제공하는 데 사용되는 서버나 게임 서비스를 이르는 말입니다.

 

우리나라에서는 프리서버라는 말도 쓰지만 사설서버(Private Server)라고 불리는 경우도 많습니다. 사실 지금도 유명한 온라인게임의 이름과 더불어 프리서버나 사설서버를 검색 사이트에서 찾아보면 프리서버를 심심찮게 찾을 수 있습니다. 외국에서는 로그서버(Rogue Server, 도적서버), 해적서버(Pirate Server), 에뮬레이션서버(Emulation Server), 불법서버(Illegal Server)라고도 합니다.

 

앞에서 얘기한 제가 피의자를 만났던 사례는 4년 전이었는데, 전체 운영 기간과 피의자가 손을 뗀 기간을 고려하면 거의 7~8년 전 운영 사례라고 할 수 있습니다. 다른 사례이긴 합니다만 지난해에도 온라인게임 <리니지> 프리서버 운영자들이 검거된 케이스가 있었고 당시 신문기사에 의하면 운영자들이 약 5년간 취한 부당 이득액이 20억 원에 달한다고 했었죠.

 

프리서버에 대해 논하기 위해 이번 시간에는 (제가 아는 선에서) 프리서버 서비스의 구조를 살펴보고, 다음 연재에서는 살펴본 구조를 바탕으로 왜 프리서버가 법적으로 문제가 되는지를 논의해 보도록 하겠습니다. 눈치빠른 TIG 독자께서는 이미 아셨겠지만, 오늘은 법적인 이야기를 하지 않을 것이라는 의미이니 편하게 읽어보시기 바랍니다.

  

  

 

■ 정상적인 온라인게임의 서비스 구조

 

정상적인 온라인게임의 서비스 구조는 크게 서버(Server)와 클라이언트(Client)로 구성이 됩니다. 이 중에서 이용자가 게임에 접속하기 위해 사용하는 것이 클라이언트 프로그램인데, 게임 서비스 제공자의 웹페이지(게임 홈페이지)에서 다운로드해 이용자의 PC에 설치하는 것이 바로 클라이언트 프로그램입니다.

 

모바일게임의 경우에도 네트워크를 이용하는 게임의 경우, 이용자들이 애플 앱스토어나 구글플레이에서 다운로드해 설치하는 프로그램이 클라이언트의 역할을 합니다. 아마 이런 내용은 저보다도 TIG 독자 여러분이 더 잘 이해하고 계실 것 같네요.

 

이용자가 클라이언트 프로그램을 설치해 실행하면 해당 클라이언트 프로그램은 이미 프로그램에 저장돼 있던 서버 컴퓨터의 주소를 찾아서 네트워크를 통해 서버 컴퓨터에 접속을 시도합니다. 서버 컴퓨터는 클라이언트 프로그램으로부터 접속 요청을 받으면 해당 클라이언트 프로그램의 버전 등을 체크하고, 정상적인 접속이 맞는지를 확인한 후 정상적인 접속이 맞으면 연결을 허용합니다.

 

정상적인 접속이 이루어지면 이용자는 자신의 ID와 패스워드를 입력하게 되고, 서버 컴퓨터에서는 데이터베이스에 저장된 해당 이용자의 정보를 확인한 후 게임을 할 수 있게 해 줍니다. 게임서버가 여러 개인 경우 이용자의 신원 확인을 위한 인증서버와 게임 서버를 별도로 두는 경우도 있는데, 여기에서는 프리서버의 서비스 구조를 설명하기 위해 간단히 온라인게임의 서비스 구조를 설명한 것이니 생략하겠습니다.

 

  

 

​ 프리서버 제작 준비 


(1) 패킷스니핑

 

본래 온라인게임은 서버와 클라이언트가 통신을 하는 구조를 갖기 때문에 이용자가 클라이언트에서 무언가를 조작하면 클라이언트는 네트워크를 통해 서버에 그 정보를 보냅니다. 이용자가 무엇을 했는지를 서버에 전달하고, 서버는 그 행동이 의미가 있는 것이라면 온라인게임의 가상세계 내에서 적절한 상황이 발생하도록 합니다. 

 

반대로 (이용자의 조작 없이도) 온라인게임의 가상세계 내에서 어떤 이벤트가 발생하면(예를 들어 필드에 몹이 생성된 경우) 서버가 먼저 클라이언트에게 정보를 보내어 필드에 어떤 일이 생겼는지를 알려주기도 합니다.

 

프리서버를 제작하는 사람들은 정상적인 온라인게임을 이용하면서 서버와 클라이언트가 통신하는 정보 내용을 가로챕니다. 그런 후 이를 살펴보는 방법으로 프리서버를 제작하기 위해 어떤 정보가 필요한지를 유추해내죠. 패킷스니핑(인터넷을 통해 전달되는 메시지의 단위인 패킷을 가로채어 그 내용을 살펴보는 것으로 해커들이 사용하는 방법이기도 함)을 통해 정보를 확인하는 경우가 많은데, 일종의 역공학(리버스 엔지니어링, Reverse Engineering)인 셈이죠. 

 

  

예를 들면, 이용자가 게임 속에서 아이템을 획득하는 경우 서버와 클라이언트가 어떻게 통신을 주고받는지 알기 위해 정상적인 게임에 접속한 상태로 게임 속 캐릭터가 아이템을 획득하도록 합니다. 그 때 클라이언트와 서버가 주고받는 패킷을 가로채어 내용을 확인해보는 것입니다.

 

요즘의 온라인게임은 패킷의 내용을 아무나 열어보지 못하도록 암호화를 하는 경우도 있는데, 이 경우에는 암호를 해독하는 작업 또한 수반되겠죠.

 

사실 이 과정은 말 그대로 역공학에 해당하는 과정이라 상당히 고통스럽고 오랜 시간이 소요되는 일입니다. 만약 프리서버를 이런 과정을 통해 일일이 필요한 정보를 확인하고 직접 제작하는 경우, 이들은 상당히 프로그래밍 실력이 좋은 개발자들이면서 해커일 가능성이 높습니다. 

 

  

 

(2) 서버 제작

 

프리서버를 구성하는데 필요한 정보들이 어느 정도 수집이 되고 나면 프리서버 개발자들은 해당 정보를 바탕으로 서버를 제작합니다. 이 과정은 다음에 설명할 클라이언트 변조와 같이 진행되는 경우가 많고, 실제로 프리서버의 개발자들은 이 과정을 진행하면서도 패킷스니핑을 통해 새로운 패킷이 확인되면, 추가로 개발을 진행하는 경우가 많기 때문에 단계의 구분이 크게 의미는 없는 것 같습니다.

 

사실 프리서버라고 해도 게임서버를 직접 제작할 수 있다는 것은 프로그래밍 실력이 상당한 수준에 올라 있다는 것을 의미합니다. 따라서 이 과정까지가 프리서버 제작에서 진정한 의미의 역공학에 해당하는 과정이고, 어떻게 보면 ‘독하다’ 싶을 정도로 인내와 노력이 필요한 부분이기도 합니다.

 

물론 프리서버 개발자의 수준에 따라 제작된 프리서버의 기술수준도 차이가 납니다. 때문에 부족한 실력으로 만든 프리서버는 안정적이지 못해 수백 명의 접속자도 버티지 못하고 다운되는 경우도 많이 발생한다고 합니다.

 

간혹 어떤 게임의 경우 그 소스코드가 일부 혹은 전부 유출돼 있거나 오픈소스에 기반해 게임을 제작한 경우가 있습니다. 유출된 소스코드나 오픈소스를 개발자가 이용해 프리서버를 개발하는 경우에는 상당히 완성도가 높은 프리서버가 존재하기도 합니다. 프리서버 개발자들이 들여야 하는 노력도 훨씬 줄어들겠죠.

 

물론 숙련된 개발자라고 해도 타인이 작성한 소스코드를 읽는 것이 쉬운 일은 아니겠습니다만, 속칭 ‘맨땅에 헤딩(?)’하는 것 보다야 낫겠죠.

  

 

  

(3) 클라이언트 변조

 

프리서버의 서버 개발과 동시에 개발자들은 클라이언트를 변조합니다. 정상적인 게임 클라이언트는 클라이언트 내에 정식 서비스가 제공되는 서버의 주소를 가지고 있는데, 이것을 사설서버의 주소로 바꾸어 임의로 제작한 사설서버로 접속하게 클라이언트를 바꾸는 것이죠.

 

이 과정에서 프리서버 개발자들은 클라이언트의 내용을 변조하지 못하도록 개발사가 암호화해 둔 장치를 제거하거나 암호화된 정보를 풀어내기도 합니다. 최근의 온라인게임들은 클라이언트 내부에 사설서버의 주소를 저장하지 않고 이 또한 네트워크를 통해 받아오는 경우도 있는데, 이런 경우에도 변조를 통해 사설서버를 통해 정보를 받아오도록 조작을 가하게 됩니다.

 

프리서버 개발자들은 변조된 클라이언트로 개발 중인 사설서버에 접속하여 여러 가지 조작을 가해보고 테스트를 해 보면서 사설서버를 보완하고 디버깅을 하는 등 보다 서버가 잘 구동될 수 있도록 합니다. 뭐, 영화에서 보면 악당들도 상당한 기술력을 갖춘 경우가 있듯, 어떤 프리서버들은 꽤 잘 만들어져 있다고 합니다. 물론 기술 수준이 떨어지는 서버들도 많다고 합니다만.

 

이 경우에도 유출된 소스가 있거나 하는 경우 개발에 도움이 된다고 합니다. 사실 패킷스니핑부터 서버 제작과 클라이언트 변조까지의 과정을 국내 프리서버 운영자들이 직접 하는 경우는 거의 없습니다. 최근에는 중국이나 러시아, 인도 등지의 해커들에 의해 이루어지는 경우가 많다고 하네요. 북미나 유럽에서도 어리고 똑똑한 해커들이 재미 삼아 아예 설치와 서비스가 가능한 프리서버 패키지를 만들어 배포하는 경우가 꽤 있습니다. 

 

 

 

■ 프리서버 운영 준비 


(1) 호스팅 서비스 및 배포용 웹사이트 제작

 

이렇게 프리서버의 제작이 완료되고 나면, 프리서버를 운영하려는 사람들은 프리서버 서버 프로그램과 클라이언트를 구해 자기 나름의 ‘프리서버 서비스’를 시작할 수 있게 됩니다.

 

집에서 취미 삼아 프리서버를 돌려 보려는 사람들은 자기 PC에 프리서버를 깔아 실행해 보고 클라이언트도 자기 PC에서 실행해 친구들과 한두 번 해보다가 중단하기도 합니다. 그러나 프리서버 운영을 통해 돈을 벌기로 작정한 자들은 서버를 섭외하고 설비에 투자를 하는 등 제법 서비스같은 구색을 갖추려고 애를 쓰게 됩니다.

 

이들은 보통 웹호스팅 업체나 포털사이트 카페를 이용해 프리서버 서비스를 위한 웹페이지를 만들고 회원을 모집합니다. 이후 호스팅 업체를 통해 별도의 서버 호스팅을 받거나 아예 IDC에 직접 서버를 사서 넣고 준비된 서버에서 프리서버 서버 프로그램을 실행합니다. 그리고 해당 서버에 접속하도록 변조된 프리서버 클라이언트 프로그램을 회원 모집을 위해 개설한 웹페이지에서 배포하는 것이죠.

 

이쯤 되면 프리서버는 꽤나 조직화된 모습으로 운영이 이루어지게 됩니다. 프리서버로 게임을 즐기고 싶은 이용자들은 이들이 개설한 웹페이지에서 변조된 클라이언트를 다운받아 게임을 실행하고 프리서버에 접속해 게임을 하게 되는 것이죠.

  

(위 이미지는 예시를 위한 가상의 사이트입니다.)

 

(2) ‘기부’와 ‘문상’

 

그런데 사람들이 왜 정식 서비스를 두고 굳이 프리서버에 접속을 할까요? 그것은 정액제 혹은 부분유료화로 운영이 되는 일반적인 온라인게임의 경우, 고레벨이 되거나 고레벨만이 사용할 수 있는 아이템을 쓰기 위해서는 적잖은 시간과 비용이 들기 때문입니다.

 

프리서버는 어차피 직접 개발한 서버와 변조된 클라이언트를 이용해 서비스를 하므로, 정액제인 게임을 무료로 즐기게 해 줄 수도 있습니다. 정식 서비스에서는 고레벨만 착용할 수 있는 아이템을 아무나 쓸 수 있게 할 수도 있으며, 유료아이템을 무료로 배포할 수도 있습니다.

 

일부 프리서버의 경우 운영을 위한 패키지까지 함께 배포되므로, 게임 내 수치의 조정을 운영툴과 같은 프로그램으로 쉽게 조작하고 변경할 수 있습니다.

 

이들이 돈을 버는 방법은 다양하지만, 보통 프리서버의 세계에서 이는 ‘기부’라는 용어로 불립니다. 해외 프리서버에서도 이를 도네이션(donation)이라고 하는데요, 운영자가 이용자들에게 공짜로 게임을 할 수 있게 해 주는 대신 서버 호스팅비나 운영비를 기부해 달라고 요구하는 것입니다. 이용자들은 가능한 여러가지 방법으로 운영자에게 금전을 ‘기부’하곤 합니다.

 

제가 만나본 프리서버 운영자의 경우, 주 이용자층이 학생이었던 관계로 문화상품권을 통해 기부를 받았습니다. 문화상품권에 기재된 온라인에서 사용할 수 있는 코드 번호를 넘겨받고 프리서버 내에서 해당 이용자에게 좋은 아이템을 주거나 캐릭터의 레벨을 조정해 주었다고 하였습니다. 사실 문화상품권은 오래 전부터 학생들 사이에서는 ‘문상’이라는 이름으로 불려 왔죠.

 

해외에서는 기부에 페이팔(Paypal) 등이 이용되기도 합니다. 국내에서는 인터넷뱅킹이나 아이템 중개 사이트등 여러 가지 현금거래가 가능한 방법들을 이용하는 것으로 알려져 있습니다. 

 

  

 

​ 정리

 

프리서버에 대해 잘 모르는 분들은 프리서버를 이용하면 정식 서비스의 공식서버(프리서버에 대응하는 의미로 사용) 캐릭터가 아이템을 획득하게 되거나 경험치를 얻을 수 있는 것으로 착각하시는 경우도 있습니다.

 

그러나 TIG 독자 여러분이 잘 알고 계시듯 프리서버는 게임 서비스 제공자가 인정하지 않는 서비스로, 프리서버 활동을 아무리 열심히 해도 공식서버에서는 아무 일도 일어나지 않습니다. 비유로 말하자면 프리서버 속 게임 세상은 공식서버의 세상과 비교하면 어딘가 비슷한 듯 하지만 뭔가 다르고, 알고 보면 아무런 관계가 없는 세상인 것이죠.

 

그럼에도 불구하고 프리서버를 즐기는 사람들은 적지 않았다고 합니다. 그 세계에서는 더 쉽게 뭔가를 할 수 있다는 점도 있고, 무료이거나 돈이 적게 들기 때문이라고도 하는데요.

 

그렇다고 해도, 정식 서비스도 아니고 언제 중단될지도 모르는 프리서버 서비스에 굳이 왜 접속을 하는지 게이머의 입장에서 이해가 잘 되지는 않습니다.

 

최근에는 모바일게임의 등장으로 온라인게임 시장이 위축되면서 프리서버 또한 줄어들고 있는 추세입니다. 물론 앞서 잠시 설명해 드렸던 것처럼 모바일게임의 경우에도 서버와 클라이언트가 존재하는 한 개념상 프리서버가 만들어 질 수 있긴 합니다.

 

다만 애플 앱스토어의 경우에는 플랫폼 정책상 원천적으로 불가능할 것이고, 안드로이드 경우에는 apk파일을 변조하고 블랙마켓을 통해 배포한다면 가능할 것입니다.

 

이번 연재에서는 프리서버가 어떻게 만들어지는지와 어떻게 서비스되는지 그 개략적인 구조를 살펴보았습니다. 다음 연재에서는 오늘 살펴본 구조를 바탕으로 프리서버와 관련한 법적인 문제를 살펴보도록 하겠습니다.

 

(본 칼럼은 필자 개인의 의견으로 TIG의 편집 방향과 일치하지 않을 수도 있습니다.)

 

최신목록 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130