KR102495329B1 - Malware detection system using lstm method to provide a service vaccine platform with high detction rate - Google Patents
Malware detection system using lstm method to provide a service vaccine platform with high detction rate Download PDFInfo
- Publication number
- KR102495329B1 KR102495329B1 KR1020220099895A KR20220099895A KR102495329B1 KR 102495329 B1 KR102495329 B1 KR 102495329B1 KR 1020220099895 A KR1020220099895 A KR 1020220099895A KR 20220099895 A KR20220099895 A KR 20220099895A KR 102495329 B1 KR102495329 B1 KR 102495329B1
- Authority
- KR
- South Korea
- Prior art keywords
- malware
- analysis
- neural network
- unit
- data
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title abstract description 23
- 229960005486 vaccine Drugs 0.000 title description 3
- 238000004458 analytical method Methods 0.000 claims abstract description 140
- 238000013528 artificial neural network Methods 0.000 claims abstract description 67
- 238000003745 diagnosis Methods 0.000 claims abstract description 67
- 230000003068 static effect Effects 0.000 claims abstract description 39
- 230000006403 short-term memory Effects 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 9
- 238000012805 post-processing Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000012856 packing Methods 0.000 claims description 4
- 230000008676 import Effects 0.000 claims description 3
- 238000002360 preparation method Methods 0.000 claims description 2
- 230000002155 anti-virotic effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 238000003062 neural network model Methods 0.000 description 9
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000010219 correlation analysis Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 229940028617 conventional vaccine Drugs 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012546 transfer Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Virology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
본 발명은 악성코드 탐지 시스템에 관한 것으로, 보다 상세히는 장단기 메모리(Long Short-Term Memory, LSTM) 신경망을 적용하여 멀웨어(Malicious software, Malware) 탐지 성능이 향상된 악성코드 탐지 시스템에 관한 것이다.The present invention relates to a malicious code detection system, and more particularly, to a malicious code detection system with improved malware detection performance by applying a long short-term memory (LSTM) neural network.
멀웨어는 정상적인 기능을 위해 만들어진 것이 아닌, 사용자에게 해악을 끼치는 악의적 목적으로 만들어진 악성프로그램을 의미한다. 여기서 멀웨어는 형태나 목적에 따라 스파이웨어, 애드웨어, 랜섬웨어 등으로 분류될 수 있으며, 사용자단말에는 안티멀웨어가 구현되어 상기 멀웨어를 실시간으로 탐지하는 기능이 제공되고 있다. 여기서 상기 안티멀웨어는 흔히 백신이라고 많이 불리며, 기존의 백신은 사전에 수집된 식별데이터인 시그니처를 이용하여 멀웨어를 탐지하는 것이 일반적이다. 상술한 시그니처 방식의 백신은 시그니처와 멀웨어에 대한 패턴 매칭을 통해 탐지됨에 따라, 최신 멀웨어를 탐지하기 위해서는 지속 업데이트가 필수적이며, 멀웨어가 위변조되는 경우에는 탐지가 어려운 한계점이 있었다.Malware refers to malicious programs created for malicious purposes that harm users, not for normal functions. Here, malware can be classified into spyware, adware, ransomware, etc. according to its form or purpose, and anti-malware is implemented in a user terminal to provide a function of detecting the malware in real time. Here, the anti-malware is often called a vaccine, and conventional vaccines generally detect malware using signatures, which are identification data collected in advance. As the above-described signature-type vaccine is detected through pattern matching of signatures and malware, continuous updates are essential to detect the latest malware, and detection is difficult when malware is forged or altered.
이에 따라 한국등록특허공보 제10-2174475호(이하, '종래기술'이라 함.)에서는 위와 같은 한계점을 극복하기 위해 머신러닝을 이용하여 애플리케이션의 난독화 또는 패킹 여부를 식별하는 시스템과, 그것을 포함하는 은폐된 멀웨어 탐지 분류 시스템 및 방법이 개시되어 있다. 위 종래기술에서는 도 1에서 도시된 바와 같이, 은폐 검사부, 데이터 추출부, 데이터 변환부 및 멀웨어 진단부를 포함하되, 상기 멀웨어 진단부가 CNN(Convolutional Neural Network) 등의 정적진단부와 RNN(Recurrent Neural Network) 등의 동적진단부를 포함하여 악성코드를 탐지 능력이 향상되는 것을 특징으로 한다.Accordingly, Korean Registered Patent Publication No. 10-2174475 (hereinafter referred to as 'prior art') discloses a system for identifying whether an application is obfuscated or packed using machine learning to overcome the above limitations, including it. A concealed malware detection classification system and method are disclosed. As shown in FIG. 1, the prior art includes a concealment inspection unit, a data extraction unit, a data conversion unit, and a malware diagnosis unit, wherein the malware diagnosis unit includes a static diagnosis unit such as a convolutional neural network (CNN) and a recurrent neural network (RNN) ), etc., to improve the ability to detect malicious codes.
위 선행문헌과 같이 시그니처 방식에만 국한된 기술을 탈피하여 인공지능 방식을 적용한 경우에는 보다 월등한 탐지 성능을 가지면서도 위변조된 멀웨어 대한 탐지 성능 또한 향상되는 장점이 있다. 하지만, 멀웨어 진단에 있어서 기존 RNN 신경망을 사용하는 경우에 관련 정보와 그 정보를 사용하는 지점 사이 거리가 멀 경우 역전파시 그래디언트가 점차 줄어 학습능력이 크게 저하되는 기울기 소실 문제(Vanishing gradient problem)가 발생되는 단점이 있음에 따라 장기간 사용 시에 데이터가 소실되어 성능이 저하가 되는 문제로 이어질 수 있다. As in the preceding literature, when the artificial intelligence method is applied by breaking away from the technology limited to the signature method, there is an advantage in that the detection performance for forged malware is also improved while having superior detection performance. However, in the case of using an existing RNN neural network in malware diagnosis, if the distance between the relevant information and the point where the information is used is long, the gradient gradually decreases during backpropagation, resulting in a vanishing gradient problem in which the learning ability is greatly reduced. According to the disadvantage of being used for a long time, data is lost during long-term use, which can lead to a problem of performance deterioration.
본 발명은 종래 기술의 문제점을 해결하기 위해 안출된 것으로, 본 발명은 멀웨어 탐지 성능이 향상되도록 LSTM 신경망을 이용한 인공지능 분석이 적용된 악성코드 탐지 시스템에 관한 것이다.The present invention was made to solve the problems of the prior art, and the present invention relates to a malware detection system to which artificial intelligence analysis using an LSTM neural network is applied to improve malware detection performance.
상기한 바와 같은 목적을 달성하기 위한 본 발명에 따른 분석대상 파일을 입력받는 데이터 입력모듈; LSTM(Long Short-Term Memory) 신경망을 포함하는 신경망 모듈; 입력된 멀웨어의 특성을 이용하여 상기 LSTM 신경망을 학습시키는 신경망 학습부; 및 상기 분석대상 파일의 데이터를 상기 LSTM 신경망에 입력시켜 멀웨어 포함 여부를 진단하는 멀웨어 진단부;를 포함하고, 상기 멀웨어 진단부는, 상기 분석대상 파일의 데이터를 대상으로 정적 분석으로 진단하는 정적진단부 및 상기 분석대상 파일을 실행하여 동적 분석으로 진단하는 동적진단부를 포함하고, 상기 정적진단부에서 상기 LSTM 신경망을 통해 멀웨어 포함 여부를 진단할 수 있다.A data input module for receiving an analysis target file according to the present invention to achieve the above object; A neural network module including a Long Short-Term Memory (LSTM) neural network; a neural network learning unit for learning the LSTM neural network using the input characteristics of the malware; and a malware diagnosis unit inputting the data of the analysis target file into the LSTM neural network to diagnose whether malware is included, wherein the malware diagnosis unit diagnoses the data of the analysis target file through static analysis. and a dynamic diagnosis unit that executes the file to be analyzed and diagnoses it through dynamic analysis, and the static diagnosis unit can diagnose whether or not malware is included through the LSTM neural network.
또한, 상기 동적진단부는, 복수의 가상 머신(Virtual Machine, VM) 환경에서 멀웨어 탐지를 위해 동적 분석으로 상기 분석대상 파일을 진단하는 가상 머신 분석부를 포함할 수 있다.In addition, the dynamic diagnosis unit may include a virtual machine analyzer for diagnosing the analysis target file through dynamic analysis to detect malware in a plurality of virtual machine (VM) environments.
또한, 상기 가상 머신 분석부는, 복수의 가상 머신 중 일부의 가상 머신이 서로 다른 운영체제(OS: Operating System)를 구동하고, 각 운영체제 상에서 분석대상 파일을 실행하여 정보를 수집할 수 있다.In addition, the virtual machine analyzer may collect information by allowing some of the plurality of virtual machines to run different operating systems (OS) and to execute analysis target files on each operating system.
또한, 상기 동적진단부는, 적어도 하나의 리얼 머신(Real Machine) 환경에서 멀웨어 탐지를 위해 동적분석으로 상기 분석대상 파일을 진단하는 리얼 머신 분석부를 더 포함하되, 상기 가상 머신 분석부는, 분석대상 파일에 우회로그가 존재하는지 탐지하되, 상기 리얼 머신 분석부는, 상기 가상 머신 분석부로부터 가상 머신 분석부를 우회하기 위한 우회로그가 포함된 분석대상 파일을 전송 받을 수 있다.In addition, the dynamic diagnosis unit further includes a real machine analysis unit for diagnosing the analysis target file by dynamic analysis to detect malware in at least one real machine environment, wherein the virtual machine analysis unit determines the analysis target file While detecting whether a detour log exists, the real machine analyzer may receive an analysis target file including a detour log for bypassing the virtual machine analyzer from the virtual machine analyzer.
또한, 상기 신경망 학습부는, 정상파일과 멀웨어를 포함하는 악성파일의 정보를 수집하고 상기 정상파일과 악성파일의 특성을 각각 분석하여 상기 LSTM 신경망을 학습시키되, 상기 정상파일 및 악성파일의 특성은 헤더정보, 사이즈 및 패킹정보, Import API, Export API, 파일종류 및 크기 중 적어도 하나 이상을 포함할 수 있다.In addition, the neural network learning unit collects information on normal files and malicious files including malware, analyzes the characteristics of the normal files and malicious files, and learns the LSTM neural network. It may include at least one of information, size and packing information, Import API, Export API, file type and size.
아울러 본 발명에 따른 안티멀웨어 클라우드 서버는 상술한 악성코드 탐지 시스템; 사용자단말로부터 분석대상 파일을 네트워크로 수신받는 통신부; 및 상기 사용자단말에 설치되어 상기 서버로부터 LSTM 신경망의 정보를 제공받는 애플리케이션;을 포함하고, 사용자단말로부터 분석대상 파일을 수신받으면 상기 분석대상 파일의 멀웨어 포함여부를 진단하되, 진단 결과를 학습한 상기 LSTM 신경망을 상기 사용자단말에 제공할 수 있다.In addition, the anti-malware cloud server according to the present invention includes the above-described malicious code detection system; A communication unit for receiving analysis target files from a user terminal through a network; And an application installed in the user terminal and receiving information of the LSTM neural network from the server; and upon receiving the analysis target file from the user terminal, diagnosing whether the analysis target file contains malware, and learning the diagnosis result An LSTM neural network may be provided to the user terminal.
아울러 본 발명에 따른 안티멀웨어 클라우드 서버는 상술한 악성코드 탐지 시스템; 사용자단말로부터 분석대상 파일을 네트워크로 수신받는 통신부; 수신된 분석대상 파일을 분석 전까지 임시 저장하는 메모리부; 상기 정적진단부 및 동적진단부에서 각각 진단한 분석결과를 저장하는 데이터베이스; 및 상기 데이터베이스에 저장된 분석결과에 대해 후가공하는 데이터 보정모듈;을 포함하고, 상기 데이터 보정모듈은, 정적 분석 및 동적 분석이 끝난 데이터에 대해서 멀웨어 종류에 따른 위험도를 관련 데이터로 저장하도록 후가공할 수 있다.In addition, the anti-malware cloud server according to the present invention includes the above-described malicious code detection system; A communication unit for receiving analysis target files from a user terminal through a network; a memory unit for temporarily storing the received analysis target file until analysis; a database storing analysis results respectively diagnosed by the static diagnosis unit and the dynamic diagnosis unit; and a data correction module for post-processing the analysis results stored in the database, wherein the data correction module can post-process data after static analysis and dynamic analysis to store the risk according to the type of malware as related data. .
또한, 상기 데이터베이스는 복수의 기억장치를 포함하되, 복수의 상기 기억장치는, 복수의 그룹데이터에 대해서 각 그룹별로 데이터셋이 구축된 그룹DB; 복수의 사용자데이터에 대해서 각 사용자별로 데이터셋이 구축된 개인DB; 및 각 사용자가 속하는 그룹에 대한 정보가 저장되는 관계DB;를 포함할 수 있다.In addition, the database includes a plurality of storage devices, and the plurality of storage devices include: a group DB in which data sets are constructed for each group for a plurality of group data; A personal DB in which data sets are constructed for each user for a plurality of user data; and a relationship DB in which information on groups to which each user belongs is stored.
또한, 상기 그룹DB는 기관, 기업, 정부지차체 및 학교 중 적어도 하나를 포함하는 복수의 그룹이 사내 인트라넷에 의해서 구분되고, 상기 관계DB에는 그룹들 간의 연관관계 데이터가 저장될 수 있다.In addition, in the group DB, a plurality of groups including at least one of institutions, corporations, local governments, and schools are divided by an in-house intranet, and relation data between groups may be stored in the relation DB.
또한, 상기 메모리부는 소정의 메모리를 가지되, 본 발명에 따른 안티멀웨어 클라우드 서버는 상기 메모리부의 데이터 최대량에 대비하여 사용률이 N1% 보다 큰 경우, 상기 메모리부에 임시 저장된 파일을 아래의 단계를 통해 처리할 수 있다.In addition, the memory unit has a predetermined memory, and when the anti-malware cloud server according to the present invention has a usage rate greater than N 1 % compared to the maximum amount of data in the memory unit, the files temporarily stored in the memory unit are stored in the memory unit through the following steps. can be processed through
a) 파일을 업로드한 사용자와 속하는 그룹이 있는지 유무를 판별하는 단계;a) determining whether there is a group belonging to the user who uploaded the file;
b) 상기 a단계에서 매칭된 그룹이 있는 경우, 해당 그룹에서 기 탐지된 멀웨어가 있는지 여부를 검색하는 단계;b) if there is a group matched in step a, searching for previously detected malware in the corresponding group;
c) 해당 그룹에서 기 탐지된 멀웨어가 있는 경우, 기 탐지된 멀웨어만 특정하여 파일을 정적 진단하는 단계;c) statically diagnosing files by specifying only previously detected malware when there is already detected malware in the corresponding group;
(여기서, 100 > N1 > 0)(Where 100 > N 1 > 0)
또한, 본 발명에 따른 안티멀웨어 클라우드 서버는 상기 메모리부의 데이터 최대량에 대비하여 사용률이 N2% 보다 크고 상기 N1% 보다 작은 경우, 상기 메모리부에 임시 저장된 파일을 아래의 단계를 통해 처리할 수 있다.In addition, the anti-malware cloud server according to the present invention may process files temporarily stored in the memory unit through the following steps when the usage rate is greater than N 2 % and smaller than N 1 % in preparation for the maximum amount of data in the memory unit. there is.
a) 파일을 업로드한 사용자와 속하는 그룹이 있는지 유무를 판별하는 단계;a) determining whether there is a group belonging to the user who uploaded the file;
b) 상기 a단계에서 매칭된 그룹이 있는 경우, 해당 그룹에서 기 탐지된 멀웨어가 있는지 여부를 검색하는 단계;b) if there is a group matched in step a, searching for previously detected malware in the corresponding group;
c) 해당 그룹에서 기 탐지된 멀웨어가 있는 경우, 기 탐지된 멀웨어만 특정하여 파일을 정적 진단하는 단계;c) statically diagnosing files by specifying only previously detected malware when there is already detected malware in the corresponding group;
d) 해당 그룹에서 기 탐지된 멀웨어가 없는 경우, 해당 그룹과 연관된 적어도 하나의 연관그룹을 관계DB에서 검색하는 단계; 및d) if there is no previously detected malware in the corresponding group, searching for at least one association group related to the corresponding group in a relational DB; and
e) 검색된 연관그룹에서 기 탐지된 멀웨어가 있는 경우, 기 탐지된 멀웨어만 특정하여 파일을 정적진단하는 단계;e) statically diagnosing files by specifying only previously detected malware when there is previously detected malware in the searched association group;
(여기서, 100 > N1 > N2 > 0)(Where 100 > N 1 > N 2 > 0)
또한, 상기 N2는 30 내지 50 사이, 상기 N1은 60 내지 80 사이로 형성될 수 있다.In addition, the N 2 may be between 30 and 50, and the N 1 may be formed between 60 and 80.
상술한 구성에 의한 본 발명에 따른 악성코드 탐지 시스템은, 인공 신경망을 수집서버를 통해 최신 멀웨어 정보를 기반으로 학습시키면서 위변조된 파일을 선별할 수 있어 신속하면서도 정확한 탐지 기능을 제공할 수 있는 장점이 있다. The malicious code detection system according to the present invention according to the above-described configuration has the advantage of providing a fast and accurate detection function by allowing an artificial neural network to learn based on the latest malware information through a collection server and to select forged or altered files. there is.
아울러 본 발명에 따른 악성코드 탐지 시스템은, 사용자 요청에 따라 정적분석 및 동적분석을 선별적으로 활용할 수 있으면서, LSTM을 통해 정적분석의 정확도를 향상시키고 가상머신 및 리얼머신을 포함하여 동적분석의 정확도를 향상시키는 장점이 있다. 이에 시스템 부하를 최소화하는 장점으로 이어질 수 있다.In addition, the malicious code detection system according to the present invention can selectively utilize static analysis and dynamic analysis according to the user's request, improve the accuracy of static analysis through LSTM, and improve the accuracy of dynamic analysis including virtual and real machines. has the advantage of improving This may lead to an advantage of minimizing system load.
도 1은 종래기술에 따른 은폐된 멀웨어 탐지 시스템의 구성도.
도 2는 본 발명에 따른 사용자단말과 통신하는 안티멀웨어 클라우드 서버를 도시한 도면.
도 3은 본 발명에 따른 안티멀웨어 클라우드 서버의 구성도.
도 4는 본 발명에 따른 악성코드 탐지 시스템의 구성도.
도 5는 본 발명에 따른 진단부의 구성도.
도 6은 본 발명에 따른 정적진단부에서 사용되는 AI 특성을 나타낸 도면.
도 7은 본 발명에 따른 정적진단부에서 사용되는 라이브러리를 나타낸 도면.
도 8은 본 발명에 따른 동적진단부의 구성도.
도 9는 본 발명에 따른 신경망 학습과정을 도시한 도면.
도 10 및 도 11은 본 발명에 따른 신경망 모델의 예시도.
도 12는 본 발명에 따른 학습데이터의 분포도.
도 13은 CNN(Convolutional Neural Network) 신경망 모델에 따른 혼동 행렬을 도시한 도면.
도 14는 RNN(Recurrent Neural Network) 신경망 모델에 따른 혼동 행렬을 도시한 도면.
도 15는 LSTM(Long Short-Term Memory) 신경망 모델에 따른 혼동 행렬을 도시한 도면.
도 16은 CNN-LSTM 신경망 모델에 따른 혼동 행렬을 도시한 도면.
도 17은 본 발명에 따른 멀웨어 분석방법을 도시한 플로차트.
도 18 내지 도 20은 사용자단말에 출력되는 본 발명의 인터페이스를 도시한 도면.
도 21은 다수의 기억장치를 포함하는 데이터베이스를 도시한 도면.1 is a block diagram of a concealed malware detection system according to the prior art.
2 is a diagram illustrating an anti-malware cloud server communicating with a user terminal according to the present invention.
3 is a configuration diagram of an anti-malware cloud server according to the present invention.
4 is a configuration diagram of a malicious code detection system according to the present invention.
5 is a configuration diagram of a diagnosis unit according to the present invention.
6 is a diagram showing AI characteristics used in a static diagnosis unit according to the present invention.
7 is a diagram showing a library used in a static diagnosis unit according to the present invention.
8 is a configuration diagram of a dynamic diagnosis unit according to the present invention.
9 is a diagram showing a neural network learning process according to the present invention.
10 and 11 are exemplary diagrams of a neural network model according to the present invention.
12 is a distribution diagram of learning data according to the present invention.
13 is a diagram illustrating a confusion matrix according to a Convolutional Neural Network (CNN) neural network model.
14 is a diagram illustrating a confusion matrix according to a Recurrent Neural Network (RNN) neural network model.
15 is a diagram showing a confusion matrix according to a long short-term memory (LSTM) neural network model.
16 is a diagram showing a confusion matrix according to the CNN-LSTM neural network model.
17 is a flowchart showing a malware analysis method according to the present invention.
18 to 20 are diagrams showing the interface of the present invention output to the user terminal.
Fig. 21 illustrates a database comprising multiple storage devices.
이하 첨부한 도면들을 참조하여 본 발명에 따른 악성코드 탐지 시스템을 상세히 설명한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.Hereinafter, a malicious code detection system according to the present invention will be described in detail with reference to the accompanying drawings. The drawings introduced below are provided as examples to sufficiently convey the spirit of the present invention to those skilled in the art. Therefore, the present invention may be embodied in other forms without being limited to the drawings presented below. Also, like reference numbers indicate like elements throughout the specification.
이때 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다.Unless otherwise defined, the technical terms and scientific terms used at this time have meanings commonly understood by those of ordinary skill in the art to which this invention belongs, and the gist of the present invention is unnecessary in the following description and accompanying drawings. Descriptions of well-known functions and configurations that may be obscure are omitted.
또한, 본 명세서에서 설명된 구현은, 예컨대, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의(예컨대, 방법으로서만 논의)되었더라도, 논의된 특징의 구현은 또한 다른 형태(예컨대, 장치 또는 프로그램)로도 구현될 수 있다. 장치는 적절한 하드웨어, 소프트웨어 및 펌웨어 등으로 구현될 수 있다. 방법은, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍 가능한 로직 디바이스 등을 포함하는 프로세싱 디바이스를 일반적으로 지칭하는 프로세서 등과 같은 장치에서 구현될 수 있다. 프로세서는 또한 최종-사용자 사이에 정보의 통신을 용이하게 하는 컴퓨터, 셀 폰, 휴대용/개인용 정보 단말기(personal digital assistant: "PDA") 및 다른 디바이스 등과 같은 통신 디바이스를 포함한다.Further, implementations described herein may be implemented in, for example, a method or process, an apparatus, a software program, a data stream, or a signal. Even if discussed only in the context of a single form of implementation (eg, discussed only as a method), the implementation of features discussed may also be implemented in other forms (eg, an apparatus or program). The device may be implemented in suitable hardware, software and firmware. The method may be implemented in an apparatus such as a processor, which is generally referred to as a processing device including, for example, a computer, microprocessor, integrated circuit, programmable logic device, or the like. Processors also include communication devices such as computers, cell phones, personal digital assistants ("PDAs") and other devices that facilitate communication of information between end-users.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. In addition, terms used in this specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.
도 2 및 도 3은 본 발명에 따른 안티멀웨어 클라우드 서버에 관한 것으로, 도 2는 사용자단말과 통신하는 안티멀웨어 클라우드 서버를 도시한 도면을, 도 3은 안티멀웨어 클라우드 서버의 구성도를 각각 나타낸다.2 and 3 relate to an anti-malware cloud server according to the present invention. FIG. 2 shows a diagram showing an anti-malware cloud server communicating with a user terminal, and FIG. 3 shows a configuration diagram of the anti-malware cloud server, respectively.
도 2를 참조하면, 본 발명에 따른 안티멀웨어 클라우드 서버(10)는 사용자단말(20)과 네트워크(Network)를 통해 접속될 수 있으며, 상기 사용자단말(20)은 개인 사용자가 지참하는 개인 사용자단말(21) 또는 기관에서 접속하는 기관 사용자단말(22) 등을 포함할 수 있다. 여기서 상기 개인 사용자단말(21)은 국내외 개인 사용자가 접속하는 형태일 수 있으며, 상기 기관 사용자단말(22)은 중소기업, 중견기업 및 대기업 등의 사기업이나, 금융기관 또는 공공기관 등에서 접속하는 형태일 수 있다. 이때 본 발명에 따른 안티멀웨어 클라우드 서버(10)는 상기 사용자단말(20)으로부터 인공지능을 통한 멀웨어 분석요청이 수신되면 탑재된 인공지능 신경망을 통해 수신된 파일을 분석하여 멀웨어 포함 여부를 진단할 수 있다.Referring to FIG. 2, the
상기 네트워크는 본 발명에 따른 안티멀웨어 클라우드 서버(10)와 상기 사용자단말(20)의 노드가 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 상기 네트워크의 예로 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다. The network means a connection structure in which the nodes of the
상기 사용자단말(20)은 디지털방송용 단말기, 휴대폰, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC(tablet PC), 웨어러블 디바이스(wearable device) 및 스마트 글라스(smart glass) 등 다양한 형태의 이동형 단말기로 구현될 수 있다. 또는 상기 사용자단말(20)은, 고정형 단말기인 데스크 탑 PC, 노트북 컴퓨터(laptop computer), 울트라북(ultrabook)과 같은 퍼스널 컴퓨터 등과 같이 구현되어 본 발명에 따른 안티멀웨어 클라우드 서버(10)와 접속될 수도 있다. The
도 3을 참조하면, 본 발명에 따른 안티멀웨어 클라우드 서버(10)는 수신된 분석대상 파일에 멀웨어가 포함되어 있는지 여부를 분석하는 악성코드 탐지 시스템(100), 상기 사용자단말(20)과 네트워크로 연결되어 데이터 통신하는 통신부(200), 상기 악성코드 탐지 시스템(100)과 연계되어 데이터를 기록하는 데이터베이스(300)를 포함할 수 있다. 그리고 본 발명에 따른 안티멀웨어 클라우드 서버(10)는 상기 통신부(200)에서 수신된 분석대상 파일을 분석 전까지 임시 저장하는 메모리부(400)와, 상기 데이터베이스(300)에 저장된 분석결과에 대해 후가공하는 데이터 보정모듈(500)을 더 포함할 수 있다. 상기 데이터베이스(300)는 복수의 기억장치로 구성되거나, 메타데이터로 구성된 메타 데이터베이스(Meta Database) 또는 그래프 데이터베이스(Graph Database, GDB)를 포함하여 상호연결성이 높은 데이터 세트를 보다 손쉽게 탐색하도록 구성될 수 있다. 아울러 상기 데이터 보정모듈(500)은 정적 분석 및 동적 분석이 끝난 데이터에 대해서 멀웨어 종류에 따른 위험도를 관련 데이터로 저장하도록 후가공할 수 있다.Referring to FIG. 3, the
본 발명에 따른 안티멀웨어 클라우드 서버(10)는 사용자단말(20)에 설치되어 입출력 인터페이스를 제공하는 애플리케이션(600)을 더 포함할 수 있다. 상기 악성코드 탐지 시스템(100)은 상기 사용자단말(20)로부터 분석대상 파일이 수신되면 분석대상 파일에 멀웨어가 포함된지 여부를 확인할 수 있으며, 상기 사용자단말(20)의 애플리케이션(600)의 인터페이스에서 상기 분석대상 파일이 업로드되어 상기 안티멀웨어 클라우드 서버(10)에 전송될 수 있다. 그리고 상기 악성코드 탐지 시스템(100)은 인공 신경망을 포함하여 AI 분석을 통해 상기 분석대상 파일의 멀웨어 포함 여부를 판별할 수 있다. The
상기 메모리부(400)는 다수의 분석대상 파일이 수신된 경우에 임시로 보관하여 분석대상 파일을 순차적으로 상기 악성코드 탐지 시스템(100)에 전송할 수 있다. 그리고 상기 데이터베이스(300)는 상기 사용자단말(20)의 식별정보나 히스토리를 기록하거나, 상기 인공 신경망 및 멀웨어 정보에 대한 DB를 최신정보로 업데이트할 수 있다. 그리고 상기 악성코드 탐지 시스템(100)은 기존의 시그니쳐 방식의 정적분석과 더불어 기록된 멀웨어 정보와 수신된 분석대상 파일의 특성을 비교하여 인공 신경망의 유사도 판단을 통해 위변조된 멀웨어까지 탐지할 수 있도록 제공될 수 있다. When a plurality of analysis target files are received, the
도 4 및 도 5는 본 발명에 따른 악성코드 탐지 시스템에 관한 것으로, 도 4는 악성코드 탐지 시스템의 구성도를, 도 5는 멀웨어 진단부의 구성도를 각각 나타낸다.4 and 5 relate to a malicious code detection system according to the present invention, FIG. 4 shows a configuration diagram of the malicious code detection system, and FIG. 5 shows a configuration diagram of a malware diagnosis unit, respectively.
도 4를 참조하면, 본 발명에 따른 악성코드 탐지 시스템(100)은 멀웨어 진단부(110), 신경망 모듈(120), 데이터 입력모듈(130) 및 데이터 출력모듈(140)을 포함할 수 있다. 상기 사용자단말(20)로부터 통신부(200)를 통해 분석대상 파일이 수신되면, 상기 데이터 입력모듈(130)로 상기 분석대상 파일이 입력될 수 있다. 이때 상기 분석대상 파일이 다수인 경우나 기 분석되고 있는 파일이 존재하는 경우 등의 임시로 저장이 필요한 경우에는 상기 메모리부(400)를 거쳐 상기 데이터 입력모듈(130)로 분석대상 파일이 입력되어 상기 멀웨어 진단부(110)에서 분석대상 파일의 멀웨어 포함 여부를 진단할 수 있다. 이때 상기 멀웨어 진단부(110)는 상기 신경망 모듈(120)과 연결될 수 있으며, 상기 신경망 모듈(120)은 인공 신경망을 포함할 수 있다. 여기서 상기 신경망 모듈(120)은 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 또는 LSTM(Long Short-Term Memory) 등의 인공신경망을 포함하거나, CNN-LSTM과 같이 복합 인공신경망을 포함하도록 구성될 수도 있다. 보다 바람직하게는 상기 신경망 모듈(120)은 LSTM 신경망을 포함할 수 있다. 이때 상기 멀웨어 진단부(110)는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다 아울러 상기 멀웨어 진단부(110)에서 진단한 결과는 상기 데이터 출력모듈(140)을 통해 출력되어 상기 통신부(200)로 상기 사용자단말(20)에 전송될 수 있다. 이에 사용자는 자신이 전송한 분석대상 파일의 악성여부를 즉시 확인할 수 있도록 제공될 수 있다. Referring to FIG. 4 , the malicious
본 발명에 따른 악성코드 탐지 시스템(100)은 입력된 멀웨어의 특성을 이용하여 상기 인공 신경망을 학습시키는 신경망 학습부(150)를 더 포함할 수 있다. 여기서 상기 신경망 학습부(150)는 상기 데이터베이스(300)와 수집서버(30) 등과 접속되어 데이터가 송수신될 수 있으며, 상기 수집서버(30)에서 수집된 정상파일과 멀웨어의 특성을 기반으로 상기 신경망 모듈(120)의 인공 신경망을 학습시킬 수 있다. The malicious
도 5를 참조하면, 상기 멀웨어 진단부(110)는 상기 분석대상 파일의 데이터를 대상으로 정적 분석으로 진단하는 정적진단부(111) 및 상기 분석대상 파일을 실행하여 동적 분석으로 진단하는 동적진단부(112)를 포함할 수 있다. 여기서 상기 정적진단부(111)는 상기 분석대상 파일을 분석하고, 상기 신경망 모듈(120)을 통해 상기 분석대상 파일에 대해서 정적분석하여 멀웨어를 탐지할 수 있다. 그리고 상기 동적진단부(112)는 적어도 하나의 물리머신을 통해 상기 분석대상 파일을 실행하여 분석함으로써 멀웨어를 탐지할 수 있다. 이때 동적 분석은, 분석대상 파일을 가상 머신 또는 리얼 머신 환경에서 구동되는 운영체제 상에서 실행하였을 경우 분석대상 파일이 행하는 행위 정보를 수집함으로써 악성코드 분석을 수행하는 분석 방법을 의미할 수 있다.Referring to FIG. 5, the
도 6 내지 도 8은 본 발명에 따른 악성코드 탐지 시스템에 관한 것으로, 도 6은 정적진단부에서 사용되는 AI 특성을 나타낸 도면을, 도 7은 정적진단부에서 사용되는 라이브러리를 나타낸 도면을, 도 8은 동적진단부의 구성도를 각각 나타낸다.6 to 8 relate to a malicious code detection system according to the present invention, FIG. 6 is a diagram showing AI characteristics used in the static diagnosis unit, FIG. 7 is a diagram showing a library used in the static diagnosis unit, and FIG. 8 shows a configuration diagram of the dynamic diagnosis unit, respectively.
도 6을 참조하면, 상기 분석대상 파일이 윈도우에서 실행되는 PE(Portable Excutable) 파일인 경우로 예거하여 보다 상세히 설명한다. 상기 정적진단부(111)에서 멀웨어 탐지를 위한 AI 특성(Feature)으로 다양한 속성을 사용할 수 있다. 여기서 사용될 수 있는 속성은 PE 파일의 Load Configuration 존재 여부인 pe.has_configuration, PE 파일의 Debug section 존재 여부인 pe.has_debug, PE 파일의 exceptions 사용 여부인 pe.has_exceptions, PE 파일의 exported symbol 존재 여부인 pe.has_exports, PE 파일의 symbol 임포트 여부인 pe.has_imports, PE 파일의 set 존재 여부인 pe.has_nx, PE 파일의 relocation entries 존재 여부인 pe.has_relocations, PE 파일의 resource 존재 여부인 pe.has_resources, rich header의 존재 여부인 pe.has_rich_header, PE 파일의 전자서명 여부인 pe.has_signature 또는, PE 파일의 사용 여부인 pe.has_tls 중 적어도 하나일 수 있다. Referring to FIG. 6, a case in which the analysis target file is a PE (Portable Executable) file executed in Windows will be described in more detail. In the
상기 정적진단부(111)는 멀웨어 탐지를 위해 상기 PE 파일의 진입점으로 첫 64바이트를 정규화하여 특성으로 사용할 수 있으며, PE 파일의 각 바이트를 정규화하여 PE 히스토그램으로 특성을 사용할 수 있다. 그리고 도 7에서 도시된 바와 같이 다수의 라이브러리로 구성된 PE파일에서 일부 라이브러리의 목록에 해당하면 가중치를 부여하여 특성으로 사용할 수도 있다. 아울러 PE 섹션에 대한 일부 정보는 인코딩한 값을 특성으로 사용할 수 있으며, 이때 각 섹션의 평균 섀넌 엔트로피(Shannon entropy) 크기나 디스크 상의 크기와 메모리상의 크기의 비율 등이 포함될 수 있다. 상기 정적진단부(111)는 난독화 또는 패킹 여부를 선행 분석하여 언패킹(Unpacking)하는 과정을 통해 전처리하는 과정을 포함할 수도 있다. 그리고 언패킹된 분석대상 파일은, 소프트웨어 디아모닝(Software De-Armoring)에서 얻은 덤프 파일을 Veratrace, IDA Pro 및 Objdump와 같은 도구를 사용하여 분석할 수 있다. 그리고 파일의 특징에 대해서 니모닉(Mnemonic), API호출 또는 지침 등을 추출하고 추출된 특징의 빈도를 산출할 수 있다. 이어 각 기능의 주파수 벡터 표와 Zscore 등을 사용한 특징 공간의 정규화 및 이산화를 통해 특징을 추출하는 과정을 거칠 수 있다. The
도 8을 참조하면, 상기 동적진단부(112)는 복수의 가상 머신(Virtual Machine, VM) 환경에서 멀웨어 탐지를 위해 동적 분석으로 상기 분석대상 파일을 진단하는 가상 머신 분석부(112a)를 포함할 수 있다. 이때 상기 가상 머신 분석부(112a)는 가상 머신 환경에서 분석대상 파일에 대한 동적 분석을 수행하고, 분석 결과를 상기 데이터베이스(300)에 저장할 수 있다. Referring to FIG. 8 , the
상기 동적진단부(112)는 적어도 하나의 리얼 머신(Real Machine) 환경에서 펄웨어 탐지를 위해 동적분석으로 상기 분석대상 파일을 진단하는 리얼 머신 분석부(112b)를 더 포함할 수도 있다. 그리고 상기 분석대상 파일에 가상 머신을 우회하기 위한 우회로그가 포함되어 있는 경우에는, 가상 머신 분석부(112a)는 분석대상 파일을 상기 리얼 머신 분석부(112b)로 전송하고 리얼 머신 분석부(112b)를 통해 리얼 머신 환경에서 한 번 더 동적 분석을 수행하며, 분석 결과를 상기 데이터베이스(300)에 저장할 수 있다. 여기서 우회로그라 함은 일반적으로 사용되는 가상 머신 기반의 동적 분석 기술을 회피하기 위한 로그를 의미할 수 있으며, 분석대상 파일에 이러한 우회로그가 포함되어 있는 경우에 가상 머신 환경에서는 분석대상 파일의 행위 정보를 수집하는 것에 한계가 발생됨에 따라 리얼 머신 환경에서 한 번 더 동적 분석을 수행하도록 제공될 수 있다. 상기 데이터베이스(300)는 가상 머신 분석부(112a) 및 리얼 머신 분석부(112b)가 수행한 동적 분석의 결과 정보와 함께 외부 서버로부터 수집한 OSINT(Open Source Intelligence) 정보를 저장하여, 상기 멀웨어 진단부(110)가 데이터베이스(300)에 저장된 동적 분석 결과 정보 및 OSINT 정보를 이용하여 상관분석을 수행할 수도 있다. 여기서 상관분석은 API 호출 순서, 취약점 공격 정보, Drop file 정보, 덤프 정보, 악성 트래픽 정보 및 프로세스 정보에 대한 상관 분석을 수행하고, 그 결과를 검출할 수 있다.The
그리고 상기 가상 머신(VM: Virtual Machine)은 리얼 머신(PC, 노트북, 휴대용 단말 등)을 통해 이루어지는 컴퓨팅 환경을 에뮬레이션 하여 소프트웨어로 구현한 것으로, 리얼 머신에서와 같이 운영체제 또는 응용 프로그램을 실행할 수 있는 환경을 제공할 수 있다 가상 머신의 예시로는 VMware, VirtualBox 또는 QEMU/KVM 등이 포함될 수 있으나 반드시 이에 한정되는 것은 아니다.In addition, the virtual machine (VM: Virtual Machine) emulates a computing environment made through a real machine (PC, laptop, portable terminal, etc.) and implements it as software, an environment in which an operating system or application program can be executed as in a real machine Examples of virtual machines may include VMware, VirtualBox, or QEMU/KVM, but are not necessarily limited thereto.
복수의 상기 가상 머신 분석부(112a) 중 일부의 가상 머신 분석부(112a)는 서로 다른 운영체제(OS: Operating System)를 구동하고, 각 운영체제 상에서 분석대상 파일을 실행하여 정보를 수집할 수도 있다. 서로 다른 운영체제(OS)는 windows 7(32bit, 64bit), windows 8(32bit, 64bit), windows 10(32bit, 64bit), windows 11(32bit, 64bit), Linux, Mac, Android 등을 포함할 수 있으나, 이는 현재 이용되고 있는 운영체제를 예시로서 설명한 것일 뿐 반드시 이에 한정되는 것은 아니고 향후 개발될 운영체제를 포함하여 임의의 운영체제(OS)에 대하여 동적 분석이 수행될 수 있음은 물론이다. 그리고 이와 같은 분석 방법을 통해 동일한 분석대상 파일에 대하여 리얼 머신 환경의 각기 다른 운영체제(OS)에서 동시 또는 순차적으로 동적 분석을 수행함으로써, 분석대상 파일에서 탐지되는 악성코드가 어떤 운영체제에 있어서 가장 취약한지 분석할 수 있다.Some of the
도 9 내지 도 16은 본 발명에 따른 악성코드 탐지 시스템의 학습과정에 관한 것으로, 도 9는 본 발명에 따른 신경망 학습과정을 도시한 도면을, 도 10 및 도 11은 신경망 모델의 예시도를, 도 12는 학습데이터의 분포도를, 도 13 내지 도 16은 다양한 신경망 모델에 따른 혼동 행렬을 도시한 도면을 각각 나타낸다.9 to 16 relate to a learning process of a malicious code detection system according to the present invention, FIG. 9 is a diagram showing a neural network learning process according to the present invention, FIGS. 10 and 11 are examples of a neural network model, 12 shows a distribution of training data, and FIGS. 13 to 16 show a confusion matrix according to various neural network models.
도 9를 참조하면, 본 발명에 따른 신경망 학습부(150)는, 수집서버(30)를 통해 웹(Web)에서 정상파일과 악성파일을 수집하고, 정상파일과 악성파일의 특성을 각각 분석하고 데이터베이스(300)에 기록하여 이를 기반으로 신경망 모듈(120)을 학습시킬 수 있다. 이때 상기 신경망 학습부(150)는 정상파일과 악성파일의 Header 정보, 사이즈 정보, Packing 정보, Import API, Export API, 파일종류 및 파일크기 중 적어도 하나의 특성을 추출 및 분석하여 기록할 수 있다. Referring to FIG. 9, the neural
도 10 및 도 11을 참조하면, 본 발명에 따른 신경망 모듈(120)은 일 예로, 70개의 뉴런을 가지고 있는 뉴런 네트워크 2개로 구성되어 활성화 함수가 ReLU 드롭 아웃 30%로 구성될 수 있다. 이때 인풋이 486개 아웃풋이 2개로 설정되고 옵티마이저의 Adam Loss Function은 banary_crossentropy를 사용할 수 있다. 이때 배치사이즈는 64, 학습 횟수(epoch)는 50회이며, EarlyStopping 콜백 함수를 사영하여 5회 이상 loss의 감소가 없는 경우에 학습이 중지되도록 설계될 수 있다. 도 12를 참조하면, 임시로 설계된 신경망 모듈(120)에서 사용된 데이터의 분포는 도시된 바와 같이 고르게 분포될 수 있다. 그리고 총 학습데이터는 139,979개로 정의하여 다양한 종류의 인공 신경망으로 알고리즘을 검증함에 따라 각 인공 신경망의 정확도를 측정할 수 있다.Referring to FIGS. 10 and 11 , the
도 13에서 도시된 바와 같이 CNN(Convolutional Neural Network) 모델을 통한 혼동 행렬(Confusion Matrix)에 따르면, 학습의 loss가 0.3237로 accuracy가 0.8558로 산출되고, 검증의 val_loss가 0.3204로 val_accuracy가 0.8550으로 산출될 수 있다. 그리고 도 14에서 도시된 바와 같이 RNN(Recurrent Neural Network) 모델을 통한 혼동 행렬에 따르면, 학습의 loss가 0.5243로 accuracy가 0.7558로 산출되고, 검증의 val_loss가 0.4844로 val_accuracy가 0.7795로 산출될 수 있다. As shown in FIG. 13, according to the confusion matrix through the CNN (Convolutional Neural Network) model, the learning loss is 0.3237, the accuracy is calculated as 0.8558, the validation val_loss is 0.3204, and the val_accuracy is calculated as 0.8550. can And, as shown in FIG. 14, according to the confusion matrix through the RNN (Recurrent Neural Network) model, the learning loss is 0.5243, the accuracy is 0.7558, the verification val_loss is 0.4844, and the val_accuracy is 0.7795. Can be calculated.
도 15에서 도시된 바와 같이 LSTM(Long Short-Term Memory) 모델을 통한 혼동 행렬(Confusion Matrix)에 따르면, 학습의 loss가 0.0977로 accuracy가 0.9669로 산출되고, 검증의 val_loss가 0.0943으로 val_accuracy가 0.9689로 산출될 수 있다. 그리고 도 16에서 도시된 바와 같이 CNN-LSTM 모델을 통한 혼동 행렬에 따르면, 학습의 loss가 0.6382로 accuracy가 0.5872로 산출되고, 검증의 val_loss가 0.6398로 val_accuracy가 0.5894로 산출될 수 있다.As shown in FIG. 15, according to the confusion matrix through the LSTM (Long Short-Term Memory) model, the learning loss is 0.0977 and the accuracy is 0.9669, and the validation val_loss is 0.0943 and the val_accuracy is 0.9689. can be derived. And, as shown in FIG. 16, according to the confusion matrix through the CNN-LSTM model, the learning loss is 0.6382, the accuracy is 0.5872, the verification val_loss is 0.6398, and the val_accuracy is 0.5894.
위와 같이 멀웨어 탐지에 적합한 AI 모델은 LSTM 모델이 정확도에서 가장 좋은 결과를 나타냄에 따라 상기 신경망 모듈(120)에서 활용되기에 가장 바람직할 수 있다. As described above, an AI model suitable for malware detection may be most preferable to be used in the
도 17 내지 도 20은 본 발명에 따른 멀웨어 분석방법에 관한 것으로, 도 9는 본 발명에 따른 신경망 학습과정을 도시한 도면을, 도 10 및 도 11은 신경망 모델의 예시도를, 도 12는 학습데이터의 분포도를, 도 13 내지 도 16은 다양한 신경망 모델에 따른 혼동 행렬을 도시한 도면을 각각 나타낸다.17 to 20 relate to a malware analysis method according to the present invention, FIG. 9 is a diagram showing a neural network training process according to the present invention, FIGS. 10 and 11 are examples of a neural network model, and FIG. 12 is a learning diagram. As for the distribution of data, FIGS. 13 to 16 each show a confusion matrix according to various neural network models.
도 17을 참조하면, 본 발명에 따른 멀웨어 분석방법은, 상기 사용자단말(20)로부터 분석대상 파일이 수신되어 분석요청이 시작되면, 분석대기 단계(S100), 정적분석 단계(S200), 결과기록 단계(S300) 및 정보가공 단계(S400)를 거쳐 상기 사용자단말(20)로 결과에 대한 정보를 제공해줄 수 있다. 그리고 상기 사용자단말(20)에서 동적분석도 함께 요청하는 경우에는 있으며, 동적분석 단계(S210)를 더 포함할 수 있다. 여기서 상기 분석대기 단계(S100)는 수신된 분석대상 파일을 상기 정적분석 또는 동적분선 전에 상기 메모리부(400)에서 임시 저장하는 단계일 수 있다. 그리고 상기 정적분석 단계(S200) 및 동적분석 단계(S210)는 각각 상기 정적진단부(111) 및 동적진단부(112)를 통해 정적분석 및 동적분석이 진행되는 단계일 수 있다. 아울러 상기 결과기록 단계(S300)는 상기 데이터베이스(300)에 분석 결과에 기록되는 단계일 수 있으며, 상기 데이터베이스(300)의 정보를 상기 데이터 보정모듈(500)을 통한 후가공되는 것이 포함되는 단계일 수도 있다. 그리고 상기 정보가공 단계(S300)는 분석된 결과 데이터를 사용자가 사용자단말(20)의 인터페이스를 통해 볼 수 있도록 가공하는 것으로, 분석대상 파일에 멀웨어가 포함되었는지 여부나 포함된 멀웨어의 종류 혹은 멀웨어의 위험도 등이 결과 데이터가 포함될 수 있다. Referring to FIG. 17, in the malware analysis method according to the present invention, when an analysis target file is received from the
도 18에서 도시된 바와 같이 사용자단말(20)에 애플리케이션 등을 통해 본 발명의 안티멀웨어 클라우드 서버(10)와 접속되는 인터페이스가 제공될 수 있다. 이때 사용자단말(20)의 인터페이스에서는 분석대상 파일을 업로드하는 기능과, 분석 대상 파일에 대한 정적분석 및 동적분석 중 어느 하나를 선택할 수 있는 기능, AI 분석을 통한 위협 알림 임계치 등을 설정할 수 있다. 그리고 도 19에서 도시된 바와 같이 안티멀웨어 클라우드 서버(10)에서는 각 멀웨어 대한 위험도를 관련 데이터로 저장하되, 분석대상 파일에서 발견된 멀웨어 대한 위험도를 사용자단말(20)에서 함께 표출하도록 제공될 수도 있다. 혹은 사용자단말(20)에 상기 신경망 모듈(120)의 인공 신경망에 대한 정보를 제공할 수도 있으며, 상기 사용자단말(20)의 프로세서가 제공받은 인공 신경망 정보를 기반으로 기기에서 멀웨어를 즉시 분석하도록 제공될 수도 있다. As shown in FIG. 18 , an interface connected to the
도 20은 안티멀웨어 클라우드 서버(10)에서 사용자단말(20)로 제공되는 탐지 분석 보고서의 예시로, 분류, 탐지 시작 및 종료 시간, 소요시간, 분석 머신, 분석 OS, 위험도 등을 제공할 수 있다. 또한 분석 정보에 대한 상세 정보를 추가로 제공해줌에 따라, 사용자가 보다 정밀한 정보를 식별할 수 있는 장점이 있다. 20 is an example of a detection analysis report provided from the
도 21은 본 발명에 따른 안티멀웨어 클라우드 서버에 관한 것으로, 도 21은 다수의 기억장치를 포함하는 데이터베이스를 도시한 도면을 나타낸다.21 relates to an anti-malware cloud server according to the present invention, and FIG. 21 shows a diagram showing a database including a plurality of storage devices.
도 21을 참조하면, 본 발명에 따른 안티멀웨어 클라우드 서버(10)는, 상술한 바와 같이 수신된 분석대상 파일에 멀웨어가 포함되어 있는지 여부를 분석하는 악성코드 탐지 시스템(100), 상기 사용자단말(20)과 네트워크로 연결되어 데이터 통신하는 통신부(200), 상기 악성코드 탐지 시스템(100)과 연계되어 데이터를 기록하는 데이터베이스(300)를 포함할 수 있다. 그리고 본 발명에 따른 안티멀웨어 클라우드 서버(10)는 상기 통신부(200)에서 수신된 분석대상 파일을 분석 전까지 임시 저장하는 메모리부(400)와, 상기 데이터베이스(300)에 저장된 분석결과에 대해 후가공하는 데이터 보정모듈(500)을 더 포함할 수 있다. 여기서 상기 데이터베이스(300)는 그룹DB(310), 개인DB(320) 및 관계DB(330)를 포함한 복수의 기억장치로 구성될 수 있다. Referring to FIG. 21, the
상기 그룹DB(310)는 복수의 그룹데이터에 대해서 각 그룹별로 데이터셋(Dataset)이 구축될 수 있으며, 각 그룹은 사내 인트라넷(Intranet)이 구축된 여부에 따라 그룹핑(Grouping)될 수 있다. 보다 명확하게는 하나의 인트라넷 망이 구축된 기관, 기업, 정부지자체 및 학교 중 적어도 하나가 그룹핑될 수 있으며, 복수의 그룹들은 서로 다른 인터넷망을 사용할 수 있다. 이때 상기 그룹 DB(310)에는 사명, 위치 등과 같이 해당 그룹에 관련된 정보와, 해당 그룹에서 이전에 업로드한 파일이나 해당 파일의 진단 결과 등이 포함될 수 있다. 이때 진단 결과는 해당 파일에서 발견된 멀웨어의 종류가 포함되는 것이 바람직할 수 있다.In the
상기 개인DB(320)는 복수의 사용자데이터에 대해서 각 사용자별로 데이터셋이 구축될 수 있다. 이때 사용자데이터는 IP주소, 기기정보, ID(Identification Number) 등을 통해서 각 사용자 별로 구분될 수 있다. 이때 각 사용자 별로 구축된 데이터셋에는 사용자의 개인정보, 해당 사용자가 이전 업로드한 파일이나 해당 파일의 진단 결과 등이 포함될 수 있다. 이때 진단 결과는 해당 파일에서 발견된 멀웨어의 종류가 포함되는 것이 바람직할 수 있다.In the
상기 관계DB(330)는, 각 사용자가 속하는 그룹에 대한 정보가 저장될 수 있으며, 그룹들 간의 연관관계 데이터가 저장될 수도 있다. 보다 명확히는 적어도 그룹핑된 기관, 기업, 정부지자체 및 학교에 소속된 사용자의 경우에, 해당 그룹에 해당 사용자가 매칭되도록 계층화할 수 있다. 이때 하나의 그룹에는 다수의 사용자 군이 매칭되어 계층화될 수 있으며, 하나의 사용자가 업로드한 파일에서 멀웨어가 진단된 경우에 하나의 사용자가 소속된 그룹에 대해 진단된 멀웨어에 대한 정보가 저장될 수도 있다. 그리고 다른 사용자가 같은 그룹에 소속된 경우에는 다른 사용자의 단말에서 업로드한 파일에 대한 히스토리와 더불어, 같은 그룹으로 그룹핑된 사용자들의 히스토리까지 함께 연관데이터로 기록될 수 있다. 그리고 서로 다른 인트라넷을 사용하는 그룹들 간에도 협력사, 자회사, 고객사 등 다양한 관계를 형성할 수 있음에 따라, 둘 이상의 그룹이 서로를 관계사로 지정할 수 있는 기능을 포함할 수 있다. 일 예로 모회사인 A 그룹에서 자회사인 B 그룹에 대하여 관계사로 입력한 경우에, B 그룹으로 인증된 사용자단말(20)로부터 관계사 승인요청을 받아 A 그룹과 B 그룹 간의 관계사 지정이 될 수 있다. 그리고 하나의 사용자단말(20)에서 업로드된 파일에서 멀웨어가 발견된 경우, 동일한 인트라넷을 사용하는 다른 사용자단말(20)에서 업로드된 파일을 해당 멀웨어에 대한 제1위험군으로 분류하고, 동일한 인트라넷은 아니지만 관계사 그룹에 소속된 또 다른 사용자단말(20)에서 업로드된 파일을 해당 멀웨어 대한 제2위험군으로 분류할 수 있다. 여기서 악성코드 탐지 시스템(100)은 제1위험군이 제2위험군 보다 높은 확률로 감염된 것으로 판단할 수 있다.The
상기 메모리부(400)는 소정의 메모리를 가질 수 있으며, 데이터 최대량에 대비하여 사용률이 높은 경우에 제1위험군과 제2위험군에 대한 신속검사가 이루어질 수 있다. 즉, 본 발명에 따른 안티멀웨어 클라우드 서버(10)에 단시간동안 대용량의 파일들이 업로드되어 상기 메모리부(400)의 사용량이 높은 경우에 신속처리가 가능하면서 부하를 감소시키도록 신속검사가 이루어질 수 있다. 일 예로 상기 메모리부(400)의 데이터 최대량에 대비하여 사용률이 N1% 보다 큰 경우, 상기 메모리부(400)에 임시 저장된 파일을 아래의 단계를 통해 처리할 수 있다. The
a) 파일을 업로드한 사용자와 속하는 그룹이 있는지 유무를 판별하는 단계,a) determining whether there is a group belonging to the user who uploaded the file;
b) 상기 a단계에서 매칭된 그룹이 있는 경우, 해당 그룹에서 기 탐지된 멀웨어가 있는지 여부를 검색하는 단계,b) if there is a group matched in step a, searching for previously detected malware in the group;
c) 해당 그룹에서 기 탐지된 멀웨어가 있는 경우, 기 탐지된 멀웨어만 특정하여 파일을 정적 진단하는 단계,c) statically diagnosing files by specifying only previously detected malware if there is already detected malware in the group;
상기 N1%는 100% 보다는 작고 0% 보다는 크도록 형성될 수 있다. 이처럼 상기 메모리부(400)의 메모리 사용량이 N1%보다 큰 경우에 제1위험군에 해당하는 사용자단말(20)로부터 업로드된 파일들은 소속된 그룹에서 이전에 발견되었던 멀웨어 종류만 특정하여 정적 진단이 이루어질 수 있다. 그리고 상기 사용자단말(20)로 신속 진단 결과를 제공함과 동시에 신속 진단되었음을 인터페이스를 통해 안내할 수 있다. 여기서 제1위험군은 소속된 그룹에서 발견되었던 모든 멀웨어 종류군에 대한 정적 진단 뿐만 아니라, 소속된 그룹에서 2년 내에 발견된 멀웨어 종류군과 같이 특정 기간에 수집된 정보를 활용하여 정적 진단이 이루어질 수도 있다. The N 1 % may be formed to be less than 100% and greater than 0%. In this way, when the memory usage of the
상기 메모리부(400)의 사용률이 N1% 보다는 작고 N2% 보다는 큰 경우에 임시저장된 파일에 대해서 아래의 단계를 통해 제1위험군과 제2위험군을 모두 진단할 수도 있다. When the usage rate of the
a) 파일을 업로드한 사용자와 속하는 그룹이 있는지 유무를 판별하는 단계,a) determining whether there is a group belonging to the user who uploaded the file;
b) 상기 a단계에서 매칭된 그룹이 있는 경우, 해당 그룹에서 기 탐지된 멀웨어가 있는지 여부를 검색하는 단계,b) if there is a group matched in step a, searching for previously detected malware in the group;
c) 해당 그룹에서 기 탐지된 멀웨어가 있는 경우, 기 탐지된 멀웨어만 특정하여 파일을 정적 진단하는 단계,c) statically diagnosing files by specifying only previously detected malware if there is already detected malware in the group;
d) 해당 그룹에서 기 탐지된 멀웨어가 없는 경우, 해당 그룹과 연관된 적어도 하나의 연관그룹을 관계DB에서 검색하는 단계,d) If there is no previously detected malware in the corresponding group, searching for at least one related group associated with the corresponding group in the relational DB;
e) 검색된 연관그룹에서 기 탐지된 멀웨어가 있는 경우, 기 탐지된 멀웨어만 특정하여 파일을 정적진단하는 단계,e) If there is already detected malware in the searched association group, statically diagnosing the file by specifying only the previously detected malware;
(여기서, 100 > N1 > N2 > 0)(Where 100 > N 1 > N 2 > 0)
보다 바람직하게는 상기 N2는 30 내지 50 사이, 상기 N1은 60 내지 80 사이로 형성될 수 있다. 이에 따라 상기 메모리부(400)의 사용률이 과도하게 높아져 N1% 보다 큰 리소스를 사용하는 경우에 제1위험군에 대한 신속 검사가 이루어질 수 있으며, 상기 메모리부(400)의 사용률이 상기 N1%와 N2% 사이로 높은 리소스를 사용하는 경우에는 제1위험군 및 제2위험군에 대한 신속 검사가 이루어질 수 있다. 이때 신속 검사는 상술한 바와 같이 순차적으로 업로드 된 파일들을 선별하여 상기 메모리부(400)에서 상기 악성코드 탐지 시스템(100)으로 전달하되, 상기 악성코드 탐지 시스템(100)의 검색결과를 사용자단말(20)로 제공해주는 과정을 거칠 수 있다. 즉, 상기 a단계에서 분석대상 파일을 업로드한 사용자가 속하는 그룹이 없는 경우에 상기 악성코드 탐지 시스템(100)은 해당 파일에 대해서 정적 진단 및 동적 진단할 수 있으며, 매칭된 그룹이 있는 경우에는 상기 메모리부(400)의 사용률에 따라 상기 악성코드 탐지 시스템(100)의 정적진단부(111)가 제1위험군에 대한 검사 혹은 제1위험군 및 제2위험군에 대해 검사할 수 있다.More preferably, the N 2 is between 30 and 50, and the N 1 may be formed between 60 and 80. Accordingly, when the usage rate of the
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. medium), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler. A hardware device may be modified with one or more software modules to perform processing according to the present invention and vice versa.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.Specific implementations described in the present invention are examples and do not limit the scope of the present invention in any way. For brevity of the specification, description of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection of lines or connecting members between the components shown in the drawings are examples of functional connections and / or physical or circuit connections, which can be replaced in actual devices or additional various functional connections, physical connection, or circuit connections. In addition, if there is no specific reference such as "essential" or "important", it may not necessarily be a component necessary for the application of the present invention.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.In addition, the detailed description of the present invention described has been described with reference to preferred embodiments of the present invention, but those skilled in the art or those having ordinary knowledge in the art will find the spirit of the present invention described in the claims to be described later. And it will be understood that the present invention can be variously modified and changed without departing from the technical scope. Therefore, the technical scope of the present invention is not limited to the contents described in the detailed description of the specification, but should be defined by the claims.
10 : 안티멀웨어 클라우드 서버
20 : 사용자단말
21 : 개인 사용자단말
22 : 기관 사용자단말
30 : 수집서버
100 : 악성코드 탐지 시스템
110 : 멀웨어 진단부
111 : 정적진단부
112 : 동적진단부
112a : 가상 머신 분석부
112b : 리얼 머신 분석부
120 : 신경망 모듈
130 : 데이터 입력모듈
140 : 데이터 출력모듈
150 : 신경망 학습부
200 : 통신부
300 : 데이터베이스
310 : 그룹DB
320 : 개인DB
330 ; 관계DB
400 : 메모리부
500 : 데이터 보정모듈
600 : 애플리케이션10 : Antimalware Cloud Server
20: user terminal
21: personal user terminal
22: institutional user terminal
30: collection server
100: malware detection system
110: malware diagnosis unit
111: static diagnosis unit
112: dynamic diagnosis unit
112a: virtual machine analysis unit
112b: real machine analysis unit
120: neural network module
130: data input module
140: data output module
150: neural network learning unit
200: Ministry of Communication
300: database
310: group DB
320: Personal DB
330; Relation DB
400: memory unit
500: data correction module
600: application
Claims (12)
상기 악성코드 탐지 시스템은,
분석대상 파일을 입력받는 데이터 입력모듈;
LSTM(Long Short-Term Memory) 신경망을 포함하는 신경망 모듈;
입력된 멀웨어의 특성을 이용하여 상기 LSTM 신경망을 학습시키는 신경망 학습부; 및
상기 분석대상 파일의 데이터를 상기 LSTM 신경망에 입력시켜 멀웨어 포함 여부를 진단하는 멀웨어 진단부;
를 포함하고,
상기 멀웨어 진단부는,
상기 분석대상 파일의 데이터를 대상으로 정적 분석으로 진단하는 정적진단부 및 상기 분석대상 파일을 실행하여 동적 분석으로 진단하는 동적진단부를 포함하고,
상기 정적진단부에서 상기 LSTM 신경망을 통해 멀웨어 포함 여부를 진단하며,
상기 동적진단부는,
복수의 가상 머신(Virtual Machine, VM) 환경에서 멀웨어 탐지를 위해 동적 분석으로 상기 분석대상 파일을 진단하는 가상 머신 분석부를 포함하고,
상기 안티멀웨어 클라우드 서버는,
상기 악성코드 탐지 시스템;
사용자단말로부터 분석대상 파일을 네트워크로 수신받는 통신부;
수신된 분석대상 파일을 분석 전까지 임시 저장하는 메모리부;
상기 정적진단부 및 동적진단부에서 각각 진단한 분석결과를 저장하는 데이터베이스; 및
상기 데이터베이스에 저장된 분석결과에 대해 후가공하는 데이터 보정모듈;
을 포함하고,
상기 데이터 보정모듈은,
정적 분석 및 동적 분석이 끝난 데이터에 대해서 멀웨어 종류에 따른 위험도를 관련 데이터로 저장하도록 후가공하며,
상기 데이터베이스는 복수의 기억장치를 포함하되,
복수의 상기 기억장치는,
복수의 그룹데이터에 대해서 각 그룹별로 데이터셋이 구축된 그룹DB; 복수의 사용자데이터에 대해서 각 사용자별로 데이터셋이 구축된 개인DB; 및 각 사용자가 속하는 그룹에 대한 정보가 저장되는 관계DB;
를 포함하고,
상기 그룹DB는 기관, 기업, 정부지차체 및 학교 중 적어도 하나를 포함하는 복수의 그룹이 사내 인트라넷에 의해서 구분되고,
상기 관계DB에는 그룹들 간의 연관관계 데이터가 저장되는 것을 특징으로 하는 안티멀웨어 클라우드 서버.
In the anti-malware cloud server including a malicious code detection system,
The malicious code detection system,
A data input module that receives an analysis target file;
A neural network module including a Long Short-Term Memory (LSTM) neural network;
a neural network learning unit for learning the LSTM neural network using the input characteristics of the malware; and
a malware diagnosis unit for diagnosing whether or not malware is included by inputting the data of the file to be analyzed into the LSTM neural network;
including,
The malware diagnosis unit,
A static diagnosis unit for diagnosing the data of the analysis target file by static analysis and a dynamic diagnosis unit for diagnosis by dynamic analysis by executing the analysis target file;
The static diagnosis unit diagnoses whether or not malware is included through the LSTM neural network,
The dynamic diagnosis unit,
Including a virtual machine analysis unit for diagnosing the analysis target file by dynamic analysis to detect malware in a plurality of virtual machine (VM) environments;
The anti-malware cloud server,
the malicious code detection system;
A communication unit for receiving analysis target files from a user terminal through a network;
a memory unit for temporarily storing the received analysis target file until analysis;
a database storing analysis results respectively diagnosed by the static diagnosis unit and the dynamic diagnosis unit; and
A data correction module for post-processing the analysis results stored in the database;
including,
The data correction module,
For the data that has been subjected to static and dynamic analysis, post-processing is performed to store the risk level according to the type of malware as related data.
The database includes a plurality of storage devices,
A plurality of the memory devices,
A group DB in which data sets are constructed for each group for a plurality of group data; A personal DB in which data sets are constructed for each user for a plurality of user data; and a relationship DB in which information on groups to which each user belongs is stored.
including,
In the group DB, a plurality of groups including at least one of institutions, corporations, government bodies, and schools are classified by an in-house intranet,
The anti-malware cloud server, characterized in that the relation data between groups is stored in the relation DB.
상기 가상 머신 분석부는,
복수의 가상 머신 중 일부의 가상 머신이 서로 다른 운영체제(OS: Operating System)를 구동하고, 각 운영체제 상에서 분석대상 파일을 실행하여 정보를 수집하는 것을 특징으로 하는 안티멀웨어 클라우드 서버.
According to claim 1,
The virtual machine analysis unit,
An anti-malware cloud server characterized in that some of the virtual machines run different operating systems (OS) and collect information by executing analysis target files on each operating system.
상기 동적진단부는,
적어도 하나의 리얼 머신(Real Machine) 환경에서 멀웨어 탐지를 위해 동적분석으로 상기 분석대상 파일을 진단하는 리얼 머신 분석부를 더 포함하되,
상기 가상 머신 분석부는,
분석대상 파일에 우회로그가 존재하는지 탐지하되,
상기 리얼 머신 분석부는,
상기 가상 머신 분석부로부터 가상 머신 분석부를 우회하기 위한 우회로그가 포함된 분석대상 파일을 전송 받는 것을 특징으로 하는 안티멀웨어 클라우드 서버.
According to claim 1,
The dynamic diagnosis unit,
Further comprising a real machine analysis unit for diagnosing the analysis target file by dynamic analysis to detect malware in at least one real machine environment,
The virtual machine analysis unit,
Detect whether a detour log exists in the file to be analyzed,
The real machine analysis unit,
The anti-malware cloud server, characterized in that for receiving an analysis target file including a detour log for bypassing the virtual machine analysis unit from the virtual machine analysis unit.
상기 신경망 학습부는,
정상파일과 멀웨어를 포함하는 악성파일의 정보를 수집하고 상기 정상파일과 악성파일의 특성을 각각 분석하여 상기 LSTM 신경망을 학습시키되,
상기 정상파일 및 악성파일의 특성은 헤더정보, 사이즈 및 패킹정보, Import API, Export API, 파일종류 및 크기 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 안티멀웨어 클라우드 서버.
According to claim 1,
The neural network learning unit,
Collect information on normal files and malicious files including malware, analyze the characteristics of the normal files and malicious files, and train the LSTM neural network,
The characteristics of the normal file and the malicious file include at least one or more of header information, size and packing information, Import API, Export API, file type and size.
상기 메모리부는 소정의 메모리를 가지되,
상기 메모리부의 데이터 최대량에 대비하여 사용률이 N1% 보다 큰 경우,
상기 메모리부에 임시 저장된 파일을 아래의 단계를 통해 처리하는 것을 특징으로 하는 안티멀웨어 클라우드 서버.
a) 파일을 업로드한 사용자와 속하는 그룹이 있는지 유무를 판별하는 단계;
b) 상기 a단계에서 매칭된 그룹이 있는 경우, 해당 그룹에서 기 탐지된 멀웨어가 있는지 여부를 검색하는 단계;
c) 해당 그룹에서 기 탐지된 멀웨어가 있는 경우, 기 탐지된 멀웨어만 특정하여 파일을 정적 진단하는 단계;
(여기서, 100 > N1 > 0)
According to claim 1,
The memory unit has a predetermined memory,
When the usage rate is greater than N 1 % compared to the maximum amount of data in the memory unit,
The anti-malware cloud server, characterized in that for processing the files temporarily stored in the memory unit through the following steps.
a) determining whether there is a group belonging to the user who uploaded the file;
b) if there is a group matched in step a, searching for previously detected malware in the corresponding group;
c) statically diagnosing files by specifying only previously detected malware when there is already detected malware in the corresponding group;
(Where 100 > N 1 > 0)
상기 메모리부의 데이터 최대량에 대비하여 사용률이 N2% 보다 크고 N1% 보다 작은 경우, 상기 메모리부에 임시 저장된 파일을 아래의 단계를 통해 처리하는 것을 특징으로 하는 안티멀웨어 클라우드 서버.
a) 파일을 업로드한 사용자와 속하는 그룹이 있는지 유무를 판별하는 단계;
b) 상기 a단계에서 매칭된 그룹이 있는 경우, 해당 그룹에서 기 탐지된 멀웨어가 있는지 여부를 검색하는 단계;
c) 해당 그룹에서 기 탐지된 멀웨어가 있는 경우, 기 탐지된 멀웨어만 특정하여 파일을 정적 진단하는 단계;
d) 해당 그룹에서 기 탐지된 멀웨어가 없는 경우, 해당 그룹과 연관된 적어도 하나의 연관그룹을 관계DB에서 검색하는 단계; 및
e) 검색된 연관그룹에서 기 탐지된 멀웨어가 있는 경우, 기 탐지된 멀웨어만 특정하여 파일을 정적진단하는 단계;
(여기서, 100 > N1 > N2 > 0)
According to claim 10,
The anti-malware cloud server, characterized in that, in preparation for the maximum amount of data in the memory unit, processing the files temporarily stored in the memory unit through the following steps when the usage rate is greater than N 2 % and smaller than N 1 %.
a) determining whether there is a group belonging to the user who uploaded the file;
b) if there is a group matched in step a, searching for previously detected malware in the corresponding group;
c) statically diagnosing files by specifying only previously detected malware when there is already detected malware in the corresponding group;
d) if there is no previously detected malware in the corresponding group, searching for at least one association group related to the corresponding group in a relational DB; and
e) statically diagnosing files by specifying only previously detected malware when there is previously detected malware in the searched association group;
(Where 100 > N 1 > N 2 > 0)
상기 N2는 30 이상 50 이하, 상기 N1은 60 이상 80 이하인 것을 특징으로 하는 안티멀웨어 클라우드 서버.According to claim 11,
The anti-malware cloud server, wherein N 2 is 30 or more and 50 or less, and N 1 is 60 or more and 80 or less.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220099895A KR102495329B1 (en) | 2022-08-10 | 2022-08-10 | Malware detection system using lstm method to provide a service vaccine platform with high detction rate |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220099895A KR102495329B1 (en) | 2022-08-10 | 2022-08-10 | Malware detection system using lstm method to provide a service vaccine platform with high detction rate |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102495329B1 true KR102495329B1 (en) | 2023-02-06 |
Family
ID=85224555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220099895A KR102495329B1 (en) | 2022-08-10 | 2022-08-10 | Malware detection system using lstm method to provide a service vaccine platform with high detction rate |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102495329B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140044954A (en) * | 2012-09-03 | 2014-04-16 | 네이버 주식회사 | Method of double anti-phishing through toolbar and the server thereof |
KR20200039912A (en) * | 2018-10-08 | 2020-04-17 | 순천향대학교 산학협력단 | System and method for automatically analysing android malware by artificial intelligence |
KR20200057402A (en) * | 2018-11-16 | 2020-05-26 | 주식회사 베일리테크 | System and method for detecting malignant code based on virtual and real machine |
KR102174475B1 (en) | 2018-12-05 | 2020-11-04 | 단국대학교 산학협력단 | A system for detecting obfuscation or packing of an application using machine learning, and concealed malware detection and classification system and methods including it |
-
2022
- 2022-08-10 KR KR1020220099895A patent/KR102495329B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140044954A (en) * | 2012-09-03 | 2014-04-16 | 네이버 주식회사 | Method of double anti-phishing through toolbar and the server thereof |
KR20200039912A (en) * | 2018-10-08 | 2020-04-17 | 순천향대학교 산학협력단 | System and method for automatically analysing android malware by artificial intelligence |
KR20200057402A (en) * | 2018-11-16 | 2020-05-26 | 주식회사 베일리테크 | System and method for detecting malignant code based on virtual and real machine |
KR102174475B1 (en) | 2018-12-05 | 2020-11-04 | 단국대학교 산학협력단 | A system for detecting obfuscation or packing of an application using machine learning, and concealed malware detection and classification system and methods including it |
Non-Patent Citations (1)
Title |
---|
Eduardo de O. Andrade et al., "A Model Based on LSTM Neural Networks to Identify Five Different Types of Malware"(2019.)* * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alsaheel et al. | {ATLAS}: A sequence-based learning approach for attack investigation | |
US11689561B2 (en) | Detecting unknown malicious content in computer systems | |
US11481492B2 (en) | Method and system for static behavior-predictive malware detection | |
Lin et al. | Identifying android malicious repackaged applications by thread-grained system call sequences | |
CN108920954B (en) | Automatic malicious code detection platform and method | |
US10282546B1 (en) | Systems and methods for detecting malware based on event dependencies | |
CN112866023B (en) | Network detection method, model training method, device, equipment and storage medium | |
WO2015101097A1 (en) | Method and device for feature extraction | |
CN106096405A (en) | A kind of Android malicious code detecting method abstract based on Dalvik instruction | |
Kurniawan et al. | Android anomaly detection system using machine learning classification | |
NL2026782B1 (en) | Method and system for determining affiliation of software to software families | |
US11916937B2 (en) | System and method for information gain for malware detection | |
Ban et al. | Integration of multi-modal features for android malware detection using linear SVM | |
Ficco | Comparing API call sequence algorithms for malware detection | |
Tian et al. | MDCD: A malware detection approach in cloud using deep learning | |
Sun et al. | Mate! Are you really aware? An explainability-guided testing framework for robustness of malware detectors | |
Ugarte-Pedrero et al. | On the adoption of anomaly detection for packed executable filtering | |
KR20220060843A (en) | Document malware detection device and method combining machine learning and signature matching | |
KR102495329B1 (en) | Malware detection system using lstm method to provide a service vaccine platform with high detction rate | |
Vahedi et al. | Cloud based malware detection through behavioral entropy | |
Vinod et al. | Empirical evaluation of a system call-based android malware detector | |
CN106372508A (en) | Method and device for processing malicious documents | |
Qi et al. | A Malware Variant Detection Method Based on Byte Randomness Test. | |
Sai Adhinesh Reddy et al. | Windows Malware Detection Using CNN and AlexNet Learning Models | |
Chen et al. | Malware detected and tell me why: An verifiable malware detection model with graph metric learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |