KR101143999B1 - Apparatus and method for analyzing application based on application programming interface - Google Patents
Apparatus and method for analyzing application based on application programming interface Download PDFInfo
- Publication number
- KR101143999B1 KR101143999B1 KR1020110122294A KR20110122294A KR101143999B1 KR 101143999 B1 KR101143999 B1 KR 101143999B1 KR 1020110122294 A KR1020110122294 A KR 1020110122294A KR 20110122294 A KR20110122294 A KR 20110122294A KR 101143999 B1 KR101143999 B1 KR 101143999B1
- Authority
- KR
- South Korea
- Prior art keywords
- api
- analysis
- application
- unit
- policy model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
Abstract
Description
본 발명은 모바일 기기에서 사용되는 어플리케이션을 분석하는 기술에 관한 것으로서, 특히 모바일 운영체제 플랫폼 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)를 통한 진단 방법이 사용되고 있다.Therefore, virus diagnosis companies and security institutes perform behavior-based diagnosis on application permission, or application analyst directly analyzes source code or machine language of application using reverse engineering technology. Based on the results, a diagnostic method using the 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 by using reverse engineering is effective for diagnosing malware, but it is difficult to determine 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-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 for the API of the requested application based on the generated diagnostic policy model.
그리고 상기 분석 제어부는, 상기 운영체제 플랫폼의 모든 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 by action and pattern, and the API list according to the function analysis and the pattern analysis based on the API analysis based on the API analysis. An API classification unit to classify, and a diagnostic policy establishment unit for generating the diagnostic policy model based on the information classified from the API classification unit.
그리고 상기 진단 정책 수립부는, 상기 패턴 분석에 따른 API 목록으로 단일 API, 순서 없는 조합 API 및 순서 있는 조합 API 각각에 대한 가중치를 부여하여 위험도 진단 정책 모델을 생성할 수 있다.The diagnostic policy establishment unit 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를 추출하는 API 추출부와, 상기 진단 정책 모델을 토대로 상기 추출된 API에서 해당 기능을 분석하여 동일한 기능적 특성을 가지는 API 개수를 합산하는 특성 분석부와, 상기 추출된 API에서 해당 위험도를 분석하여 동일한 위험도를 가지는 API에 대해 기 설정된 가중치를 합산하는 위험도 분석부를 포함할 수 있다.The analysis control unit may include an API extraction unit that extracts an API from the requested application, and a feature analysis unit that adds the number of APIs having the same functional characteristics by analyzing a corresponding function in the extracted API based on the diagnostic policy model. And a risk analysis unit for analyzing a corresponding risk in the extracted API and summing preset weights for APIs having the same risk.
그리고 상기 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에 대한 기능적 특징 및 위험도 중 적어도 하나를 분석하여 분석 결과를 출력하는 과정을 포함할 수 있다.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 functional features and risks of the API of the requested application based on the generated diagnostic policy model.
그리고 상기 진단 정책 모델을 생성하는 과정은, 상기 운영체제 플랫폼의 모든 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 include classifying 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를 추출하는 과정과, 상기 진단 정책 모델을 토대로 상기 추출된 API에서 해당 기능을 분석하여 동일한 기능적 특성을 가지는 API 개수를 합산하는 과정과, 상기 추출된 API에서 해당 위험도를 분석하여 동일한 위험도를 가지는 API에 대해 기 설정된 가중치를 합산하는 과정을 포함할 수 있다.The process of outputting the analysis result may include: extracting an API from the requested application; and analyzing a 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 summing corresponding weights for APIs having the same risk by analyzing a corresponding risk in the extracted API.
그리고 상기 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 기반 어플리케이션 분석 장치의 구조를 도시한 블록도,
도 2는 본 발명의 실시예에 따라 행위 분석에 따른 기능별 API 목록을 도시한 도면,
도 3은 본 발명의 실시예에 따라 패턴 분석에 따른 행위별 API 목록을 도시한 도면,
도 4는 발명의 실시예에 따른 API 기반 어플리케이션 분석 장치의 동작 절차를 도시한 흐름도,
도 5는 본 발명의 실시예에 따라 진단된 어플리케이션의 특성 및 위험도를 산출한 그래프.1 is a block diagram showing the structure of an API-based application analysis device according to an embodiment of the present invention;
2 is a diagram illustrating a list of APIs for each function according to a behavior analysis according to an embodiment of the present invention;
3 is a view showing a list of API by action according to the pattern analysis according to an embodiment of the present invention,
4 is a flowchart illustrating an operation procedure of an API-based application analyzing apparatus according to an embodiment of the present invention;
5 is a graph illustrating 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 different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. 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 based on the contents throughout this specification.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Each block of the accompanying block diagrams and combinations of steps 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
이러한 API 기반 어플리케이션 분석 장치(100)는, 어플리케이션 스토어 서버에 연동되어 모바일 기기 사용자 또는 어플리케이션 스토어 서버 운영자의 요청에 의해 해당 어플리케이션의 API에 대한 분석을 수행할 수 있다.The API-based
여기서, 어플리케이션 스토어 서버는 복수의 모바일 기기 사용자와, 복수의 어플리케이션 제공자가 유무선 네트워크망을 통해 접속하고, 각 어플리케이션 제공자로부터 어플리케이션이 업로드된 경우, 이에 대한 판매가 이루어지는 서버가 될 수 있다.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
분석 제어부(110)는 각 기능 블록들을 제어할 수 있으며, 모바일 운영체제 플랫폼 사업자로부터 전달 받은 API를 분석 및 분류하여 진단 정책 모델을 생성한 후, 분석 요청된 어플리케이션 API에 대한 기능적 특성 및 위험도를 분석하여 분석결과를 제공할 수 있다.The
이러한 분석 제어부(110) 내 API 분석부(112)는 해당 모바일 운영체제 플랫폼 사업자로부터 API를 전달 받아 각 API에 대한 행위 분석 및 패턴 분석을 수행할 수 있다. 즉, 해당 모바일 운영체제 플랫폼 내의 모든 API에 대한 분석을 통해 행위별, 패턴별로 API 목록을 작성하기 위한 분석을 수행하고 이에 대한 분석 결과 정보를 출력할 수 있다.The
API 분석부(112)를 통해 출력된 분석 결과 정보는 API 분류부(114)로 전달되어 API 분류부(114)에서 각 API에 대해 행위 분석에 따른 기능별 API 목록 및 패턴 분석에 따른 행위별 API 목록으로 분류를 수행할 수 있다.The analysis result information output through the
각각의 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 목록을 도시한 도면이다.2 is a view showing a list of API by function according to the analysis of the behavior according to an embodiment of the present invention, Figure 3 is a view showing a list of API by action according to the pattern analysis according to an embodiment of the present invention.
도 2 내지 도 3을 참조하면, API 분류부(114)는 행위 분석에 따른 기능별 API 판단부(200) 및 패턴 분석에 따른 행위별 API 판단부(310) 등을 포함할 수 있으며, 각각의 판단부에서는 API 분석부(112)를 통해 전달 받은 분석 결과 정보를 토대로 기능별, 행위별 API로 판단하여 그에 해당하는 데이터베이스로 분류를 수행할 수 있다.2 to 3, the
먼저 도 2의 행위 분석에 따른 기능별 API 판단부(300)는 분석 결과 정보에 포함된 행위 분석 정보를 토대로 각 API를 판단할 수 있다. 즉, 판단된 API의 기능에 따라 각각의 기능 목록 데이터베이스(DB)에 이를 저장시킬 수 있다.First, the API determination unit 300 for each function according to the behavior analysis of FIG. 2 may determine each API based on the 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
예를 들어, API 분석부(112)에서 안드로이드 플랫폼 API 중 "getUserData"에 대한 분석을 수행하여 이API가 해당 계정과 계정 정보와 관계된 키를 통해 사용자 정보를 제공하는 것으로 분석하고, 이 분석 결과를 API 분류부(114)로 전달할 수 있다.For example, the
이에 API 분류부(114)의 행위 분석에 따른 기능별 API 판단부(200)에서는 분석 결과를 확인한 후, 해당 API가 사용자 정보를 제공하는 것으로 판단하여 사용정보 유출 가능 API DB(224)에 전달하여 저장하도록 할 수 있다.Accordingly, after checking the analysis result, the
한편, 도 3의 패턴 분석에 따른 행위별 API 판단부(310)는 분석 결과 정보에 포함된 패턴 분석 정보를 토대로 각 API를 판단할 수 있다. 즉 판단된 API의 행위에 따라 각 행위 목록 데이터베이스(DB)에 이를 저장시킬 수 있으며, 행위 목록 데이터베이스는 단일 API DB(312), 순서 없는 조합 API DB(314) 및 순서를 갖는 API DB(316) 등을 포함할 수 있다.Meanwhile, the
예를 들어, "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 판단부(310)에서는 "getUserData" API를 단일 API DB(312) 및 순서 없는 조합 API DB(314)에 연동시켜 가중치를 부여한 후, 저장시킬 수 있다.In addition, the
이와 같이 각 어플리케이션에 포함되는 모든 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
한편, 행위 분석에 따른 기능별 API 판단부(300) 및 패턴 분석에 따른 행위별 API 판단부(310) 각각은 서로 DB를 연동할 수 있으며, 구현 방식에 따라 서로 간에 종속관계가 될 수도 있다.On the other hand, each of the API determination unit 300 by function according to the behavior analysis and the
진단 정책 수립부(116)는 API 분류부(114)로부터 분류 정보를 전달 받을 수 있으며, 분류된 정보를 토대로 진단 정책 모델을 생성할 수 있다. 즉, 기능적 특성은 어느 한 어플리케이션 내에 포함된 기능별 API의 개수를 토대로 해당 어플리케이션의 기능적 특성 또는 성향을 확인할 수 있으며, 위험도는 해당 어플리케이션 내에서 각각 분류된 단일 API, 순서 없는 조합 API, 순서를 갖는 조합 API 별로 위험도 가중치를 부여하여 위험도 진단을 수행하는 것이다.The diagnostic
이와 같이 특정 어플리케이션의 기능적 특성 및 위험도를 확인할 수 있는 진단 정책 모델은 각각 특성 분석부(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
한편, API 추출부(122)는 입력부(130)로부터 모바일 기기 사용자의 분석 요청 메시지를 전달 받고, 분석 요청 메시지에 포함된 어플리케이션 데이터를 역공학 기술을 이용하여 파싱하고, 파싱을 통해 설정된 적어도 하나의 패키지와, 패키지 내에 포함된 적어도 하나의 API를 추출할 수 있다. 그리고 추출된 API는 특성 분석부(118) 및 위험도 분석부(120)로 전달할 수 있다.On the other hand, the
이때, API 추출부(122)는 추출을 위한 어플리케이션 데이터를 분석 요청 메시지를 통해 모바일 기기 사용자로부터 직접 전달 받을 수 있으나, 분석 요청 메시지에 해당 어플리케이션에 대한 계략적인 정보 외에 별도의 데이터가 포함되지 않은 경우에는 연동된 어플리케이션 스토어 서버로 해당 어플리케이션을 요청하여 전달 받을 수도 있다.In this case, the
특성 분석부(118)는 어플리케이션의 성향 즉, 기능적 특성을 분석하여 확인하기 위한 것으로서, 진단 정책 모델을 토대로 각 API에 대한 기능적 분석을 통해 기능별 API로 분류하고, 각 기능별 API 개수 정보를 분석 결과로서 출력할 수 있다.The
위험도 분석부(120)는 어플리케이션의 잠재적인 위험도를 진단하기 위한 것으로서, 진단 정책 모델을 토대로 각 API에 행위별 분석을 통해 행위별 API로 분류하고, 각 행위별 API에 위험도 가중치를 부여할 수 있다. 예를 들어, 단일 API 위험도에 순서 없는 조합 API 또는 순서를 갖는 조합 API에 대한 위험도 가중치를 합산하여 어플리케이션의 잠재적인 위험도를 최종적으로 산출할 수 있다.The
이에 특성 분석부(118) 및 위험도 분석부(120)로부터 분석된 결과 정보는 분석 결과 출력부(150) 및 그래프 생성부(140)로 전달할 수 있다.Accordingly, the result information analyzed from the
그래프 생성부(140)는 특성 분석부(118) 및 위험도 분석부(120)로부터 특성 및 위험도 결과 정보를 전달 받아, 기 설정된 형식의 그래프를 통해 수치화 또는 퍼센트화할 수 있다. 이에 기능적 통계, 위험도 가중치 산출 내역 등과 같은 추이 분석 및 통계 결과를 산출하여 이를 포함하는 그래프 출력 정보를 분석 결과 출력부(150)로 전달할 수 있다.The
그리고 분석 결과 출력부(150)는 특성 분석부(118) 및 위험도 분석부(120)로부터 특성 및 위험도 결과 정보를 전달 받고, 그래프 생성부(140)로부터 그래프 출력 정보를 전달 받을 수 있으며, 전달 받은 정보들은 서로 연동시켜 어플리케이션 스토어 서버에 전달하거나, 모바일 사용자 기기로 전송할 수 있다.The analysis
이를 통해 어플리케이션 스토어 서버에 저장된 수많은 어플리케이션들에 대한 기능적 특성 및 위험도를 빠르고 정확하게 측정하여 각 어플리케이션에 대한 다양한 기능을 미리 확인할 수 있으며, 각 기능의 구현으로 발생될 수 있는 잠재적인 위험 요소의 특성에 따른 추이 분석 및 통계 등의 자료로 활용 할 수 있다.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 분류부(114)에서는 402단계에서 분석된 결과 정보를 토대로 402단계에서 기능별 API로 판단하고, 404단계에서 패턴별 API라 판단된 각각의 API를 해당 DB 저장시키게 된다. 다만, 402단계 및 404단계는 반드시 순차적으로 수행되는 것은 아니며, 동시에 수행되거나 404단계가 402단계보다 먼저 수행될 수도 있다.Accordingly, the
그리고 API 분류부(114)는 분류된 정보를 진단 정책 수립부(116)로 전달하여 진단 정책 수립부(116)에서 서비스 기능별 정책 및 위험도 정책 등을 수립하여 이를 진단 정책 모델로 생성하게 된다.In addition, the
이와 같이 진단 정책 모델이 생성된 이후, 408단계에서 API 추출부(122)는 입력부(130)로부터 모바일 기기 사용자의 분석 요청 메시지를 전달 받은 경우, 분석 요청 메시지에 포함된 어플리케이션 정보를 토대로 해당 어플리케이션 데이터를 역공학 기술로 파싱하여 API를 추출하게 된다.After the diagnostic policy model is generated as described above, when the
이에 추출된 API는 특성 분석부(118) 및 위험도 분석부(120)로 전달되어 410단계에서 특성 분석부(118)는 진단 정책 모델의 기능 요소 별로 추출된 API와 비교 분석하여 기능별로 해당하는 API 개수를 합산하고, 위험도 분석부(120)에서는 진단 정책 모델 내 설정된 기능 요소 별 API 및 행위별 위험도 가중치를 추출된 API와 비교 분석하여 해당하는 위험도 가중치를 합산하게 된다.The extracted API is transferred to the
이에 특성 분석부(118)를 통해 일반적인 서비스 기능에 대한 분석 결과가 도출되고, 위험도 분석부(120)를 통해 잠재적인 위험도에 대한 분석 결과가 도출된다. 그리고 도출된 각각의 분석 결과 정보는 분석 결과 출력부(150)로 전달되어 412단계에서 분석 결과 출력부(150)는 해당 어플리케이션에 대한 서비스 기능 및 잠재적인 위험도를 포함하는 분석 결과 정보를 텍스트 및 숫자로 출력하거나, 연동된 그래프 생성부(140)를 통해 그래프화하여 어플리케이션 스토어 서버 또는 사용자의 모바일 기기로 전달하게 된다.As a result, an analysis result about the general service function is derived through the
도 5는 본 발명의 실시예에 따라 진단된 어플리케이션의 특성 및 위험도를 산출한 그래프이다.5 is a graph illustrating characteristics and risks of an application diagnosed according to an exemplary embodiment of the present invention.
도 5를 참조하면, 모바일기기 사용자 또는 어플리케이션 서버 운용자로부터 Referring to Figure 5, from a mobile device user or an application server operator
그래프 생성부(140)는 특성 분석부(118) 및 위험도 분석부(120)로부터 분석된 기능적 특성 정보 및 위험도 정보를 전달 받을 수 있으며, 이에 각 정보를 토대로 기 설정된 형식의 그래프를 생성할 수 있다.The
도 5의 (a)는 해당 어플리케이션 내에 포함된 API들의 기능적 특성 및 위험도를 원형 그래프로 나타낸 것으로서, 개인 정보 접근 기능 API가 전체 API 중에서 30% 정도를 차지하고, 위치 정보 API가 전체 API 중 25% 정도를 차지하는 것을 알 수 있다. 다만, 이러한 기능들을 통해 단말 정보 유출 가능성이 15% 정도이고, 과금 비용 발생 가능성이 15% 정도임을 나타내고 있다.FIG. 5 (a) shows the functional characteristics and risks of the APIs included in the application in a circular graph, wherein the personal information access function API occupies about 30% of all APIs, and the location information API is about 25% of all APIs. It can be seen that occupies. 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.
도 5의 (b)는 해당 어플리케이션 내에 포함된 API들의 기능적 특성 및 위험도를 방사형 그래프로 나타낸 것으로서, 해당 어플리케이션은 개인 정보 접근이 높은 편이며, 위치 정보 이용이 많으므로, 단말 정보 유출 가능 성이 높다는 것을 확인할 수 있다.Figure 5 (b) 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, there is a high possibility of terminal information leakage You can see that.
이를 통해 어플리케이션 스토어 서버에 업로드된 어플리케이션을 다운 받으려하는 모바일 기기 사용자들은 각 어플리케이션에 대한 사전 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.
100: API 기반 어플리케이션 분석 장치 110: 분석 제어부
112: API 분석부 114: API 분류부
116: 진단정책 수립부 118: 특성 분석부
120: 위험도 분석부 122: API 추출부
130: 입력부 140: 그래프 생성부
150: 분석 결과 출력부100: API-based application analysis device 110: analysis control unit
112: API analysis unit 114: API classification unit
116: diagnostic policy establishment unit 118: characteristic analysis unit
120: risk analysis unit 122: API extraction unit
130: input unit 140: graph generation unit
150: analysis result output unit
Claims (12)
운영체제 플랫폼 내의 API(Application Programming Interface)를 행위 요소 및 패턴 별로 분류하여 진단 정책 모델을 생성하고, 생성된 진단 정책 모델을 토대로 분석 요청된 어플리케이션의 API에 대한 기능적 특징 및 위험도 중 적어도 하나를 분석하여 분석 결과를 출력하는 분석 제어부를 포함하되,
상기 분석 제어부는,
상기 분석 요청된 어플리케이션으로부터 API를 추출하는 API 추출부와,
상기 진단 정책 모델을 토대로 상기 추출된 API에서 해당 기능을 분석하여 동일한 기능적 특성을 가지는 API 개수를 합산하는 특성 분석부와,
상기 추출된 API에서 해당 위험도를 분석하여 동일한 위험도를 가지는 API에 대해 기 설정된 가중치를 합산하는 위험도 분석부
를 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.
An input unit configured to receive an analysis request message for at least one application;
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 and risks of the API of the requested application is analyzed and analyzed. An analysis control unit for outputting a result,
The analysis control unit,
An API extraction unit for extracting an API from the application for which the analysis is requested;
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;
A risk analysis unit for analyzing the corresponding risk in the extracted API and summing preset weights for APIs having the same risk.
API-based application analysis device comprising a.
상기 분석 제어부는,
상기 운영체제 플랫폼의 모든 API에 대해 행위별, 패턴별로 API 분석을 수행하는 API 분석부와,
상기 API 분석을 토대로, 행위 분석에 따른 기능별 API 목록 및 패턴 분석에 따른 API 목록으로 분류하는 API 분류부와,
상기 API 분류부로부터 분류된 정보를 토대로 상기 진단 정책 모델을 생성하는 진단 정책 수립부
를 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.
The method of claim 1,
The analysis control unit,
An API analysis unit which performs API analysis for each API of each OS and pattern of the OS platform;
An API classification unit classifying the API list according to the function and the API list according to the pattern analysis based on the API analysis;
A diagnostic policy establishment unit that generates the diagnostic policy model based on information classified from the API classification unit
API-based application analysis device comprising a.
상기 진단 정책 수립부는,
상기 패턴 분석에 따른 API 목록으로 단일 API, 순서 없는 조합 API 및 순서 있는 조합 API 각각에 대한 가중치를 부여하여 위험도 진단 정책 모델을 생성하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.
The method of claim 2,
The diagnosis policy establishing unit,
API-based application analysis device, characterized in that for generating a risk diagnosis policy model by assigning a weight to each of a single API, orderless combination API and ordered combination API as the API list according to the pattern analysis.
상기 API 기반 어플리케이션 분석 장치는,
상기 분석 결과를 토대로 기 설정된 형태의 그래프를 생성하는 그래프 생성부
를 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.
The method of claim 1,
The API-based application analysis device,
Graph generation unit for generating a graph of a predetermined form based on the analysis result
API-based application analysis device further comprising.
상기 API 기반 어플리케이션 분석 장치는,
상기 생성된 그래프를 포함하는 분석 결과 정보를 사용자의 모바일 기기 또는 어플리케이션 스토어 서버로 전송하는 분석 결과 출력부
를 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 장치.
6. The method of claim 5,
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-based application analysis device further comprising.
운영체제 플랫폼 내의 API를 행위 요소 및 패턴 별로 분류하여 진단 정책 모델을 생성하는 과정과,
생성된 진단 정책 모델을 토대로 분석 요청된 어플리케이션의 API에 대한 기능적 특징 및 위험도 중 적어도 하나를 분석하여 분석 결과를 출력하는 과정을 포함하되,
상기 분석 결과를 출력하는 과정은,
상기 분석 요청된 어플리케이션으로부터 API를 추출하는 과정과,
상기 진단 정책 모델을 토대로 상기 추출된 API에서 해당 기능을 분석하여 동일한 기능적 특성을 가지는 API 개수를 합산하는 과정과,
상기 추출된 API에서 해당 위험도를 분석하여 동일한 위험도를 가지는 API에 대해 기 설정된 가중치를 합산하는 과정
을 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.
Receiving an analysis request message for at least one application;
Creating a diagnostic policy model by classifying APIs within operating system platforms by behavioral elements and patterns;
And 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,
Extracting an API from the analysis-requested application;
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;
Analyzing the corresponding risk in the extracted API and summing preset weights for APIs having the same risk
API-based application analysis method comprising a.
상기 진단 정책 모델을 생성하는 과정은,
상기 운영체제 플랫폼의 모든 API에 대해 행위별, 패턴별로 API 분석을 수행하는 과정과,
상기 API 분석을 토대로, 행위 분석에 따른 기능별 API 목록 및 패턴 분석에 따른 API 목록으로 분류하는 과정과,
상기 분류된 정보를 토대로 상기 진단 정책 모델을 생성하는 과정
을 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.
The method of claim 7, wherein
The process of generating the diagnostic policy model,
A process of performing API analysis for each API of each OS and pattern of the OS platform;
Classifying the API list according to the function and the API list according to the pattern analysis based on the analysis of the API;
Generating the diagnosis policy model based on the classified information
API-based application analysis method comprising a.
상기 진단 정책 모델을 생성하는 과정은,
상기 패턴 분석에 따른 API 목록으로 단일 API, 순서 없는 조합 API 및 순서 있는 조합 API 각각에 대한 가중치를 부여하여 위험도 진단 정책 모델을 생성하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.
The method of claim 8,
The process of generating the diagnostic policy model,
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, orderless combination API and ordered combination API as the API list according to the pattern analysis.
상기 API 기반 어플리케이션 분석 방법은,
상기 분석 결과를 토대로 기 설정된 형태의 그래프를 생성하는 과정
을 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.
The method of claim 7, wherein
The API based application analysis method,
A process of generating a graph of a preset form based on the analysis result
API-based application analysis method characterized in that it further comprises.
상기 API 기반 어플리케이션 분석 방법은,
상기 생성된 그래프를 포함하는 분석 결과 정보를 사용자의 모바일 기기 또는 어플리케이션 스토어 서버로 전송하는 과정
을 더 포함하는 것을 특징으로 하는 API 기반 어플리케이션 분석 방법.12. The method of claim 11,
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-based application analysis method characterized in that it further comprises.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110122294A KR101143999B1 (en) | 2011-11-22 | 2011-11-22 | Apparatus and method for analyzing application based on application programming interface |
PCT/KR2012/007449 WO2013077538A1 (en) | 2011-11-22 | 2012-09-18 | Device and method for analyzing api-based application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
---|---|
KR101143999B1 true KR101143999B1 (en) | 2012-05-09 |
Family
ID=46271733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110122294A KR101143999B1 (en) | 2011-11-22 | 2011-11-22 | Apparatus and method for analyzing application based on application programming interface |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101143999B1 (en) |
WO (1) | WO2013077538A1 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2013184501A1 (en) * | 2012-06-05 | 2013-12-12 | Lookout, Inc. | Component analysis of software applications on computing devices |
KR101402057B1 (en) | 2012-09-19 | 2014-06-03 | 주식회사 이스트시큐리티 | Analyzing system of repackage application through calculation of risk and method thereof |
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 |
US9043919B2 (en) | 2008-10-21 | 2015-05-26 | Lookout, Inc. | Crawling multiple markets and correlating |
US9141801B2 (en) | 2013-02-27 | 2015-09-22 | Electronics And Telecommunications Research Institute | Apparatus and method for analyzing permission of application for mobile devices and detecting risk |
US9208215B2 (en) | 2012-12-27 | 2015-12-08 | Lookout, Inc. | User classification based on data gathered from a computing device |
US9589129B2 (en) | 2012-06-05 | 2017-03-07 | Lookout, Inc. | Determining source of side-loaded software |
US10218697B2 (en) | 2017-06-09 | 2019-02-26 | Lookout, Inc. | Use of device risk evaluation to manage access to services |
US10339315B2 (en) | 2015-12-10 | 2019-07-02 | Electronics And Telecommunications Research Institute | Apparatus and method for detecting malicious mobile app |
US11259183B2 (en) | 2015-05-01 | 2022-02-22 | Lookout, Inc. | Determining a security state designation for a computing device based on a source of software |
WO2023022359A1 (en) * | 2021-08-19 | 2023-02-23 | 삼성전자 주식회사 | Electronic device for detecting execution error of application, and operation method thereof |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5952175B2 (en) * | 2012-11-27 | 2016-07-13 | 日本電信電話株式会社 | 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) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100799302B1 (en) * | 2006-06-21 | 2008-01-29 | 한국전자통신연구원 | A system and method for detection of a hidden process using system event |
-
2011
- 2011-11-22 KR KR1020110122294A patent/KR101143999B1/en active IP Right Grant
-
2012
- 2012-09-18 WO PCT/KR2012/007449 patent/WO2013077538A1/en active Application Filing
Patent Citations (3)
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 |
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 (2)
Title |
---|
심원태외, 안드로이드 앱 악성행위 탐지를 위한 분석 기법 연구, 한국정보보호학회, 정보보호학회논문지, 제21권 제1호 page(s): 213-219.(2011.2.28) * |
심원태외, 안드로이드 앱 악성행위 탐지를 위한 분석 기법 연구, 한국정보보호학회, 정보보호학회논문지, 제21권 제1호 page(s): 213-219.(2011.2.28)* |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9563749B2 (en) | 2008-10-21 | 2017-02-07 | Lookout, Inc. | Comparing applications and assessing differences |
US9043919B2 (en) | 2008-10-21 | 2015-05-26 | Lookout, Inc. | Crawling multiple markets and correlating |
US10419222B2 (en) | 2012-06-05 | 2019-09-17 | Lookout, Inc. | Monitoring for fraudulent or harmful behavior in applications being installed on user devices |
US11336458B2 (en) | 2012-06-05 | 2022-05-17 | Lookout, Inc. | Evaluating authenticity of applications based on assessing user device context for increased security |
US9589129B2 (en) | 2012-06-05 | 2017-03-07 | Lookout, Inc. | Determining source of side-loaded software |
WO2013184501A1 (en) * | 2012-06-05 | 2013-12-12 | Lookout, Inc. | Component analysis of software applications on computing devices |
US9940454B2 (en) | 2012-06-05 | 2018-04-10 | Lookout, Inc. | Determining source of side-loaded software using signature of authorship |
US9407443B2 (en) | 2012-06-05 | 2016-08-02 | Lookout, Inc. | Component analysis of software applications on computing devices |
US10256979B2 (en) | 2012-06-05 | 2019-04-09 | Lookout, Inc. | Assessing application authenticity and performing an action in response to an evaluation result |
US9215074B2 (en) | 2012-06-05 | 2015-12-15 | Lookout, Inc. | Expressing intent to control behavior of application components |
US9992025B2 (en) | 2012-06-05 | 2018-06-05 | Lookout, Inc. | Monitoring installed applications on user devices |
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 |
US9141801B2 (en) | 2013-02-27 | 2015-09-22 | Electronics And Telecommunications Research Institute | Apparatus and method for analyzing permission of application for mobile devices 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 |
US11259183B2 (en) | 2015-05-01 | 2022-02-22 | Lookout, Inc. | Determining a security state designation for a computing device based on a source of software |
US10339315B2 (en) | 2015-12-10 | 2019-07-02 | Electronics And Telecommunications Research Institute | Apparatus and method for detecting malicious mobile app |
US10218697B2 (en) | 2017-06-09 | 2019-02-26 | Lookout, Inc. | Use of device risk evaluation to manage access to services |
US11038876B2 (en) | 2017-06-09 | 2021-06-15 | Lookout, Inc. | Managing access to services based on fingerprint matching |
WO2023022359A1 (en) * | 2021-08-19 | 2023-02-23 | 삼성전자 주식회사 | Electronic device for detecting execution error of application, and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
WO2013077538A1 (en) | 2013-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101143999B1 (en) | Apparatus and method for analyzing application based on application programming interface | |
US11019114B2 (en) | Method and system for application security evaluation | |
Johnson et al. | A meta language for threat modeling and attack simulations | |
JP7073343B2 (en) | Security vulnerabilities and intrusion detection and repair in obfuscated website content | |
WO2017049800A1 (en) | Method and apparatus for detecting loophole code in application | |
CN103875003A (en) | System and method for whitelisting applications in a mobile network environment | |
Casola et al. | Security-by-design in clouds: a security-SLA driven methodology to build secure cloud applications | |
CN104809397A (en) | Android malicious software detection method and system based on dynamic monitoring | |
CN103890770A (en) | System and method for whitelisting applications in a mobile network environment | |
CN111835756B (en) | APP privacy compliance detection method and device, computer equipment and storage medium | |
US11888870B2 (en) | Multitenant sharing anomaly cyberattack campaign detection | |
CN110071924B (en) | Big data analysis method and system based on terminal | |
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 | |
KR101657667B1 (en) | Malicious app categorization apparatus and malicious app categorization method | |
CN109543409B (en) | Method, device and equipment for detecting malicious application and training detection model | |
CN115552401A (en) | Fast application detection method, device, equipment and storage medium | |
KR101382549B1 (en) | Method for pre-qualificating social network service contents in mobile environment | |
CN109933990B (en) | Multi-mode matching-based security vulnerability discovery method and device and electronic equipment | |
Ban et al. | A Survey on IoT Vulnerability Discovery | |
CN109714371B (en) | Industrial control network safety detection system | |
Ham et al. | DroidVulMon--Android Based Mobile Device Vulnerability Analysis and Monitoring System | |
Chen et al. | Illegal but not malware: An underground economy app detection system based on usage scenario | |
US20240129323A1 (en) | Multitenant sharing anomaly cyberattack campaign detection | |
RU2696951C1 (en) | Method of protecting software from undeclared capabilities contained in obtained updates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150504 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160502 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170502 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180502 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190502 Year of fee payment: 8 |