KR102340981B1 - 파일 유효성 검증 방법 - Google Patents

파일 유효성 검증 방법 Download PDF

Info

Publication number
KR102340981B1
KR102340981B1 KR1020200077617A KR20200077617A KR102340981B1 KR 102340981 B1 KR102340981 B1 KR 102340981B1 KR 1020200077617 A KR1020200077617 A KR 1020200077617A KR 20200077617 A KR20200077617 A KR 20200077617A KR 102340981 B1 KR102340981 B1 KR 102340981B1
Authority
KR
South Korea
Prior art keywords
file
validation
verification
information
validity
Prior art date
Application number
KR1020200077617A
Other languages
English (en)
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 KR1020200077617A priority Critical patent/KR102340981B1/ko
Application granted granted Critical
Publication of KR102340981B1 publication Critical patent/KR102340981B1/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

본 발명은 각 파일마다 갖는 속성정보 및 그 속성정보의 허용 범위 등을 통하여 각 파일별로 유효성을 검증하는 파일 유효성 검증 방법에 관한 것으로, 분류부가, 패턴정보 데이터베이스에 파일형태별로 분류되어 저장된 패턴 정보에 기초하여, 입력부를 통해 입력된 유효성을 검증하고자 하는 검증 대상 파일의 형태를 분류하는 분류단계와; 검증부가, 상기 분류단계에서 분류된 검증 대상 파일의 형태에 맞는 유효성 검증 플러그인을 선택하고, 선택된 유효성 검증 플러그인을 통하여 검증 대상 파일의 유효성 검증을 수행하는 검증단계와; 판단부가, 상기 검증단계에서 획득된 유효성 검증 결과에 기초하여 검증 대상 파일의 유효성을 판단하는 판단단계를 포함하는 것을 특징으로 한다.

Description

