프로그래밍 언어 입문서가 아닌 프로그래밍 기초 개념 입문서
문과생, 비전공자를 위한 프로그래밍 입문책입니다.
jobGuid 꽃미남 프로그래머 "Pope Kim"님의 이론이나 수학에 치우치지 않고 실무에 곧바로 쓸 수 있는 실용적인 셰이더 프로그래밍 입문서 #겁나친절 jobGuid "1판의내용"에 "새로바뀐북미게임업계분위기"와 "비자관련정보", "1판을 기반으로 북미취업에 성공하신 분들의 생생한 경험담"을 담았습니다.
Posted by 죠쉬
모 필자의 전공이 법 이라는걸 알기 땀시 좀 두렵습니다만, 열심히 만든 게임을 산업 스파이에게 빼앗겼음에도 불구하고 보호받지 못하는 경우나, 억울하게 산업스파이로 몰려 처벌받는 경우를 관련 법에 대해 조금이라도 알면 회피할 수 있지 않을까 하여, 최근의 관심사인 영업비밀 보호법과 관련된 내용을 실제 있었던 일 기준으로 이야기 해 보도록 하겠습니다.

0. 영업비밀의 정의 및 처벌 범위 & 지식재산권 (구 컴퓨터프로그램 보호법)

영업비밀이란 '돈을 버는데 사용되는 지식으로 그 소유자가 비밀로 하고 싶어하는 모든 것 중에 만들어 내기 힘들고 진짜 돈이 될만한 것들'을 말한다. 물론 법적인 용어를 사용한다면 위에 쓴 것 보다 훨씬 세련되고 멋진 단어들로 구성된 문장으로 만들어 낼 수 있겠지만, 불행하게도 필자는 공돌이 이다. 컴퓨터도 알아들을만한 단순하고 직선적인 표현이 훨씬 편하... 고싶은 공돌이 이기 때문에 혹시 약간의 오해가 있을 가능성이 있을 수 있겠지만, 포 떼고 차 떼고 표현할 수 밖에 없다. 그러니 내용상의 문제가 아닌 표현상의 문제를 가지고 왈가왈부는 참아주시길 바란다.

ㄱ. 영업비밀이 왜 무서운가

한국에서 영업비밀 보호는 부정경쟁 방지법과 함께 묶여 있으며 '신지식재산권'의 한 분야이다. 즉, 영업비밀 보호법은 지식 자체를 보호하고자 하는 목적과 다른 사람의 지식을 훔쳐 경쟁에서 부당한 이득을 취하는 것을 막는 기능을 가지고 있다.

내게 소중한 영업 비밀이 침해되었다는 것이 인정된 경우, 침해된 비밀을 이용해서 하고 있는 모든 행위를 그만 두게 해달라고 요청하는 것과, 영업비밀을 까발리는 바람에 손해본 것을 물어달라고 하는 것이 가능하다. 물어달라고 하는 경우, 보통은 얻을 수 있었던 이익을 추산하여 청구하는게 일반적이지만, 영업비밀이 침해당했다고 인정된 경우에는 침해한 쪽이 침해를 통해 얻은 이익을 다 내놓으라고 할 수 도 있다.

그리고, 다른 형법과 달리 예비, 음모, 미수범 역시 처벌되며, 친고죄가 아니다. 즉, 거의 내란죄에 맞먹는 수준의 처벌 규정을 가지고 있으며, 기술유출 등으로 손해를 본 당사자가 원하지않는 경우라 해도 국익에 반하는 유출 행위라면 처벌될 수 있다. 사실, 이 규정이 추가된 것은 오래된 것은 아니고, 1998년 반도체기술 해외유출 사건 때문에 강화되었으며, 그 사건이 있기 이전에는 친고죄 이기도 했다.

어찌 되었든, 기업비밀로 인정된 정보를 유출하여 제 3자에게 알린 경우에는 3년이하의 징역이나 3천만원 이하의 벌금을 물게 되어있으니 회사에서 한 일을 회사 밖에서 뻐꾸기 날리는 일은 참는게 좋다. 재수 없으면 쇠고랑 찬다. 그 위에, 말한 내용이 외국으로 나갈걸 알면서도 말한 경우에는 처벌 규정이 더 쎄다. 10년 이하의 징역 또는 재산상 이득의 2배에서 10배 이하의 벌금을 쳐 맞을 수 도 있다. 한마디로, 인생 조질 수 있다. 회사의 영업비밀을 외국으로 들고나가 사용한 경우에도 역시 똑같이 인생 망친다.
 
