Q. 웹사이트를 개발하면 동일 분야의 경쟁업체에서 웹페이지를 거의 그대로 복사해서 내용을 조금씩만 고쳐서 오픈하고 있습니다. 개발한 웹페이지의 CS 등을 퍼가지 못하도록 막을 수 있는 방법이 있나요?
A-1. 웹사이트를 제작할 때는 HTML, Java Script, PHP, JSP, CSS 등을 사용합니다. JavaScript는 클라이언트 측(브라우저)에서 사용자와 상호작용의 경우에 사용하고, CSS(Cascading Style Sheets)는 화면의 레이아웃과 스타일을 정의할 때 사용하고, PHP·JSP 등의 웹프로그램은 서버 측 기술구현 시 사용합니다.
서버 측 프로그램은 다양한 보안장치를 통해 보호할 수 있지만, 클라이언트 측에서 보여지는 웹페이지는 개방이 원칙이며 클라이언트 프로그램인 브라우저(IE, crom, safari etc)에서 구동되는 HTML 형태로 코딩되기 때문에 특별한 보호장치가 없으면 간단한 소스보기 등을 통하여 그대로 노출되는 저작권 문제가 발생할 수 있습니다.
이러한 소스코드 노출에 대한 문제를 해결하기 위한 원천적인 방법은 없으며 단지 CSS, JavaScript나 소스코드를 도용하려고 하는 자에게 잠시나마 불편을 주어 코드 해석을 어렵게 하는 방법 밖에 없습니다.
기본적으로 JavaScript를 통하여 마우스 우(右)클릭 금지를 설정할 수 있지만 자바스크립트를 해제하는 경우(eg. 알툴바 환경설정에서 ‘마우스 오른쪽 버튼 제한 해제하기’) 쉽게 우회할 수 있습니다.
다음은 JavaScript나 CSS파일을 프로그램 언어(PHP, JSP 등)를 통하여 작성하고(eg. testcss.css ->testcss.jsp) CSS를 로드할 때 암호화 등을 통해 방지할 수 있지만 이러한 방법들도 메시지 후킹이나 패킷스니핑을 통하면 모두 노출될 수 밖에 없습니다.
난독화 방법은 소스를 가져가도 이해하기 힘들게 하는 것으로 이러한 경우 CSS, Javascript 등 소스코드를 100% 보호할 수는 없으나 이를 활용하기 위해서 다소 많은 시간이 소요되어 활용을 어렵게 하는 장점이 있습니다. 난독화하는 도구에는 CSS Compressor, YUI Compressor, Dojo shrinkSafe, Open Source Javascript Obfuscator 등이 있습니다.
(김영모 박사 한국저작권위원회 저작권기술팀/ymkim@copyright.or.kr)
A-2. 근본적으로 웹 브라우저는 HTTP 서버내 웹 브라우저가 접근할 수 있도록 권한이 설정된 파일 또는 디렉토리는 모두 다운로드가 가능하기 때문에 현실적으로 CSS 파일 등을 퍼가지 못 하는 기술은 존재하지 않습니다.
물론 디렉토리 리스팅 기능을 사용하지 않도록 하는 방법도 있지만, 파일 링크만 확인되면 다운로드를 할 수 있다는 점에서 근본적인 해결책이 아닙니다. 다만, Minify, Gzip 및 기타 난독화 기법을 이용할 경우 소스코드 분석시간을 지연시킬 수 있고 그에 따라 수정 후 재사용할 가능성이 낮아지게 될 것입니다.
(홍준석 한국산업기술보호협회 관제운영팀 팀장/jun0817@kaits.or.kr)
A-3. 웹페이지 개발에 주로 사용되는 자바스크립트, CSS, JSP 등의 기술은 코드 난독화 기술을 통하여 이른바 코드 퍼가기를 줄일 수 있으며, 이와 관련하여 한국저작권위원회는 코드잼(codejam.or.kr) 서비스를 통해 코드난독화 기능을 공공에 제공하고 있습니다.
(방효근 한국저작권위원회 과장/revoice@copyright.or.kr)
[김지언 기자(boan4@boannews.com)]
<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>