KR20150044490A - A detecting device for android malignant application and a detecting method therefor - Google Patents
A detecting device for android malignant application and a detecting method therefor Download PDFInfo
- Publication number
- KR20150044490A KR20150044490A KR20130123361A KR20130123361A KR20150044490A KR 20150044490 A KR20150044490 A KR 20150044490A KR 20130123361 A KR20130123361 A KR 20130123361A KR 20130123361 A KR20130123361 A KR 20130123361A KR 20150044490 A KR20150044490 A KR 20150044490A
- Authority
- KR
- South Korea
- Prior art keywords
- application
- malicious
- detection
- file
- detection data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
Description
The present invention relates to an apparatus and method for detecting malicious Android malicious applications, and more particularly, to a malicious application by extracting a part of components of an AndroidManifest file and a class file in an application package file, And more particularly, to an apparatus and method for detecting malicious Android applications.
The operating system that controls the operation of smartphones includes Apple's iOS, Google's Android, Nokia's Symbian, RIM's BlackBerry and Microsoft's Windows Mobile. have. Unlike iOS, which distributes applications in a closed fashion only through Apple-owned app stores, smartphones using the Android OS can download applications through multiple paths.
Applications for Android that are spread through various forms of application market include malicious code intended for malicious intent, which can lead to unintended information leakage while the user is using the application.
FIG. 1 is a block diagram illustrating a structure of a smartphone malicious application detection system based on signature information according to the related art, and FIG. 2 is a flowchart illustrating a process of detecting and removing a malicious application using the detection system of FIG.
1, the malicious application detection system of the related art includes an
The malicious application detection system obtains application information including signature information about an application newly installed in the
Here, the malicious application detection program provides a result of analyzing the maliciousness of the newly installed application to the user, and when the delete command for the file is input, the malicious application deletion process is performed.
The
The
The
The application collection module 130 acquires the application installation file from the application market 500 using the application package name transmitted from the malicious application detection program or acquires the application installation file from the application installation file .
DB 120 stores signature information (MD5 hash value, SHA1, application package name, etc.) for an application already registered as malicious. Also, the database 120 predefines and stores information on APIs available for malicious actions among application program interfaces (APIs) used in the smartphone operating system.
Referring to FIG. 2, the
If an attempt is made to install a new application in the
Then, the
If the malicious application is not determined (S230-N), the
Next, the
The
If it is determined that the application is malicious, the
However, existing Android malicious application detection methods such as the conventional technology are not limited to the data such as the package name in the AndroidManifest.xml file, the CRC value in the classes.dex file, SHA-1 value, class name, string, MD5 value of APK file The hash value or the enumerated values are combined and the hash value is taken as the detection pattern. That is, we use a signature-based detection method that uses specific unique values.
Existing signature-based detection techniques are not detected when some of the data in a malicious application file changes or repackages malicious code into a normal application. That is, if a variant of a malicious application occurs, even if the malicious application code is not changed, it is not detected.
In order to solve the above problems, the present invention extracts the component and permission information from the AndroidManifest.xml file included in the Android-based application package file, extracts the string data and the class data from the classes.dex file, And a malicious or normal application according to the degree of similarity after the comparison, and to provide a detection device and a detection method of the malicious Android Android application.
The present invention also relates to a method for detecting malicious application of Android, which divides patterns of data included in malicious application into parts and stores them in a database in advance, and gives similarity to patterns of extracted data according to how much patterns of malicious applications are included And an object of the present invention is to provide a device and a detection method.
According to an aspect of the present invention, there is provided a system for detecting a malicious application by analyzing an Android application package (APK), the AndroidManifest.xml file (hereinafter referred to as a 'Manifest file') in the Android application package, A detection
The component is a code serving as a basic unit of a user interface (UI) of the application, and includes activity information that provides an interface for interaction with a user; Service information, which is a code for a task executed in the background of the application; (OS) as a broadcast receiver, and receiver information for receiving and processing a message generated by the Intent.
According to another embodiment of the present invention, there is provided a method of detecting a malicious application by analyzing an Android application package, wherein a detection data extracting unit (111) extracts detection data necessary for detecting a malicious code from a Manifest file in the Android application package and a Dex file A first step of extracting an image; And a second step of the
The component is a code serving as a basic unit of the UI of the application, and includes activity information that provides an interface for interaction with a user; Service information, which is a code for a task executed in the background of the application; Code called by the OS as a broadcast receiver, and receiver information for receiving and processing messages generated by the Intent.
According to the present invention, even when a part of data in an application package file is changed or a malicious code is repackaged in a normal application package, the malicious application can be detected by analyzing the structure of data related to execution of the application.
In addition, the patterns of malicious codes stored in the database can be used for analysis of a large number of application package files, thereby detecting a large number of malicious application packages that have been modified.
FIG. 1 is a block diagram illustrating a structure of a smartphone malicious application detection system based on signature information according to the related art.
FIG. 2 is a flowchart illustrating a process of detecting and removing a malicious application using the detection system of FIG. 1;
3 is a block diagram illustrating a connection state of a detection device according to an embodiment of the present invention;
Fig. Fig. 8 is a block diagram showing the internal structure of the detection device. Fig.
5 is a block diagram showing the structure of a manifest file;
6 is a view showing an actual creation example of the manifest file of FIG. 5;
7 is a block diagram showing a structure of a Dex file;
8 is a view showing an actual production example of the Dex file of Fig.
9 is a flowchart showing an operation procedure of the detection method of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS < Desc / Clms Page number 3 > < Desc / Clms Page number 2 >
FIG. 3 is a block diagram illustrating a connection state of a detection apparatus according to an embodiment of the present invention. FIG. 5 is a block diagram showing the structure of the AndroidManifest file, FIG. 6 is a diagram showing an actual creation example of the AndroidManifest shown in FIG. 5, FIG. 7 is a block diagram showing the structure of the Classes file, Is a diagram showing an actual creation example of the Classes file of Fig.
(Hereinafter referred to as a "detection device") of the present invention is installed in any one of the
The
The
The
The
The
The
The
The detection
The
The
Detection data required for analysis of the
In order to extract the detection data, the application package to be analyzed is first loaded, and the application package is decompressed (decompiled) to extract the manifest file and the Dex file. The extraction of the manifest file and the Dex file may be performed by the
A manifest file is a file that contains information about what kind of activity an application performs and what permissions it needs, such as the version and name of the project, and application information such as execution rights. As shown in FIG. 5, the manifest file includes package name, component, and permission information.
The package name is a part of the unique name of the application package. In the Android app market, there can be only one application having a specific package name (1 in FIG. 6).
The component includes activity information, service information, and receiver information.
The activity information is a code serving as a basic unit of a user interface (UI) of an application, and provides an interface for interaction with a user (see (2) in FIG. 6).
The service information is a code for a task to be executed in the background of the application, and is a part that is not exposed to the user ((3) in FIG. 6).
The receiver information is a code called by the OS as a broadcast receiver, and is a code for receiving and processing a message generated by the Intent. The receiver information responds to a specific event such as SMS reception (④ in FIG. 6).
The permission information defines an authority for an action to be performed when an application is executed (see (5) in FIG. 6). In order to perform an action such as SMS reception while an application is running, Record it in the Manifest file.
Among them, the detection
On the other hand, Dex file is an executable file created by compiled Java class and is a file that converts Java class file into Byte Code so that it can be recognized by Dalvik Virtual Machine of Android terminal . The Dalvik virtual machine loads a specific Java class from a Dex file to execute the desired behavior of the application. As shown in FIG. 7, the Dex file includes a header, a string data, and class data.
The string data is a string used by the application, and exists in the Dex file ((3) in FIG. 8).
The class data is a class list used by the application, and includes a method list (Method List) for each class ((4) in FIG. 8)
This manifest file is decompiled into a text document by the decompiler, and the Dex file is decompiled into a jar file (* .jar) or a Java file (* .java).
The detection
The extracted detection data (component, permission information, string data, class data) is stored in the
The
[Reference Figure 1]
[Reference FIG. 1] is an example of a pattern stored in the
[Reference Figure 2]
[Reference Figure 2] is a diagram illustrating a package in which unique values are used for each component of an application. The
9 is a flowchart illustrating an operation of the detection method of the present invention.
Referring to FIG. 9, a specific operation process of the
First, an application package to be determined as to whether a malicious application package is included is searched (S202). The search subject may be changed according to the installation position of the
(S204). The application package is a compressed file in the ZIP format, and includes a manifest file, a Dex file, metadata, an image, and other files. . Among them, Manifest file and Dex file are detected.
The detection
The extracted detection data is stored in a file or memory, and information on the stored location is transmitted to the detection engine 113 (S208)
The
The
In some cases, malicious applications may be classified as malicious applications if they are found to be completely identical to malicious application patterns, and classified as suspicious applications if not completely identical but partially identical strings are found. If the same pattern as the malicious pattern is not found at all, it can be classified as a normal application.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, As will be understood by those skilled in the art. Therefore, it should be understood that the above-described embodiments are to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, It is intended that all changes and modifications derived from the equivalent concept be included within the scope of the present invention.
100: User terminal 110: Detecting device
111: detection data extraction unit 112: detection data DB
113: detection engine 114: malicious pattern DB
200: communication network 300: application providing system
400: detection server
Claims (4)
Extraction of detection data for extracting detection data necessary for detecting malicious code from the AndroidManifest.xml file (hereinafter referred to as 'Manifest file') and Classes.dex file (hereinafter referred to as 'Dex file') in the Android application package (111);
A detection data DB 112 for storing the detection data extracted from the manifest file and the Dex file by the detection data extraction unit 111;
A detection engine for classifying an application package to be diagnosed as a malicious application when a pattern matching the pattern of the malicious application package is included in the detection data, (113);
And a malicious pattern DB (114) for storing a pattern included in an application determined to be malicious,
Wherein the detection data is composed of a component and permission information included in the manifest file, string data included in the Dex file, and class data.
The component
Code serving as a basic unit of a user interface (UI) of the application, activity information for providing an interface for interaction with a user;
Service information, which is a code for a task executed in the background of the application;
Receiver information to be received by an operating system (OS) as a broadcast receiver and to receive and process messages generated by the Intent.
A first step of extracting detection data necessary for detection of a malicious code from a Manifest file in the Android application package and a Dex file by a detection data extracting unit 111;
And a second step of the detection engine 113 classifying the application package to be diagnosed as a malicious application when a pattern matching the pattern of the malicious application package stored in the malicious pattern DB 114 is included in the detection data In addition,
Wherein the detection data comprises a component and permission information included in the manifest file, and string data and class data included in the Dex file.
The component
A code serving as a basic unit of the UI of the application, the code including: activity information for providing an interface for interaction with a user;
Service information, which is a code for a task executed in the background of the application;
And receiver information for receiving and processing messages generated by the Intent, the code being called by the OS as a broadcast receiver.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130123361A KR20150044490A (en) | 2013-10-16 | 2013-10-16 | A detecting device for android malignant application and a detecting method therefor |
PCT/KR2014/008560 WO2015056885A1 (en) | 2013-10-16 | 2014-09-15 | Detection device and detection method for malicious android application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130123361A KR20150044490A (en) | 2013-10-16 | 2013-10-16 | A detecting device for android malignant application and a detecting method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150044490A true KR20150044490A (en) | 2015-04-27 |
Family
ID=52828289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130123361A KR20150044490A (en) | 2013-10-16 | 2013-10-16 | A detecting device for android malignant application and a detecting method therefor |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20150044490A (en) |
WO (1) | WO2015056885A1 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101666176B1 (en) * | 2015-06-25 | 2016-10-14 | 한국전자통신연구원 | Apparatus and method for of monitoring application based on android platform |
KR101880628B1 (en) | 2017-11-27 | 2018-08-16 | 한국인터넷진흥원 | Method for labeling machine-learning dataset and apparatus thereof |
WO2019004502A1 (en) * | 2017-06-29 | 2019-01-03 | 라인 가부시키가이샤 | Application security assessment method and system |
WO2019004503A1 (en) * | 2017-06-29 | 2019-01-03 | 라인 가부시키가이샤 | Application vulnerability detection method and system |
WO2019103368A1 (en) * | 2017-11-27 | 2019-05-31 | 주식회사 엔에스에이치씨 | Malicious code detection method using big data |
KR20190080445A (en) | 2017-12-28 | 2019-07-08 | 숭실대학교산학협력단 | Whitelist construction method for analyzing malicious code, computer readable medium and device for performing the method |
KR20190102456A (en) * | 2018-02-26 | 2019-09-04 | 한국인터넷진흥원 | Method for clustering application and apparatus thereof |
KR20200071822A (en) | 2018-11-30 | 2020-06-22 | 단국대학교 산학협력단 | System and method for detecting and classifying malware using machine learning and dynamic feature of applications |
KR20200095122A (en) * | 2019-01-31 | 2020-08-10 | 단국대학교 산학협력단 | Apparatus and method for feature information extraction and similarity comparison of android app considering obfuscation |
KR102226218B1 (en) * | 2019-10-29 | 2021-03-10 | 단국대학교 산학협력단 | Apparatus and method for extracting feature information to identify an application created by cross-platform development framework |
US10963563B2 (en) | 2017-04-20 | 2021-03-30 | Line Corporation | Method and system for evaluating security of application |
KR20230089099A (en) * | 2021-12-13 | 2023-06-20 | 한양대학교 산학협력단 | Method and system for computing similarity of android applications by applying data mining and data science technique |
US11886584B2 (en) | 2021-05-28 | 2024-01-30 | AO Kaspersky Lab | System and method for detecting potentially malicious changes in applications |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101733633B1 (en) * | 2016-01-12 | 2017-05-08 | 계명대학교 산학협력단 | Detecting and tracing method for leaked phone number data in mobile phone through application |
CN107392020A (en) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | Database manipulation analysis method, device, computing device and computer-readable storage medium |
CN108491327B (en) * | 2018-03-26 | 2020-08-25 | 中南大学 | Android application dynamic Receiver component local denial of service vulnerability detection method |
CN111552518B (en) * | 2019-01-24 | 2023-04-07 | 阿里巴巴集团控股有限公司 | Method and device for loading control for starting application |
CN109670310B (en) * | 2019-01-28 | 2023-04-18 | 杭州师范大学 | Android malicious software detection method based on semi-supervised K-Means clustering algorithm |
CN110851834B (en) * | 2019-11-18 | 2024-02-27 | 北京工业大学 | Android malicious application detection method integrating multi-feature classification |
CN111339531B (en) * | 2020-02-24 | 2023-12-19 | 南开大学 | Malicious code detection method and device, storage medium and electronic equipment |
CN112565274A (en) * | 2020-12-11 | 2021-03-26 | 国家计算机网络与信息安全管理中心江苏分中心 | Method and system for intelligently identifying malicious APP |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101161493B1 (en) * | 2010-01-18 | 2012-06-29 | (주)쉬프트웍스 | Method of Examining Malicious Codes and Dangerous Files in Android Terminal Platform |
KR20130078278A (en) * | 2011-12-30 | 2013-07-10 | (주)이지서티 | Smartphone malicious application detect system and method |
KR101246623B1 (en) * | 2012-09-03 | 2013-03-25 | 주식회사 안랩 | Apparatus and method for detecting malicious applications |
KR101256468B1 (en) * | 2012-09-11 | 2013-04-19 | 주식회사 안랩 | Apparatus and method for detecting malicious file |
-
2013
- 2013-10-16 KR KR20130123361A patent/KR20150044490A/en active Search and Examination
-
2014
- 2014-09-15 WO PCT/KR2014/008560 patent/WO2015056885A1/en active Application Filing
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101666176B1 (en) * | 2015-06-25 | 2016-10-14 | 한국전자통신연구원 | Apparatus and method for of monitoring application based on android platform |
US10963563B2 (en) | 2017-04-20 | 2021-03-30 | Line Corporation | Method and system for evaluating security of application |
JP2020531936A (en) * | 2017-06-29 | 2020-11-05 | Line株式会社 | How and systems to detect application vulnerabilities |
WO2019004503A1 (en) * | 2017-06-29 | 2019-01-03 | 라인 가부시키가이샤 | Application vulnerability detection method and system |
WO2019004502A1 (en) * | 2017-06-29 | 2019-01-03 | 라인 가부시키가이샤 | Application security assessment method and system |
WO2019103368A1 (en) * | 2017-11-27 | 2019-05-31 | 주식회사 엔에스에이치씨 | Malicious code detection method using big data |
KR101880628B1 (en) | 2017-11-27 | 2018-08-16 | 한국인터넷진흥원 | Method for labeling machine-learning dataset and apparatus thereof |
KR20190080445A (en) | 2017-12-28 | 2019-07-08 | 숭실대학교산학협력단 | Whitelist construction method for analyzing malicious code, computer readable medium and device for performing the method |
KR20190102456A (en) * | 2018-02-26 | 2019-09-04 | 한국인터넷진흥원 | Method for clustering application and apparatus thereof |
KR20200071822A (en) | 2018-11-30 | 2020-06-22 | 단국대학교 산학협력단 | System and method for detecting and classifying malware using machine learning and dynamic feature of applications |
KR20200095122A (en) * | 2019-01-31 | 2020-08-10 | 단국대학교 산학협력단 | Apparatus and method for feature information extraction and similarity comparison of android app considering obfuscation |
KR102226218B1 (en) * | 2019-10-29 | 2021-03-10 | 단국대학교 산학협력단 | Apparatus and method for extracting feature information to identify an application created by cross-platform development framework |
US11886584B2 (en) | 2021-05-28 | 2024-01-30 | AO Kaspersky Lab | System and method for detecting potentially malicious changes in applications |
KR20230089099A (en) * | 2021-12-13 | 2023-06-20 | 한양대학교 산학협력단 | Method and system for computing similarity of android applications by applying data mining and data science technique |
Also Published As
Publication number | Publication date |
---|---|
WO2015056885A1 (en) | 2015-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20150044490A (en) | A detecting device for android malignant application and a detecting method therefor | |
KR101402057B1 (en) | Analyzing system of repackage application through calculation of risk and method thereof | |
US9832211B2 (en) | Computing device to detect malware | |
US9596257B2 (en) | Detection and prevention of installation of malicious mobile applications | |
CN109154966B (en) | Vulnerable application detection | |
US8726387B2 (en) | Detecting a trojan horse | |
US9525706B2 (en) | Apparatus and method for diagnosing malicious applications | |
US20130122861A1 (en) | System and method for verifying apps for smart phone | |
US20170004303A1 (en) | Method and Apparatus for Malware Detection | |
US20120222120A1 (en) | Malware detection method and mobile terminal realizing the same | |
CN106709346B (en) | Document handling method and device | |
CN105095759A (en) | File detection method and device | |
CN112084497A (en) | Method and device for detecting malicious program of embedded Linux system | |
KR101277517B1 (en) | Apparatus and method for detecting falsified application | |
CN104809397A (en) | Android malicious software detection method and system based on dynamic monitoring | |
JP6000465B2 (en) | Process inspection apparatus, process inspection program, and process inspection method | |
KR101284013B1 (en) | Smartphone Malicious Application Detect System and Method based on Client Program | |
CN108647517B (en) | Vulnerability detection system and method for Android mixed application code injection | |
KR101256468B1 (en) | Apparatus and method for detecting malicious file | |
KR101605783B1 (en) | Malicious application detecting method and computer program executing the method | |
KR101657667B1 (en) | Malicious app categorization apparatus and malicious app categorization method | |
CN109145589B (en) | Application program acquisition method and device | |
KR20180054390A (en) | System and method for detecting malicious of application, recording medium for performing the method | |
KR20130005609A (en) | System for collecting and analyzing mobile malware automatically | |
Khanmohammadi et al. | Understanding the service life cycle of Android apps: An exploratory study |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment |