KR102188396B1 - 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법 - Google Patents

이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법 Download PDF

Info

Publication number
KR102188396B1
KR102188396B1 KR1020190027003A KR20190027003A KR102188396B1 KR 102188396 B1 KR102188396 B1 KR 102188396B1 KR 1020190027003 A KR1020190027003 A KR 1020190027003A KR 20190027003 A KR20190027003 A KR 20190027003A KR 102188396 B1 KR102188396 B1 KR 102188396B1
Authority
KR
South Korea
Prior art keywords
image file
image
file
format
malicious code
Prior art date
Application number
KR1020190027003A
Other languages
English (en)
Other versions
KR20200107612A (ko
Inventor
김광배
정동섭
김영환
Original Assignee
신한금융투자 주식회사
(주)휴네시온
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 신한금융투자 주식회사, (주)휴네시온 filed Critical 신한금융투자 주식회사
Priority to KR1020190027003A priority Critical patent/KR102188396B1/ko
Publication of KR20200107612A publication Critical patent/KR20200107612A/ko
Application granted granted Critical
Publication of KR102188396B1 publication Critical patent/KR102188396B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32154Transform domain methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법에 관한 것으로, 해결하고자 하는 기술적 과제는 악성코드의 시그니처나 특징에 대한 어떠한 사전 정보가 없더라도 원본 이미지 파일 포맷의 구조를 분석하고 이미지 데이터 영역별 변환을 통해 이미지 파일에 숨겨진 악성코드나 은닉 정보를 무력화시키는데 있다.
이를 위해 본 발명은 파일 유입 경로를 통해 유입된 원본 이미지 파일의 포맷 구조가 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역으로 이루어진 정상적인 구조인지 여부를 확인하는 이미지 파일 포맷 분석부 및, 이미지 파일 포맷 분석부와 전기적으로 연결되어, 이미지 파일 포맷 분석부에서 정상적인 구조의 원본 이미지 파일을 전달 받아 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역 각각을 순차적으로 변환하여 변환 이미지 파일을 생성하는 이미지 파일 변환부를 포함하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치를 개시한다.

Description

이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법 {APPARATUS FOR NEUTRALIZING MALICIOUS CODE AND HIDDEN INFORMATION INCLUDED IN IMAGE FILE AND DRIVING METHOD THEREOF}
본 발명의 다양한 실시예는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법에 관한 것이다.
점차 지능화되고 있는 악성코드는 실행형 파일(PE, ELF 등)뿐만 아니라 다양한 문서형 파일(MS Office, HWP, PDF, Images 등)에도 삽입되어 공격에 이용되고 있다. 이러한 악성코드를 탐지하기 위해 시그니처 기반의 안티 바이러스 기술과 파일 내 액티브 콘텐츠(Macro, JavaScript 등)를 제거하는 콘텐츠 무해화 및 재조합(CDR; Content Disarm & Reconstruction) 기술이 주로 사용되고 있다. 또한, 평판 기반(reputation-based)으로 알려진 악성코드 파일을 분류하거나 알려지지 않은 악성코드 파일을 분류하기 위해 머신러닝 기술을 적용하기도 한다.
한편, 문서형 파일 중에서 이미지 파일에 악성코드를 삽입하여 공격에 이용되고 있으며, 평판 기반으로 악성코드를 분석하는 글로벌 상용 서비스에서도 악성코드 은닉형 이미지 파일이 다수 수집되고 있다.
이와같이 악성 코드 은닉형 이미지 파일의 경우, 이미 알려진 알려진 악성코드 은닉형 이미지 파일에 대해서는 종래의 시그니처 기반의 안티 바이러스나 콘텐츠 무해화 및 재조합 기술을 통해 탐지되어 보안 처리되고 있지만, 알려지지 않은 악성코드가 은닉되어 있는 이미지 파일에 대해서는 평판 정보나 시그니처가 없어 탐지에 어려움이 있다.
추가적으로 스테가노그래피(Steganography)는 숨기려는 정보를 이미지나 오디오 등의 미디어에 교묘하게 삽입하여 외부에 정보 자체의 존재 여부가 드러나지 않도록 하는 정보 은닉 방법이다. 악성코드를 스테가노그래피 기법으로 이미지 파일에 은닉시켜 외부자가 전파(Stegosploit, Shellcode hiding 등)하거나, 내부자가 기밀 정보를 은닉한 이미지 파일을 이용하여 의도적인 정보 유출할 경우, 탐지가 어려울 뿐만 아니라, 정보 은닉 여부를 명확히 판별하는데도 한계가 있다.
등록특허 10-1865785(2018.06.01)
본 발명의 실시예에 따른 해결하고자 하는 과제는 악성코드의 시그니처나 특징에 대한 어떠한 사전 정보가 없더라도 원본 이미지 파일 포맷의 구조를 분석하고 이미지 데이터 영역별 변환을 통해 이미지 파일에 숨겨진 악성코드나 은닉 정보를 무력화시킬 수 있는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법을 제공하는 데 있다.
본 발명에 의한 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법는 파일 유입 경로를 통해 유입된 원본 이미지 파일의 포맷 구조가 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역으로 이루어진 정상적인 구조인지 여부를 확인하는 이미지 파일 포맷 분석부 및, 상기 이미지 파일 포맷 분석부와 전기적으로 연결되어, 상기 이미지 파일 포맷 분석부에서 정상적인 구조의 원본 이미지 파일을 전달 받아 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역 각각을 순차적으로 변환하여 변환 이미지 파일을 생성하는 이미지 파일 변환부를 포함할 수 있다.
상기 파일 유입 경로를 통해 유입된 파일이 문서 파일일 경우, 상기 문서 파일에 포함된 이미지 파일을 추출하여 상기 이미지 파일 포맷 분석부로 제공하는 이미지 파일 추출부를 더 포함할 수 있다.
상기 이미지 파일 변환부와 전기적으로 연결되어, 상기 이미지 파일 변환부에서 변환된 상기 변환 이미지 파일과, 상기 변환 이미지 파일의 원본 이미지인 원본 이미지 파일의 해쉬값을 함께 저장하는 저장소를 포함한 변환 이미지 파일 관리부를 더 포함할 수 있다.
상기 이미지 파일 변환부는 상기 이미지 파일 포맷 분석부로부터 전달받은 원본 이미지 파일의 해쉬값을 계산하고, 상기 변환 이미지 파일 관리부에서 상기 원본 이미지 파일의 해쉬값 정보와 동일한 이미지 파일의 해쉬값과 그에 해당하는 변환 이미지 파일이 저장되어 있는지 확인 및 제공받을 수 있다.
상기 변환 이미지 파일 관리부는 저장된 원본 이미지 파일의 해쉬값과 그에 해당하는 변환 이미지 파일을 생성 시간을 시점으로 일정 시간동안만 보관 후, 삭제하여 주기적으로 갱신할 수 있다.
상기 이미지 파일 변환부는 상기 이미지 헤더 정보를 상기 원본 이미지 파일에 해당하는 식별 시그니처를 변환될 이미지 포맷의 식별 시그니처로 바꿈으로써 변환하고, 상기 이미지 부가 정보를 악성코드 스크립트에서 자주 사용되는 특정 스트링을 필터링(html, head, script 등)하여 변환하고, 상기 이미지 데이터 영역을 비선형 전달 함수를 이용하여 변환 하여, 변환 이미지 파일로 변환할 수 있다.
상기 이미지 영역을 변환하기 위한 비선형 전달 함수는
Figure 112019024147181-pat00001
이며,
Figure 112019024147181-pat00002
는 비선형 전달 함수의 특성을 갖게 하는 특정
Figure 112019024147181-pat00003
범위값(0.950<
Figure 112019024147181-pat00004
<0.995 or 1.005<
Figure 112019024147181-pat00005
<1.050)이고, W 는 알파 채널의 적용 유무(ON or OFF)일 수 있다.
상기 이미지 파일 변환부는 상기 이미지 영역을 변환하기 위한 비선형 전달 함수에서
Figure 112019024147181-pat00006
의 값을 특정한 범위 값으로 한정함으로써 변환 값이 각 픽셀의 하위 비트(Leat Significant Bit)가 1~4 비트 이하에서만 변화시킬 수 있다.
상기 이미지 파일 포맷 분석부는 상기 원본 이미지 파일이 애니메이션 이미지 포맷인지 여부를 더 확인할 수 있다.
상기 이미지 파일 변환부는 상기 파일 포맷 분석부로부터 애니메이션 이미지 포맷을 전달 받으면, 애니메이션 이미지 파일을 애니메이션 개수만큼 동일 포맷의 분리 이미지 파일로 분리한 후, 복수의 분리 이미지 파일 각각을 변환할 수 있다.
또한 본 발명에 의한 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법는 파일 유입 경로를 통해 유입된 원본 이미지 파일의 포맷 구조가 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역으로 이루어진 정상적인 구조인지 여부를 확인하는 이미지 파일 포맷 분석부에서 확인 하는 이미지 파일 포맷 구조 분석 단계 및, 상기 이미지 파일 포맷 분석부로부터 정상적인 구조의 원본 이미지 파일을 이미지 파일 변환부에서 전달 받아, 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역 각각을 순차적으로 변환하여 변환 이미지 파일을 생성하는 이미지 파일 변환 단계를 포함할 수 있다.
상기 이미지 파일 포맷 구조 분선 단계 이전에, 상기 파일 유입 경로를 통해 유입된 파일이 문서 파일일 경우, 이미지 파일 추출부가 상기 문서 파일에 포함된 이미지 파일을 추출하여 상기 이미지 파일 포맷 분석부로 제공하는 원본 이미지 파일 추출 단계를 더 포함할 수 있다.
상기 이미지 파일 변환 단계 이전에, 상기 이미지 파일 변환부에서 상기 이미지 파일 포맷 분석부로부터 전달받은 원본 이미지 파일의 해쉬값을 계산하는 단계와, 상기 변환 이미지 파일 관리부의 저장소에 상기 원본 이미지 파일의 해쉬값 정보와 동일한 이미지 파일의 해쉬값과 그에 해당하는 변환 이미지 파일이 저장되어 있는지 확인하는 단계를 더 포함할 수 있다.
상기 이미지 파일 변환 단계 이후에, 상기 이미지 파일 변환부에서 변환된 상기 변환 이미지 파일과, 상기 변환 이미지 파일의 원본 이미지인 원본 이미지 파일의 해쉬값을 함께 저장하는 상기 변환 이미지 파일 관리부에서 저장된 원본 이미지 파일의 해쉬값과 그에 해당하는 변환 이미지 파일을 생성 시간을 시점으로 일정 시간동안만 보관 후, 삭제하여 주기적으로 갱신하는 이미지 파일 저장 및 주기적 갱신 단계를 더 포함할 수 있다.
상기 이미지 파일 포맷 구조 분석 단계에서는 상기 이미지 파일 포맷 분석부에서 원본 이미지 파일의 포맷 구조가 정상적인 구조가 아닌 것으로 판단할 경우, 상기 이미지 파일 포맷 분석부는 지정된 임의의 파일을 파일 유출 경로를 통해 제공하여 변환이 실패된 이미지임을 알릴 수 있다.
상기 이미지 파일 변환 단계는 상기 이미지 파일 변환부에서 상기 이미지 헤더 정보를 상기 원본 이미지 파일에 해당하는 식별 시그니처를 변환될 이미지 포맷의 식별 시그니처로 바꿈으로써 변환하는 헤더 정보 변환 단계와, 상기 이미지 부가 정보를 악성코드 스크립트에서 자주 사용되는 특정 스트링을 필터링(html, head, script 등)하여 변환하는 부가 정보 변환 단계 및, 상기 이미지 데이터 영역을 비선형 전달 함수를 이용하여 변환 하여, 변환 이미지 파일로 변환하는 데이터 변환 단계를 포함할 수 있다.
상기 이미지 파일 변환 단계에서, 상기 헤더 정보 변환 단계 이전에 상기 이미지 파일 포맷 분석부에서 원본 이미지 파일이 애니메이션 이미지 포맷인지 확인 단계 및 상기 이미지 파일 변환부에서 상기 파일 포맷 분석부로부터 애니메이션 이미지 포맷을 전달 받으면, 애니메이션 이미지 파일을 애니메이션 개수만큼 동일 포맷의 분리 이미지 파일로 분리하는 단계를 더 포함할 수 있다.
상기 이미지 파일 변환 단계에서, 상기 데이터 변환 단계 이후에는 상기 이미지 파일 변환부에서 원본 이미지 파일이 애니메이션 이미지 포맷인 경우에 모든 분리 이미지 파일의 변환이 끝났는지 확인하는 단계 및, 상기 이미지 파일 변환부에서 모든 분리 이미지 파일 변환이 완료된 경우 애니메이션 이미지 포맷에 해당하는 분리 이미지 파일들의 변환 이미지 파일들을 원본 이미지 포맷과 동일한 하나의 이미지 포맷으로 재조립하는 단계를 더 포함할 수 있다.
상기 이미지 영역을 변환하기 위한 비선형 전달 함수는
Figure 112019024147181-pat00007
이며,
Figure 112019024147181-pat00008
는 비선형 전달 함수의 특성을 갖게 하는 특정 범위값(0.950<
Figure 112019024147181-pat00009
<0.995 or 1.005<
Figure 112019024147181-pat00010
<1.050)이고, W 는 알파 채널의 적용 유무(ON or OFF)일 수 있다.
상기 이미지 영역을 변환하기 위한 비선형 전달 함수에서
Figure 112019024147181-pat00011
의 값을 특정한 범위 값으로 한정함으로써 변환 값이 각 픽셀의 하위 비트(Leat Significant Bit)가 1~4 비트 이하에서만 변화시킬 수 있다.
본 발명에 의한 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법는 이미지 파일에 포함된 악성코드 및 은닉 정보의 무력화 장치 및 그 방법은 원본 이미지 파일에 숨겨진 악성코드나 은닉 정보를 어떤 분석이나 탐지 기법을 적용하지 않고, 이미지 파일 포맷의 구조를 분석하고 각 영역별 데이터를 변환하여 악성코드 동작이나 은닉 정보를 무력화시켜 악성코드 전파를 사전 차단하거나 정보 유출을 방지할 수 있게 된다.
또한 본 발명에 의한 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법는 알려진 악성코드의 시그니처 기반 안티 바이러스나 평판 분석, 콘텐츠 무해화 및 재조립 기술과 다른 방식으로, 알려진 또는 알려지지 않은 악성코드의 시그니처나 특징에 대한 어떠한 사전 정보 없이도 악성코드 동작을 사전에 무력화시킬 수 있게 된다.
또한 본 발명에 의한 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법는 원본 이미지 파일에 포함된 악성코드나 은닉 정보를 무력화시킨 변환된 이미지 파일은 육안으로 구분하지 못할 정도의 원본 이미지 품질과 유사한 수준으로 제공해 줄 수 있게 된다.
도 1은 본 발명의 일실시예에 따른 이미지 파일의 악성코드와 은닉 정보 무력화 장치를 도시한 구조도이다.
도 2는 정상적인 이미지 파일 구조 및 불량 이미지 파일 구조의 일예이다.
도 3은 도 1의 이미지 파일의 악성코드와 은닉 정보 무력화 장치의 구동 방법을 도시한 순서도이다.
도 4는 도 3의 이미지 파일의 악성코드와 은닉 정보 무력화 장치의 구동 방법에서 이미지 파일 변환 단계를 상세히 도시한 순서도이다.
도 5는 도 4의 이미지 파일의 각 영역별 변환 방법 도시한 구조도이다.
도 6은 도 5의 이미지 파일에서 이미지 데이터 변환 결과의 일예이다.
도 7 및 8은 악성코드나 은닉 정보가 본 발명의 이미지 파일의 악성코드와 은닉 정보 무력화 장치와 그의 구동 방법을 통해 무력화된 모의 실험 결과이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
또한, 이하의 도면에서 각 층의 두께나 크기는 설명의 편의 및 명확성을 위하여 과장된 것이며, 도면상에서 동일 부호는 동일한 요소를 지칭한다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다. 또한, 본 명세서에서 "연결된다"라는 의미는 A 부재와 B 부재가 직접 연결되는 경우뿐만 아니라, A 부재와 B 부재의 사이에 C 부재가 개재되어 A 부재와 B 부재가 간접 연결되는 경우도 의미한다.
본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이, 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다(comprise)" 및/또는 "포함하는(comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및 /또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명하면 다음과 같다.
도 1을 참조하면, 본 발명의 일실시예에 따른 이미지 파일의 악성코드와 은닉 정보 무력화 장치를 도시한 구조도가 도시되어 있다.
도 1에 도시된 바와 같이 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치(100)는 이미지 파일 추출부(110), 이미지 파일 포맷 분석부(120), 이미지 파일 변환부(130) 및 변환 이미지 파일 관리부(140)를 포함할 수 있다. 우선 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치(100)는 파일 유입 경로(10)와 파일 유출 경로(20)사이에 개재되어, 파일 유입 경로(10)를 통해 유입된 이미지 파일이나, 문서에 포함된 이미지 파일을 변환하여 악성코드나 은닉정보을 무력화하여 파일 유출 경로(20)로 제공할 수 있다. 이와같은 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치(100)는 사내로 유입되는 이미지 파일이나, 문서에 포함된 이미지 파일을 변환하여 악성코드를 무력화할 수 있을 뿐만 아니라, 사내에서 외부로 유출되는 기밀 정보를 은닉한 이미지 파일이나, 문서에 포함된 이미지 파일을 변환하여 기밀 정보 유출을 방지하도록 할 수 있다. 여기서, 파일 유입 경로(10)가 사내망일 경우 파일 유출 경로(20)는 사외망일 수 있으며, 파일 유입 경로(10)가 사외망일 경우 파일 유출 경로(20)는 사내망일 수 있다. 즉, 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치(100)는 파일 유입 경로(10)와 파일 유출 경로(20) 사이에 개재되어 유입되는 이미지 파일이나, 문서에 포함된 이미지 파일을 변환하여 악성코드와 은닉 정보를 무력화한 후 유출할 수 있다.
우선 이미지 파일 추출부(110)는 인터넷(web-site), 데스크탑 PC(Desktop PC), 노트북 및 모바일 단말기등과 같은 파일 유입 경로(10)로부터 유입된 다양한 문서 파일(doc, ppt, xls, hwp, odt, odp 등)내에 포함된 이미지 파일(JPEG, GIF, PNG, BMP 등) 또는 이미지 객체(OLE)를 추출한다. 또한 이미지 파일 추출부(110)는 다양한 파일 유입 경로(10)로부터 유입된 이미지 파일의 파일 확장자와 파일 헤더 정보에서 이미지 파일을 확인할 수도 있다. 즉, 이미지 파일 추출부(110)는 다양한 파일 유입 경로(10)로부터 유입된 이미지 파일을 확인하거나, 문서 파일내에 포함된 이미지 파일을 추출할 수 있다. 여기서, 이미지 파일 추출부(110)는 유입된 문서 파일로부터 이미지 파일만을 선별하기 위해 각 문서 파일의 확장자나 파일 헤더 정보에서 이미지 파일 포맷의 식별 시그니처를 확인하여 추출할 수 있다.
이하에서 이미지 파일 추출부(110)에서 추출되거나 확인된 이미지 파일을 원본 이미지 파일로 지칭하고자 한다. 상기 이미지 파일 추출부(110)는 원본 이미지 파일을 이미지 파일 포맷 분석부(120)로 전달할 수 있다.
또한 이미지 파일 포맷 분석부(120)는 이미지 파일 추출부(110)에서 전달된 원본 이미지 파일의 포맷 구조를 분석한다. 일반적으로 정상적인 이미지 파일의 포맷 구조는 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역으로 이루어질 수 있다. 우선 이미지 파일 포맷 분석부(120)는 원본 이미지 파일의 헤더 정보로부터 이미지의 종류(JPEG, GIF, PNG, BMP 등)를 파악할 수 있다. 또한 이미지 파일 포맷 분석부(120)는 각 이미지 종류에 따른 기본 이미지 파일 포맷 구조 정보를 기준으로, 원본 이미지 파일의 구조가 정상적인 구조인지 여부를 판별할 수 있다. 여기서 이미지 파일 포맷 분석부(120)는 다양한 이미지 종류에 따른 이미지 파일 포맷 구조 정보를 저장하고 있거나, 다양한 이미지 종류에 따른 이미지 파일 포맷 구조 정보가 저장된 메모리로부터 이미지 파일 포맷 구조를 제공받을 수 있다. 상기 이미지 파일 포맷 분석부(120)는 원본 이미지 파일의 헤더 정보와 포맷 구조를 통해 정상적인 구조인지 여부를 판별하여, 이미지 파일 변환부(130)로 그 정보를 전달할 수 있다. 예를들어, 포맷 구조가 정상 구조인지 판별하는 방법은 원본 이미지 파일의 이미지 헤더 정보, 이미지 부가 정보, 이미지 데이터 영역이 기준 포맷의 자료구조와 동일한지 여부를 확인하여 알 수 있다.
이미지 파일 포맷 변환부(130)는 이미지 파일 포맷 분석부(120)에서 정상적인 구조의 파일로 판단된 원본 이미지 파일을 전달받을 수 있다. 상기 이미지 파일 변환부(130)는 원본 이미지 파일의 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역를 변환 이미지 파일에 대응되도록 각각 변환할 수 있다. 먼저 이미지 파일 포맷 분석부(120)는 이미지 헤더 정보에서 원본 이미지 헤더의 파일 식별자 정보를 변환 이미지 헤더의 파일 식별자 정보로 바꿀 수 있다. 또한 이미지 파일 변환부(130)는 이미지 부가 정보에서, 원본 이미지 부가 정보 중에서 특정 스트링을 제외한 정보를 변환 이미지 파일의 부가 정보 영역에 복사할 수 있다. 그리고 이미지 파일 변환부(130)는 이미지 데이터 영역에서 악성코드나 은닉정보의 특성을 무력화시키기 위해 특정 범위값의 비선형 전달 함수(Nonlinear Transfer Function)를 적용하여 원본 이미지의 속성값을 변환할 수 있다. 이와같은 이미지 파일 변환부(130)는 변환 이미지 파일을 원본 이미지 파일을 대신하여 파일 유출 경로(20)를 통해 제공할 수 있다.
변환 이미지 파일 관리부(140)는 이미지 파일 변환부(130)와 전기적으로 연결되어, 반복적으로 동일한 이미지 파일의 변환으로 인한 처리 속도 감소를 방지 하기 위해서, 변환 이미지 파일에 대한 원본 이미지 파일의 해쉬값 정보를 저장할 수 있다. 이와같은 변환 이미지 파일 관리부(140)는 변환 이미지 파일에 대한 원본 이미지 파일의 해쉬값 정보를 저장하기 위한 저장소를 구비할 수 있다. 또한 변환 이미지 파일 관리부(140)는 저장소에 저장된 이미지 파일의 해쉬값 정보중, 일정 시간이상 경과된 이미지 파일의 해쉬값은 삭제하여 주기적으로 갱신할 수 있다.
도 2를 참조하면, 원본 이미지 파일의 정상적인 포맷 구조(a)와, 악성코드 및 은닉 정보를 포함한 불량 이미지 파일 포맷 구조(b, c, d, e)의 일예가 도시되어 있다.
도 2에 도시된 바와 같이, 불량 이미지 파일 포맷 구조(b, c, d, e)는 악성코드나 은닉 정보가 이미지 파일의 일정 영역 내에 삽입 또는 변조될 수 있는 일예들을 설명하고자 한다. 그리고 불량 이미지 파일 포맷 구조(b, c, d, e)는 도 2에서 4개의 구조를 도시하였으나, 이는 예시적인 것으로 본 발명에서 불량 이미지 파일 포맷 구조(b, c, d, e)를 4가지로 한정하는 것은 아니다. 이하에서는 본 발명의 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치(100)에서 불량 이미지 파일 포맷 구조(b, c, d, e)를 확인하는 방법을 설명하고자 한다.
여기서, 정상적인 포맷 구조(a)는 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역을 가질 수 있다.
예를 들어, 제1불량 이미지 파일 포맷 구조(b)와 같이 이미지 헤더 정보영역에 이미지 종류에 대한 파일 식별 시그니처만 표시하고, 다른 영역에서 악성코드 스크립트(JavaScript, HTML, PHP 등)가 삽입되는 포맷 구조가 있다. 이와같은 제1불량 이미지 파일 포맷 구조(b)의 경우 헤더 정보만으로 MIME Type을 판단하는 경우에 탐지되지 않을 수 있으나, 본 발명의 이미지 파일 포맷 분석부(120)에서는 정상 포맷 구조인 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역을 포함하지 않으므로 불량 이미지로 판단할 수 있다.
또한, 이미지 포맷은 제2불량 이미지 파일 포맷 구조(c)와 같이 구성되어 있으나, 데이터의 끝에 악성코드 바이너리(PE, DLL, ELF 등)나 악성코드 스크립트, 기밀 정보(기업 정보, 개인정보 등) 등을 추가함으로써 이미지 보기 애플리케이션들이 이미지 끝(EOI)까지만 처리하고 그 이후 영역은 무시된다는 것을 악용하는 하는 포맷 구조도 있다.
또한 제3불량 이미지 파일 포맷 구조(d)와 같이, 악성코드가 DBD(Drive by Download) 유형인 경우에는 다운로드 시점에 이미지 파일로 가장하여 유입된 후, 이미지 파일 포맷의 부가 정보 영역에 악성코드 스크립트를 삽입하고, 이미지 데이터 영역(이미지 픽셀 정보)에 악성코드를 은닉시킴으로써 악성코드 스크립트에 의해 은닉된 악성코드를 복원 시키는 포맷 구조도 있다.
이와같은 제2불량 이미지 파일 포맷 구조(c)와 제3불량 이미지 파일 포맷 구조(d)는 악성코드 은닉을 위해 다양한 방식의 암호화 및 난독화 알고리즘을 사용하거나 스테가노그래피 알고리즘을 사용하게 되면, 시그니처 기반 안티 바이러스(AV)나 평판 기반 탐지 기법을 우회할 수 있고, 머신 러닝(Machine Learning) 기반 기법으로도 분석이 어려울 수 있다. 그러나 본 발명에서는 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역의 각 영역별로 원본 이미지 파일을 변환하여, 악성코드나 은닉 정보 없는 변환 이미지 파일을 파일 유출 경로(20)를 통해 제공할 수 있다.
또한, 제4불량 이미지 파일 포맷 구조(e)와 같이 이미지 데이터 영역에 기밀 정보를 다양한 스테가노그래피 알고리즘이나 도구를 악용하여 은닉시킴으로써 의도적으로 정보 유출을 하는 경우 은닉 정보의 존재 여부를 분석하거나 탐지하기가 매우 어려울 수 있다. 그러나 본 발명에서는 데이터 영역 변환시 악성코드나 은닉정보의 특성을 무력화시키기 위해 특정 범위값의 비선형 전달 함수(Nonlinear Transfer Function)를 적용하므로, 악성코드나 은닉 정보 없는 변환 이미지 파일을 제공할 수 있다.
도 3을 참조하면, 도 1에 도시된 이미지 파일의 악성코드와 은닉 정보 무력화 장치의 구동 방법을 도시한 순서도가 도시되어 있다. 이와같은 이미지 파일의 악성코드와 은닉 정보 무력화 장치의 구동 방법은 도 1에 도시된 이미지 파일의 악성코드와 은닉 정보 무력화 장치를 참조하여 설명하고자 한다.
도 3에 도시된 바와 같이, 이미지 파일의 악성코드와 은닉 정보 무력화 장치의 구동 방법은 원본 이미지 파일 추출 단계(S10), 이미지 파일 포맷 구조 분석 단계(S20), 이미지 파일 변환 단계(S30) 및 이미지 파일 저장 및 주기적 갱신 단계(S40)를 포함할 수 있다.
우선 원본 이미지 파일 추출 단계(S10)에서는 이미지 파일 추출부(110)가 다양한 파일 유입 경로(10)로부터 유입된 다양한 문서 파일에서 이미지 파일만을 추출한다. 또한 원본 이미지 파일 추출 단계(S10)에서는 다양한 파일 유입 경로(10)로부터 유입된 파일의 파일 확장자와 파일 헤더 정보에서 이미지 파일을 확인할 수도 있다.
또한 이미지 파일 포맷 구조 분석 단계(S20)에서는 이미지 파일 추출부(110)에서 추출한 원본 이미지 파일을, 이미지 파일 포맷 분석부(120)에서 원본 이미지 파일이 각 이미지별 기준 포맷의 자료구조로 구성되어 있는지 분석한다. 여기서 상기 이미지 파일 변환부는 이미지 파일 포맷이 정상적인 구성으로 판단된 경우에 원본 이미지 파일의 해쉬값을 계산하고 동일한 해쉬값의 파일 정보가 변환 이미지 파일 관리부(140)에 저장되어 있는지 확인할 수 있다. 이미지 파일 변환 단계(S30)는 도3에 도시된 바와 같이 원본 이미지 파일을 각 정보 영역별로 변환하고, 변환 이미지 파일은 변환 이미지 파일 관리부(140)의 저장소에 저장한다. 이미지 파일 저장 및 주기적 갱신 단계(S240)는 저장된 이미지 파일의 생성 시간을 시점으로 일정 기간 동안 보관하고 그 기간이 지난 이미지 파일은 삭제하고 주기적으로 이 과정을 반복하여 갱신한다. 여기서 일정 기간은 임의로 설정 및 변경할 수 있다.
보다 구체적으로, 원본 이미지 파일 추출 단계(S10)에서는 상기 이미지 파일 추출부(110)가 다양한 파일 유입 경로(10)를 통해 수집된 파일들 중에서 파일 확장자와 파일 헤더 정보에서 이미지 파일 포맷의 식별 시그니처(S11)를 확인하여, 원본 이미지 파일을 추출한다. 예를 들어, 이미지 파일 추출부(110)는 JPEG 포맷의 이미지 파일을 선별하기 위해서는 유입된 파일의 확장자가 'JPEG' 또는 'JPG'인 경우이거나, 파일 헤더의 식별 시그니처가 'FF D8 FF DB'또는 'FF D8 FF E0' 또는 'FF D8 FF E1'과 일치하면 추출할 수 있다. 또한 이미지 파일 추출부(110)는 다양한 이미지 파일의 확장자 및 이미지 파일 헤더의 식별 시그니처가 저정된 메모리(미도시)로부터 이를 제공받거나, 이미지 파일 추출부(110)내에 저장된 정보를 통해 이를 알 수 있다.
또한, 이미지 파일 추출부(110)는 MS Office 문서 파일(doc, docx, ppt, pptx, xls, xlsx)이나 HWP 문서 파일(hwp, hwpx)인 경우 경우에도 각 문서 파일의 포맷 구조를 참조하여 문서에 포함된 이미지 객체만을 추출할 수 있다. 예를들어 문서 파일의 경우 제품 제작처에서 제공하는 공개된 문서 포맷 구조를 이용하여, 특정 폴더내로 문서 파일 내에 포함된 이미지 객체만을 추출할 수 있다.
이미지 파일 포맷 구조 분석 단계(S20)에서는 이미지 파일 포맷 분석부(120)가 상기 원본 이미지 파일 추출 단계(S10)에서 추출한 원본 이미지 파일의 포맷 구조가 정상적인 구조인지 여부를 확인한다. 이때 이미지 파일 포맷 분석부(120)는 다양한 이미지 종류에 따른 이미지 파일 포맷 구조 정보를 저장하고 있거나, 다양한 이미지 종류에 따른 이미지 파일 포맷 구조 정보가 저장된 메모리로부터 이미지 파일 포맷 구조 정보를 제공(S21) 받을 수 있다. 상기 이미지 파일 포맷 분석부(120)는 원본 이미지 파일 포맷의 파일 식별자, 이미지 부가 정보, 이미지 데이터 영역이, 기본 이미지 파일의 포맷 구조 정보와 동일하게 구성되어 있는지만 확인하고, 실제 데이터들이 유효한 범위값인지는 이미지 파일 변환부(130)에서 확인한다. 예를 들어, 이미지 파일 포맷 분석부(120)는 원본 이미지 파일의 포맷이 JPEG 포맷의 이미지 파일인 경우, 파일 식별자가 0xFFD8(SOI; Start of Image)로 시작하면서 이미지 부가 정보 영역이 0xFFE0~0xFFEF(Application Marker)으로 구분되고, 이미지 데이터 영역이 0xFFC0(SOF; Start of Frame)로 시작하여 이미지 포맷의 마지막이 0xFFD9(EOI; End of Image)일 경우, 정상적인 구조의 이미지 파일임을 판단할 수 있다.
또한 이미지 파일 포맷 분석부(120)는 원본 이미지 파일의 포맷 구조가 정상적인 구조의 이미지 파일이 아닐 경우, 원본 이미지 파일이 변환이 불가능한 포맷인 것으로 판단(S25)할 수 있다. 이와같이 원본 이미지 파일이 변환 가능한 포맷이 아니라면, 파일 유출 경로(20)로 변환이 실패된 이미지임을 알리기 위해 지정된 임의의 이미지 파일로 대체(S26)하여 제공할 수 있으며, 이미지 파일 변환 과정을 생략하고 파일 유출 경로(20)로 지정된 임의의 이미지 파일을 제공(S50)할 수 있다.
또한, 이미지 파일 포맷 분석부(120)는 원본 이미지 파일의 포맷 구조가 정상적인 구조의 이미지 파일일 경우, 변환이 가능한 포맷인 것으로 판단(S25)할 수 있다. 또한 이미지 파일 포맷 분석부(120)에서 원본 이미지 파일의 포맷 구조가 정상적인 구조로 판단될 경우, 이미지 파일 변환부(130)는 원본 이미지 파일을 전달 받아 변환 이미지 파일로 변환할 수 있다.
우선, 이미지 파일 변환부(130)는 원본 이미지 파일을 전달 받으면, 원본 이미지 파일에 대한 해쉬값을 계산할 수 있다. 상기 이미지 파일 변환부(130)는 SHA256, MD5 등의 해쉬 알고리즘을 사용하여 원본 이미지 파일의 해쉬값을 계산할 수 있으나, 본 발명에서 해쉬 알고리즘을 한정하는 것은 아니다. 또한 이미지 파일 변환부(130)는 변환 이미지 파일 관리부(140)의 저장소에 동일한 해쉬값을 갖는 파일이 저장되어 있는지 여부를 확인(S28)할 수 있다. 이때 변환 이미지 파일 관리부(140)는 저장소에 동일한 해쉬값을 갖는 파일이 저장되어 있을 경우, 이를 추출해서 해쉬값에 해당하는 변환 이미지 파일을 이미지 파일 변환부(130)로 전달할 수 있다. 또한 변환 이미지 파일 관리부(140)는 저장된 해쉬값에 해당하는 변환 이미지 파일을, 주기적 갱신(S40)할 수 있다.
또한 이미지 파일 변환부(130)는 변환 이미지 파일 관리부(140)의 저장소에 동일한 해쉬값을 갖는 파일이 없을 경우, 원본 이미지 파일에 대한 이미지 변환을 실행(S30)할 수 있다.
그리고 이미지 파일 변환 단계(S30)에서 이미지 파일 변환부(130)는 원본 이미지 파일의 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역을 변환 이미지 파일에 대응되도록 영역별로 각각 변환할 수 있다. 또한 이미지 파일 변환 단계(S30)에서 변환 이미지 파일은 변환 이미지 파일 관리부(140)의 저장소에 원본 이미지의 해쉬값과 함께 저장(S40)될 수 있다. 또한 변환 이미지 파일 관리부(140)에 저장된 원본 이미지 파일의 해쉬값은 이후에 동일한 해쉬값을 갖는 변환 이미지 파일을 확인(S28)하는데 사용될 수 있다.
이와같은 이미지 파일 변환 단계(S30)에서는 원본 이미지 파일에 악성 코드 또는 기밀 정보를 은닉하여 삽입된 경우에도, 각 영역 별로 변환하므로 악성 코드 또는 기밀 정보를 이미지 파일 내에서 제거 할 수 있다. 이와 같은 이미지 파일 변환 단계(S30)는 도 4에서 자세히 설명하고자 한다.
또한 이미지 파일 변환부(130)는 이미지 파일 변환 단계(S30)에서 변환 이미지 파일이나, 변환 이미지 파일 관리부(140)에서 추출된 동일한 해쉬값을 갖는 변환 이미지 파일 결과(S50)를 원본 이미지 파일을 대신하여 파일 유출 경로(20)를 통해 제공할 수 있다. 즉, 파일 유출 경로(20)에서는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치(100)을 통해 악성 코드 또는 기밀 정보를 은닉하여 삽입된 원본 이미지 파일을 대신하여, 악성 코드 또는 기밀 정보가 제거된 이미지 파일인 변환 이미지 파일을 제공 받을 수 있다.
또한, 이미지 파일 변환 단계(S30)에서는 도 2에 도시된 바와 같이 불량 이미지 파일 포맷 구조(b, c, d, e)와 같이 의도적으로 이미지에 악성코드를 삽입하거나 스테가노그래피 기법으로 이미지에 악성코드 또는 기밀 정보를 은닉하는 경우에도 각 이미지 정보 영역별 변환 과정을 통해 그 특성이 없어지게 할 수 있다.
도 4를 참조하면, 도 3에 도시된 이미지 파일의 악성코드와 은닉 정보 무력화 장치의 구동 방법에서 이미지 파일 변환 단계에서 원본 이미지 파일을 변환 이미지 파일로 변환하는 방법을 도시한 순서도가 도시되어 있다.
도 4에 도시된 원본 이미지 파일을 변환 이미지 파일로 변환하는 방법(S30)은 애니메이션 포맷 확인 단계(S31), 애니메이션 이미지 분리 단계(S32), 이미지 헤더 및 부가 정보 영역 변화 단계(S33), 이미지 데이터 영역 변환 단계(S34), 변환 확인 단계(S35) 및 변환 이미지 후처리 단계(S36)를 포함할 수 있다. 이하에서는 도 1 내지 도 4를 참조하여, 원본 이미지 파일을 변환 이미지 파일로 변환하는 방법(S30)을 자세히 설명 하고자 한다.
우선 애니메이션 포맷 확인 단계(S31)에서는 도 2의 이미지 파일 포맷 구조 분석 단계(S20)에서 이미지 파일 포맷 분석부(120)가 원본 이미지 파일의 포맷이 애니메이션을 지원하는 이미지 포맷(GIF, APNG, WebP 등)인지 확인할 수 있다.
또한 이미지 파일 변환부(130)는 이미지 파일 포맷 분석부(120)로부터 애니메이션 이미지 포맷의 원본 이미지를 제공 받을 경우, 애니메이션 이미지를 애니메이션 개수만큼의 동일 포맷의 이미지 파일로 분리(S32)할 수 있다.
예를 들어, 이미지 파일 변환부(130)는 원본 이미지 파일이 애니메이션을 지원하는 GIF 포맷(GIF89a)의 이미지 파일일 경우, 이미지 파일 식별 시그니처가 GIF89a(0x4749 0x4638 0x3961)로 시작하고, Graphic Control Extension 항목(0x21F9) 이후의 Block Size를 확인하여, 애니메이션 포맷을 각 이미지 파일 개수만큼 분리할 수 있다. 이하에서, 애니메이션 포맷의 원본 이미지를 분리한 다수의 이미지 파일을 분리 이미지 파일로 지칭하고자 한다.
상기 이미지 파일 변환부(130)는 다수의 분리 이미지 파일을 이미지 헤더 영역과, 부가 정보 영역에 대해 각각 변환 이미지 파일로 변환(S33)한다. 또한 이미지 파일 변환부(130)는 이미지 파일 포맷 분석부(120)에서 전달된 원본 이미지 파일이 애니메이션 포맷이 아닐 경우, 원본 이미지 파일을 이미지 헤더 영역과, 부가 정보 영역에 대해 각각 변환 이미지 파일로 변환(S33)할 수 있다.
이미지 헤더 및 부가 정보 변환 단계(S33)는 도 5에서 도시한 바와 같이 원본 이미지 파일과 분리 이미지 파일을 이미지 헤더 영역과 이미지 부가 정보 영역에 대해 각각 변환 이미지 파일로 변환한다. 여기서, 이미지 파일 변환부(130)는 다양한 이미지 파일의 확장자 및 이미지 파일 헤더의 식별 시그니처가 저정된 메모리(미도시)로부터 제공된 원본 및 분리 이미지 파일 포맷의 식별 시그니처를 변환할 이미지 포맷의 식별 시그니처로 바꿈으로써 이미지 헤더 정보를 변환할 수 있다. 또한, 이미지 파일 변환부(130)는 이미지 부가 정보 영역에 대해서는 악성코드 스크립트에서 자주 사용되는 특정 스트링을 필터링(html, head, script 등)하여 변환할 수 있다. 또한, 이미지 부가 정보 영역의 변환은 특정 스트링 필터링 변환(TF2) 방법을 적용할 수 있으며 예를 들어, JavaScript, PHP, HTML 등과 관련된 키워드(html, head, script, type 등)는 0x00으로 그 값을 바꾸어 복사하고 원래 크기에는 영향을 주지 않도록 할 수 있으나, 본 발명에서 이를 한정하는 것은 아니다.
상기 이미지 파일 변환부(130)는 원본 및 분리 이미지 파일의 이미지 헤더 정보 영역과, 이미지 부가 정보 영역을 변환한 후, 이미지 데이터 영역을 변환 이미지 파일로 변환(S34)할 수 있다.
이미지 데이터 영역 변환 단계(S34)에서 이미지 파일 변환부(130)는 도 5에 도시한 바와 같이 이미지 데이터 영역의 픽셀 데이터 값들을 비선형 전달 함수를 통해 변환할 수 있다. 여기서, 변환할 픽셀 데이터는 RGB(or YCbCr) 색상으로 원본 및 분리 이미지 데이터 영역의 각 픽셀 RGB 값들을 비선형 전달 함수를 통해 변환하여 변환 이미지 데이터 영역에 복사한다.
추가적으로 도 6에서는 비선형 전달 함수를 통해 원본 또는 분리 이미지 파일의 한 픽셀의 RGB 값([RGB]in)이 같은 위치의 변환 픽셀 RGB 값([RGB]out)으로 변환되는 과정을 도시한 예가 도시되어 있다. 도 5에 도시된 바와 같이 원본 또는 분리 이미지 파일의 이미지 데이터 영역을 변환하기 위한 비선형 전달 함수는 다음 수학식1과 같이 정의하여 사용한다.
Figure 112019024147181-pat00012
여기서,
Figure 112019024147181-pat00013
는 비선형 전달 함수의 특성을 갖게 하는 특정 범위값(0.950<
Figure 112019024147181-pat00014
<0.995 or 1.005<
Figure 112019024147181-pat00015
<1.050)의 값을 의미하고, W 는 알파 채널의 적용 유무(ON or OFF)를 의미하며 알파 채널이 적용되어 있는 이미지 포맷인 경우에만 적용될 수 있다.
또한, 수학식1로 정의된 비선형 전달 함수에서
Figure 112019024147181-pat00016
의 값을 특정한 범위 값으로 한정함으로써 계산된 변환 값이 각 픽셀의 하위 비트(Leat Significant Bit)가 1~4 비트 이하에서만 변화되도록 제한할 수 있다. 여기서, 제한된 범위의 값으로 변환될 경우, 육안으로 구분하기 어려울 정도로 원본 및 분리 이미지 파일과 거의 유사한 품질을 유지시킬 수 있고, 악성코드가 삽입되어 있거나 유출 정보를 은닉시킨 경우에도 그 속성값이 변하게 되어 무력화되는 결과를 가질 수 있다.
예를 들어, 도 6에서 도시한 바와 같이 원본 및 분리 이미지 파일의 한 픽셀 [RGB]in의 값이 (205, 107, 66)일 때 상기 수학식1의 비선형 전달 함수를 통해 변환된 픽셀 [RGB]out의 값은 (212, 110, 68)으로 계산된다. 여기서, 원본 및 분리 이미지 파일의 픽셀 값에 해당하는 색상과 변환 이미지의 픽셀값에 해당하는 색상을 육안으로 비교해 보면 거의 구분할 수 없을 정도에서 변환되었음을 알 수 있다.
상기 이미지 파일 변환부(130)는 원본 이미지 파일을 이미지 헤더 정보 영역과, 이미지 부가 정보 영역을 변환한 후, 이미지 데이터 영역을 변환하였다면, 변환을 종료할 수 있다.
한편, 이미지 파일 변환부(130)에서는 애니메이션 이미지 포맷인 경우에 모든 분리 이미지 파일의 변환이 끝났는지 확인(S35)하고, 아직 변환할 분리 이미지 파일이 남아 있다면 다음 분리 이미지 파일을 대상으로 이미지 헤더 및 부가 정보 변환 단계(S33)와 이미지 데이터 영역 변환 단계(S34)를 이미지별로 순차적으로 반복할 수 있다.
또한 이미지 파일 변환부(130)는 애니메이션 이미지 포맷의 모든 분리 이미지 파일의 변환이 끝난 경우에는 애니메이션 이미지 포맷에 해당하는 분리 이미지 파일들의 변환 이미지 파일들을 원본 이미지 포맷과 동일한 하나의 이미지 포맷으로 재조립하여 완료(S36)할 수 있다.
도 7 및 도 8을 참조하면, 본 발명의 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법을 통해 수행된 이미지 파일에 삽입된 악성코드나 은닉 정보가 무력화되는 모의실험 결과이다. 이하에서는, 도 7과 도 8을 참조하여 본 발명에 따른 악성코드 이미지 파일 또는 은닉 정보 이미지 파일을 무력화하는 모의실험한 과정과 그 결과를 상세히 설명하고자 한다.
도 7은 GIF 포맷의 이미지 파일에 악성코드가 삽입되어 있는 경우에 대해서 본 발명의 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법을 이용한 이미지 변환 과정을 통해 JPEG 포맷의 이미지 파일로 변환하여 악성코드가 무력화되는지 모의실험 한 결과이다. 여기서, 도 7은 GIF 포맷의 악성코드를 포함하는 원본 이미지 파일을 VT 서비스에서 확인한 결과로 악성코드가 삽입되어 있음을 알 수 있고, 본 발명의 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법을 통해 변환된 변환 이미지 파일을 다시 확인한 결과를 통해 악성코드의 특성이 없어져 무력화되었다고 판단할 수 있다.
또한, 도 8은 도 2에 도시된 제2불량 이미지 파일 포맷 구조(c)와 제3불량 이미지 파일 포맷 구조(d)와 같이 스테가노그래피 도구를 이용하여 악성코드 파일을 정상 이미지 구조인 JPG 포맷에 은닉시킨 BMP 포맷의 악성코드 이미지 파일에 대해서 본 발명에 따른 이미지 변환 과정을 통해 JPG 포맷의 이미지 파일로 변환하여 악성코드가 무력화되는지 모의실험 한 결과이다. 여기서, 원본 이미지 파일은 스테가노그래피 OpenStego 도구를 이용하여 숨길 메시지 파일로 PE 포맷의 악성코드 파일을 선택하고, 커버 파일로 JPG 포맷의 정상 이미지 파일을 선택하여 그 결과로 상기 악성코드가 은닉된 BMP 포맷의 악성코드 이미지 파일을 생성하였다. 또한, BMP 포맷의 악성코드 이미지 파일을 VT 서비스에서 확인한 결과에서 악성코드가 탐지되지 않았다고 분석되었지만, 상기 OpenStego 도구를 이용하면 정상적으로 PE 포맷의 악성코드를 다시 복원시킬 수 있다. 한편, 본 발명의 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법을 통해 변환한 변환 이미지 파일을 다시 확인한 결과를 통해 상기의 OpenStego 도구를 이용하더라도 악성 코드가 복원되지 않고 실패 메시지가 출력되어서 무력화되었다고 판단할 수 있다.
이상에서 설명한 것은 본 발명에 의한 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법를 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
100:이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치
110: 이미지 파일 추출부 120: 이미지 파일 포맷 분석부
130: 이미지 파일 변환부 140: 변환 이미지 파일 관리부

Claims (20)

  1. 파일 유입 경로를 통해 유입된 원본 이미지 파일의 포맷 구조가 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역으로 이루어진 정상적인 구조인지 여부를 확인하는 이미지 파일 포맷 분석부; 및
    상기 이미지 파일 포맷 분석부와 전기적으로 연결되어, 상기 이미지 파일 포맷 분석부에서 정상적인 구조의 원본 이미지 파일을 전달 받아 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역 각각을 순차적으로 변환하여 변환 이미지 파일을 생성하는 이미지 파일 변환부를 포함하고,
    상기 이미지 데이터 영역을 변환하기 위한 비선형 전달 함수는
    Figure 112020503129398-pat00035

    이며,
    Figure 112020503129398-pat00036
    는 비선형 전달 함수의 특성을 갖게 하는 특정 범위값(0.950<
    Figure 112020503129398-pat00037
    <0.995 or 1.005<
    Figure 112020503129398-pat00038
    <1.050)이고, W 는 알파 채널의 적용 유무(ON or OFF)인 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치.
  2. 제 1 항에 있어서,
    상기 파일 유입 경로를 통해 유입된 파일이 문서 파일일 경우, 상기 문서 파일에 포함된 이미지 파일을 추출하여 상기 이미지 파일 포맷 분석부로 제공하는 이미지 파일 추출부를 더 포함하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치.
  3. 제 1 항에 있어서,
    상기 이미지 파일 변환부와 전기적으로 연결되어, 상기 이미지 파일 변환부에서 변환된 상기 변환 이미지 파일과, 상기 변환 이미지 파일의 원본 이미지인 원본 이미지 파일의 해쉬값을 함께 저장하는 저장소를 포함한 변환 이미지 파일 관리부를 더 포함하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치.
  4. 제 3 항에 있어서,
    상기 이미지 파일 변환부는 상기 이미지 파일 포맷 분석부로부터 전달받은 원본 이미지 파일의 해쉬값을 계산하고, 상기 변환 이미지 파일 관리부에서 상기 원본 이미지 파일의 해쉬값 정보와 동일한 이미지 파일의 해쉬값과 그에 해당하는 변환 이미지 파일이 저장되어 있는지 확인 및 제공받는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치.
  5. 제 3 항에 있어서,
    상기 변환 이미지 파일 관리부는 저장된 원본 이미지 파일의 해쉬값과 그에 해당하는 변환 이미지 파일을 생성 시간을 시점으로 일정 시간동안만 보관 후, 삭제하여 주기적으로 갱신하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치.
  6. 제 1 항에 있어서,
    상기 이미지 파일 변환부는
    상기 이미지 헤더 정보를 상기 원본 이미지 파일에 해당하는 식별 시그니처를 변환될 이미지 포맷의 식별 시그니처로 바꿈으로써 변환하고,
    상기 이미지 부가 정보를 악성코드 스크립트에서 자주 사용되는 특정 스트링을 필터링(html, head, script 등)하여 변환하고,
    상기 이미지 데이터 영역을 비선형 전달 함수를 이용하여 변환하여, 변환 이미지 파일로 변환하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 이미지 파일 변환부는 상기 이미지 데이터 영역을 변환하기 위한 비선형 전달 함수에서
    Figure 112020066869562-pat00021
    의 값을 특정한 범위 값으로 한정함으로써 변환 값이 각 픽셀의 하위 비트(Leat Significant Bit)가 1~4 비트 이하에서만 변화시키는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치.
  9. 제 1 항에 있어서,
    상기 이미지 파일 포맷 분석부는 상기 원본 이미지 파일이 애니메이션 이미지 포맷인지 여부를 더 확인하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치.
  10. 제 8 항에 있어서,
    상기 이미지 파일 변환부는 상기 파일 포맷 분석부로부터 애니메이션 이미지 포맷을 전달 받으면, 애니메이션 이미지 파일을 애니메이션 개수만큼 동일 포맷의 분리 이미지 파일로 분리한 후, 복수의 분리 이미지 파일 각각을 변환하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치.
  11. 파일 유입 경로를 통해 유입된 원본 이미지 파일의 포맷 구조가 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역으로 이루어진 정상적인 구조인지 여부를 확인하는 이미지 파일 포맷 분석부에서 확인 하는 이미지 파일 포맷 구조 분석 단계; 및
    상기 이미지 파일 포맷 분석부로부터 정상적인 구조의 원본 이미지 파일을 이미지 파일 변환부에서 전달 받아, 이미지 헤더 정보, 이미지 부가 정보 및 이미지 데이터 영역 각각을 순차적으로 변환하여 변환 이미지 파일을 생성하는 이미지 파일 변환 단계를 포함하되,
    상기 이미지 데이터 영역을 변환하기 위한 비선형 전달 함수는
    Figure 112020503129398-pat00039

    이며,
    Figure 112020503129398-pat00040
    는 비선형 전달 함수의 특성을 갖게 하는 특정 범위값(0.950<
    Figure 112020503129398-pat00041
    <0.995 or 1.005<
    Figure 112020503129398-pat00042
    <1.050)이고, W는 알파 채널의 적용 유무(ON or OFF)인 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치의 구동 방법.
  12. 제 11 항에 있어서,
    상기 이미지 파일 포맷 구조 분석 단계 이전에,
    상기 파일 유입 경로를 통해 유입된 파일이 문서 파일일 경우, 이미지 파일 추출부가 상기 문서 파일에 포함된 이미지 파일을 추출하여 상기 이미지 파일 포맷 분석부로 제공하는 원본 이미지 파일 추출 단계를 더 포함하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치의 구동 방법.
  13. 제 11 항에 있어서,
    상기 이미지 파일 변환 단계 이전에,
    상기 이미지 파일 변환부에서 상기 이미지 파일 포맷 분석부로부터 전달받은 원본 이미지 파일의 해쉬값을 계산하는 단계와,
    상기 변환 이미지 파일 관리부의 저장소에 상기 원본 이미지 파일의 해쉬값 정보와 동일한 이미지 파일의 해쉬값과 그에 해당하는 변환 이미지 파일이 저장되어 있는지 확인하는 단계를 더 포함하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치의 구동방법.
  14. 제 11 항에 있어서,
    상기 이미지 파일 변환 단계 이후에,
    상기 이미지 파일 변환부에서 변환된 상기 변환 이미지 파일과, 상기 변환 이미지 파일의 원본 이미지인 원본 이미지 파일의 해쉬값을 함께 저장하는 상기 변환 이미지 파일 관리부에서 저장된 원본 이미지 파일의 해쉬값과 그에 해당하는 변환 이미지 파일을 생성 시간을 시점으로 일정 시간동안만 보관 후, 삭제하여 주기적으로 갱신하는 이미지 파일 저장 및 주기적 갱신 단계를 더 포함하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치의 구동 방법.
  15. 제 11 항에 있어서,
    상기 이미지 파일 포맷 구조 분석 단계에서는
    상기 이미지 파일 포맷 분석부에서 원본 이미지 파일의 포맷 구조가 정상적인 구조가 아닌 것으로 판단할 경우, 상기 이미지 파일 포맷 분석부는 지정된 임의의 파일을 파일 유출 경로를 통해 제공하여 변환이 실패된 이미지임을 알리는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치의 구동 방법.
  16. 제 11 항에 있어서,
    상기 이미지 파일 변환 단계는
    상기 이미지 파일 변환부에서 상기 이미지 헤더 정보를 상기 원본 이미지 파일에 해당하는 식별 시그니처를 변환될 이미지 포맷의 식별 시그니처로 바꿈으로써 변환하는 헤더 정보 변환 단계;
    상기 이미지 부가 정보를 악성코드 스크립트에서 자주 사용되는 특정 스트링을 필터링(html, head, script 등)하여 변환하는 부가 정보 변환 단계; 및
    상기 이미지 데이터 영역을 비선형 전달 함수를 이용하여 변환 하여, 변환 이미지 파일로 변환하는 데이터 변환 단계를 포함하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치의 구동 방법.
  17. 제 16 항에 있어서,
    상기 이미지 파일 변환 단계에서,
    상기 헤더 정보 변환 단계 이전에
    상기 이미지 파일 포맷 분석부에서 원본 이미지 파일이 애니메이션 이미지 포맷인지 확인 단계; 및
    상기 이미지 파일 변환부에서 상기 파일 포맷 분석부로부터 애니메이션 이미지 포맷을 전달 받으면, 애니메이션 이미지 파일을 애니메이션 개수만큼 동일 포맷의 분리 이미지 파일로 분리하는 단계를 더 포함하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치의 구동방법.
  18. 제 17 항에 있어서,
    상기 이미지 파일 변환 단계에서,
    상기 데이터 변환 단계 이후에는
    상기 이미지 파일 변환부에서 원본 이미지 파일이 애니메이션 이미지 포맷인 경우에 모든 분리 이미지 파일의 변환이 끝났는지 확인하는 단계; 및
    상기 이미지 파일 변환부에서 모든 분리 이미지 파일 변환이 완료된 경우 애니메이션 이미지 포맷에 해당하는 분리 이미지 파일들의 변환 이미지 파일들을 원본 이미지 포맷과 동일한 하나의 이미지 포맷으로 재조립하는 단계를 더 포함하는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치의 구동방법.
  19. 삭제
  20. 제 16 항에 있어서,
    상기 이미지 데이터 영역을 변환하기 위한 비선형 전달 함수에서
    Figure 112020066869562-pat00026
    의 값을 특정한 범위 값으로 한정함으로써 변환 값이 각 픽셀의 하위 비트(Leat Significant Bit)가 1~4 비트 이하에서만 변화시키는 것을 특징으로 하는 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치의 구동방법.
KR1020190027003A 2019-03-08 2019-03-08 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법 KR102188396B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190027003A KR102188396B1 (ko) 2019-03-08 2019-03-08 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190027003A KR102188396B1 (ko) 2019-03-08 2019-03-08 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법

Publications (2)

Publication Number Publication Date
KR20200107612A KR20200107612A (ko) 2020-09-16
KR102188396B1 true KR102188396B1 (ko) 2020-12-08

Family

ID=72670143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190027003A KR102188396B1 (ko) 2019-03-08 2019-03-08 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법

Country Status (1)

Country Link
KR (1) KR102188396B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102262688B1 (ko) * 2020-10-29 2021-06-09 (주)지란지교시큐리티 멀티미디어 파일 보안을 위한 기록매체
WO2023229062A1 (ko) * 2022-05-25 2023-11-30 시큐레터 주식회사 Ms-ooxml에서 ole object 무해화를 위한 방법 및 장치
KR102574832B1 (ko) * 2022-11-01 2023-09-06 (주)지란지교시큐리티 이미지 파일의 안티스테가노그래피 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100722711B1 (ko) * 1999-04-15 2007-06-04 소니 가부시끼 가이샤 촬상 장치 및 신호 처리 방법
KR100889026B1 (ko) * 2008-07-22 2009-03-17 김정태 이미지를 이용한 검색 시스템
KR101670456B1 (ko) * 2015-03-20 2016-10-28 소프트캠프(주) 문서 보안시스템 및 문서 보안방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101865785B1 (ko) 2015-03-20 2018-07-04 소프트캠프(주) 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100722711B1 (ko) * 1999-04-15 2007-06-04 소니 가부시끼 가이샤 촬상 장치 및 신호 처리 방법
KR100889026B1 (ko) * 2008-07-22 2009-03-17 김정태 이미지를 이용한 검색 시스템
KR101670456B1 (ko) * 2015-03-20 2016-10-28 소프트캠프(주) 문서 보안시스템 및 문서 보안방법

Also Published As

Publication number Publication date
KR20200107612A (ko) 2020-09-16

Similar Documents

Publication Publication Date Title
KR102188396B1 (ko) 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법
US10713391B2 (en) Tamper protection and video source identification for video processing pipeline
US9104872B2 (en) Memory whitelisting
KR101860546B1 (ko) 파일 내 포함된 콘텐츠 무력화 장치 및 방법, 그 기록매체
TW201812634A (zh) 威脅情報雲
EP3537319A1 (en) Tamper protection and video source identification for video processing pipeline
US9246933B1 (en) Systems and methods for detecting malicious email attachments
Müller et al. Processing dangerous paths
CN111083307A (zh) 一种基于隐写术的文件检测和破解方法
US11580248B2 (en) Data loss prevention
Dubin Content disarm and reconstruction of rtf files a zero file trust methodology
Dubin Content disarm and reconstruction of PDF files
KR101473726B1 (ko) 쉘코드 은닉 및 침입 탐지 장치 및 그 방법
CN111881446A (zh) 一种工业互联网恶意代码识别方法及装置
Gennissen et al. Gamut: sifting through images to detect android malware
Pevný et al. Malicons: Detecting payload in favicons
Verma et al. Detecting stegomalware: malicious image steganography and its intrusion in windows
CN113553586B (zh) 病毒检测方法、模型训练方法、装置、设备及存储介质
Pelosi et al. Positive identification of lsb image steganography using cover image comparisons
CN106487771B (zh) 网络行为的获取方法及装置
Pelosi et al. Identification of LSB image steganography using cover image comparisons
Chapman {SAD}{THUG}: Structural Anomaly Detection for Transmissions of High-value Information Using Graphics
WO2020105308A1 (ja) フィッシングサイト検知装置、フィッシングサイト検知方法、および、フィッシングサイト検知プログラム
Steinebach et al. Privacy and Robust Hashes Privacy-Preserving Forensics for Image Re-Identification.
KR101642252B1 (ko) 이미지 리소스 파일을 이용한 모바일 응용 프로그램 위변조 탐지 장치 및 그 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant