WO2014098387A1 - Apparatus and method for diagnosing malicious application - Google Patents

Apparatus and method for diagnosing malicious application Download PDF

Info

Publication number
WO2014098387A1
WO2014098387A1 PCT/KR2013/010994 KR2013010994W WO2014098387A1 WO 2014098387 A1 WO2014098387 A1 WO 2014098387A1 KR 2013010994 W KR2013010994 W KR 2013010994W WO 2014098387 A1 WO2014098387 A1 WO 2014098387A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
hash information
malicious
file
diagnostic
Prior art date
Application number
PCT/KR2013/010994
Other languages
French (fr)
Korean (ko)
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 주식회사 안랩
Publication of WO2014098387A1 publication Critical patent/WO2014098387A1/en

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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition

Definitions

  • the present invention relates to the diagnosis of malicious applications.
  • a malicious application can be diagnosed more quickly and accurately while using minimal hardware resources.
  • the present invention relates to an apparatus and method for diagnosing malicious applications.
  • a smart phone combines the advantages of a mobile phone and a personal digital assistant (PDA).
  • the smart phone is implemented by integrating data communication functions such as scheduling, fax transmission and Internet access.
  • a smart phone is equipped with a wireless communication module such as Wi-Fi, and can transmit and receive data through the Internet network. Also, it is possible to search for information on the Internet and to send and receive picture information such as directions by using an electronic pen on the liquid crystal display. .
  • Such smartphones have their own operating systems, and active development of applications that can be executed by the operating systems is being made.
  • the Android platform is an open source platform opened by Google's OHA (Open Handset Alliance). It is a Linux kernel, a virtual machine (VM) and a frame. Framework refers to a software package that includes both the application and the application.
  • the malicious application is typically produced by modifying the classes.dex and AndroidManifest.xml files included in the Android application APK file.
  • the apk file of the Android application is decompressed to detect a hash value for all apk decompressed files, and the detection is performed by comparing with a DB having a signature for the malicious application.
  • the present invention is to diagnose a malicious application in a portable terminal such as an Android OS-based smartphone, the header of the DEX file containing the executable code of the application in the apk (application package) file that is the installation file of the application It extracts the hash information of the application to be diagnosed by extracting only part of the image, and compares the extracted hash information with pre-stored signature hash information to check whether the malicious application is a malicious application while using minimal hardware resources.
  • a device and method for diagnosing malicious applications that can diagnose the virus more quickly and accurately.
  • the present invention described above is a malicious application diagnosis apparatus, and includes a signature DB storing normal or malicious signature hash information for an application that can be installed in a portable terminal, and execution code and hash information of the application from the APK file of the application.
  • a file extracting unit for extracting a specific file a diagnostic information extracting unit for extracting hash information of the application from the specific file extracted by the file extracting unit, and hash information of the application extracted from the diagnostic information extracting unit;
  • a diagnosis unit for comparing the signature hash information previously stored in the signature DB, and diagnosing whether the corresponding application is malicious.
  • the file extracting unit may extract and extract only the specific file from the APK file.
  • the diagnostic information extracting unit may extract the hash information by parsing a header of the specific file.
  • the hash information may be recorded in a predetermined area set in the header.
  • the hash information may be recorded in 20 bytes from 0x0C to 0x1F on the header.
  • the specific file may be a DEX file.
  • the diagnostic unit may diagnose the application as a normal application when the hash information of the application matches the normal signature hash information stored in the signature DB.
  • the diagnosis unit may diagnose the application as a malicious application when the hash information of the application matches the malicious signature hash information stored in the signature DB.
  • the diagnostic unit may block installation of the mobile terminal with respect to the application diagnosed as a malicious application or delete the application with respect to an already installed application.
  • the portable terminal is characterized in that the electronic device equipped with the Android OS.
  • the present invention also provides a method for diagnosing malicious applications, the method comprising: extracting a specific file including execution code and hash information of the application from an APK file of an application existing in a portable terminal; and hash information of the application from the specific file. Extracting and comparing hash information of the application with previously stored normal or malicious signature hash information, and diagnosing whether the application is malicious or normal based on the comparison result.
  • the diagnosing may include checking whether the hash information of the application matches the normal or malicious signature hash information, and if the hash information of the application matches the normal signature hash information, the application returns to the normal application. And diagnosing the application as a malicious application when the hash information of the application coincides with the malicious signature hash information.
  • blocking the installation of the application to the portable terminal, and if the application is already installed in the portable terminal further comprises the step of deleting the application It features.
  • the extracting of the specific file may include extracting and extracting only the specific file from the APK file.
  • the hash information may be included in the header of the specific file and extracted through parsing the header.
  • the hash information may be recorded in a predetermined area set in the header.
  • the hash information may be recorded in 20 bytes from 0x0C to 0x1F on the header.
  • the specific file may be a DEX file.
  • the DEX file including the executable code of the application in the apk file, which is the installation file of the application is extracted, and the DEX file in the DEX file is verified.
  • the DEX file header containing the hash information to compare the signature information with the hash information recorded in the DEX file header, it checks whether the malicious application is a malicious application while preventing the performance degradation of the device.
  • FIG. 1 is a detailed block diagram of a malicious application diagnostic apparatus according to an embodiment of the present invention.
  • 2A is a diagram illustrating a structure of a DEX file to which an embodiment of the present invention is applied;
  • 2b is a diagram illustrating a structure of a DEX file header to which an embodiment of the present invention is applied;
  • FIG 3 is an operation control flowchart for diagnosing malicious applications according to an embodiment of the present invention.
  • Combinations of each block of the accompanying block diagram and each step of the flowchart may be performed by computer program instructions.
  • These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment such that instructions executed through the processor of the computer or other programmable data processing equipment may not be included in each block or flowchart of the block diagram. It will create means for performing the functions described in each step.
  • These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory.
  • instructions stored in may produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram.
  • Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.
  • each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing a specified logical function (s).
  • a specified logical function s.
  • the functions noted in the blocks or steps may occur out of order.
  • the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.
  • FIG. 1 is a detailed block diagram of a diagnostic apparatus 100 for diagnosing a malicious application of a portable terminal according to an embodiment of the present invention.
  • Such a portable terminal may include a terminal such as a smartphone and a tablet PC.
  • the signature DB 102 stores white signature hash information and / or malware signature hash information for an application installed in the portable terminal.
  • the file extraction unit 104 extracts only the DEX file 150 from an application newly downloaded and installed in the portable terminal or an APK file of a previously installed application.
  • the DEX file 150 may include hash information for verifying the execution code of the application and the DEX file. Therefore, the present invention extracts only the DEX file 150 without decompressing and checking all the files of the APK so that the application can be used to quickly and accurately check the maliciousness of the application.
  • the diagnostic information extractor 106 extracts the hash information included in the DEX file 150 extracted by the file extractor 104 to verify the execution code of the application.
  • the diagnostic information extracting unit 106 does not decompress the entire DEX file 150, and the hash information is recorded on the header.
  • Hash information can be extracted by decompressing only the region.
  • Such hash information may be, for example, a SHA-1 hash, and may be recorded in 20 bytes from 0x0C to 0x1F on the header of the DEX file 150.
  • the diagnosis unit 108 compares the hash information of the diagnosis target application extracted from the diagnosis information extraction unit 106 with normal or malicious signature hash information previously stored in the signature DB 102 and diagnoses whether the corresponding application is malicious. do.
  • the diagnosis unit 108 may determine, for example, that the application is a normal application when the hash information of the application coincides with the normal signature hash information stored in the signature DB 102. In addition, the diagnosis unit 108 may diagnose the malicious application when the hash information of the application coincides with the malicious signature hash information. In this case, the diagnosis unit 108 may block the installation of the mobile terminal for the corresponding application diagnosed as the malicious application as above, or delete the corresponding application for the already installed application.
  • 2A and 2B show the structure of the DEX file 150 and the structure of the DEX file header, respectively.
  • the DEX file header 200 is positioned at the beginning of the file in the structure of the DEX file 150, and the structure of the DEX file header 200 is illustrated in FIG. 2B.
  • SHA-1 hash information is recorded in a predetermined area 250 of the DEX file header 200, for example, a 20 byte area from 0x0C to 0x1F.
  • the diagnostic apparatus 100 as described above does not decompress the entire DEX file 150, but for example, the predetermined area 250 of the DEX file header 200 in which hash information is recorded, that is, 0x0C to 0x1F.
  • the minimum hardware resource can be used and the diagnosis time can be minimized.
  • the redundancy rate is close to 0, which is possible. Can be greatly reduced.
  • the file extractor 104 in the diagnosis apparatus 100 performs a file type analysis on the files installed in the portable terminal (S300).
  • the file extraction unit 104 searches for an application having the apk file format in the analysis target files (S302).
  • the file extractor 104 extracts a specific file, for example, a DEX file 150, having hash information capable of verifying whether the application is malicious from an apk file of the corresponding application. (S304).
  • the DEX file 150 may include an execution code of the application and hash information for verifying the DEX file 150.
  • the diagnostic information extracting unit 106 extracts the hash information included in the DEX file 150 extracted by the file extracting unit 104 to verify the execution code of the application (S306).
  • the above hash information may exist in the header 200 of the DEX file 150.
  • the diagnostic information extracting unit 106 does not decompress the entire DEX file 150, but decompresses only a predetermined area 250 of the DEX file header 200 in which the hash information is recorded on the header 200.
  • the hash information recorded in the predetermined area 250 of the 200 may be extracted.
  • the hash information may be, for example, a SHA-1 hash, and may be recorded in 20 bytes from 0x0C to 0x1F on the DEX file header 200. Therefore, the diagnostic information extraction unit 106 extracts the hash information by decompressing only 20 bytes from 0x0C to 0x1F on the DEX file header 200 without decompressing the entire DEX file 150.
  • the hash information of the application extracted from the diagnostic information extraction unit 106 may be provided to the diagnosis unit 108 for diagnosing whether the application is malicious.
  • the diagnosis unit 108 compares the hash information of the diagnosis target application extracted from the diagnosis information extraction unit 106 with the normal or malicious signature hash information previously stored in the signature DB 102 to diagnose whether the application is malicious. It may be (S308).
  • the diagnosis unit 108 may determine, for example, that the application is a normal application when the hash information of the application coincides with the normal signature hash information stored in the signature DB 102. In addition, the diagnosis unit 108 may diagnose the malicious application when the hash information of the application coincides with the malicious signature hash information.
  • the diagnosis unit 108 blocks the installation of the portable terminal when the diagnosis target application is diagnosed as the malicious application (S310), or deletes the application for the already installed application. Can be made (S312).
  • a DEX file including an executable code of an application in an apk file which is an installation file of the application, is extracted and the DEX file is extracted. Decompresses only a portion of the DEX file header that contains the hash information to verify my DEX file, and compares the hash information recorded in the DEX file header with the signature hash information to check whether the application is malicious or not. It also helps to diagnose malicious applications more quickly and accurately.

