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 PDF

Info

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
Application number
KR1020110122294A
Other languages
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 주식회사 안철수연구소
Priority to KR1020110122294A priority Critical patent/KR101143999B1/en
Application granted granted Critical
Publication of KR101143999B1 publication Critical patent/KR101143999B1/en
Priority to PCT/KR2012/007449 priority patent/WO2013077538A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Abstract

PURPOSE: An API based application analysis device and a method thereof are provided to rapidly analyze the preference of an application by automatically analyzing an application of a mobile device. CONSTITUTION: An input unit(130) receives an analysis request message about an application. An analysis control unit(110) classifies an API(Application Programming Interface) within an OS(Operating System) platform into behavior element and generates a diagnostic policy model. The analysis control unit analyzes functional property about the API of the application based on the diagnostic policy model.

Description

API 기반 어플리케이션 분석 장치 및 방법{APPARATUS AND METHOD FOR ANALYZING APPLICATION BASED ON APPLICATION PROGRAMMING INTERFACE}AP-based application analysis device and method {APPARATUS AND METHOD FOR ANALYZING APPLICATION BASED ON APPLICATION PROGRAMMING INTERFACE}

본 발명은 모바일 기기에서 사용되는 어플리케이션을 분석하는 기술에 관한 것으로서, 특히 모바일 운영체제 플랫폼 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.

한국등록특허 제10-0864867호 (2008.10.16. 공고)Korea Patent Registration No. 10-0864867 (2008.10.16. Notification)

상기한 바와 같이 종래 기술에 의한 모바일 기기에서 사용되는 어플리케이션의 행위 기반 진단 방식에 있어서는, 너무 포괄적이고 추상적이어서 어플리케이션의 성향과 위험도를 정확히 예측할 수 없다. 그리고 분석가가 역공학을 이용하여 직접 소스 코드를 분석하는 방법은, 악성코드 진단에는 효과적이나 어플리케이션의 성향이나 전체적인 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 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 목록을 도시한 도면이다.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 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 판단부(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 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 according to the behavior analysis of the API classification unit 114 determines that the corresponding API provides the user information, and delivers the stored information to the API DB 224 capable of leaking the stored information. You can do that.

한편, 도 3의 패턴 분석에 따른 행위별 API 판단부(310)는 분석 결과 정보에 포함된 패턴 분석 정보를 토대로 각 API를 판단할 수 있다. 즉 판단된 API의 행위에 따라 각 행위 목록 데이터베이스(DB)에 이를 저장시킬 수 있으며, 행위 목록 데이터베이스는 단일 API DB(312), 순서 없는 조합 API DB(314) 및 순서를 갖는 API DB(316) 등을 포함할 수 있다.Meanwhile, the API determination unit 310 according to the pattern analysis 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 is delivered to the action API determination unit 310 according to the pattern analysis, and the API determination unit 200 according to the function analysis according to the behavior analysis, the "getUserData" API to the personal information leakage API DB 220 Can be delivered and stored.

그리고 패턴 분석에 따른 행위별 API 판단부(310)에서는 "getUserData" API를 단일 API DB(312) 및 순서 없는 조합 API DB(314)에 연동시켜 가중치를 부여한 후, 저장시킬 수 있다.In addition, the API determining unit 310 according to the pattern analysis may assign the weight by interworking the "getUserData" API to the single API DB 312 and the unordered combination API DB 314 and 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 판단부(300) 및 패턴 분석에 따른 행위별 API 판단부(310) 각각은 서로 DB를 연동할 수 있으며, 구현 방식에 따라 서로 간에 종속관계가 될 수도 있다.On the other hand, each of the API determination unit 300 by function according to the behavior analysis and the API determination unit 310 by action based on the pattern analysis 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 corresponding 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 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. In step 410, the characteristic analyzer 118 compares with the API extracted for each functional element of the diagnostic policy model, and corresponds to the API corresponding to each function. The number is added, and the risk analysis unit 120 compares the risk weights for each function element set in the diagnostic policy model and the risk weights for each action with the extracted API, 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.

도 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 graph generator 140 may receive the functional characteristic information and the risk information analyzed from the characteristic analyzer 118 and the risk analyzer 120, and may generate a graph in a preset format based on the information. .

도 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.
제 1항에 있어서,
상기 분석 제어부는,
상기 운영체제 플랫폼의 모든 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.
제 2항에 있어서,
상기 진단 정책 수립부는,
상기 패턴 분석에 따른 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.
삭제delete 제 1항에 있어서,
상기 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.
제 5항에 있어서,
상기 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.
제 7항에 있어서,
상기 진단 정책 모델을 생성하는 과정은,
상기 운영체제 플랫폼의 모든 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.
제 8항에 있어서,
상기 진단 정책 모델을 생성하는 과정은,
상기 패턴 분석에 따른 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.
삭제delete 제 7항에 있어서,
상기 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.
제 11항에 있어서,
상기 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.
KR1020110122294A 2011-11-22 2011-11-22 Apparatus and method for analyzing application based on application programming interface KR101143999B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* 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
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)

* Cited by examiner, † Cited by third party
Title
심원태외, 안드로이드 앱 악성행위 탐지를 위한 분석 기법 연구, 한국정보보호학회, 정보보호학회논문지, 제21권 제1호 page(s): 213-219.(2011.2.28) *
심원태외, 안드로이드 앱 악성행위 탐지를 위한 분석 기법 연구, 한국정보보호학회, 정보보호학회논문지, 제21권 제1호 page(s): 213-219.(2011.2.28)*

Cited By (22)

* Cited by examiner, † Cited by third party
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