KR102662965B1 - Apparatus and method for detecting ai based malignant code in structured document - Google Patents

Apparatus and method for detecting ai based malignant code in structured document Download PDF

Info

Publication number
KR102662965B1
KR102662965B1 KR1020220007804A KR20220007804A KR102662965B1 KR 102662965 B1 KR102662965 B1 KR 102662965B1 KR 1020220007804 A KR1020220007804 A KR 1020220007804A KR 20220007804 A KR20220007804 A KR 20220007804A KR 102662965 B1 KR102662965 B1 KR 102662965B1
Authority
KR
South Korea
Prior art keywords
document
malicious code
artificial intelligence
stream
feature
Prior art date
Application number
KR1020220007804A
Other languages
Korean (ko)
Other versions
KR20230111844A (en
Inventor
윤명근
허진우
Original Assignee
국민대학교산학협력단
Filing date
Publication date
Application filed by 국민대학교산학협력단 filed Critical 국민대학교산학협력단
Priority to KR1020220007804A priority Critical patent/KR102662965B1/en
Publication of KR20230111844A publication Critical patent/KR20230111844A/en
Application granted granted Critical
Publication of KR102662965B1 publication Critical patent/KR102662965B1/en

Links

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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

본 발명은 주변 환경 구조와 사용자 선호도를 반영한 인공지능 기반의 증강현실 아바타 포즈 제안 장치 및 방법에 관한 것으로, 상기 장치는 카메라를 통해 현실 이미지를 생성하는 이미지 생성부, 사용자 아바타를 생성하는 사용자 아바타 생성부, 상기 현실 이미지를 분석하여 상기 현실 이미지 상에 상기 사용자 아바타의 구도를 추천하는 사용자 아바타 구도 추천부, 및 사용자의 제어에 따라 상기 추천된 사용자 아바타의 구도를 조절하여 크기, 위치 또는 포즈를 결정하는 사용자 아바타 구도 조절부를 포함한다.The present invention relates to an artificial intelligence-based augmented reality avatar pose proposal device and method that reflects the surrounding environment structure and user preferences, and the device includes an image generator that generates a real image through a camera, and a user avatar generator that generates a user avatar. A user avatar composition recommendation unit that analyzes the real image and recommends a composition of the user avatar on the real image, and adjusts the composition of the recommended user avatar according to user control to determine the size, position, or pose. It includes a user avatar composition control unit.

Description

구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법{APPARATUS AND METHOD FOR DETECTING AI BASED MALIGNANT CODE IN STRUCTURED DOCUMENT}Artificial intelligence-based malware detection device and method for structured documents {APPARATUS AND METHOD FOR DETECTING AI BASED MALIGNANT CODE IN STRUCTURED DOCUMENT}

본 발명은 인공지능 기반의 악성코드 탐지 기술에 관한 것으로, 보다 상세하게는 복수의 문서 구성요소들을 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정할 수 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법에 관한 것이다.The present invention relates to an artificial intelligence-based malicious code detection technology. More specifically, the present invention relates to an artificial intelligence-based artificial intelligence-based document for structured documents that can determine the possibility of a structured document containing malicious code by inputting a plurality of document components into a malicious code detection model. It relates to a malware detection device and method.

악성코드란 사용자 컴퓨터를 침해하고 정상적인 기능을 수행하지 못하게 하는 프로그램으로, 트로이목마, 웜 바이러스, 키로거, 스파이웨어, 애드웨어, 랜섬웨어 등이 대표적이다. 이러한 악성코드 종류의 수는 많으며 새로운 형태의 악성코드로 발전하고 있다. 악성코드의 배포형식도 다양하여 이메일과 같은 미디어 컨텐츠에 악성 문서파일을 첨부해 중요 자료를 빼내는 해킹사고를 유발하는 방법도 있으며, 이러한 악성코드에 대핸 대응책으로 여러가지 방법들이 제시되고 있다.Malicious code is a program that infringes on a user's computer and prevents it from performing normal functions. Typical examples include Trojan horses, worm viruses, keyloggers, spyware, adware, and ransomware. There are many types of such malware and they are evolving into new types of malware. There are various distribution formats of malware, and there are ways to cause hacking incidents that steal important data by attaching malicious document files to media content such as emails. Various methods are being proposed as countermeasures against such malware.

일반적으로 악성코드 탐지 방법은 악성코드로 의심되는 파일에 대해 특정 코드섹션의 패턴정보를 이용하여 악성코드를 탐지한다. 그러나, 국내 기업의 PDF 악성코드 탐지율은 굉장히 낮으며, 특정 패턴(문자열)을 탐지하는 현재 탐지 방법은 새로운 악성 코드가 나올 때마다 새로 특정 패턴을 추가해야 하는 문제가 있다.In general, malicious code detection methods detect malicious code using pattern information of specific code sections of files suspected to be malicious code. However, the PDF malware detection rate of domestic companies is very low, and the current detection method of detecting a specific pattern (string) has the problem of having to add a new specific pattern every time a new malicious code is released.

코드의 시그니처를 기반으로 블랙 리스트 혹은 화이트 리스트를 작성하고 이를 이용해 악성코드를 탐지하는 방법은 기존에 알려진 악성코드를 탐지하는 데는 적합하지만 새롭게 등장한 악성코드를 탐지하는 데는 한계가 있다.The method of creating a blacklist or whitelist based on the signature of the code and using it to detect malicious code is suitable for detecting existing known malicious code, but has limitations in detecting newly emerged malicious code.

또한, 과거의 서명 기반 악성코드 탐지 방법은 발현되었던 악성코드의 고유 해싱 값을 사용하거나 패턴화된 공격 규칙을 이용해 탐지하기 때문에 새로운 형태의 악성코드 탐지에는 취약하다.In addition, past signature-based malware detection methods are weak in detecting new types of malware because they use the unique hashing value of the expressed malware or detect using patterned attack rules.

역공학이 제시하는 다양한 분석 방법을 이용해 코드의 악성 여부를 전문가가 직접 밝혀내는 방법은 악성코드를 가장 정확하게 분석하는 방법이지만, 보안 전문가에 의해 정의된 악성코드 탐지 규칙만으로는 꾸준히 증가하고 있는 신종 악성코드를 효과적으로 탐지하는 것이 어려우며, 역공학 분야의 전문적인 지식을 가진 전문가를 필요로 할 뿐만 아니라 코드를 분석하는데 많은 시간이 요구되어 대량의 악성코드를 실시간에 분석하기는 어려운 문제가 있다.The most accurate way to analyze malicious code is for experts to directly find out whether the code is malicious using various analysis methods suggested by reverse engineering. However, new malicious codes are steadily increasing using only malicious code detection rules defined by security experts. It is difficult to detect effectively, and not only does it require experts with specialized knowledge in the field of reverse engineering, but it also requires a lot of time to analyze the code, making it difficult to analyze large amounts of malicious code in real time.

최근, 기계학습을 비롯한 인공지능의 발전으로 인해 기계학습의 다양한 방법들을 악성 코드 탐지에 적용하려는 연구들이 시도되고 있다.Recently, due to the development of artificial intelligence, including machine learning, studies are being attempted to apply various methods of machine learning to detect malicious code.

한국등록 특허 제10-2018-0024136호는 Ai 딥러닝 기반의 악성코드 탐지 시스템에 관한 것으로, 사용자 단말로부터 분석대상인 파일(이하 대상파일) 및, 상기 대상파일의 파일정보를 수집하는 파일수집모듈; 상기 대상파일의 바이너리 파일을 파일저장소로 저장하고, 수집된 대상파일의 파일정보를 관리모듈로 전송하는 분배모듈; 상기 대상파일의 파일정보를 이용하여 작업큐에 해당 대상파일에 대한 분석작업을 등록하는 관리모듈; 작업큐에 등록된 파일정보를 수신받아, 해당 파일정보의 대상파일을 파일저장소로부터 읽어오고, 대상파일을 랜더링하여 대상파일이 수행한 기록인 동적 정보를 수집하고, 대상파일의 파일 구조에 의한 속성값들로부터 정적 정보를 수집하는 정보수집모듈; 수집된 동적 정보 및 정적 정보로부터 사전에 정의한 특징을 선택적으로 추출하고, 추출된 특징을 저장하는 특징추출모듈; 기계학습 분류기를 이용하여, 대상파일의 특징을 통해 대상파일에 대한 악성코드 여부를 판단하고, 악성코드 여부의 결과를 관리모듈로 전송하는 분류모듈; 및, 악성파일을 삭제하거나 격리시키는 에이전트 모듈을 포함하고, 상기 관리모듈은 상기 분류모듈의 결과에 따른 해당 악성코드에 대하여 IOC(Indicator Of Compromise) 정보를 생성하고, 상기 에이전트 모듈은 상기 IOC 정보에 따라 악성파일을 삭제하거나 격리시키는 구성을 통해 대상파일의 정적 정보 및 동적 정보를 모두 활용하여, 악성의 특징이 강한 특징들의 연관성과 그들의 연속성에 대해 기계학습을 시키고 악성코드 여부를 판별하는 AI 딥러닝 기반의 악성코드 탐지 시스템을 개시하고 있다.Korean Patent No. 10-2018-0024136 relates to a malware detection system based on Ai deep learning, which includes a file to be analyzed (hereinafter referred to as target file) from a user terminal and a file collection module that collects file information of the target file; a distribution module that stores the binary file of the target file in a file storage and transmits the collected file information of the target file to a management module; a management module that registers an analysis task for the target file in a task queue using the file information of the target file; Receives file information registered in the work queue, reads the target file of the corresponding file information from the file storage, renders the target file, collects dynamic information that is a record of what the target file has performed, and attributes based on the file structure of the target file. An information collection module that collects static information from values; a feature extraction module that selectively extracts predefined features from the collected dynamic information and static information and stores the extracted features; A classification module that uses a machine learning classifier to determine whether a target file is malicious code based on the characteristics of the target file and transmits the result of whether the target file is malicious code to a management module; and an agent module that deletes or isolates malicious files, wherein the management module generates IOC (Indicator Of Compromise) information for the corresponding malicious code according to the results of the classification module, and the agent module generates IOC information based on the IOC information. AI deep learning utilizes both static and dynamic information of the target file by deleting or isolating malicious files according to the configuration, performs machine learning on the correlation and continuity of features with strong malicious characteristics, and determines whether it is malicious code. A malware-based malware detection system is being launched.

한국등록 특허 제10-2018-0024136 (2018.02.28)호Korean Patent No. 10-2018-0024136 (2018.02.28)

본 발명의 일 실시예는 복수의 문서 구성요소들을 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정할 수 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법을 제공하고자 한다.An embodiment of the present invention seeks to provide an artificial intelligence-based malware detection device and method for structured documents that can determine the possibility of a structured document containing malware by inputting a plurality of document components into a malware detection model.

본 발명의 일 실시예는 PDF (Portable Document Format) 문서에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 악성코드를 탐지할 수 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법을 제공하고자 한다.One embodiment of the present invention seeks to provide an artificial intelligence-based malware detection device and method for structured documents that can detect malware through meta, stream, entropy, and content analysis of PDF (Portable Document Format) documents. do.

본 발명의 일 실시예는 랜덤 포레스트 방식의 인공지능 모델로 악성코드 탐지모델을 구현하여 악성코드를 탐지할 수 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법을 제공하고자 한다.An embodiment of the present invention seeks to provide an artificial intelligence-based malware detection device and method for structured documents that can detect malware by implementing a malware detection model with a random forest-based artificial intelligence model.

실시예들 중에서, 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치는 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하는 문서 구조 검출부, 상기 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성하는 문서 피처 생성부 및 상기 문서 피처를 악성코드 탐지 모델에 입력하여 상기 구조화 문서의 악성코드 포함 가능성을 결정하는 악성코드 결정부를 포함한다.Among embodiments, an artificial intelligence-based malware detection device for structured documents includes a document structure detection unit that identifies a document format for a structured document and detects a plurality of document components, and feature analysis for the plurality of document components. It includes a document feature generation unit that generates document features and a malicious code determination unit that determines the possibility of the structured document containing malicious code by inputting the document features into a malicious code detection model.

상기 문서 구조 검출부는 PDF (Portable Document Format) 문서를 분석하여 복수의 오브젝트들을 상기 복수의 문서 구성요소들로서 검출할 수 있다.The document structure detection unit may analyze a PDF (Portable Document Format) document and detect a plurality of objects as the plurality of document components.

상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성할 수 있다.The document feature generator may generate a plurality of feature elements constituting the document feature through meta, stream, entropy, and content analysis of the plurality of document elements.

제1 실시예에서, 상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 메타 분석을 통해 스트림 길이의 합 및 파일 크기와 스트림 길이의 합 간의 비율을 산출할 수 있다. 제2 실시예에서, 상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 스트림 분석을 통해 스트림 길이의 최대값과 최소값, 평균값 및 표준편차를 산출할 수 있다. 제3 실시예에서, 상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 엔트로피 분석을 통해 스트림 엔트로피의 최대값과 최소값, 평균값 및 표준편차를 산출할 수 있다. 제4 실시예에서, 상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 컨텐츠 분석을 통해 스트림 태그 집합을 산출할 수 있다.In the first embodiment, the document feature generator may calculate the sum of stream lengths and the ratio between the file size and the sum of stream lengths through meta-analysis of the plurality of document components. In a second embodiment, the document feature generator may calculate the maximum and minimum values, average value, and standard deviation of the stream length through stream analysis of the plurality of document components. In a third embodiment, the document feature generator may calculate the maximum and minimum values, average value, and standard deviation of stream entropy through entropy analysis of the plurality of document components. In the fourth embodiment, the document feature generator may calculate a stream tag set through content analysis of the plurality of document components.

상기 악성코드 결정부는 상기 악성코드 탐지모델을 통해 상기 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 상기 악성코드 포함 가능성을 결정할 수 있다. 상기 악성코드 결정부는 상기 부분적인 악성코드 가능성의 가중 평균값을 산출하여 상기 악성코드 포함 가능성을 결정할 수 있다. 상기 악성코드 결정부는 상기 악성코드 탐지모델을 랜덤 포레스트 방식의 인공지능 모델로 구현할 수 있다.The malicious code determination unit may determine the possibility of containing the malicious code based on the partial possibility of malicious code for each of meta, stream, entropy, and content analysis constituting the document features through the malicious code detection model. The malicious code determination unit may determine the possibility of containing the malicious code by calculating a weighted average value of the possibility of the partial malicious code. The malicious code decision unit may implement the malicious code detection model as a random forest artificial intelligence model.

실시예들 중에서, 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 방법은 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하는 문서 구조 검출단계, 상기 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성하는 문서 피처 생성단계 및 상기 문서 피처를 악성코드 탐지 모델에 입력하여 상기 구조화 문서의 악성코드 포함 가능성을 결정하는 악성코드 결정단계를 포함한다.Among embodiments, an artificial intelligence-based malware detection method for structured documents includes a document structure detection step of detecting a plurality of document components by identifying a document format for a structured document, and features for the plurality of document components. It includes a document feature generation step of generating document features through analysis, and a malicious code determination step of determining the possibility of the structured document containing malicious code by inputting the document features into a malicious code detection model.

상기 문서 구조 검출단계는 PDF (Portable Document Format) 문서를 분석하여 복수의 오브젝트들을 상기 복수의 문서 구성요소들로서 검출하는 단계를 포함할 수 있다.The document structure detection step may include analyzing a Portable Document Format (PDF) document and detecting a plurality of objects as the plurality of document components.

상기 문서 피처 생성단계는 상기 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성하는 단계를 포함할 수 있다.The document feature generation step may include generating a plurality of feature elements constituting the document feature through meta, stream, entropy, and content analysis of the plurality of document elements.

상기 악성코드 결정단계는 상기 악성코드 탐지모델을 통해 상기 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 상기 악성코드 포함 가능성을 결정할 수 있다.The malicious code determination step may determine the possibility of containing the malicious code based on the partial possibility of malicious code for each of the meta, stream, entropy, and content analysis constituting the document features through the malicious code detection model.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다 거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology can have the following effects. However, since it does not mean that a specific embodiment must include all of the following effects or only the following effects, the scope of rights of the disclosed technology should not be understood as being limited thereby.

본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법은 복수의 문서 구성요소들을 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정할 수 있다.The artificial intelligence-based malware detection device and method for structured documents according to an embodiment of the present invention can determine the possibility of a structured document containing malware by inputting a plurality of document components into a malware detection model.

본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법은 PDF (Portable Document Format) 문서에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 악성코드를 탐지할 수 있다.The artificial intelligence-based malware detection device and method for structured documents according to an embodiment of the present invention can detect malware through meta, stream, entropy, and content analysis of PDF (Portable Document Format) documents.

본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법은 랜덤 포레스트 방식의 인공지능 모델로 악성코드 탐지모델을 구현하여 악성코드를 탐지할 수 있다.The artificial intelligence-based malicious code detection device and method for structured documents according to an embodiment of the present invention can detect malicious code by implementing a malicious code detection model using a random forest artificial intelligence model.

도 1은 본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치를 설명하는 하드웨어 블록도이다.
도 3은 도 1에 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치를 설명하는 기능 블록도이다.
도 4는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 과정을 설명하는 흐름도이다.
도 5는 PDF 문서와 같은 구조화 문서를 설명하는 예시도이다.
도 6은 문서 구조에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 설명하는 예시도이다.
1 is a diagram illustrating an artificial intelligence-based malware detection system for structured documents according to an embodiment of the present invention.
FIG. 2 is a hardware block diagram illustrating an artificial intelligence-based malware detection device for the structured document in FIG. 1.
FIG. 3 is a functional block diagram illustrating an artificial intelligence-based malware detection device for the structured document in FIG. 1.
Figure 4 is a flowchart explaining the artificial intelligence-based malware detection process for structured documents.
Figure 5 is an example diagram explaining a structured document such as a PDF document.
Figure 6 is an example diagram explaining meta, stream, entropy, and content analysis of document structure.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is only an example for structural or functional explanation, the scope of the present invention should not be construed as limited by the examples described in the text. In other words, since the embodiment can be modified in various ways and can have various forms, the scope of rights of the present invention should be understood to include equivalents that can realize the technical idea. In addition, the purpose or effect presented in the present invention does not mean that a specific embodiment must include all or only such effects, so the scope of the present invention should not be understood as limited thereby.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in this application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as “first” and “second” are used to distinguish one component from another component, and the scope of rights should not be limited by these terms. For example, a first component may be named a second component, and similarly, the second component may also be named a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” to another component, it should be understood that it may be directly connected to the other component, but that other components may exist in between. On the other hand, when a component is said to be “directly connected” to another component, it should be understood that there are no other components in between. Meanwhile, other expressions that describe the relationship between components, such as "between" and "immediately between" or "neighboring" and "directly neighboring" should be interpreted similarly.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as “comprise” or “have” refer to implemented features, numbers, steps, operations, components, parts, or them. It is intended to specify the existence of a combination, and should be understood as not excluding in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.For each step, identification codes (e.g., a, b, c, etc.) are used for convenience of explanation. The identification codes do not explain the order of each step, and each step clearly follows a specific order in context. Unless specified, events may occur differently from the specified order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the opposite order.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein, unless otherwise defined, have the same meaning as commonly understood by a person of ordinary skill in the field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as consistent with the meaning they have in the context of the related technology, and cannot be interpreted as having an ideal or excessively formal meaning unless clearly defined in the present application.

도 1은 본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 시스템을 설명하는 도면이다.1 is a diagram illustrating an artificial intelligence-based malware detection system for structured documents according to an embodiment of the present invention.

도 1을 참조하면, 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 시스템(100)은 사용자 단말(110), 인공지능 기반의 악성코드 탐지 장치(130) 및 사용자 데이터베이스(150)을 포함하고, 이들은 네트워크를 통해 연결될 수 있다.Referring to FIG. 1, the artificial intelligence-based malware detection system 100 for structured documents includes a user terminal 110, an artificial intelligence-based malware detection device 130, and a user database 150, which are Can be connected through a network.

사용자 단말(110)은 구조화 문서에 대한 편집, 뷰어 또는 생성을 수행하는 컴퓨팅 장치에 해당할 수 있다. 일 실시예에서, 사용자 단말(110)은 스마트폰, 태블릿, 노트북, PC 등으로 구현될 수 있다. 또한, 사용자 단말(110)은 유선 또는 무선으로 인공지능 기반의 악성코드 탐지 장치(130)와 연결될 수 있다. 여기에서, 구조화 문서는 문서 구성을 위한 특정 포맷을 가지는 텍스트, 그림, 오디오, 비디오, 스크립트 중 적어도 하나를 포함할 수 있고, 예를 들어, PDF (Portable Document Format) 문서를 포함할 수 있다.The user terminal 110 may correspond to a computing device that edits, views, or creates structured documents. In one embodiment, the user terminal 110 may be implemented as a smartphone, tablet, laptop, PC, etc. Additionally, the user terminal 110 may be connected to the artificial intelligence-based malware detection device 130 by wire or wirelessly. Here, the structured document may include at least one of text, pictures, audio, video, and script having a specific format for configuring the document, and may include, for example, a PDF (Portable Document Format) document.

일 실시예에서, 사용자 단말(110)은 도 1과 달리 인공지능 기반의 악성코드 탐지 장치(130)의 일 구성으로 포함되어 구현되어 구조화 문서에 관한 편집, 뷰어 또는 생성의 역할을 수행할 수 있다.In one embodiment, the user terminal 110, unlike Figure 1, is included and implemented as a component of the artificial intelligence-based malware detection device 130 and can perform the role of editing, viewing, or creating structured documents. .

인공지능 기반의 악성코드 탐지 장치(130)는 사용자 단말(110)과 네트워크를 통해 연동될 수 있는 별도의 컴퓨팅 장치(즉, 서버)에 해당할 수 있고, 또는 인공지능 기반의 악성코드 탐지 기능을 구현한 어플리케이션을 설치한 사용자 단말(110)에 해당할 수 있다.The artificial intelligence-based malware detection device 130 may correspond to a separate computing device (i.e., server) that can be linked to the user terminal 110 through a network, or may provide an artificial intelligence-based malware detection function. It may correspond to a user terminal 110 that installs the implemented application.

인공지능 기반의 악성코드 탐지 장치(130)는 사용자 단말(110)로부터 구조화 문서를 수신하고 구조화 문서를 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정할 수 있다.The artificial intelligence-based malicious code detection device 130 may receive a structured document from the user terminal 110 and input the structured document into a malicious code detection model to determine the possibility of the structured document containing malicious code.

보다 구체적으로, 인공지능 기반의 악성코드 탐지 장치(130)는 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하고, 복수의 문서 구성요소들에 대한 문서 피처를 악성코드 탐지 모델에 입력하여 악성코드 포함 가능성을 결정한다.More specifically, the artificial intelligence-based malware detection device 130 identifies a document format for a structured document, detects a plurality of document components, and applies document features for the plurality of document components to a malware detection model. Enter the information to determine whether it contains malicious code.

사용자 데이터베이스(150)는 사용자 정보를 관리하고 특히, 악성코드 탐지 서비스를 위한 사용자 과금정보를 포함할 수 있다. 또한, 사용자 데이터베이스(150)는 사용자 피드백을 통해 악성코드를 명확하게 포함하는 구조화 문서에 관한 레코드를 구축할 수 있고 인공지능 기반의 악성코드 탐지 장치(130)가 인공지능 기반의 악성코드 분석 이전에 레코드를 통해 시그니처 방식으로 악성코드 가능성을 결정하도록 할 수 있다.The user database 150 manages user information and, in particular, may include user billing information for a malware detection service. In addition, the user database 150 can build a record of structured documents that clearly contain malicious code through user feedback, and the artificial intelligence-based malicious code detection device 130 can perform artificial intelligence-based malicious code analysis prior to analysis. Through the record, the possibility of malicious code can be determined using the signature method.

한편, 사용자 데이터베이스(150)는 반드시 이에 한정되지 않고, 악성코드 탐지를 수행하는 과정에서 구조화 문서에 대한 수집 또는 가공된 정보들을 저장할 수 있다. 또한, 사용자 데이터베이스(150)는 도 1에서 인공지능 기반의 악성코드 탐지 장치(130)와 별도의 물리적 장치로 구현된 것으로 가정하였으나, 반드시 이에 한정되지 않고, 인공지능 기반의 악성코드 탐지 장치(130)에 통합적으로 구현될 수 있다.Meanwhile, the user database 150 is not necessarily limited to this, and may store collected or processed information about structured documents in the process of performing malicious code detection. In addition, the user database 150 is assumed to be implemented as a separate physical device from the artificial intelligence-based malware detection device 130 in FIG. 1, but it is not necessarily limited to this and the artificial intelligence-based malware detection device 130 ) can be implemented integratedly.

도 2는 도 1에 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치를 설명하는 하드웨어 블록도이다.FIG. 2 is a hardware block diagram illustrating an artificial intelligence-based malware detection device for the structured document in FIG. 1.

도 2를 참조하면, 인공지능 기반의 악성코드 탐지 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함할 수 있다.Referring to FIG. 2, the artificial intelligence-based malware detection device 130 may include a processor 210, a memory 230, a user input/output unit 250, and a network input/output unit 270.

프로세서(210)는 본 발명의 일 실시예에 따른 인공지능 기반의 악성코드 탐지 프로시저를 실행할 수 있고, 이러한 과정에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄 할 수 있다. 프로세서(210)는 인공지능 기반의 악성코드 탐지 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 인공지능 기반의 악성코드 탐지 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.The processor 210 can execute an artificial intelligence-based malicious code detection procedure according to an embodiment of the present invention, and manage the memory 230 that is read or written in this process. The synchronization time between volatile memory and non-volatile memory can be scheduled. The processor 210 can control the overall operation of the artificial intelligence-based malicious code detection device 130, and is electrically connected to the memory 230, the user input/output unit 250, and the network input/output unit 270 to communicate between them. Data flow can be controlled. The processor 210 may be implemented as a CPU (Central Processing Unit) of the artificial intelligence-based malware detection device 130.