Abstract

According to the present invention, in diagnosing a malicious application in a portable terminal such as an Android OS-based smart phone, the malicious application can be rapidly and accurately diagnosed, and performance degradation of the terminal can be prevented by extracting a DEX file including the execution codes of an application in an apk file which is an installation file of the application, uncompressing only a partial region of a DEX file header including hash information for verifying the DEX file in the DEX file, and checking for the presence of the malicious application by comparing the hash information recorded in the DEX file header with signature hash information.

Description

악성 애플리케이션 진단장치 및 방법Malicious application diagnosis device and method
본 발명은 악성 애플리케이션의 진단에 관한 것으로, 특히 안드로이드 OS 기반의 스마트폰 등의 휴대용 단말기에서 악성 애플리케이션을 진단함에 있어서, 최소한의 하드웨어 리소스(hardware resource)를 사용하면서 악성 애플리케이션을 보다 신속하고 정확하게 진단할 수 있도록 하는 악성 애플리케이션 진단장치 및 방법에 관한 것이다.The present invention relates to the diagnosis of malicious applications. In particular, in diagnosing malicious applications in a mobile terminal such as an Android OS-based smartphone, a malicious application can be diagnosed more quickly and accurately while using minimal hardware resources. The present invention relates to an apparatus and method for diagnosing malicious applications.
근래에 들어, 유무선 인터넷뿐만 아니라 이동통신 기술의 발달로, 단순히 전화통화 기능뿐만이 아닌 무선 인터넷 기능 등 다양한 기능을 갖춘 휴대폰이 보급되고 있다. 특히 최근에 보급이 확산되고 있는 스마트폰(smartphone)은 멀티미디어 재생기능 등의 다양한 기능의 응용프로그램의 설치가 가능하여, 사용자들이 여러 용도로 스마트폰을 이용하고 있다. Recently, with the development of mobile communication technology as well as wired and wireless Internet, mobile phones having various functions such as wireless Internet function as well as telephone call function have been widely used. In particular, the smart phone (smartphone) has been spreading in recent years, it is possible to install a variety of applications such as multimedia playback function, users are using the smartphone for various purposes.
일반적으로 스마트폰은 휴대전화와 개인휴대단말기(personal digital assistant : PDA)의 장점을 합친 것으로, 휴대 전화기에 일정관리, 팩스 송수신 및 인터넷 접속 등의 데이터 통신기능이 통합되어 구현된다. 통상 스마트폰에는 와이파이(wifi)와 같은 무선통신모듈이 장착되어 인터넷망을 통한 데이터 송수신도 가능하며, 인터넷 정보검색은 물론 액정디스플레이에 전자펜으로 문자를 입력하거나 약도 등 그림 정보를 송수신할 수 있다. In general, a smart phone combines the advantages of a mobile phone and a personal digital assistant (PDA). The smart phone is implemented by integrating data communication functions such as scheduling, fax transmission and Internet access. In general, a smart phone is equipped with a wireless communication module such as Wi-Fi, and can transmit and receive data through the Internet network. Also, it is possible to search for information on the Internet and to send and receive picture information such as directions by using an electronic pen on the liquid crystal display. .
이러한 스마트폰은 저마다의 운영체제가 존재하며, 해당 운영체제에 의해 실행 가능한 응용프로그램의 개발이 활발히 이루어지고 있다.Such smartphones have their own operating systems, and active development of applications that can be executed by the operating systems is being made.
위와 같은 스마트폰의 운영체제 중 안드로이드(Android) 플랫폼은 구글(Google) 사가 주도하는 OHA(Open Handset Alliance)에서 공개한 오픈 소스 플랫폼으로, 리눅스(Linux) 커널, 가상머신(VM : Virtual Machine), 프레임워크(Framework), 응용프로그램을 모두 포함하는 소프트웨어 패키지를 의미한다.Among the operating systems of smartphones, the Android platform is an open source platform opened by Google's OHA (Open Handset Alliance). It is a Linux kernel, a virtual machine (VM) and a frame. Framework refers to a software package that includes both the application and the application.
현재 안드로이드 플랫폼에 대한 사용자들의 기대가 상승하고, 단말 제조사와 이동 통신 서비스 제공사의 높은 호응으로 안드로이드 플랫폼을 탑재하는 스마트폰 등의 휴대용 단말기가 점점 늘어남에 따라 안드로이드 응용프로그램 시장이 활성화되기 시작하였고, 양질의 안드로이드 응용프로그램 공급에 대한 요구가 높아지고 있다.As the expectation of users on the Android platform rises and the number of portable devices such as smartphones equipped with the Android platform increases due to the high response of the terminal manufacturers and mobile communication service providers, the Android application market has begun to be activated. Demand for Android applications is growing.
한편, 위와 같이 안드로이드 플랫폼을 탑재한 스마트폰 사용자가 늘어남에 따라 안드로이드 OS를 타겟으로 하는 악성코드 또한 급격히 증가하고 있으며, 안드로이드 악성코드 제작자들은 기존의 PC환경에서 익혔던 다양한 기술을 안드로이드 악성 애플리케이션의 제작에 반영하여 PC에서의 것보다 빠르게 발전시켜 나가고 있다.On the other hand, as the number of smartphone users equipped with the Android platform increases, malicious codes targeting the Android OS are also rapidly increasing, and the Android malware producers use various techniques learned in the existing PC environment to produce Android malicious applications. Reflecting, it is developing faster than that on PC.
위와 같은 안드로이드 악성 애플리케이션 제작에 있어서 종래에는 안드로이드 애플리케이션 APK 파일에 포함된 classes.dex와 AndroidManifest.xml 파일을 일부 수정하는 방식으로 악성 애플리케이션을 제작하는 것이 대표적이다.In the past, the malicious application is typically produced by modifying the classes.dex and AndroidManifest.xml files included in the Android application APK file.
이에 따라, 위와 같은 안드로이드 악성 애플리케이션을 탐지하기 위해서는 안드로이드 애플리케이션의 apk 파일을 압축해제하여 모든 apk 압축 해제 파일에 대해 해쉬값을 검출하여 악성 애플리케이션에 대한 시그니처를 가지고 있는 DB와 비교하여 탐지를 수행하게 된다.Accordingly, in order to detect Android malicious applications as described above, the apk file of the Android application is decompressed to detect a hash value for all apk decompressed files, and the detection is performed by comparing with a DB having a signature for the malicious application. .
그러나, 애플리케이션의 apk 파일을 모두 압축해제하여 압축해제된 전체 파일에 대해 해쉬정보를 구하고, 이를 토대로 시그니처 해쉬정보와 비교하여 악성 애플리케이션을 진단하는 종래의 방법에서는 apk 파일을 압축해제 하는데 시간이 많이 소요되며, 그에 따른 휴대용 단말기의 성능 저하 등의 문제점이 있었다.However, in the conventional method of decompressing all apk files of an application to obtain hash information for all the decompressed files and diagnosing a malicious application based on the signature hash information, it takes a long time to decompress the apk file. As a result, there was a problem such as a decrease in the performance of the portable terminal.
따라서, 본 발명은 안드로이드 OS 기반의 스마트폰 등의 휴대용 단말기에서 악성 애플리케이션을 진단함에 있어서, 애플리케이션의 설치파일인 apk(application package) 파일내 애플리케이션의 실행코드가 포함되어 있는 DEX 파일의 헤더(header)상 일부 영역만을 압축해제하여 진단 대상 애플리케이션의 해쉬 정보를 추출한 후, 추출된 해쉬 정보와 미리 저장된 시그니처(signature) 해쉬 정보를 비교하는 것을 통해 악성 애플리케이션 여부를 검사함으로써 최소한의 하드웨어 리소스를 사용하면서 악성 애플리케이션을 보다 신속하고 정확하게 진단할 수 있도록 하는 악성 애플리케이션 진단장치 및 방법을 제공하고자 한다.Accordingly, the present invention is to diagnose a malicious application in a portable terminal such as an Android OS-based smartphone, the header of the DEX file containing the executable code of the application in the apk (application package) file that is the installation file of the application It extracts the hash information of the application to be diagnosed by extracting only part of the image, and compares the extracted hash information with pre-stored signature hash information to check whether the malicious application is a malicious application while using minimal hardware resources. To provide a device and method for diagnosing malicious applications that can diagnose the virus more quickly and accurately.
상술한 본 발명은 악성 애플리케이션 진단장치로서, 휴대용 단말기에 설치될수 있는 애플리케이션에 대한 정상 또는 악성의 시그니처 해쉬정보가 저장된 시그니처 DB와, 상기 애플리케이션의 APK 파일로부터 상기 애플리케이션의 실행코드와 해쉬정보를 포함하고 있는 특정 파일을 추출하는 파일 추출부와, 상기 파일 추출부에서 추출된 상기 특정 파일로부터 상기 애플리케이션의 해쉬정보를 추출하는 진단정보 추출부와, 상기 진단정보 추출부로부터 추출된 상기 애플리케이션의 해쉬정보를 상기 시그니처 DB에 기 저장된 시그니처 해쉬정보와 비교한 후, 해당 애플리케이션의 악성 여부를 진단하는 진단부를 포함한다.The present invention described above is a malicious application diagnosis apparatus, and includes a signature DB storing normal or malicious signature hash information for an application that can be installed in a portable terminal, and execution code and hash information of the application from the APK file of the application. A file extracting unit for extracting a specific file, a diagnostic information extracting unit for extracting hash information of the application from the specific file extracted by the file extracting unit, and hash information of the application extracted from the diagnostic information extracting unit; And a diagnosis unit for comparing the signature hash information previously stored in the signature DB, and diagnosing whether the corresponding application is malicious.
또한, 상기 파일 추출부는, 상기 APK 파일로부터 상기 특정 파일만을 압축해제하여 추출하는 것을 특징으로 한다.The file extracting unit may extract and extract only the specific file from the APK file.
또한, 상기 진단정보 추출부는, 상기 특정 파일의 헤더를 파싱하여 상기 해쉬 정보를 추출하는 것을 특징으로 한다.The diagnostic information extracting unit may extract the hash information by parsing a header of the specific file.
또한, 상기 해쉬 정보는, 상기 헤더상 기 설정된 일정 영역에 기록되는 것을 특징으로 한다.The hash information may be recorded in a predetermined area set in the header.
또한, 상기 해쉬정보는, 상기 헤더상 0x0C부터 0x1F까지의 20 바이트에 기록되는 것을 특징으로 한다.The hash information may be recorded in 20 bytes from 0x0C to 0x1F on the header.
또한, 상기 특정 파일은, DEX 파일인 것을 특징으로 한다.The specific file may be a DEX file.
또한, 상기 진단부는, 상기 애플리케이션의 해쉬정보가 상기 시그니처 DB에 저장되어 있는 정상 시그니처 해쉬정보와 일치하는 경우 해당 애플리케이션을 정상 애플리케이션으로 진단하는 것을 특징으로 한다.The diagnostic unit may diagnose the application as a normal application when the hash information of the application matches the normal signature hash information stored in the signature DB.
또한, 상기 진단부는, 상기 애플리케이션의 해쉬정보가 상기 시그니처 DB에 저장되어 있는 악성 시그니처 해쉬정보와 일치하는 경우 해당 애플리케이션을 악성 애플리케이션으로 진단하는 것을 특징으로 한다.The diagnosis unit may diagnose the application as a malicious application when the hash information of the application matches the malicious signature hash information stored in the signature DB.
또한, 상기 진단부는, 악성 애플리케이션으로 진단된 해당 애플리케이션에 대해서는 상기 휴대용 단말기로의 설치를 차단시키거나, 이미 설치된 애플리케이션에 대해서는 해당 애플리케이션을 삭제시키는 것을 특징으로 한다.The diagnostic unit may block installation of the mobile terminal with respect to the application diagnosed as a malicious application or delete the application with respect to an already installed application.
또한, 상기 휴대용 단말기는, 안드로이드 OS가 탑재된 전자기기 인 것을 특징으로 한다.In addition, the portable terminal is characterized in that the electronic device equipped with the Android OS.
또한, 본 발명은 악성 애플리케이션 진단방법으로서, 휴대용 단말기에 존재하는 애플리케이션의 APK 파일로부터 상기 애플리케이션의 실행코드와 해쉬정보를 포함하고 있는 특정 파일을 추출하는 단계와, 상기 특정 파일로부터 상기 애플리케이션의 해쉬정보를 추출하는 단계와, 상기 애플리케이션의 해쉬정보를 기 저장된 정상 또는 악성 시그니처 해쉬정보와 비교하는 단계와, 상기 비교결과를 기반으로 상기 애플리케이션의 악성 또는 정상 여부를 진단하는 단계를 포함한다.The present invention also provides a method for diagnosing malicious applications, the method comprising: extracting a specific file including execution code and hash information of the application from an APK file of an application existing in a portable terminal; and hash information of the application from the specific file. Extracting and comparing hash information of the application with previously stored normal or malicious signature hash information, and diagnosing whether the application is malicious or normal based on the comparison result.
또한, 상기 진단하는 단계는, 상기 애플리케이션의 해쉬정보가 상기 정상 또는 악성 시그니처 해쉬정보와 일치하는지 검사하는 단계와, 상기 애플리케이션의 해쉬정보가 상기 정상 시그니처 해쉬정보와 일치하는 경우 상기 애플리케이션을 정상 애플리케이션으로 진단하는 단계와, 상기 애플리케이션의 해쉬정보가 상기 악성 시그니처 해쉬정보와 일치하는 경우 상기 애플리케이션을 악성 애플리케이션으로 진단하는 단계를 포함하는 것을 특징으로 한다.The diagnosing may include checking whether the hash information of the application matches the normal or malicious signature hash information, and if the hash information of the application matches the normal signature hash information, the application returns to the normal application. And diagnosing the application as a malicious application when the hash information of the application coincides with the malicious signature hash information.
또한, 상기 애플리케이션이 악성 애플리케이션으로 판단되는 경우, 상기 애플리케이션에 대해서는 상기 휴대용 단말기로의 설치를 차단시키는 단계와, 상기 애플리케이션이 상기 휴대용 단말기에 이미 설치된 경우에는 상기 애플리케이션을 삭제시키는 단계를 더 포함하는 것을 특징으로 한다.In addition, if it is determined that the application is a malicious application, blocking the installation of the application to the portable terminal, and if the application is already installed in the portable terminal further comprises the step of deleting the application It features.
또한, 상기 특정 파일을 추출하는 단계는, 상기 APK 파일로부터 상기 특정 파일만을 압축해제하여 추출하는 것을 특징으로 한다.The extracting of the specific file may include extracting and extracting only the specific file from the APK file.
또한, 상기 해쉬정보는, 상기 특정 파일의 헤더에 포함되며, 상기 헤더의 파싱을 통해 추출되는 것을 특징으로 한다.The hash information may be included in the header of the specific file and extracted through parsing the header.
또한, 상기 해쉬 정보는, 상기 헤더상 기 설정된 일정 영역에 기록되는 것을 특징으로 한다.The hash information may be recorded in a predetermined area set in the header.
또한, 상기 해쉬정보는, 상기 헤더상 0x0C부터 0x1F까지의 20 바이트에 기록되는 것을 특징으로 한다.The hash information may be recorded in 20 bytes from 0x0C to 0x1F on the header.
또한, 상기 특정 파일은, DEX 파일인 것을 특징으로 한다.The specific file may be a DEX file.
본 발명에서는 안드로이드 OS 기반의 스마트폰 등의 휴대용 단말기에서 악성 애플리케이션을 진단함에 있어서, 애플리케이션의 설치파일인 apk 파일내 애플리케이션의 실행코드가 포함되어 있는 DEX 파일을 추출하고, DEX 파일내 DEX 파일을 검증하기 위한 해쉬 정보를 포함하고 있는 DEX 파일 헤더의 일부 영역만을 압축해제하여 DEX 파일 헤더에 기록된 해쉬 정보와 시그니처 해쉬 정보를 비교하는 것을 통해 악성 애플리케이션 여부를 검사함으로써 단말기의 성능 저하를 방지하면서도 악성 애플리케이션을 보다 신속하고 정확하게 진단할 수 있는 이점이 있다.In the present invention, in diagnosing a malicious application in a mobile terminal such as an Android OS-based smartphone, the DEX file including the executable code of the application in the apk file, which is the installation file of the application, is extracted, and the DEX file in the DEX file is verified. By extracting only a part of the DEX file header containing the hash information to compare the signature information with the hash information recorded in the DEX file header, it checks whether the malicious application is a malicious application while preventing the performance degradation of the device. There is an advantage that can be diagnosed more quickly and accurately.
도 1은 본 발명의 실시예에 따른 악성 애플리케이션 진단장치의 상세 블록 구성도, 1 is a detailed block diagram of a malicious application diagnostic apparatus according to an embodiment of the present invention;
도 2a는 본 발명의 실시예가 적용되는 DEX 파일의 구조를 예시한 도면,2A is a diagram illustrating a structure of a DEX file to which an embodiment of the present invention is applied;
도 2b는 본 발명의 실시예가 적용되는 DEX 파일 헤더의 구조를 예시한 도면,2b is a diagram illustrating a structure of a DEX file header to which an embodiment of the present invention is applied;
도 3은 본 발명의 실시예에 따른 악성 애플리케이션을 진단하는 동작 제어 흐름도.3 is an operation control flowchart for diagnosing malicious applications according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, with reference to the accompanying drawings will be described in detail the operating principle of the present invention. In the following description of the present invention, when it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Combinations of each block of the accompanying block diagram and each step of the flowchart may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment such that instructions executed through the processor of the computer or other programmable data processing equipment may not be included in each block or flowchart of the block diagram. It will create means for performing the functions described in each step. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative embodiments, the functions noted in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.
도 1은 본 발명의 실시예에 따른 휴대용 단말기의 악성 애플리케이션을 진단하는 진단장치(100)의 상세 블록 구성을 도시한 것으로, 파일 추출부(104), 진단정보 추출부(106), 진단부(108), 시그니처(signature) DB(database)(102) 등을 포함한다. 이러한 휴대용 단말기는 스마트폰과 태블릿 PC 등의 단말기를 포함할 수 있다. 1 is a detailed block diagram of a diagnostic apparatus 100 for diagnosing a malicious application of a portable terminal according to an embodiment of the present invention. The file extracting unit 104, the diagnostic information extracting unit 106, and the diagnosing unit ( 108), signature DB (database) 102, and the like. Such a portable terminal may include a terminal such as a smartphone and a tablet PC.
이하, 도 1을 참조하여 본 발명의 악성 애플리케이션 진단장치(100) 각 부에서의 동작을 상세히 살펴보기로 한다.Hereinafter, an operation of each part of the malicious application diagnosis apparatus 100 of the present invention will be described in detail with reference to FIG. 1.
먼저, 시그니처 DB(102)는 휴대용 단말기에 설치되는 애플리케이션에 대한 정상 시그니처(white signature) 해쉬정보 및/또는 악성 시그니처(malware signature) 해쉬정보를 저장한다.First, the signature DB 102 stores white signature hash information and / or malware signature hash information for an application installed in the portable terminal.
파일 추출부(104)는 휴대용 단말기에 새로이 다운로드(download)되어 설치되는 애플리케이션, 또는 이전에 설치된 애플리케이션의 APK 파일에서 DEX 파일(150)만을 추출한다. 이러한 DEX 파일(150)은 애플리케이션의 실행코드와 DEX 파일을 검증하기 위한 해쉬정보를 포함할 수 있다. 따라서, 본 발명에서는 APK의 모든 파일을 압축해제하여 검사하지 않고 DEX 파일(150)만을 추출하여 보다 빠르고 정확하게 애플리케이션의 악성 여부를 검사하는데 활용하도록 하는 것이다.The file extraction unit 104 extracts only the DEX file 150 from an application newly downloaded and installed in the portable terminal or an APK file of a previously installed application. The DEX file 150 may include hash information for verifying the execution code of the application and the DEX file. Therefore, the present invention extracts only the DEX file 150 without decompressing and checking all the files of the APK so that the application can be used to quickly and accurately check the maliciousness of the application.
진단정보 추출부(106)는 파일 추출부(104)에서 추출된 DEX 파일(150)에서 애플리케이션의 실행코드에 대한 검증을 위해 포함된 해쉬정보를 추출한다. 이때, 위와 같은 해쉬정보는 DEX 파일(150)의 헤더(header)에 존재할 수 있으므로, 진단정보 추출부(106)는 DEX 파일(150) 전체를 압축해제하지 않고, 헤더상 해쉬정보가 기록된 일정 영역만을 압축해제하여 해쉬정보를 추출할 수 있다. 이러한 해쉬정보는, 예를 들어 SHA-1 해쉬가 될 수 있으며, DEX 파일(150)의 헤더상 0x0C부터 0x1F까지의 20 바이트에 기록될 수 있다. The diagnostic information extractor 106 extracts the hash information included in the DEX file 150 extracted by the file extractor 104 to verify the execution code of the application. In this case, since the hash information as described above may exist in the header of the DEX file 150, the diagnostic information extracting unit 106 does not decompress the entire DEX file 150, and the hash information is recorded on the header. Hash information can be extracted by decompressing only the region. Such hash information may be, for example, a SHA-1 hash, and may be recorded in 20 bytes from 0x0C to 0x1F on the header of the DEX file 150.
진단부(108)는 진단정보 추출부(106)로부터 추출된 진단대상 애플리케이션의 해쉬정보와 시그니처 DB(102)에 기 저장된 정상 또는 악성의 시그니처 해쉬정보와 비교한 후, 해당 애플리케이션의 악성 여부를 진단한다. The diagnosis unit 108 compares the hash information of the diagnosis target application extracted from the diagnosis information extraction unit 106 with normal or malicious signature hash information previously stored in the signature DB 102 and diagnoses whether the corresponding application is malicious. do.
즉, 진단부(108)는, 예를 들어 애플리케이션의 해쉬정보가 시그니처 DB(102)에 저장된 정상 시그니처 해쉬정보와 일치하는 경우 해당 애플리케이션을 정상 애플리케이션으로 판단할 수 있다. 또한, 진단부(108)는 애플리케이션의 해쉬정보가 악성 시그니처 해쉬정보와 서로 일치하는 경우 악성 애플리케이션으로 진단할 수 있다. 이때, 진단부(108)는 위와 같이 악성 애플리케이션으로 진단된 해당 애플리케이션에 대해서는 휴대용 단말기로의 설치를 차단시키거나, 이미 설치된 애플리케이션에 대해서는 해당 애플리케이션을 삭제시킬 수 있다.That is, the diagnosis unit 108 may determine, for example, that the application is a normal application when the hash information of the application coincides with the normal signature hash information stored in the signature DB 102. In addition, the diagnosis unit 108 may diagnose the malicious application when the hash information of the application coincides with the malicious signature hash information. In this case, the diagnosis unit 108 may block the installation of the mobile terminal for the corresponding application diagnosed as the malicious application as above, or delete the corresponding application for the already installed application.
도 2a와 도 2b는 DEX 파일(150)의 구조와 DEX 파일 헤더의 구조를 각각 도시한 것이다.2A and 2B show the structure of the DEX file 150 and the structure of the DEX file header, respectively.
도 2a에 도시한 바와 같이, DEX 파일(150)의 구조에서 파일의 맨 앞 부분에 DEX 파일 헤더(200)가 위치하게 되며, DEX 파일 헤더(200)의 구조는 도 2b에 도시된다.As shown in FIG. 2A, the DEX file header 200 is positioned at the beginning of the file in the structure of the DEX file 150, and the structure of the DEX file header 200 is illustrated in FIG. 2B.
도 2b에 도시한 바와 같이, DEX 파일 헤더(200)의 일정 영역(250), 예를 들어 0x0C부터 0x1F까지의 20 바이트 영역에는 SHA-1 해쉬정보가 기록되어 있는 것을 알 수 있다.As shown in Fig. 2B, it can be seen that SHA-1 hash information is recorded in a predetermined area 250 of the DEX file header 200, for example, a 20 byte area from 0x0C to 0x1F.
따라서, DEX 파일 헤더(200)의 영역상 0x0C부터 0x1F까지의 20 바이트만 압축 해제하여 해쉬정보를 추출하고, 이와 같이 추출된 해쉬정보와 시그니처 DB(102)상에 미리 저장된 악성 또는 정상 시그니처 해쉬정보의 비교를 통해 애플리케이션의 악성 여부를 판단할 수 있는 것이다.Therefore, only 20 bytes from 0x0C to 0x1F are extracted in the area of the DEX file header 200 to extract hash information, and the extracted hash information and the malicious or normal signature hash information previously stored in the signature DB 102 are thus extracted. By comparing, you can determine whether the application is malicious.
즉, 상술한 바와 같은 진단장치(100)에서는 DEX 파일(150) 전체를 압축해제 하지 않고, 예를 들어 해쉬정보가 기록되어 있는 DEX 파일 헤더(200)의 일정 영역(250) 즉, 0x0C부터 0x1F까지의 20 바이트만 압축 해제하여 진단을 수행함으로써, 최소한의 하드웨어 리소스(hardware resource)를 사용하고, 진단시간을 최소화할 수 있으며, 또한, SHA-1 해시의 특성상 중복율이 0에 가까우므로 오진 가능성을 크게 낮출 수 있게 된다.That is, the diagnostic apparatus 100 as described above does not decompress the entire DEX file 150, but for example, the predetermined area 250 of the DEX file header 200 in which hash information is recorded, that is, 0x0C to 0x1F. By decompressing only 20 bytes up to a diagnosis, the minimum hardware resource can be used and the diagnosis time can be minimized. Also, due to the nature of the SHA-1 hash, the redundancy rate is close to 0, which is possible. Can be greatly reduced.
이하, 상술한 구성과 함께, 본 발명의 실시예에 따른 악성 애플리케이션 진단장치(100)에서 악성 애플리케이션을 진단하는 동작 제어 과정을 첨부한 도 3의 흐름도를 참조하여 상세히 설명하기로 한다.Hereinafter, with reference to the configuration described above, the operation control process for diagnosing malicious applications in the malicious application diagnosis apparatus 100 according to an embodiment of the present invention will be described in detail with reference to the flowchart of FIG.
먼저, 휴대용 단말기에 대한 악성 애플리케이션 진단이 요청되는 경우 진단장치(100)내 파일 추출부(104)는 휴대용 단말기에 설치된 파일들에 대해 파일 유형 분석을 수행한다(S300).First, when a malicious application diagnosis for a portable terminal is requested, the file extractor 104 in the diagnosis apparatus 100 performs a file type analysis on the files installed in the portable terminal (S300).
이러한 파일 유형 분석에 따라 파일 추출부(104)는 분석대상 파일들에서 apk 파일 형식을 갖는 애플리케이션을 검색한다(S302).According to the file type analysis, the file extraction unit 104 searches for an application having the apk file format in the analysis target files (S302).
이때, apk 파일 형식을 갖는 애플리케이션이 검색되는 경우 파일 추출부(104)는 해당 애플리케이션의 apk파일로부터 애플리케이션의 악성 여부 검증이 가능한 해쉬정보를 가지고 있는 특정 파일, 예를 들어 DEX 파일(150)을 추출한다(S304). 이러한 DEX 파일(150)은 애플리케이션의 실행코드와 DEX 파일(150)을 검증하기 위한 해쉬정보를 포함할 수 있다. In this case, when an application having an apk file format is searched, the file extractor 104 extracts a specific file, for example, a DEX file 150, having hash information capable of verifying whether the application is malicious from an apk file of the corresponding application. (S304). The DEX file 150 may include an execution code of the application and hash information for verifying the DEX file 150.
이어, 진단정보 추출부(106)는 파일 추출부(104)에서 추출된 DEX 파일(150)에서 애플리케이션의 실행코드에 대한 검증을 위해 포함된 해쉬정보를 추출한다(S306). 이때, 위와 같은 해쉬정보는 DEX 파일(150)의 헤더(200)에 존재할 수 있다.Subsequently, the diagnostic information extracting unit 106 extracts the hash information included in the DEX file 150 extracted by the file extracting unit 104 to verify the execution code of the application (S306). In this case, the above hash information may exist in the header 200 of the DEX file 150.
즉, 진단정보 추출부(106)는 DEX 파일(150) 전체를 압축해제하지 않고, 헤더(200)상 해쉬정보가 기록된 DEX 파일 헤더(200)의 일정 영역(250)만을 압축해제하여 헤더(200)의 일정 영역(250)에 기록된 해쉬정보를 추출할 수 있다. 이때, 해쉬정보는, 예를 들어 SHA-1 해쉬가 될 수 있으며, DEX 파일 헤더(200)상 0x0C부터 0x1F까지의 20 바이트에 기록될 수 있다. 따라서, 진단정보 추출부(106)는 DEX 파일(150) 전체를 압축해제하지 않고, DEX 파일 헤더(200)상 0x0C부터 0x1F까지의 20 바이트에 대해서만 압축을 해제하여 해쉬정보를 추출하게 되는 것이다.That is, the diagnostic information extracting unit 106 does not decompress the entire DEX file 150, but decompresses only a predetermined area 250 of the DEX file header 200 in which the hash information is recorded on the header 200. The hash information recorded in the predetermined area 250 of the 200 may be extracted. In this case, the hash information may be, for example, a SHA-1 hash, and may be recorded in 20 bytes from 0x0C to 0x1F on the DEX file header 200. Therefore, the diagnostic information extraction unit 106 extracts the hash information by decompressing only 20 bytes from 0x0C to 0x1F on the DEX file header 200 without decompressing the entire DEX file 150.
위와 같이, 진단정보 추출부(106)로부터 추출된 애플리케이션의 해쉬정보는 애플리케이션의 악성 여부 진단을 위해 진단부(108)로 제공될 수 있다.As described above, the hash information of the application extracted from the diagnostic information extraction unit 106 may be provided to the diagnosis unit 108 for diagnosing whether the application is malicious.
그러면, 진단부(108)는 진단정보 추출부(106)로부터 추출된 진단대상 애플리케이션의 해쉬정보와 시그니처 DB(102)에 기 저장된 정상 또는 악성의 시그니처 해쉬정보를 비교하여 해당 애플리케이션의 악성 여부를 진단할 수 있다(S308). Then, the diagnosis unit 108 compares the hash information of the diagnosis target application extracted from the diagnosis information extraction unit 106 with the normal or malicious signature hash information previously stored in the signature DB 102 to diagnose whether the application is malicious. It may be (S308).
즉, 진단부(108)는, 예를 들어 애플리케이션의 해쉬정보가 시그니처 DB(102)에 저장된 정상 시그니처 해쉬정보와 일치하는 경우 해당 애플리케이션을 정상 애플리케이션으로 판단할 수 있다. 또한, 진단부(108)는 애플리케이션의 해쉬정보가 악성 시그니처 해쉬정보와 서로 일치하는 경우 악성 애플리케이션으로 진단할 수 있다. That is, the diagnosis unit 108 may determine, for example, that the application is a normal application when the hash information of the application coincides with the normal signature hash information stored in the signature DB 102. In addition, the diagnosis unit 108 may diagnose the malicious application when the hash information of the application coincides with the malicious signature hash information.
위와 같은 애플리케이션의 악성 여부 진단 결과에 따라, 진단부(108)는 진단 대상 애플리케이션이 악성 애플리케이션으로 진단된 경우에는(S310) 휴대용 단말기로의 설치를 차단시키거나, 이미 설치된 애플리케이션에 대해서는 해당 애플리케이션을 삭제시킬 수 있다(S312).According to the result of the diagnosis of the malicious application, the diagnosis unit 108 blocks the installation of the portable terminal when the diagnosis target application is diagnosed as the malicious application (S310), or deletes the application for the already installed application. Can be made (S312).
상기한 바와 같이, 본 발명에서는 안드로이드 OS 기반의 스마트폰 등의 휴대용 단말기에서 악성 애플리케이션을 진단함에 있어서, 애플리케이션의 설치파일인 apk 파일내 애플리케이션의 실행코드가 포함되어 있는 DEX 파일을 추출하고, DEX 파일내 DEX 파일을 검증하기 위한 해쉬 정보를 포함하고 있는 DEX 파일 헤더의 일부 영역만을 압축해제하여 DEX 파일 헤더에 기록된 해쉬 정보와 시그니처 해쉬 정보를 비교하는 것을 통해 악성 애플리케이션 여부를 검사함으로써 단말기의 성능 저하를 방지하면서도 악성 애플리케이션을 보다 신속하고 정확하게 진단할 수 있도록 한다.As described above, in the present invention, in diagnosing a malicious application in a portable terminal such as an Android OS-based smartphone, a DEX file including an executable code of an application in an apk file, which is an installation file of the application, is extracted and the DEX file is extracted. Decompresses only a portion of the DEX file header that contains the hash information to verify my DEX file, and compares the hash information recorded in the DEX file header with the signature hash information to check whether the application is malicious or not. It also helps to diagnose malicious applications more quickly and accurately.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the invention should be determined by the claims rather than by the described embodiments.

