리버스 엔지니어링이란?


어떤 물건을 구입한 후 그 제품의 기술정보를 알아내기 위해 분해하거나 분석하는 것을 일반적으로 리버스엔지니어링이라고 하는데, 컴퓨터프로그램보호법과 지적재산권법(특허법, 실용신안법, 반도체집적회로의배치설계에관한법률 등) 등에서 규정하고 있다.

이 중 특허법을 비롯한 지적재산권법 분야에서는 일반적으로 리버스엔지니어링이 허용되고 있다. 즉, 리버스엔지니어링은 특허발명의 침해행위인 특허발명품의 제조·사용·판매행위에 해당하지 않으므로, 당연히 허용된다고 보는 것이다.컴퓨터프로그램의 경우도 프로그램에 포함된 아이디어나 학문적인 이론은 원칙적으로 저작권법의 보호대상이 아니라고 보고 있으므로, 프로그램에 대한 역분석 역시 허용되어야 하는 것으로 본다.

한편, 컴퓨터프로그램은 목적코드(object code)와 원시코드(source code)로 구성되어 원시코드는 공개하지 않고 있는데, 프로그램의 아이디어를 추출하려면 목적코드를 원시코드로 변환하는 과정이 필요하다. 이러한 변환작업을 디컴파일레이션(decompilation : 역분석 또는 역변환)이라고 하는데, 이는 컴퓨터프로그램의 리버스엔지니어링 방법의 하나로 그 허용 여부와 한계가 논의의 초점이 되고 있다. 엄격한 의미에서 리버스엔지니어링과 디컴파일(역분석)은 차이가 있다고 할 수 있는데, 현행 컴퓨터프로그램보호법은 "프로그램코드 역분석"이라고 규정하고 있으므로, 여기서 논의하는 컴퓨터프로그램의 리버스엔지니어링은 프로그램 역분석을 의미하는 것으로 보아도 무방할 것이다.

 

 

 

 

 

'교육과정 > Hacking&Security' 카테고리의 다른 글

Web Hacking & Security  (0) 2012.12.27
Hacking Trace  (0) 2012.12.27
포렌식(침해대응)  (0) 2012.12.27
시스템해킹보안전문가  (0) 2012.12.27
네트워크해킹보안전문가  (0) 2012.12.27