메모리(230)는 SSD(Solid State Disk) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 사용자 맞춤형 심리상담 전문가 매칭 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다. 또한, 메모리(230)는 전기적으로 연결된 프로세서(210)에 의해 실행됨으로써 본 발명에 따른 학습 데이터베이스 구축 방법을 실행하는 명령들의 집합을 저장할 수 있다.The memory 230 is implemented as a non-volatile memory such as a solid state disk (SSD) or a hard disk drive (HDD) and includes an auxiliary memory device used to store all data required for the user-customized psychological counseling expert matching device 130. It can include a main memory implemented as volatile memory such as RAM (Random Access Memory). Additionally, the memory 230 can store a set of instructions for executing the learning database construction method according to the present invention by being executed by the electrically connected processor 210.

사용자 입출력부(250)은 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함하고, 예를 들어, 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치 스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)은 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 인공지능 기반의 악성코드 탐지 장치(130)는 독립적인 서버로서 수행될 수 있다.The user input/output unit 250 includes an environment for receiving user input and an environment for outputting specific information to the user, and includes an input adapter such as, for example, a touch pad, a touch screen, an on-screen keyboard, or a pointing device. It may include an output device including a device and an adapter such as a monitor or touch screen. In one embodiment, the user input/output unit 250 may correspond to a computing device connected through remote access, and in such case, the artificial intelligence-based malware detection device 130 may be performed as an independent server.

네트워크 입출력부(270)은 네트워크를 통해 사용자 단말(110)과 연결되기 위한 통신 환경을 제공하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다. 또한, 네트워크 입출력부(270)는 학습 데이터의 무선 전송을 위해 WiFi, 블루투스 등의 근거리 통신 기능이나 4G 이상의 무선 통신 기능을 제공하도록 구현될 수 있다.The network input/output unit 270 provides a communication environment for connection to the user terminal 110 through a network, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and It may include an adapter for communication such as VAN (Value Added Network). Additionally, the network input/output unit 270 may be implemented to provide short-range communication functions such as WiFi and Bluetooth or wireless communication functions of 4G or higher for wireless transmission of learning data.

도 3은 도 1에 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치를 설명하는 기능 블록도이다.FIG. 3 is a functional block diagram illustrating an artificial intelligence-based malware detection device for the structured document in FIG. 1.

도 3을 참조하면, 인공지능 기반의 악성코드 탐지 장치(130)는 문서 구조 검출부(310), 문서 피처 생성부(320), 악성코드 결정부(330) 및 제어부(340)를 포함할 수 있다.Referring to FIG. 3, the artificial intelligence-based malicious code detection device 130 may include a document structure detection unit 310, a document feature creation unit 320, a malicious code determination unit 330, and a control unit 340. .

