WO2022107963A1 - Api 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치 - Google Patents

Api 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치 Download PDF

Info

Publication number
WO2022107963A1
WO2022107963A1 PCT/KR2020/016913 KR2020016913W WO2022107963A1 WO 2022107963 A1 WO2022107963 A1 WO 2022107963A1 KR 2020016913 W KR2020016913 W KR 2020016913W WO 2022107963 A1 WO2022107963 A1 WO 2022107963A1
Authority
WO
WIPO (PCT)
Prior art keywords
malicious behavior
malicious
api call
extracted
call graph
Prior art date
Application number
PCT/KR2020/016913
Other languages
English (en)
French (fr)
Inventor
이정현
김진성
Original Assignee
숭실대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교 산학협력단 filed Critical 숭실대학교 산학협력단
Priority to US17/289,172 priority Critical patent/US11768938B2/en
Publication of WO2022107963A1 publication Critical patent/WO2022107963A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a method for detecting a malicious behavior pattern in a mobile application based on API call graph extraction, a recording medium and an apparatus for performing the same, and more particularly, to an API capable of identifying a usage relationship of APIs containing actual operation functions in a mobile application. It relates to a technology that can detect and analyze malicious behavior itself using a deep learning technique using API Call Graph.
  • API application programming interface
  • Patent Document 1 KR 10-2005107 B1
  • Patent Document 2 KR 10-1589656 B1
  • Patent Document 3 KR 10-1228899 B1
  • Non-Patent Document 1 T. Cho, H. Kim, and J. H. Yi, “Security Assessment of Code Obfuscation based on Dynamic Monitoring in Android Things,” IEEE Access, vol. 5, pp. 6361-6371, 2017.
  • Non-Patent Document 2 K. Kim, J. Kim, E. Ko, and J. H. Yi, “Risk Assessment Scheme for Mobile Applications based on Tree Boosting,” IEEE Access, vol. 8, pp. 48503-48514, 2020.
  • Another object of the present invention is to provide a recording medium in which a computer program for performing the API call graph extraction-based mobile application malicious behavior pattern detection method is recorded.
  • Another object of the present invention is to provide an apparatus for performing the API call graph extraction-based mobile application malicious behavior pattern detection method.
  • the API call graph extraction-based mobile application malicious behavior pattern detection method detects API call graph (ACG), which is an API call flow from a normal application and an application that performs malicious behavior. extracting; generating and vectorizing the extracted ACG as a training dataset for deep learning; generating a deep learning algorithm prediction model by learning the vectorized training dataset; extracting a malicious behavior pattern from the intersection of malicious applications by extracting ACG features used for malicious behavior from the generated predictive model; and classifying the application performing the malicious behavior by comparing the similarity between the extracted malicious behavior pattern and the pattern extracted from the target application.
  • ACG API call graph
  • the method for detecting a mobile application malicious behavior pattern based on API call graph extraction includes: crawling and extracting framework API information from an Android homepage; and storing the extracted framework API information; may further include.
  • the step of extracting the API Call Graph may include extracting the API Call Graph (ACG), which is a call flow, by using a taint analysis technique.
  • generating and vectorizing the training dataset for the above includes: generating a training dataset by combining all extracted ACGs; and vectorizing the training dataset generated for deep learning.
  • the step of extracting the malicious behavior pattern includes: extracting the ACG feature used in the malicious behavior using the deep learning visualization technique from the learned prediction model using the deep learning visualization technique; and extracting a malicious behavior pattern by grouping malicious applications having similar ACGs from the extracted ACG feature to find the intersection of the malicious applications.
  • the dangerous application classifier may include a step of measuring the malicious behavior pattern list and Jaccard similarity in the ACG extracted from the target application by listing the extracted malicious behavior patterns. .
  • a computer program for performing the API call graph extraction-based mobile application malicious behavior pattern detection method is recorded.
  • An apparatus for detecting an API call graph extraction-based mobile application malicious behavior pattern is an API Call Graph (ACG), which is a call flow of an API from a normal application and an application performing a malicious behavior. ) to extract the API call graph extractor; a training dataset vectorizer that generates and vectorizes the extracted ACG as a training dataset for deep learning; a machine learner for generating a deep learning algorithm prediction model by learning a vectorized training dataset; a pattern extractor that extracts ACG features used for malicious behavior from the generated predictive model and extracts malicious behavior patterns from the intersection of malicious applications; and a risk application classifier for classifying applications performing malicious behaviors by comparing the similarity between the extracted malicious behavior pattern and the pattern extracted from the target application.
  • ACG API Call Graph
  • the API call graph extraction-based mobile application malicious behavior pattern detection device includes: a framework API crawler for extracting framework API information from an Android homepage; and a framework API database that stores the extracted framework API information.
  • the API call graph extractor may extract an API Call Graph (ACG) that is a call flow by using a taint analysis technique.
  • ACG API Call Graph
  • the training dataset vectorizer includes: a training dataset generator for generating a training dataset by combining all extracted ACGs; and an embedding vectorizer for vectorizing the training dataset generated for deep learning.
  • the pattern extractor includes: an API call graph feature extractor for extracting ACG features used in malicious behavior in a deep learning visualization technique using a deep learning visualization technique in a learned prediction model; and a malicious behavior pattern extractor that extracts malicious behavior patterns by grouping malicious applications having similar ACGs from the extracted ACG feature to find the intersection of the malicious applications.
  • the dangerous application classifier includes a jacquard similarity comparator that lists the extracted malicious behavior patterns and measures the malicious behavior pattern list and Jaccard similarity in the ACG extracted from the target application; can
  • the actual operation of the malicious application is identified using the API call flow, ACG, and the malicious behavior operated in the malicious application using the deep learning technique. Malicious applications can be classified by analyzing patterns. Therefore, since the malicious behavior itself can be detected, damage caused by the malicious behavior can be prevented by predicting and detecting the malicious behavior.
  • FIG. 1 is a block diagram of a mobile application malicious behavior pattern detection device based on API call graph extraction according to an embodiment of the present invention.
  • FIG. 2 is a diagram for explaining the operation of the mobile application malicious behavior pattern detection apparatus of FIG. 1 .
  • FIG. 3 is a block diagram illustrating a detailed configuration of the mobile application malicious behavior pattern detection apparatus of FIG. 1 .
  • FIG. 4 is a graph showing a learning result according to the present invention.
  • FIG. 5 is a view showing an example of an API call graph feature list according to the learning result of FIG.
  • FIG. 6 is a diagram showing an example of a malicious pattern list generated according to the present invention.
  • FIG. 7 is a diagram showing a measurement reference value of jacquard similarity, which is a criterion for classifying malignancy.
  • FIG. 8 is a flowchart of a method for detecting malicious behavior patterns in mobile applications based on API call graph extraction according to an embodiment of the present invention.
  • FIG. 1 is a block diagram of a mobile application malicious behavior pattern detection device based on API call graph extraction according to an embodiment of the present invention.
  • FIG. 2 is a diagram for explaining the operation of the mobile application malicious behavior pattern detection apparatus of FIG. 1 .
  • the API call graph extraction-based mobile application malicious behavior pattern detection device 10 (hereinafter referred to as the device) according to the present invention is an API call graph (ACG) that can determine the usage relationship of APIs based on the API containing the actual operation function in the mobile application. ) is used.
  • ACG API call graph
  • malicious behavior patterns are extracted so that ACG can be detected by analyzing the malicious behavior itself using a deep learning technique.
  • ACG is extracted using a taint analysis technique based on an API for a mobile application.
  • features are extracted using a deep learning visualization technique (Gradient-weighted Class Activation Map) that can extract features that are judged to be important in learning.
  • malicious behavior patterns commonly used in malicious applications are identified.
  • an apparatus 10 includes an API call graph extractor 130 , a training dataset vectorizer 140 , a machine learner 150 , a pattern extractor 160 , and a risk application classifier. (170).
  • the device 10 may further include a framework API crawler 110 and a framework API database 120 .
  • software (application) for performing API call graph extraction-based mobile application malicious behavior pattern detection may be installed and executed, and the framework API crawler 110 and the framework API database ( 120), the API call graph extractor 130, the training dataset vectorizer 140, the machine learner 150, the pattern extractor 160, and the risk application classifier 170 are configured in the device 10 ) can be controlled by software for performing automatic validation of the API call validity.
  • the device 10 may be a separate terminal or may be a part of a module of the terminal.
  • the framework API crawler 110, the framework API database 120, the API call graph extractor 130, the training dataset vectorizer 140, the machine learner 150, the pattern extractor ( 160) and the configuration of the risk application classifier 170 may be formed as an integrated module, or may consist of one or more modules. However, on the contrary, each configuration may be formed of a separate module.
  • the device 10 may be movable or stationary.
  • the apparatus 10 may be in the form of a server or an engine, and may be a device, an application, a terminal, a user equipment (UE), a mobile station (MS), or a wireless device. (wireless device), may be called other terms such as a handheld device (handheld device).
  • the device 10 may execute or manufacture various software based on an operating system (OS), that is, the system.
  • OS operating system
  • the operating system is a system program for software to use the hardware of the device, and is a mobile computer operating system such as Android OS, iOS, Windows Mobile OS, Bada OS, Symbian OS, Blackberry OS and Windows series, Linux series, Unix series, It can include all computer operating systems such as MAC, AIX, and HP-UX.
  • the framework API crawler 110 extracts framework API information from the Android homepage.
  • Android framework API information includes package, class, and method information.
  • the framework API database 120 stores the extracted framework API information.
  • the framework API database 120 stores packages, classes, method governments, etc. extracted from the framework API crawler 110 .
  • the API call graph extractor 130 extracts an API call graph (ACG), which is an API call flow, from a normal application and an application performing malicious behavior.
  • ACG API call graph
  • the call flow may use a taint analysis technique.
  • Flowdroid is a tool for optimizing Android applications and extracting API call graphs based on Soot, a Java optimization framework.
  • Flowdroid first extracts xml, .dex, and manifest files from the apk file. After that, an entry point is created using the Android API Framework list corresponding to 142 sources, which are methods that receive data, and 159 sinks, which are methods through which data goes out.
  • the APIs coming out from the source defined from the main method to the sink are judged as data leaks and the API call graph is extracted. After that, the API call graphs are expressed in the extracted list. Finally, create a list of 444 defined API call graphs in the Android API Package unit.
  • API call graphs are extracted from malicious applications and normal applications, respectively. After that, the extracted API call graphs are grouped according to the call to form a call sequence. Finally, the call order form is transformed into an API form so that it can be used for learning.
  • the training dataset vectorizer 140 generates and vectorizes the extracted ACG as a training dataset for deep learning.
  • each word is mapped to a unique integer and letters are converted into numbers.
  • the extracted API call graphs are made into a word dictionary, and an integer index is given by mapping them to integers. With the API call graphs mapped in this way, it is randomly vectorized into a dense vector using an embedding layer. If it is vectorized by embedding it into a word, it can contain a lot of information in a small dimension, which speeds up learning.
  • the machine learner 150 generates a deep learning algorithm prediction model by learning a vectorized training dataset.
  • CNN learning is performed with the vectorized API call graphs in the training dataset vectorizer 140 .
  • the training dataset vectorizer 140 combines all extracted ACGs to generate a training dataset as a training dataset generator 142 and an embedding vector for vectorizing the training dataset generated for deep learning.
  • a firearm 144 may be included.
  • an operation is performed on a one-dimensional convolution layer used for natural language processing, and then pooling is performed.
  • the convolution operation is performed using p filters with a height of q.
  • average pooling is applied that uses the entire data rather than using only specific large data in the generated feature map.
  • the average pooling result is connected to FC through a flattening process.
  • the prediction result is derived using the activation function, softmax.
  • the pattern extractor 160 extracts a malicious behavior pattern from the intersection of malicious applications by extracting ACG features used for malicious behavior from the generated predictive model.
  • the pattern extractor 160 may include an API call graph feature extractor 162 and a malicious behavior pattern extractor 164 .
  • the API call graph feature extractor 162 extracts the ACG feature used in the malicious behavior using the deep learning visualization technique in the learned prediction model with the deep learning visualization technique.
  • a feature is extracted from a predictive trained model using a Grad-CAM (Gradient-weighted Class Activation Map).
  • Grad-CAM is a method to obtain a gradient value using backpropagation.
  • the formula for calculating the Grad-CAM is as Equation 1 below.
  • ReLU is a deep learning activation function
  • the weight for the feature is the vector feature map of the convolution layer.
  • the weight value for the prediction result is obtained and multiplied by the feature map to finally obtain the desired heat map.
  • the larger the heat map value the more important it is to classify a malicious application as malicious.
  • an API call graph in which the extracted heat map value is a positive number is extracted and used to create a pattern of a malicious application.
  • the extracted value is called an API call graph feature.
  • the malicious behavior pattern extractor 164 extracts malicious behavior patterns by grouping malicious applications having similar ACGs from the ACG features extracted by the API call graph feature extractor 162 to find the intersection of the malicious applications.
  • patterns are extracted by grouping among malicious applications with the same number of feature training datasets using the feature training dataset.
  • the 11 API call graph features of A and B are used as malicious patterns, instead of using the intersection of A and B as a pattern.
  • One pattern may be extracted for each number, or several patterns may be extracted.
  • the dangerous application classifier 170 classifies an application performing a malicious behavior by comparing the similarity between the extracted malicious behavior pattern and the pattern extracted from the target application.
  • the risk application classifier 170 may include a jacquard similarity comparator 172 .
  • the jacquard similarity comparator 172 lists the extracted malicious behavior patterns and measures the malicious behavior pattern list and the jacquard similarity in the ACG extracted from the target application. Malicious applications are classified using the measured similarity.
  • the measured jacquard similarity score is set as a reference point, and if it is equal to or greater than this score, it is classified as a malicious application, and if it is lower than this score, it can be classified as a benign application.
  • the experimental environment was Intel(R) Xeon(R) W-2123 4-core 3.60GHz CPU, 32GB RAM, NVIDIA Quadro P4000, Windows 10 pro, Flowdroid 2.0 version, Python 3.7.2 version for API call graph extraction and Tensorflow 1.14.0 and Keras 2.2.4 versions were used.
  • the training dataset was targeted for applications released in 2018, and using a program created by Androzoo, 10,000 general applications randomly from the Google Play Store and the top 10,000 malicious applications in order of largest capacity among applications provided by VirusShare was used.
  • Training Dataset Using the Framework API provided by Android and Google, a list of Framework APIs was made, and a training dataset was constructed by extracting API call graphs from malicious and general applications. To minimize the training dataset, the API used the package unit, which is the unit provided by Android. By using the package unit, the number of APIs was reduced, and it was made to respond quickly to Android APIs that change little by little.
  • API -> API when extracted as an API call graph. It can be seen that a total of 444x444 API call graph lists are created. After that, an optimized API call graph was extracted by removing duplicates.
  • Grad CAM is applied to find weight values and use them as features.
  • the epoch a parameter that repeats learning, is set to 50, and the learning model with the highest accuracy and low loss is stored and used.
  • API Pattern With the API call graph feature of FIG. 5 extracted through Grad CAM from the malicious application, the pattern used only in the malicious application is extracted by using the intersection. To extract the pattern, only 8,545 API call graphs selected as features are selected to extract API call graphs for each application, and 11 to 727 intersections are extracted based on the malicious application with the smallest API call graph. create a malicious pattern.
  • the generated pattern list is shown in FIG. 6 .
  • Jacquard similarity measurement results are as follows. Using the generated pattern, the jacquard similarity values of malicious and general applications are relatively clearly distinguished and measured. It can be seen that the actual behavior patterns of applications that perform malicious actions and applications that perform normal functions are different.
  • the generated pattern list and the API call graph feature of the target application are compared to determine whether or not there is maliciousness.
  • FIG. 7 when a pattern greater than or equal to the reference value is detected in the target application, it is notified which pattern has been detected and is determined as malicious. On the other hand, if a pattern below the reference value is detected, it is determined as a normal application.
  • the classification method using the API call graph proposed in the present invention as a feature showed excellent performance in terms of time and accuracy.
  • an API call graph containing the actual operation of a malicious application is analyzed using CNN, and a weight given when learning is used to select a feature more accurately and faster than a human. Since the features given as weights were selected and used in deep learning, it can be seen that relatively objective features were used.
  • FIG. 8 is a flowchart of a method for detecting malicious behavior patterns in mobile applications based on API call graph extraction according to an embodiment of the present invention.
  • the method for detecting a mobile application malicious behavior pattern based on API call graph extraction may proceed in substantially the same configuration as that of the device 10 of FIG. 1 . Accordingly, the same components as those of the device 10 of FIG. 1 are given the same reference numerals, and repeated descriptions are omitted.
  • API call graph extraction-based mobile application malicious behavior pattern detection method may be executed by software (application) for performing API call graph extraction-based mobile application malicious behavior pattern detection.
  • the present invention uses an API call graph (ACG) that can determine the usage relationship of APIs based on an API containing an actual operation function in a mobile application.
  • ACG API call graph
  • malicious behavior patterns are extracted so that ACG can be detected by analyzing the malicious behavior itself using a deep learning technique.
  • ACG is extracted using a taint analysis technique based on an API for a mobile application.
  • features are extracted using a deep learning visualization technique (Gradient-weighted Class Activation Map) that can extract features that are judged to be important in learning.
  • malicious behavior patterns commonly used in malicious applications are identified.
  • the framework API information is crawled and extracted from the Android homepage and the extracted framework API information is stored (step S10).
  • An API call graph (ACG), which is an API call flow, is extracted from the normal application and the malicious application (step S20).
  • ACG API Call Graph
  • ACG API Call Graph
  • the extracted ACG is generated as a training dataset for deep learning and vectorized (step S30). First, all extracted ACGs are combined to create a training dataset, and the training dataset generated for deep learning is vectorized.
  • a deep learning algorithm prediction model is generated by learning the vectorized training dataset (step S40).
  • a malicious behavior pattern is extracted from the intersection of malicious applications by extracting ACG features used for malicious behavior from the generated predictive model (step S50).
  • step S70 By comparing the degree of similarity between the extracted malicious behavior pattern and the pattern extracted from the target application (step S60), the application performing the malicious behavior is classified (step S70). List the extracted malicious behavior patterns and measure the list of malicious behavior patterns and Jaccard similarity from the ACG extracted from the target application.
  • the present invention can classify a malicious application by identifying the actual operation of the malicious application using ACG, which is the call flow of the API, and analyzing the malicious behavior pattern operating in the malicious application using the deep learning technique. Therefore, since the malicious behavior itself can be detected, damage caused by the malicious behavior can be prevented by predicting and detecting the malicious behavior.
  • ACG the call flow of the API
  • This API call graph extraction-based mobile application malicious behavior pattern detection method may be implemented as an application or implemented in the form of a program command that may be executed through various computer components and recorded in a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded in the computer-readable recording medium are specially designed and configured for the present invention, and may be known and available to those skilled in the computer software field.
  • Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. media), 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 not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware device may be configured to operate as one or more software modules for carrying out the processing according to the present invention, and vice versa.
  • the present invention is a technology that can classify a malicious application by identifying the actual operation of a malicious application using ACG, which is the call flow of an API, and analyzing the malicious behavior pattern operating in the malicious application using a deep learning technique. Therefore, it is possible to detect the malicious behavior of the application itself, and it is expected to prevent damage caused by the malicious behavior by predicting and detecting the malicious behavior.
  • ACG the call flow of an API

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Debugging And Monitoring (AREA)

Abstract

API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법은, 정상적인 애플리케이션과 악성 행위를 하는 애플리케이션으로부터 API의 호출 흐름인 ACG(API Call Graph)를 추출하는 단계; 추출된 ACG를 딥러닝을 위한 트레이닝 데이터셋으로 생성하여 벡터화하는 단계; 벡터화된 트레이닝 데이터셋을 학습하여 딥 러닝 알고리즘 예측 모델을 생성하는 단계; 생성된 예측 모델에서 악성 행위에 사용되는 ACG 특징을 추출하여 악성 애플리케이션들의 교집합으로부터 악성 행위 패턴을 추출하는 단계; 및 추출된 악성 행위 패턴과 타겟 애플리케이션에서 추출된 패턴의 유사도 비교를 통해 악성 행위를 하는 애플리케이션을 분류하는 단계;를 포함한다. 이에 따라, API의 호출 흐름인 ACG를 이용하여 악성 행위 자체를 탐지할 수 있다.

Description

API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치
본 발명은 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치에 관한 것으로서, 더욱 상세하게는 모바일 애플리케이션에 실제 동작 기능을 담고 있는 API들의 사용 관계를 파악할 수 있는 API 호출 그래프(API Call Graph)를 이용하여 딥러닝 기법으로 악성 행위 자체를 분석하여 탐지할 수 있는 기술에 관한 것이다.
IoT 시장이 계속해서 성장하는 가운데, IoT 장치 들은 매년 증가하여 2021년까지 250억 개로 증가할 것으로 예상된다. 이러한 환경에서 모바일 기기의 중요성도 커지면서, 모바일 애플리케이션의 시장도 가파르게 성장하고 있다. 이로 인해 모바일 애플리케이션 악성코드의 규모도 날이 갈수록 증가하고 있다.
일부 보고서에 의하면, 2017년 2,000만여 개였던 것이 2019년에 약 3,600만여 개까지 늘어 났다. 평균 1분에 약 15개꼴로 계속해서 빠르게 악성 애플리케이션이 생겨나는 상황이다. 전세계 모바일 기기에서 사용되는 운영체제 점유율은 2019년 12월 기준 안드로이드가 무려 74%로 매우 높은 비중을 차지고 있다. 그만큼 안드로이드 모바일 애플리케이션도 많이 사용되고 있다.
하지만, 안드로이드 애플리케이션은 오픈 마켓 정책으로, 누구나 손쉽게 불법복제 및 무단수정, 유포가 가능하기 때문에 많은 취약점이 존재 한다. 이로 인해 리패키징 공격으로, 많은 금전적 손실과 개인정보, 암호 유출과 같은 피해들이 발생하고 있다.
따라서, 모바일 애플리케이션 중에서 악성 행위를 하는 애플리케이션을 보다 정밀하게 탐지하여 사용자를 보호할 필요가 있다. 기존 악성 행위 탐지에는 퍼미션, 디스크 립션, 유저 리뷰 기반 분석방법이 있지만, 악성 행위를 탐지 하는데 있어서 한계가 명확하게 드러나기 때문에 악성 행위 자체를 정확히 탐지할 수 있는 방법이 필요하다.
최근에는 악성 애플리케이션 탐지를 위해 실제 동작을 탐지할 수 있는 Application Programming Interface(API)를 추출하여 탐지하는 방법의 연구가 활발하게 진행되고 있다.
하지만, API만을 이용하여 탐지하게 될 경우, API 사용 유무만을 확인하여 악성 애플리케이션을 탐지하기 때문에 정상적인 애플리케이션과 악성 애플리케이션에서 동일한 API를 사용한다면 정상적인 애플리케이션이 악성으로 오분류 될 수 있다. 또한, 안드로이드에서 많이 발생하는 data leak을 가진 악성 애플리케이션도 일반 애플리케이션으로 오분류 될 수 있는 문제가 있다.
[선행기술문헌]
[특허문헌]
(특허문헌 1) KR 10-2005107 B1
(특허문헌 2) KR 10-1589656 B1
(특허문헌 3) KR 10-1228899 B1
[비특허문헌]
(비특허문헌 1) T. Cho, H. Kim, and J. H. Yi, "Security Assessment of Code Obfuscation based on Dynamic Monitoring in Android Things," IEEE Access, vol. 5, pp. 6361-6371, 2017.
(비특허문헌 2) K. Kim, J. Kim, E. Ko, and J. H. Yi, "Risk Assessment Scheme for Mobile Applications based on Tree Boosting," IEEE Access, vol. 8, pp. 48503-48514, 2020.
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법을 수행하기 위한 장치를 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법은, 정상적인 애플리케이션과 악성 행위를 하는 애플리케이션으로부터 API의 호출 흐름인 ACG(API Call Graph)를 추출하는 단계; 추출된 ACG를 딥러닝을 위한 트레이닝 데이터셋으로 생성하여 벡터화하는 단계; 벡터화된 트레이닝 데이터셋을 학습하여 딥 러닝 알고리즘 예측 모델을 생성하는 단계; 생성된 예측 모델에서 악성 행위에 사용되는 ACG 특징을 추출하여 악성 애플리케이션들의 교집합으로부터 악성 행위 패턴을 추출하는 단계; 및 추출된 악성 행위 패턴과 타겟 애플리케이션에서 추출된 패턴의 유사도 비교를 통해 악성 행위를 하는 애플리케이션을 분류하는 단계;를 포함한다.
본 발명의 실시예에서, 상기 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법은, 안드로이드 홈페이지에서 프레임워크 API 정보를 크롤링하여 추출하는 단계; 및 추출한 프레임워크 API 정보를 저장하는 단계;를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 ACG(API Call Graph)를 추출하는 단계는, 오염 분석 기법(Taint Analysis)을 이용하여 호출 흐름인 ACG(API Call Graph)를 추출할 수 있다.
본 발명의 실시예에서, 상기 위한 트레이닝 데이터셋으로 생성하여 벡터화하는 단계는, 추출된 ACG를 전부 합쳐서 트레이닝 데이터셋으로 생성하는 단계; 및 딥러닝을 위해 생성된 트레이닝 데이터셋을 벡터화하는 단계;를 포함할 수 있다.
본 발명의 실시예에서, 상기 악성 행위 패턴을 추출하는 단계는, 학습된 예측 모델에서 딥러닝 시각화 기법을 이용하여 악성 행위에서 사용되는 ACG 피쳐를 딥러닝 시각화 기법으로 추출하는 단계; 및 추출된 ACG 피쳐에서 유사한 ACG를 가진 악성 애플리케이션끼리 그룹화하여 악성 애플리케이션들의 교집합을 구하여 악성 행위 패턴을 추출하는 단계;를 포함할 수 있다.
본 발명의 실시예에서, 상기 위험 애플리케이션 분류기는, 추출된 악성 행위 패턴을 목록화하여 타겟 애플리케이션에서 추출된 ACG에서 악성 행위 패턴 목록과 자카드 유사도(Jaccard Similarity)를 측정하는 단계;를 포함할 수 있다.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 상기 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치는, 정상적인 애플리케이션과 악성 행위를 하는 애플리케이션으로부터 API의 호출 흐름인 ACG(API Call Graph)를 추출하는 API 호출 그래프 추출기; 추출된 ACG를 딥러닝을 위한 트레이닝 데이터셋으로 생성하여 벡터화하는 트레이닝 데이터셋 벡터화기; 벡터화된 트레이닝 데이터셋을 학습하여 딥 러닝 알고리즘 예측 모델을 생성하는 기계 학습기; 생성된 예측 모델에서 악성 행위에 사용되는 ACG 특징을 추출하여 악성 애플리케이션들의 교집합으로부터 악성 행위 패턴을 추출하는 패턴 추출기; 및 추출된 악성 행위 패턴과 타겟 애플리케이션에서 추출된 패턴의 유사도 비교를 통해 악성 행위를 하는 애플리케이션을 분류하는 위험 애플리케이션 분류기;를 포함한다.
본 발명의 실시예에서, 상기 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치는, 안드로이드 홈페이지에서 프레임워크 API 정보를 추출하는 프레임워크 API 크롤러; 및 추출한 프레임워크 API 정보를 저장하는 프레임워크 API 데이터베이스;를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 API 호출 그래프 추출기는, 오염 분석 기법(Taint Analysis)을 이용하여 호출 흐름인 ACG(API Call Graph)를 추출할 수 있다.
본 발명의 실시예에서, 상기 트레이닝 데이터셋 벡터화기는, 추출된 ACG를 전부 합쳐서 트레이닝 데이터셋으로 생성하는 트레이닝 데이터셋 생성기; 및 딥러닝을 위해 생성된 트레이닝 데이터셋을 벡터화하는 임베딩 벡터화기;를 포함할 수 있다.
본 발명의 실시예에서, 상기 패턴 추출기는, 학습된 예측 모델에서 딥러닝 시각화 기법을 이용하여 악성 행위에서 사용되는 ACG 피쳐를 딥러닝 시각화 기법으로 추출하는 API 호출 그래프 피쳐 추출기; 및 추출된 ACG 피쳐에서 유사한 ACG를 가진 악성 애플리케이션끼리 그룹화하여 악성 애플리케이션들의 교집합을 구하여 악성 행위 패턴을 추출하는 악성 행위 패턴 추출기;를 포함할 수 있다.
본 발명의 실시예에서, 상기 위험 애플리케이션 분류기는, 추출된 악성 행위 패턴을 목록화하여 타겟 애플리케이션에서 추출된 ACG에서 악성 행위 패턴 목록과 자카드 유사도(Jaccard Similarity)를 측정하는 자카드 유사도 비교기;를 포함할 수 있다.
이와 같은 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법에 따르면, API의 호출 흐름인 ACG를 이용하여 악성 애플리케이션에서 동작되는 실제 동작을 파악하고, 딥러닝 기법을 사용하여 악성 애플리케이션에서 동작되는 악성 행위 패턴을 분석하여 악성 애플리케이션을 분류할 수 있다. 따라서, 악성 행위 자체를 탐지할 수 있으므로, 악성 행위를 예측 탐지하여 악성 행위로 인한 피해를 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치의 블록도이다.
도 2는 도 1의 모바일 애플리케이션 악성 행위 패턴 탐지 장치의 동작을 설명하기 위한 도면이다.
도 3은 도 1의 모바일 애플리케이션 악성 행위 패턴 탐지 장치의 구체적인 구성을 도시한 블록도이다.
도 4는 본 발명에 따른 학습 결과를 보여주는 그래프이다.
도 5는 도 4의 학습결과에 따른 API 호출 그래프 피쳐 리스트의 예시를 보여주는 도면이다.
도 6은 본 발명에 따라 생성된 악성 패턴 리스트의 예시를 보여주는 도면이다.
도 7은 악성 유무를 구분하는 기준인 자카드 유사도의 측정 기준값을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법의 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치의 블록도이다. 도 2는 도 1의 모바일 애플리케이션 악성 행위 패턴 탐지 장치의 동작을 설명하기 위한 도면이다.
본 발명에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치(10, 이하 장치)는 모바일 애플리케이션에 실제 동작 기능을 담고 있는 API를 기반으로, API들의 사용 관계를 파악할 수 있는 API 호출 그래프(ACG)를 이용한다. 또한, ACG를 딥러닝 기법으로 악성 행위 자체를 분석하여 탐지할 수 있도록 악성 행위 패턴을 추출한다.
본 발명에서는 모바일 애플리케이션에 대해 API를 기반으로 오염 분석(Taint Analysis) 기법을 이용하여 ACG를 추출한다. 이후 딥러닝 알고리즘을 이용하여 예측 모델 학습 후, 학습에서 중요하다고 판단되는 피쳐를 추출할 수 있는 딥러닝 시각화 기법(Gradient-weighted Class Activation Map)을 이용하여 피쳐를 추출한다.
추출된 피쳐를 이용하여 악성 애플리케이션에서 공통으로 사용되는 악성 행위 패턴을 파악한다. 악성 행위 자체를 파악하므로, 정확하고 빠르게 악성 애플리케이션 패턴 탐지가 가능하다.
도 1 및 도 2를 참조하면, 본 발명에 따른 장치(10)는 API 호출 그래프 추출기(130), 트레이닝 데이터셋 벡터화기(140), 기계 학습기(150), 패턴 추출기(160) 및 위험 애플리케이션 분류기(170)를 포함한다. 상기 장치(10)는 프레임워크 API 크롤러(110) 및 프레임워크 API 데이터베이스(120)를 더 포함할 수 있다.
본 발명의 상기 장치(10)는 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지를 수행하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있으며, 상기 프레임워크 API 크롤러(110) 및 상기 프레임워크 API 데이터베이스(120), 상기 API 호출 그래프 추출기(130), 상기 트레이닝 데이터셋 벡터화기(140), 상기 기계 학습기(150), 상기 패턴 추출기(160) 및 상기 위험 애플리케이션 분류기(170)의 구성은 상기 장치(10)에서 실행되는 상기 API 호출 정당성의 자동검증을 수행하기 위한 소프트웨어에 의해 제어될 수 있다.
상기 장치(10)는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 또한, 상기 프레임워크 API 크롤러(110) 및 상기 프레임워크 API 데이터베이스(120), 상기 API 호출 그래프 추출기(130), 상기 트레이닝 데이터셋 벡터화기(140), 상기 기계 학습기(150), 상기 패턴 추출기(160) 및 상기 위험 애플리케이션 분류기(170)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.
상기 장치(10)는 이동성을 갖거나 고정될 수 있다. 상기 장치(10)는, 서버(server) 또는 엔진(engine) 형태일 수 있으며, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다.
상기 장치(10)는 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.
상기 프레임워크 API 크롤러(110)는 안드로이드 홈페이지에서 프레임워크 API 정보를 추출한다. 예를 들어, 안드로이드 프레임워크 API 정보에는 패키지, 클래스, 메소드 정보 등이 있다.
상기 프레임워크 API 데이터베이스(120)는 추출한 프레임워크 API 정보를 저장한다. 상기 프레임워크 API 데이터베이스(120)는 상기 프레임워크 API 크롤러(110)에서 추출한 패키지, 클래스, 메소드 정부 등을 저장한다.
상기 API 호출 그래프 추출기(130)는 정상적인 애플리케이션과 악성 행위를 하는 애플리케이션으로부터 API의 호출 흐름인 ACG(API Call Graph)를 추출한다. 호출 흐름은 오염 분석(taint analysis) 기법을 이용할 수 있다.
일 실시예로, 오염 분석 기법을 이용한 API 호출 그래프 추출 도구로는 Flowdroid가 있다. Flowdroid는 자바 최적화 프레임워크인 Soot를 기반으로 하여 안드로이드 애플리케이션 최적화 및 API 호출 그래프를 추출하는 도구이다.
Flowdroid는 우선 apk 파일에서 xml, .dex, manifest파일을 추출한다. 이후 데이터를 입력받는 메소드인 source 142개와 데이터가 외부로 나가는 메소드인 sink 159개에 해당하는 Android API Framework 목록을 이용하여 entry point를 생성한다.
생성된 entry point를 이용하여 main method부터 정의된 source에서 sink로 나오는 API들을 data leak이라고 판단하고 API들의 호출 그래프를 추출한다. 이후 추출된 목록으로 API 호출 그래프들을 표현한다. 마지막으로 안드로이드 API Package 단위의 444개의 정의된 API 호출 그래프 목록을 생성한다.
본 발명에서는 악성 애플리케이션과 일반 애플리케이션에서 각각 API 호출 그래프를 추출한다. 이후 추출된 API 호출 그래프들을 호출(call)에 맞게 묶어 호출 순서(sequence) 형태로 만든다. 마지막으로 학습에 사용될 수 있게 호출 순서 형태를 API의 형태로 변형하여 사용한다.
상기 트레이닝 데이터셋 벡터화기(140)는 추출된 ACG를 딥러닝을 위한 트레이닝 데이터셋으로 생성하여 벡터화한다.
자연어(Nature Language)를 딥러닝에 사용하기 위하여 각 단어들을 고유한 정수에 매핑시켜 글자를 숫자로 변환한다. 본 발명에서는 추출된 API 호출 그래프들을 가지고 단어 사전으로 만들고 정수로 매핑하여 정수 인덱스를 부여한다. 그렇게 매핑된 API 호출 그래프들을 가지고 임베딩 레이어를 이용하여 랜덤하게 밀집 벡터(dense vector)로 벡터화 한다. 단어로 임베딩하여 벡터화를 하게 되면, 적은 차원에도 많은 정보를 담을 수 있어 학습 속도가 빨라진다.
상기 기계 학습기(150)는 벡터화된 트레이닝 데이터셋을 학습하여 딥 러닝 알고리즘 예측 모델을 생성한다.
상기 트레이닝 데이터셋 벡터화기(140)에서 벡터화된 API 호출 그래프들을 가지고 CNN 학습을 진행한다.
도 3을 참조하면, 상기 트레이닝 데이터셋 벡터화기(140)는 추출된 ACG를 전부 합쳐서 트레이닝 데이터셋으로 생성하는 트레이닝 데이터셋 생성기(142) 및 딥러닝을 위해 생성된 트레이닝 데이터셋을 벡터화하는 임베딩 벡터화기(144)를 포함할 수 있다.
CNN 알고리즘을 이용하여 자연어 처리에 사용되는 1차원 크기의 합성곱 레이어(convolution layer)에서 연산을 한 후 풀링(pooling)을 진행하게 된다. 합성곱 레이어에서는 q만큼의 높이를 가진 p개의 필터를 이용하여 합성곱 연산을 수행한다.
이후, 생성된 feature map에서 특정 큰 데이터만 사용하는 것이 아닌 전체의 데이터를 사용하는 average pooling 을 적용한다. Average pooling 결과값을 가지고 flatten 과정을 거쳐 FC와 연결한다. 마지막으로 활성화 함수인 softmax로 예측 결과값을 도출해 낸다.
상기 패턴 추출기(160)는 생성된 예측 모델에서 악성 행위에 사용되는 ACG 특징을 추출하여 악성 애플리케이션들의 교집합으로부터 악성 행위 패턴을 추출한다.
도 3을 참조하면, 상기 패턴 추출기(160)는 API 호출 그래프 피쳐 추출기(162) 및 악성 행위 패턴 추출기(164)를 포함할 수 있다.
상기 API 호출 그래프 피쳐 추출기(162)는 학습된 예측 모델에서 딥러닝 시각화 기법을 이용하여 악성 행위에서 사용되는 ACG 피쳐를 딥러닝 시각화 기법으로 추출한다.
예를 들어, 예측 학습된 모델에서 Grad-CAM(Gradient-weighted Class Activation Map)을 이용하여 피쳐를 추출한다. Grad-CAM은 역전파(backpropagation)을 이용하여 기울기(gradient)값을 구하는 방식이다. Grad-CAM을 구하는 공식은 다음의 수학식 1과 같다.
Figure PCTKR2020016913-appb-M000001
여기서, ReLU는 딥러닝 활성화 함수(activation function)이고,
Figure PCTKR2020016913-appb-I000001
는 특징에 대한 가중치,
Figure PCTKR2020016913-appb-I000002
는 Convolution Layer의 벡터 feature map이다. 이렇게 Grad-CAM을 구하면, API 호출 그래프 피쳐가 추출된다. 이후 추출된 피쳐 데이터셋을 이용하여 트레이닝 데이터셋에서 피쳐 데이터셋만 따로 뽑아 트레이닝 데이터셋을 다시 구축한다.
구체적으로, Grad CAM 기법을 이용하여 학습된 CNN에서 어떤 API 호출 그래프가 결과값의 높은 판단 기준이 되었는지 확인할 수 있는 heat map을 추출한다. Heat map을 추출하기 위해서 학습된 CNN의 합성곱 레이어(convolution layer)에서 feature map
Figure PCTKR2020016913-appb-I000003
의 데이터와 학습 예측 결과
Figure PCTKR2020016913-appb-I000004
를 가지고 gradient 값
Figure PCTKR2020016913-appb-I000005
을 구한다.
이후 gradient 값을 이용하여 예측 결과에 대한 가중치 값인
Figure PCTKR2020016913-appb-I000006
을 구하고 feature map과 곱하여 최종 적으로 얻고자 하는 heat map을 얻게 된다. 이때 heat map 값이 클수록 악성 애플리케이션을 악성으로 분류하는데 중요한 피쳐(feature)임을 의미한다.
따라서 악성 행위 탐지를 위해, 추출한 heat map 값이 양수인 API 호출 그래프를 추출하여 악성 애플리케이션의 패턴을 생성하는데 사용한다. 이때 추출된 값을 API 호출 그래프 피쳐라고 한다.
상기 악성 행위 패턴 추출기(164)는 상기 API 호출 그래프 피쳐 추출기(162)에서 추출된 ACG 피쳐에서 유사한 ACG를 가진 악성 애플리케이션끼리 그룹화하여 악성 애플리케이션들의 교집합을 구하여 악성 행위 패턴을 추출한다.
다시 말해, 피쳐 트레이닝 데이터셋을 이용하여 악성 애플리케이션 중에서 같은 개수의 피쳐 트레이닝 데이터셋을 가진것들끼리 그룹화하여 패턴을 추출한다.
예를 들어, A라는 악성 애플리케이션에서 추출된 API 호출 그래프 피쳐 리스트()의 API 호출 그래프 개수가 11개 이고, B라는 악성 애플리케이션에서 추출된 API 호출 그래프 피쳐 리스트()의 개수가 11개 이면 같은 패턴을 가진 악성 애플리케이션으로 보고, A와 B의 피쳐들의 교집합을 구하여 추출한다.
만약, 추출된 교집합이 ACG의 개수인 11개의 반보다 작게 나오면 A와 B의 교집합을 패턴으로 이용하지 않고 A와 B의 11개의 API 호출 그래프 피쳐를 각각 악성 패턴으로 사용한다. 개수별로 패턴이 1개가 추출될 수도 있고, 여러 개가 추출될 수도 있다.
상기 위험 애플리케이션 분류기(170)는 추출된 악성 행위 패턴과 타겟 애플리케이션에서 추출된 패턴의 유사도 비교를 통해 악성 행위를 하는 애플리케이션을 분류한다.
도 3을 참조하면, 상기 위험 애플리케이션 분류기(170)는 자카드 유사도 비교기(172)를 포함할 수 있다. 상기 자카드 유사도 비교기(172)는 추출된 악성 행위 패턴을 목록화하여 타겟 애플리케이션에서 추출된 ACG에서 악성 행위 패턴 목록과 자카드 유사도를 측정한다. 측정한 유사도를 이용하여 악성 애플리케이션을 분류한다.
악성 애플리케이션 Dataset을 가지고 악성 행위 패턴 리스트에서 같은 API 호출 그래프 피쳐의 개수를 가진 패턴이랑 자카드 유사도(Jaccard Similarity)를 측정한다. 자카드 유사도의 식은 다음의 수학식 2와 같다.
[수학식 2]
Figure PCTKR2020016913-appb-I000007
측정한 자카드 유사도 점수를 기준점으로 정하여, 이 점수보다 같거나 크면 악성 애플리케이션으로 분류하고, 이 점수보다 낮으면 양성 애플리케이션으로 분류할 수 있다.
이하에서는, 본 발명에서 제안한 CNN 기반 모바일 애플리케이션 악성 행위 패턴 탐지 기법에 대한 실험 구성 및 실험 평가에 관하여 서술한다.
실험 환경은 Intel(R) Xeon(R) W-2123 4-core 3.60GHz CPU와 32GB RAM, NVIDIA Quadro P4000, 윈도우 10 pro를 사용하였고, API 호출 그래프 추출을 위해 Flowdroid 2.0 버전, Python 3.7.2 버전 및 Tensorflow 1.14.0, Keras 2.2.4 버전을 사용하였다.
트레이닝 데이터셋은 2018년도에 나온 애플리케이션을 대상으로 하였고, Androzoo에서 만든 프로그램을 이용하여 Google Play Store에서 랜덤으로 10,000개의 일반 애플리케이션과 VirusShare에서 제공하는 애플리케이션 중, 용량이 가장 큰 순서대로 상위 10,000개의 악성 애플리케이션을 사용하였다.
Training Dataset 안드로이드와 구글에서 제공하는 Framework API를 사용하여 Framework API 리스트를 만들고, 악성과 일반 애플리케이션에서 API 호출 그래프를 추출하여 트레이닝 데이터셋을 구축하였다. 트레이닝 데이터셋의 최소화를 위해 API는 안드로이드에서 제공하는 단위인 package 단위를 사용하였다. package 단위를 사용하여 API의 개수를 줄이고, 조금씩 변하는 안드로이드 API에도 빠르게 대응되도록 하였다.
총 444개의 API package는 API 호출 그래프로 추출하였을 때 API -> API와 같은 하나의 단어 형태로 사용하였다. 총 444x444개의 API 호출 그래프 리스트가 생성되는 것을 확인할 수 있다. 이후 중복을 제거하여 최적화된 API 호출 그래프를 추출하였다.
피쳐 선택(Feature Selection) CNN 기법으로 학습한 이후에, Grad CAM을 적용하여 가중치 값을 찾아 피쳐로 사용한다. CNN을 빠르게 학습하기 위하여 convolution layer 1층과 pooling layer 1층만을 사용하여 기본적인 CNN 모델을 만든다. 이후에 학습을 반복하는 파라미터인 epoch을 50으로 설정하여, 그 중 accuracy가 가장 높고, loss가 낮은 학습모델을 저장하여 사용한다.
Epoch이 7일 때 정확도 99.71%, loss 0.0104로 가장 좋은 성능을 보이므로, 그 모델을 저장하여 사용한다. 이후 Grad CAM을 적용하여 heat map을 추출했을 때, 약 8,545개의 피쳐가 악성 애플리케이션으로 분류하는데 가중치 값에 영향을 주는 피쳐로 확인되었다. 학습 결과는 도 4와 같고 API 호출 그래프 피쳐 리스트는 도 5와 같다.
API Pattern 악성 애플리케이션에서 Grad CAM을 통해 추출된 도 5의 API 호출 그래프 피쳐를 가지고 교집합을 이용하여 악성 애플리케이션에서만 사용되는 패턴을 추출한다. 패턴을 추출하기 위해서 피쳐로 선택된 8,545개의 API 호출 그래프들만을 선택하여 애플리케이션별 API 호출 그래프를 추출하고, API 호출 그래프를 가장 작게 가지고 있는 악성 애플리케이션을 기준으로 11개부터 727개까지의 교집합을 추출하여 악성 패턴을 생성한다. 생성된 패턴 리스트는 도 6과 같다.
이후 생성된 패턴 493개를 이용하여 악성 애플리케이션들과의 자카드 유사도(jaccard similarity) 값을 구한다. 자카드 유사도 값 중 가장 작은 값을 기준으로 악성 유무를 판별하게 된다. 자카드 유사도 측정 결과는 다음과 같다. 생성한 패턴을 이용하여 악성 및 일반 애플리케이션의 자카드 유사도 값이 비교적 명확하게 구분되어 측정된다. 악성 행위를 하는 애플리케이션과 정상적인 기능을 하는 애플리케이션의 실제 동작 패턴이 다르다는 것을 확인할 수 있다.
실험 결과 추출한 도 6의 악성 행위 Pattern list를 가지고 악성 애플리케이션 10,000개와 일반 애플리케이션 10,000개를 분류하여 실험을 진행하였다.
악성 유무를 구분하는 기준인 도 7의 자카드 유사도 값을 이용 하여, 앞에서 생성한 패턴 리스트와 타겟 애플리케이션의 API 호출 그래프 피쳐를 비교하여 악성 유무를 판별한다. 도 7과 같이 타겟 애플리케이션에 기준치 이상의 패턴이 감지되면 어떤 패턴이 감지되었는지 알려주고, 악성으로 판별한다. 반면, 기준치 이하의 패턴이 감지되면 정상적인 애플리케이션으로 판별하게 된다.
또한, 실험 결과 본 발명에서 제안한 API 호출 그래프를 피쳐로 사용하여 분류하는 방법이 시간과 정확도 면에서 우수한 성능을 보였다.
본 발명에서는 빠르게 악성 애플리케이션이 늘어남에 따라 안드로이드 기반 악성 애플리케이션을 적은 피쳐로 빠르게 탐지하는 방법을 제시하였다. 안드로이드 애플리케이션의 경우 수정 및 재배포가 비교적 간편하여, 이를 막기 위해 악성 애플리케이션의 실제적인 동작 자체를 분석하는 것이 필요하다. 따라서, 실제 동작을 기반으로 악성 애플리케이션에서 자주 사용되는 패턴을 확인함으로 직접적으로 악성 행위에 대해 파악하고 분석하였다. 또한, 빠르게 생성되고 배포되는 악성 애플리케이션에 신속하게 대응할 수 있도록 하였다.
본 발명에서 제안된 기법에서는 CNN을 이용하여 악성 애플리케이션의 실제 동작을 담고 있는 API 호출 그래프를 분석하고, 학습할 때에 주어지는 가중치를 활용하여 사람보다 정확하고 빠르게 피쳐를 선택할 수 있게 하였다. 딥러닝에서 가중치로 주어지는 피쳐를 선택하여 사용하였기 때문에, 비교적 객관적인 피쳐를 사용했다고 볼 수 있다.
도 8은 본 발명의 일 실시예에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법의 흐름도이다.
본 실시예에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법은, 도 1의 장치(10)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 장치(10)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
또한, 본 실시예에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법은 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지를 수행하기 위한 소프트웨어(애플리케이션)에 의해 실행될 수 있다.
본 발명은 모바일 애플리케이션에 실제 동작 기능을 담고 있는 API를 기반으로, API들의 사용 관계를 파악할 수 있는 API 호출 그래프(ACG)를 이용한다. 또한, ACG를 딥러닝 기법으로 악성 행위 자체를 분석하여 탐지할 수 있도록 악성 행위 패턴을 추출한다.
본 발명에서는 모바일 애플리케이션에 대해 API를 기반으로 오염 분석(Taint Analysis) 기법을 이용하여 ACG를 추출한다. 이후 딥러닝 알고리즘을 이용하여 예측 모델 학습 후, 학습에서 중요하다고 판단되는 피쳐를 추출할 수 있는 딥러닝 시각화 기법(Gradient-weighted Class Activation Map)을 이용하여 피쳐를 추출한다.
추출된 피쳐를 이용하여 악성 애플리케이션에서 공통으로 사용되는 악성 행위 패턴을 파악한다. 악성 행위 자체를 파악하므로, 정확하고 빠르게 악성 애플리케이션 패턴 탐지가 가능하다.
도 8을 참조하면, 본 실시예에 따른 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법은, 안드로이드 홈페이지에서 프레임워크 API 정보를 크롤링하여 추출하여 추출한 프레임워크 API 정보를 저장한다(단계 S10).
정상적인 애플리케이션과 악성 행위를 하는 애플리케이션으로부터 API의 호출 흐름인 ACG(API Call Graph)를 추출한다(단계 S20). 이 때, 오염 분석 기법을 이용하여 호출 흐름인 ACG(API Call Graph)를 추출할 수 있다.
추출된 ACG를 딥러닝을 위한 트레이닝 데이터셋으로 생성하여 벡터화한다(단계 S30). 먼저, 추출된 ACG를 전부 합쳐서 트레이닝 데이터셋으로 생성하고, 딥러닝을 위해 생성된 트레이닝 데이터셋을 벡터화한다.
벡터화된 트레이닝 데이터셋을 학습하여 딥 러닝 알고리즘 예측 모델을 생성한다(단계 S40).
생성된 예측 모델에서 악성 행위에 사용되는 ACG 특징을 추출하여 악성 애플리케이션들의 교집합으로부터 악성 행위 패턴을 추출한다(단계 S50).
학습된 예측 모델에서 딥러닝 시각화 기법을 이용하여 악성 행위에서 사용되는 ACG 피쳐를 딥러닝 시각화 기법으로 추출하고, 추출된 ACG 피쳐에서 유사한 ACG를 가진 악성 애플리케이션끼리 그룹화하여 악성 애플리케이션들의 교집합을 구하여 악성 행위 패턴을 추출한다.
추출된 악성 행위 패턴과 타겟 애플리케이션에서 추출된 패턴의 유사도 비교를 통해(단계 S60), 악성 행위를 하는 애플리케이션을 분류한다(단계 S70). 추출된 악성 행위 패턴을 목록화하여 타겟 애플리케이션에서 추출된 ACG에서 악성 행위 패턴 목록과 자카드 유사도(Jaccard Similarity)를 측정한다.
본 발명은 API의 호출 흐름인 ACG를 이용하여 악성 애플리케이션에서 동작되는 실제 동작을 파악하고, 딥러닝 기법을 사용하여 악성 애플리케이션에서 동작되는 악성 행위 패턴을 분석하여 악성 애플리케이션을 분류할 수 있다. 따라서, 악성 행위 자체를 탐지할 수 있으므로, 악성 행위를 예측 탐지하여 악성 행위로 인한 피해를 방지할 수 있다.
이와 같은, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
[산업상 이용가능성]
본 발명은 API의 호출 흐름인 ACG를 이용하여 악성 애플리케이션에서 동작되는 실제 동작을 파악하고, 딥러닝 기법을 사용하여 악성 애플리케이션에서 동작되는 악성 행위 패턴을 분석하여 악성 애플리케이션을 분류할 수 있는 기술이다. 그러므로 애플리케이션의 악성 행위 자체를 탐지할 수 있어, 악성 행위를 예측 탐지하여 악성 행위로 인한 피해를 방지할 수 있을 것으로 기대된다.
[부호의 설명]
10: 모바일 애플리케이션 악성 행위 패턴 탐지 장치
110: 프레임워크 API 크롤러
120: 프레임워크 API 데이터베이스
130: API 호출 그래프 추출기
140: 트레이닝 데이터셋 벡터화기
150: 기계 학습기
160: 패턴 추출기
170: 위험 애플리케이션 분류기
142: 생성하는 트레이닝 데이터셋 생성기
144: 임베딩 벡터화기
162: API 호출 그래프 피쳐 추출기
164: 악성 행위 패턴 추출기
172: 자카드 유사도 비교기

Claims (13)

  1. 정상적인 애플리케이션과 악성 행위를 하는 애플리케이션으로부터 API의 호출 흐름인 ACG(API Call Graph)를 추출하는 단계;
    추출된 ACG를 딥러닝을 위한 트레이닝 데이터셋으로 생성하여 벡터화하는 단계;
    벡터화된 트레이닝 데이터셋을 학습하여 딥 러닝 알고리즘 예측 모델을 생성하는 단계;
    생성된 예측 모델에서 악성 행위에 사용되는 ACG 특징을 추출하여 악성 애플리케이션들의 교집합으로부터 악성 행위 패턴을 추출하는 단계; 및
    추출된 악성 행위 패턴과 타겟 애플리케이션에서 추출된 패턴의 유사도 비교를 통해 악성 행위를 하는 애플리케이션을 분류하는 단계;를 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법.
  2. 제1항에 있어서,
    안드로이드 홈페이지에서 프레임워크 API 정보를 크롤링하여 추출하는 단계; 및
    추출한 프레임워크 API 정보를 저장하는 단계;를 더 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법.
  3. 제1항에 있어서, 상기 ACG(API Call Graph)를 추출하는 단계는,
    오염 분석 기법(Taint Analysis)을 이용하여 호출 흐름인 ACG(API Call Graph)를 추출하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법.
  4. 제1항에 있어서, 상기 위한 트레이닝 데이터셋으로 생성하여 벡터화하는 단계는,
    추출된 ACG를 전부 합쳐서 트레이닝 데이터셋으로 생성하는 단계; 및
    딥러닝을 위해 생성된 트레이닝 데이터셋을 벡터화하는 단계;를 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법.
  5. 제1항에 있어서, 상기 악성 행위 패턴을 추출하는 단계는,
    학습된 예측 모델에서 딥러닝 시각화 기법을 이용하여 악성 행위에서 사용되는 ACG 피쳐를 딥러닝 시각화 기법으로 추출하는 단계; 및
    추출된 ACG 피쳐에서 유사한 ACG를 가진 악성 애플리케이션끼리 그룹화하여 악성 애플리케이션들의 교집합을 구하여 악성 행위 패턴을 추출하는 단계;를 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법.
  6. 제1항에 있어서, 상기 위험 애플리케이션 분류기는,
    추출된 악성 행위 패턴을 목록화하여 타겟 애플리케이션에서 추출된 ACG에서 악성 행위 패턴 목록과 자카드 유사도(Jaccard Similarity)를 측정하는 단계;를 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법.
  7. 제1항에 따른, 상기 API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
  8. 정상적인 애플리케이션과 악성 행위를 하는 애플리케이션으로부터 API의 호출 흐름인 ACG(API Call Graph)를 추출하는 API 호출 그래프 추출기;
    추출된 ACG를 딥러닝을 위한 트레이닝 데이터셋으로 생성하여 벡터화하는 트레이닝 데이터셋 벡터화기;
    벡터화된 트레이닝 데이터셋을 학습하여 딥 러닝 알고리즘 예측 모델을 생성하는 기계 학습기;
    생성된 예측 모델에서 악성 행위에 사용되는 ACG 특징을 추출하여 악성 애플리케이션들의 교집합으로부터 악성 행위 패턴을 추출하는 패턴 추출기; 및
    추출된 악성 행위 패턴과 타겟 애플리케이션에서 추출된 패턴의 유사도 비교를 통해 악성 행위를 하는 애플리케이션을 분류하는 위험 애플리케이션 분류기;
    를 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치.
  9. 제8항에 있어서,
    안드로이드 홈페이지에서 프레임워크 API 정보를 추출하는 프레임워크 API 크롤러; 및
    추출한 프레임워크 API 정보를 저장하는 프레임워크 API 데이터베이스;를 더 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치.
  10. 제8항에 있어서, 상기 API 호출 그래프 추출기는,
    오염 분석 기법(Taint Analysis)을 이용하여 호출 흐름인 ACG(API Call Graph)를 추출하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치.
  11. 제8항에 있어서, 상기 트레이닝 데이터셋 벡터화기는,
    추출된 ACG를 전부 합쳐서 트레이닝 데이터셋으로 생성하는 트레이닝 데이터셋 생성기; 및
    딥러닝을 위해 생성된 트레이닝 데이터셋을 벡터화하는 임베딩 벡터화기;를 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치.
  12. 제8항에 있어서, 상기 패턴 추출기는,
    학습된 예측 모델에서 딥러닝 시각화 기법을 이용하여 악성 행위에서 사용되는 ACG 피쳐를 딥러닝 시각화 기법으로 추출하는 API 호출 그래프 피쳐 추출기; 및
    추출된 ACG 피쳐에서 유사한 ACG를 가진 악성 애플리케이션끼리 그룹화하여 악성 애플리케이션들의 교집합을 구하여 악성 행위 패턴을 추출하는 악성 행위 패턴 추출기;를 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치.
  13. 제8항에 있어서, 상기 위험 애플리케이션 분류기는,
    추출된 악성 행위 패턴을 목록화하여 타겟 애플리케이션에서 추출된 ACG에서 악성 행위 패턴 목록과 자카드 유사도(Jaccard Similarity)를 측정하는 자카드 유사도 비교기;를 포함하는, API 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 장치.