예전에는 소프트웨어의 소스코드 등을 보호하기 위해 별도의 법이 있었지만, 이제는 소프트웨어를 개발하면서 발생한 모든 자원은 신지식재산권 - 즉 '부정경쟁방지 및 영업비밀보호에 관한 법률'에 의해 보호 된다. 실수로 라도 회사에서 소스코드 한 줄 이라도 회사 밖으로 들고 나오거나 포스팅 하지 말아야 한다. 왜? 위에 말한 '기업비밀 유출'죄에 해당된다. 한마디로... 좆된다.

ㄴ. 영업비밀로 보호 받으려면 뭘 해야 하나

이전에 말 했듯이 프로그래밍 기술을 통하여 공격자의 공격을 막는 데에는 한계가 있다. 수학적으로 안전한 모델을 만들더라도 실제로 그 모델을 어떻게 구현하느냐에 따라 전혀 보호받지 못할 수 도 있다. 그렇기 때문에 기술적인 면 이외에 법적인 방법이나 사회적인 방법으로 보호받을 수 있는 노력을 해야 한다. 탐 크루즈 같은 졸라 잘난 산업스파이가 중요한 정보를 뽀려 가더라도 쓰지 못하게 하는 노력이 필요 하다.

영업비밀로 보호받기 위해서는 다음의 세 조건을 만족시켜야 한다.
  1. 가치가 있어야 한다. 소위 말하는 돈 되는 정보가 아니라면 영업 비밀로서 보호받지 못한다. 주의 할 점은 실패한 실험결과 같이 그 정보를 얻기 위해 시간과 노력이 투자 되어야 하는 정보 역시 영업 비밀로서 보호 된다는 것 이다.
  2. 돈이나 시간이 투입되어야 얻을 수 있는 정보 이어야 한다. 구글 횽아나 위키 횽아에게 물어보면 가르쳐줄 만한 정보를 영업비밀이라고 우길 수 는 없다는 말이다. 영업비밀 보호 법은 기본적으로 두 회사간의 기술적인 격차나 영업력의 격차를 부당한 방법 - 뽀리는 방법으로 줄이는 것을 차단하여, 정당한 노력으로 기술력과 정보를 축적한 기업이 불이익을 당하는 것을 막고자 하는 것이 그 취지인 법 이다. 그러므로 쉽게 얻을 수 있는 정보를 영업비밀이라고 주장할 수 는 없다.
  3. 비밀로서 보호하기 위한 노력을 해야 한다. 보호하고자 하는 내용이 비밀이며, 밖으로 유출되어서는 안된다는 사실을 해당 정보를 취급하는 자에게 주지 시켜야 한다. 그리고, 허가 받지 않은자가 해당 정보를 정상적인 방법으로는 취득할 수 없도록 하는 노력을 해야 한다.
게임을 개발하는 입장에서 A와 B는 자동적으로 성립될 것이기 때문에 C에 해당되는 내용이 확보되도록 노력에 노력을 다하면 될 것이다. 그러면, 이제부터 C를 만족시키기 위해 할 수 있는 간단한 방법들에 대해 다루어 보도록 하겠다.

1. '관계자외 출입금지' 팻말의 힘
 
한국 에서는 소위 부작위범에 대한 처벌이 과하다 싶을 정도로 약하다. 부작위범 이라 함은 한마디로 표현해서 '몰라서 그랬어요 혹은 실수로 그랬어요'라 주장하는 사람을 말한다. 그 사람이 알고서 그랬다는 증거를 제시하지 못하면 설령 일부러 그랬다 해도 처벌되지 않거나 최소한 벌의 정도가 약해진다. '그냥 쓰레기 인줄 알고 휴지통에 그냥 버렸는데 중요한 정보가 유출 되었다'는 개소리를 하는 말종 때문에 회사가 문을 닫아서는 안될 일이다. 이런경우 '몰라서 그랬다'는 변명을 막기 위한 최소한의 조치가 '관계자외 출입금지' 표식이다.