문서 구조 검출부(310)는 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출한다. 예를 들어, 구조화 문서는 PDF (Portable Document Format) 문서에 해당할 수 있다.The document structure detection unit 310 identifies a document format related to a structured document and detects a plurality of document elements. For example, a structured document may correspond to a Portable Document Format (PDF) document.

도 5는 PDF 문서와 같은 구조화 문서를 설명하는 예시도이다.Figure 5 is an example diagram explaining a structured document such as a PDF document.

도 5에서, PDF 문서(파일)(500)은 헤더, 바디, 테이블 및 트레일러로 구성된다. 헤더는 PDF 버전을 포함할 수 있고, 바디는 오브젝트 집합을 포함할 수 있다. 여기에서, 오브젝트 집합은 복수의 오브젝트들(Objecti-1, Ojbecti, Objecti+1, ...)로 구성될 수 있다. 테이블은 간접 오브젝트 전역 참조 테이블에 해당하고, 트레일러는 전역 참조 오브젝트의 위치를 포함할 수 있다.In Figure 5, a PDF document (file) 500 consists of a header, body, table, and trailer. The header can contain a PDF version, and the body can contain a set of objects. Here, the object set may be composed of a plurality of objects (Objecti-1, Ojbecti, Objecti+1, ...). The table corresponds to the indirect object global reference table, and the trailer may contain the location of the global reference object.

일 실시예에서, 문서 구조 검출부(310)는 PDF 문서를 분석하여 바디의 오브젝트 집합에 있는 복수의 오브젝트들(Objecti-1, Ojbecti, Objecti+1, ...)을 상기 복수의 문서 구성요소들로서 검출할 수 있다. In one embodiment, the document structure detection unit 310 analyzes a PDF document and detects a plurality of objects (Objecti-1, Ojbecti, Objecti+1, ...) in the object set of the body as the plurality of document components. It can be detected.

오브젝트(Objecti)는 PDF의 실질적인 내용을 포함할 수 있고, 보다 구체적으로, 오브젝트 헤드, 컨텐츠(Contenti) 및 컨텐츠 스트림(Content Streami)를 포함한다.Objects may include the actual content of a PDF, and more specifically, include an object head, content, and content stream.

오브젝트 헤드는 오브젝트의 번호 및 버전을 포함할 수 있고, 컨텐츠(Contenti)는 실질적 내용에 해당하는 오브젝트 내부 데이터를 포함하고 컨텐츠 스트림(Content Streami)은 다른 오브젝트로 표현이 불가능한 상대적으로 크기가 큰 내용(예: 이미지) 또는 페이지 구성 오브젝트(파일 내용)을 포함할 수 있다.The object head may include the number and version of the object, the content contains internal data of the object corresponding to the actual content, and the content stream contains relatively large content (content) that cannot be expressed by other objects. may contain page configuration objects (e.g. images) or page configuration objects (file contents).

다시 도 3에서, 문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성한다. 여기에서, 피처 분석은 기존의 특정 패턴(문자열)을 탐지하는 것과 같이 특정 패턴을 이용하지 않고 새로운 악성코드를 탐지하기 위해 사용될 수 있다. 즉, 피처 분석은 복수의 문서 구성요소들에 대한 요약된 특징을 생성하는데 활용될 수 있다. 문서 피처 생성부(320)는 문서 피처를 피처벡터 또는 피처맵으로 구성할 수 있고, 피처맵으로 구성되는 경우, 풀링을 통해 피처맵의 크기를 줄일 수 있다.Again in FIG. 3, the document feature generator 320 generates document features through feature analysis of a plurality of document components. Here, feature analysis can be used to detect new malicious code without using a specific pattern, such as detecting an existing specific pattern (string). In other words, feature analysis can be used to generate summarized characteristics for multiple document components. The document feature generator 320 can configure the document features as feature vectors or feature maps, and when the document features are configured as feature maps, the size of the feature map can be reduced through pooling.