PCT/KR2020/016913 2020-11-20 2020-11-26 Api 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치 WO2022107963A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/289,172 US11768938B2 (en) 2020-11-20 2020-11-26 Mobile application malicious behavior pattern detection method based on API call graph extraction and recording medium and device for performing the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200157078A KR102283054B1 (ko) 2020-11-20 2020-11-20 Api 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치
KR10-2020-0157078 2020-11-20

Publications (1)

Publication Number Publication Date
WO2022107963A1 true WO2022107963A1 (ko) 2022-05-27

Family

ID=77127577

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/016913 WO2022107963A1 (ko) 2020-11-20 2020-11-26 Api 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치

Country Status (2)

Country Link
KR (1) KR102283054B1 (ko)
WO (1) WO2022107963A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102518394B1 (ko) * 2021-09-30 2023-04-05 단국대학교 산학협력단 설명 가능한 딥러닝 분석을 활용한 멀웨어 패밀리 분류 네트워크 시스템
KR102528849B1 (ko) * 2021-11-16 2023-05-08 (주)트리니티소프트 인공지능 기반의 소스코드 보안 취약점 판단 모델의 생성을 통해 소스코드에 대한 보안 취약점 판단을 가능하게 하는 전자 장치 및 그 동작 방법
KR102427767B1 (ko) * 2021-11-25 2022-08-02 숭실대학교 산학협력단 구현 특징에 기반한 모바일 악성 애플리케이션 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170081386A (ko) * 2016-01-04 2017-07-12 한국전자통신연구원 다중 특징벡터를 이용하는 행위기반 악성코드 탐지 장치 및 방법
KR101969572B1 (ko) * 2018-06-22 2019-04-16 주식회사 에프원시큐리티 악성코드 탐지 장치 및 방법
KR20200071822A (ko) * 2018-11-30 2020-06-22 단국대학교 산학협력단 애플리케이션의 동적 특징정보 및 머신러닝을 이용하여 멀웨어를 탐지 분류하는 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101228899B1 (ko) 2011-02-15 2013-02-06 주식회사 안랩 벡터량 산출을 이용한 악성코드의 분류 및 진단 방법과 장치
KR101589656B1 (ko) 2015-01-19 2016-01-28 한국인터넷진흥원 Api 기반 악성 코드 변종 탐지 조회 시스템 및 방법
KR102005107B1 (ko) 2019-01-29 2019-07-29 엘아이지넥스원 주식회사 Api 호출 시퀀스를 이용한 악성코드의 기능 분석 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170081386A (ko) * 2016-01-04 2017-07-12 한국전자통신연구원 다중 특징벡터를 이용하는 행위기반 악성코드 탐지 장치 및 방법
KR101969572B1 (ko) * 2018-06-22 2019-04-16 주식회사 에프원시큐리티 악성코드 탐지 장치 및 방법
KR20200071822A (ko) * 2018-11-30 2020-06-22 단국대학교 산학협력단 애플리케이션의 동적 특징정보 및 머신러닝을 이용하여 멀웨어를 탐지 분류하는 시스템 및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KIM, JINSUNG: "Malicious behavior pattern detection scheme for mobile application based on CNN", THESIS , 1 August 2020 (2020-08-01), Korea, pages 1 - 41, XP009536930 *
MUHAMMAD IKRAM; PIERRICK BEAUME; MOHAMED ALI KAAFAR: "DaDiDroid: An Obfuscation Resilient Tool for Detecting Android Malware via Weighted Directed Call Graph Modelling", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 22 May 2019 (2019-05-22), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081371182 *
OMER TRIPP ; MARCO PISTOIA ; STEPHEN J. FINK ; MANU SRIDHARAN ; OMRI WEISMAN: "TAJ", ACM SIGPLAN NOTICES, ASSOCIATION FOR COMPUTING MACHINERY, US, vol. 44, no. 6, 15 June 2009 (2009-06-15), US , pages 87 - 97, XP058083193, ISSN: 0362-1340, DOI: 10.1145/1543135.1542486 *