거긴 네가 있어도 되는 곳이 아닐텐데?

'관계자외 출입금지' 팻말을 붙였음에도 불구하고 제 삼자가 문을 열고 들어와서 무언가 집어들고 나갔다면 일단 '불법 침입죄'가 성립이 된다. 그렇기 때문에 '관계자외 출입금지' 팻말 하나로, 실수나 부주의로 비밀 문건을 책상위에 남겨둔 경우, 비밀을 보호하기 위한 노력을 하지 않았다는 판결을 받게될 가능성을 현저히 낮출 수 있다. 그렇기 때문에 개발실이나 연구실 등 뭔가 자료가 있을만한 장소에는 '관계자외 출입금지' 팻말을 붙여두어야만 한다.

그래도 요즘은 자동으로 잠기는 자물쇠 정도는 달아줘야 한다. 기술적으로 방어할 방법이 있음에도 불구하고 하지 않았다면, '비밀로서 보호하기 위한 노력'이 충분하지 않았다는 판결을 받을 확률도 없지 않기 때문에 가능한 상황이라면 자동으로 잠기는 자물쇠도 추가해 주면 금상첨화가 되겠다.

2. 중요한 문서에는 암호를 써라

기술적으로 암호가 쉽게 깨지는 것 이라해도 상관 없다. 중요한 것은 성의를 보이는 것 이다. MS워드 등에서 제공하는 보안 옵션은 사실 빈약하기 짝이 없는 데다가, 요즘은 컴퓨터의 성능이 좋아져서 대입법[각주:1]을 사용하여 공격을 하면 열댓자리 정도의 패스워드는 일주일 정도면 깰 수 있지만, 재판자리 에서는 아주 큰 의미를 갖는다. 그냥 더블클릭하면 열리는 파일과 암호를 깨기 위해 해킹 프로그램을 일주일 정도 돌렸다는 것은 의미상으로 완전히 다르다.


있어봐야 별 필요 없는 것 같이 보여도 없는 것 보다는 낫다


3. SVN이나 CVS는 계정관리를 확실히 하라

중요한건 아무나 액세스 할 수 없다는걸 보여주는 것 이다. 소스의 유출은 꽤나 타격이 큰 유출 사건이 된다. 그렇기 때문에 소스가 유출 되고 나면 이미 게임오버 이기 때문에 별 의미는 없다. 하지만, 만의 하나라는 경우에 소스의 보호책을 형식적으로라도 시행하고 있다면, 상대 업체에게 해당 소스를 사용하지 말고 폐기해 달라고 하는 근거가 될 수 있다.

유사하게, 아웃소싱 하여 외부인을 사내로 데려다가 일을 시키는 경우 일을 마치고 나갈때 하드 디스크를 포멧할 것을 계약에 명시함으로서, 유출사고가 발생 하더라도 책임의 소재를 분명하게 하고, 다른 방법으로 보호되지 못하더라도 계약위반으로 책임을 물도록 할 수 있다. 물론, 전문적인 법률가의 관점에서 하는 정도의 정교함과 확고함이 아니므로, 기술적으로 별 의미가 없다 하다라도 정보를 보호하기 위하여 최선을 다했다는 것을 보이기 위한 레벨에서 해야만 하는 일이다.

4. 계약서 혹은 보안 서약서에 들어가야 할 문구

직업 선택의 자유는 법에서 보장하고 있는 것 이기 때문에 그 어떤 방법으로도 경쟁업체로 이직 하는 것을 막을 수 는 없다. 그렇기 때문에 계약서나 보안 서약서에는 다음의 의미가 들어있는 문구가 들어가야 한다.

종업원 자신이 개발한 기술을 다른 업체에게 누설하지 않으며, 해당 기술을 개발하기 위해 거쳤던 과정 역시 외부에 알리지 않는다.