문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성할 수 있다. 메타, 스트림, 엔트로피 및 컨텐츠 분석은 도 6을 참조하여 설명한다.The document feature generator 320 may generate a plurality of feature elements constituting the document feature through meta, stream, entropy, and content analysis of the plurality of document elements. Meta, stream, entropy, and content analysis are explained with reference to FIG. 6.

도 6은 문서 구조에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 설명하는 예시도이다.Figure 6 is an example diagram explaining meta, stream, entropy, and content analysis of document structure.

도 6에서, 문서 구조의 분석 기법(600)은 메타, 스트림, 엔트로피 및 컨텐츠 분석을 포함한다.In Figure 6, document structure analysis techniques 600 include meta, stream, entropy, and content analysis.

여기에서, 아래에서 사용되는 용어의 정의는 다음과 같다.Here, the definitions of terms used below are as follows.

len(file)은 파일 크기 (단위: 바이트)에 해당하고, Si: 오브젝트(Objecti)의 컨텐츠 스트림(Content Streami)으로, 바이트 스트림으로 표현될 수 있다. len(Si)는 Si의 크기 (단위: 바이트)를 나타내고, ent(Si)는 Si의 엔트로피를 나타내며, tags(Si)는 Si에 포함된 태그들의 집합을 나타낸다.len(file) corresponds to the file size (unit: bytes), Si: Content Streami of the object (Objecti), and can be expressed as a byte stream. len(Si) represents the size of Si (unit: byte), ent(Si) represents the entropy of Si, and tags(Si) represents a set of tags included in Si.

문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 메타 분석(Meta)을 통해 스트림 길이의 합 및 파일 크기와 스트림 길이의 합 간의 비율을 산출할 수 있다.The document feature generator 320 calculates the sum of stream lengths through meta-analysis (Meta) of a plurality of document components. and sum of file size and stream length The ratio between the two can be calculated.

문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 스트림 분석을 통해 스트림 길이의 최대값 과 최소값 , 평균값 및 표준편차 를 산출할 수 있다.The document feature generator 320 determines the maximum stream length through stream analysis of a plurality of document components. and minimum value , average value and standard deviation can be calculated.

문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 엔트로피 분석을 통해 스트림 엔트로피의 최대값 과 최소값 , 평균값 및 표준편차 를 산출할 수 있다.The document feature generator 320 determines the maximum value of stream entropy through entropy analysis of a plurality of document components. and minimum value , average value and standard deviation can be calculated.

문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 컨텐츠 분석을 통해 스트림 태그 집합 을 산출할 수 있다.The document feature generator 320 sets stream tags through content analysis of a plurality of document components. can be calculated.

다시 도 3에서, 악성코드 결정부(330)는 문서 피처를 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정한다. 여기에서, 악성코드 탐지 모델은 인공지능 기반의 학습을 통해 구축될 수 있고, 예를 들어, 랜덤 포레스트 방식의 인공지능 모델로 구현될 수 있다.Again in FIG. 3, the malicious code determination unit 330 inputs document features into a malicious code detection model to determine the possibility of the structured document containing malicious code. Here, the malware detection model can be built through artificial intelligence-based learning and, for example, can be implemented as a random forest-type artificial intelligence model.

악성코드 결정부(330)는 악성코드 탐지모델을 통해 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 악성코드 포함 가능성을 결정한다.The malicious code determination unit 330 determines the possibility of containing malicious code based on the partial possibility of malicious code for each of the meta, stream, entropy, and content analysis constituting the document features through a malicious code detection model.

여기에서, 악성코드 탐지모델을 통한 메타 분석의 관점에서, 악성 행위를 시도하는 PDF은 오브젝트 스트림 및 오브젝트 컨텐츠에 악성 행위를 삽입해야 하는 특성상 정상 파일과의 스트림 길이 및 실제 파일 사이즈에 대한 그 비율을 상이하게 할 것으므로, 메타 분석은 이러한 상이점을 기초로 부분적인 악성코드 가능성을 결정할 수 있다.Here, from the perspective of meta-analysis through a malware detection model, PDFs attempting malicious actions must have malicious actions inserted into the object stream and object content, so the stream length compared to normal files and its ratio to the actual file size are Because they will differ, meta-analysis can determine partial malware likelihood based on these differences.

악성코드 탐지모델을 통한 스트림 분석의 관점에서, 악성 행위를 시도하는 PDF은 오브젝트에 악성 행위가 포함되었을 경우, 순수하게 악성 행위만을 위하여 만들어진 PDF의 경우 스트림 길이의 표준편차는 클 것이고 그 평균은 작을 것이고, 오브젝트 내부 태그의 종류 또한 작을 것이다. 즉, 정상 파일에 악성 행위를 시도하는 오브젝트가 삽입된 경우에는 그 오브젝트는 다른 오브젝트와는 상이한 양상을 보일 것이고, 이는 PDF 파일의 통계적 수치를 정상과는 다르게 만들 가능성이 있다. 스트림 분석은 이러한 다른점을 기초로 부분적인 악성코드 가능성을 결정할 수 있다.From the perspective of stream analysis through a malware detection model, if a PDF attempting to perform a malicious act contains a malicious act in an object, in the case of a PDF created purely for malicious acts, the standard deviation of the stream length will be large and the average will be small. And the type of tags inside the object will also be small. In other words, if an object attempting a malicious action is inserted into a normal file, the object will show a different aspect from other objects, which may make the statistical values of the PDF file different from normal. Stream analysis can determine the likelihood of partial malware based on these differences.

악성코드 탐지모델을 통한 엔트로피 분석의 관점에서, 악성 행위를 시도하는 오브젝트가 난독화 되어있을 경우, 엔트로피의 최대값은 굉장히 높아질 것이고, 이는 오브젝트들의 평균 엔트로피와 다른 양상일 가능성이 커 표준편차 또한 증가시킬 가능성이 있다. 특히, 악성 행위만을 위해 만들어진 PDF의 경우 평균과 최대값의 차이는 매우 클 것이다. 엔트로피 분석은 이러한 다른점을 기초로 부분적인 악성코드 가능성을 결정할 수 있다.From the perspective of entropy analysis through a malware detection model, if an object attempting a malicious action is obfuscated, the maximum value of entropy will be very high, and this is likely to be different from the average entropy of the objects, so the standard deviation will also increase. There is a possibility. In particular, in the case of PDFs created solely for malicious activity, the difference between the average and maximum values will be very large. Entropy analysis can determine the likelihood of partial malware based on these differences.

