WO2014088262A1 - Apparatus and method for detecting fraudulent/altered applications - Google Patents

Apparatus and method for detecting fraudulent/altered applications Download PDF

Info

Publication number
WO2014088262A1
WO2014088262A1 PCT/KR2013/010971 KR2013010971W WO2014088262A1 WO 2014088262 A1 WO2014088262 A1 WO 2014088262A1 KR 2013010971 W KR2013010971 W KR 2013010971W WO 2014088262 A1 WO2014088262 A1 WO 2014088262A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
forgery
signature
verification
forged
Prior art date
Application number
PCT/KR2013/010971
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 WO2014088262A1 publication Critical patent/WO2014088262A1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • 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/565Static detection by checking file integrity
    • 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

Definitions

  • the present invention relates to detecting forgery / falsification of an application, and in particular, in detecting application forgery / falsification, what kind of application is a corresponding application using application-specific recognition signature information stored in advance for the application to be diagnosed. Recognize the application and determine whether the application is forged or forged using the verification signature information set to diagnose forgery or forgery for each application, and then block the forged or forged application according to the policy.
  • the present invention relates to an application forgery / falsification detection apparatus and method that can reduce the damage caused by the forgery / modulated application.
  • a smart phone In general, a smart phone combines the advantages of a mobile phone and a personal digital assistant (PDA), and is implemented by integrating data communication functions such as schedule management, fax transmission, and Internet access.
  • PDA personal digital assistant
  • 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 smart phones and portable terminals such as tablet PCs have their own operating systems such as IOS and Android, for example, and development of applications executable by the corresponding operating systems is being actively performed.
  • IOS and Android operating systems
  • development of applications executable by the corresponding operating systems is being actively performed.
  • an application that may leak personal information such as a financial application may be used as a financial accident or a crime, and thus may cause a serious problem.
  • An object of the present invention is to provide an apparatus and method for detecting forgery and alteration.
  • the present invention described above is an application forgery / falsification detection device, comprising: a recognition unit for extracting a recognition signature for identifying an application from a diagnosis target application, and recognizing the diagnosis target application by comparing with a previously stored recognition signature of the normal application; When a diagnosis target application is recognized, a verification signature for verifying whether the application is forged or forged is extracted from the diagnosis target application, and compared with a verification signature of a previously stored normal application to determine whether the diagnosis target application is forged or forged. And a verification unit and a blocking unit to block the corresponding application when it is determined that the diagnosis target application is forged / modulated through the verification unit.
  • the recognition unit may compare a plurality of cognitive signatures for the normal application and the extracted cognitive signatures, and if there is a matching cognitive signature, recognize the application to be diagnosed as an application corresponding to the matching cognitive signature. Characterized in that.
  • the verification unit may compare the plurality of verification signatures with respect to the normal application and the extracted verification signatures, respectively, and determine that the application is a forged / modulated application when there is a verification signature that does not match.
  • the blocking unit may be configured to notify the server of forgery / modulation of the application when the application is installed on a portable terminal and operates in association with a server on a communication network.
  • the blocking unit may be configured to delete the application from the server when the application is an application registered on an application providing server by an arbitrary user.
  • the recognition signature may be set to data that does not change even when the application is updated, modified, or changed by the original producer.
  • the recognition signature may include a specific value on a package name, an icon, or an execution code of the application.
  • the verification signature may be set to data whose value does not change even when the application is updated, modified or changed by the original manufacturer.
  • the verification signature may be set to data whose value is changed when the application is modified or changed by a path other than the original producer.
  • the verification signature is characterized in that it includes certificate information of the application.
  • the verification signature may include hash information or path information of files included in the APK file of the application.
  • the verification signature is characterized in that it comprises hash information or authority information for the APK configuration files recorded in the MANIFEST.MF file in the APK file of the application.
  • the verification signature may include information about APIs or external libraries used in the application among classes.dex file information in the APK file of the application, feature information about each class constituting the application, or the respective classes. It is characterized by including the feature information in the code for each function constituting.
  • the verification signature characterized in that it includes the characteristic information about the resources used in the application.
  • the present invention is an application forgery / forgery detection method, the step of extracting the recognition signature for identifying the application from the application to be diagnosed, and comparing the extracted recognition signature and the recognition signature of the normal application stored in the diagnosis target application Recognizing a step, extracting a verification signature for verifying the forgery / forgery of the application from the diagnostic target application, and comparing the extracted verification signature and the verification signature of the normal application stored in advance Determining whether or not the modulation, and if the diagnostic target application is determined to be a forged / forged application, blocking the application.
  • the recognizing may include comparing a plurality of cognitive signatures for the normal application and the extracted cognitive signatures, and if the cognitive signatures coincide with each other as a result of the comparison, the corresponding diagnosis target application may be recognized. Recognizing the application corresponding to the signature is characterized in that it comprises a.
  • the determining may include comparing a plurality of verification signatures for the normal application and the extracted verification signatures, and comparing the diagnosis target application with the verification result when there is a mismatching verification signature. And determining that it is a modulated application.
  • the blocking may include notifying forgery / modulation of the application to the server when the application is an application installed on a portable terminal and operating in conjunction with a server on a communication network.
  • the blocking may include deleting the application from the server when the application is an application registered on an application providing server by an arbitrary user.
  • the recognition signature may be set to data that does not change even when the application is updated, modified, or changed by the original producer.
  • the recognition signature may include a specific value on a package name, an icon, or an execution code of the application.
  • the verification signature may be set to data whose value does not change even when the application is updated, modified or changed by the original manufacturer.
  • the verification signature may be set to data whose value is changed when the application is modified or changed by a path other than the original producer.
  • the verification signature is characterized in that it includes certificate information of the application.
  • the verification signature may include hash information or path information of files included in the APK file of the application.
  • the present invention in the detection of forgery and forgery of the application, using the application-specific recognition signature information stored in advance for the target application to recognize what application is the application, and for the recognized application to diagnose whether the forgery / forgery by application again
  • By determining whether the application is forged / modulated by using the verification signature information set for the purpose there is an advantage of accurately detecting the forged / modulated application.
  • by blocking or deleting the forged / tampered application according to the policy there is an advantage that can be reduced by the forgery / tampered application.
  • FIG. 1 is a detailed block diagram of an application forgery / falsification detection apparatus according to an embodiment of the present invention
  • FIG. 2 is an operation control flowchart for detecting application forgery / modulation 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.
  • the application forgery / false detection apparatus 100 may be installed in the portable terminal to detect whether the forgery or forgery for the application installed in the portable terminal, or installed in an application providing server where a plurality of applications are registered to a plurality of producers. It is also possible to detect whether the forgery / forgery for the application registered by.
  • a portable terminal may include a terminal such as a smartphone and a tablet PC.
  • the recognition unit 102 may extract the recognition signature for identifying the application from the diagnosis target application, and recognize the application by comparing the recognition signature for each application previously stored in the recognition signature DB 104.
  • the recognition unit 102 compares the recognition signatures extracted from the diagnosis target application with the recognition signatures of the normal applications for each application previously stored in the recognition signature DB 104, and when there exists a matching signature.
  • the application to be diagnosed may be recognized as a corresponding application whose recognition signatures match each other.
  • the recognition signature DB 104 stores a recognition signature on which a corresponding application for each application is identified for a plurality of applications that are manufactured to be installed in the portable terminal.
  • Such a recognition signature may be extracted in advance from a normal application which is not forged / modulated, and the recognition signature at this time is not changed even when the application is updated, modified or changed by the original creator, and thus is determined as the same application. Can be set to data that can be.
  • Such a recognition signature may be set to, for example, a specific value on a package name, an icon, or executable code of an application.
  • the package name of the application is a general name of the application, for example, "Angry Bird”, “KakaoTalk”, and the name that the user knows the application in advance. If such information is changed, the user Since the application is not likely to be installed, it is unlikely to be forged or altered when the application is forged / modulated, so it can be used as a cognitive signature.
  • the icon of the application is information that can recognize the application as a brief picture, it can be displayed as a bird-shaped picture in the case of Angry Birds, a speech bubble picture in the case of KakaoTalk. Is unlikely to install the application, so it is less likely to be forged or tampered with when the application is tampered with, and thus can be used as a cognitive signature. In addition, certain values in executable code that are less likely to be forged / falsified in the application may be set as recognition signatures.
  • the verification unit 106 extracts a verification signature for verifying whether the application is forged / modulated from the application recognized by the recognition unit 102, and compares the verification signature with the application-specific verification signature previously stored in the verification signature DB 108. Determine whether the application is forged or forged.
  • the diagnosis target application is forged / modulated. Can be determined by the application.
  • the verification unit 106 for example, the developer certificate information, the hash information for the application APK files, or the feature information for each class constituting the application is set as the verification signature to verify the verification signature DB ( 108, the corresponding verification signature is extracted from the application to be diagnosed, and then compared with the corresponding verification signature stored in the verification signature DB 108, and if any one does not match, the corresponding application is diagnosed. It can be judged as being modified.
  • the verification signature DB 108 stores verification signatures on which a plurality of applications designed to be installed in the portable terminal can determine whether the corresponding application is forged or forged. Such verification signatures can be extracted in advance from normal applications that are not forged / modulated.
  • the verification signature may be set to information that does not change even when the application is updated, modified, or changed by the original creator, so that the application may be determined as the same application.
  • the value may be set to the data to be changed.
  • Such a verification signature may be set to, for example, developer certificate information of an application or a feature value on application execution code.
  • the developer certificate information of the application is information authenticated by the developer at the time of development of the application.
  • a third party who wants to forge / modify the application may be used as a verification signature because the possibility of forgery / forgery with the same certificate information is very low.
  • feature values in the executable code that are likely to change when the application is forged / modulated may be set as verification signatures.
  • it may include hash information or path information of files included in the APK of the application, and also hash information and authority information of APK configuration files recorded in the MANIFEST.MF file in the APK file of the application. It may include information such as an application name and a package name.
  • classes.dex file information in the APK file of the application information on the API or external libraries used in the application, feature information on each class constituting the application, and functions of each class It may include feature information on a code for and may include feature information about resources used in an application among resources.arsc file information.
  • the blocking unit 110 may block execution or access of the corresponding application or delete the corresponding application to the application determined to be forged / modulated by the verification unit 106.
  • the blocking unit 110 notifies the server of the forgery / modulation of the application and operates to block the execution of the application on the server.
  • the application when the application is an application that operates in the form of a system application in the portable terminal, the application may terminate the process and then operate to delete the application.
  • FIGS. 1 and 2 illustrates an operation control flow for application forgery / modulation detection according to an embodiment of the present invention.
  • embodiments of the present invention will be described in detail with reference to FIGS. 1 and 2.
  • the recognition unit 102 of the application forgery / falsification detection apparatus 100 searches for an application to be diagnosed (S200).
  • the application forgery / tamper detection device 100 may be installed in the portable terminal of the user using the application, the application providing server, such as an application market to download and provide to the general user to register the applications produced by a number of producers It can also be installed in.
  • the application providing server such as an application market to download and provide to the general user to register the applications produced by a number of producers It can also be installed in.
  • the recognition unit 102 searches for an application installed in the portable terminal to diagnose the application that is the target of the application forgery / forgery detection You can search for
  • the recognition unit 102 is a server
  • the registered application may be searched for a diagnosis target application that is a target of application forgery / falsification detection.
  • the recognition unit 102 extracts the recognition signature for identifying the application from the diagnosis target application (S202), and compares the recognition signature for each application stored in the recognition signature DB 104 in advance. To recognize the application.
  • the recognition unit 102 compares, for example, the recognition signature extracted from the diagnosis target application and the recognition signatures for each application prestored in the recognition signature DB 104 (S204), and whether there is a matching recognition signature exists. Inspect (S206).
  • the recognition unit 102 may classify the corresponding application as an unconfirmed application, and may not perform verification on the unconfirmed application (S208).
  • the recognizer 102 may recognize the application to be diagnosed as a corresponding application that matches the coincidence signature.
  • the recognized application information is applied to the verification unit 106.
  • the verification unit 106 verifies whether the forgery / forgery for the recognized application.
  • the verification unit 106 extracts a verification signature for verifying whether the application is forged / modulated from the application recognized by the recognition unit 102 (S210), and the application-specific verification signature stored in the verification signature DB 108 in advance.
  • the verification signature corresponding to the recognized application is loaded to perform a comparison process between the verification signatures (S212).
  • the verification unit 106 compares the verification signature extracted from the application to be diagnosed with the verification signature previously stored for the corresponding application in the verification signature DB 108, respectively, and thus, there is a verification signature that does not match.
  • the diagnosis target application may be determined as a forged / modulated application (S216).
  • the verification unit 106 for example, the developer certificate information or the hash information for the application APK files or feature information for each class constituting the application is set as the verification signature is stored in the verification signature DB
  • the corresponding verification signature stored in the verification signature DB is compared with each other, and if any one does not match, the corresponding diagnosis target application can be determined to be forged / modulated. .
  • the forgery / modulation determination result of the application verified by the verification unit 106 is provided to the blocking unit 110.
  • the blocking unit 110 blocks the execution or access of the corresponding application or deletes the corresponding application for the application determined to be forged / modulated by the verification unit 106 (S218).
  • the blocking unit 110 is an application installed on the portable terminal to operate in conjunction with the server on the communication network, the server to notify the forgery / forgery of the application to operate to block the execution of the application on the server Can be.
  • the blocking unit 110 may operate to terminate the process of the application and then delete it.
  • the application in detecting application forgery / falsification, the application recognizes what application the application is using by using pre-stored recognition signature information for each application to be diagnosed, and again the application-specific perception By determining whether the application is forged or forged using the verification signature information set for diagnosing / modulated, it is possible to accurately detect the forged / modulated application. In addition, by blocking or deleting the forged / modified application according to the policy, it is possible to reduce the damage caused by the forged / forged application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to an apparatus and method for detecting fraudulent/altered applications, which can accurately detect fraudulent/altered applications by recognizing the application being diagnosed using signature information for each pre-stored application, and determining whether the recognized application is fraudulent/altered using verification signature information set for diagnosing whether the recognized application is fraudulent/altered. In addition, damage due to the fraudulent/altered applications can be reduced by blocking or deleting the fraudulent/altered applications according to a policy.

Description

애플리케이션 위/변조 탐지장치 및 방법Application forgery and forgery detection device and method
본 발명은 애플리케이션의 위/변조 여부 탐지에 관한 것으로, 특히 애플리케이션 위/변조 탐지에 있어서, 진단대상 애플리케이션(application)에 대해 미리 저장된 애플리케이션별 인지 시그니처(signature) 정보를 이용하여 해당 애플리케이션이 어떠한 애플리케이션인지를 인지하고, 인지된 애플리케이션에 대해서는 다시 애플리케이션별 위/변조 여부의 진단을 위해 설정된 검증 시그니처 정보를 이용하여 애플리케이션의 위/변조 여부를 판단한 후, 위/변조된 애플리케이션에 대해서는 정책에 따라 차단시키거나 삭제시킴으로써, 위/변조된 애플리케이션으로 인한 피해를 줄일 수 있도록 하는 애플리케이션 위/변조 탐지장치 및 방법에 관한 것이다.The present invention relates to detecting forgery / falsification of an application, and in particular, in detecting application forgery / falsification, what kind of application is a corresponding application using application-specific recognition signature information stored in advance for the application to be diagnosed. Recognize the application and determine whether the application is forged or forged using the verification signature information set to diagnose forgery or forgery for each application, and then block the forged or forged application according to the policy. The present invention relates to an application forgery / falsification detection apparatus and method that can reduce the damage caused by the forgery / modulated application.
근래에 들어, 유무선 인터넷뿐만 아니라 이동통신 기술의 발달로, 단순히 전화통화 기능뿐만이 아닌 무선 인터넷 기능 등 다양한 기능을 갖춘 휴대폰이 보급되고 있다. 특히 최근에 보급이 확산되고 있는 스마트폰은 멀티미디어 재생기능 등의 다양한 기능의 응용프로그램의 설치가 가능하여, 사용자들이 여러 용도로 스마트폰을 이용하고 있다.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, smart phones, which are recently spreading, can install various functions such as multimedia playback functions, and users are using smart phones 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), and is implemented by integrating data communication functions such as schedule management, 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. .
이러한 스마트폰과, 테블릿 PC 등의 휴대용 단말기는 예를 들어 IOS, 안드로이드 등 저마다의 운영체제가 존재하며, 해당 운영체제에 의해 실행 가능한 애플리케이션의 개발이 활발히 이루어지고 있다.Such smart phones and portable terminals such as tablet PCs have their own operating systems such as IOS and Android, for example, and development of applications executable by the corresponding operating systems is being actively performed.
한편, 위와 같은 애플리케이션들 중 예를 들어 안드로이드 환경에서의 애플리케이션은 대부분 JAVA 코드로 구현되어, 리버스 엔지니어링(reverse engineering)에 매우 취약하다. On the other hand, most of the above applications, for example, the application in the Android environment is implemented in JAVA code, which is very vulnerable to reverse engineering.
따라서, 제3자에 의한 애플리케이션의 위/변조가 상대적으로 용이하게 이루어질 수 있다. 즉, 임의의 안드로이드 애플리케이션이 마켓 등 애플리케이션을 공급하는 서버상에 업로드되어 유통이 되면 해당 애플리케이션을 다운로드한 사람이 애플리케이션의 설치파일인 APK(application package) 파일을 압축해제하고 안드로이드 실행파일인 DEX파일을 디컴파일하여 소스 코드를 취득한 후 이를 이용하여 애플리케이션을 쉽게 위/변조할 수 있다.Thus, forgery / modulation of the application by a third party can be made relatively easy. In other words, if any Android application is uploaded and distributed on the server that supplies the application, such as the market, the person who downloaded the application decompresses the APK (application package) file, which is the application's installation file, and downloads the DEX file, the Android executable file. After you decompile and get the source code, you can easily forge / modify the application.
이와 같이, 애플리케이션이 위/변조되는 경우 해당 애플리케이션이 금융 애플리케이션 등과 같이 개인 정보의 유출이 발생할 수 있는 애플리케이션의 경우에는 금융 사고나 범죄로 악용될 수 있어 심각한 문제를 발생시킬 수 있는 문제점이 있다.As such, when an application is forged / falsified, an application that may leak personal information such as a financial application may be used as a financial accident or a crime, and thus may cause a serious problem.
따라서, 휴대용 단말기에 설치되거나, 애플리케이션을 제공하는 서버상에 업로드되는 다수의 애플리케이션에 대해 위/변조되었는지를 탐지하고, 사전에 차단시키는 것이 필요하나, 안드로이드 OS 환경에서는 애플리케이션이 위/변조되는 경우 위/변조된 애플리케이션을 정확히 탐지하기 어려우며, 현재까지는 애플리케이션의 위/변조를 탐지하기 위한 연구도 활발하지 않은 상태이다.Therefore, it is necessary to detect whether a forgery / forgery is applied to a plurality of applications installed on a portable terminal or uploaded on a server providing an application, and block the application in advance. It is difficult to accurately detect / modulated applications, and up to now, little research has been conducted to detect forgery / modulation of applications.
따라서, 본 발명은 애플리케이션 위/변조 탐지에 있어서, 진단대상 애플리케이션에 대해 미리 저장된 애플리케이션별 인지 시그니처 정보를 이용하여 해당 애플리케이션이 어떠한 애플리케이션인지를 인지하고, 인지된 애플리케이션에 대해서는 다시 애플리케이션별 위/변조 여부의 진단을 위해 설정된 검증 시그니처 정보를 이용하여 애플리케이션의 위/변조 여부를 판단한 후, 위/변조된 애플리케이션에 대해서는 정책에 따라 차단시키거나 삭제시킴으로써, 위/변조된 애플리케이션으로 인한 피해를 줄일 수 있도록 하는 애플리케이션 위/변조 탐지장치 및 방법을 제공하고자 한다.Accordingly, in the present invention, in the detection of application forgery / falsification, whether the application is recognized by using application-specific recognition signature information stored in advance for the diagnosis target application, and whether the application is forged / falsified again per application After determining whether the application is forged or forged using the verification signature information set for the diagnosis, and blocking or deleting the forged or forged application according to the policy, it is possible to reduce the damage caused by the forged or forged application. An object of the present invention is to provide an apparatus and method for detecting forgery and alteration.
상술한 본 발명은 애플리케이션 위/변조 탐지장치로서, 진단대상 애플리케이션으로부터 애플리케이션의 확인을 위한 인지 시그니처를 추출하고, 기 저장된 정상 애플리케이션의 인지 시그니처와 비교하여 상기 진단대상 애플리케이션을 인지하는 인지부와, 상기 진단대상 애플리케이션이 인지된 경우, 상기 진단대상 애플리케이션으로부터 애플리케이션 위/변조 여부의 검증을 위한 검증 시그니처를 추출하고, 기 저장된 정상 애플리케이션의 검증 시그니처와 비교하여 상기 진단대상 애플리케이션의 위/변조 여부를 판단하는 검증부와, 상기 검증부를 통해 상기 진단대상 애플리케이션이 위/변조된 것으로 판단된 경우 해당 애플리케이션을 차단시키는 차단부를 포함한다.The present invention described above is an application forgery / falsification detection device, comprising: a recognition unit for extracting a recognition signature for identifying an application from a diagnosis target application, and recognizing the diagnosis target application by comparing with a previously stored recognition signature of the normal application; When a diagnosis target application is recognized, a verification signature for verifying whether the application is forged or forged is extracted from the diagnosis target application, and compared with a verification signature of a previously stored normal application to determine whether the diagnosis target application is forged or forged. And a verification unit and a blocking unit to block the corresponding application when it is determined that the diagnosis target application is forged / modulated through the verification unit.
또한, 상기 인지부는, 상기 정상 애플리케이션에 대한 다수의 인지 시그니처와 상기 추출된 인지 시그니처를 비교하고, 서로 일치하는 인지 시그니처가 존재하는 경우 상기 진단대상 애플리케이션을 상기 일치하는 인지 시그니처에 해당하는 애플리케이션으로 인지하는 것을 특징으로 한다.The recognition unit may compare a plurality of cognitive signatures for the normal application and the extracted cognitive signatures, and if there is a matching cognitive signature, recognize the application to be diagnosed as an application corresponding to the matching cognitive signature. Characterized in that.
또한, 상기 검증부는, 상기 정상 애플리케이션에 대한 다수의 검증 시그니처와 상기 추출된 검증 시그니처를 각각 비교하여 일치하지 않는 검증 시그니처가 존재하는 경우 상기 애플리케이션을 위/변조된 애플리케이션으로 판단하는 것을 특징으로 한다.The verification unit may compare the plurality of verification signatures with respect to the normal application and the extracted verification signatures, respectively, and determine that the application is a forged / modulated application when there is a verification signature that does not match.
또한, 상기 차단부는, 상기 애플리케이션이 휴대용 단말기상에 설치되어 통신망상 서버와 연동하여 동작하는 애플리케이션인 경우, 상기 서버로 상기 애플리케이션의 위/변조를 통보하는 것을 특징으로 한다.The blocking unit may be configured to notify the server of forgery / modulation of the application when the application is installed on a portable terminal and operates in association with a server on a communication network.
또한, 상기 차단부는, 상기 애플리케이션이 임의의 사용자에 의해 애플리케이션 제공 서버상에 등록된 애플리케이션인 경우, 상기 서버에서 상기 애플리케이션을 삭제시키는 것을 특징으로 한다.The blocking unit may be configured to delete the application from the server when the application is an application registered on an application providing server by an arbitrary user.
또한, 상기 인지 시그니처는, 상기 애플리케이션이 원래 제작자에 의해 업데이트, 수정 또는 변경되는 경우에도 변경되지 않는 데이터로 설정되는 것을 특징으로 한다.The recognition signature may be set to data that does not change even when the application is updated, modified, or changed by the original producer.
또한, 상기 인지 시그니처는, 상기 애플리케이션의 패키지명, 아이콘 또는 실행코드상 특정 값을 포함하는 것을 특징으로 한다.The recognition signature may include a specific value on a package name, an icon, or an execution code of the application.
또한, 상기 검증 시그니처는, 상기 애플리케이션이 원래 제작자에 의해 업데이트, 수정 또는 변경되는 경우에도 값이 변경되지 않는 데이터로 설정되는 것을 특징으로 한다.The verification signature may be set to data whose value does not change even when the application is updated, modified or changed by the original manufacturer.
또한, 상기 검증 시그니처는, 상기 애플리케이션이 상기 원래 제작자가 아닌 다른 경로에 의해 수정 또는 변경되는 경우 값이 변경되는 데이터로 설정되는 것을 특징으로 한다.The verification signature may be set to data whose value is changed when the application is modified or changed by a path other than the original producer.
또한, 상기 검증 시그니처는, 상기 애플리케이션의 인증서 정보를 포함하는 것을 특징으로 한다.In addition, the verification signature is characterized in that it includes certificate information of the application.
또한, 상기 검증 시그니처는, 상기 애플리케이션의 APK파일내 포함된 파일들에 대한 해쉬정보 또는 경로 정보를 포함하는 것을 특징으로 한다.The verification signature may include hash information or path information of files included in the APK file of the application.
또한, 상기 검증 시그니처는, 상기 애플리케이션의 APK파일내 MANIFEST.MF파일에 기록된 APK 구성 파일들에 대한 해쉬정보 또는 권한정보를 포함하는 것을 특징으로 한다.In addition, the verification signature is characterized in that it comprises hash information or authority information for the APK configuration files recorded in the MANIFEST.MF file in the APK file of the application.
또한, 상기 검증 시그니처는, 상기 애플리케이션의 APK파일내 classes.dex 파일정보 중 상기 애플리케이션에서 사용하는 API 또는 외부 라이브러리들에 대한 정보, 상기 애플리케이션을 구성하는 각 클래스들에 대한 특징 정보 또는 상기 각 클래스를 구성하는 각 함수들에 대한 코드상의 특징 정보를 포함하는 것을 특징으로 한다.The verification signature may include information about APIs or external libraries used in the application among classes.dex file information in the APK file of the application, feature information about each class constituting the application, or the respective classes. It is characterized by including the feature information in the code for each function constituting.
또한, 상기 검증 시그니처는, 상기 애플리케이션에서 사용되는 리소스들에 대한 특징 정보를 포함하는 것을 특징으로 한다.In addition, the verification signature, characterized in that it includes the characteristic information about the resources used in the application.
또한, 본 발명은 애플리케이션 위/변조 탐지방법으로서, 진단대상 애플리케이션으로부터 애플리케이션의 확인을 위한 인지 시그니처를 추출하는 단계와, 상기 추출된 인지 시그니처와 기 저장된 정상 애플리케이션의 인지 시그니처를 비교하여 상기 진단대상 애플리케이션을 인지하는 단계와, 상기 진단대상 애플리케이션으로부터 애플리케이션의 위/변조 여부 검증을 위한 검증 시그니처를 추출하는 단계와, 상기 추출된 검증 시그니처와 기 저장된 정상 애플리케이션의 검증 시그니처를 비교하여 상기 진단대상 애플리케이션의 위/변조 여부를 판단하는 단계와, 상기 진단대상 애플리케이션이 위/변조된 애플리케이션으로 판단되는 경우 해당 애플리케이션을 차단하는 단계를 포함한다.In addition, the present invention is an application forgery / forgery detection method, the step of extracting the recognition signature for identifying the application from the application to be diagnosed, and comparing the extracted recognition signature and the recognition signature of the normal application stored in the diagnosis target application Recognizing a step, extracting a verification signature for verifying the forgery / forgery of the application from the diagnostic target application, and comparing the extracted verification signature and the verification signature of the normal application stored in advance Determining whether or not the modulation, and if the diagnostic target application is determined to be a forged / forged application, blocking the application.
또한, 상기 인지하는 단계는, 상기 정상 애플리케이션에 대한 다수의 인지 시그니처와 상기 추출된 인지 시그니처를 비교하는 단계와, 상기 비교결과 서로 일치하는 인지 시그니처가 존재하는 경우 상기 진단대상 애플리케이션을 상기 일치하는 인지 시그니처에 해당하는 애플리케이션으로 인지하는 단계를 포함하는 것을 특징으로 한다.The recognizing may include comparing a plurality of cognitive signatures for the normal application and the extracted cognitive signatures, and if the cognitive signatures coincide with each other as a result of the comparison, the corresponding diagnosis target application may be recognized. Recognizing the application corresponding to the signature is characterized in that it comprises a.
또한, 상기 판단하는 단계는, 상기 정상 애플리케이션에 대한 다수의 검증 시그니처와 상기 추출된 검증 시그니처를 각각 비교하는 단계와, 상기 비교결과, 일치하지 않는 검증 시그니처가 존재하는 경우 상기 진단대상 애플리케이션을 위/변조된 애플리케이션으로 판단하는 단계를 포함하는 것을 특징으로 한다.The determining may include comparing a plurality of verification signatures for the normal application and the extracted verification signatures, and comparing the diagnosis target application with the verification result when there is a mismatching verification signature. And determining that it is a modulated application.
또한, 상기 차단하는 단계는, 상기 애플리케이션이 휴대용 단말기상에 설치되어 통신망상 서버와 연동하여 동작하는 애플리케이션인 경우, 상기 서버로 상기 애플리케이션의 위/변조를 통보하는 것을 특징으로 한다.The blocking may include notifying forgery / modulation of the application to the server when the application is an application installed on a portable terminal and operating in conjunction with a server on a communication network.
또한, 상기 차단하는 단계는, 상기 애플리케이션이 임의의 사용자에 의해 애플리케이션 제공 서버상에 등록된 애플리케이션인 경우, 상기 서버에서 상기 애플리케이션을 삭제시키는 것을 특징으로 한다.The blocking may include deleting the application from the server when the application is an application registered on an application providing server by an arbitrary user.
또한, 상기 인지 시그니처는, 상기 애플리케이션이 원래 제작자에 의해 업데이트, 수정 또는 변경되는 경우에도 변경되지 않는 데이터로 설정되는 것을 특징으로 한다.The recognition signature may be set to data that does not change even when the application is updated, modified, or changed by the original producer.
또한, 상기 인지 시그니처는, 상기 애플리케이션의 패키지명, 아이콘 또는 실행코드상 특정 값을 포함하는 것을 특징으로 한다.The recognition signature may include a specific value on a package name, an icon, or an execution code of the application.
또한, 상기 검증 시그니처는, 상기 애플리케이션이 원래 제작자에 의해 업데이트, 수정 또는 변경되는 경우에도 값이 변경되지 않는 데이터로 설정되는 것을 특징으로 한다.The verification signature may be set to data whose value does not change even when the application is updated, modified or changed by the original manufacturer.
또한, 상기 검증 시그니처는, 상기 애플리케이션이 상기 원래 제작자가 아닌 다른 경로에 의해 수정 또는 변경되는 경우 값이 변경되는 데이터로 설정되는 것을 특징으로 한다.The verification signature may be set to data whose value is changed when the application is modified or changed by a path other than the original producer.
또한, 상기 검증 시그니처는, 상기 애플리케이션의 인증서 정보를 포함하는 것을 특징으로 한다.In addition, the verification signature is characterized in that it includes certificate information of the application.
또한, 상기 검증 시그니처는, 상기 애플리케이션의 APK파일내 포함된 파일들에 대한 해쉬정보 또는 경로 정보를 포함하는 것을 특징으로 한다.The verification signature may include hash information or path information of files included in the APK file of the application.
본 발명은 애플리케이션 위/변조 탐지에 있어서, 진단대상 애플리케이션에 대해 미리 저장된 애플리케이션별 인지 시그니처 정보를 이용하여 해당 애플리케이션이 어떠한 애플리케이션인지를 인지하고, 인지된 애플리케이션에 대해서는 다시 애플리케이션별 위/변조 여부의 진단을 위해 설정된 검증 시그니처 정보를 이용하여 애플리케이션의 위/변조 여부를 판단함으로써, 위/변조된 애플리케이션을 정확히 탐지할 수 있는 이점이 있다. 또한, 위/변조된 애플리케이션에 대해서는 정책에 따라 차단시키거나 삭제시킴으로써, 위/변조된 애플리케이션으로 인한 피해를 줄일 수 있는 이점이 있다.The present invention, in the detection of forgery and forgery of the application, using the application-specific recognition signature information stored in advance for the target application to recognize what application is the application, and for the recognized application to diagnose whether the forgery / forgery by application again By determining whether the application is forged / modulated by using the verification signature information set for the purpose, there is an advantage of accurately detecting the forged / modulated application. In addition, by blocking or deleting the forged / tampered application according to the policy, there is an advantage that can be reduced by the forgery / tampered application.
도 1은 본 발명의 실시예에 따른 애플리케이션 위/변조 탐지장치의 상세 블록 구성도,1 is a detailed block diagram of an application forgery / falsification detection apparatus according to an embodiment of the present invention;
도 2는 본 발명의 실시예에 따른 애플리케이션 위/변조 탐지를 위한 동작 제어 흐름도.2 is an operation control flowchart for detecting application forgery / modulation 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)의 상세 블록 구성을 도시한 것으로, 인지부(102), 검증부(106), 차단부(110), 인지 시그니처(signature) DB(data base)(104), 검증 시그니처 DB(108) 등을 포함할 수 있다. 이러한 애플리케이션 위/변조 탐지장치(100)는 휴대용 단말기에 설치되어 휴대용 단말기에 설치된 애플리케이션에 대한 위/변조 여부를 탐지할 수 있으며, 또는 다수의 애플리케이션이 등록되는 애플리케이션 제공 서버 등에 설치되어 다수의 제작자에 의해 등록되는 애플리케이션에 대해 위/변조 여부를 탐지할 수도 있다. 또한, 이러한 휴대용 단말기는 스마트폰과 태블릿 PC 등의 단말기를 포함할 수 있다. 1 illustrates a detailed block configuration of an application forgery / falsification detection apparatus 100 according to an embodiment of the present invention. The recognition unit 102, the verification unit 106, the blocking unit 110, and a signature signature ) DB (data base) 104, verification signature DB 108, and the like. The application forgery / false detection apparatus 100 may be installed in the portable terminal to detect whether the forgery or forgery for the application installed in the portable terminal, or installed in an application providing server where a plurality of applications are registered to a plurality of producers. It is also possible to detect whether the forgery / forgery for the application registered by. In addition, 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 application forgery / modulation detecting apparatus 100 of the present invention will be described in detail with reference to FIG. 1.
먼저, 인지부(102)는 진단대상 애플리케이션으로부터 애플리케이션의 확인을 위한 인지 시그니처를 추출하고, 인지 시그니처 DB(104)내 미리 저장된 애플리케이션별 인지 시그니처와 비교하여 애플리케이션을 인지할 수 있다.First, the recognition unit 102 may extract the recognition signature for identifying the application from the diagnosis target application, and recognize the application by comparing the recognition signature for each application previously stored in the recognition signature DB 104.
즉, 인지부(102)는 예를 들어, 진단대상 애플리케이션으로부터 추출된 인지 시그니처와 인지 시그니처 DB(104)내 미리 저장된 애플리케이션별 정상 애플리케이션의 인지 시그니처를 비교하여 서로 일치하는 인지 시그니처가 존재하는 경우에 진단대상 애플리케이션을 인지 시그니처가 서로 일치하는 해당 애플리케이션으로 인지할 수 있다.That is, the recognition unit 102 compares the recognition signatures extracted from the diagnosis target application with the recognition signatures of the normal applications for each application previously stored in the recognition signature DB 104, and when there exists a matching signature. The application to be diagnosed may be recognized as a corresponding application whose recognition signatures match each other.
인지 시그니처 DB(104)는 휴대용 단말기에 설치되도록 제작되는 다수의 애플리케이션에 대해 애플리케이션별 해당 애플리케이션을 확인할 수 있는 근거가 되는 인지 시그니처를 저장한다. The recognition signature DB 104 stores a recognition signature on which a corresponding application for each application is identified for a plurality of applications that are manufactured to be installed in the portable terminal.
이와 같은 인지 시그니처는 위/변조가 되지 않은 정상 애플리케이션으로부터 미리 추출될 수 있으며, 이때의 인지 시그니처는 애플리케이션이 원래 제작자에 의해 업데이트(update)되거나, 수정 또는 변경되는 경우에도 변경되지 않아 동일한 애플리케이션으로 판단할 수 있는 데이터로 설정될 수 있다. Such a recognition signature may be extracted in advance from a normal application which is not forged / modulated, and the recognition signature at this time is not changed even when the application is updated, modified or changed by the original creator, and thus is determined as the same application. Can be set to data that can be.
이와 같은, 인지 시그니처는 예를 들어 애플리케이션의 패키지명(package name), 아이콘(icon) 또는 실행코드상 특정 값으로 설정될 수 있다. 여기서, 애플리케이션의 패키지명은 애플리케이션의 일반적인 이름으로 예를 들어 "앵그리 버드", "카카오톡" 등과 같은 사용자가 해당 애플리케이션을 사전에 인지하고 있는 이름을 말하는 것으로, 이와 같은 정보가 변경되는 경우 사용자가 해당 애플리케이션을 설치하지 않을 가능성이 높으므로, 애플리케이션의 위/변조시에 위/변조 될 가능성이 낮아 인지 시그니처로 사용될 수 있다.Such a recognition signature may be set to, for example, a specific value on a package name, an icon, or executable code of an application. Here, the package name of the application is a general name of the application, for example, "Angry Bird", "KakaoTalk", and the name that the user knows the application in advance. If such information is changed, the user Since the application is not likely to be installed, it is unlikely to be forged or altered when the application is forged / modulated, so it can be used as a cognitive signature.
또한, 애플리케이션의 아이콘은 해당 애플리케이션을 간략한 그림으로 인지할 수 있도록 하는 정보로, 앵그리버드의 경우 새모양의 그림, 카카오톡의 경우 말풍선 그림 등으로 표시될 수 있는데, 이와 같은 정보 역시 변경되는 경우 사용자가 해당 애플리케이션을 설치하지 않을 가능성이 높으므로, 애플리케이션의 위/변조시에 위/변조 될 가능성이 낮아 인지 시그니처로 사용될 수 있다. 이외에도 애플리케이션의 위/변조시 위/변조될 가능성이 낮은 실행코드상 특정 값들이 인지 시그니처로 설정될 수 있다.In addition, the icon of the application is information that can recognize the application as a brief picture, it can be displayed as a bird-shaped picture in the case of Angry Birds, a speech bubble picture in the case of KakaoTalk. Is unlikely to install the application, so it is less likely to be forged or tampered with when the application is tampered with, and thus can be used as a cognitive signature. In addition, certain values in executable code that are less likely to be forged / falsified in the application may be set as recognition signatures.
검증부(106)는 인지부(102)로부터 인지된 애플리케이션으로부터 애플리케이션의 위/변조 여부의 검증을 위한 검증 시그니처를 추출하고, 검증 시그니처 DB(108)에 미리 저장된 애플리케이션별 검증 시그니처와 비교하여 진단대상 애플리케이션의 위/변조 여부를 판단한다.The verification unit 106 extracts a verification signature for verifying whether the application is forged / modulated from the application recognized by the recognition unit 102, and compares the verification signature with the application-specific verification signature previously stored in the verification signature DB 108. Determine whether the application is forged or forged.
예를 들어, 진단대상 애플리케이션으로부터 추출된 검증 시그니처와 검증 시그니처 DB(108)내 해당 애플리케이션에 대해 미리 저장된 검증 시그니처를 각각 서로 비교하여 일치하지 않는 검증 시그니처가 존재하는 경우 진단대상 애플리케이션을 위/변조된 애플리케이션으로 판단할 수 있다.For example, if the verification signature extracted from the application to be diagnosed and the verification signature pre-stored for the corresponding application in the verification signature DB 108 are compared with each other, and there is a verification signature that does not match, the diagnosis target application is forged / modulated. Can be determined by the application.
즉, 검증부(106)는, 예를 들어 개발자 인증서 정보 또는 애플리케이션 APK 파일들에 대한 해쉬정보 또는 애플리케이션을 구성하는 각 클래스(class)들에 대한 특징 정보 등이 검증 시그니처로 설정되어 검증 시그니처 DB(108)에 저장되어 있는 경우, 진단대상 애플리케이션으로부터 대응되는 검증 시그니처를 추출한 후, 검증 시그니처 DB(108)에 저장된 대응되는 검증 시그니처와 각각 비교하고, 하나라도 일치하지 않는 경우에는 해당 진단대상 애플리케이션이 위/변조 된 것으로 판단할 수 있다.That is, the verification unit 106, for example, the developer certificate information, the hash information for the application APK files, or the feature information for each class constituting the application is set as the verification signature to verify the verification signature DB ( 108, the corresponding verification signature is extracted from the application to be diagnosed, and then compared with the corresponding verification signature stored in the verification signature DB 108, and if any one does not match, the corresponding application is diagnosed. It can be judged as being modified.
검증 시그니처 DB(108)는 휴대용 단말기에 설치되도록 제작되는 다수의 애플리케이션에 대해 애플리케이션별 해당 애플리케이션의 위/변조 여부를 판단할 수 있는 근거가 되는 검증 시그니처를 저장한다. 이와 같은 검증 시그니처는 위/변조가 되지 않은 정상 애플리케이션으로부터 미리 추출될 수 있다.The verification signature DB 108 stores verification signatures on which a plurality of applications designed to be installed in the portable terminal can determine whether the corresponding application is forged or forged. Such verification signatures can be extracted in advance from normal applications that are not forged / modulated.
이때, 검증 시그니처는 애플리케이션이 원래 제작자에 의해 업데이트, 수정 또는 변경되는 경우에도 변경되지 않아 동일한 애플리케이션으로 판단할 수 있는 정보로 설정될 수 있으며, 또한, 애플리케이션이 원래 제작자가 아닌 제3자 등과 같은 다른 경로에 의해 수정되는 경우 그 값이 변경되는 데이터로 설정될 수 있다. In this case, the verification signature may be set to information that does not change even when the application is updated, modified, or changed by the original creator, so that the application may be determined as the same application. When modified by the path, the value may be set to the data to be changed.
이와 같은 검증 시그니처는, 예를 들어 애플리케이션의 개발자 인증서 정보 또는 애플리케이션 실행코드상의 특징값 등으로 설정될 수 있다. 애플리케이션의 개발자 인증서 정보는 애플리케이션의 개발시 개발자에 의해 인증된 정보로써, 애플리케이션을 위/변조하고자 하는 제3자가 동일한 인증서 정보로 위/변조할 수 있는 가능성은 매우 낮아 검증 시그니처로 사용될 수 있다.Such a verification signature may be set to, for example, developer certificate information of an application or a feature value on application execution code. The developer certificate information of the application is information authenticated by the developer at the time of development of the application. A third party who wants to forge / modify the application may be used as a verification signature because the possibility of forgery / forgery with the same certificate information is very low.
이외에도, 애플리케이션의 위/변조시 그 값이 변경될 가능성이 높은 실행코드상 특징 값들이 검증 시그니처로 설정될 수 있다.In addition, feature values in the executable code that are likely to change when the application is forged / modulated may be set as verification signatures.
예를 들어, 애플리케이션의 APK에 포함된 파일들에 대한 해쉬정보 또는 경로 정보를 포함할 수 있으며, 또한, 애플리케이션의 APK파일내 MANIFEST.MF파일에 기록된 APK 구성 파일들에 대한 해쉬정보, 권한 정보, 애플리케이션 이름, 패키지명 등의 정보를 포함할 수 있다.For example, it may include hash information or path information of files included in the APK of the application, and also hash information and authority information of APK configuration files recorded in the MANIFEST.MF file in the APK file of the application. It may include information such as an application name and a package name.
또한, 애플리케이션의 APK 파일내 classes.dex 파일정보 중에서, 애플리케이션에서 사용하는 API 또는 외부 라이브러리(library)들에 대한 정보, 애플리케이션을 구성하는 각 클래스들에 대한 특징 정보, 각 클래스를 구성하는 각 함수들에 대한 코드 상의 특징 정보를 포함할 수 있으며, resources.arsc 파일 정보 중에서 애플리케이션에서 사용되는 리소스들(resource)에 대한 특징 정보를 포함할 수 있다.In addition, among the classes.dex file information in the APK file of the application, information on the API or external libraries used in the application, feature information on each class constituting the application, and functions of each class It may include feature information on a code for and may include feature information about resources used in an application among resources.arsc file information.
차단부(110)는 검증부(106)를 통해 위/변조된 것으로 판단된 애플리케이션에 대해 해당 애플리케이션의 실행 또는 접근을 차단시키거나, 해당 애플리케이션을 삭제할 수 있다.The blocking unit 110 may block execution or access of the corresponding application or delete the corresponding application to the application determined to be forged / modulated by the verification unit 106.
즉, 차단부(110)는 해당 애플리케이션이 휴대용 단말기상에 설치되어 통신망상 서버와 연동하여 동작하는 애플리케이션인 경우, 해당 서버로 애플리케이션의 위/변조를 통보하여 서버에서 애플리케이션의 실행이 차단되도록 동작할 수 있으며, 또한, 해당 애플리케이션이 휴대용 단말기에서 시스템 애플리케이션 형태로 동작하는 애플리케이션인 경우 애플리케이션의 프로세스(process)를 종료시킨 후, 해당 애플리케이션을 삭제시키도록 동작할 수 있다.That is, when the application is installed on the portable terminal and operates in conjunction with a server on the communication network, the blocking unit 110 notifies the server of the forgery / modulation of the application and operates to block the execution of the application on the server. In addition, when the application is an application that operates in the form of a system application in the portable terminal, the application may terminate the process and then operate to delete the application.
도 2는 본 발명의 실시예에 따른 애플리케이션 위/변조 탐지를 위한 동작 제어 흐름을 도시한 것이다. 이하, 도 1 및 도 2를 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.2 illustrates an operation control flow for application forgery / modulation detection according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1 and 2.
먼저, 애플리케이션 위/변조 탐지 요청이 있는 경우, 애플리케이션 위/변조 탐지장치(100)의 인지부(102)는 진단대상이 되는 애플리케이션을 검색한다(S200). First, when there is an application forgery / falsification detection request, the recognition unit 102 of the application forgery / falsification detection apparatus 100 searches for an application to be diagnosed (S200).
이때, 애플리케이션 위/변조 탐지장치(100)는 애플리케이션을 사용하는 사용자의 휴대용 단말기에 설치될 수도 있으며, 다수의 제작자로부터 제작된 애플리케이션을 등록하여 일반 사용자들에게 다운로드 제공하는 애플리케이션 마켓 등과 같은 애플리케이션 제공 서버에 설치될 수도 있다.At this time, the application forgery / tamper detection device 100 may be installed in the portable terminal of the user using the application, the application providing server, such as an application market to download and provide to the general user to register the applications produced by a number of producers It can also be installed in.
즉, 애플리케이션 위/변조 탐지장치(100)가 애플리케이션을 사용하는 사용자의 휴대용 단말기에 설치된 경우, 인지부(102)는 휴대용 단말기내 설치된 애플리케이션을 검색하여 애플리케이션 위/변조 탐지의 대상이 되는 진단대상 애플리케이션을 검색할 수 있다.That is, when the application forgery / forgery detection device 100 is installed in the portable terminal of the user using the application, the recognition unit 102 searches for an application installed in the portable terminal to diagnose the application that is the target of the application forgery / forgery detection You can search for
또는, 애플리케이션 위/변조 탐지장치(100)가 다수의 제작자로부터 제작된 애플리케이션을 등록하여 일반 사용자들에게 다운로드(download) 제공하는 애플리케이션 마켓 등과 같은 애플리케이션 제공 서버에 설치된 경우, 인지부(102)는 서버상 등록된 애플리케이션을 검색하여 애플리케이션 위/변조 탐지의 대상이 되는 진단대상 애플리케이션을 검색할 수 있다.Or, if the application forgery / forgery detection device 100 is installed in an application providing server, such as an application market that registers the application produced by a number of producers to download and provide to the general user, the recognition unit 102 is a server The registered application may be searched for a diagnosis target application that is a target of application forgery / falsification detection.
위와 같이, 진단대상 애플리케이션을 검색한 경우, 인지부(102)는 진단대상 애플리케이션으로부터 애플리케이션의 확인을 위한 인지 시그니처를 추출하고(S202), 인지 시그니처 DB(104)내 미리 저장된 애플리케이션별 인지 시그니처와 비교하여 애플리케이션을 인지한다.As described above, when the diagnosis target application is searched for, the recognition unit 102 extracts the recognition signature for identifying the application from the diagnosis target application (S202), and compares the recognition signature for each application stored in the recognition signature DB 104 in advance. To recognize the application.
즉, 인지부(102)는 예를 들어, 진단대상 애플리케이션으로부터 추출된 인지 시그니처와 인지 시그니처 DB(104)내 미리 저장된 애플리케이션별 인지 시그니처를 비교한 후(S204), 서로 일치하는 인지 시그니처가 존재하는지를 검사한다(S206). That is, the recognition unit 102 compares, for example, the recognition signature extracted from the diagnosis target application and the recognition signatures for each application prestored in the recognition signature DB 104 (S204), and whether there is a matching recognition signature exists. Inspect (S206).
이때, 서로 일치하는 인지 시그니처가 존재하지 않는 경우 인지부(102)는 해당 애플리케이션을 미확인 애플리케이션으로 분류할 수 있으며, 이와 같은 미확인 애플리케이션에 대해서는 검증을 수행하지 않을 수 있다(S208).In this case, when there is no coincidence signature corresponding to each other, the recognition unit 102 may classify the corresponding application as an unconfirmed application, and may not perform verification on the unconfirmed application (S208).
이와 달리, 서로 일치하는 인지 시그니처가 존재하는 경우 인지부(102)는 진단대상 애플리케이션을 인지 시그니처가 서로 일치한 해당 애플리케이션으로 인지할 수 있다.On the contrary, if there is a coincidence signature that matches each other, the recognizer 102 may recognize the application to be diagnosed as a corresponding application that matches the coincidence signature.
위와 같이, 인지부(102)를 통해 진단대상 애플리케이션이 어떤 애플리케이션인지 인지되는 경우, 인지된 애플리케이션의 정보는 검증부(106)로 인가된다.As described above, when the application to be diagnosed is recognized by the recognition unit 102, the recognized application information is applied to the verification unit 106.
이에 따라, 검증부(106)는 인지된 애플리케이션에 대해 위/변조 여부에 대한 검증을 수행하게 된다.Accordingly, the verification unit 106 verifies whether the forgery / forgery for the recognized application.
즉, 검증부(106)는 인지부(102)로부터 인지된 애플리케이션으로부터 애플리케이션의 위/변조 여부의 검증을 위한 검증 시그니처를 추출하고(S210), 검증 시그니처 DB(108)에 미리 저장된 애플리케이션별 검증 시그니처 중 인지된 애플리케이션에 대응하는 검증 시그니처를 로드하여 검증 시그니처간 비교 과정을 수행한다(S212).That is, the verification unit 106 extracts a verification signature for verifying whether the application is forged / modulated from the application recognized by the recognition unit 102 (S210), and the application-specific verification signature stored in the verification signature DB 108 in advance. The verification signature corresponding to the recognized application is loaded to perform a comparison process between the verification signatures (S212).
이어, 검증부(106)는, 예를 들어 진단대상 애플리케이션으로부터 추출된 검증 시그니처와 검증 시그니처 DB(108)내 해당 애플리케이션에 대해 미리 저장된 검증 시그니처를 각각 서로 비교한 결과, 일치하지 않는 검증 시그니처가 존재하는 경우(S214) 진단대상 애플리케이션을 위/변조된 애플리케이션으로 판단할 수 있다(S216).Subsequently, the verification unit 106 compares the verification signature extracted from the application to be diagnosed with the verification signature previously stored for the corresponding application in the verification signature DB 108, respectively, and thus, there is a verification signature that does not match. In operation S214, the diagnosis target application may be determined as a forged / modulated application (S216).
즉, 검증부(106)는, 예를 들어 개발자 인증서 정보 또는 애플리케이션 APK 파일들에 대한 해쉬정보 또는 애플리케이션을 구성하는 각 클래스들에 대한 특징 정보 등이 검증 시그니처로 설정되어 검증 시그니처 DB에 저장되어 있는 경우, 진단대상 애플리케이션으로부터 대응되는 검증 시그니처를 추출한 후, 검증 시그니처 DB에 저장된 대응되는 검증 시그니처와 각각 비교하고, 하나라도 일치하지 않는 경우에는 해당 진단대상 애플리케이션이 위/변조 된 것으로 판단할 수 있는 것이다.That is, the verification unit 106, for example, the developer certificate information or the hash information for the application APK files or feature information for each class constituting the application is set as the verification signature is stored in the verification signature DB In this case, after extracting the corresponding verification signature from the diagnosis target application, the corresponding verification signature stored in the verification signature DB is compared with each other, and if any one does not match, the corresponding diagnosis target application can be determined to be forged / modulated. .
이어, 위와 같이 검증부(106)에서 검증된 애플리케이션의 위/변조 여부 판단결과는 차단부(110)로 제공된다.Subsequently, the forgery / modulation determination result of the application verified by the verification unit 106 is provided to the blocking unit 110.
그러면, 차단부(110)는 검증부(106)를 통해 위/변조된 것으로 판단된 애플리케이션에 대해서는 해당 애플리케이션의 실행 또는 접근을 차단시키거나, 해당 애플리케이션을 삭제시킨다(S218).Then, the blocking unit 110 blocks the execution or access of the corresponding application or deletes the corresponding application for the application determined to be forged / modulated by the verification unit 106 (S218).
이때, 차단부(110)는 해당 애플리케이션이 휴대용 단말기상에 설치되어 통신망상의 서버와 연동하여 동작하는 애플리케이션인 경우, 해당 서버로 애플리케이션의 위/변조를 통보하여 서버에서 애플리케이션의 실행이 차단되도록 동작할 수 있다.In this case, the blocking unit 110 is an application installed on the portable terminal to operate in conjunction with the server on the communication network, the server to notify the forgery / forgery of the application to operate to block the execution of the application on the server Can be.
또한, 차단부(110)는 해당 애플리케이션이 휴대용 단말기에서 시스템 앱 형태로 동작하는 애플리케이션인 경우 애플리케이션의 프로세스를 종료시킨 후, 삭제시키도록 동작할 수 있다.In addition, when the application is an application operating in the form of a system app in the portable terminal, the blocking unit 110 may operate to terminate the process of the application and then delete it.
상기한 바와 같이, 본 발명에서는 애플리케이션 위/변조 탐지에 있어서, 진단대상 애플리케이션에 대해 미리 저장된 애플리케이션별 인지 시그니처 정보를 이용하여 해당 애플리케이션이 어떠한 애플리케이션인지를 인지하고, 인지된 애플리케이션에 대해서는 다시 애플리케이션별 위/변조 여부의 진단을 위해 설정된 검증 시그니처 정보를 이용하여 애플리케이션의 위/변조 여부를 판단함으로써, 위/변조된 애플리케이션을 정확히 탐지할 수 있다. 또한, 위/변조된 애플리케이션에 대해서는 정책에 따라 차단시키거나 삭제시킴으로써, 위/변조된 애플리케이션으로 인한 피해를 줄일 수 있다.As described above, in the present invention, in detecting application forgery / falsification, the application recognizes what application the application is using by using pre-stored recognition signature information for each application to be diagnosed, and again the application-specific perception By determining whether the application is forged or forged using the verification signature information set for diagnosing / modulated, it is possible to accurately detect the forged / modulated application. In addition, by blocking or deleting the forged / modified application according to the policy, it is possible to reduce the damage caused by the forged / forged application.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.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 (23)

  1. 진단대상 애플리케이션으로부터 애플리케이션의 확인을 위한 인지 시그니처를 추출하고, 기 저장된 정상 애플리케이션의 인지 시그니처와 비교하여 상기 진단대상 애플리케이션을 인지하는 인지부와,A recognition unit for extracting a recognition signature for identifying an application from a diagnosis target application and recognizing the diagnosis target application by comparing with a previously stored recognition signature of a normal application;
    상기 진단대상 애플리케이션이 인지된 경우, 상기 진단대상 애플리케이션으로부터 애플리케이션 위/변조 여부의 검증을 위한 검증 시그니처를 추출하고, 기 저장된 정상 애플리케이션의 검증 시그니처와 비교하여 상기 진단대상 애플리케이션의 위/변조 여부를 판단하는 검증부와,When the diagnosis target application is recognized, a verification signature for verifying whether the application is forged or forged is extracted from the diagnosis target application, and it is determined whether the diagnosis target application is forged or forged by comparing with the stored verification signature of the normal application. Verification unit to do,
    상기 검증부를 통해 상기 진단대상 애플리케이션이 위/변조된 것으로 판단된 경우 해당 애플리케이션의 실행 또는 접근을 차단시키는 차단부Blocker for blocking the execution or access of the application when the diagnosis target application is determined to be forged / forged through the verification unit
    를 포함하는 애플리케이션 위/변조 탐지장치.Application forgery / tamper detection device comprising a.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 인지부는,The recognition unit,
    상기 정상 애플리케이션에 대한 다수의 인지 시그니처와 상기 추출된 인지 시그니처를 비교하고, 서로 일치하는 인지 시그니처가 존재하는 경우 상기 진단대상 애플리케이션을 상기 일치하는 인지 시그니처에 해당하는 애플리케이션으로 인지하는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.The plurality of cognitive signatures for the normal application and the extracted cognitive signatures are compared, and if there is a matching cognitive signature, the application characterized in that the application to recognize the diagnosis target application corresponding to the matching cognitive signature Forgery / false detection device.
  3. 제 1 항에 있어서,The method of claim 1,
    상기 검증부는,The verification unit,
    상기 정상 애플리케이션에 대한 다수의 검증 시그니처와 상기 추출된 검증 시그니처를 각각 비교하여 일치하지 않는 검증 시그니처가 존재하는 경우 상기 애플리케이션을 위/변조된 애플리케이션으로 판단하는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.And comparing the plurality of verification signatures for the normal application with the extracted verification signatures, and determining that the application is a forged / falsified application when there is a mismatched verification signature.
  4. 제 1 항에 있어서,The method of claim 1,
    상기 차단부는,The blocking unit,
    상기 애플리케이션이 휴대용 단말기상에 설치되어 통신망상의 서버와 연동하여 동작하는 애플리케이션인 경우, 상기 서버로 상기 애플리케이션의 위/변조를 통보하는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.If the application is an application installed on the portable terminal to operate in conjunction with the server on the communication network, the application forgery / forgery detection device, characterized in that for notifying the server forgery / forgery of the application.
  5. 제 1 항에 있어서,The method of claim 1,
    상기 차단부는,The blocking unit,
    상기 애플리케이션이 임의의 사용자에 의해 애플리케이션 제공 서버상에 등록된 애플리케이션인 경우, 상기 서버에서 상기 애플리케이션을 삭제시키는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.And when the application is an application registered on an application providing server by any user, deleting the application from the server.
  6. 제 1 항에 있어서,The method of claim 1,
    상기 인지 시그니처는,The recognition signature is
    상기 애플리케이션이 원 제작자에 의해 업데이트되거나, 수정 또는 변경되는 경우에도 변경되지 않는 데이터로 설정되는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.Application forgery / tamper detection device, characterized in that the application is set to the data that does not change even if the application is updated, modified or changed by the original creator.
  7. 제 1 항에 있어서,The method of claim 1,
    상기 인지 시그니처는,The recognition signature is
    상기 애플리케이션의 패키지명 또는 아이콘 또는 실행코드상 특정 값을 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.Application forgery / forgery detection device comprising a specific value on the package name or icon or executable code of the application.
  8. 제 1 항에 있어서,The method of claim 1,
    상기 검증 시그니처는,The verification signature is
    상기 애플리케이션이 원 제작자에 의해 업데이트되거나, 수정 또는 변경되는 경우에도 값이 변경되지 않는 데이터로 설정되고, 상기 애플리케이션이 상기 원 제작자가 아닌 다른 경로에 의해 수정 또는 변경되는 경우 값이 변경되는 데이터로 설정되는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.Set to data whose value does not change even when the application is updated, modified or changed by the original creator, and set to data whose value changes when the application is modified or changed by a path other than the original creator. Application forgery / tamper detection, characterized in that the.
  9. 제 1 항에 있어서,The method of claim 1,
    상기 검증 시그니처는,The verification signature is
    상기 애플리케이션의 인증서 정보를 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.Application forgery / forgery detection device comprising the certificate information of the application.
  10. 제 1 항에 있어서,The method of claim 1,
    상기 검증 시그니처는,The verification signature is
    상기 애플리케이션의 APK파일내 포함된 파일들에 대한 해쉬정보 또는 경로 정보를 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.Application forgery / forgery detection device comprising a hash information or path information for the files included in the APK file of the application.
  11. 제 1 항에 있어서,The method of claim 1,
    상기 검증 시그니처는,The verification signature is
    상기 애플리케이션의 APK파일내 MANIFEST.MF파일에 기록된 APK 구성 파일들에 대한 해쉬정보 또는 권한정보를 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.Application forgery / forgery detection device comprising a hash information or authorization information for the APK configuration files recorded in the MANIFEST.MF file in the APK file of the application.
  12. 제 1 항에 있어서,The method of claim 1,
    상기 검증 시그니처는,The verification signature is
    상기 애플리케이션의 APK파일내 classes.dex 파일정보 중 상기 애플리케이션에서 사용하는 API 또는 외부 라이브러리들에 대한 정보와, 상기 애플리케이션을 구성하는 각 클래스들에 대한 특징 정보 또는 상기 각 클래스를 구성하는 각 함수들에 대한 코드상의 특징 정보를 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.Information on APIs or external libraries used in the application among the classes.dex file information in the APK file of the application, feature information on each class constituting the application, or each function constituting each class. Application forgery / tamper detection, characterized in that it comprises a feature information on the code.
  13. 제 1 항에 있어서,The method of claim 1,
    상기 검증 시그니처는,The verification signature is
    상기 애플리케이션에서 사용되는 리소스들에 대한 특징 정보를 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지장치.Application forgery / forgery detection device comprising the feature information for the resources used in the application.
  14. 진단대상 애플리케이션으로부터 애플리케이션의 확인을 위한 인지 시그니처를 추출하는 단계와,Extracting a recognition signature for identifying the application from the application to be diagnosed;
    상기 추출된 인지 시그니처와 기 저장된 정상 애플리케이션의 인지 시그니처를 비교하여 상기 진단대상 애플리케이션을 인지하는 단계와,Recognizing the diagnosis target application by comparing the extracted cognitive signature with a pre-stored cognitive signature of the normal application;
    상기 진단대상 애플리케이션으로부터 애플리케이션의 위/변조 여부 검증을 위한 검증 시그니처를 추출하는 단계와,Extracting a verification signature for verifying whether the application is forged / modulated from the diagnosis target application;
    상기 추출된 검증 시그니처와 기 저장된 정상 애플리케이션의 검증 시그니처를 비교하여 상기 진단대상 애플리케이션의 위/변조 여부를 판단하는 단계와,Comparing the extracted verification signature with a verification signature of a previously stored normal application to determine whether the diagnosis target application is forged / modulated;
    상기 진단대상 애플리케이션이 위/변조된 애플리케이션으로 판단되는 경우 해당 애플리케이션의 실행 또는 접근을 차단하는 단계Blocking execution or access of the corresponding application when the diagnosis target application is determined to be a forged / modulated application
    를 포함하는 애플리케이션 위/변조 탐지방법.Application forgery / tamper detection method comprising a.
  15. 제 14 항에 있어서,The method of claim 14,
    상기 인지하는 단계는,Recognizing the step,
    상기 정상 애플리케이션에 대한 다수의 인지 시그니처와 상기 추출된 인지 시그니처를 비교하는 단계와, Comparing the extracted cognitive signatures with a plurality of cognitive signatures for the normal application;
    상기 다수의 인지 시그니처와 상기 추출된 인지 시그니처를 비교한 결과 서로 일치하는 인지 시그니처가 존재하는 경우 상기 진단대상 애플리케이션을 상기 일치하는 인지 시그니처에 해당하는 애플리케이션으로 인지하는 단계Comparing the plurality of cognitive signatures with the extracted cognitive signatures and recognizing the diagnosis target application as an application corresponding to the matching cognitive signature when there is a matching cognitive signature.
    를 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지방법.Application forgery / forgery detection method comprising a.
  16. 제 14 항에 있어서,The method of claim 14,
    상기 판단하는 단계는,The determining step,
    상기 정상 애플리케이션에 대한 다수의 검증 시그니처와 상기 추출된 검증 시그니처를 각각 비교하는 단계와,Comparing the plurality of verification signatures for the normal application with the extracted verification signatures, respectively;
    상기 다수의 검증 시그니처와 상기 추출된 검증 시그니처를 비교한 결과, 일치하지 않는 검증 시그니처가 존재하는 경우 상기 진단대상 애플리케이션을 위/변조된 애플리케이션으로 판단하는 단계Comparing the plurality of verification signatures with the extracted verification signatures and determining that the diagnosis target application is a forged / modulated application when there is a mismatching verification signature;
    를 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지방법.Application forgery / forgery detection method comprising a.
  17. 제 14 항에 있어서,The method of claim 14,
    상기 차단하는 단계는,The blocking step,
    상기 애플리케이션이 휴대용 단말기상에 설치되어 통신망상의 서버와 연동하여 동작하는 애플리케이션인 경우, 상기 서버로 상기 애플리케이션의 위/변조를 통보하는 것을 특징으로 하는 애플리케이션 위/변조 탐지방법.If the application is an application installed on the portable terminal to operate in conjunction with a server on a communication network, the application forgery / forgery detection method, characterized in that for notifying the server forgery / forgery of the application.
  18. 제 14 항에 있어서,The method of claim 14,
    상기 차단하는 단계는,The blocking step,
    상기 애플리케이션이 임의의 사용자에 의해 애플리케이션 제공 서버상에 등록된 애플리케이션인 경우, 상기 서버에서 상기 애플리케이션을 삭제시키는 것을 특징으로 하는 애플리케이션 위/변조 탐지방법.And when the application is an application registered on an application providing server by an arbitrary user, deleting the application from the server.
  19. 제 14 항에 있어서,The method of claim 14,
    상기 인지 시그니처는,The recognition signature is
    상기 애플리케이션이 원래 제작자에 의해 업데이트되거나, 수정 또는 변경되는 경우에도 변경되지 않는 데이터로 설정되는 것을 특징으로 하는 애플리케이션 위/변조 탐지방법.Application forgery / forgery detection method characterized in that the application is set to the data that does not change even if the application is updated, modified or changed by the original producer.
  20. 제 14 항에 있어서,The method of claim 14,
    상기 인지 시그니처는,The recognition signature is
    상기 애플리케이션의 패키지명 또는 아이콘 또는 실행코드상 특정 값을 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지방법.Application forgery / forgery detection method comprising a specific value on the package name or icon or executable code of the application.
  21. 제 14 항에 있어서,The method of claim 14,
    상기 검증 시그니처는,The verification signature is
    상기 애플리케이션이 원래 제작자에 의해 업데이트되거나, 수정 또는 변경되는 경우에도 값이 변경되지 않는 데이터로 설정되고, 상기 애플리케이션이 상기 원래 제작자가 아닌 다른 경로에 의해 수정 또는 변경되는 경우 값이 변경되는 데이터로 설정되는 것을 특징으로 하는 애플리케이션 위/변조 탐지방법.Set to data whose value does not change even when the application is updated, modified or changed by the original creator, and set to data whose value changes when the application is modified or changed by a path other than the original creator. Application forgery / forgery detection method characterized in that.
  22. 제 14 항에 있어서,The method of claim 14,
    상기 검증 시그니처는,The verification signature is
    상기 애플리케이션의 인증서 정보를 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지방법.Application forgery / forgery detection method comprising the certificate information of the application.
  23. 제 14 항에 있어서,The method of claim 14,
    상기 검증 시그니처는,The verification signature is
    상기 애플리케이션의 APK파일내 포함된 파일들에 대한 해쉬정보 또는 경로 정보를 포함하는 것을 특징으로 하는 애플리케이션 위/변조 탐지방법.Application forgery / forgery detection method comprising the hash information or path information for the files included in the APK file of the application.
PCT/KR2013/010971 2012-12-04 2013-11-29 Apparatus and method for detecting fraudulent/altered applications WO2014088262A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120139752A KR101277517B1 (en) 2012-12-04 2012-12-04 Apparatus and method for detecting falsified application
KR10-2012-0139752 2012-12-04

Publications (1)

Publication Number Publication Date
WO2014088262A1 true WO2014088262A1 (en) 2014-06-12

Family

ID=48867487

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/010971 WO2014088262A1 (en) 2012-12-04 2013-11-29 Apparatus and method for detecting fraudulent/altered applications

Country Status (2)

Country Link
KR (1) KR101277517B1 (en)
WO (1) WO2014088262A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019072060A1 (en) * 2017-10-11 2019-04-18 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Certificate loading method and related product

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101540089B1 (en) 2013-12-26 2015-08-06 주식회사 엔젠소프트 System and method for verifying counterfeit of application
KR101654973B1 (en) * 2014-04-30 2016-09-06 단국대학교 산학협력단 Apparatus and method for software filtering
KR101537205B1 (en) * 2014-10-20 2015-07-16 숭실대학교산학협력단 User Terminal to Detect the Tampering of the Applications Using Hash Value and Method for Tamper Detection Using the Same
KR101516313B1 (en) * 2014-10-24 2015-05-11 (주)지란지교시큐리티 Method for detecting tampering of software
KR101642222B1 (en) * 2015-03-21 2016-07-22 홍동철 Method of Spy Application and System Scan Based on Android Operating System
KR101716110B1 (en) * 2015-11-04 2017-03-15 충북대학교 산학협력단 System and Method of Validating Application by Monitoring Signature
KR101731312B1 (en) * 2015-12-09 2017-04-28 숭실대학교산학협력단 Method, device and computer readable recording medium for searching permission change of application installed in user's terminal
KR102175784B1 (en) * 2018-12-26 2020-11-06 주식회사 엠시큐어 Automatically diagnosis apparatus and method for vulnerabilities of mobile application

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090042126A (en) * 2007-10-24 2009-04-29 삼성전자주식회사 Method for restricting an execution of application and appratus therefor
KR20120040956A (en) * 2010-10-20 2012-04-30 단국대학교 산학협력단 Method and system for software infringement estimation
KR20120110660A (en) * 2011-03-30 2012-10-10 주식회사 엔씨소프트 Method for detecting modification of computer program executing in memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090042126A (en) * 2007-10-24 2009-04-29 삼성전자주식회사 Method for restricting an execution of application and appratus therefor
KR20120040956A (en) * 2010-10-20 2012-04-30 단국대학교 산학협력단 Method and system for software infringement estimation
KR20120110660A (en) * 2011-03-30 2012-10-10 주식회사 엔씨소프트 Method for detecting modification of computer program executing in memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019072060A1 (en) * 2017-10-11 2019-04-18 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Certificate loading method and related product
US10419599B2 (en) 2017-10-11 2019-09-17 Guangdong Oppo Mobile Telecommunications Corp. Certificate loading method and related product

Also Published As

Publication number Publication date
KR101277517B1 (en) 2013-06-21

Similar Documents

Publication Publication Date Title
WO2014088262A1 (en) Apparatus and method for detecting fraudulent/altered applications
WO2013089340A1 (en) Apparatus and method for detecting similarity between applications
WO2015056885A1 (en) Detection device and detection method for malicious android application
ES2881318T3 (en) Security scanning method and apparatus for mini program, and electronic device
WO2013077538A1 (en) Device and method for analyzing api-based application
WO2017213400A1 (en) Malware detection by exploiting malware re-composition variations
US20140245448A1 (en) Apparatus and method for analyzing permission of application for mobile devices and detecting risk
WO2011122845A2 (en) Mobile communication terminal having a behavior-based malicious code detection function and detection method thereof
WO2014027859A1 (en) Device and method for processing transaction request in processing environment of trust zone
WO2018182126A1 (en) System and method for authenticating safe software
WO2014035043A1 (en) Apparatus and method for diagnosing malicious applications
WO2018056601A1 (en) Device and method for blocking ransomware using contents file access control
JP2015508549A (en) Identify Trojanized applications for mobile environments
CN108763951B (en) Data protection method and device
WO2013137616A1 (en) Method and apparatus for evaluating required permissions for application
WO2014168408A1 (en) Device, system and method for diagnosing malware on basis of cloud
WO2019066222A1 (en) Method and system for identifying open source software package on basis of binary file
WO2014010847A1 (en) Apparatus and method for diagnosing malicious applications
WO2019135425A1 (en) Open source software license verification method and system
WO2016080735A1 (en) Method and apparatus for preventing injection-type attack in web-based operating system
CN111639021A (en) Permission testing method and device of application program and terminal equipment
CN109818972B (en) Information security management method and device for industrial control system and electronic equipment
WO2018194196A1 (en) Method and system for detecting application of obfuscation to and evaluating security of elf file
KR20160090566A (en) Apparatus and method for detecting APK malware filter using valid market data
WO2019147101A1 (en) Electronic device for classifying malicious code and operation method thereof

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

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

Country of ref document: EP

Kind code of ref document: A1