보안 제품정보


설계도면 보안을 위한 궁극의 해답 2009.04.24

\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

hspace=0

\r\n

주 현 주 \r\n

파수닷컴 전략컨설팅팀 \r\n

책임컨설턴트 \r\n

(hyde@fasoo.com)

\r\n

설계도면은 협업을 기본으로 하고 있으며, 협업 과정에서 설계도면은 반드시 유통되어야 하므로, 이 유통 구조를 안전하게 보호하지 못하는 정보 시스템 환경에서의 설계 도면은 절대로 안전할 수 없음을 확인할 수 있었다.

\r\n

\r\n

글 싣는 순서

\r\n

1. 원천기술이 담긴 설계도면이 유출되고 있다(현실편)

\r\n

2. 설계도면 보안을 위한 궁극의 해답, DRM 기술(기술편)

\r\n

3. 도면보안 시스템 구축 필요성 및 도입전략(대책편)

\r\n


\r\n


\r\n

설계도면의 유통과정에서 외부 유출로부터 안전하게 보호하기 위해서는, 도면을 생성하고 사용할 수 있는 정당한 권한이 부여된 사람들이 도면을 만드는 그 순간부터 그들의 권한을 적절히 제한하고 통제하는 것이 반드시 필요할 수밖에 없다.

\r\n

또한, 그들의 권한을 적절히 통제하면서도 도면 사용의 불편을 최소화하여 업무 효율성을 보장하는 것이 무엇보다도 중요하다는 점을 공감했을 것이다.

\r\n

이번 호에서는 설계도면의 무단 유출을 막기 위해 사용자의 권한을 적절히 제어하며 사용자의 불편을 최소화함으로써, 설계도면의 무단 유출을 차단할 수 있는 가장 효과적이고 강력한 보안기술(또는 솔루션)인 DRM과, DRM을 이용한 설계도면 보안 적용시 고려해야 할 사항들에 대해 알아보겠다.

\r\n


\r\n

DRM은 다양한 보안기술이 융합된 Frame work

\r\n

DRM은 Digital Rights Management System의 약자로, 이름 그대로를 해석해 보면, DRM이란 전자적인 권한을 관리하는 시스템이다. 권한 관리의 대상은 디지털 콘텐츠, 즉, 전자 문서, 설계도면, 이미지, 동영상, 음원, 소스코드 등 우리가 IT 환경에서 권한을 가지고 사용하는 파일 형태의 모든 정보가 DRM의 적용대상이 될 수 있다. DRM은 이렇게 다양한 종류의 디지털 콘텐츠를 대상으로 콘텐츠를 생성하는 소유자의 권한과 콘텐츠를 사용하는 사용자의 권한을 증명하고 제어하는 기능을 제공하는 보안기술이다.

\r\n

소유자의 권한과 사용자의 권한을 증명하고 제어하기 위해서 DRM에서는 콘텐츠를 정당한 권한 없이 함부로 열람하지 못하도록 콘텐츠를 암호화하는 기술(Packaging/ Encryption)과 암호화한 콘텐츠에 대한 권한을 검증하기 위해 사용자를 식별하는 인증 기술(Authentication), 그리고 식별된 사용자의 권한에 따라 콘텐츠를 사용하는 응용프로그램의 기능을 적절히 제어하기 위한 애플리케이션 제어기술(Rendering Application)이 사용된다.

\r\n

\r\n

\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

\r\n

\r\n

물론, DRM에는 세 가지 보안기술 외에 다양한 기술들이 사용되고 있으며, 암호화된 콘텐츠를 복호화하는데 필요한 Key를 배포하는 Key 분배기술과 소유자와 사용자의 권한 정보를 판단하기 위해 콘텐츠에 대한 권한 정보를 제공하는 라이센스 발급기술도 포함하고 있다.

\r\n

DRM을 구성하는 개별 기술은 이미 다양한 IT 보안 분야에서 사용되고 있는 새로울 것 없는 기술이지만, 이 기술들이 융합하여 하나의 Framework을 구성하면서 DRM이라는 강력하고 새로운 보안기술을 탄생시킨 것이다.

\r\n


\r\n

DRM은 응용프로그램 보안이다

\r\n

정보를 안전하게 보호하기 위해서 정보보호를 구현하는 영역은 크게 물리적 영역, 네트워크 영역, 운영체제 영역, 응용프로그램 영역으로 나뉜다. 일반적인 업무 환경에서 사용자들은 매우 다양한 응용프로그램을 사용하며, 응용프로그램에서 제공하는 복잡하고 다양한 기능들을 이용한다. 이런 복잡하고 다양한 응용프로그램의 기능을 네트워크 영역이나 운영체제 영역에서 효과적으로 제어하는 것은 한계가 있기 때문에, DRM은 응용프로그램 영역에서 응용프로그램의 기능을 제어하는 형태로 보안을 구현하도록 설계되어 있다.

\r\n

DRM에서 응용프로그램의 기능을 제어하기 위해서 사용되는 기술은 크게 Source-code Embedding, Plug-In, OLE, API Hooking, File System Filter, VBA 등의 기술을 들 수 있다. Source-code Embedding은 응용프로그램의 소스코드가 반드시 필요하다는 제약으로 아주 제한적으로 적용이 가능하며, Plug-In은 응용프로그램 자체에서 파일을 제어할 수 있는 Plug-In 기능을 제공해야 하므로 역시 제한적으로만 적용이 가능하다. OLE는 OLE를 통해 응용프로그램의 기능을 제어할 수 있는 Active Document Server를 지원하는 응용프로그램에만 적용이 가능하다. 이런 이유로, 현재 상용화된 DRM 솔루션에서 가장 일반적으로 사용되는 기술은 API Hooking과 File System Filter이다.

\r\n

API Hooking 기술은 응용프로그램을 실행하면 응용프로그램이 메모리로 상주한 후 응용프로그램에서 제공하는 기능을 구현하기 위해서 다양한 API(Application Progra mming Interface)를 호출하는 것에서 착안한 기술이다. 즉, 응용프로그램이 동작하는 과정에서 파일이나 화면, 문자 등을 제어하기 위해 여러 가지 API들을 이용하게 되는데, 이 API가 호출되는 과정에서 정보를 가로채거나 변조해서 응용프로그램의 정상적인 동작을 방해하는 기술을 이용하여 DRM을 구현하는 것이다.

\r\n

응용프로그램이 처리하는 정보 자체를 직접 암복호화하거나 통제하는 구조이므로 보안성이 높으며, 응용프로그램의 기능을 세밀하게 제어하므로 사용자 편의성 측면에서도 매우 유리한 기술이지만, 개발이 까다롭고 응용프로그램 자체가 불안정한 경우 DRM의 안정성이 영향을 받는 측면이 있다.

\r\n

File System Filter 기술은 응용프로그램에서 파일에 대한 처리를 위해서는 반드시 OS Kernel의 File System을 호출하는 것에서 착안한 기술이다. 즉, 응용프로그램에서 파일을 생성하거나 저장하는 등 파일을 처리할 때 File System을 호출하므로 File System을 제어하는 모듈을 이용하여 DRM을 구현하는 것이다.

\r\n

운영체제의 Kernel 계층에서 동작하므로 다양한 응용프로그램에 범용으로 적용하기 유리하며, API Hooking에 비해 안정적인 편이다. 다만, 응용프로그램에서 처리하는 정보들이 File System에서 이미 복호화된 상태로 전달되므로 API Hooking 등 손쉬운 방법으로 정보를 가로채는 것이 가능하며, 세밀한 보안 구현이 어려워 응용프로그램의 기능을 완벽히 제어하지 못하므로 응용프로그램의 일부 기능에 의해 정보가 유출될 수 있는 보안 취약점이 존재할 위험성이 크다.

\r\n


\r\n

\r\n

\r\n\r\n\r\n\r\n\r\n
\r\n

\r\n

\r\n

