미국산 소프트웨어는 한국에 들어올 때만 프로텍터가 걸려 수입된다.
컴퓨터에서 보안이라 함은 상당히 복잡한 의미를 내포하고 있다.
이 보안 문제를 다각적으로 살펴보면 우선 대형기종의 보안과 개인용 컴퓨터의 보안으로 나눌 수 있다.
대형기종의 보안은 대형기종 자체의 특성상 여러 사람이 공유함에 따라 일어나는 문제에 대한 보안이 가장 큰 비중을 차지한다. 예를 들어 미국 국방성 컴퓨터는 개인도 필요에 따라서 접속이 가능하다. 이는 국방성 컴퓨터에 들어있는 국가의 비밀 보안문제를 염두에 두지 않고는 얘기가 될 수 없는 문제다. 또한 대학의 컴퓨터는 학생들의 교육용으로 그리고 학사 행정용 등으로 사용되어 진다. 그러나 학사행정 자료 중에는 학생들에게 공개되어서는 안될 자료들이 당연히 들어 있을 것이다. 이처럼 한개의 호스트컴퓨터를 여러명이 공유함으로서 생기는 보안문제는 오늘날 그 중요성이 점점 더 심각하게 받아들여지고 있는 것으로, 작게는 한 회사로부터 크게는 국가의 이익에 절대적인 영향을 미칠 수 있는 것이다.
그 다음으로 우리가 관심을 가지고 있는 개인용 컴퓨터와 관련된 보안문제를 들 수 있다. 이는 위에서 말한 대형 기종과 달리 독자들과 밀접한 관계가 있는 것으로서 좀 더 상세히 생각해 보도록 하자.
데이터 보안
첫째 컴퓨터 내부에 들어있는 데이터에 타인이 함부로 접근할 수 없도록 하는 문제가 있다. 유닉스의 경우 이는 오퍼레이팅시스템(OS)에서 지원해 주는 기능이라 암호를 모르면 컴퓨터를 사용할 수 없게 해 준다. 하지만 우리가 널리 사용하고 있는 MS-DOS의 경우 이런 보안 기능이 없어서 개인이 필요에 따라서 보안용 프로그램을 구입해야 한다.
이러한 목적의 프로그램들은 다양히 개발되어 있기는 하지만 국내에는 거의 알려져 있지 않은 실정이다. 이중 대표적인 것들로서 워치독(Watch Dog), 스톱 뷰(Stop View)등이 있으며, 이들은 컴퓨터가 부팅(booting)된 직후 암호를 확인하여 사용을 제한하거나 혹은 특정한 파일들에 암호를 부여함으로써 파일을 열어 볼 수 없게 하는 기능을 가지고 있다. 또 이러한 보안용 유틸리티와는 달리 PC Tools와 같은 일반유틸리티에서도 PC Secure와 같은 파일을 제공함으로서 특정한 텍스트 파일을 암호화 하는 기능을 부여해준다. 이러한 보안용 프로그램들은 일반회사에서도 많이 사용되고 있을뿐 아니라 개인의 차원에서도 하나쯤 가지고 있을 만한 것이다. 특히 사회가 정보화되어 가는 오늘날에 있어서는 그 중요성이 점점 더 강조되고 있다.
복제왕국이란 오명
데이터 보안은 아직 우리 실정에서는 그리 널리 보급되거나 강조되어 온 문제는 아니다. 이와 달리 프로그램의 보안 문제는 짧은 시간동안 상당히 빠른 속도로 강조되어 온 것이 우리의 현실이다. 이는 소프트웨어의 불법복제로부터 시작한 우리 컴퓨터현실에서 고쳐져야 할 수치다. 우수한 프로그래머의 지식과 노력의 결실인 프로그램을 대가를 지불하지 않고 사용하겠다는 사용자의 불법행위는 프로그래머로 하여금 복사를 불가능하게 하는 장치를 개발하도록 했다. 이에 따라 사용자 입장에서는 이 복사방지용 장치를 풀기위한 노력이 경쟁적으로 일어났다.
70년대만 하더라도 개인이 컴퓨터를 가지는 경우는 별로 흔한 일이 아니었다. 이는 80년대 초반에도 마찬가지로, 어쩌다 8비트 컴퓨터 한 대만 있어도 대단한 것으로 여겼다. 하지만 하드웨어의 발달속도가 가속화 되고 이에 따라 가격 또한 어느정도 현실화 됨에 따라 개인이 컴퓨터를 구입하는 경우가 더이상 신기한 일이 아니게 됐다. 이처럼 컴퓨터의 보급이 증가하면서 소프트웨어의 필요성은 더욱 강조됐다.
컴퓨터라는 값비싼 기계의 눈부신 보급에 소프트웨어의 발전이 뒤따라 주지 않았던 우리의 현실에서 어쩔 수 없이 영어로 된 소프트웨어들을 사용하는데 익숙해졌다. 이와 함께 지적 소유권에 대한 의식이 부족했던 우리는 외국의 우수한 소프트웨어들을 복사하는데 양심의 거리낌이 없었다. 그런 상황에서 외국의 경우 한국에 수출하는 소프트웨어는 무조건 복사방지를 해서 보내는 실로 수치스런 현상이 계속돼 왔다.
복사방지 소프트웨어들을 값싸게 사용하기 위해 국내의 사용자들은 이를 깨기위해 무진 애를 썼다. 그 결과 대부분의 복사방지 장치들은 국내 해커들에 의해 거의 무너졌다. 그 예로서 최근에 가장 강력하다고 알려져 있는 Evlock의 경우 국내 한글 워드프로세서에서 사용되자 마자 즉시 프로텍터(보안)가 풀렸던 것이다. 이 프로텍터는 이를 만든 미국에서도 가장 강력하다고 알려져 있어서 대부분의 복사방지 프로그램들의 기준이 되고 있다. 복사방지용 프로그램들의 종류를 알아 보자.
디스켓에 흠집을 내기도
복사방지 장치는 크게 하드웨어적인 것과 소프트웨어적인 것으로 나눌 수 있다. 이중 하드웨어적인 방법을 키라고 하는 롬칩이 포함된 작은 기구를 이용하며, 이 작은 롬칩속에 프로그램의 일부가 들어 있어 컴퓨터 속의 프로그램에 연결됨으로써 수행이 가능한 방법이다. 키는 프린터 포트나 패러렐에 연결해서 쓰는 것이 보통인데, 사용자가 다른 컴퓨터를 이용할때는 키를 들고 다녀야 하는 불편이 있을 뿐아니라 이로 인해 가격상승의 요인이 된다.
이 방법은 국내에서 널리 사용되고 있는 방법은 아니지만 소프트웨어적인 프로텍터에 비해 안전도가 높다는 이유 때문에 강력한 프로그램 보안장치로 인식되고 있다. 다만 가격이 비싸다는 단점과 함께 사용자에게 불편을 가져다 준다는 점에서 사용자가 그리 환영하지 않는 방법이다.
다음으로 소프트웨어적인 프로텍터에는 여러가지 기법이 있으나 프로텍터라는 단어가 말해주듯이 그 원리가 자발적으로 공개되는 일은 결코 흔치 않다. 그러한 이유에서 필자가 수많은 은밀한 기법들을 지면에 소개할 능력을 가지지 못했다는 사실을 독자들은 이해해주리라 믿는다.
여기서는 오늘날 가장 널리 사용되고 있는 지문방식(fingerprint method)에 대해서 소개하도록 하겠다. 이 방식은 비스켓의 일정한 섹터(sector)에 흔적을 남기는 방식으로 프로그램 수행시 이 흔적이나 혹은 흔적속에 숨겨둔 정보를 확인하여 수행여부를 결정하는 것이다. 이러한 흔적은 도스(DOS)가 읽을 수 없도록 사용자들에게는 배드섹터(bad sector)로 나타나는 것이 보통이다. 이러한 지문방식도 세부적으로 다음 몇가지로 구분할 수 있다. 첫째 트랙수를 조정하여 도스가 읽을 수 없게 하고 그 속에 비밀의 정보를 입력하는 방식이 있다. 이 방식은 초기 프로텍터에 널리 사용되었으나 센트럴 포인트사의 Copy Ⅱ PC 등의 소위 백업용으로 위장한 프로텍터 제거프로그램들에 의해 붕괴되었다.
이와 다른 방식으로 디스켓에 물리적인 상처를 내어 프로텍터를 하기도 한다. 이 물리적 상처는 레이저빔을 쬐어 만들거나 약품처리등에 의해 만들기도 하는데 파일 수행시 이 부분이 물리적 상처인지 아닌지를 확인하여 수행여부를 결정한다. 사용자의 눈에는 이 파일을 복사해도 꼭같은 배드 섹터가 나오지만 실제 이 배드 섹터는 물리적 손상이 아닌 단순히 도스가 읽을 수 없는 섹터란 의미를 가질 뿐이므로 복사가 되지 않는다.
이 방식은 가장 강력한 프로그램 복제기구인 센트럴포인터사의 옵션보드란 복제용 기구를 무력화시켰다. 옵션보드는 드라이브와 드라이브 컨트롤러 사이에서 컨트롤러를 통제함으로써 원본과 복사본을 만들어 주는 장치인데, 원래 목적은 이러한 복사를 위한 것이 아니라 매킨토시 컴퓨터에서 만들어진 데이터 파일을 IBM에서 사용하기 위한 복사용이었다(물론 이 변환과정은 옵션보드만으로 가능한 것이 아니며 이보다 훨씬 편리한 Lap Link 등이 시판되고 있어 큰 의미는 없다). 그러나 이 프로텍터 테크닉이 개발되기가 무섭게 이 기법을 무산시키는 툴(tool) 이 쿼트사에서 개발돼 시판되었고 곧 이 방법도 의미를 잃어버렸다.
다음으로 가장 널리 사용되어 왔던 기법이 Weak Bit였다. 특정한 섹터를 불안하게 만들어서 수행시 도스로 하여금 읽을때마다 그 값이 달라지게 하는 기법이다. 즉 수행시 도스는 그 값을 여러번 읽고 비교하여 동일한 값인지 혹은 변하는 값인지를 확인한뒤 그 값이 동일하지 않을 때만 수행을 가능하게 해 준다. 이 방식도 한때 널리 쓰이기도 했지만 다른 기법과 같이 잇따라 프로텍터 제거용 툴들이 등장함에 따라 쓸모없는 패키지로 전락. 프로텍터 방식들이 공통적으로 가지고 있는 단점으로는 사용의 불편을 들 수 있다. 즉 불법복사를 방지하기 위한 프로텍터가 합법적 사용자들에게까지 불편을 준다는 것이다. 이러한 이유에서 선진국들은 자기네는 이 방법을 거의 사용하지 않고 다만 아직 소프트웨어 수준이 빈약한 국가에만 이를 활용한다. 부끄럽게도 우리나라가 이러한 적용대상에 속한다. 물론 '복제왕국'이란 칭호를 듣는 우리나라에서도 최근 소프트웨어를 상품으로 인식하는 분위기가 급속도로 성숙되고 있어 조만간 이러한 오명을 벗을 수 있으리라 기대된다.
무형의 프로텍터
복사방지 기법은 날로 발달되고 있다. 하지만 소프트웨어적인 기법의 발달에는 한계가 있다. 즉 아무리 교묘한 방법을 이용해서 프로텍터를 하더라도 소프트웨어적인 방법인 한은 누군가 이를 풀 수 있다는 것이다. 그래서 오늘날 강력하다고 소문이 난 프로텍터들이라도 모두 깨어져 쓸모없는 것이 되어 버렸다.
예를들어 과거에는 디버깅(debugging)을 하는 프로그램들에 의해서 프로텍터의 내부를 살필 수 있었다. 이러한 문제들을 피해서 디버깅을 불가능하게 하는 프로텍터 프로그램들이 등장하자, 소서(sourcer)라는 강력한 디버깅 프로그램이 나타나 프로텍터들을 물리쳐 버렸다. 프로텍터를 만드는 프로그래머와 이를 추격하는 해커들의 쫓고 쫓기는 싸움이 계속되고 있는 것이다.
소프트웨어는 많은 지식과 노력이 동원되는 어려운 작업이며, 이러한 작업에는 반드시 대가가 지불되어야 한다. 그러나 많은 부도덕한 컴퓨터 사용자들은 대가를 지불하는데 인색했고, 그런 까닭에 복사방지 프로그램들이 생겨나게 된 것이다.
프로텍터는 불법적인 사용자들을 억제하는 효과 못지않게 합법적인 사용자들에게도 불편을 야기시켜 불만을 초래해왔다. 그리고 그 목소리의 주인공들이 바로 고객임을 보면 이들의 목소리를 결코 소홀히 할 수 없게 됐던 것이다.
오늘날 미국 등에서 나오는 값비싼 소프트웨어의 표지를 보면 'Not Copy Protected'란 글귀를 쉽게 발견하게 된다. 이는 그들에게 복사방지를 위한 기술이 부족해서가 아니라 고객들의 강력한 항의때문임을 우리는 이해할 필요가 있다. 그러나 그들 역시 대책없이 불법복사를 구경만 할 수는 없었다. 그래서 등장한 방식이 무형적 프로텍터다. 즉 물리적 방법의 프로텍터가 아니라 합법적인 사용자들에 대한 서비스를 확대함으로써 불법복사에 의한 이익을 줄여 보려는 노력이 바로 그것이다.
이러한 노력중 하나로 상업용 소프트웨어를 판매하는 회사에서는 반드시 사용자 지원(technical support) 제도가 있다. 즉 사용자가 소프트웨어를 사용하다가 의문이 발생하면 문의할 수 있는 전화번호를 제공하며, 이곳에는 문제를 해결할 능력을 가진 해결사가 상주해 있다. 많은 회사에서 사용자의 전화요금을 부담해 주는 제도까지 채택하고 있다. 물론 이 번호를 사용할 수 있는 사람은 합법적으로 등록된 사용자로서 고유의 사용번호를 제시해야 한다. 이 제도는 오늘날 약간의 비판이 있기는 하지만 합법적 사용자와 불법적 사용자간의 차이를 야기시켜 효과적인 복제방지의 도구로 인정받고 있다.
참고로 이 방법에 대한 비판은 두가지 측면으로 요약할 수 있다. 첫째 회사에서 주장하는 바로는 이러한 문의전화 내용의 대부분이 매뉴얼 내에 있는 내용이라 한다. 즉 이러한 제도를 만든 결과 사용자들은 매뉴얼조차 보지않고 문제가 생기면 무조건 전화문의부터 한다는 불평이다.
미국에서 가장 큰 소프트웨어 개발회사중 하나인 마이크로소프트사의 경우 사용자지원부에 걸려오는 전화의 90% 이상이 매뉴얼에 친절히 설명되어 있어 전혀 문의할 가치가 없는 간단한 내용이라는 것이다. 두번째는 사용자측에서의 주장이다. 즉 전화상 문의에 대한 답은 거의 도움이 되지 않는다는 것이다. 즉 프로그램상의 버그(bug)라든가 프로그래머가 미처 고려하지 못한 부분의 경우 전혀 해결의 능력이 없다는 것. 많은 해결사들이 특정한 프로그램을 개발한 프로그래머 본인이 아니라 단순히 일정한 돈을 받고 고용된 사원에 불과하기 때문이다. 하지만 이러한 주장들은 다만 개선의 여지를 말해주는 것이지 이 방법에 대한 근본적인 문제를 말하는 것은 아니라는 점을 명심할 필요가 있다.
우리는 복사방지 프로그램 그 자체에 대한 관심보다 복사방지 프로그램이 왜 생겨나게 되었는가를 먼저 생각해 볼 필요가 있다. 그것은 복사방지라는 단편적인 프로그램의 한 종류에 대한 관심을 떠나 우리 소프트웨어 발전의 사활이 걸린 심각한 문제라는 시각에서다. 앞에서 말한 바와 같이 복사방지 프로그램이란 어쩔 수 없는 최후의 방편에 불과한 것이다. 우리 소프트웨어산업이 살아남기 위해서는 이러한 소극적인 방법이 아니라 좀 더 근본적인 방법으로 복사방지의 필요성이 없어지는 건전한 풍토가 조성돼야 할 것이다.