KR102437278B1 - 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법 - Google Patents
머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법 Download PDFInfo
- Publication number
- KR102437278B1 KR102437278B1 KR1020200146913A KR20200146913A KR102437278B1 KR 102437278 B1 KR102437278 B1 KR 102437278B1 KR 1020200146913 A KR1020200146913 A KR 1020200146913A KR 20200146913 A KR20200146913 A KR 20200146913A KR 102437278 B1 KR102437278 B1 KR 102437278B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- given
- malicious code
- binary classification
- signature
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000010801 machine learning Methods 0.000 title abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 49
- 239000013598 vector Substances 0.000 claims abstract description 45
- 238000013515 script Methods 0.000 claims description 40
- 238000007637 random forest analysis Methods 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 13
- 238000003066 decision tree Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 16
- 238000002474 experimental method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 230000002155 anti-virotic effect Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 2는 도 1의 문서형 악성코드 탐지 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 문서형 악성코드 탐지 장치의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 문서형 악성코드 탐지 과정을 설명하는 순서도이다.
도 5는 본 발명에 따른 문서형 악성코드 탐지 방법을 설명하는 도면이다.
도 6은 정상 데이터 클러스터링 및 다운샘플링을 설명하는 도면이다.
도 7은 다운샘플링을 적용 여부별 테스트 결과를 설명하는 도면이다.
도 8은 시그니처 매칭 탐지 성능 및 상용 안티바이러스 제품과의 탐지 성능 비교를 설명하는 도면이다.
도 9는 특징 벡터 크기에 따른 테스트 결과를 설명하는 도면이다.
도 10은 머신러닝 모델과 시그니처 매칭을 결합한 방식의 테스트 결과를 설명하는 도면이다.
110: 사용자 단말 130: 문서형 악성코드 탐지 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 문서 학습모델 생성부 330: 문서 이진 분류부
350: 시그니처 처리부 370: 악성파일 결정부
390: 제어부
Claims (14)
- 악성코드 문서 및 정상코드 문서 각각에서 피처벡터를 추출하여 문서 학습모델을 생성하는 문서 학습모델 생성부;
주어진 문서에 관한 피처벡터를 상기 문서 학습모델에 입력하여 상기 주어진 문서를 상기 악성코드 문서 또는 상기 정상코드 문서로 이진 분류하는 문서 이진 분류부;
상기 주어진 문서에서 시그니처 데이터베이스에 있는 시그니처를 검출하여 상기 주어진 문서가 상기 악성코드 문서에 해당하는지 여부를 결정하는 시그니처 처리부; 및
상기 문서 이진 분류부의 이진 분류 및 상기 시그니처 처리부의 결정을 진행하여 상기 주어진 문서가 악성코드를 포함하고 있는지 여부를 최종적으로 결정하는 악성파일 결정부를 포함하되,
상기 문서 이진 분류부는 아래의 수학식을 통해 상기 주어진 문서의 이진 분류를 수행하고,
상기 악성파일 결정부는 상기 문서 이진 분류부 및 상기 시그니처 처리부 중 어느 하나가 먼저 상기 주어진 문서가 상기 악성코드를 포함하고 있는 것으로 결정하는 경우에는 다른 하나의 수행에 관계없이 상기 주어진 문서를 상기 악성코드 문서로 결정하고, 상기 문서 이진 분류부의 이진 분류 및 상기 시그니처 처리부의 결정을 동시에 진행하되 현재의 작업 부하량이 특정 기준 이상이면 상기 이진 분류의 이전에 상기 문서 학습모델 생성부에 의해 수행되는 전처리 과정에서 스크립트가 존재하지 않는 경우에는 상기 시그니처 처리부의 수행을 생략하는 것을 특징으로 하는 문서형 악성코드 탐지 장치.
[수학식]
여기에서, 대상 문서가 n개 주어졌을 때, 각 문서는 Xi로 표현할 수 있음(1≤i≤n).
Yi는 문서 Xi에 대한 실제 응답이고, 는 추정 응답에 해당함.
랜덤 포레스트(RF)는 결정 트리 T개로 구성되고, 각 결정 트리를 Aj라고 표현함 (1≤j≤T). 결정 트리 Aj가 구성되면, Aj(x)에 포함된 학습 부분에 대한 정보만을 사용하여 쿼리 지점 x에 대한 결과를 추정함. 주어진 쿼리 지점 x를 N(Aj(x))라고 표현하고, 이것은 Aj(x)에 속한 샘플들의 수를 의미함
- 제1항에 있어서, 상기 문서 학습모델 생성부는
상기 악성코드 문서 및 상기 정상코드 문서를 전처리하여 스크립트를 추출하는 것을 특징으로 하는 문서형 악성코드 탐지 장치.
- 제2항에 있어서, 상기 문서 학습모델 생성부는
상기 스크립트를 스크립트 분석기에 제공하여 상기 피처벡터를 생성하는 것을 특징으로 하는 문서형 악성코드 탐지 장치.
- 제3항에 있어서, 상기 문서 학습모델 생성부는
상기 스크립트에 관한 문서 구조 경로 스트링들을 기초로 상기 피처벡터를 생성하는 것을 특징으로 하는 문서형 악성코드 탐지 장치.
- 제1항에 있어서, 상기 문서 학습모델 생성부는
상기 피처벡터를 기초로 랜덤 포레스트 알고리즘으로 상기 문서 학습모델을 구축하는 것을 특징으로 하는 문서형 악성코드 탐지 장치.
- 삭제
- 제1항에 있어서, 상기 시그니처 처리부는
상기 주어진 문서가 실행 파일, DDE(Dynamic Data Exchange) 명령코드 또는 스크립트의 포함여부를 분석하여 상기 시그니처를 검출하는 것을 특징으로 하는 문서형 악성코드 탐지 장치.
- 제7항에 있어서, 상기 시그니처 처리부는
상기 주어진 문서가 실행 파일, DDE(Dynamic Data Exchange) 명령코드 또는 스크립트의 포함하지 않는 경우에는 상기 주어진 문서를 상기 정상코드 문서에 해당하는 것으로 결정하는 것을 특징으로 하는 문서형 악성코드 탐지 장치.
- 삭제
- 삭제
- 문서 학습모델 생성부, 문서 이진 분류부, 시그니처 처리부 및 악성파일 결정부를 포함하는 문서형 악성코드 탐지 장치에서 수행되는 문서형 악성코드 탐지 방법에 있어서,
상기 문서 학습모델 생성부를 통해, 악성코드 문서 및 정상코드 문서 각각에서 피처벡터를 추출하여 문서 학습모델을 생성하는 단계;
상기 문서 이진 분류부를 통해, 주어진 문서에 관한 피처벡터를 상기 문서 학습모델에 입력하여 상기 주어진 문서를 상기 악성코드 문서 또는 상기 정상코드 문서로 이진 분류하는 단계;
상기 시그니처 처리부를 통해, 상기 주어진 문서에서 시그니처 데이터베이스에 있는 시그니처를 검출하여 상기 주어진 문서가 상기 악성코드 문서에 해당하는지 여부를 결정하는 단계; 및
상기 악성파일 결정부를 통해, 상기 문서 이진 분류부의 이진 분류 및 상기 시그니처 처리부의 결정을 진행하여 상기 주어진 문서가 악성코드를 포함하고 있는지 여부를 최종적으로 결정하는 단계를 포함하되,
상기 이진 분류하는 단계는 아래의 수학식을 통해 상기 주어진 문서의 이진 분류를 수행하는 단계를 포함하고,
상기 최종적으로 결정하는 단계는 상기 문서 이진 분류부 및 상기 시그니처 처리부 중 어느 하나가 먼저 상기 주어진 문서가 상기 악성코드를 포함하고 있는 것으로 결정하는 경우에는 다른 하나의 수행에 관계없이 상기 주어진 문서를 상기 악성코드 문서로 결정하는 단계를 포함하고, 상기 문서 이진 분류부의 이진 분류 및 상기 시그니처 처리부의 결정을 동시에 진행하되 현재의 작업 부하량이 특정 기준 이상이면 상기 이진 분류의 이전에 상기 문서 학습모델 생성부에 의해 수행되는 전처리 과정에서 스크립트가 존재하지 않는 경우에는 상기 시그니처 처리부의 수행을 생략하는 단게를 포함하는 것을 특징으로 하는 문서형 악성코드 탐지 방법.
[수학식]
여기에서, 대상 문서가 n개 주어졌을 때, 각 문서는 Xi로 표현할 수 있음(1≤i≤n).
Yi는 문서 Xi에 대한 실제 응답이고, 는 추정 응답에 해당함.
랜덤 포레스트(RF)는 결정 트리 T개로 구성되고, 각 결정 트리를 Aj라고 표현함 (1≤j≤T). 결정 트리 Aj가 구성되면, Aj(x)에 포함된 학습 부분에 대한 정보만을 사용하여 쿼리 지점 x에 대한 결과를 추정함. 주어진 쿼리 지점 x를 N(Aj(x))라고 표현하고, 이것은 Aj(x)에 속한 샘플들의 수를 의미함
- 제11항에 있어서,
상기 문서 학습모델을 생성하는 단계는
상기 악성코드 문서 및 상기 정상코드 문서를 전처리하여 스크립트를 추출하는 단계; 및
상기 스크립트를 스크립트 분석기에 제공하여 상기 피처벡터를 생성하는 단계를 포함하는 것을 특징으로 하는 문서형 악성코드 탐지 방법.
- 제11항에 있어서,
상기 악성코드 문서에 해당하는지 여부를 결정하는 단계는
상기 주어진 문서가 실행 파일, DDE(Dynamic Data Exchange) 명령코드 또는 스크립트의 포함여부를 분석하여 상기 시그니처를 검출하는 단계를 포함하는 것을 특징으로 하는 문서형 악성코드 탐지 방법.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200146913A KR102437278B1 (ko) | 2020-11-05 | 2020-11-05 | 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200146913A KR102437278B1 (ko) | 2020-11-05 | 2020-11-05 | 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220060843A KR20220060843A (ko) | 2022-05-12 |
KR102437278B1 true KR102437278B1 (ko) | 2022-08-29 |
Family
ID=81590256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200146913A Active KR102437278B1 (ko) | 2020-11-05 | 2020-11-05 | 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102437278B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12093676B2 (en) * | 2022-01-14 | 2024-09-17 | Dell Products L.P. | Intelligent management of software deployment based on code change |
KR102754864B1 (ko) * | 2022-09-19 | 2025-01-14 | 한국과학기술원 | Hwp 문서에 포함된 악성코드 분석을 위한 학습데이터의 생성 방법 및 이를 수행하는 시스템 |
CN116975865B (zh) * | 2023-08-11 | 2024-05-28 | 北京天融信网络安全技术有限公司 | 恶意Office文档检测方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101851233B1 (ko) * | 2018-02-13 | 2018-04-23 | (주)지란지교시큐리티 | 파일 내 포함된 악성 위협 탐지 장치 및 방법, 그 기록매체 |
KR101858620B1 (ko) * | 2017-01-10 | 2018-05-17 | 고려대학교 산학협력단 | 기계 학습을 이용한 자바스크립트 분석 장치 및 방법 |
KR102093275B1 (ko) * | 2019-05-23 | 2020-03-25 | (주)지란지교시큐리티 | 악성코드 감염 유도정보 판별 시스템, 프로그램이 기록된 저장매체 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101296716B1 (ko) | 2011-12-14 | 2013-08-20 | 한국인터넷진흥원 | 피디에프 문서형 악성코드 탐지 시스템 및 방법 |
-
2020
- 2020-11-05 KR KR1020200146913A patent/KR102437278B1/ko active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101858620B1 (ko) * | 2017-01-10 | 2018-05-17 | 고려대학교 산학협력단 | 기계 학습을 이용한 자바스크립트 분석 장치 및 방법 |
KR101851233B1 (ko) * | 2018-02-13 | 2018-04-23 | (주)지란지교시큐리티 | 파일 내 포함된 악성 위협 탐지 장치 및 방법, 그 기록매체 |
KR102093275B1 (ko) * | 2019-05-23 | 2020-03-25 | (주)지란지교시큐리티 | 악성코드 감염 유도정보 판별 시스템, 프로그램이 기록된 저장매체 및 방법 |
Non-Patent Citations (1)
Title |
---|
Nedim rndić and Pavel Laskov, "Hidost: a static machine-learning-based detector of malicious files"(2016.09.) |
Also Published As
Publication number | Publication date |
---|---|
KR20220060843A (ko) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vullam et al. | An Enhancing Network Security: A Stacked Ensemble Intrusion Detection System for Effective Threat Mitigation | |
Baldwin et al. | Leveraging support vector machine for opcode density based detection of crypto-ransomware | |
WO2021077642A1 (zh) | 一种基于异构图嵌入的网络空间安全威胁检测方法及系统 | |
CN109145600B (zh) | 使用静态分析元素检测恶意文件的系统和方法 | |
Mehtab et al. | AdDroid: rule-based machine learning framework for android malware analysis | |
KR102437278B1 (ko) | 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법 | |
JP2020115320A (ja) | 悪意あるファイルを検出するためのシステムおよび方法 | |
Falor et al. | A deep learning approach for detection of SQL injection attacks using convolutional neural networks | |
Agarkar et al. | Malware detection & classification using machine learning | |
Fang et al. | A new malware classification approach based on malware dynamic analysis | |
Alazab et al. | Detecting malicious behaviour using supervised learning algorithms of the function calls | |
Liu et al. | MOBIPCR: Efficient, accurate, and strict ML-based mobile malware detection | |
He et al. | Detection of Malicious PDF Files Using a Two‐Stage Machine Learning Algorithm | |
Chen et al. | ELAMD: An ensemble learning framework for adversarial malware defense | |
KR102255600B1 (ko) | Gan을 이용한 문서형 악성코드 탐지 장치 및 방법 | |
Zhang et al. | Smartdetect: a smart detection scheme for malicious web shell codes via ensemble learning | |
Raymond et al. | Investigation of Android Malware Using Deep Learning Approach. | |
Hindarto et al. | Android-manifest extraction and labeling method for malware compilation and dataset creation. | |
WO2019223637A1 (zh) | 恶意文件检测方法、装置、设备及计算机可读存储介质 | |
KR20180133726A (ko) | 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법 | |
Shi et al. | SFCGDroid: android malware detection based on sensitive function call graph | |
Chen et al. | DCM-GIFT: An Android malware dynamic classification method based on gray-scale image and feature-selection tree | |
Hang et al. | Malware detection method of android application based on simplification instructions | |
KR20210035987A (ko) | 자카드 모델 기반의 문서 검색 장치 및 방법 | |
Kutlay et al. | Static based classification of malicious software using machine learning methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20201105 |
|
PA0201 | Request for examination | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20220128 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20220713 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220824 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20220825 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |