WO2013077538A1 - Device and method for analyzing api-based application - Google Patents

Device and method for analyzing api-based application Download PDF

Info

Publication number
WO2013077538A1
WO2013077538A1 PCT/KR2012/007449 KR2012007449W WO2013077538A1 WO 2013077538 A1 WO2013077538 A1 WO 2013077538A1 KR 2012007449 W KR2012007449 W KR 2012007449W WO 2013077538 A1 WO2013077538 A1 WO 2013077538A1
Authority
WO
WIPO (PCT)
Prior art keywords
api
analysis
application
risk
unit
Prior art date
Application number
PCT/KR2012/007449
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 WO2013077538A1 publication Critical patent/WO2013077538A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Definitions

  • the present invention relates to a technology for analyzing an application used in a mobile device.
  • the present invention analyzes the propensity and risk of an application installed in a mobile device based on usage information of a mobile application platform API (Application Programming Interface) and performs a diagnosis. Appropriate API-based application analysis device and method.
  • smart terminals which combines the advantages of mobile phones and personal digital assistants (PDAs), is increasing not only in foreign countries but also in Korea. Since the user can install various kinds of applications in the smart terminal, it is possible to install and drive financial transactions, movie and performance booking, navigation, game applications, etc. in addition to the basic call function.
  • virus diagnosis companies and security institutes conduct behavior-based diagnosis on application permissions, or application analysts directly analyze application source code or machine language using reverse engineering technology, and analyze the analyzed results.
  • a diagnostic method through Cyclic Redundancy Check (CRC) is used to find the same file.
  • behavior-based diagnosis can be performed for a verification process that allows a user to control access rights in a manifest file.
  • an embodiment of the present invention may provide an API-based application analysis apparatus and method for analyzing and diagnosing and diagnosing characteristics and risks of an application based on usage information of a mobile operating system platform API before installing an application on a mobile device. .
  • the embodiment of the present invention classify the operating system platform APIs by behavior elements and patterns, create a diagnostic policy model by assigning a weight to each, and then analyze the APIs extracted from the corresponding application to analyze the functional characteristics and risk of the application.
  • An apparatus and method for analyzing an API-based application may be provided.
  • the embodiment of the present invention classify the operating system platform APIs by behavioral elements and patterns, and assigns risk weights to each to create a risk diagnosis policy, and then extracts the requested application through reverse engineering, and extracts the extracted API.
  • the input unit for receiving the analysis request message for at least one application, and the API (Application Programming Interface) in the operating system platform classified by the behavior element and pattern diagnostic policy model
  • an analysis control unit for outputting an analysis result by analyzing at least one of functional features and risks of the API of the application for which the analysis is requested, based on the generated diagnostic policy model, wherein the analysis control unit includes the analysis requested application.
  • An API extracting unit for extracting an API from the API may include a risk analysis for adding weights.
  • the analysis control unit may include an API analysis unit performing API analysis for each API of the operating system platform for each action and pattern, and for each action according to a function-specific API list and pattern analysis based on the API analysis.
  • the apparatus may further include an API classification unit classifying the API list, and a diagnostic policy establishment unit generating the diagnostic policy model based on the information classified from the API classification unit.
  • the diagnosis policy establishment unit may generate a risk diagnosis policy model by assigning a weight to each of a single API, an unordered combination API, and an ordered combination API as a list of APIs for each action according to the pattern analysis.
  • the API-based application analysis apparatus may further include a graph generator that generates a graph having a preset form based on the analysis result.
  • the API-based application analysis apparatus may further include an analysis result output unit configured to transmit analysis result information including the generated graph to a user's mobile device or an application store server.
  • An API-based application analysis method includes a process of receiving an analysis request message for at least one application, a process of generating a diagnostic policy model by classifying APIs in an operating system platform by behavior elements and patterns, and The method may include outputting an analysis result by analyzing at least one of a functional feature and a risk of an API of the requested application, based on the generated diagnostic policy model, and outputting the analysis result may include: Extracting an API from the API, analyzing the corresponding function in the extracted API based on the diagnostic policy model, adding up the number of APIs having the same functional characteristics, and analyzing the corresponding risk in the extracted API to determine the same risk. Process of summing preset weights for owned API It can be included.
  • the process of generating the diagnostic policy model may include performing API analysis for each API of the OS platform by behavior and pattern, and based on the API analysis and pattern analysis according to the function analysis based on the API analysis.
  • the method may further include classifying into an API list and generating the diagnostic policy model based on the classified information.
  • the generating of the diagnosis policy model may generate a risk diagnosis policy model by assigning a weight to each of a single API, an orderless combination API, and an ordered combination API as an API list according to the pattern analysis.
  • the API-based application analysis method may further include generating a graph having a preset form based on the analysis result.
  • the API-based application analysis method may further include transmitting analysis result information including the generated graph to a user's mobile device or an application store server.
  • API-based application analysis apparatus and method according to an embodiment of the present invention as described above has one or more of the following effects.
  • API-based application analysis apparatus and method it is possible to automate the analysis of the application installed in the mobile device to more objectively and quickly analyze the propensity and risk of the application without depending on the analyst.
  • FIG. 1 is a block diagram showing the structure of an API-based application analysis device according to an embodiment of the present invention
  • FIG. 2 is a diagram illustrating databases in which a list of APIs for each function according to behavior analysis is stored according to an embodiment of the present invention
  • FIG. 3 is a diagram illustrating databases in which a list of APIs by behavior according to pattern analysis is stored according to an embodiment of the present invention
  • FIG. 4 is a flowchart illustrating an operation procedure of an API-based application analyzing apparatus according to an embodiment of the present invention
  • 5A and 5B are graphs for calculating the characteristics and risks of applications diagnosed 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.
  • An embodiment of the present invention is to analyze and diagnose characteristics and risks of an application installed on a mobile device based on usage information of a mobile operating system platform API, and classify the operating system platform API by behavior elements and patterns, After creating a diagnosis policy model by assigning weights, the APIs extracted from the application are analyzed to analyze the functional characteristics and risk of the application.
  • an embodiment of the present invention will describe an API analysis method of a mobile operating system platform (for example, Android, iOS, Bada, etc.), but is not limited to the mobile operating system platform, and provides APIs from operating system platform operators of various computing devices. If it can be provided, of course, it is possible to apply the present invention to perform the API analysis for this.
  • a mobile operating system platform for example, Android, iOS, Bada, etc.
  • FIG. 1 is a block diagram showing the structure of an API-based application analysis apparatus according to an embodiment of the present invention.
  • the API-based application analyzing apparatus 100 may include an analysis control unit 110, an input unit 130, a graph generator 140, and an analysis result output unit 150.
  • 110 may include an API analyzer 112, an API classifier 114, a diagnostic policy establisher 116, a feature analyzer 118, a risk analyzer 120, an API extractor 122, and the like. have.
  • the API-based application analysis apparatus 100 may be linked to an application store server to analyze an API of a corresponding application at the request of a mobile device user or an application store server operator.
  • the application store server may be a server in which a plurality of mobile device users and a plurality of application providers are connected through a wired / wireless network, and when an application is uploaded from each application provider, sales thereof are made.
  • the input unit 130 may receive an analysis request message for a specific application from a mobile device user or an application store server operator, and transmit the received analysis request message to the analysis control unit 110.
  • the analysis control unit 110 may transmit the received analysis request message to the analysis control unit 110.
  • a new API when a new API is input from the mobile operating system platform operator, it may be transmitted to the analysis controller 110.
  • the analysis control unit 110 may control the respective functional blocks, generate a diagnostic policy model by analyzing and classifying APIs received from the mobile operating system platform operators, and then analyze functional characteristics and risks of the requested application APIs. Can provide analysis results.
  • the API analysis unit 112 in the analysis control unit 110 may receive an API from a corresponding mobile operating system platform operator and perform behavior analysis and pattern analysis for each API. That is, by analyzing all APIs in the corresponding mobile operating system platform, an analysis for creating an API list by action and pattern may be performed, and the analysis result information may be output.
  • the analysis result information output through the API analysis unit 112 is transferred to the API classification unit 114 so that the API classification unit 114 displays a list of APIs by functions according to behavior analysis and API list by behaviors according to pattern analysis for each API. Classification can be done with
  • each API Since each API has its own function, each API can be classified by judging each function and the action performed based on each function.
  • FIG. 2 is a diagram illustrating databases in which API lists for functions according to behavior analysis are stored according to an embodiment of the present invention
  • FIG. 3 is a diagram illustrating databases in which API lists for behaviors according to pattern analysis are stored according to an embodiment of the present invention. The figure is shown.
  • the API classification unit 114 may include a function-based API determination unit 200 according to a behavior analysis and an action-based API determination unit 310 according to a pattern analysis, and the like.
  • the department may determine the function-specific and behavior-based API based on the analysis result information received through the API analysis unit 112 and perform classification into the corresponding database.
  • the API determination unit 200 of each function of FIG. 2 may determine each API based on behavior analysis information included in the analysis result information. That is, according to the determined function of the API can be stored in each function list database (DB).
  • DB function list database
  • Each function list database can be unauthorized charging API DB (210), general data leakage API DB (212), rootable API DB (214), Bluetooth hacking API DB (216), system damage possible API DB (218) , Personal information leakage API DB 220, terminal information leakage API DB 222, usage information leakage API DB 224, location information leakage API DB 226 and financial information leakage API DB 228 And the like, but are not limited thereto.
  • the API analyzer 112 analyzes "getUserData" among the Android platform APIs, and analyzes that this API provides user information through a key associated with the account and the account information, and analyzes the result of the analysis. It may be delivered to the API classifier 114.
  • the API determining unit 200 for each function of the API classification unit 114 may determine that the corresponding API provides the user information and transmit the stored information to the usage information leakable API DB 224. .
  • the action-specific API determination unit 310 of FIG. 3 may determine each API based on the pattern analysis information included in the analysis result information. That is, it can be stored in each behavior list database (DB) according to the determined behavior of the API, and the behavior list database includes a single API DB 312, an unordered combination API DB 314, and an API DB 316 having an order. And the like.
  • DB behavior list database
  • the analyzed result information may be transmitted to the API classification unit 114.
  • the API classification unit 114 may be delivered to the API determination unit 310 for each action, and the API determination unit 200 for each function may deliver and store the "getUserData" API to the personal information leakage possible API DB 220.
  • action-based API determination unit 310 may link the "getUserData" API to the single API DB 312 and the unordered combination API DB 314 to give weights, and then store the weight.
  • the single API DB 312 stores APIs that can be used independently, and the unordered combination API DB 314 includes, for example, an API for reading personal information, an API for temporary storage in a file or memory area, and a later point in time. If it is determined that the API to be sent to the server set in advance is performed in any order in one combination, it can be stored.
  • the ordered API DB 316 for example, when personal information is read, APIs that sequentially perform a specific function may be classified and stored, such as when the personal information is read directly to a predetermined server.
  • each of the functional API determination unit 200 and the behavior-specific API determination unit 310 may be linked to each other DB, depending on the implementation method may be dependent on each other.
  • the diagnostic policy establishment unit 116 may receive classification information from the API classification unit 114 and generate a diagnosis policy model based on the classified information. That is, the functional characteristics can identify the functional characteristics or propensity of the application based on the number of APIs for each function included in one application, and the risk is a single API classified in the application, an unordered combination API, and a combination having an order. Risk diagnosis is given by assigning a risk weight to each API.
  • the diagnostic policy model for confirming the functional characteristics and the risk of the specific application may be transmitted to the characteristic analyzer 118 and the risk analyzer 120, respectively.
  • the API extraction unit 122 receives the analysis request message of the mobile device user from the input unit 130, parses the application data contained in the analysis request message using reverse engineering technology, at least one set through parsing The package and at least one API included in the package may be extracted. The extracted API may be transmitted to the characteristic analyzer 118 and the risk analyzer 120.
  • the API extracting unit 122 may receive the application data for extraction directly from the mobile device user through the analysis request message, but the analysis request message does not include additional data other than the systematic information about the application. In the request to the application to the associated application store server may be delivered.
  • the characteristic analysis unit 118 is for analyzing and confirming the propensity of the application, that is, the functional characteristics, and classifies the API into functional APIs through the functional analysis of each API based on a diagnosis policy model, and classifies the API number information for each functional function as an analysis result. You can print
  • the risk analysis unit 120 is for diagnosing a potential risk of an application.
  • the risk analysis unit 120 may classify each API into action APIs through action analysis based on a diagnosis policy model, and may assign a risk weight to each action API. .
  • the risk weights for an unordered combinatorial API or an ordered combinatorial API may be summed up to a single API risk to finally calculate the potential risk of the application.
  • the result information analyzed from the characteristic analyzer 118 and the risk analyzer 120 may be transmitted to the analysis result output unit 150 and the graph generator 140.
  • the graph generator 140 receives the characteristic and risk result information from the characteristic analyzer 118 and the risk analyzer 120, and digitizes or percentages the graph through a preset graph. Accordingly, trend analysis and statistical results such as functional statistics, risk weight calculation details, etc. may be calculated and graph output information including the same may be transmitted to the analysis result output unit 150.
  • the analysis result output unit 150 may receive the characteristic and risk result information from the characteristic analyzer 118 and the risk analyzer 120, and may receive the graph output information from the graph generator 140.
  • the information may be linked to each other and transmitted to an application store server or transmitted to a mobile user device.
  • FIG. 4 is a flowchart illustrating an operation procedure of an API-based application analyzing apparatus according to an embodiment of the present invention.
  • API analysis unit 112 in the API-based application analysis apparatus 100 is previously stored or received API information from an operating system platform operator through the input unit 130 in step 400, for each API The analysis is performed for each action element and pattern, and the analyzed result information is transmitted to the API classification unit 114.
  • the API classifier 114 determines the API according to the function in step 402 based on the result information analyzed in step 402, and stores each API determined as the API for each pattern in step 404 in the corresponding DB.
  • steps 402 and 404 are not necessarily sequentially performed, or may be performed simultaneously or step 404 may be performed before step 402.
  • the API classification unit 114 transmits the classified information to the diagnosis policy establishing unit 116 to establish a policy and a risk policy for each service function in the diagnosis policy establishing unit 116, and generate this as a diagnosis policy model.
  • the API extraction unit 122 receives the analysis request message of the mobile device user from the input unit 130 in step 408, the corresponding application data is based on the application information included in the analysis request message. API is parsed by reverse engineering.
  • the extracted API is transferred to the characteristic analyzer 118 and the risk analyzer 120, and in step 410, the characteristic analyzer 118 compares and analyzes the API extracted for each functional element of the diagnostic policy model to correspond to each API.
  • the number is added, and the risk analysis unit 120 compares the risk-specific weights of the APIs and the behavior-specific weights set in the diagnostic policy model with the extracted APIs and adds the corresponding risk weights.
  • an analysis result about the general service function is derived through the characteristic analysis unit 118, and an analysis result about the potential risk is derived through the risk analysis unit 120.
  • Each derived analysis result information is transferred to the analysis result output unit 150.
  • the analysis result output unit 150 displays text and numbers of the analysis result information including service functions and potential risks for the corresponding application.
  • the graph is output through the interlocked graph generation unit 140 and transferred to the application store server or the mobile device of the user.
  • 5A and 5B are graphs illustrating characteristics and risks of diagnosed applications according to an exemplary embodiment of the present invention.
  • the graph generator 140 may receive functional characteristic information and risk information analyzed from the characteristic analyzer 118 and the risk analyzer 120 from the mobile device user or the application server operator. In this way, a graph of a predetermined format may be generated based on each information.
  • FIG. 5A is a circular graph of the functional characteristics and risks of APIs included in the application, indicating that the personal information access function API occupies about 30% of all APIs, and the location information API occupies about 25% of all APIs. Can be. However, these functions indicate that the likelihood of terminal information leakage is about 15%, and the possibility of charging cost is about 15%.
  • API list information for performing these functions may be provided.
  • the pie graph may be represented as the sum of the number of APIs rather than the% format.
  • Figure 5b is a radial graph of the functional characteristics and risks of the APIs included in the application, the application has a high personal information access, location information use a lot, it can be confirmed that the terminal information leakage possibility is high. .
  • the functional characteristic information and the risk score calculated through the embodiment of the present invention may not be an absolute basis for determining whether the application is functional or malicious. However, it is sufficient to serve as a primary filter for automating analysis in environments where mobile applications are expected to grow exponentially, and by analyzing the combined patterns for these APIs, more sophisticated risks can be predicted and diagnosed. Can be done.
  • the API-based application analysis apparatus and method is for analyzing and diagnosing characteristics and risks of an application installed in a mobile device based on usage information of a mobile operating system platform API.
  • the platform APIs are classified by action elements and patterns, weighted for each to generate a diagnostic policy model, and then the functional characteristics and risks of the application are analyzed by analyzing the API extracted from the application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to an API-based application analysis technology which analyzes and diagnoses the properties and risks of an application installed in a mobile device on the basis of usage information of a mobile operating system platform API. To this end, the technology classifies the operating system platform API in terms of an action element and a pattern, provides a weight to each to create a diagnosis policy model, and then analyzes an API extracted from a corresponding application to analyze a functional property and risk. According to the present invention, since analysis on an application installed in a mobile device is automatically made, it is possible to more objectively and quickly analyze the tendencies and risk of the application without depending on an analyst, and it is possible to provide a guide to risk elements and risks to be predicted to a mobile device user along with quantitative figures that are risks and API distribution by risk element.