Claims (18)

  1. 휴대용 단말기에 설치 가능한 애플리케이션에 대한 정상 시그니처 해쉬정보 또는 악성 시그니처 해쉬정보가 저장된 시그니처 DB와,A signature DB storing normal signature hash information or malicious signature hash information for an application that can be installed in a portable terminal;
    상기 애플리케이션의 APK(application package) 파일로부터 상기 애플리케이션의 실행코드와 해쉬정보를 포함하고 있는 특정 파일을 추출하는 파일 추출부와,A file extraction unit for extracting a specific file including execution code and hash information of the application from the application package (Apk) file of the application;
    상기 파일 추출부에서 추출된 상기 특정 파일로부터 상기 애플리케이션의 해쉬정보를 추출하는 진단정보 추출부와,A diagnostic information extraction unit for extracting hash information of the application from the specific file extracted by the file extraction unit;
    상기 진단정보 추출부로부터 추출된 상기 애플리케이션의 해쉬정보를 상기 시그니처 DB에 기 저장된 시그니처 해쉬정보와 비교한 후, 해당 애플리케이션의 악성 여부를 진단하는 진단부 A diagnosis unit for comparing the hash information of the application extracted from the diagnostic information extraction unit with the signature hash information previously stored in the signature DB, and then diagnoses whether the application is malicious
    를 포함하는 악성 애플리케이션 진단장치.Malicious application diagnostic device comprising a.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 파일 추출부는,The file extraction unit,
    상기 APK 파일로부터 상기 특정 파일만을 압축해제하여 추출하는 것을 특징으로 하는 악성 애플리케이션 진단장치.Malicious application diagnostic apparatus, characterized in that to extract and extract only the specific file from the APK file.
  3. 제 1 항에 있어서,The method of claim 1,
    상기 진단정보 추출부는,The diagnostic information extraction unit,
    상기 특정 파일의 헤더를 파싱하여 상기 해쉬 정보를 추출하는 것을 특징으로 하는 악성 애플리케이션 진단장치.And extracting the hash information by parsing the header of the specific file.
  4. 제 3 항에 있어서,The method of claim 3, wherein
    상기 해쉬 정보는,The hash information,
    상기 헤더상의 기 설정된 일정 영역에 기록되는 것을 특징으로 하는 악성 애플리케이션 진단장치.Malicious application diagnostic apparatus, characterized in that recorded in the predetermined predetermined area on the header.
  5. 제 4 항에 있어서,The method of claim 4, wherein
    상기 해쉬 정보는,The hash information,
    상기 헤더상의 0x0C부터 0x1F까지의 20 바이트에 기록되는 것을 특징으로 하는 악성 애플리케이션 진단장치.Malicious application diagnostic apparatus, characterized in that recorded in 20 bytes from 0x0C to 0x1F on the header.
  6. 제 1 항에 있어서,The method of claim 1,
    상기 특정 파일은,The specific file is,
    DEX 파일인 것을 특징으로 하는 악성 애플리케이션 진단장치.Malicious application diagnostic device, characterized in that the DEX file.
  7. 제 1 항에 있어서,The method of claim 1,
    상기 진단부는,The diagnostic unit,
    상기 애플리케이션의 해쉬 정보가 상기 시그니처 DB에 저장되어 있는 상기 정상 시그니처 해쉬 정보와 일치하는 경우 해당 애플리케이션을 정상 애플리케이션으로 진단하는 것을 특징으로 하는 악성 애플리케이션 진단장치. And if the hash information of the application matches the normal signature hash information stored in the signature DB, diagnosing the corresponding application as a normal application.
  8. 제 1 항에 있어서,The method of claim 1,
    상기 진단부는,The diagnostic unit,
    상기 애플리케이션의 해쉬 정보가 상기 시그니처 DB에 저장되어 있는 상기 악성 시그니처 해쉬 정보와 일치하는 경우 해당 애플리케이션을 악성 애플리케이션으로 진단하는 것을 특징으로 하는 악성 애플리케이션 진단장치. And when the hash information of the application matches the malicious signature hash information stored in the signature DB, diagnosing the corresponding application as a malicious application.
  9. 제 8 항에 있어서,The method of claim 8,
    상기 진단부는,The diagnostic unit,
    악성 애플리케이션으로 진단된 해당 애플리케이션에 대해서는 상기 휴대용 단말기로의 설치를 차단시키거나, 이미 설치된 애플리케이션에 대해서는 해당 애플리케이션을 삭제시키는 것을 특징으로 하는 악성 애플리케이션 진단장치. Apparatus for diagnosing a malicious application characterized in that the installation of the portable terminal is blocked for the application diagnosed as a malicious application or deletes the application for an already installed application.
  10. 제 1 항에 있어서,The method of claim 1,
    상기 휴대용 단말기는,The portable terminal,
    안드로이드 OS가 탑재된 전자기기인 것을 특징으로 하는 악성 애플리케이션 진단장치.Malicious application diagnostic device, characterized in that the electronic device equipped with Android OS.
  11. 휴대용 단말기에 존재하는 애플리케이션의 APK 파일로부터 상기 애플리케이션의 실행코드와 해쉬 정보를 포함하고 있는 특정 파일을 추출하는 단계와,Extracting a specific file including execution code and hash information of the application from the APK file of the application existing in the portable terminal;
    상기 특정 파일로부터 상기 애플리케이션의 해쉬 정보를 추출하는 단계와,Extracting hash information of the application from the specific file;
    상기 애플리케이션의 해쉬 정보를 기 저장된 정상 시그니처 해쉬 정보 또는 악성 시그니처 해쉬 정보와 비교하는 단계와,Comparing the hash information of the application with previously stored normal signature hash information or malicious signature hash information;
    상기 비교결과를 기반으로 상기 애플리케이션의 악성 또는 정상 여부를 진단하는 단계Diagnosing whether the application is malicious or normal based on the comparison result
    를 포함하는 악성 애플리케이션 진단방법.Malicious application diagnostic method comprising a.
  12. 제 11 항에 있어서,The method of claim 11,
    상기 진단하는 단계는,The diagnosing step is
    상기 애플리케이션의 해쉬 정보가 상기 정상 시그니처 해쉬 정보 또는 악성 시그니처 해쉬 정보와 일치하는지 검사하는 단계와,Checking whether the hash information of the application matches the normal signature hash information or malicious signature hash information;
    상기 애플리케이션의 해쉬 정보가 상기 정상 시그니처 해쉬 정보와 일치하는 경우 상기 애플리케이션을 정상 애플리케이션으로 진단하는 단계와,Diagnosing the application as a normal application when the hash information of the application matches the normal signature hash information;
    상기 애플리케이션의 해쉬 정보가 상기 악성 시그니처 해쉬 정보와 일치하는 경우 상기 애플리케이션을 악성 애플리케이션으로 진단하는 단계Diagnosing the application as a malicious application when the hash information of the application matches the malicious signature hash information.
    를 포함하는 것을 특징으로 하는 악성 애플리케이션 진단방법.Malicious application diagnostic method comprising a.
  13. 제 12 항에 있어서,The method of claim 12,
    상기 애플리케이션이 악성 애플리케이션으로 판단되는 경우, 상기 애플리케이션에 대해서는 상기 휴대용 단말기로의 설치를 차단시키는 단계와,If it is determined that the application is a malicious application, blocking the installation of the application to the portable terminal;
    상기 애플리케이션이 상기 휴대용 단말기에 이미 설치된 경우에는 상기 애플리케이션을 삭제시키는 단계Deleting the application if the application is already installed in the portable terminal;
    를 더 포함하는 것을 특징으로 하는 악성 애플리케이션 진단방법.Malicious application diagnostic method characterized in that it further comprises.
  14. 제 11 항에 있어서,The method of claim 11,
    상기 특정 파일을 추출하는 단계는,Extracting the specific file,
    상기 APK 파일로부터 상기 특정 파일만을 압축해제하여 추출하는 것을 특징으로 하는 악성 애플리케이션 진단방법.Malicious application diagnostic method characterized in that to extract and extract only the specific file from the APK file.
  15. 제 11 항에 있어서,The method of claim 11,
    상기 해쉬 정보는,The hash information,
    상기 특정 파일의 헤더에 포함되며, 상기 헤더의 파싱을 통해 추출되는 것을 특징으로 하는 악성 애플리케이션 진단방법.It is included in the header of the particular file, characterized in that extracted through the parsing of the header application diagnostic method.
  16. 제 15 항에 있어서,The method of claim 15,
    상기 해쉬 정보는,The hash information,
    상기 헤더상의 기 설정된 일정 영역에 기록되는 것을 특징으로 하는 악성 애플리케이션 진단방법.Malicious application diagnostic method, characterized in that recorded in the predetermined predetermined area on the header.
  17. 제 16 항에 있어서,The method of claim 16,
    상기 해쉬 정보는,The hash information,
    상기 헤더상의 0x0C부터 0x1F까지의 20 바이트에 기록되는 것을 특징으로 하는 악성 애플리케이션 진단방법.Malicious application diagnostic method, characterized in that recorded in 20 bytes from 0x0C to 0x1F on the header.
  18. 제 11 항에 있어서,The method of claim 11,
    상기 특정 파일은,The specific file is,
    DEX 파일인 것을 특징으로 하는 악성 애플리케이션 진단방법.Malicious application diagnostic method, characterized in that the DEX file.
