KR101865785B1 - 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법 - Google Patents

문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법 Download PDF

Info

Publication number
KR101865785B1
KR101865785B1 KR1020150038980A KR20150038980A KR101865785B1 KR 101865785 B1 KR101865785 B1 KR 101865785B1 KR 1020150038980 A KR1020150038980 A KR 1020150038980A KR 20150038980 A KR20150038980 A KR 20150038980A KR 101865785 B1 KR101865785 B1 KR 101865785B1
Authority
KR
South Korea
Prior art keywords
document
file
vulnerability
format
document file
Prior art date
Application number
KR1020150038980A
Other languages
English (en)
Other versions
KR20160112737A (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 KR1020150038980A priority Critical patent/KR101865785B1/ko
Publication of KR20160112737A publication Critical patent/KR20160112737A/ko
Application granted granted Critical
Publication of KR101865785B1 publication Critical patent/KR101865785B1/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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Landscapes

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

Abstract

문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법에 관한 것으로, 본 발명에 따른 문서 검증 및 변환을 통한 문서 보안시스템은, 문서파일의 포맷을 검증하는 포맷 검증 단계; 및, 상기 포맷 검증 단계를 거친 결과를 가지고 상기 문서파일의 이상 여부를 판단하는 문서 취약성 판단 단계;를 포함하는 것을 특징으로 한다.
이에 의하여, 악성코드에 대한 별도의 패턴 DB를 필요로 하지 않고, 컴퓨터 백신으로도 잡아낼 수 없는 오류 취약점을 가진 문서파일에 대해서도 문서 취약성 여부를 알아내도록 할 수 있다.

Description

문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법 {document security system and security method through verifying and converting document file}
본 발명은 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법에 관한 것으로, 더욱 상세하게는 컴퓨터 문서파일의 실행 여부와 상관없이 문서파일의 오류 취약점을 알아내고 이를 분석할 수 있는 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법에 관한 것이다.
각종 문서파일을 비롯한 데이터를 운영하고 관리하는 컴퓨터 또는 모바일 단말기 등의 데이터 프로세싱 시스템(이하 '단말기')과, 이들의 상호 통신을 매개하는 인터넷과 같은 통신 네트워크가 발달하면서, 수많은 문서파일이 이메일, 단말기 간의 통신은 물론 USB 메모리, CD/DVD 등과 같은 이동식 저장매체를 통해 전달되고 있다.
한편, 문서파일들 중에는 컴퓨터 시스템에 해악을 끼치는 바이러스, 스파이웨어, 애드웨어, 해킹툴 등의 악성코드가 포함될 수 있다.
이러한 악성코드를 가진 문서파일은 종래의 백신을 통해 통제가 이뤄지도록 하고 있다.
한편, 보안시스템의 일 예가 대한민국 특허공개번호 제10-2010-0067383호(2010년06월21일자 등록, 이하 '특허문헌 1'이라 함) 등에 개시되어 있다.
그러나, 백신은 시그니처(signature) 방식이기 때문에 악성코드 자체 또는 악성코드를 포함한 문서파일의 정보(예컨대, hash 정보 등)를 기준으로 문서파일을 보안처리하게 되므로 제로데이(zeroday) 등과 같은 알려지지 않은 오류 취약점들을 가진 문서파일에 대해서는 보안처리가 되지 않을 수 있다는 문제점이 있다.
예컨대, 문서파일을 직접 열어서 실행하기 전까지는 그 취약점이 잘 드러나지 않는다는 점과 문서파일 내부에 취약점을 가진 컨텐츠(contents)가 포함되어 있는 경우에는 취약성에 대한 패턴화가 더욱 어려워질 수 있기 때문에 이러한 문서파일들로 인하여 시스템이 오염되거나 외부로부터의 공격에 쉽게 노출될 수 있다는 문제점이 있다.
대한민국 특허공개번호 제10-2010-0067383호(2010년06월21일자 등록)
본 발명의 목적은, 악성코드에 대한 별도의 패턴 DB를 필요로 하지 않고, 컴퓨터 백신으로도 잡아낼 수 없는 오류 취약점을 가진 문서파일에 대해서도 취약성 여부를 알아낼 수 있는 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법을 제공하는 것이다.
또한, 외부에서 유입되거나 사용자 PC나 USB, 파일 서버 등에 이미 존재하지만 안전성 여부를 알 수 없는 문서파일이 어떠한 취약점을 포함하고 있는지를 미리 판단하여 시스템의 위험을 사전에 예방할 수 있는 문서 보안시스템 및 문서 보안방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명에 따른 문서 검증 및 변환을 통한 문서 보안방법은: 문서파일의 포맷을 검증하는 포맷 검증 단계; 및, 상기 포맷 검증 단계를 거친 결과를 가지고 상기 문서파일의 이상 여부를 판단하는 문서 취약성 판단 단계;를 포함하는 것을 특징으로 한다.
여기서, 본 발명에 따른 문서 검증 및 변환을 통한 문서 보안방법은 상기 포맷 검증 단계와 상기 문서 취약성 판단 단계의 사이에 상기 문서파일의 파일 형식을 적어도 하나 이상의 다른 파일 형식으로 변환하는 파일 변환 단계를 더 포함하는 것이 바람직하다.
본 발명에 따른 문서 검증 및 변환을 통한 문서 보안방법은 상기 문서 취약성 판단 단계에서 상기 문서파일에 이상이 있는 것으로 판단되면 상기 문서 취약성 판단 단계를 거쳐 생성된 취약점 분석 데이터를 별도로 분류 및 저장하는 취약성 지식 베이스 구축 단계를 더 포함하는 것이 바람직하다.
본 발명에 따른 문서 검증 및 변환을 통한 문서 보안방법은 상기 문서 취약성 판단 단계에서 상기 문서파일에 이상이 있는 경우 보안정책에 따라 상기 문서파일에 대하여 로그 전송, 격리, 방역 및 삭제 중 적어도 어느 하나를 수행하는 보안 처리 단계를 더 포함하는 것이 바람직하다.
그리고, 상기 포맷 검증 단계는, 상기 문서파일의 확장자별 포맷 구조를 기준 포맷 구조에 대하여 확인하는 포맷 구조 확인단계와, 상기 포맷 구조 확인단계를 통과한 문서파일의 확장자별 상세 자료구조를 기준 상세 자료구조와 비교하여 분석하는 상세 자료구조 분석단계를 포함하는 것이 바람직하다.
한편, 상기 목적을 달성하기 위해 본 발명에 따른 문서 검증 및 변환을 통한 문서 보안시스템은: 문서파일이 다운로드 되는 단말기에 구비되며, 다운로드 되거나 미리 저장된 문서파일에 대하여 상기 문서파일의 포맷을 검증하는 포맷 검증 모듈이 구비된 파일 분석 수단; 및, 상기 파일 분석 수단에서 수행된 파일 분석 결과에 따라 상기 문서파일의 이상 여부를 판단하는 문서 취약성 판단 수단;을 포함하는 것을 특징으로 한다.
여기서, 상기 파일 분석 수단은 상기 포맷 검증 모듈에서 포맷 검증이 완료된 문서파일의 파일 형식을 각각 다른 파일 형식으로 변환하는 적어도 하나 이상의 파일 변환 모듈을 포함하는 것이 바람직하다.
그리고, 본 발명에 따른 문서 검증 및 변환을 통한 문서 보안시스템은, 상기 문서 취약성 판단 수단에서의 판단 결과에 따라 문서파일에 이상이 있는 것으로 판단되면 상기 파일 분석 수단 및 상기 문서 취약성 판단 수단에서 얻어진 취약점 분석 데이터가 별도로 분류 및 저장되도록 구비된 취약성 지식 베이스와, 상기 문서 취약성 판단 수단을 거친 취약점 분석 데이터를 상기 취약성 지식 베이스에 미리 축적된 취약점 분석 데이터들과 비교 분석하여 상기 문서파일의 취약점에 관한 결과 보고 데이터를 생성하는 취약점 분석모듈을 더 포함하는 것이 바람직하다.
본 발명에 따르면, 악성코드에 대한 별도의 패턴 DB를 필요로 하지 않고, 컴퓨터 백신으로도 잡아낼 수 없는 오류 취약점을 가진 문서파일에 대해서도 문서 취약성 여부를 알아낼 수 있다.
또한, 파일 분석 및 변환을 통하여 취약점이 있는 취약성 파일은 격리나 삭제 등의 보안처리를 함으로써 안전한 문서 공유 환경을 지원하도록 할 수 있다.
아울러, USB, 이메일, 인터넷 등을 통해 외부에서 유입되거나 시스템(예컨대, 사용자 PC, 파일 서버 등의) 안전성 여부를 알 수 없는 문서파일이 어떠한 취약점을 포함하고 있는지를 미리 판단하여 시스템의 위험을 사전에 예방할 수 있다.
나아가, 알려진 취약점 파일을 기반으로 파일 분석을 통하여 지식 베이스를 구축하고, 지속적으로 갱신되도록 함으로써, 지금까지의 컴퓨터 백신으로 통제될 수 있는 알려진 악성코드 및 문서파일에만 초점을 맞춘 방역의 범위를 컴퓨터 백신으로도 잡아낼 수 없는 오류 취약점을 가진 문서파일로까지 확대되도록 할 수 있고, 새로이 유입되거나 안정성을 알 수 없는 문서파일에 대해서도 어떠한 취약점을 가진 문서인지를 예측할 수 있다.
도 1은 본 발명에 따른 문서 검증 및 변환을 통한 문서 보안시스템의 블록도,
도 2는 도 1의 또 다른 실시예를 도시한 블록도,
도 3은 본 발명에 따른 문서 검증 및 변환을 통한 문서 보안방법의 플로차트,
도 4는 도 3의 포맷 검증 단계의 세부 단계를 도시한 플로차트,
도 5는 도 3의 또 다른 실시예를 도시한 플로차트,
도 6은 일반적인 문서파일의 포맷 기본 구조의 일 예를 나타낸 도면,
도 7은 확장자가 .hwp 또는 .doc 인 문서파일의 포맷 구조의 일 예를 나타낸 도면,
도 8은 도 6 또는 도 7의 문서 본문 구조에서 데이터 헤더에 압축된 원본 데이터 크기와 목표 데이터에 압축이 풀린 데이터 크기를 비교하는 일 예를 나타낸 도면,
도 9는 확장자가 .JPEG인 이미지 문서파일의 포맷 구조의 일 예를 나타낸 도면이다.
이하에서는 첨부된 도면을 참조하여 본 발명에 대해 상세히 설명한다.
본 발명에 따른 문서 검증 및 변환을 통한 문서 보안시스템은, 도 1에 도시된 바와 같이, 문서파일(1,5)이 다운로드 되는 단말기(100)에 구비되며 다운로드 되거나 미리 저장된 문서파일(1,5)이 단말기(100)로 다운로드 되거나 단말기(100)에서 실행(오픈)되기 전, 또는 사용자 및 관리자에 의하여 검사가 실행될 때에 문서파일(1,5)의 포맷을 검증하는 포맷 검증 모듈(format verifier)(111)이 구비된 파일 분석 수단(110)과, 마찬가지로 단말기(100)에 구비되어 파일 분석 수단(110)에 연결되며 파일 분석 수단(110)에서 수행된 파일 분석 결과에 따라 문서파일(1,5)의 이상 여부를 판단하는 문서 취약성 판단 수단(120)을 포함한다.
외부로부터 단말기(100)로 다운로드 되는 문서파일(1,5)은 외장하드, USB 메모리, CD/DVD, 스마트폰 등과 같은 이동식 저장매체와, ptp, ftp, 이메일 등의 통신수단을 비롯한 데이터유입수단(10)을 통해 단말기(100)의 드라이브(101)로 저장된다.
데이터유입수단(10)을 통해 드라이브(101)로 다운로드 되거나 드라이브(101)에 미리 저장된 문서파일(1,5)은 포맷 검증 모듈(111)에서 파일 포맷이 확인되고 분석되어 해당 문서파일이 오류 취약점을 포함하지 않고 있는 정상 문서파일(1)인지 아니면 비정상적인 파일 구조의 취약점을 포함하고 있는 취약성 문서파일(5)인 지의 여부가 포맷 검증 모듈(111)에 의해 검증되고, 포맷 검증 모듈(111)은 해당 문서파일이 취약성 문서파일(5)인 경우 해당 문서파일 내에 존재하는 취약점의 위치와 상세 내용, 원인 등의 검증 데이터를 문서 취약성 판단 수단(120)으로 전달한다.
즉, 포맷 검증 모듈(111)은 검증되는 문서파일의 자료 구조에 따라서 해당 문서파일에 비정상적인 자료 구조가 포함되어 있는지의 여부를 확인하고, 이를 통하여 문서파일의 내부에 숨겨진 컨텐츠의 자료 구조의 이상 여부를 확인한다.
이에 따라, 악성코드에 대한 별도의 패턴 DB를 필요로 하지 않게 됨으로써, 제로데이 등과 같이 컴퓨터 백신으로도 잡아낼 수 없는 오류 취약점을 가진 문서파일에 대해서도 문서 취약성 여부를 알아내도록 할 수 있다.
도 1에 도시된 바와 같이, 본 발명에 따른 포맷 검증 모듈(111)에는 문서파일의 확장자별(예컨대, hwp, doc, ppt, pdf, txt, bmp, gif, jpeg 등) 포맷 구조의 이미 알려진 기준 포맷 구조와 기준 상세 자료구조 등의 정보를 저장하고 갱신하는 기준 포맷 정보 DB(113)가 구비된다.
이에 따라, 도 4에 도시된 바와 같이, 포맷 검증 모듈(111)은 문서파일의 확장자별 포맷 구조를 기준 포맷 정보 DB(113)에 저장된 기준 포맷 구조와 비교하여 1차적으로 해당 문서파일의 파일명(예컨대, ***.hwp)의 확장자(예컨대, hwp)가 상호 일치되는 지의 여부를 확인하고나서 해당 문서파일의 확장자별 포맷의 상세 자료구조를 기준 포맷 정보 DB(113)에 저장된 기준 상세 자료구조와 비교하여 2차적으로 분석함으로써, 최종적으로 해당 문서파일에 이상이 없을 경우에만 문서 취약성 판단 수단(120)에 의해 문서파일의 사용(실행(오픈), 공유, 저장 유지 등)이 승인되도록 하고, 해당 문서파일에 이상이 있는 경우에는 보안정책에 따라 해당 문서파일에 대해 로그 전송, 격리 또는 삭제 등의 조치(보안 처리)가 취해질 수 있도록 할 수 있다.
기준 포맷 정보 DB(113)에 저장되고 갱신되는 알려진 취약점 파일 정보로서의 확장자별 포맷에 따른 기준 포맷 구조와 기준 상세 자료구조는 이미 대외적으로 공지된 것으로서, 다음의 <표 1>에 나와 있는 각 확장자별 자료 공지 웹 사이트에서 얻어질 수 있다.
확장자 명 웹사이트 주소
DOC http://msdn.microsoft.com/en-us/library/office/cc313153(v=office.12).aspx
JPEG http://www.opennet.ru/docs/formats/jpeg.txt
HWP http://www.hancom.com/forMatQna.boardIntro.do
<확장자별 포맷 구조 자료 출처-예시>
한편, 포맷 검증 모듈(111)에 의해 문서파일의 포맷이 검증되는 일 예가 다음의 <표 2>에 나와 있다.
파일명 확장자 확장자 포맷 포맷 유효성 검증 오류 위치 상세 내용
***.jpeg JPEG 일치 유효하지 않음 COM FIELD LENGTH COM FIELD가 양수의 값이어야 함.
양수가 아님
상기 <표 2>에 나타난 바와 같이, 포맷 검증 모듈(111)은 해당 문서파일의 파일명과 확장자가 상호 일치하는 지의 여부를 1차적으로 확인하여 해당 문서파일의 확장자별 기본 포맷 구조를 확인하고나서, 해당 문서파일의 확장자별 상세 자료구조를 기준 상세 자료구조와 비교하여 2차적으로 분석하게 된다. 상기 <표 2>의 경우에는 해당 문서파일의 파일명이 확장자인 'JPEG'와 일치하여 1차 확인 단계는 통과하였지만, 상세 자료구조가 확장자별 기준 상세 자료구조(상기 <표 1>에 나와 있는 'JPEG'의 포맷 구조 자료 출처로부터 획득된)와는 불일치(유효하지 않음)되어 해당 문서파일은 포맷 검증 모듈(111)에 의해 취약성 문서파일(5)로 분류된다.
즉, 포맷 검증 모듈(111)은 확장자별 데이터 파일 포맷 구조에 대한 기준 정보를 기반으로 해당 문서파일이 비정상적인 자료 구조를 가졌는지의 여부를 확인한다.
예를 들어, 문서파일은 확장자별 포맷에서 각 필드(FIELD)별로 유효한 범위를 갖고 있는데, 그 범위를 벗어나는 값을 해당 문서파일이 가진 것으로 포맷 검증 모듈(111)이 2차 분석 단계에서 확인하게 되면, 이는 해당 문서파일이 실행되는 과정에서 버퍼 오버플로우(buffer overflow) 등과 같은 문제를 일으킬 수 있는 취약성 문서파일(5)이기 때문에, 포맷 검증 모듈(111)은 해당 문서파일을 취약성 문서파일(5)로 분류하여 문서 취약성 판단 수단(120)으로 전달하게 된다.
좀더 구체적으로, 해당 문서파일이 HWP, MS-OFFICE 등의 파일 포맷을 갖는 경우, 포맷 검증 모듈(111)은 해당 문서파일의 헤더(header) 상에 데이터 크기(size)와 실제 데이터 크기가 동일한지 아니면 실제 데이터 크기가 지나치게 큰 수이거나 음수(-)인지의 여부와, 압축된 포맷일 경우 압축 전후의 비율이 정상적인 경우와 비교하여 지나치게 높은지(이는 Stack Overflow를 일으킬 불순한 의도로 동일한 데이터를 대량으로 집어넣은 경우에 해당한다)의 여부를 확인하여 악성코드의 가능성을 판단하고, 그 결과를 문서 취약성 판단 수단(120)으로 전달한다. 예를 들어, 해당 문서파일이 JPEG 파일 포맷을 갖는 경우, 포맷 검증 모듈(111)은 해당 문서파일의 COM FIELD 값이 음수(-)의 값이거나(기준 자료 구조상으로는 COM FIELD 값이 언제나 양수의 값이어야 함) DHT FIELD 값이 256을 초과한 경우(기준 자료 구조상으로는 DHT FIELD 값이 256 이하의 값이어야 함)에는 해당 문서파일을 버퍼 오버플로우를 발생시킬 수 있는 취약성 문서파일(5)로 분류하여 문서 취약성 판단 수단(120)으로 전달한다.
본 발명의 일실시예로서, 도 1 및 도 2에 도시된 바와 같이, 파일 분석 수단(110)은 포맷 검증 모듈(111)에서 포맷 검증이 완료된 문서파일(1,5)의 파일 형식을 각각 다른 파일 형식으로 변환하는 적어도 하나 이상의 파일 변환 모듈(file converter)(115)을 포함하는 것이 바람직하다.
파일 변환 모듈(115)은 문서파일(1,5)의 확장자를 다른 확장자로 변환하는 과정에서 파악되는 변환 성공 또는 변환 실패의 여부, 그리고 변환 실패에 따른 실패 사유(예컨대, 오류 코드의 형태), 실패 시점과 오류 위치 등의 결과 데이터를 산출하여 문서 취약성 판단 수단(120)에서 해당 문서파일을 취약성 문서파일(5)로 판단하여 보안 처리하도록 결과 데이터를 문서 취약성 판단 수단(120)으로 전달한다.
본 발명에 따른 파일 변환 모듈은, 도 2에 도시된 바와 같이, 복수 개가 상호 병렬 또는 직렬 방식으로 파일 분석 수단(110)에 구비될 수 있다.
예를 들어, 파일 변환 모듈(115)은 DOC 문서파일을 DOCX, HWP, XML, TXT 등의 확장자로 차례대로 변환하거나 동시에 일괄적으로 변환하는 과정에서, 변환이 실패할 경우 이를 문서의 취약성이 있다고 판단하여 이를 문서 취약성 판단 수단(120)에 알릴 수 있다.
좀더 구체적으로, 도 2에 도시된 바와 같이, 파일 변환 모듈은 확장자가 DOC인 문서파일을 확장자 DOCX로 변환하는 파일 변환 모듈 A(115a)와, 확장자 HWP로 변환하는 파일 변환 모듈 B(115b)와, 확장자 XML로 변환하는 파일 변환 모듈 C(115c)를 포함할 수 있으며, 그 밖에도 도시되지는 않았지만, 확장자 HTML로 변환하는 파일 변환 모듈 D와, 확장자 PDF로 변환하는 파일 변환 모듈 E를 더 포함할 수 있다.
파일 변환 모듈(115)에서 수행된 파일 변환 과정에서 문서파일(1,5)의 변환 실패가 발생되는 경우 파일 변환 모듈(115)은 오류 형태를 다음의 <표 3>에 나와 있는 형태의 코드값으로 산출하여 문서 취약성 판단 수단(120)에 전달할 수 있다. 또한, 파일 변환 과정에서 데이터 변환이 실패할 경우 해당 오류가 발생한 위치(예, 표, 그림 등)도 남겨 문서 취약점 판단 수단(120)에 전달할 수 있다.
오류 코드 오류 내용 오류 발생 위치
5 Access Denied -
9 Address Error -
13 Data Error Table
<변환 실패시 오류 결과 데이터의 일 예>
한편, 문서 취약성 판단 수단(120)에는 문서파일이 정상 문서파일(1)인 경우 해당 문서파일이 사용(실행 또는 공유, 저장 유지)되도록 허용하고, 문서파일이 실행되는 실행 프로그램(130)과, 문서파일이 취약성 문서파일(5)인 경우 해당 문서파일이 보안정책에 따라 로그 전송, 격리, 방역 또는 삭제되도록 하는 보안 처리 수단(140)이 구비된다.
실행 프로그램(130)은, 예를 들어, 워드 프로세서, 한글, 아크로뱃 등과 같은 소프트웨어나 애플리케이션, 그리고 기타 다양한 종류의 응용 프로그램이나 OS 프로그램 등이 포함될 수 있다. 한편, 문서 취약성 판단 수단(120)에서 문서파일이 정상인 것으로 판단되면 해당 문서파일은 실행 프로그램(130)으로 반드시 보내어질 필요는 없고, 저장이 유지되도록 하거나 다운로드가 허용되도록 하는 등의 문서 사용이 허용되기만 하면 충분하다.
보안 처리 수단(140)은, 취약성 문서파일(5)을 격리할 경우, 데이터유입수단(10)에 따라 전용 저장경로를 설정하는 저장경로 제어모듈과, 취약성 문서파일(5)의 격리공간을 저장디스크 또는 이동식 저장매체에 생성 및 삭제하고 이를 관리하는 격리공간 관리모듈을 포함할 수 있다.
이에 따라, 도 3 및 도 5에 도시된 바와 같이, 파일 분석 및 변환을 통하여 취약점이 있는 취약성 문서파일(5)은 보안 처리 수단(140)에 의해 격리나 삭제 등의 보안처리가 이뤄지도록 함으로써 안전한 문서 공유 환경을 지원하도록 할 수 있다.
또한, 본 발명에 따른 문서 검증 및 변환을 통한 문서 보안시스템은, 도 1 및 도 2에 도시된 바와 같이, 문서 취약성 판단 수단(120)에서의 판단 결과에 따라 문서파일(1,5)에 이상이 있는 것으로 판단되면 파일 분석 수단(110) 및 문서 취약성 판단 수단(120)에서 얻어진 취약점 분석 데이터가 별도로 분류 및 저장되도록 구비된 취약성 지식 베이스(150)와, 문서 취약성 판단 수단(120)을 거친 취약점 분석 데이터를 취약성 지식 베이스(150)에 미리 축적된 취약점 분석 데이터들과 비교 분석하여 문서파일의 취약점에 관한 결과 보고 데이터를 생성하는 취약점 분석모듈(160)을 더 포함하는 것이 바람직하다.
한편, 취약성 지식 베이스(150)에 저장되고 갱신되는 취약점 분석 데이터에는 취약성 문서파일(5)의 이상 오류 형태(예컨대, 코드의 형태로 분류된), 오류 위치 및 유입 출처 등이 포함될 수 있다.
예컨대, 취약점 분석모듈(160)은 문서 취약성 판단 수단(120)을 거친 취약점 분석 데이터를 취약성 지식 베이스(150)에 저장된 취약점 분석 데이터들과 비교하여 그 유사 정도(100이면 동일한 취약점으로 간주)를 기반으로 예상되는 취약점 정보(취약점 종류, 내용, 이름 등)를 취약점 링크 정보와 함께 포맷 검증 및 파일 변환 과정에서의 결과를 보고서의 형태로 출력하여 제공할 수 있다. 이때, 문서 취약성 판단 수단(120)을 거친 취약점 분석 데이터와 유사한 데이터의 기록이 취약성 지식 베이스(150)에 전혀 없는 경우, 취약점 분석모듈(160)은 해당 취약점 분석 데이터가 유효하지 않은 원인에 대한 취약성 분석을 통해 취약성 지식 베이스(150)의 데이터베이스를 업 데이트할 수도 있다.
이에 따라, 알려진 취약점 파일을 기반으로 파일 포맷 검증 및 파일 변환 결과를 취약성 지식 베이스(150)로 데이터베이스화함으로써, 향후 외부에서 유입되거나 내부의 안전성 여부를 알 수 없는 문서파일이 어떠한 취약점을 포함하고 있는지를 미리 판단하여 시스템의 위험을 사전에 예방할 수 있다.
또한, 알려진 취약점 파일을 기반으로 파일 분석을 통하여 취약성 지식 베이스(150)를 구축하고, 이 취약성 지식 베이스(150)가 지속적으로 갱신되도록 함으로써, 새로이 유입되거나 안정성을 알 수 없는 문서파일에 대해서도 어떠한 취약점을 가진 문서인지를 예측하도록 할 수 있다.
그리고, 해당 문서파일이 취약성 문서파일(5)인 경우, 취약점 분석모듈(160)에 의해 문서 취약성 판단 수단(120)을 거친 취약점 분석 데이터가 재활용되어 그에 대한 결과 보고서가 생성 및 출력되도록 할 수 있다.
이러한 구성에 의해, 본 발명에 따른 문서 검증 및 변환을 통한 문서 보안방법을 도 3 내지 도 5를 참조하여 설명하면 다음과 같다.
우선, 문서파일이 단말기(100)로 다운로드 될 때 또는 단말기(100)에 미리 저장된 문서파일(1,5)이 실행 또는 사용자 및 관리자에 의하여 검사가 실행될 때에 포맷 검증 모듈(111)은 문서파일(1,5)의 포맷을 검증한다(S100).
본 발명의 일실시예로서, 단계 100은, 도 4에 도시된 바와 같이, 문서파일(1,5)의 확장자별 포맷 구조를 기준 포맷 구조에 대하여 확인하는 포맷 구조 확인단계(S110)와, 포맷 구조 확인단계(S110)를 통과한 문서파일의 확장자별 상세 자료구조를 기준 상세 자료구조와 비교하여 분석하는 상세 자료구조 분석단계(S120)를 포함하는 것이 바람직하다.
참고로, 문서파일이 HWP, MS-OFFICE 등의 파일 포맷인 경우, 도 6에 도시된 바와 같이, 특수한 목적의 데이터 파일을 제외하고는 거의 모든 데이터 파일이 파일 내부에 데이터의 크기가 기록되어 있고, 해당 데이터 크기를 바탕으로 응용 프로그램에서 메모리를 읽어 프로그램의 목적에 맞게 데이터를 사용하도록 구성되어 있는데, 이러한 자료 구조는 데이터를 활용하는데 효율적이지만 파일 헤더가 손상될 경우에는 데이터의 유실 또는 오동작의 가능성 때문에 헤더의 무결성 및 데이터 크기에 대한 검증을 거칠 필요가 있다. 그러나, 이러한 검증이 제대로 수행되지 못하면 이를 보안 취약점이라고 하며 악성코드의 공격 대상이 되기도 한다. 따라서, 본 발명에 따른 포맷 검증 단계(S100)에 의해 이러한 문서파일의 헤더의 무결성 및 데이터 크기에 대한 검증이 확실하게 이뤄지도록 할 수 있다.
도 7은 확장자가 .hwp 또는 .doc 인 문서파일의 포맷 구조의 일 예를 나타낸 도면이고, 도 8은 도 6 또는 도 7의 문서 본문 구조에서 데이터 헤더에 압축된 원본 데이터 크기가 표시되는 일 예(도 8의 (a) 참고)와 목표 데이터에 압축이 풀린 데이터 크기를 비교하는 일 예(도 8의 (b) 참고)를 나타낸 도면이다.
도 8을 참고로 설명하면, 문서자료의 용량 효율화를 위해 대부분의 문서파일은 내부에 압축된 형태의 데이터를 포함하고 있고(도 8의 (a)에서 우측 부분), 헤더에는 압축된 데이터의 원본 크기가 기록되어 있어(도 8의 (a)에서 좌측 부분) 문서를 실행시킬 때에 메모리 상에 압축 데이터를 풀어서 편집할 수 있도록 되어 있다.
일반적으로 의미 있는 데이터를 압축할 때에 무손실 압축 알고리즘의 최고치는 최대 512배를 넘지 못한다. 따라서, 본 발명에 따른 포맷 검증 모듈(111)은 해당 문서파일의 데이터 압축비가 512를 넘는 경우 이를 악의적인 버퍼 오버플로우 공격을 일으킬 수 있는 오류 취약점을 포함하는 취약성 문서파일(5)로 간주할 수 있다(도 8의 (b) 참고). 즉, 포맷 검증 모듈(111)은 문서파일의 헤더 내에 압축된 원본 데이터 크기를 목표 데이터(object data) 상에 압축된 데이터 크기로 나누어 데이터 압축비를 산출하고, 그 압축비가 512 이상이면 해당 문서파일을 취약성 문서파일(5)로 간주할 수 있다.
이때, 데이터의 최대 압축비 512는 일 예로서, 확장자별 포맷의 기본 자료구조에 따라 데이터의 최대 압축비가 변경 및 조절될 수 있음은 물론이다.
한편, 도 9는 확장자가 .JPEG인 이미지 문서파일의 포맷 구조의 일 예를 나타낸 도면이다.
도 9를 참고로 설명하면, 정상적인 이미지 문서파일(1)인 경우라면 DHT의 데이터 길이(data length)는 256 이하의 값이어야 하지만, 그렇지 않고 256 초과의 값이 입력된 경우에는 버퍼 오버플로우를 발생시킬 수 있다. 그러나, 데이터 길이의 크기는 2byte로 2^16-1까지를 데이터 길이로 기록할 수 있다. 포맷 검증 모듈(111)은 이미 알려진 이러한 기준 파일 자료 구조를 기반으로 문서파일의 취약점을 사전에 파악할 수 있다.
또한, 도 9에서 정상적인 이미지 문서파일(1)인 경우라면 COM은 언제나 양수의 크기를 가져야 하나, 그 이외의 0 또는 마이너스의 크기를 가지면 GDI+ 취약점을 가진 환경에서는 메모리 할당을 잘못하여 버퍼 오버플로우를 발생시킬 수 있다. 따라서, 포맷 검증 모듈(111)은 이러한 경우에도 해당 문서파일을 취약성 문서파일(5)로 분류할 수 있다. 이때의 취약점 링크는 다음의 소스로부터 기준 포맷 정보 DB(113)가 획득하도록 할 수 있다.
취약점 링크: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0200
다음에, 단계 100 이후에 문서 취약성 판단 수단(120)은 단계 100을 거친 결과를 가지고 문서파일의 이상 여부를 판단한다(S300).
이때, 도 5에 도시된 바와 같이, 단계 100과 단계 300의 사이에서 파일 변환 모듈(115)은 문서파일의 파일 형식을 적어도 하나 이상의 다른 파일 형식으로 변환하여 문서파일의 취약성 여부를 검증할 수 있다(S200).
단계 300에서 문서파일에 이상이 없는 것으로 판단되면 문서 취약성 판단 수단(120)은 해당 문서파일의 사용(실행, 공유, 저장 유지 등)을 승인하고(S400), 단계 300에서 문서파일에 이상이 있는 것으로 판단되면 문서 취약성 판단 수단(120)은 문서 취약성 판단 단계(S300)를 거쳐 생성된 취약점 분석 데이터를 별도로 분류 및 저장하여 취약성 지식 베이스(150)를 구축한다(S600).
이때, 단계 300과 단계 600의 사이에서 보안 처리 수단(140)은 보안정책에 따라 취약성 문서파일(5)에 대하여 로그 전송, 격리, 방역 및 삭제 중 적어도 어느 하나의 조치를 취할 수 있다(S500). 그리고, 단계 500과 단계 600은 동시에 병렬적으로 수행될 수도 있다.
한편, 단계 600은 문서 취약성 판단 수단(120)을 거친 취약점 분석 데이터를 취약점 분석모듈(160)이 취약성 지식 베이스(150)에 미리 축적된 취약점 분석 데이터들과 비교 분석하여 취약성 문서파일(5)의 취약점에 관한 결과 보고 데이터를 생성하는 취약점 분석 및 결과 도출 단계를 포함할 수 있다.
이에 따라, 취약점 분석모듈(160)에 의해 포맷 검증 결과 및 파일 변환 결과, 그리고 기존의 취약점 유형 및 그에 대한 유사도 등의 데이터가 포함된 결과 보고서가 작성되어 출력되도록 할 수 있다.
이에, 본 발명에 따르면, 악성코드에 대한 별도의 패턴 DB를 필요로 하지 않게 됨으로써, 컴퓨터 백신으로도 잡아낼 수 없는 오류 취약점을 가진 문서파일에 대해서도 문서 취약성 여부를 알아내도록 할 수 있다.
상기에 의해 설명되고 첨부된 도면에서 그 기술적인 면이 기술되었으나, 본 발명의 기술적인 사상은 그 설명을 위한 것이고, 그 제한을 두는 것은 아니며 본 발명의 기술분야에서 통상의 기술적인 지식을 가진 자는 본 발명의 기술적인 사상을 이하 후술 될 특허청구범위에 기재된 기술영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100 : 단말기 110 : 파일 분석 수단
111 : 포맷 검증 모듈 115 : 파일 변환 모듈
120 : 문서 취약성 판단 수단 150 : 취약성 지식 베이스
160 : 취약점 분석모듈

Claims (8)

  1. 포맷 검증 모듈이 단말기에 다운로드 되는 문서파일 또는 다운로드 된 문서파일의 확장자 포맷 구조를 상기 확장자의 기준 포맷 구조와 비교해서, 상기 포맷 구조가 서로 일치하지를 확인하는 포맷 구조 확인단계; 상기 포맷 구조 확인단계에서 포맷 구조가 일치한 것으로 확인되면, 상기 포맷 검증 모듈은 문서파일의 포맷 구조에 지정된 값들이 기준 포맷 구조에 지정된 값의 유효범위를 벗어났는지를 확인하는 상세 자료구조 분석단계;를 구성한 포맷 검증 단계,
    파일 변환 모듈이 상기 포맷 검증 단계에서 확인된 문서파일의 확장자를 적어도 하나 이상의 다른 확장자로 변환하는 파일 변환 단계, 및
    문서 취약성 판단 수단이 상기 포맷 검증 단계 및 파일 변환 단계에서 확인된 결과에 따라 상기 문서파일의 이상 여부를 판단하는 문서 취약성 판단 단계
    를 포함하는 것을 특징으로 하는 문서 검증 및 변환을 통한 문서 보안방법.
  2. 삭제
  3. 제 1 항에 있어서,
    취약성 지식 베이스가 파일 분석 수단과 문서 취약성 판단 수단에서 얻어진 취약점 분석 데이터를 분류해 저장하는 취약성 지식 베이스 구축 단계;
    취약점 분석모듈이 상기 취약성 판단 수단의 취약점 분석 데이터를 취약성 지식 베이스에 축적된 취약점 분석 데이터들과 비교해 분석하여 문서파일의 취약점에 관한 결과 보고 데이터를 생성하는 취약점 분석 및 결과 도출 단계;
    를 더 포함하는 것을 특징으로 하는 문서 검증 및 변환을 통한 문서 보안방법.
  4. 제 1 항에 있어서,
    상기 문서 취약성 판단 단계에서 상기 문서파일에 이상이 있는 경우, 보안 처리수단이 보안정책에 따라 상기 문서파일에 대하여 로그 전송, 격리, 방역 및 삭제 중 적어도 어느 하나를 수행하는 보안 처리 단계를 더 포함하는 것을 특징으로 하는 문서 검증 및 변환을 통한 문서 보안방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
KR1020150038980A 2015-03-20 2015-03-20 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법 KR101865785B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150038980A KR101865785B1 (ko) 2015-03-20 2015-03-20 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150038980A KR101865785B1 (ko) 2015-03-20 2015-03-20 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법

Publications (2)

Publication Number Publication Date
KR20160112737A KR20160112737A (ko) 2016-09-28
KR101865785B1 true KR101865785B1 (ko) 2018-07-04

Family

ID=57101877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150038980A KR101865785B1 (ko) 2015-03-20 2015-03-20 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법

Country Status (1)

Country Link
KR (1) KR101865785B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200107612A (ko) 2019-03-08 2020-09-16 신한금융투자 주식회사 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102196574B1 (ko) * 2019-06-11 2020-12-30 대한민국 블록체인을 활용한 매출 정보관리시스템 및 블록체인을 활용한 매출 정보관리방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100067383A (ko) 2008-12-11 2010-06-21 주식회사 티맥스 소프트 서버 보안 시스템 및 서버 보안 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200107612A (ko) 2019-03-08 2020-09-16 신한금융투자 주식회사 이미지 파일에 포함된 악성코드와 은닉 정보를 무력화하기 위한 장치 및 그의 구동 방법

Also Published As

Publication number Publication date
KR20160112737A (ko) 2016-09-28

Similar Documents

Publication Publication Date Title
US11609994B2 (en) File sanitization technologies
US8356354B2 (en) Silent-mode signature testing in anti-malware processing
US8732825B2 (en) Intelligent hashes for centralized malware detection
CA2491114C (en) Detection of code-free files
US7640589B1 (en) Detection and minimization of false positives in anti-malware processing
CN106557697B (zh) 生成杀毒记录集合的系统和方法
JP6374631B1 (ja) リスクを管理するための、ポリシ管理の複数段階の使用
CN104680064A (zh) 利用文件指纹来优化文件的病毒扫描的方法和系统
RU2726878C1 (ru) Способ ускорения полной антивирусной проверки файлов на мобильном устройстве
TW201812634A (zh) 威脅情報雲
US20210064752A1 (en) Method and system for granting access to a file
US20200389483A1 (en) Computer security vulnerability assessment
US20180341769A1 (en) Threat detection method and threat detection device
KR101670456B1 (ko) 문서 보안시스템 및 문서 보안방법
WO2018143097A1 (ja) 判定装置、判定方法、および、判定プログラム
KR101865785B1 (ko) 문서 검증 및 변환을 통한 문서 보안시스템 및 문서 보안방법
CN111538972A (zh) 用于验证文件的数字签名中的攻击复原的系统和方法
CN114003907A (zh) 恶意文件检测方法、装置、计算设备及存储介质
RU2726877C1 (ru) Способ выборочного повторного антивирусного сканирования файлов на мобильном устройстве
US11968175B2 (en) Blocked XOR filter for blacklist filtering

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2016101003167; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20160527

Effective date: 20180423

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)