상술한 기술적 과제를 달성하기 위한 본 발명의 콘텐츠 검증 시스템은 콘텐츠 제공 서버로부터 제공되는 콘텐츠를 다운로드 서버로 등록하는 콘텐츠 관리 시스템과 접속되어, 전체적인 동작을 제어하는 제어부; 상기 콘텐츠 관리 시스템이 검증을 요청한 콘텐츠 정보를 데이터베이스에 저장 및 관리하는 콘텐츠 정보 관리부; 상기 콘텐츠 관리 시스템이 검증을 요청한 콘텐츠의 응용 프로그램 인터페이스(API) 레벨을 참조하여 상기 콘텐츠에 대한 유효성을 판단하기 위한 콘텐츠 유효성 진단부; 및 콘텐츠 정보 및 콘텐츠 검증 결과가 저장되는 검증 결과 데이터베이스와, 각 플랫폼별 정보, 플랫폼의 버전별 정보, 레벨별 API 정보, 플랫폼 및 버전별 API 레벨 분류 정보가 저장 및 갱신되는 룰 데이터베이스를 포함하는 데이터베이스;를 구비한다.
또한, 본 발명의 콘텐츠 검증 방법은 상기 콘텐츠 관리 시스템이 상기 콘텐츠 검증 시스템으로 검증용 콘텐츠 파일, 검증 대상 콘텐츠 정보를 전송함과 함께, 상기 콘텐츠의 검증을 요청하는 제 1 과정; 상기 콘텐츠 검증 시스템이 상기 콘텐츠 관리 시스템으로부터 수신한 검증용 콘텐츠 파일의 응용 프로그램 인터페이스(API) 레벨을 참조하여 상기 콘텐츠에 대한 유효성을 판단하는 제 2 과정; 및 상기 콘텐츠 검증 시스템이 상기 콘텐츠 관리 시스템으로 상기 제 2 과정의 검증 결과를 전송하는 제 3 과정;을 포함하여 이루어진다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 구체적으로 설명하기로 한다.
도 1은 본 발명에 의한 콘텐츠 검증 시스템이 적용되는 통신망의 일 예시도이다.
콘텐츠 검증 시스템(10)은 콘텐츠 관리 시스템(Contents Management System; CMS, 30)과 접속되어, 콘텐츠 제공 서버(CP 서버, 20)에서 개발한 각 콘텐츠의 검증용 콘텐츠 파일을 CMS(30)로부터 전송받아, 각각의 검증용 콘텐츠 파일에 대한 바이러스 검사 및 악성 코드 존재 여부에 따른 유효성을 확인하고, 검증 결과를 CMS(30)로 통보한다. CMS(30)는 콘텐츠 검증 시스템(10)의 검증 결과를 참조하여 안정적인 콘텐츠만을 다운로드 서버(40)에 탑재함으로써, 이동통신 단말(60)을 이용하여 통신망(50)을 통해 콘텐츠 다운로드 서버(40)에 접속한 사용자가 콘텐츠를 요청한 경우, 해당 콘텐츠를 통신망(50)을 통해 이동통신 단말(60)로 전송한다.
보다 구체적으로 설명하면, 본 발명에 의한 콘텐츠 검증 시스템(10)은 CMS(30)가 검증용 콘텐츠 파일을 전송하면, 적용 가능한 바이러스 검사 툴을 이용하여 각 콘텐츠의 바이러스 감염 여부를 확인한다. 그리고, 바이러스에 감염되지 않은 콘텐츠의 종류(게임, 그림, 음악 등과 같은 분류)별로 사용한 응용 프로그램 어플리케이션(Application Program Interface; API) 레벨에 대한 검사 등을 수행하는 유효성 검증을 수행하며, 이를 위하여 콘텐츠 검증 시스템(10)은 콘텐츠 검증에 필요한 정보(예를 들어, 플랫폼별 API 분류 체계, 네트워크 대역폭 검증 정책 등), 시스템 관리에 필요한 자료, 콘텐츠 등록자, 콘텐츠 정보, 통계자료, 바이러스 치료 관련 자료 등을 데이터베이스로 구축하여 관리하여야 한다.
여기에서, API 레벨 검사란, 예를 들어 게임군으로 분류된 콘텐츠에서 사용하지 말아야 할 API인 단말 레지스트리를 변경시키는 API를 사용하였는지에 대한 검사를 의미하며, 이러한 검사 기준을 각각의 룰(Rule)로서 데이터베이스에 기 설정하여 두고, 해당 룰을 위배 여부에 따라 콘텐츠의 유효성 여부를 판단하는 것이다.
이러한 콘텐츠 검증 시스템(10)에 대하여 더욱 구체적으로 설명하면 다음과 같다.
도 2는 도 2에 도시한 콘텐츠 검증 시스템의 상세 구성도이다.
도시한 것과 같이, 본 발명에 의한 콘텐츠 검증 시스템(10)은 전체적인 동작을 제어하기 위한 제어부(110), CMS(30)가 검증을 요청한 각각의 콘텐츠 정보를 검증결과 데이터베이스(174)에 저장 및 관리하는 콘텐츠 정보 관리부(120), 바이러스에 감염되지 않은 콘텐츠에 대한 악성 코드 포함 여부에 따라 유효성을 판단하기 위한 콘텐츠 유효성 진단부(130), 각 콘텐츠에 대한 바이러스 감염 여부를 확인하고, 바이러스 치료 가능 여부에 따라 콘텐츠 파일을 치료하거나 삭제하는 바이러스 진단부(140), 콘텐츠 유효성 진단부(130) 및 바이러스 진단부(140)의 검증 결과를 분석하여 검증결과 데이터베이스(174)에 저장하는 검증 결과 분석부(150), CMS(30)와의 신호 송수신을 위한 인터페이스(160) 및 룰 데이터베이스(172)와 검증결과 데이터베이스(174)를 구비하는 데이터베이스(170)를 포함한다.
여기에서, 룰 DB(172)에는 각 플랫폼별 정보, 플랫폼의 버전별 정보, 레벨별 API 정보와, 플랫폼 및 버전별 API 레벨 분류 정보가 저장된다. 도 7a 내지 도 7d는 룰 DB에서 관리하는 WIPI-C의 API 리스트 및 API별 허용 가능한 콘텐츠 종류의 일 예를 나타내는 도면으로, 검토의견란에 O로 표시된 API를 허용 불가 API 레벨로서 룰 DB에서 관리하며, 허용 불가 API 레벨을 사용할 수 있는 콘텐츠 목록의 예를 나타내고 있다. 도 8은 룰 DB에서 관리하는 SKVM의 API 리스트 및 API별 허용 가능한 콘텐츠 종류의 일 예를 나타내는 도면으로, 음영처리한 API를 제외한 나머지 API를 룰 DB에서 관리한다. 또한, 도 9는 룰 DB에서 관리하는 GVM의 API 리스트 및 API별 허용 가능한 콘텐츠 종류의 일 예를 나타내는 도면으로, 음영처리한 API를 제외한 나머지 API를 룰 DB에서 관리한다.
콘텐츠 분류별 사용 가능한 API 레벨의 일 예를 나타내고, 도 8a 내지 8c는 API 레벨 분류 정보의 일 예를 나타낸다.
도 2에서, 콘텐츠 유효성 진단부(130)는 각각의 검증용 콘텐츠 파일로부터 사용된 API를 추출하고, 룰 데이터베이스(172)를 참조하여 해당 콘텐츠에 적합한 API 레벨이 사용되었는지 확인한다. 또한, 콘텐츠 파일이 WIPI-C 플랫폼 기반으로 생성된 경우 네트워크 대역폭 검사를 추가로 수행한다. 이에 더하여, 콘텐츠 유효성 진단부(130)는 CP 서버(20)가 검증용으로 제공한 콘텐츠 파일과 상용 콘텐츠 파일이 동일한지 검사하는 기능을 더 포함하며, 이는 CP 서버가 악의적인 목적으로 콘텐츠 검증 시스템(10)으로부터 유효한 콘텐츠 파일을 제공하고, 실제 상용화시에는 악성 코드나 바이러스가 포함된 콘텐츠를 배포하는 것을 방지하기 위함이다.
또한, 바이러스 진단부(140)는 콘텐츠 파일의 포맷에 따라 적합한 바이러스 검사 모듈을 구동하여 바이러스 감염 여부를 확인하고, 바이러스에 감염된 것으로 확인되는 경우 바이러스를 치료한다. 그리고, 바이러스 치료에 성공한 경우에는 유효한 콘텐츠 파일로 분류하는 한편, 치료에 실패한 경우에는 유효하지 않은 콘텐츠 파일로 분류하며, 바이러스 진단 결과를 리스트로 생성하여 검증결과 DB(174)에 저장한다.
도 3은 콘텐츠 유효성 진단부 및 바이러스 진단부의 상세 구성도이다.
도시한 것과 같이, 콘텐츠 유효성 진단부(130)는 디스어셈블 모듈(1302), 파싱 모듈(1304), API 레벨 확인 모듈(1306), 헤더 분석 모듈(1308) 및 네트워크 대역폭 검사 모듈(1310)을 포함한다.
디스어셈블 모듈(1302)은 검증용 콘텐츠 파일의 소스 코드를 어셈블(또는 컴파일)하여 검증용 바이너리 파일과 상용 바이너리 파일을 추출하고, 검증용 바이너리 파일을 디스어셈블 또는 디컴파일하여 어셈블리 파일을 생성한다. 디스어셈블 모듈(1302)에서 생성된 어셈블리 파일에 대하여 파싱 모듈(1304)에서 파싱을 통해 레지스트리값을 계산함으로써 어떤 API가 사용되었는지 확인할 수 있게 된다. 그리고, API 레벨 확인 모듈(1306)은 파싱 모듈(1304)에서 추출한 해당 콘텐츠의 API와 룰 DB(172)의 콘텐츠별 사용 가능한 API 레벨과 API 레벨 분류 정보를 참조하여 해당 콘텐츠가 API 레벨을 준수하였는지 검증한다.
또한, 헤더 분석 모듈(1308)은 검증용 콘텐츠 파일을 어셈블(또는 컴파일)하여 추출된 바이너리 파일과 상용 바이너리 파일 각각의 헤더를 비교하여, 헤더 내 의 지정된 값이 동일한지 확인한다. 두 바이너리 파일 헤더 내의 지정된 값이 동일한 경우 유효한 콘텐츠로 판단하고, 그렇지 않은 경우에는 유효하지 않은 콘텐츠로 판단한다.
한편, 네트워크 대역폭 검사 모듈(1310)은 파싱 모듈(1304)의 확인 결과 검증용 콘텐츠 파일이 WIPI 플랫폼 기반으로 작성된 경우 해당 콘텐츠 파일에 대한 네트워크 대역폭을 검사하는 모듈이다. WIPI 기반 플랫폼으로 생성된 콘텐츠는 가상머신 기반의 콘텐츠와 달리 WIPI 플랫폼에서 직접 수행되기 때문에 WIPI에서 제공하는 모든 API를 사용할 수 있다. 그러므로 악의적인 목적으로 해당 콘텐츠에 지정된 대역폭보다 넓게 콘텐츠를 구현한 경우 단말 플랫폼이 불안정해질 수 있으므로, WIPI 기반의 콘텐츠에 대해서는 네트워크 대역폭 검사를 수행하는 것이다.
만약, 검증용 콘텐츠 파일의 소스 코드를 어셈블(또는 컴파일)하여 추출한 바이너리 파일의 포맷이 ELF(WIPI-C 기반 콘텐츠의 경우) 또는 AXF(WITOP 기반 콘텐츠의 경우) 또는 SAL(GNEX 기반 콘텐츠의 경우) 또는 JAR(WIPI-JAVA 기반 콘텐츠의 경우)인 경우, 디스어셈블 모듈(1302)은 해당 바이너리 파일의 포맷에 따라 디스어셈블(디컴파일) 여부를 결정하여 디스어셈블(디컴파일)함으로써 어셈블리 파일을 추출한다. 만약, 파일 포맷이 ELF 또는 AXF인 경우 디스어셈블 모듈(1302)은 해당 바이너리 파일을 디스어셈블하고, 파일 포맷이 JAR인 경우에는 해당 바이너리 파일의 클래스 파일을 분석하며, 파일 포맷이 SAL인 경우에는 디스어셈블이나 컴파일 과정을 수행하지 않고도 직접 어셈블리 파일을 얻어낼 수 있다. 그리고, 파싱 모듈(1304)에서 각각의 어셈블리 파일을 파싱하면, API 레벨 확인 모듈(1306)은 어 셈블리 파일에 포함된 API 정보를 추출하여 룰 DB(172)를 참조하여 API 레벨의 적법성을 검사하는 것이다.
그리고, 헤더 분석 모듈(1306)은 ELF 파일과 상용 바이너리 파일 포맷인 DAF 파일의 헤더를 비교하고, AXF 파일과 상용 바이너리 파일 포맷인 DXF 파일의 헤더를 비교하여 검증용 바이너리 파일 헤더 내의 지정된 값과 상용 바이너리 파일 헤더 내의 지정된 값이 동일한지 확인한다. JAR 파일의 경우 검증용 바이너리 파일과 상용 바이너리 파일이 동일하므로 별도의 헤더 검사는 수행하지 않아도 무방하다.
다시, 도 3을 참조하면 콘텐츠 검증 시스템(10)의 바이러스 진단부(140)는 초기화 모듈(1402), 파일 포맷 확인 모듈(1404), 바이러스 검사 모듈(1406), 바이러스 치료/삭제 모듈(1408), 진단 결과문서 생성 모듈(1410), 종료 모듈(1412) 및 업데이트 모듈(1414)을 포함한다.
초기화 모듈(1402)은 바이러스 진단부(140)를 초기화하고, 파일 포맷 확인 모듈(1404)은 검증용 콘텐츠 파일의 포맷이 유효한 포맷인지 확인한다. 파일 포맷 확인 모듈(1404)에서 유효한 파일 포맷으로 판단된 경우, 바이러스 검사 모듈(1406)은 해당 검증용 콘텐츠 파일에 대한 바이러스 감염 여부를 확인한다. 그리고, 바이러스 치료/삭제 모듈(1408)은 바이러스 검사 모듈(1406)의 확인 결과 바이러스에 감염된 것으로 판단되는 검증용 콘텐츠 파일에 대한 바이러스 치료를 수행하고, 치료가 성공적으로 이루어지지 않으면 해당 파일을 삭제한다. 아울러, 진단 결과문서 생성 모듈(1410)은 각 검증용 콘텐츠 파일별 바이러스 감염 여부, 감염된 경우 치료 성공 여부, 삭제 처리 여부 등을 리스트로 생성하여 검증결과 DB(174)에 저장한다. 종료 모듈은 바이러스 진단부(140)의 구동을 종료하고, 업데이트 모듈(1414)은 바이러스 진단부(140)의 기능 업데이트가 필요한 경우 운용자의 요청에 따라 이를 수행한다.
이러한 바이러스 진단부(140)는 콘텐츠 검증 시스템(10)이 기 구축된 바이러스 진단부와 인터페이스를 통해 접속하여 콘텐츠에 대한 바이러스 진단 및 치료, 삭제를 수행할 수 있다.
이상에서 설명한 본 발명의 콘텐츠 검증 시스템(10)의 기능을 요약하면, CMS(30)로부터 검증용 콘텐츠 파일을 전송받아 바이러스 진단을 수행하여 바이러스 감염 여부에 따라 치료/삭제를 수행하고, 바이러스에 감염되지 않은(또는 바이러스가 치료된) 콘텐츠 파일의 검증용 바이너리 파일 형식(ELF, AXF, JAR, SAL)에 따라 디스어셈블(디컴파일)을 수행하여 어셈블리 파일을 얻어냄으로써 API 레벨을 확인하고, 검증용 바이너리 파일과 상용 바이너리 파일 헤더 내의 지정된 값을 비교한다.
이와 같이 함으로써, 바이러스에 감염된 콘텐츠가 배포되는 것을 방지할 수 있고, 콘텐츠 파일 내에 악성 코드(개인정보 유출, 단말 내 리소스 악용, 대체 채널 접근 시도, 무단 배포)에 의한 콘텐츠 제공자와 콘텐츠 사용자의 피해를 방지할 수 있다.
한편, 본 발명의 콘텐츠 검증 시스템(10)은 도시하지 않았지만 코드 사이닝(Code Signing)부를 더 구비하여, 콘텐츠 검증 결과에 따른 특정 정보(코드 사이닝 정보)를 콘텐츠 설치파일에 포함시킴으로써, 이동통신 단말이 콘텐츠를 설치하고자 하는 경우, 설치 전에 코드 사이닝 정보를 추출하여 이 정보에 따라 단말의 대처 방향(예를 들어, 콘텐츠 계속 수행, 실행 종료, 특정 메시지 노출 등)을 결정하도록 한다.
도 4는 본 발명에 의한 콘텐츠 검증 방법을 설명하기 위한 흐름도이다.
먼저, 콘텐츠 검증 시스템(10)은 상용되고 있는 콘텐츠 종류별로 사용 가능한 API 레벨 및 API 레벨 분류 정보 등을 룰 데이터베이스(172)로 구축하여 관리한다(S10).
이러한 상태에서, CMS(30)가 콘텐츠 검증 시스템(10)으로 검증용 콘텐츠 파일을 전송하고 검증을 요청하면(S20), 콘텐츠 검증 시스템(10)은 바이러스 진단부(140)를 이용하여 검증용 콘텐츠의 바이러스 감염 여부를 검사하고, 바이러스에 감염된 경우 치료 또는 삭제 처리하며(S30), 콘텐츠 유효성 확인부(130)를 이용하여 바이러스에 감염되지 않은 콘텐츠에 대한 유효성을 판단한다(S40).
여기에서, 유효성 판단이란 해당 콘텐츠의 API 레벨 검사 및 검증용 콘텐츠 파일과 상용 콘텐츠 파일의 동일성 검사를 의미한다.
바이러스 진단 및 유효성 진단이 완료되면, 콘텐츠 검증 시스템(10)은 CMS(30)로 해당 콘텐츠 파일의 검증 결과를 보고하여(S50), 바이러스에 감염된 콘텐츠 또는 유효하지 않은 콘텐츠가 배포되지 않도록 한다.
한편, 콘텐츠 검증 시스템(10)은 콘텐츠 다운로드시에 다운로드 설명자(Download Descriptor; DD) 설치파일에 코드 사이닝 정보를 포함시켜 전송할 수 있 으며, 이 경우 이동통신 단말에서 콘텐츠를 설치하고자 하는 경우 코드 사이닝 정보에 따라 사용자가 대처 방향을 결정할 수 있다.
콘텐츠 파일에 대한 바이러스 진단 과정(S30)은 도 5에 도시되어 있으며, 유효성 진단 과정(S40)은 도 6에 도시되어 있다.
한편, CMS(30)는 콘텐츠 검증 시스템(10)으로 콘텐츠 검증을 요청할 때(S10), 콘텐츠 식별자, 플랫폼명, 검증용 바이너리 파일 위치, 상용 바이너리 파일 위치 등을 포함하는 REQUEST 메시지를 전송하며, REQUEST 메시지의 포맷 및 포함되는 파라미터의 일 예를 도 10에 도시하였다.
또한, 콘텐츠 검증 시스템(10)은 CMS(30)로 검증 결과를 보고할 때(S50), 검증 성공 여부 및 검증 실패시의 실패 이유, 검증 결과 등을 포함하는 RESPONSE 메시지를 전송하며, RESPONSE 메시지의 포맷 및 포함되는 파라미터의 일 예를 도 11에 도시하였다.
도 12는 SKVM 실행 파일의 검증 요청 메시지의 일 예를 나타내고, 도 13a 내지 13c는 이에 대한 응답 메시지의 일 예를 나타내는 것으로, 응답 메시지는 정상 응답인 경우(도 13a), 바이러스 치료 응답인 경우(도 13b), 에러 응답인 경우(도 13c) 등 각각의 경우에 따라 작성되어 전송된다.
도 5는 도 4에 도시한 바이러스 진단 과정의 상세 흐름도이다.
먼저, 바이러스 진단부(140)의 초기화 모듈(1402)이 바이러스 진단부(140)를 초기화함에 따라(S301), 파일 포맷 확인 모듈(1404)은 검증 대상 콘텐츠 파일의 포맷을 확인하여(S303), 바이러스 진단 가능한 파일 포맷인지의 여부를 판단한다 (S305). 단계 S305의 판단 결과 유효한 파일 포맷인 경우, 바이러스 검사 모듈(1406)은 해당 콘텐츠 파일에 대한 바이러스 검사를 수행하고(S307), 검사 결과로부터 바이러스 감염 여부를 판단한다(S309).
단계 S309의 판단 결과, 바이러스에 감염된 것으로 확인되면, 바이러스 치료/삭제 모듈(1408)은 해당 콘텐츠 파일에 대한 바이러스를 치료하고(S311), 치료 결과로부터 바이러스 치료가 성공적으로 이루어졌는지 확인한다(S313, S315).
만약, 바이러스 치료가 성공적으로 이루어진 경우에는 안전한 콘텐츠로 판단하고 이에 대한 바이러스 진단 결과 리스트를 생성하여 검증결과 DB(174)에 저장하고(S317), 반면, 바이러스 치료가 성공적으로 이루어지지 않은 경우에는 안전하지 않은 콘텐츠인 것으로 판단하여 해당 콘텐츠 파일을 삭제하는 한편 이에 대한 진단 결과 리스트를 생성하여 검증결과 DB(174)에 저장한다(S319). 아울러, 단계 S305의 확인 결과 유효하지 않은 파일 포맷으로 확인되는 경우에도 단계 S319로 진행한다.
또한, 단계 S329의 판단 결과 바이러스에 감염되지 않은 콘텐츠로 확인되면 해당 콘텐츠를 안전한 것으로 판단하여, 이에 대한 바이러스 진단 결과 리스트를 생성하여 검증결과 DB(174)에 저장한다(S317).
도 6은 도 4에 도시한 유효성 진단 과정의 상세 흐름도이다.
먼저, 콘텐츠 유효성 진단부(130)의 디스어셈블 모듈(1302)은 CMS(30)로부터 전송된 검증용 콘텐츠 파일로부터 콘텐츠 정보(콘텐츠 식별자, 플랫폼명, 검증용 바이너리 파일 위치, 상용 바이너리 파일 위치 등)를 확인하고(S401), 검증용 콘텐 츠 파일을 어셈블(또는 컴파일)하여 바이너리 파일 포맷을 확인한다(S403).
만약, 바이너리 파일 포맷이 ELF 또는 AXF인 경우 즉, 검증 대상 콘텐츠가 WIPI-C 또는 WITOP을 기반으로 하여 작성된 경우, 디스어셈블 모듈(1302)은 바이너리 파일을 디스어셈블하여 어셈블리 파일을 생성한다(S407). 반면, 바이너리 파일 포맷이 ELF 또는 AXF가 아닌 경우에는 파일 포맷이 JAR인지 즉, 검증 대상 콘텐츠가 WIPI-JAVA를 기반으로 하여 작성된 콘텐츠인지 확인하여(S409), 파일 포맷이 JAR인 경우에는 해당 바이너리 파일의 클래스 파일을 분석한다(S411).
이후, 파싱 모듈(1304)이 디스어셈블된 바이너리 파일, 디컴파일된 클래스 파일 또는 바이너리 파일 포맷이 JAR가 아닌 경우 바이너리 파일(즉, SAL인 경우(GNEX 기반 콘텐츠))에 대하여 파싱을 수행하고(S413), API 레벨 확인 모듈(1306)은 파싱 결과로부터 해당 콘텐츠에 사용된 API를 추출하고(S415), 사용된 API 레벨을 확인한다(S417). 그리고, API 레벨 확인 모듈(1306)은 룰 DB(172)와 검증 대상 콘텐츠 정보, 사용된 API 레벨 정보 등을 참조하여 API 레벨 적법성을 판단한다(S419).
판단 결과, 유효한 API 레벨을 사용한 경우에는 해당 콘텐츠가 WIPI 기반의 콘텐츠인지 확인하여(S421), WIPI 기반의 콘텐츠가 아닌 경우에는 유효한 콘텐츠로 판단하여, 검증 결과를 DB(174)에 저장한다(S423).
반면, 유효한 API 레벨을 사용한 콘텐츠가 WIPI 기반의 콘텐츠인 경우에는 네트워크 대역폭 검사 모듈(1310)에서 해당 콘텐츠 파일에 대한 대역폭을 검사하고(S425), 네트워크 대역폭이 유효한 값인지 판단하여(S427), 유효한 값인 경우에는 단계 S423으로 진행하고, 그렇지 않은 경우에는 유효하지 않은 콘텐츠로 판단하고 검증 결과를 DB(174)에 저장한다(S429).
도시하지 않았지만, 단계 S421 이후 또는 단계 427 이후 단계 S423을 진행하기 전, 검증용 콘텐츠 파일의 바이너리 파일과 상용 바이너리 파일 헤더 내의 특정 값을 비교하여, 동일한 경우에는 단계 S423을 수행하고, 동일하지 않은 경우에는 단계 S429를 수행하는 과정을 더 실시하는 것도 가능하다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.