Description

API 기반 어플리케이션 분석 장치 및 방법AP-based application analysis device and method
본 발명은 모바일 기기에서 사용되는 어플리케이션을 분석하는 기술에 관한 것으로서, 특히 모바일 운영체제 플랫폼 API(Application Programming Interface)의 사용 정보에 근거하여 모바일 기기에 설치되는 어플리케이션의 성향 및 위험도를 분석하고 진단을 수행하는데 적합한 API 기반 어플리케이션 분석 장치 및 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technology for analyzing an application used in a mobile device. In particular, the present invention analyzes the propensity and risk of an application installed in a mobile device based on usage information of a mobile application platform API (Application Programming Interface) and performs a diagnosis. Appropriate API-based application analysis device and method.
오늘날 모바일 기기는 현대인의 필수품이 되었으며, 개인당 하나 이상 소지한 모바일 기기를 통하여 통화 및 메시지 발송, 무선인터넷의 접속을 가능하게 함으로써, 다양한 유비쿼터스 환경을 구현하고 있다.Today, mobile devices have become a necessity of modern people, and various ubiquitous environments are realized by enabling call, message sending, and wireless Internet access through one or more mobile devices per person.
더욱이 휴대 전화와 개인휴대 단말기(PDA)의 장점을 결합한 스마트 단말의 인기는 해외 뿐만 아니라 국내서도 크게 높아지고 있다. 이러한 스마트 단말에는 사용자가 다양한 종류의 어플리케이션을 설치할 수 있으므로, 기본적인 통화기능 이외에도 금융거래, 영화 및 공연 예매, 네비게이션, 게임 어플리케이션 등을 설치하여 구동시킬 수 있다.Moreover, the popularity of smart terminals, which combines the advantages of mobile phones and personal digital assistants (PDAs), is increasing not only in foreign countries but also in Korea. Since the user can install various kinds of applications in the smart terminal, it is possible to install and drive financial transactions, movie and performance booking, navigation, game applications, etc. in addition to the basic call function.
다만, 이러한 스마트 단말의 사용이 증가함에 따라 스마트 단말에 대한 공격 수법도 보다 증가되고 있다. 예를 들어, 스마트 단말에서 개인 정보 유출을 수행하는 API가 삽입된 어플리케이션이 실행된 경우, 스마트 단말 내 저장된 개인 정보를 유출시키거나, 특정 행위를 통해 스마트 단말의 시스템 손상을 가져 올 수 있으며, 이러한 위험 행위를 수행할 수 있는 어플리케이션의 설치는 곧 스마트 단말 내에 포함된 개인정보 유출과 금융거래의 피해로 이어질 수 있다. However, as the use of such smart terminals increases, attack methods for smart terminals are also increasing. For example, when an application in which an API for leaking personal information is inserted in the smart terminal is executed, the personal information stored in the smart terminal may be leaked, or the system may be damaged through a specific action. Installation of an application that can perform risky behavior may soon lead to the leakage of personal information contained in the smart terminal and damage of financial transactions.
이에 바이러스 진단 업체 및 보안 연구소 등에서는 어플리케이션의 권한 정보(Permission)를 대상으로 행위 기반 진단을 수행하거나, 어플리케이션 분석가가 역공학 기술을 이용하여 직접 어플리케이션의 소스 코드나 기계어를 분석하고, 분석된 결과를 바탕으로 동일 파일을 찾아내는 순환 중복 검사 (CRC: Cyclic Redundancy Check)를 통한 진단 방법이 사용되고 있다.Accordingly, virus diagnosis companies and security institutes conduct behavior-based diagnosis on application permissions, or application analysts directly analyze application source code or machine language using reverse engineering technology, and analyze the analyzed results. On the basis of this, a diagnostic method through Cyclic Redundancy Check (CRC) is used to find the same file.
예를 들어, 구글의 모바일 운영체제인 안드로이드 플랫폼 기반 어플리케이션의 경우에는 메니페스트(Manifest) 파일 내에서 사용자가 접근 권한을 제어할 수 있는 확인 과정을 대상으로 행위 기반 진단을 수행할 수 있다.For example, in the case of Google's mobile operating system, the Android platform-based application, behavior-based diagnosis can be performed for a verification process that allows a user to control access rights in a manifest file.
상기한 바와 같이 종래 기술에 의한 모바일 기기에서 사용되는 어플리케이션의 행위 기반 진단 방식에 있어서는, 너무 포괄적이고 추상적이어서 어플리케이션의 성향과 위험도를 정확히 예측할 수 없다. 그리고 분석가가 역공학을 이용하여 직접 소스 코드를 분석하는 방법은, 악성코드 진단에는 효과적이나 어플리케이션의 성향이나 전체적인 API 사용치 및 위험도를 파악하기에는 어렵다는 문제점이 있었다.As described above, in the behavior-based diagnosis method of an application used in a mobile device according to the prior art, it is too comprehensive and abstract to accurately predict the propensity and risk of the application. In addition, the method by which the analyst directly analyzes the source code using reverse engineering is effective for diagnosing malicious code, but it is difficult to grasp the propensity of the application or the overall API usage and risk.
이에 본 발명의 실시예는, 모바일 기기에 어플리케이션을 설치하기 전 모바일 운영체제 플랫폼 API의 사용 정보에 근거하여 어플리케이션의 특성 및 위험도를 분석하고 진단할 수 있는 API 기반 어플리케이션 분석 장치 및 방법을 제공할 수 있다.Accordingly, an embodiment of the present invention may provide an API-based application analysis apparatus and method for analyzing and diagnosing and diagnosing characteristics and risks of an application based on usage information of a mobile operating system platform API before installing an application on a mobile device. .
또한 본 발명의 실시예는, 운영체제 플랫폼 API들을 행위 요소 및 패턴 별로 분류하고, 각각에 대한 가중치를 부여하여 진단 정책 모델을 생성한 후, 해당 어플리케이션에서 추출한 API를 분석하여 어플리케이션의 기능적 특성 및 위험도를 분석할 수 있는 API 기반 어플리케이션 분석 장치 및 방법을 제공할 수 있다.In addition, the embodiment of the present invention, classify the operating system platform APIs by behavior elements and patterns, create a diagnostic policy model by assigning a weight to each, and then analyze the APIs extracted from the corresponding application to analyze the functional characteristics and risk of the application. An apparatus and method for analyzing an API-based application may be provided.
또한 본 발명의 실시예는, 운영체제 플랫폼 API들을 행위 요소 및 패턴 별로 분류하고, 각각에 대한 위험도 가중치를 부여하여 위험도 진단 정책을 작성한 후, 분석 요청된 어플리케이션을 역공학을 통해 추출하고, 추출한 API를 분석하여 어플리케이션의 기능적 성향 및 위험도를 분석할 수 있는 API 기반 어플리케이션 분석 장치 및 방법을 제공할 수 있다.In addition, the embodiment of the present invention, classify the operating system platform APIs by behavioral elements and patterns, and assigns risk weights to each to create a risk diagnosis policy, and then extracts the requested application through reverse engineering, and extracts the extracted API. By analyzing, it is possible to provide an API-based application analysis apparatus and method for analyzing the functional propensity and risk of the application.
본 발명의 일 실시예에 따른 API 기반 어플리케이션 분석 장치는, 적어도 하나의 어플리케이션에 대한 분석 요청 메시지를 입력 받는 입력부와, 운영체제 플랫폼 내의 API(Application Programming Interface)를 행위 요소 및 패턴 별로 분류하여 진단 정책 모델을 생성하고, 생성된 진단 정책 모델을 토대로 분석 요청된 어플리케이션의 API에 대한 기능적 특징 및 위험도 중 적어도 하나를 분석하여 분석 결과를 출력하는 분석 제어부를 포함하며, 상기 분석 제어부는, 상기 분석 요청된 어플리케이션으로부터 API를 추출하는 API 추출부와, 상기 진단 정책 모델을 토대로 상기 추출된 API에서 해당 기능을 분석하여 동일한 기능적 특성을 가지는 API 개수를 합산하는 특성 분석부와, 상기 추출된 API에서 해당 위험도를 분석하여 동일한 위험도를 가지는 API에 대해 기 설정된 가중치를 합산하는 위험도 분석부를 포함할 수 있다.API-based application analysis apparatus according to an embodiment of the present invention, the input unit for receiving the analysis request message for at least one application, and the API (Application Programming Interface) in the operating system platform classified by the behavior element and pattern diagnostic policy model And an analysis control unit for outputting an analysis result by analyzing at least one of functional features and risks of the API of the application for which the analysis is requested, based on the generated diagnostic policy model, wherein the analysis control unit includes the analysis requested application. An API extracting unit for extracting an API from the API, a characteristic analyzing unit for analyzing the corresponding function in the extracted API based on the diagnostic policy model, and adding up the number of APIs having the same functional characteristics, and analyzing the corresponding risk in the extracted API Presets for APIs with the same risk It may include a risk analysis for adding weights.
그리고, 상기 분석 제어부는, 상기 운영체제 플랫폼의 모든 API에 대해 행위별, 패턴별로 API 분석을 수행하는 API 분석부와, 상기 API 분석을 토대로, 행위 분석에 따른 기능별 API 목록 및 패턴 분석에 따른 행위별 API 목록으로 분류하는 API 분류부와, 상기 API 분류부로부터 분류된 정보를 토대로 상기 진단 정책 모델을 생성하는 진단 정책 수립부를 더 포함할 수 있다.The analysis control unit may include an API analysis unit performing API analysis for each API of the operating system platform for each action and pattern, and for each action according to a function-specific API list and pattern analysis based on the API analysis. The apparatus may further include an API classification unit classifying the API list, and a diagnostic policy establishment unit generating the diagnostic policy model based on the information classified from the API classification unit.
그리고 상기 진단 정책 수립부는, 상기 패턴 분석에 따른 행위별 API 목록으로 단일 API, 순서 없는 조합 API 및 순서 있는 조합 API 각각에 대한 가중치를 부여하여 위험도 진단 정책 모델을 생성할 수 있다.The diagnosis policy establishment unit may generate a risk diagnosis policy model by assigning a weight to each of a single API, an unordered combination API, and an ordered combination API as a list of APIs for each action according to the pattern analysis.
그리고 상기 API 기반 어플리케이션 분석 장치는, 상기 분석 결과를 토대로 기 설정된 형태의 그래프를 생성하는 그래프 생성부를 더 포함할 수 있다.The API-based application analysis apparatus may further include a graph generator that generates a graph having a preset form based on the analysis result.
그리고 상기 API 기반 어플리케이션 분석 장치는, 상기 생성된 그래프를 포함하는 분석 결과 정보를 사용자의 모바일 기기 또는 어플리케이션 스토어 서버로 전송하는 분석 결과 출력부를 더 포함할 수 있다.The API-based application analysis apparatus may further include an analysis result output unit configured to transmit analysis result information including the generated graph to a user's mobile device or an application store server.
본 발명의 일 실시예에 따른 API 기반 어플리케이션 분석 방법은, 적어도 하나의 어플리케이션에 대한 분석 요청 메시지를 입력 받는 과정과, 운영체제 플랫폼 내의 API를 행위 요소 및 패턴 별로 분류하여 진단 정책 모델을 생성하는 과정과, 생성된 진단 정책 모델을 토대로 분석 요청된 어플리케이션의 API에 대한 기능적 특징 및 위험도 중 적어도 하나를 분석하여 분석 결과를 출력하는 과정을 포함하며, 상기 분석 결과를 출력하는 과정은, 상기 분석 요청된 어플리케이션으로부터 API를 추출하는 과정과, 상기 진단 정책 모델을 토대로 상기 추출된 API에서 해당 기능을 분석하여 동일한 기능적 특성을 가지는 API 개수를 합산하는 과정과, 상기 추출된 API에서 해당 위험도를 분석하여 동일한 위험도를 가지는 API에 대해 기 설정된 가중치를 합산하는 과정을 포함할 수 있다.An API-based application analysis method according to an embodiment of the present invention includes a process of receiving an analysis request message for at least one application, a process of generating a diagnostic policy model by classifying APIs in an operating system platform by behavior elements and patterns, and The method may include outputting an analysis result by analyzing at least one of a functional feature and a risk of an API of the requested application, based on the generated diagnostic policy model, and outputting the analysis result may include: Extracting an API from the API, analyzing the corresponding function in the extracted API based on the diagnostic policy model, adding up the number of APIs having the same functional characteristics, and analyzing the corresponding risk in the extracted API to determine the same risk. Process of summing preset weights for owned API It can be included.
그리고 상기 진단 정책 모델을 생성하는 과정은, 상기 운영체제 플랫폼의 모든 API에 대해 행위별, 패턴별로 API 분석을 수행하는 과정과, 상기 API 분석을 토대로, 행위 분석에 따른 기능별 API 목록 및 패턴 분석에 따른 API 목록으로 분류하는 과정과, 상기 분류된 정보를 토대로 상기 진단 정책 모델을 생성하는 과정을 더 포함할 수 있다.The process of generating the diagnostic policy model may include performing API analysis for each API of the OS platform by behavior and pattern, and based on the API analysis and pattern analysis according to the function analysis based on the API analysis. The method may further include classifying into an API list and generating the diagnostic policy model based on the classified information.
그리고 상기 진단 정책 모델을 생성하는 과정은, 상기 패턴 분석에 따른 API 목록으로 단일 API, 순서 없는 조합 API 및 순서 있는 조합 API 각각에 대한 가중치를 부여하여 위험도 진단 정책 모델을 생성할 수 있다.The generating of the diagnosis policy model may generate a risk diagnosis policy model by assigning a weight to each of a single API, an orderless combination API, and an ordered combination API as an API list according to the pattern analysis.
그리고 상기 API 기반 어플리케이션 분석 방법은, 상기 분석 결과를 토대로 기 설정된 형태의 그래프를 생성하는 과정을 더 포함할 수 있다.The API-based application analysis method may further include generating a graph having a preset form based on the analysis result.
그리고 상기 API 기반 어플리케이션 분석 방법은, 상기 생성된 그래프를 포함하는 분석 결과 정보를 사용자의 모바일 기기 또는 어플리케이션 스토어 서버로 전송하는 과정을 더 포함할 수 있다.The API-based application analysis method may further include transmitting analysis result information including the generated graph to a user's mobile device or an application store server.
상기와 같은 본 발명의 실시예에 따른 API 기반 어플리케이션 분석 장치 및 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상이 있다.According to the API-based application analysis apparatus and method according to an embodiment of the present invention as described above has one or more of the following effects.
본 발명의 실시예에 따른 API 기반 어플리케이션 분석 장치 및 방법에 의하면, 모바일 기기에 설치되는 어플리케이션에 대한 분석을 자동화하여 분석가에 의존하지 않고도 어플리케이션의 성향과 위험도를 보다 객관적이고 빠르게 분석할 수 있다. According to the API-based application analysis apparatus and method according to an embodiment of the present invention, it is possible to automate the analysis of the application installed in the mobile device to more objectively and quickly analyze the propensity and risk of the application without depending on the analyst.
또한, 전체 API의 분포를 분석함으로써, 위험 요소별 API 분포도와 위험도라는 정량적 수치를 가지고 모바일 기기 사용자에게 향후 예측되는 위험 요소 및 리스크(Risk)에 대한 가이드를 제공할 수 있다. In addition, by analyzing the distribution of the entire API, it is possible to provide mobile device users with a guide to predicting future risks and risks with quantitative values such as API distribution and risk level for each risk factor.
그리고 위험도가 일정 수준 이상이 되는 어플리케이션에 대해서만 분석가에게 의뢰함으로써 분석가의 업무 부담을 현저하게 줄일 수 있는 효과가 있다.And by requesting the analyst only for applications where the risk level is above a certain level, the burden on the analyst can be significantly reduced.
도 1은 본 발명의 실시예에 따른 API 기반 어플리케이션 분석 장치의 구조를 도시한 블록도,1 is a block diagram showing the structure of an API-based application analysis device according to an embodiment of the present invention;
도 2는 본 발명의 실시예에 따라 행위 분석에 따른 기능별 API 목록이 저장되는 데이터베이스들을 도시한 도면,2 is a diagram illustrating databases in which a list of APIs for each function according to behavior analysis is stored according to an embodiment of the present invention;
도 3은 본 발명의 실시예에 따라 패턴 분석에 따른 행위별 API 목록이 저장되는 데이터베이스들을 도시한 도면,3 is a diagram illustrating databases in which a list of APIs by behavior according to pattern analysis is stored according to an embodiment of the present invention;
도 4는 발명의 실시예에 따른 API 기반 어플리케이션 분석 장치의 동작 절차를 도시한 흐름도,4 is a flowchart illustrating an operation procedure of an API-based application analyzing apparatus according to an embodiment of the present invention;
도 5a 및 도 5b는 본 발명의 실시예에 따라 진단된 어플리케이션의 특성 및 위험도를 산출한 그래프.5A and 5B are graphs for calculating the characteristics and risks of applications diagnosed according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various forms, and only the embodiments are to make the disclosure of the present invention complete, and common knowledge in the art to which the present invention pertains. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the embodiments of the present invention, which may vary according to intentions or customs of users and 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.
본 발명의 실시예는, 모바일 운영체제 플랫폼 API의 사용 정보에 근거하여 모바일 기기에 설치되는 어플리케이션의 특성 및 위험도를 분석하고 진단하기 위한 것으로서, 운영체제 플랫폼 API를 행위 요소 및 패턴 별로 분류하고, 각각에 대한 가중치를 부여하여 진단 정책 모델을 생성한 후, 해당 어플리케이션에서 추출한 API를 분석하여 어플리케이션의 기능적 특성 및 위험도를 분석하는 것이다.An embodiment of the present invention is to analyze and diagnose characteristics and risks of an application installed on a mobile device based on usage information of a mobile operating system platform API, and classify the operating system platform API by behavior elements and patterns, After creating a diagnosis policy model by assigning weights, the APIs extracted from the application are analyzed to analyze the functional characteristics and risk of the application.
한편, 본 발명의 실시예에서는 모바일 운영체제 플랫폼(예컨대, 안드로이드, iOS, Bada 등)의 API 분석 방안에 대해 설명할 것이나, 모바일 운영체제 플랫폼에 한정되지는 않으며, 다양한 컴퓨팅 장치의 운영체제 플랫폼 사업자로부터 API를 제공 받을 수 있는 경우, 이에 대한 API 분석을 수행하는 본 발명의 적용이 가능함은 물론이다.Meanwhile, an embodiment of the present invention will describe an API analysis method of a mobile operating system platform (for example, Android, iOS, Bada, etc.), but is not limited to the mobile operating system platform, and provides APIs from operating system platform operators of various computing devices. If it can be provided, of course, it is possible to apply the present invention to perform the API analysis for this.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 API 기반 어플리케이션 분석 장치의 구조를 도시한 블록도이다.1 is a block diagram showing the structure of an API-based application analysis apparatus according to an embodiment of the present invention.
도 1을 참조하면, API 기반 어플리케이션 분석 장치(100)는 분석 제어부(110), 입력부(130), 그래프 생성부(140) 및 분석 결과 출력부(150) 등을 포함할 수 있으며, 분석 제어부(110)는 API 분석부(112), API 분류부(114), 진단 정책 수립부(116), 특성 분석부(118), 위험도 분석부(120) 및 API 추출부(122) 등을 포함할 수 있다.Referring to FIG. 1, the API-based application analyzing apparatus 100 may include an analysis control unit 110, an input unit 130, a graph generator 140, and an analysis result output unit 150. 110 may include an API analyzer 112, an API classifier 114, a diagnostic policy establisher 116, a feature analyzer 118, a risk analyzer 120, an API extractor 122, and the like. have.
이러한 API 기반 어플리케이션 분석 장치(100)는, 어플리케이션 스토어 서버에 연동되어 모바일 기기 사용자 또는 어플리케이션 스토어 서버 운영자의 요청에 의해 해당 어플리케이션의 API에 대한 분석을 수행할 수 있다.The API-based application analysis apparatus 100 may be linked to an application store server to analyze an API of a corresponding application at the request of a mobile device user or an application store server operator.
여기서, 어플리케이션 스토어 서버는 복수의 모바일 기기 사용자와, 복수의 어플리케이션 제공자가 유무선 네트워크망을 통해 접속하고, 각 어플리케이션 제공자로부터 어플리케이션이 업로드된 경우, 이에 대한 판매가 이루어지는 서버가 될 수 있다.Here, the application store server may be a server in which a plurality of mobile device users and a plurality of application providers are connected through a wired / wireless network, and when an application is uploaded from each application provider, sales thereof are made.
구체적으로 입력부(130)는 모바일 기기 사용자 또는 어플리케이션 스토어 서버 운영자로부터 특정 어플리케이션에 대한 분석요청 메시지를 입력 받을 수 있으며, 입력 받은 분석 요청 메시지는 분석 제어부(110)로 전달할 수 있다. 그리고 모바일 운영체제 플랫폼 사업자로부터 새로운 API를 입력 받은 경우, 이를 분석 제어부(110)로 전달할 수 있다.In detail, the input unit 130 may receive an analysis request message for a specific application from a mobile device user or an application store server operator, and transmit the received analysis request message to the analysis control unit 110. In addition, when a new API is input from the mobile operating system platform operator, it may be transmitted to the analysis controller 110.
분석 제어부(110)는 각 기능 블록들을 제어할 수 있으며, 모바일 운영체제 플랫폼 사업자로부터 전달 받은 API를 분석 및 분류하여 진단 정책 모델을 생성한 후, 분석 요청된 어플리케이션 API에 대한 기능적 특성 및 위험도를 분석하여 분석결과를 제공할 수 있다.The analysis control unit 110 may control the respective functional blocks, generate a diagnostic policy model by analyzing and classifying APIs received from the mobile operating system platform operators, and then analyze functional characteristics and risks of the requested application APIs. Can provide analysis results.
이러한 분석 제어부(110) 내 API 분석부(112)는 해당 모바일 운영체제 플랫폼 사업자로부터 API를 전달 받아 각 API에 대한 행위 분석 및 패턴 분석을 수행할 수 있다. 즉, 해당 모바일 운영체제 플랫폼 내의 모든 API에 대한 분석을 통해 행위별, 패턴별로 API 목록을 작성하기 위한 분석을 수행하고 이에 대한 분석 결과 정보를 출력할 수 있다.The API analysis unit 112 in the analysis control unit 110 may receive an API from a corresponding mobile operating system platform operator and perform behavior analysis and pattern analysis for each API. That is, by analyzing all APIs in the corresponding mobile operating system platform, an analysis for creating an API list by action and pattern may be performed, and the analysis result information may be output.
API 분석부(112)를 통해 출력된 분석 결과 정보는 API 분류부(114)로 전달되어 API 분류부(114)에서 각 API에 대해 행위 분석에 따른 기능별 API 목록 및 패턴 분석에 따른 행위별 API 목록으로 분류를 수행할 수 있다.The analysis result information output through the API analysis unit 112 is transferred to the API classification unit 114 so that the API classification unit 114 displays a list of APIs by functions according to behavior analysis and API list by behaviors according to pattern analysis for each API. Classification can be done with
각각의 API는 고유 기능을 가진 함수이므로 각 기능과, 각 기능을 토대로 수행하는 행위를 판단하여 각 API들을 분류할 수 있다.Since each API has its own function, each API can be classified by judging each function and the action performed based on each function.
도 2는 본 발명의 실시예에 따라 행위 분석에 따른 기능별 API 목록이 저장되는 데이터베이스들을 도시한 도면이며, 도 3은 본 발명의 실시예에 따라 패턴 분석에 따른 행위별 API 목록이 저장되는 데이터베이스들을 도시한 도면이다.FIG. 2 is a diagram illustrating databases in which API lists for functions according to behavior analysis are stored according to an embodiment of the present invention, and FIG. 3 is a diagram illustrating databases in which API lists for behaviors according to pattern analysis are stored according to an embodiment of the present invention. The figure is shown.
도 2 내지 도 3을 참조하면, API 분류부(114)는 행위 분석에 따른 기능별 API 판단부(200) 및 패턴 분석에 따른 행위별 API 판단부(310) 등을 포함할 수 있으며, 각각의 판단부에서는 API 분석부(112)를 통해 전달 받은 분석 결과 정보를 토대로 기능별, 행위별 API로 판단하여 그에 해당하는 데이터베이스로 분류를 수행할 수 있다.2 to 3, the API classification unit 114 may include a function-based API determination unit 200 according to a behavior analysis and an action-based API determination unit 310 according to a pattern analysis, and the like. The department may determine the function-specific and behavior-based API based on the analysis result information received through the API analysis unit 112 and perform classification into the corresponding database.
먼저 도 2의 기능별 API 판단부(200)는 분석 결과 정보에 포함된 행위 분석 정보를 토대로 각 API를 판단할 수 있다. 즉, 판단된 API의 기능에 따라 각각의 기능 목록 데이터베이스(DB)에 이를 저장시킬 수 있다.First, the API determination unit 200 of each function of FIG. 2 may determine each API based on behavior analysis information included in the analysis result information. That is, according to the determined function of the API can be stored in each function list database (DB).
각각의 기능 목록 데이터베이스는 무단과금 발생 가능 API DB(210), 일반자료 유출 가능 API DB(212), 루팅 가능 API DB(214), 블루투스 해킹 API DB(216), 시스템 손상 가능 API DB(218), 개인 정보 유출 가능 API DB(220), 단말 정보 유출 가능 API DB(222), 사용 정보 유출 가능 API DB(224), 위치 정보 유출 가능 API DB(226) 및 금융정보 유출 가능 API DB(228) 등을 포함할 수 있으며, 이에 한정하지는 않는다.Each function list database can be unauthorized charging API DB (210), general data leakage API DB (212), rootable API DB (214), Bluetooth hacking API DB (216), system damage possible API DB (218) , Personal information leakage API DB 220, terminal information leakage API DB 222, usage information leakage API DB 224, location information leakage API DB 226 and financial information leakage API DB 228 And the like, but are not limited thereto.
예를 들어, API 분석부(112)에서 안드로이드 플랫폼 API 중 "getUserData"에 대한 분석을 수행하여 이API가 해당 계정과 계정 정보와 관계된 키를 통해 사용자 정보를 제공하는 것으로 분석하고, 이 분석 결과를 API 분류부(114)로 전달할 수 있다.For example, the API analyzer 112 analyzes "getUserData" among the Android platform APIs, and analyzes that this API provides user information through a key associated with the account and the account information, and analyzes the result of the analysis. It may be delivered to the API classifier 114.
이에 API 분류부(114)의 기능별 API 판단부(200)에서는 분석 결과를 확인한 후, 해당 API가 사용자 정보를 제공하는 것으로 판단하여 사용정보 유출 가능 API DB(224)에 전달하여 저장하도록 할 수 있다.Accordingly, after checking the analysis result, the API determining unit 200 for each function of the API classification unit 114 may determine that the corresponding API provides the user information and transmit the stored information to the usage information leakable API DB 224. .
한편, 도 3의 행위별 API 판단부(310)는 분석 결과 정보에 포함된 패턴 분석 정보를 토대로 각 API를 판단할 수 있다. 즉 판단된 API의 행위에 따라 각 행위 목록 데이터베이스(DB)에 이를 저장시킬 수 있으며, 행위 목록 데이터베이스는 단일 API DB(312), 순서 없는 조합 API DB(314) 및 순서를 갖는 API DB(316) 등을 포함할 수 있다.On the other hand, the action-specific API determination unit 310 of FIG. 3 may determine each API based on the pattern analysis information included in the analysis result information. That is, it can be stored in each behavior list database (DB) according to the determined behavior of the API, and the behavior list database includes a single API DB 312, an unordered combination API DB 314, and an API DB 316 having an order. And the like.
예를 들어, "getUserData" API가 "getAccounts" API 및 "getPassword" API를 포함하는 android.accounts 패키지 내에 포함된 것으로 분석된 경우, 분석된 결과 정보를 API 분류부(114)로 전달할 수 있다. 이에 API 분류부(114)는 행위별 API 판단부(310)로 전달하여 기능별 API 판단부(200)에서는 "getUserData" API를 개인정보 유출 가능 API DB(220)로 전달하여 저장시킬 수 있다.For example, when it is analyzed that the "getUserData" API is included in the android.accounts package including the "getAccounts" API and the "getPassword" API, the analyzed result information may be transmitted to the API classification unit 114. The API classification unit 114 may be delivered to the API determination unit 310 for each action, and the API determination unit 200 for each function may deliver and store the "getUserData" API to the personal information leakage possible API DB 220.
그리고 행위별 API 판단부(310)에서는 "getUserData" API를 단일 API DB(312) 및 순서 없는 조합 API DB(314)에 연동시켜 가중치를 부여한 후, 저장시킬 수 있다.In addition, the action-based API determination unit 310 may link the "getUserData" API to the single API DB 312 and the unordered combination API DB 314 to give weights, and then store the weight.
이와 같이 각 어플리케이션에 포함되는 모든 API들은 독립적으로 쓰이는 것이 아니라 수많은 조합에 의해서 사용되기 때문에 단독으로 평가되어서는 안되고, 서로 간의 유기적인 관계를 고려해서 판단해야 한다.As such, all APIs included in each application are not used independently but are used by many combinations. Therefore, they should not be evaluated alone, and should be judged considering organic relations with each other.
이에 단일 API DB(312)에는 독립적으로 사용될 수 있는 API를 저장하고, 순서 없는 조합 API DB(314)에는 예를 들어, 개인 정보를 읽는 API, 파일이나 메모리 영역에 임시 보관하는 API, 추후 특정 시점에 기 설정된 서버로 송부하는 API가 하나의 조합으로 순서 없이 수행되는 것으로 판단된 경우 이를 저장시킬 수 있다. 그리고 순서를 갖는 API DB(316)에는 예를 들어, 개인 정보를 읽어낸 경우, 이를 바로 기설정된 서버로 송부하는 경우와 같이 순서적으로 특정 기능을 수행하는 API들이 분류되어 저장될 수 있다.The single API DB 312 stores APIs that can be used independently, and the unordered combination API DB 314 includes, for example, an API for reading personal information, an API for temporary storage in a file or memory area, and a later point in time. If it is determined that the API to be sent to the server set in advance is performed in any order in one combination, it can be stored. In the ordered API DB 316, for example, when personal information is read, APIs that sequentially perform a specific function may be classified and stored, such as when the personal information is read directly to a predetermined server.
한편, 기능별 API 판단부(200) 및 행위별 API 판단부(310) 각각은 서로 DB를 연동할 수 있으며, 구현 방식에 따라 서로 간에 종속관계가 될 수도 있다.On the other hand, each of the functional API determination unit 200 and the behavior-specific API determination unit 310 may be linked to each other DB, depending on the implementation method may be dependent on each other.
진단 정책 수립부(116)는 API 분류부(114)로부터 분류 정보를 전달 받을 수 있으며, 분류된 정보를 토대로 진단 정책 모델을 생성할 수 있다. 즉, 기능적 특성은 어느 한 어플리케이션 내에 포함된 기능별 API의 개수를 토대로 해당 어플리케이션의 기능적 특성 또는 성향을 확인할 수 있으며, 위험도는 해당 어플리케이션 내에서 각각 분류된 단일 API, 순서 없는 조합 API, 순서를 갖는 조합 API 별로 위험도 가중치를 부여하여 위험도 진단을 수행하는 것이다.The diagnostic policy establishment unit 116 may receive classification information from the API classification unit 114 and generate a diagnosis policy model based on the classified information. That is, the functional characteristics can identify the functional characteristics or propensity of the application based on the number of APIs for each function included in one application, and the risk is a single API classified in the application, an unordered combination API, and a combination having an order. Risk diagnosis is given by assigning a risk weight to each API.
이와 같이 특정 어플리케이션의 기능적 특성 및 위험도를 확인할 수 있는 진단 정책 모델은 각각 특성 분석부(118)와 위험도 분석부(120)로 전달될 수 있다.As described above, the diagnostic policy model for confirming the functional characteristics and the risk of the specific application may be transmitted to the characteristic analyzer 118 and the risk analyzer 120, respectively.
한편, API 추출부(122)는 입력부(130)로부터 모바일 기기 사용자의 분석 요청 메시지를 전달 받고, 분석 요청 메시지에 포함된 어플리케이션 데이터를 역공학 기술을 이용하여 파싱하고, 파싱을 통해 설정된 적어도 하나의 패키지와, 패키지 내에 포함된 적어도 하나의 API를 추출할 수 있다. 그리고 추출된 API는 특성 분석부(118) 및 위험도 분석부(120)로 전달할 수 있다.On the other hand, the API extraction unit 122 receives the analysis request message of the mobile device user from the input unit 130, parses the application data contained in the analysis request message using reverse engineering technology, at least one set through parsing The package and at least one API included in the package may be extracted. The extracted API may be transmitted to the characteristic analyzer 118 and the risk analyzer 120.
이때, API 추출부(122)는 추출을 위한 어플리케이션 데이터를 분석 요청 메시지를 통해 모바일 기기 사용자로부터 직접 전달 받을 수 있으나, 분석 요청 메시지에 해당 어플리케이션에 대한 계략적인 정보 외에 별도의 데이터가 포함되지 않은 경우에는 연동된 어플리케이션 스토어 서버로 해당 어플리케이션을 요청하여 전달 받을 수도 있다.In this case, the API extracting unit 122 may receive the application data for extraction directly from the mobile device user through the analysis request message, but the analysis request message does not include additional data other than the systematic information about the application. In the request to the application to the associated application store server may be delivered.
특성 분석부(118)는 어플리케이션의 성향 즉, 기능적 특성을 분석하여 확인하기 위한 것으로서, 진단 정책 모델을 토대로 각 API에 대한 기능적 분석을 통해 기능별 API로 분류하고, 각 기능별 API 개수 정보를 분석 결과로서 출력할 수 있다.The characteristic analysis unit 118 is for analyzing and confirming the propensity of the application, that is, the functional characteristics, and classifies the API into functional APIs through the functional analysis of each API based on a diagnosis policy model, and classifies the API number information for each functional function as an analysis result. You can print
위험도 분석부(120)는 어플리케이션의 잠재적인 위험도를 진단하기 위한 것으로서, 진단 정책 모델을 토대로 각 API에 행위별 분석을 통해 행위별 API로 분류하고, 각 행위별 API에 위험도 가중치를 부여할 수 있다. 예를 들어, 단일 API 위험도에 순서 없는 조합 API 또는 순서를 갖는 조합 API에 대한 위험도 가중치를 합산하여 어플리케이션의 잠재적인 위험도를 최종적으로 산출할 수 있다.The risk analysis unit 120 is for diagnosing a potential risk of an application. The risk analysis unit 120 may classify each API into action APIs through action analysis based on a diagnosis policy model, and may assign a risk weight to each action API. . For example, the risk weights for an unordered combinatorial API or an ordered combinatorial API may be summed up to a single API risk to finally calculate the potential risk of the application.
이에 특성 분석부(118) 및 위험도 분석부(120)로부터 분석된 결과 정보는 분석 결과 출력부(150) 및 그래프 생성부(140)로 전달할 수 있다.Accordingly, the result information analyzed from the characteristic analyzer 118 and the risk analyzer 120 may be transmitted to the analysis result output unit 150 and the graph generator 140.
그래프 생성부(140)는 특성 분석부(118) 및 위험도 분석부(120)로부터 특성 및 위험도 결과 정보를 전달 받아, 기 설정된 형식의 그래프를 통해 수치화 또는 퍼센트화할 수 있다. 이에 기능적 통계, 위험도 가중치 산출 내역 등과 같은 추이 분석 및 통계 결과를 산출하여 이를 포함하는 그래프 출력 정보를 분석 결과 출력부(150)로 전달할 수 있다.The graph generator 140 receives the characteristic and risk result information from the characteristic analyzer 118 and the risk analyzer 120, and digitizes or percentages the graph through a preset graph. Accordingly, trend analysis and statistical results such as functional statistics, risk weight calculation details, etc. may be calculated and graph output information including the same may be transmitted to the analysis result output unit 150.
그리고 분석 결과 출력부(150)는 특성 분석부(118) 및 위험도 분석부(120)로부터 특성 및 위험도 결과 정보를 전달 받고, 그래프 생성부(140)로부터 그래프 출력 정보를 전달 받을 수 있으며, 전달 받은 정보들은 서로 연동시켜 어플리케이션 스토어 서버에 전달하거나, 모바일 사용자 기기로 전송할 수 있다.The analysis result output unit 150 may receive the characteristic and risk result information from the characteristic analyzer 118 and the risk analyzer 120, and may receive the graph output information from the graph generator 140. The information may be linked to each other and transmitted to an application store server or transmitted to a mobile user device.
이를 통해 어플리케이션 스토어 서버에 저장된 수많은 어플리케이션들에 대한 기능적 특성 및 위험도를 빠르고 정확하게 측정하여 각 어플리케이션에 대한 다양한 기능을 미리 확인할 수 있으며, 각 기능의 구현으로 발생될 수 있는 잠재적인 위험 요소의 특성에 따른 추이 분석 및 통계 등의 자료로 활용 할 수 있다.This enables you to quickly and accurately measure the functional characteristics and risks of numerous applications stored in the application store server, and to check various functions for each application in advance, and according to the characteristics of potential risks that can be generated by the implementation of each function. It can be used as data for trend analysis and statistics.
도 4는 발명의 실시예에 따른 API 기반 어플리케이션 분석 장치의 동작 절차를 도시한 흐름도이다.4 is a flowchart illustrating an operation procedure of an API-based application analyzing apparatus according to an embodiment of the present invention.
도 4를 참조하면, 400단계에서 API 기반 어플리케이션 분석 장치(100) 내 API 분석부(112)는 기 저장되거나, 입력부(130)를 통해 운영체제 플랫폼 사업자로부터 API 정보를 전달 받은 경우, 각 API에 대한 행위 요소 및 패턴 별로 분석을 수행하여 분석된 결과 정보를 API 분류부(114)로 전달하게 된다.Referring to FIG. 4, when the API analysis unit 112 in the API-based application analysis apparatus 100 is previously stored or received API information from an operating system platform operator through the input unit 130 in step 400, for each API The analysis is performed for each action element and pattern, and the analyzed result information is transmitted to the API classification unit 114.
이에 API 분류부(114)에서는 402단계에서 분석된 결과 정보를 토대로 402단계에서 기능별 API로 판단하고, 404단계에서 패턴별 API라 판단된 각각의 API를 해당 DB 저장시키게 된다. 다만, 402단계 및 404단계는 반드시 순차적으로 수행되는 것은 아니며, 동시에 수행되거나 404단계가 402단계보다 먼저 수행될 수도 있다.Accordingly, the API classifier 114 determines the API according to the function in step 402 based on the result information analyzed in step 402, and stores each API determined as the API for each pattern in step 404 in the corresponding DB. However, steps 402 and 404 are not necessarily sequentially performed, or may be performed simultaneously or step 404 may be performed before step 402.
그리고 API 분류부(114)는 분류된 정보를 진단 정책 수립부(116)로 전달하여 진단 정책 수립부(116)에서 서비스 기능별 정책 및 위험도 정책 등을 수립하여 이를 진단 정책 모델로 생성하게 된다.In addition, the API classification unit 114 transmits the classified information to the diagnosis policy establishing unit 116 to establish a policy and a risk policy for each service function in the diagnosis policy establishing unit 116, and generate this as a diagnosis policy model.
이와 같이 진단 정책 모델이 생성된 이후, 408단계에서 API 추출부(122)는 입력부(130)로부터 모바일 기기 사용자의 분석 요청 메시지를 전달 받은 경우, 분석 요청 메시지에 포함된 어플리케이션 정보를 토대로 해당 어플리케이션 데이터를 역공학 기술로 파싱하여 API를 추출하게 된다.After the diagnostic policy model is generated as described above, when the API extraction unit 122 receives the analysis request message of the mobile device user from the input unit 130 in step 408, the corresponding application data is based on the application information included in the analysis request message. API is parsed by reverse engineering.
이에 추출된 API는 특성 분석부(118) 및 위험도 분석부(120)로 전달되어 410단계에서 특성 분석부(118)는 진단 정책 모델의 기능 요소별로 추출된 API와 비교 분석하여 기능별로 해당하는 API 개수를 합산하고, 위험도 분석부(120)에서는 진단 정책 모델 내 설정된 기능 요소별 API 및 행위별 위험도 가중치를 추출된 API와 비교 분석하여 해당하는 위험도 가중치를 합산하게 된다.The extracted API is transferred to the characteristic analyzer 118 and the risk analyzer 120, and in step 410, the characteristic analyzer 118 compares and analyzes the API extracted for each functional element of the diagnostic policy model to correspond to each API. The number is added, and the risk analysis unit 120 compares the risk-specific weights of the APIs and the behavior-specific weights set in the diagnostic policy model with the extracted APIs and adds the corresponding risk weights.
이에 특성 분석부(118)를 통해 일반적인 서비스 기능에 대한 분석 결과가 도출되고, 위험도 분석부(120)를 통해 잠재적인 위험도에 대한 분석 결과가 도출된다. 그리고 도출된 각각의 분석 결과 정보는 분석 결과 출력부(150)로 전달되어 412단계에서 분석 결과 출력부(150)는 해당 어플리케이션에 대한 서비스 기능 및 잠재적인 위험도를 포함하는 분석 결과 정보를 텍스트 및 숫자로 출력하거나, 연동된 그래프 생성부(140)를 통해 그래프화하여 어플리케이션 스토어 서버 또는 사용자의 모바일 기기로 전달하게 된다.As a result, an analysis result about the general service function is derived through the characteristic analysis unit 118, and an analysis result about the potential risk is derived through the risk analysis unit 120. Each derived analysis result information is transferred to the analysis result output unit 150. In step 412, the analysis result output unit 150 displays text and numbers of the analysis result information including service functions and potential risks for the corresponding application. The graph is output through the interlocked graph generation unit 140 and transferred to the application store server or the mobile device of the user.
도 5a 및 도 5b는 본 발명의 실시예에 따라 진단된 어플리케이션의 특성 및 위험도를 산출한 그래프이다.5A and 5B are graphs illustrating characteristics and risks of diagnosed applications according to an exemplary embodiment of the present invention.
도 5a 및 도 5b를 참조하면, 모바일기기 사용자 또는 어플리케이션 서버 운용자로부터 그래프 생성부(140)는 특성 분석부(118) 및 위험도 분석부(120)로부터 분석된 기능적 특성 정보 및 위험도 정보를 전달 받을 수 있으며, 이에 각 정보를 토대로 기 설정된 형식의 그래프를 생성할 수 있다.5A and 5B, the graph generator 140 may receive functional characteristic information and risk information analyzed from the characteristic analyzer 118 and the risk analyzer 120 from the mobile device user or the application server operator. In this way, a graph of a predetermined format may be generated based on each information.
도 5a는 해당 어플리케이션 내에 포함된 API들의 기능적 특성 및 위험도를 원형 그래프로 나타낸 것으로서, 개인 정보 접근 기능 API가 전체 API 중에서 30% 정도를 차지하고, 위치 정보 API가 전체 API 중 25% 정도를 차지하는 것을 알 수 있다. 다만, 이러한 기능들을 통해 단말 정보 유출 가능성이 15% 정도이고, 과금 비용 발생 가능성이 15% 정도임을 나타내고 있다.FIG. 5A is a circular graph of the functional characteristics and risks of APIs included in the application, indicating that the personal information access function API occupies about 30% of all APIs, and the location information API occupies about 25% of all APIs. Can be. However, these functions indicate that the likelihood of terminal information leakage is about 15%, and the possibility of charging cost is about 15%.
이때, 모바일 기기 사용자가 각 기능 영역을 클릭하는 경우, 이들 기능을 수행하는 API 목록 정보를 제공할 수 있다. 또한, 원형 그래프에서 % 형식이 아닌, API의 개수 합계로 나타낼 수도 있다.In this case, when the mobile device user clicks each function region, API list information for performing these functions may be provided. In addition, the pie graph may be represented as the sum of the number of APIs rather than the% format.
도 5b는 해당 어플리케이션 내에 포함된 API들의 기능적 특성 및 위험도를 방사형 그래프로 나타낸 것으로서, 해당 어플리케이션은 개인 정보 접근이 높은 편이며, 위치 정보 이용이 많으므로, 단말 정보 유출 가능 성이 높다는 것을 확인할 수 있다.Figure 5b is a radial graph of the functional characteristics and risks of the APIs included in the application, the application has a high personal information access, location information use a lot, it can be confirmed that the terminal information leakage possibility is high. .
이를 통해 어플리케이션 스토어 서버에 업로드된 어플리케이션을 다운 받으려하는 모바일 기기 사용자들은 각 어플리케이션에 대한 사전 API 분석 그래프를 통해 사용자가 정확하게 알지 못할 수 있는 어플리케이션의 기능적 특성 및 위험도 정보를 제공받을 수 있다.Through this, mobile device users who want to download the application uploaded to the application store server can be provided with the functional characteristics and risk information of the application that the user may not accurately know through the API analysis graph for each application.
한편, 본 발명의 실시예를 통해 산출된 기능적 특성 정보 및 위험도 점수는 어플리케이션의 기능 및 악성 여부를 결정하는 절대적인 판단 근거가 될 수는 없다. 다만, 모바일 어플리케이션이 기하급수적으로 늘어날 것으로 예상되는 환경에서 분석을 자동화하기 위한 1차 필터 역할을 수행하기에 충분하며, 이API들에 대한 상호 조합된 패턴을 분석함으로써 보다 정교한 위험도를 예측 및 진단을 수행할 수 있다.Meanwhile, the functional characteristic information and the risk score calculated through the embodiment of the present invention may not be an absolute basis for determining whether the application is functional or malicious. However, it is sufficient to serve as a primary filter for automating analysis in environments where mobile applications are expected to grow exponentially, and by analyzing the combined patterns for these APIs, more sophisticated risks can be predicted and diagnosed. Can be done.
이상 설명한 바와 같이, 본 발명의 실시예에 따른 API 기반 어플리케이션 분석 장치 및 방법은, 모바일 운영체제 플랫폼 API의 사용 정보에 근거하여 모바일 기기에 설치되는 어플리케이션의 특성 및 위험도를 분석하고 진단하기 위한 것으로서, 운영체제 플랫폼 API들을 행위 요소 및 패턴 별로 분류하고, 각각에 대한 가중치를 부여하여 진단 정책 모델을 생성한 후, 해당 어플리케이션에서 추출한 API를 분석하여 어플리케이션의 기능적 특성 및 위험도를 분석한다.As described above, the API-based application analysis apparatus and method according to an embodiment of the present invention is for analyzing and diagnosing characteristics and risks of an application installed in a mobile device based on usage information of a mobile operating system platform API. The platform APIs are classified by action elements and patterns, weighted for each to generate a diagnostic policy model, and then the functional characteristics and risks of the application are analyzed by analyzing the API extracted from the application.
그리고 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.In the detailed description of the present invention, specific embodiments have been described. However, various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by those equivalent to the scope of the claims.