파일 유효성 검증 방법{METHOD FOR CHECKING FILE VALIDITY}
본 발명은 파일 유효성 검증 방법에 관한 것으로서, 보다 상세하게는 각 파일마다 갖는 속성정보 및 그 속성정보의 허용 범위 등을 통하여 각 파일별로 유효성을 검증하는 파일 유효성 검증 방법에 관한 것이다.
광범위한 인터넷의 보급과 망분리, NAS, 클라우드 등 수많은 형태의 네트워크 기술들이 제시되면서, 이전보다 더 많은 파일들의 전송이 이루어지고 있다.
하지만, 네트워크를 통해 검증되지 않은 파일이 무분별하게 유포되고 있는 실정이며, 최근에는 서버를 대상으로 하는 랜섬웨어의 의한 파일의 위조 또는 변조도 지속적으로 증가하고 있는 추세이다.
파일의 위변조 탐지에는 일반적으로 위변조 탐지 대상 시스템의 파일을 원본으로 백업한 뒤 원본 파일과의 비교를 통해서 탐지하는 방법과, 파일의 변경 기준치(용량), 검증 필터링 조건(키워드, 코드) 등 정해진 규칙에 의해서 탐지하는 방법이 있다.
파일 비교를 통한 탐지 방법은 정적인 데이터를 제공하는 경우에는 적합할 수 있지만, 파일 업로드 게시판, 새로운 페이지 생성 등에 의한 파일의 생성, 수정, 삭제가 빈번하게 발생하는 경우 또는 대용량 시스템(백업 문제)에는 적합하지 않다.
이러한 이유로 정해진 규칙에 의해 파일 위변조 탐지를 수행하는 방법을 선택하지만, 이 경우 정상적인 파일 변경(업데이트, 유지보수)의 경우에도 파일 위변조 탐지 대상이 되기 때문에 탐지 대상이 불필요하게 증가하는 문제가 있다.
이외에도, 파일의 위변조 탐지에는 기 설정된 위변조 패턴을 이용하는 방법, 시그니처를 이용하는 방법 등이 있으나, 위변조 패턴 또는 시그니처를 지속적으로 업데이트 해야하는 불편함이 따른다.
KR 101279792 B1
따라서 본 발명은 상기 문제를 해결하기 위해 안출된 것으로서, 본 발명의 목적은 각 파일마다 갖는 속성정보 및 그 속성정보의 허용 범위 등을 통하여 각 파일별로 유효성을 검증하는 파일 유효성 검증 방법을 제공하는 것이다.
본 발명의 다른 목적 및 장점들은 하기에 설명될 것이며, 본 발명의 실시예에 의해 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 조합에 의해 실현될 수 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 파일 유효성 검증 방법은, 분류부가, 패턴정보 데이터베이스에 파일형태별로 분류되어 저장된 패턴 정보에 기초하여, 입력부를 통해 입력된 유효성을 검증하고자 하는 검증 대상 파일의 형태를 분류하는 분류단계와; 검증부가, 상기 분류단계에서 분류된 검증 대상 파일의 형태에 맞는 유효성 검증 플러그인을 선택하고, 선택된 유효성 검증 플러그인을 통하여 검증 대상 파일의 유효성 검증을 수행하는 검증단계와; 판단부가, 상기 검증단계에서 획득된 유효성 검증 결과에 기초하여 검증 대상 파일의 유효성을 판단하는 판단단계를 포함하는 것을 특징으로 한다.
또한, 상기 검증단계에서, 상기 유효성 검증 플러그인은, 문서파일의 경우, 검증 대상 파일의 계층구조를 파악하고, 파악된 계층구조 내에서 속성정보의 구성요소 유무, 특정 속성정보 중에서 특정 구성요소의 전체길이(바이트 정보), 특정 속성정보 중에서 특정 구성요소의 속성값의 범위를 확인하는 것을 특징으로 하는 것을 특징으로 한다.
또한, 상기 특정 속성정보는 문서 정보 또는 문서 이력 관리 정보인 것을 특징으로 하는 것을 특징으로 한다.
또한, 상기 검증단계에서, 상기 유효성 검증 플러그인은, 압축파일의 경우, 검증 대상 파일의 계층구조를 파악하고, 파악된 계층구조 내에서 압축후 이미지 크기, 헤더의 크기를 포함하는 각 헤더별 정보의 합이 총 파일의 크기인지 여부를 확인하는 것을 특징으로 한다.
또한, 상기 검증단계에서 획득된 유효성 검증 결과는 검증 대상 파일의 총 유효성 검사 개수, 유효하지 않은 정보의 개수, 유효하지 않은 정보에 대한 상세 정보를 더 포함하는 것을 특징으로 한다.
또한, 상기 유효하지 않은 정보에 대한 상세 정보는 비정상적인 압축효율, 유효하지 않은 값의 크기, 최대 파일크기, 최소 파일크기, 정상 파일크기와 다른 정보, 정해진 계산식에 의하여 계산된 값의 존재유무, 파일 내에 가질 수 없는 다른 파일의 존재여부, 파일 내의 실행파일 존재여부에 대한 정보인 것을 특징으로 한다.
또한, 상기 패턴정보 데이터베이스에는 검증 대상 파일의 특정한 위치값, 상기 위치값에 따른 패턴, 및 상기 위치값의 연산을 통한 재위치 설정값이 추가로 저장되어 있는 것을 특징으로 한다.
이상과 같이 본 발명에 따른 파일 유효성 검증 시스템 및 방법에 의하면, 각 파일마다 갖는 고유의 정보 및 그 정보의 허용 범위 등을 통하여 각 파일별로 유효성을 검증하는 방식으로 파일의 위변조 여부 등을 신속하게 탐지할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 파일 유효성 검증 장치의 개략적인 구성도이고,
도 2는 도 1의 패턴정보 데이터베이스를 중심으로 설명하는 도면이고,
도 3은 도 1의 검증부를 중심으로 설명하는 도면이고,
도 4는 본 발명의 일 실시예에 따른 파일 유효성 검증 방법을 설명하기 위한 순서도이고,
도 5는 검증 대상 파일의 계층구조의 일례를 나타내는 도면이며,
도 6 내지 도 12는 본 발명의 일 실시예에 따른 파일 유효성 검증 방법을 구체적으로 설명하기 위한 도면이다.
기타 실시예들의 구체적인 사항은 상세한 설명 및 도면에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 이하의 설명에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라 그 중간에 다른 매체를 사이에 두고 연결되어 있는 경우도 포함한다. 또한, 도면에서 본 발명과 관계없는 부분은 본 발명의 설명을 명확하게 하기 위하여 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다.
이하, 첨부된 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 파일 유효성 검증 장치의 개략적인 구성도이고, 도 2는 도 1의 패턴정보 데이터베이스를 중심으로 설명하는 도면이고, 도 3은 도 1의 검증부를 중심으로 설명하는 도면이고, 도 4는 본 발명의 일 실시예에 따른 파일 유효성 검증 방법을 설명하기 위한 순서도이고, 도 5는 검증 대상 파일의 계층구조의 일례를 나타내는 도면이며, 도 6 내지 도 12는 본 발명의 일 실시예에 따른 파일 유효성 검증 방법을 구체적으로 설명하기 위한 도면이다.
먼저, 도1을 참조하면, 본 발명의 일 실시예에 따른 파일 유효성 검증 장치는, 입력부(110), 패턴정보 데이터베이스(120), 분류부(130), 검증부(140), 판단부(150), 및 출력부(160)를 포함하여 구성된다.
입력부(110)는 유효성을 검증하고자 하는 검증 대상 파일을 입력받는다.
입력부(110)에 입력되는 검증 대상 파일은 크게 문서파일이나 압축파일 형태로 구분할 수 있으며, 예를 들면 txt 파일, hwp 파일, doc 파일, docx 파일, ppt 파일, pptx 파일, xls 파일, xlsx 파일, pdf 파일, jpg 파일, bmp 파일, tiff 파일, ZIP 파일 등 여러 형태의 파일일 수 있으나, 이들에 한정되지 않는다.
패턴정보 데이터베이스(120)에는, 도 2에 도시된 바와 같이, 다수의 패턴 정보(#1번 패턴 ... #n번 패턴)가 파일형태별로 분류되어 저장되어 있다.
패턴정보 데이터베이스(120) 내의 패턴정보를 검색을 용이하게 하기 위해서는 조건 검색부(122)가 추가될 수도 있다.
또한, 패턴정보 데이터베이스(120)에는 검증 대상 파일의 특정한 위치값, 상기 위치값에 따른 패턴, 및 상기 위치값의 연산을 통한 재위치 설정값이 추가로 저장되어 있다.
그 밖에, 패턴정보 데이터베이스(120)에는 검증 대상 파일의 파트(섹션, 구조체, 구성요소 등)를 확인할 수 있는 패턴(헤더 정보, 구조 정보, 위치 정보 등)과 매칭이 되는 조건부 선택 정보가 저장되어 있다.
따라서, 예를 들면 OLE로 구성된 DOC 파일일 경우에는 0번째 위치값에 대한 4byte 값을 확인하고 해당 정보가 맞으면 OLE 구조에 따른 위치값을 계산하여 파일 포맷의 정보가 있는 곳에서 마이크로소프트 워드문서(MS-word)라는 또다른 고유의 식별번호를 통하여 확인할 수 있다.
HWP의 경우에는 구버전과 최신버전으로 나누어 지며 구버전의 경우에는 0번째 위치값의 32byte 값이 "HWP Document File"을 확인함으로써 구버전의 HWP 임을 확인할 수 있으며, 최신버전인 경우에는 OLE 구조에 따른 위치값을 계산하여 파일 포맷의 정보가 있는 곳에서 한컴오피스 HWP라는 또다른 고유의 식별번호를 통하여 확인할 수 있다.
다른 파일의 경우에도 마찬가지로 파일 마다의 고유의 식별번호 또는 그에 상응하는 위치 정보에 따른 정보를 확인하여 파일 포맷을 확인할 수 있다.
분류부(130)는 패턴정보 데이터베이스(120)에 파일형태별로 분류되어 저장된 패턴 정보에 기초하여, 입력부(110)를 통해 입력된 유효성을 검증하고자 하는 검증 대상 파일의 형태를 분류한다.
검증부(140)는 다수의 유효성 검증 플러그인(144)(유효성 검증 플러그인 #1 ... 유효성 검증 플러그인#n) 중에서 상기 분류부(130)에 의해 분류된 검증 대상 파일(142)의 형태에 맞는 유효성 검증 플러그인(144)을 선택하고, 선택된 유효성 검증 플러그인(144)을 통하여 검증 대상 파일(142)의 유효성 검증을 수행한다.
예를 들어, 도 3에 도시된 바와 같이, 유효성 검증 플러그인(144)은 다수의 검증모듈(#1번 검증 ... #n번 검증)를 포함하여 구성될 수 있고, 각각의 검증모듈검증모듈(#1번 검증 ... #n번 검증)이 검증 대상 파일(142)의 각각의 검증영역(검증영역 #1 ... 검증영역 #n)을 대응하게 검증할 수 있다.
검증부(140)는 유효성 검증 플러그인(144)에 의해 획득된 유효성 검증 결과를 판단부(150)에 제공할 수 있다.
예를들면, 유효성 검증 플러그인(144)은, 문서파일의 경우, 검증 대상 파일의 계층구조를 파악하고, 파악된 계층구조 내에서 속성정보의 구성요소 유무, 특정 속성정보 중에서 특정 구성요소의 전체길이, 즉 바이트 정보, 특정 속성정보 중에서 특정 구성요소의 속성값의 범위를 확인하고, 이를 유효성 검증 결과로서 판단부(150)에 제공할 수 있다.
여기서, 특정 속성정보는 문서 정보 또는 문서 이력 관리 정보일 수 있으나, 이에 한정되는 것은 아니다.
또한, 유효성 검증 플러그인(144)은, 압축파일의 경우, 검증 대상 파일(142)의 계층구조를 파악하고, 파악된 계층구조 내에서 압축후 이미지 크기, 헤더의 크기를 포함하는 각 헤더별 정보의 합, 예를 들면 현재 Central File Header 1의 위치값, File Header 전체 크기의 합, Central Header 전체 크기의 합, End of Central Header의 합이 총 파일의 크기인지 여부를 확인하고, 이를 유효성 검증 결과로서 판단부(150)에 제공할 수 있다.
또한, 검증부(140)는 유효성 검증 결과로서, 검증 대상 파일의 총 유효성 검사 개수, 유효하지 않은 정보의 개수, 유효하지 않은 정보에 대한 상세 정보를 판단부(150)에 추가로 제공할 수 있다.
여기서, 유효하지 않은 정보에 대한 상세 정보는 비정상적인 압축효율, 유효하지 않은 값의 크기, 최대 파일크기, 최소 파일크기, 정상 파일크기와 다른 정보, 정해진 계산식에 의하여 계산된 값의 존재유무, 파일 내에 가질 수 없는 다른 파일의 존재여부, 파일 내의 실행파일 존재여부에 대한 정보일 수 있다.
판단부(150)는 검증부(140)에 의해 획득된 유효성 검증 결과에 기초하여 검증 대상 파일의 유효성을 판단한다.
판단부(150)는 검증 대상 파일이 미리 정해진 유효성 검증 결과의 판단규정에 부합하면 검증 대상 파일이 유효한 것으로 판단하고, 그렇지 않다면 검증 대상 파일이 유효하지 않은 것으로 판단한다.
출력부(160)는 판단된 유효성 검증 결과를 출력한다.
출력부(160)는 검증 대상 파일이 유효한 것으로 판단된 경우 PASS로 표시하여 출력하고, 검증 대상 파일이 유효하지 않은 것으로 판단된 경우 FAIL로 표시하여 출력한다.
또한, 출력부(160)는 유효성 검증 결과 요약 및 분석 내용을 PDF 등의 문서형태로 제공할 수 있다.
한편, 도 4는 본 발명의 일 실시예에 따른 파일 유효성 검증 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 파일 유효성 검증 방법은 분류단계(S110)와, 검증단계(S120)와, 판단단계(S130)를 포함한다.
분류단계(S110)에서는, 분류부(130)가, 패턴정보 데이터베이스(120)에 파일형태별로 분류되어 저장된 패턴 정보에 기초하여, 입력부(110)를 통해 입력된 유효성을 검증하고자 하는 검증 대상 파일(142)의 형태를 분류한다.
여기서, 패턴정보 데이터베이스(120)에는 검증 대상 파일의 특정한 위치값, 상기 위치값에 따른 패턴, 및 상기 위치값의 연산을 통한 재위치 설정값이 추가로 저장되어 있다.
분류단계(S110)에서, 예를 들면 OLE로 구성된 DOC 파일일 경우에는 0번째 위치값에 대한 4byte 값을 확인하고 해당 정보가 맞으면 OLE 구조에 따른 위치값을 계산하여 마이크로소프트 워드문서(MS-word)라는 것을 파악할 수 있다.
검증단계(S120)에서는, 검증부(140)가, 상기 분류단계(S110)에서 분류된 검증 대상 파일(142)의 형태에 맞는 유효성 검증 플러그인(144)을 선택하고, 선택된 유효성 검증 플러그인(144)을 통하여 검증 대상 파일(142)의 유효성 검증을 수행한다.
또한, 검증단계(S120)에서, 유효성 검증 플러그인(144)은, 문서파일의 경우, 검증 대상 파일(142)의 계층구조를 파악하고, 파악된 계층구조 내에서 속성정보의 구성요소 유무, 특정 속성정보 중에서 특정 구성요소의 전체길이(바이트 정보), 특정 속성정보 중에서 특정 구성요소의 속성값의 범위를 확인하고, 이를 판단부(150)에 유효성 검증 결과로서 제공할 수 있다.
이때, 상기 특정 속성정보는 문서 정보 또는 문서 이력 관리 정보일 수 있다.
또한, 검증단계(S120)에서, 유효성 검증 플러그인은, 압축파일의 경우, 검증 대상 파일의 계층구조를 파악하고, 파악된 계층구조 내에서 현재 Central File Header 1의 위치값, File Header 전체 크기의 합, Central Header 전체 크기의 합, End of Central Header의 합이 총 파일의 크기인지 여부를 확인하고, 이를 판단부(150)에 유효성 검증 결과로서 제공할 수 있다.
또한, 검증단계(S120)에서 획득된 유효성 검증 결과는 검증 대상 파일의 총 유효성 검사 개수, 유효하지 않은 정보의 개수, 유효하지 않은 정보에 대한 상세 정보를 더 포함할 수 있다.
여기서, 유효하지 않은 정보에 대한 상세 정보는 비정상적인 압축효율, 유효하지 않은 값의 크기, 최대 파일크기, 최소 파일크기, 정상 파일크기와 다른 정보, 정해진 계산식에 의하여 계산된 값의 존재유무, 파일 내에 가질 수 없는 다른 파일의 존재여부, 파일 내의 실행파일 존재여부에 대한 정보일 수 있다.
마지막으로, 판단단계(S130)에서는, 판단부(150)가, 상기 검증단계(S120)에서 획득된 유효성 검증 결과에 기초하여 검증 대상 파일(142)의 유효성을 판단한다.
판단된 유효성 검증 결과는 출력부(160)를 출력할 수 있다.
도 5는 검증 대상 파일의 계층구조의 일례를 나타내는 도면이다.
도 5에 도시된 바와 같이, 검증 대상 파일의 계층구조를 살펴보면, 검증 대상 파일은 한컴오피스 HWP 파일의 경우로서, File Header와, 다수의 속성정보(오브젝트라고도 함)를 포함하고, 속성정보에는 적어도 속성정보를 구성하는 다수의 구성요소(속성정보의 구성요소라고 함)와, 전체길이(바이트 정보)를 포함하고 있다.
도 6 내지 도 12는 본 발명의 일 실시예에 따른 파일 유효성 검증 방법을 구체적으로 설명하기 위한 도면이다. 이때, 도 6 내지 도 11은 검증 대상 파일로서 한컴오피스 HWP 5.0 버전의 파일의 경우를 예로 들고 있으며, 도 12는 검증 대상 파일로서 ZIP 파일의 경우를 예로 들고 있다.
도 6을 참조하면, 파일 유효성 검증을 위해, HWP 문서파일의 경우, HWP 문서파일의 계층구조를 파악하고, 파악된 계층구조 내에서 속성정보의 구성요소 유무를 확인하게 된다. 만약 해당 속성정보의 구성요소가 있다면 유효성(무결성)에 문제가 없으나, 만약 해당 속성정보의 구성요소가 없다면 유효성에 문제가 있다고 판단한다.
도 6에서는 문서정보(DocInfo)의 속성정보를 이용하고 있으며, 해당 속성정보의 구성요소가 모두 존재하므로 유효성에 문제가 없다.
도 7을 참조하면, 파일 유효성 검증을 위해, 특정 속성정보 중에서 특정 구성요소에 정해진 값이 들어있는지 여부를 확인하고 있다.
예를 들어, 문서정보(DocInfo)의 속성정보를 이루는 구성요소 중에서 특정 구성요소(HWPTAG_ID_MAPPING)에는 정해진 값만 들어가야 하는데, 표 1에서 4byte 짜리 18개 배열이 존재하여야 하며, 각 4byte에는 표 2의 값만 존재해야 한다. 특히, 특정 구성요소(HWPTAG_ID_MAPPING)와 관련된 Integer 32 어레이(INT32 array)는 4byte이며 32만개의 정보를 담을수 있으나, 실제 사용은 0 ~ 17이 아니면 무결성에 위배된다.
도 8을 참조하면, 파일 유효성 검증을 위해, 특정 속성정보 중에서 특정 구성요소의 전체길이(바이트 정보)를 확인하고 있다.
즉, 특정 속성정보 중에서 특정 구성요소의 블록의 크기가 가변인 경우, 다음 블록의 정보를 획득하기 위해서는 전체의 길이를 계산하여야 한다.
도 8에서는 특정 구성요소(HWPTAG_BIN_DATA)의 크기가 가변이고, 전체길이를 계산하면 계산된 다음 위치는 HWPTAG_FACE_NAME으로 도달해야 한다.
만약 계산하여 읽어온 전체길이(바이트 정보)가 표 3의 글꼴 속성이 0x40, 0x80, 0x20이 아닌 경우에는 무결성에 문제가 있다.
도 9의 경우, 특정 구성요소(HWPTAG_ID_MAPPING)와 관련된 WORD의 값이 3이 아니면 무결성에 문제가 되며, WCHAR array가 JPG, BMP, GIF, OLE가 아니면 무결성에 문제가 있는 것이다.
도 10의 경우, 특정 속성정보 중에서 특정 구성요소의 속성값의 범위를 확인하고 있다.
즉, 2byte 정보에 16bit 내에 각 비트별 정보를 앤드(&) 연산을 하고 표 5의 각 비트의 세트를 통하여 테두리 배경의 속성의 정보를 비교한다. Slash와 backslash가 동시에 존재 할 수 없기 때문에, bit 2-4에 값이 셋팅되어 있으면 bit 5-7, bit 10, bit 12는 셋팅이 되어서는 안되며, 이를 확인하여 유효성을 검증할 수 있다.
도 11을 참조하면, 히스토리의 날짜의 경우, 저장된 날짜가 시스템 타입의 날짜로 존재해야 하며, 이는 현재 보다 미래이거나 존재하지 않는 날짜, 형식에 맞지 않는 날짜가 있다면 무결성에 맞지 않는다고 판단한다.
도 12를 참조하면, ZIP 파일의 경우, End of Central Directory에는 Central File Header 1의 위치 값이 존재한다.
현재 위치 값이 Central File Header 1 으로 저장되어 있는 위치값보다 작다면(현재 위치 < Central File Header 1 위치), 무결성에 위배되는 것으로 판단한다.
또한, Central File Header 1 에 존재하는 파일 정보(파일이름, 압축시의 파일크기, 압축해제시의 파일크기 등)이 Local File Header 1과 동일하여야 하며, 그렇지 않으면 무결성에 위배되는 것으로 판단한다.
또한, File Header 1 ~ n 개의 크기의 합과 Central Header 1~ n개의 크기의 합, End of Central Header 의 합이 총 파일의 크기 이며 이 크기가 실제 파일의 크기와 비교하였을때 다르다면 무결성에 문제가 있는 것으로 판단한다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110 : 입력부
120 : 패턴정보 데이터베이스
130 : 분류부
140 : 검증부
150 : 판단부
160 : 출력부

Claims (7)

  1. 분류부가, 패턴정보 데이터베이스에 파일형태별로 분류되어 저장된 패턴 정보에 기초하여, 입력부를 통해 입력된 유효성을 검증하고자 하는 검증 대상 파일의 형태를 분류하는 분류단계와;
    검증부가, 상기 분류단계에서 분류된 검증 대상 파일의 형태에 맞는 유효성 검증 플러그인을 선택하고, 선택된 유효성 검증 플러그인을 통하여 검증 대상 파일의 유효성 검증을 수행하는 검증단계와;
    판단부가, 상기 검증단계에서 획득된 유효성 검증 결과에 기초하여 검증 대상 파일의 유효성을 판단하는 판단단계를 포함하며,
    상기 검증단계에서, 상기 유효성 검증 플러그인은, 압축파일의 경우, 검증 대상 파일의 계층구조를 파악하고, 파악된 계층구조 내에서 압축후 이미지 크기, 헤더의 크기를 포함하는 각 헤더별 정보의 합이 총 파일의 크기인지 여부를 확인하는 것을 특징으로 하는 것을 특징으로 하는 파일 유효성 검증 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 검증단계에서 획득된 유효성 검증 결과는 검증 대상 파일의 총 유효성 검사 개수, 유효하지 않은 정보의 개수, 유효하지 않은 정보에 대한 상세 정보를 더 포함하는 것을 특징으로 하는 파일 유효성 검증 방법.
  6. 제5항에 있어서,
    상기 유효하지 않은 정보에 대한 상세 정보는 비정상적인 압축효율, 유효하지 않은 값의 크기, 최대 파일크기, 최소 파일크기, 정상 파일크기와 다른 정보, 정해진 계산식에 의하여 계산된 값의 존재유무, 파일 내에 가질 수 없는 다른 파일의 존재여부, 파일 내의 실행파일 존재여부에 대한 정보인 것을 특징으로 하는 파일 유효성 검증 방법.
  7. 제1항에 있어서,
    상기 패턴정보 데이터베이스에는 검증 대상 파일의 특정한 위치값, 상기 위치값에 따른 패턴, 및 상기 위치값의 연산을 통한 재위치 설정값이 추가로 저장되어 있는 것을 특징으로 하는 파일 유효성 검증 방법.
KR1020200077617A 2020-06-25 2020-06-25 파일 유효성 검증 방법 KR102340981B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200077617A KR102340981B1 (ko) 2020-06-25 2020-06-25 파일 유효성 검증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200077617A KR102340981B1 (ko) 2020-06-25 2020-06-25 파일 유효성 검증 방법

Publications (1)

Publication Number Publication Date
KR102340981B1 true KR102340981B1 (ko) 2021-12-21

Family

ID=79165269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200077617A KR102340981B1 (ko) 2020-06-25 2020-06-25 파일 유효성 검증 방법

Country Status (1)

Country Link
KR (1) KR102340981B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110075500A (ko) * 2009-12-28 2011-07-06 한국항공우주연구원 공유 파일 관리 시스템 및 방법
KR101279792B1 (ko) 2012-07-31 2013-06-28 (주)유엠브이기술 파일의 위변조 탐지 시스템 및 그 방법
KR20180046617A (ko) * 2016-10-28 2018-05-09 한국전자통신연구원 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110075500A (ko) * 2009-12-28 2011-07-06 한국항공우주연구원 공유 파일 관리 시스템 및 방법
KR101279792B1 (ko) 2012-07-31 2013-06-28 (주)유엠브이기술 파일의 위변조 탐지 시스템 및 그 방법
KR20180046617A (ko) * 2016-10-28 2018-05-09 한국전자통신연구원 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법

Similar Documents

Publication Publication Date Title
KR101337874B1 (ko) 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
US8972358B2 (en) File storage apparatus, file storage method, and program
CN102067148B (zh) 用于确定文件分类的方法及系统
CN102915295B (zh) 文档检测方法及装置
US8601014B2 (en) File identification via universal file code
CN102414677A (zh) 包括自动分类规则的数据分类流水线
US20120296878A1 (en) File set consistency verification system, file set consistency verification method, and file set consistency verification program
CN109194739B (zh) 一种文件上传方法、存储介质和服务器
CN111488556A (zh) 一种嵌套文档提取方法、装置及电子设备和存储介质
Sarantinos et al. Forensic malware analysis: The value of fuzzy hashing algorithms in identifying similarities
US10423495B1 (en) Deduplication grouping
US20090210944A1 (en) Anti-maleware data center aggregate
CN111858486A (zh) 一种文件分类方法和装置
KR102340981B1 (ko) 파일 유효성 검증 방법
Rowe Identifying forensically uninteresting files using a large corpus
KR102113756B1 (ko) 이미지 출처 확인을 통한 무단 사용 방지 시스템
KR101670456B1 (ko) 문서 보안시스템 및 문서 보안방법
CN114201370B (zh) 一种网页文件监控方法及系统
CN115422125A (zh) 一种基于智能算法的电子文档自动归档方法与系统
KR101943065B1 (ko) 전자문서 오류 검출 장치 및 방법
CN111460436B (zh) 一种基于区块链的非结构化数据操作方法和系统
AU2019457782B2 (en) Verifying information creating system, verifying information creating method, and verifying information creating program
EP4241191A1 (en) Unique content determination of structured format documents
KR101990998B1 (ko) 폰트 저작권 보호 시스템 및 방법
US8265428B2 (en) Method and apparatus for detection of data in a data store

Legal Events

Date Code Title Description
GRNT Written decision to grant