1960년 미국 펜실베니아에서 있었던 벡슬리와 그린버그간의 재판에서 '종업원은 자신이 개발한 기술을 다른 경쟁업체에 누설하여도 특별한 특약이 없는 한 영업비밀의 침해로 보지 않는다'라고 판시하였기 때문에 위의 내용을 담는 문구가 필요해 진 것이다. 실제로 자신의 지식을 다른 이에게 알리거나 댓가를 받고 전수하는 것 자체는 정상적인 활동으로 보기 때문이다. 특정 회사에서 영업비밀로 간주하는 사항이라 하더라도 다른 사람이 정상적인 경제활동 하는 것을 막는 것은 허용하지 않기 때문이다.

그러나, 자신이 개발한 내용이 아니라 회사에 입사해서 습득한 내용의 경우에는 잘못 유출하면 '영업비밀 침해', '업무상 배임' 심하면 '불법침입', '절도' 등의 죄목을 뒤집어 쓸 수도 있으므로 회사에서 직무상 취득한 내용을 언급하는 경우에는 주의해야만 한다.

5. 세뇌교육(!)은 반드시 해야 한다

직원들에게 '영업비밀을 침해하지 않도록' 세뇌교육을 주기적으로 질려서 죽을 때 까지 해야 한다. 예전엔 영업주의 노력과 상관없이 직원이 다른 회사의 영업비밀을 가져다가 사용한 경우에는 영업주가 하지 말라고 했던 말건 무조건 영업주도 책임을 졌어야 했으나, 최근에 개정된 법에 의하면 영업주가 충분히 하지 말라고 교육하고 말렸고, 외부에서 부당하게 들고온 정보를 사용했는지를 감시하려고 노력했다면 처벌 당하지 않는다. 그렇기 때문에 직원들이 관심없어 하더라도 끊임없이 '하지말라'고 알려야 한다. 왜? 그래야 면피가 된다.

마찬가지로, 직원들이 다루고 있는 내용이 영업비밀이며, 외부에 알려서는 안된다는 것을 끊임없이 알려줘야 한다. 직원들이 보안 문구에 관심이 있건 없건, 그 문구의 의미를 알던 모르던 모든 비밀 문서의 첫장에는 비밀 이라는사실을 기록 해야한다. 그리고, 그 비밀을 유출 했을때 뭔일이 생기는지 짜증나서 미취어 버릴 때 까지 반복교육을 해야 한다. 그래야 나중에 딴 맘먹은 직원이 헷짓을 했을 때 영업비밀로서 보호를 받고 구제를 받을 수 있다. 그래서, 많은 기업에서 별 의미 없는 보안 문구를 여기저기에 시도 때도 없이, 가끔은 별 의미 없다고 느껴지는 상황에서도 '비밀이니 이거 누설하면 너 인생 끝장' 이라는 내용의 메시지를 보여주는 것이다.

6.  머리속에 든 거 외에는 내 것이 아니다
 
하드디스크를 포멧한 시점을 알 수 없기 때문에 억울하게 유출범으로 몰린 경우가 있다. 갑씨는 을 이라는 업체에서 병이라는 경쟁업체로 이직을 했다. 그는 을 회사에서 사용하던 개인 하드디스크를 아무 생각 없이 병 회사에 가서 사용했다. 그러던 어느날 을 업체는 병 업체가 사용하는 기술이 자사의 기술과 유사하다는 것을 알게 되었고 두 업체는 법적인 소송을 시작했다. 그 과정에서 갑은 이직자 였기 때문에 압수 수색을 당하게 되었고, 갑이 사용하던 하드 디스크에 있던 삭제 파일들을 복구하는 과정에서 을 회사의 영업비밀의 내용이 담긴 파일이 복구 되었다. 그리고 갑의 고난은 시작 되었다.
 
사실, 회사가 개인을 공격하는 경우는 거의 없다. 아무리 괘씸죄라고 해도 회사가 개인을 상대로 소송을 하다보면 보통은 득보다 실이 많기 때문에 에지간 하면 그냥 내버려 둔다. 괘씸죄가 용서가 안될 수준 이라면 법보다 가까운 주먹도 있으니 궂이 법을 통할 이유가 없기도 하다. 문제는 두 회사간에 시비가 붙은 경우 우연히 중간에 끼인 개인의 등이 터지는 경우이다. 그렇기 때문에 스스로를 보호하기 위해서 보안과 관련된 사안에 대해 관심을 가지고 있을 필요가 있다.