PCT/KR2013/010994 2012-12-17 2013-11-29 Apparatus and method for diagnosing malicious application WO2014098387A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20120147229 2012-12-17
KR10-2012-0147229 2012-12-17

Publications (1)

Publication Number Publication Date
WO2014098387A1 true WO2014098387A1 (en) 2014-06-26

Family

ID=50978654

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/010994 WO2014098387A1 (en) 2012-12-17 2013-11-29 Apparatus and method for diagnosing malicious application

Country Status (1)

Country Link
WO (1) WO2014098387A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180025380A (en) * 2016-08-30 2018-03-09 한남대학교 산학협력단 System and method for integrity verification of banking application using APK file dynamic loading technique
CN109564613A (en) * 2016-07-27 2019-04-02 日本电气株式会社 Signature creation equipment, signature creation method, the recording medium for recording signature creation program and software determine system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110084693A (en) * 2010-01-18 2011-07-26 (주)쉬프트웍스 Method of examining malicious codes and dangerous files in android terminal platform
KR20120031963A (en) * 2012-01-30 2012-04-04 주식회사 안철수연구소 Apparatus for preventing malicious codes
KR20120071817A (en) * 2010-12-23 2012-07-03 한국인터넷진흥원 Automatic management system for dna and meta-data of malicious code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110084693A (en) * 2010-01-18 2011-07-26 (주)쉬프트웍스 Method of examining malicious codes and dangerous files in android terminal platform
KR20120071817A (en) * 2010-12-23 2012-07-03 한국인터넷진흥원 Automatic management system for dna and meta-data of malicious code
KR20120031963A (en) * 2012-01-30 2012-04-04 주식회사 안철수연구소 Apparatus for preventing malicious codes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YOON, JIN SIK: "Malware Detection Technique of Android-based Smartphone using Static Analysis", MASTER'S THESIS, 2011, pages 15 - 30 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109564613A (en) * 2016-07-27 2019-04-02 日本电气株式会社 Signature creation equipment, signature creation method, the recording medium for recording signature creation program and software determine system
KR20180025380A (en) * 2016-08-30 2018-03-09 한남대학교 산학협력단 System and method for integrity verification of banking application using APK file dynamic loading technique
KR101872104B1 (en) 2016-08-30 2018-06-28 한남대학교 산학협력단 System and method for integrity verification of banking application using APK file dynamic loading technique