\r\n

설계도면은 문서와 다르다

\r\n

설계도면에 DRM을 적용하는 것은 생각보다 매우 까다롭다. 일반적으로 사용되는 MS 오피스 등의 윈도우즈용 응용프로그램은 동작 구조가 비교적 단순하고 파일을 제어하는 기능이 한정되어 있어 DRM을 적용하기가 상대적으로 수월한 편이다. 응용프로그램 동작과정에서 호출되는 API 수가 많지 않고, File System에서 발생하는 File I/O도 그다지 많지 않기 때문에 API Hooking이건 File System Filter이건 쉽게 구현할 수 있는 것이다.

\r\n

\r\n


\r\n

\r\n

\r\n

반면, 설계도면용 응용프로그램은 응용프로그램 자체의 구조도 매우 복잡하며, 설계도면을 제어하기 위해 응용프로그램에서 제공하는 기능들이 매우 복잡하고 다양하다. 또한, 대부분의 설계도면용 응용프로그램은 한 장의 도면을 구현하기 위해 다양한 Part와 Assembly 파일들이 조합되는 구조로 되어 있어 응용프로그램의 파일 구조가 매우 복잡한 것이 특징이다. 특히, 설계도면 자체가 매우 중요한 정보이기 때문에 응용프로그램 자체가 Hooking 등의 Cracking에 쉽게 공격당하지 않도록 튼튼하게 설계된 경우가 많아 DRM 적용이 더욱 까다로운 것이다.

\r\n

이렇게 설계도면에 DRM을 적용하는 것이 까다롭다 보니, 그 동안 설계도면에 DRM 적용을 원하는 기업들이 매우 많았음에도 불구하고, DRM 솔루션 업체들이 시장의 요구에 발 빠르게 대응을 하지 못하고 있었던 것이 사실이다. 이런 DRM 적용의 어려움을 해결하기 위해 최근 일부 솔루션 업체에서 기존의 DRM 기술이 아닌 새로운 기술을 이용하여 해결 방법을 모색하는 움직임을 보이고 있다.

\r\n

대표적인 예가 응용프로그램 계층에서 동작하는 DRM의 특성을 유지하면서, 기존의 문서용 애플리케이션에 적용되던 DRM의 권한 제어 기능을 단순화하여 설계용 응용프로그램의 기능을 세밀하게 제어하는 부담을 줄이는 대신, DRM이 가진 편의성과 보안성을 그대로 유지하면서 설계 도면에 대한 DRM을 효과적으로 구현할 수 있는 형태로 문서용 DRM과 설계 도면용 DRM 제품을 차별화하는 움직임이다.

\r\n

또 다른 한 예는, 응용프로그램 계층이 아닌 물리적인 계층에서 DRM을 구현하기 위해, 디스크의 일부 영역을 가상화하여 지정된 가상 영역에 기록된 정보를 강제적으로 암호화하는 형태로 동작하는 기술이다. 가상 영역으로 지정되지 않은 디스크에 기록되는 정보는 암호화되지 않으므로 암호화라는 DRM의 가장 기본적인 기능에 취약성이 존재하게 되므로, 설계 도면용 응용프로그램에서 생성되는 모든 정보를 강제적으로 이 가상 영역으로 저장되도록 통제하는 형태로 취약성을 회피하고 있다. 보안성을 위해 사용자 편의성을 일부 희생한 것이다.

\r\n

\r\n


\r\n

설계도면은 문서와 다르다. 그렇게 때문에 설계도면용 응용프로그램에 DRM을 적용하는 방법과 문서용 응용프로그램에 DRM을 적용하는 방법은 다를 수밖에 없다. 다만 DRM은 사용자의 권한을 제한하는 기술이므로 사용자의 불편을 초래할 수밖에 없는 근본적인 한계를 지니고 있으며, 이 한계를 극복하기 위해서는 보안을 적용하는데 있어 사용자의 불편을 최소화할 수 있는 형태로 기술이 개발되고 기능이 구현되어야 한다.