악성코드 탐지모델을 통한 컨텐츠 분석의 관점에서, 순수하게 악성 행위만을 위해 만들어진 경우, PDF의 내용은 의미를 담고 있지 않아 오브젝트 내부 태그의 개수가 다양하지 못할 가능성이 높다. 컨텐츠 분석은 이러한 다른점을 기초로 부분적인 악성코드 가능성을 결정할 수 있다.From the perspective of content analysis through a malware detection model, if it is created purely for malicious activity, the content of the PDF does not contain meaning, so it is highly likely that the number of tags inside the object will not be diverse. Content analysis can determine the likelihood of partial malware based on these differences.

악성코드 결정부(330)는 부분적인 악성코드 가능성을 종합하여 최종적인 악성코드 포함 가능성을 결정할 수 있다. 도 7은 랜덤 포레스트를 통한 악성코드 탐지모델로 악성코드 포함 가능성을 탐지한 결과를 나타내는 테이블이다.The malicious code decision unit 330 can determine the final possibility of containing malicious code by combining the possibilities of partial malicious code. Figure 7 is a table showing the results of detecting the possibility of containing malicious code using a malicious code detection model through a random forest.

도 7의 테이블(700)에서, 악성코드 탐지모델은 메타, 스트림, 엔트로피 및 컨텐츠 각각만을 활용할 때보다, 종합할 경우, 훨씬 더 나은 성능을 보여주고 있다.In the table 700 of FIG. 7, the malware detection model shows much better performance when combined than when using only meta, stream, entropy, and content.

일 실시예에서, 악성코드 결정부(330)는 부분적인 악성코드 가능성의 가중 평균값을 산출하여 악성코드 포함 가능성을 결정할 수 있다. 즉, 악성코드 결정부(330)는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 가중치를 부여하고 가중 평균값을 산출할 수 있다. 예를 들어, 가중치는 메타, 스트림, 엔트로피 및 컨텐츠 분석 과정에서 평균보다 큰 상이점에 비례하게 가중치를 부여할 수 있다.In one embodiment, the malicious code determination unit 330 may determine the possibility of containing malicious code by calculating a weighted average value of the possibility of partial malicious code. That is, the malicious code decision unit 330 can assign weights to each of meta, stream, entropy, and content analysis and calculate a weighted average value. For example, weights may be given proportionally to differences greater than the average in meta, stream, entropy, and content analysis processes.

제어부(290)는 인공지능 기반의 악성코드 탐지 장치(130)의 전체적인 동작을 제어하고, 문서 구조 검출부(310), 문서 피처 생성부(320) 및 악성코드 결정부(330) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The control unit 290 controls the overall operation of the artificial intelligence-based malware detection device 130, and controls the control flow or data between the document structure detection unit 310, the document feature creation unit 320, and the malware determination unit 330. You can manage the flow.

도 4는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 과정을 설명하는 흐름도이다.Figure 4 is a flowchart explaining the artificial intelligence-based malware detection process for structured documents.

도 4에서, 문서 구조 검출부(310)는 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출한다(단계 S410). 문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성한다(단계 S420). 악성코드 결정부(330)는 문서 피처를 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정한다.In FIG. 4, the document structure detection unit 310 identifies a document format related to a structured document and detects a plurality of document elements (step S410). The document feature generator 320 generates document features through feature analysis of a plurality of document components (step S420). The malicious code determination unit 330 inputs document features into a malicious code detection model to determine the possibility of the structured document containing malicious code.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described above with reference to preferred embodiments, those skilled in the art may make various modifications and changes to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that you can do it.

100: 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 시스템
110: 사용자 단말 150 : 사용자 데이터베이스
130 : 인공지능 기반의 악성코드 탐지 장치
310 : 문서 구조 검출부 320 : 문서 피처 생성부
330 : 악성코드 결정부 340 : 제어부
100: Artificial intelligence-based malware detection system for structured documents
110: user terminal 150: user database
130: Artificial intelligence-based malware detection device
310: Document structure detection unit 320: Document feature creation unit
330: Malicious code decision unit 340: Control unit

Claims (14)