Similar Documents

Publication Publication Date Title
CN103279706B (en) Intercept the method and apparatus installing Android application program in the terminal
US8726387B2 (en) Detecting a trojan horse
WO2015056885A1 (en) Detection device and detection method for malicious android application
WO2014035043A1 (en) Apparatus and method for diagnosing malicious applications
WO2019072008A1 (en) Security scanning method and apparatus for mini program, and electronic device
CN112685737A (en) APP detection method, device, equipment and storage medium
WO2021027630A1 (en) Patching method, related apparatus, and system
US10176327B2 (en) Method and device for preventing application in an operating system from being uninstalled
Haris et al. Evolution of android operating system: a review
KR20110128632A (en) Method and device for detecting malicious action of application program for smartphone
WO2014088262A1 (en) Apparatus and method for detecting fraudulent/altered applications
CN110362488B (en) Page testing method and device, electronic equipment and storage medium
WO2014010847A1 (en) Apparatus and method for diagnosing malicious applications
CN110209416A (en) Application software update method, device, terminal and storage medium
WO2014168408A1 (en) Device, system and method for diagnosing malware on basis of cloud
CN105631312A (en) Method and system for processing rogue programs
KR20130066901A (en) Apparatus and method for analyzing malware in data analysis system
WO2015037850A1 (en) Device and method for detecting url call
WO2014098387A1 (en) Apparatus and method for diagnosing malicious application
WO2018131910A1 (en) Electronic device and method for creating shortcut to web page in electronic device
WO2021243555A1 (en) Quick application test method and apparatus, device, and storage medium
KR101473658B1 (en) Apparatus and system for detecting malicious code using filter and method thereof
CN116578297A (en) H5 page running method and device, electronic equipment and storage medium
US20190102279A1 (en) Generating an instrumented software package and executing an instance thereof
WO2015126079A1 (en) Method and apparatus for detecting repackaging

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: 13866124

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: 13866124

Country of ref document: EP

Kind code of ref document: A1