회사 입장에서도 마찬가지로 다른 업체에서 인력을 스카웃 해 오는 경우에 문제거리가 될 만한 것들에 대해 보안교육을 하고 오해사거나 트집거리가 될만한 일들을 회피하기 위한 최소한의 노력을 기울이는 것이 필요하다. 
 
*     *     *

아, 역시 전공이 아닌 내용은 글로 표현해 내기가 무쟈게 어렵네요. 뭐, 전공이라 해도 잘 쓴다는 말은 아닙니다만... 쿠헥~

다음 부터는 좀더 전공에 관련된 내용을 다루도록 하겠습니다. 뭐냐면 서버-클라이언트간 통신 프로토콜을 다루어 보도록 하겠습니다. 물론, 공개키 방식을 이용해서 모든 데이터를 암호화 해서 주고 받는다면 조낸 안전하게 데이터를 주고 받을 수 있겠지만, 데이터의 양이 많은 온라인 게임의 통신을 생각하면 미칠듯이 효율이 낮은 헷짓 이겠지요. 다루어 보려는 통신 프로토콜은 가능하면 연산량이 적은 - 데이터를 암호화 하는데 걸리는 연산량을 최소화 하고, 그럭저럭 나쁘지 않은 안전성을 갖는 프로토콜 들에 대해 다루어 보겠습니다.
  1. 가능성이 있는 값들을 모두 입력해 보는 방법을 말합니다. 예를 들자면 자물쇠의 비밀숫자가 네자리 숫자라면 0000~9999의 만번을 시도해서 답을 얻어내는 것이 가장 대표적인 대입법 공격이 되겠습니다. 사이트들이 패스워드 자릿수를 제한하고 반드시 숫자와 특수문자를 섞도록 강요하는 이유가 대입법에 의해 패스워드가 쉽게 깨지는 것을 방어하기 위함 입니다. [본문으로]

댓글을 달아 주세요

  1. 엑스터 2012.03.23 11:31  댓글주소  수정/삭제  댓글쓰기

    굉장히 실용적인 목록이군요.
    4번이 애매한데, 어짜피 개인의 지식의 상당 부분은 회사 업무와 함께 쌓이게 되는데
    그런 지식 중에 자신이 개발한 것만 사용이 가능한가요?
    애매합니다.

    • Favicon of https://gamedevforever.com 죠쉬 2012.03.24 14:39 신고  댓글주소  수정/삭제

      저도 법이 전공은 아니고, 보안을 공부하다보니 인연이 있어 이리저리 배운 내용이라 애매한게 많을 겁니다.

      말씀하신 내용에 답을 해 보자면, 회사에서 이미 사용하고 있는 기술은 개인의 지식이 아니라 회사에서 제공한 정보이기 때문에 그렇다고 압니다. 내가 연구해서 만들어진 지식은 그 회사가 아니어도 만들어 낼 수 있는 가능성이 있지만, 회사에서 제공한 정보는 그렇지 않다고 보는게 아닐까 싶습니다.

      사실, 그 지식이 입사하기 전에는 없었고, 입사후에 얻은게 분명하다는 증명을 할 수 없다면 직무상 얻은 지식을 다른 회사에 가서 사용하는 것을 금지할 방법은 없겠지요.

  2. Silverchime 2012.03.23 12:07  댓글주소  수정/삭제  댓글쓰기

    이런글 너무 좋네요... 무섭기도 하고... 다시 돌아보는 계기가 되었습니다.

    • Favicon of https://gamedevforever.com 죠쉬 2012.03.24 14:44 신고  댓글주소  수정/삭제

      뭐, 조심 하자는 것 이지요.
      보통은 문제가 없겠지만, 생각하지 못한 곳에서 코피터지에 얻어맞는 경우가 없게 하자는 것 이지요. 모든 사장이 젠틀 한건 아니니까요.

  3. Favicon of https://gamedevforever.com ozlael 2012.03.23 12:34 신고  댓글주소  수정/삭제  댓글쓰기

    아 난 이런 기타 카테고리 글들이 넘흐넘흐 조아효 +ㅈ+