구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하는 문서 구조 검출부;
상기 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성하는 문서 피처 생성부; 및
상기 문서 피처를 악성코드 탐지 모델에 입력하여 상기 구조화 문서의 악성코드 포함 가능성을 결정하고, 상기 악성코드 탐지모델을 통해 상기 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 상기 악성코드 포함 가능성을 결정하며, 상기 부분적인 악성코드 가능성의 가중 평균값을 산출하여 상기 악성코드 포함 가능성을 결정하는 악성코드 결정부를 포함하는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치.
a document structure detection unit that identifies a document format for a structured document and detects a plurality of document elements;
a document feature generator that generates document features through feature analysis of the plurality of document components; and
The document features are input into a malicious code detection model to determine the possibility of the structured document containing malicious code, and the partial malicious code for each of the meta, stream, entropy, and content constituting the document features is determined through the malicious code detection model. Artificial intelligence-based malicious code for a structured document including a malicious code determination unit that determines the possibility of containing the malicious code based on code possibility and determines the possibility of including the malicious code by calculating a weighted average value of the partial malicious code possibility. Detection device.
제1항에 있어서, 상기 문서 구조 검출부는
PDF (Portable Document Format) 문서를 분석하여 복수의 오브젝트들을 상기 복수의 문서 구성요소들로서 검출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
The method of claim 1, wherein the document structure detection unit
An artificial intelligence-based malware detection device characterized by analyzing a PDF (Portable Document Format) document and detecting a plurality of objects as the plurality of document components.
제1항에 있어서, 상기 문서 피처 생성부는
상기 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
The method of claim 1, wherein the document feature generator
An artificial intelligence-based malware detection device characterized in that it generates a plurality of feature elements constituting the document feature through meta, stream, entropy, and content analysis of the plurality of document components.
제2항에 있어서, 상기 문서 피처 생성부는
상기 복수의 문서 구성요소들에 대한 메타 분석을 통해 스트림 길이의 합 및 파일 크기와 스트림 길이의 합 간의 비율을 산출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
The method of claim 2, wherein the document feature generator
An artificial intelligence-based malware detection device, characterized in that the sum of stream lengths and the ratio between the file size and the sum of stream lengths are calculated through meta-analysis of the plurality of document components.
제2항에 있어서, 상기 문서 피처 생성부는
상기 복수의 문서 구성요소들에 대한 스트림 분석을 통해 스트림 길이의 최대값과 최소값, 평균값 및 표준편차를 산출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
The method of claim 2, wherein the document feature generator
An artificial intelligence-based malware detection device that calculates the maximum, minimum, average, and standard deviation of the stream length through stream analysis of the plurality of document components.
제2항에 있어서, 상기 문서 피처 생성부는
상기 복수의 문서 구성요소들에 대한 엔트로피 분석을 통해 스트림 엔트로피의 최대값과 최소값, 평균값 및 표준편차를 산출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
The method of claim 2, wherein the document feature generator
An artificial intelligence-based malware detection device characterized by calculating the maximum, minimum, average, and standard deviation of stream entropy through entropy analysis of the plurality of document components.
제2항에 있어서, 상기 문서 피처 생성부는
상기 복수의 문서 구성요소들에 대한 컨텐츠 분석을 통해 스트림 태그 집합을 산출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
The method of claim 2, wherein the document feature generator
An artificial intelligence-based malware detection device characterized by calculating a set of stream tags through content analysis of the plurality of document components.
삭제delete 삭제delete 제1항에 있어서, 상기 악성코드 결정부는
상기 악성코드 탐지모델을 랜덤 포레스트 방식의 인공지능 모델로 구현하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
The method of claim 1, wherein the malicious code determination unit
An artificial intelligence-based malware detection device characterized by implementing the malware detection model as a random forest-type artificial intelligence model.
악성코드 탐지 장치에서 수행되는 악성코드 탐지 방법에 있어서,
문서 구조 검출부를 통해, 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하는 문서 구조 검출단계;
문서 피처 생성부를 통해, 상기 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성하는 문서 피처 생성단계; 및
악성코드 결정부를 통해, 상기 문서 피처를 악성코드 탐지 모델에 입력하여 상기 구조화 문서의 악성코드 포함 가능성을 결정하고, 상기 악성코드 탐지모델을 통해 상기 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 상기 악성코드 포함 가능성을 결정하며, 상기 부분적인 악성코드 가능성의 가중 평균값을 산출하여 상기 악성코드 포함 가능성을 결정하는 악성코드 결정단계를 포함하는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 방법.
In the malware detection method performed by the malware detection device,
A document structure detection step of detecting a plurality of document elements by identifying a document format related to a structured document through a document structure detection unit;
A document feature generation step of generating document features through feature analysis of the plurality of document components through a document feature creation unit; and
Through the malicious code determination unit, the document features are input into a malicious code detection model to determine the possibility of the structured document containing malicious code, and meta, stream, entropy and content analysis that constitute the document features are performed through the malicious code detection model. A structured document including a malicious code determination step of determining the possibility of containing the malicious code based on the possibility of partial malicious code for each, and calculating the weighted average value of the possibility of the partial malicious code to determine the possibility of including the malicious code. Malware detection method based on artificial intelligence.
제11항에 있어서, 상기 문서 구조 검출단계는
PDF (Portable Document Format) 문서를 분석하여 복수의 오브젝트들을 상기 복수의 문서 구성요소들로서 검출하는 단계를 포함하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 방법.
The method of claim 11, wherein the document structure detection step is
An artificial intelligence-based malware detection method comprising analyzing a PDF (Portable Document Format) document and detecting a plurality of objects as the plurality of document components.
제11항에 있어서, 상기 문서 피처 생성단계는
상기 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성하는 단계를 포함하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 방법.
The method of claim 11, wherein the document feature creation step is
An artificial intelligence-based malware detection method comprising generating a plurality of feature elements constituting the document feature through meta, stream, entropy, and content analysis of the plurality of document elements.
삭제delete
KR1020220007804A 2022-01-19 Apparatus and method for detecting ai based malignant code in structured document KR102662965B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220007804A KR102662965B1 (en) 2022-01-19 Apparatus and method for detecting ai based malignant code in structured document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220007804A KR102662965B1 (en) 2022-01-19 Apparatus and method for detecting ai based malignant code in structured document

Publications (2)

Publication Number Publication Date
KR20230111844A KR20230111844A (en) 2023-07-26
KR102662965B1 true KR102662965B1 (en) 2024-05-03

Family

ID=

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Charles Smutz and Angelos Stavrou, "Malicious PDF Detection using Metadata and Structural Features"(2012.12.)*
Luping Liu et al., "Capturing the symptoms of malicious code in electronic documents by file's entropy signal combined with machine learning"(2019.09.)*

Similar Documents

Publication Publication Date Title
Yakura et al. Malware analysis of imaged binary samples by convolutional neural network with attention mechanism
Xiao et al. Malware detection based on deep learning of behavior graphs
US10614243B2 (en) Privacy detection of a mobile application program
TWI515598B (en) Method of generating distillation malware program, method of detecting malware program and system thereof
Yakura et al. Neural malware analysis with attention mechanism
US10505960B2 (en) Malware detection by exploiting malware re-composition variations using feature evolutions and confusions
Zhu et al. Android malware detection based on multi-head squeeze-and-excitation residual network
US11809556B2 (en) System and method for detecting a malicious file
Nguyen et al. Detecting repackaged android applications using perceptual hashing
CN107403093A (en) The system and method for detecting unnecessary software
KR20180133726A (en) Appratus and method for classifying data using feature vector
JP5441043B2 (en) Program, information processing apparatus, and information processing method
Vashishtha et al. An Ensemble approach for advance malware memory analysis using Image classification techniques
KR102662965B1 (en) Apparatus and method for detecting ai based malignant code in structured document
CN111368128A (en) Target picture identification method and device and computer readable storage medium
KR20210035987A (en) Document search device and method based on jaccard model
Chae et al. Effective and efficient detection of software theft via dynamic API authority vectors
KR20230111844A (en) Apparatus and method for detecting ai based malignant code in structured document
CN114579965A (en) Malicious code detection method and device and computer readable storage medium
JP2011034377A (en) Information processor, information processing method and program
KR102255600B1 (en) Malware documents detection device and method using generative adversarial networks
CN114143074A (en) Webshell attack recognition device and method
KR102269652B1 (en) Machine learning-based learning vector generation device and method for analyzing security logs
Peng et al. ACTS: extracting android app topological signature through graphlet sampling
Monika et al. Ensemble-based stegomalware detection system for hidden ransomware attack