Also Published As

Publication number Publication date
KR102283054B1 (ko) 2021-07-29

Similar Documents

Publication Publication Date Title
WO2022107963A1 (ko) Api 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치
WO2020022704A1 (en) Method for training and testing obfuscation network capable of processing data to be concealed for privacy, and training device and testing device using the same
WO2019245107A1 (ko) 악성코드 탐지 장치 및 방법
Hasegawa et al. Hardware Trojans classification for gate-level netlists based on machine learning
WO2022114392A1 (ko) 특성 선택에 기반한 모바일 악성 코드 분류 방법, 이를 수행하기 위한 기록 매체 및 장치
US20220164447A1 (en) Mobile application malicious behavior pattern detection method based on api call graph extraction and recording medium and device for performing the same
WO2022086146A1 (en) Method for training and testing obfuscation network capable of obfuscating data for privacy, and training device and testing device using the same
Şahın et al. New results on permission based static analysis for Android malware
WO2013168951A1 (ko) 악성 파일 검사 장치 및 방법
WO2020196985A1 (ko) 비디오 행동 인식 및 행동 구간 탐지 장치 및 방법
WO2022086145A1 (en) Method for training and testing obfuscation network capable of processing data to be obfuscated for privacy, and training device and testing device using the same
WO2019160195A1 (ko) 파일 내 포함된 악성 위협 탐지 장치 및 방법, 그 기록매체
WO2023096445A1 (en) Method for generating obfuscated image to be used in training learning network and labeling device using the same
WO2022086147A1 (en) Method for training and testing user learning network to be used for recognizing obfuscated data created by obfuscating original data to protect personal information and user learning device and testing device using the same
WO2023027340A1 (en) Method for training and testing obfuscation network capable of obfuscating data to protect personal information, and learning device and testing device using the same
CN106874762B (zh) 基于api依赖关系图的安卓恶意代码检测方法
KR102318991B1 (ko) 유사도 기반의 악성코드 진단 방법 및 장치
WO2023096444A1 (en) Learning method and learning device for training obfuscation network capable of obfuscating original data for privacy and testing method and testing device using the same
Kumar et al. Texture-based malware family classification
WO2023096035A1 (ko) 구현 특징에 기반한 모바일 악성 애플리케이션 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치
WO2016088954A1 (ko) 스팸 분류 방법, 이를 수행하기 위한 기록 매체 및 스팸 분류 장치
Nugraha et al. Malware detection using decision tree algorithm based on memory features engineering
CN115766090A (zh) 一种多特征融合神经网络网络安全检测方法
Dhanya et al. Obfuscated Malware Detection in IoT Android Applications Using Markov Images and CNN
KR101907443B1 (ko) 구성 요소 기반 악성 파일 유사성 분석 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20962569

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20962569

Country of ref document: EP

Kind code of ref document: A1