Claims (10)

  1. 적어도 하나의 어플리케이션에 대한 분석 요청 메시지를 입력 받는 입력부와,An input unit configured to receive an analysis request message for at least one application;
    운영체제 플랫폼 내의 API(Application Programming Interface)를 행위 요소 및 패턴 별로 분류하여 진단 정책 모델을 생성하고, 생성된 진단 정책 모델을 토대로 분석 요청된 어플리케이션의 API에 대한 기능적 특징 또는 위험도 중 적어도 하나를 분석하여 분석 결과를 출력하는 분석 제어부를 포함하며,API (Application Programming Interface) in OS platform is classified by action elements and patterns to generate a diagnostic policy model, and based on the generated diagnostic policy model, at least one of the functional characteristics or risks of the API of the requested application is analyzed. An analysis control unit for outputting a result,
    상기 분석 제어부는,The analysis control unit,
    상기 분석 요청된 어플리케이션으로부터 API를 추출하는 API 추출부와,An API extraction unit for extracting an API from the application for which the analysis is requested;
    상기 진단 정책 모델을 토대로 상기 추출된 API에서 해당 기능을 분석하여 동일한 기능적 특성을 가지는 API 개수를 합산하는 특성 분석부와,A characteristic analysis unit for analyzing the corresponding function in the extracted API based on the diagnostic policy model and summing the number of APIs having the same functional characteristics;
    상기 추출된 API에서 해당 위험도를 분석하여 동일한 위험도를 가지는 API에 대해 기 설정된 가중치를 합산하는 위험도 분석부A risk analysis unit for analyzing the corresponding risk in the extracted API and summing preset weights for APIs having the same risk.
    를 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.API-based application analysis device comprising a.
  2. 제 1항에 있어서,The method of claim 1,
    상기 분석 제어부는,The analysis control unit,
    상기 운영체제 플랫폼의 모든 API에 대해 행위별, 패턴별로 API 분석을 수행하는 API 분석부와,An API analysis unit which performs API analysis for each API of each OS and pattern of the OS platform;
    상기 API 분석을 토대로, 행위 분석에 따른 기능별 API 목록 및 패턴 분석에 따른 행위별 API 목록으로 분류하는 API 분류부와,An API classification unit classifying the API list for each function according to the analysis of behavior and the API list for each action according to the pattern analysis based on the API analysis;
    상기 API 분류부로부터 분류된 정보를 토대로 상기 진단 정책 모델을 생성하는 진단 정책 수립부A diagnostic policy establishment unit that generates the diagnostic policy model based on information classified from the API classification unit
    를 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.API-based application analysis device further comprising.
  3. 제 2항에 있어서,The method of claim 2,
    상기 진단 정책 수립부는,The diagnosis policy establishing unit,
    상기 패턴 분석에 따른 행위별 API 목록으로 단일 API, 순서 없는 조합 API 및 순서 있는 조합 API 각각에 대한 가중치를 부여하여 위험도 진단 정책 모델을 생성하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.API-based application analysis device, characterized in that for generating a risk diagnosis policy model by assigning a weight to each of the single API, the orderless combination API and the ordered combination API as the API list for each action according to the pattern analysis.
  4. 제 1항에 있어서,The method of claim 1,
    상기 API 기반 어플리케이션 분석 장치는,The API-based application analysis device,
    상기 분석 결과를 토대로 기 설정된 형태의 그래프를 생성하는 그래프 생성부Graph generation unit for generating a graph of a predetermined form based on the analysis result
    를 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.API-based application analysis device further comprising.
  5. 제 4항에 있어서,The method of claim 4, wherein
    상기 API 기반 어플리케이션 분석 장치는,The API-based application analysis device,
    상기 생성된 그래프를 포함하는 분석 결과 정보를 사용자의 모바일 기기 또는 어플리케이션 스토어 서버로 전송하는 분석 결과 출력부Analysis result output unit for transmitting the analysis result information including the generated graph to the user's mobile device or application store server
    를 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.API-based application analysis device further comprising.
  6. 적어도 하나의 어플리케이션에 대한 분석 요청 메시지를 입력 받는 과정과,Receiving an analysis request message for at least one application;
    운영체제 플랫폼 내의 API를 행위 요소 및 패턴 별로 분류하여 진단 정책 모델을 생성하는 과정과, Creating a diagnostic policy model by classifying APIs within operating system platforms by behavioral elements and patterns;
    생성된 진단 정책 모델을 토대로 분석 요청된 어플리케이션의 API에 대한 기능적 특징 및 위험도 중 적어도 하나를 분석하여 분석 결과를 출력하는 과정을 포함하며,Analyzing at least one of functional features and risks of the API of the requested application based on the generated diagnostic policy model and outputting the analysis result;
    상기 분석 결과를 출력하는 과정은,The process of outputting the analysis result,
    상기 분석 요청된 어플리케이션으로부터 API를 추출하는 과정과,Extracting an API from the analysis-requested application;
    상기 진단 정책 모델을 토대로 상기 추출된 API에서 해당 기능을 분석하여 동일한 기능적 특성을 가지는 API 개수를 합산하는 과정과,Analyzing the corresponding function in the extracted API based on the diagnostic policy model and adding up the number of APIs having the same functional characteristics;
    상기 추출된 API에서 해당 위험도를 분석하여 동일한 위험도를 가지는 API에 대해 기 설정된 가중치를 합산하는 과정Analyzing the corresponding risk in the extracted API and summing preset weights for APIs having the same risk
    을 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.API-based application analysis method comprising a.
  7. 제 6항에 있어서,The method of claim 6,
    상기 진단 정책 모델을 생성하는 과정은,The process of generating the diagnostic policy model,
    상기 운영체제 플랫폼의 모든 API에 대해 행위별, 패턴별로 API 분석을 수행하는 과정과,A process of performing API analysis for each API of each OS and pattern of the OS platform;
    상기 API 분석을 토대로, 행위 분석에 따른 기능별 API 목록 및 패턴 분석에 따른 행위별 API 목록으로 분류하는 과정과,Classifying the API list by function based on the analysis of the API and the API list by action based on the pattern analysis;
    상기 분류된 정보를 토대로 상기 진단 정책 모델을 생성하는 과정Generating the diagnosis policy model based on the classified information
    을 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.API-based application analysis method characterized in that it further comprises.
  8. 제 7항에 있어서,The method of claim 7, wherein
    상기 진단 정책 모델을 생성하는 과정은,The process of generating the diagnostic policy model,
    상기 패턴 분석에 따른 행위별 API 목록으로 단일 API, 순서 없는 조합 API 및 순서 있는 조합 API 각각에 대한 가중치를 부여하여 위험도 진단 정책 모델을 생성하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.API-based application analysis method, characterized in that for generating a risk diagnosis policy model by assigning a weight to each of a single API, an orderless combination API and an ordered combination API as a list of APIs by behavior according to the pattern analysis.
  9. 제 6항에 있어서,The method of claim 6,
    상기 API 기반 어플리케이션 분석 방법은,The API based application analysis method,
    상기 분석 결과를 토대로 기 설정된 형태의 그래프를 생성하는 과정A process of generating a graph of a preset form based on the analysis result
    을 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.API-based application analysis method characterized in that it further comprises.
  10. 제 9항에 있어서,The method of claim 9,
    상기 API 기반 어플리케이션 분석 방법은,The API based application analysis method,
    상기 생성된 그래프를 포함하는 분석 결과 정보를 사용자의 모바일 기기 또는 어플리케이션 스토어 서버로 전송하는 과정Transmitting the analysis result information including the generated graph to a user's mobile device or an application store server
    을 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.API-based application analysis method characterized in that it further comprises.
PCT/KR2012/007449 2011-11-22 2012-09-18 Device and method for analyzing api-based application WO2013077538A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0122294 2011-11-22
KR1020110122294A KR101143999B1 (en) 2011-11-22 2011-11-22 Apparatus and method for analyzing application based on application programming interface

Publications (1)

Publication Number Publication Date
WO2013077538A1 true WO2013077538A1 (en) 2013-05-30

Family

ID=46271733

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/007449 WO2013077538A1 (en) 2011-11-22 2012-09-18 Device and method for analyzing api-based application

Country Status (2)

Country Link
KR (1) KR101143999B1 (en)
WO (1) WO2013077538A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106716A (en) * 2012-11-27 2014-06-09 Nippon Telegr & Teleph Corp <Ntt> Control device, control system, control method, and control program
US10747556B2 (en) * 2018-10-18 2020-08-18 Sap Se Serverless function as a service (FAAS)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043919B2 (en) 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
KR101325954B1 (en) 2012-09-13 2013-11-20 주식회사 인프라웨어테크놀러지 Method of auto-executing android applications using code-analysis and view analysis, and computer-readable recording medium with android application auto-executing program for the same
KR101402057B1 (en) 2012-09-19 2014-06-03 주식회사 이스트시큐리티 Analyzing system of repackage application through calculation of risk and method thereof
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
KR101739125B1 (en) 2013-02-27 2017-05-24 한국전자통신연구원 Apparatus and method for analysing a permission of application for mobile device and detecting risk
KR101434094B1 (en) 2013-03-18 2014-08-26 한양대학교 에리카산학협력단 Blocking harmful application by intent monitoring in android platform
KR101453412B1 (en) 2013-06-21 2014-10-22 주식회사 케이티 Smart adaptor and control method for executing application programming interface
AU2016258533B2 (en) 2015-05-01 2017-11-30 Lookout, Inc. Determining source of side-loaded software
KR102415971B1 (en) 2015-12-10 2022-07-05 한국전자통신연구원 Apparatus and Method for Recognizing Vicious Mobile App
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
WO2023022359A1 (en) * 2021-08-19 2023-02-23 삼성전자 주식회사 Electronic device for detecting execution error of application, and operation method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070121195A (en) * 2006-06-21 2007-12-27 한국전자통신연구원 A system and method for detection of a hidden process using system event
KR20080065814A (en) * 2007-01-10 2008-07-15 재단법인서울대학교산학협력재단 Device for automatic creating an embedded software for realtime operating system, and method for the same
KR100991807B1 (en) * 2008-05-20 2010-11-04 주식회사 웰비아닷컴 System and method for detecting and managing malicious code in computer systems using microsoft windows operating systems
KR101046549B1 (en) * 2003-04-17 2011-07-05 가부시키가이샤 엔티티 도코모 AP systems, methods and computer program products for accessing content / security analysis functionality in a mobile communication framework

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101046549B1 (en) * 2003-04-17 2011-07-05 가부시키가이샤 엔티티 도코모 AP systems, methods and computer program products for accessing content / security analysis functionality in a mobile communication framework
KR20070121195A (en) * 2006-06-21 2007-12-27 한국전자통신연구원 A system and method for detection of a hidden process using system event
KR20080065814A (en) * 2007-01-10 2008-07-15 재단법인서울대학교산학협력재단 Device for automatic creating an embedded software for realtime operating system, and method for the same
KR100991807B1 (en) * 2008-05-20 2010-11-04 주식회사 웰비아닷컴 System and method for detecting and managing malicious code in computer systems using microsoft windows operating systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WONTAE, SIM ET AL.: "Android Application Analysis Method for Malicious Activity Detection", JOURNAL OF THE KOREA INSTITUTE OF INFORMATION SECURITY & CRYPTOLOGY, vol. 21, no. 1, 28 February 2011 (2011-02-28), KOREA INSTITUTE OF INFORMATION SECURITY AND CRYPTOLOGY, pages 213 - 219 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106716A (en) * 2012-11-27 2014-06-09 Nippon Telegr & Teleph Corp <Ntt> Control device, control system, control method, and control program
US10747556B2 (en) * 2018-10-18 2020-08-18 Sap Se Serverless function as a service (FAAS)
US11481234B2 (en) 2018-10-18 2022-10-25 Sap Se Serverless function as a service (FAAS)

Also Published As

Publication number Publication date
KR101143999B1 (en) 2012-05-09

Similar Documents

Publication Publication Date Title
WO2013077538A1 (en) Device and method for analyzing api-based application
US11019114B2 (en) Method and system for application security evaluation
WO2011102605A2 (en) Service system that diagnoses the vulnerability of a web service in real time mode and provides the result information thereof
WO2013089340A1 (en) Apparatus and method for detecting similarity between applications
JP5802848B2 (en) Computer-implemented method, non-temporary computer-readable medium and computer system for identifying Trojanized applications (apps) for mobile environments
CN104517054B (en) Method, device, client and server for detecting malicious APK
WO2018182126A1 (en) System and method for authenticating safe software
WO2014035043A1 (en) Apparatus and method for diagnosing malicious applications
WO2015056885A1 (en) Detection device and detection method for malicious android application
WO2014088262A1 (en) Apparatus and method for detecting fraudulent/altered applications
CN105787366A (en) Android software visualization safety analysis method based on module relations
CN104715195A (en) Malicious code detecting system and method based on dynamic instrumentation
WO2011090329A2 (en) Apparatus, system, and method for preventing infection by malicious code
CN111835756A (en) APP privacy compliance detection method and device, computer equipment and storage medium
WO2013073762A1 (en) Method and apparatus for providing and collecting data about abnormal termination of program
WO2014168408A1 (en) Device, system and method for diagnosing malware on basis of cloud
CN109818972B (en) Information security management method and device for industrial control system and electronic equipment
KR20160090566A (en) Apparatus and method for detecting APK malware filter using valid market data
WO2018199366A1 (en) Method and system for detecting whether obfuscation has been applied to dex file and evaluating security
CN111865927B (en) Vulnerability processing method and device based on system, computer equipment and storage medium
WO2015050348A1 (en) Method for verifying application on basis of object extraction, and device thereof
CN115525897A (en) System detection method and device for terminal equipment, electronic device and storage medium
CN109714371B (en) Industrial control network safety detection system
WO2014098387A1 (en) Apparatus and method for diagnosing malicious application
Rodriguez et al. Ntapps: A network traffic analyzer of android applications

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

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

Country of ref document: EP

Kind code of ref document: A1