KR20150123543A - Device and method of analyzing information drain of application - Google Patents
Device and method of analyzing information drain of application Download PDFInfo
- Publication number
- KR20150123543A KR20150123543A KR1020140050063A KR20140050063A KR20150123543A KR 20150123543 A KR20150123543 A KR 20150123543A KR 1020140050063 A KR1020140050063 A KR 1020140050063A KR 20140050063 A KR20140050063 A KR 20140050063A KR 20150123543 A KR20150123543 A KR 20150123543A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- application
- analysis
- code
- flow specification
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 애플리케이션의 정보유출 분석장치 및 방법에 관한 것으로, 보다 상세하게는 사용자가 사용하는 애플리케이션에 대한 정보유출 여부뿐만 아니라 정보유출지에 대한 분석 결과를 제공할 수 있는 애플리케이션의 정보유출 분석장치 및 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information leakage analysis apparatus and method for an application, and more particularly, to an information leakage analysis apparatus and method for an application that can provide an analysis result on an information leakage, .
최근 스마트 기기는 스마트 폰, 스마트 TV, 태블릿 PC, 착용형 기기(WEARABLE DEVICE)등으로 그 종류 및 사용범위가 점점 확대되고 있다. 이 스마트 기기들의 특징 중 하나는 해당 기기에서 편의, 오락, 기능 향상을 위하여 실행하는 애플리케이션이 오픈마켓을 통하여 유통되고, 그 유통 시장이 급격하게 성장하고 있다. 위 오픈마켓은 애플리케이션 개발자들이 개발한 다양한 애플리케이션의 유통을 손쉽게 하고, 사용자도 오픈마켓을 통하여 애플리케이션을 쉽게 구입하고, 그 설치도 간단하다. Recently, smart devices, such as smart phones, smart TVs, tablet PCs, and wearable devices (WEARABLE DEVICE), etc., have been expanding in variety and use range. One of the characteristics of these smart devices is that applications that are executed to improve convenience, entertainment, and functions in the devices are distributed through an open market, and the distribution market is rapidly growing. The Open Market makes it easy to distribute various applications developed by application developers, and users can easily purchase and install applications through Open Market.
이에 따라 애플리케이션 개발자의 증가와 오픈마켓의 성장과 접근의 용이함과 설치의 간단함으로 인한 문제점들이 발생하고 있다. 예를 들어, 오픈마켓에 애플리케이션의 동작을 검증하거나 제한하는 장치를 두고 모든 경우를 검사하는 것이 불가능 하다. 따라서 사용자의 스마트 기기에 설치된 애플리케이션이 사용자의 동의 없이 본래의 기능과 관련 없는 동작을 하여 사용자에게 직간접적인 피해를 줄 수 있다. This has resulted in an increase in application developers, growth in the open market, ease of access and simplicity of installation. For example, it is impossible to inspect every case with a device that verifies or restricts the application's behavior in the open market. Therefore, an application installed in a user's smart device can perform an operation irrelevant to the original function without the user's consent, thereby directly or indirectly damaging the user.
이에 애플리케이션의 동작을 검사하여 원하지 않는 작동을 검증하고 분석, 해결하기 위한 요구들이 생겨나고 있다. There is a need to examine the behavior of the application to verify, analyze and resolve unwanted behavior.
특히, 최근 스마트 기기의 애플리케이션의 비정상적인 동작에 의한 문제점들의 하나가 정보유출이다. 예를 들어, 전화번호, 주소록, 위치, 사진 등의 개인적인 정보를 포함한 스마트 기기의 정보자원을 사용자의 의도와 다르게 또는 사용자가 인지하지 못하는 사이에 유출되는 경우가 발생한다. In particular, one of the problems caused by the abnormal operation of the application of the smart device in recent years is information leakage. For example, information resources of a smart device including personal information such as a phone number, an address book, a location, and a photograph may leak out unlike a user's intention or not recognized by a user.
따라서 사용자의 애플리케이션의 정보유출에 대한 분석 장치 및 방법에 대한 연구가 꾸준히 이루어지고 있으나, 선행문헌들은 단순히 정보유출 여부만을 판단하거나 개인정보를 저장하고 있는 데이터베이스의 정보유출에 대한 내용을 제공하는데 그치고 있다. Therefore, although researches on analyzing devices and methods for leakage of information of users' applications are steadily performed, prior documents only provide information about leakage of information in a database that determines whether information is leaked or stores personal information .
특히, 한국등록특허 제1200907호는 질의어에 대한 데이터베이스의 응답값 및 이상징후를 분석하여 데이터베이스에 저장된 개인정보의 유출을 탐지하는 개인정보 유출 방지 시스템 및 이를 이용한 방지 방법에 관한 것으로, 사용자의 스마트 기기에 사용하는 애플리케이션에 대한 정보유출 및 정보유출지에 대한 분석 방법을 제공하지 못하는 문제점이 있다. In particular, Korean Patent Registration No. 1200907 discloses a personal information leakage prevention system for detecting leakage of personal information stored in a database by analyzing a response value and an abnormal symptom of a database to a query word, and a prevention method using the system. There is a problem in that it is not possible to provide an analysis method for information leakage and information leakage for the application used in the application.
또한, 한국등록특허 제1039698호는 애플리케이션을 경유한 데이터베이스 접근을 보호하기 위한 데이터베이스 보안 시스템, 서버 및 방법에 관한 것으로, 애플리케이션을 통해 간접적으로 데이터베이스에 접근하는 질의어와 질의어에 대한 결과값을 모니터링하고, 보안사항에 위배되는 내용에 대해서 로그저장, 경보 및 차단함으로써, 데이터베이스의 정보유출에만 초점이 맞추어진 문제점이 있다.
Korean Patent Registration No. 1039698 discloses a database security system, a server, and a method for protecting a database access via an application. The database security system monitors a result value of a query word and a query word that indirectly access the database through an application, There is a problem that the focus is focused only on the information leakage of the database by storing, alerting and blocking the log against the security contents.
본 발명은 위 문제점들을 해결하기 위한 것으로서, 사용자가 사용하는 애플리케이션에 대한 정보유출 여부뿐만 아니라 정보유출지에 대한 분석 결과를 제공함으로써, 분석 결과에 대한 신뢰성을 높일 수 있고, 사용자에게 사용하는 애플리케이션의 안전성을 제공할 수 있는 애플리케이션의 정보유출 분석장치를 제공하는데 그 목적이 있다. The present invention solves the above problems. It is an object of the present invention to provide an analysis result of an information leak point as well as information leaks to an application used by a user, thereby improving the reliability of the analysis result, Which is capable of providing an information leak analysis apparatus of an application capable of providing an information leak analysis apparatus.
본 발명 다른 목적은 위 분석장치를 사용하여 애플리케이션의 정보유출지를 분석하기 위한 방법을 제공하는데 있다. Another object of the present invention is to provide a method for analyzing an information leak of an application using the above analyzing apparatus.
상기한 목적을 달성하기 위해 본 발명의 실시예들에 따른 애플리케이션의 정보유출 분석장치는 사용자의 애플리케이션의 정보유출을 분석하기 위한 장치로서 데이터베이스 서버와 분석 서버를 포함한다. 상기 데이터베이스 서버는 앱 마켓으로부터 애플리케이션에 대한 패키지 정보를 수집하고, 사용자로부터 상기 애플리케이션의 정보유출 분석 요청을 수신하여 상기 애플리케이션의 정보유출 정보를 사용자에게 응답한다. 상기 분석 서버는 상기 데이터베이스 서버로부터 상기 애플리케이션의 정보유출에 대한 분석 요청을 받아, 상기 애플리케이션의 코드를 분석하여 상기 애플리케이션의 정보유출 정보를 상기 데이터베이스 서버에 제공한다. In order to accomplish the above object, an information leak analysis apparatus for an application according to embodiments of the present invention includes a database server and an analysis server as an apparatus for analyzing information leakage of a user application. The database server collects package information about the application from the application market, receives the information flow analysis request of the application from the user, and responds to the information leakage information of the application to the user. The analysis server receives an analysis request for information leakage of the application from the database server, analyzes the code of the application, and provides the information leakage information of the application to the database server.
본 발명의 실시예들에 있어서, 상기 애플리케이션의 정보유출 정보는 상기 애플리케이션의 정보유출 여부에 대한 정보와 정보유출지 정보를 포함한다. In the embodiments of the present invention, the information leakage information of the application includes information on whether or not the application has leaked information and information leakage information.
본 발명의 실시예들에 있어서, 상기 데이터베이스 서버는 상기 앱마켓으로부터 상기 애플리케이션 또는 상기 애플리케이션의 패키지 정보를 수집하는 애플리케이션 패키지 수집부; 상기 애플리케이션 패키지 수집부가 수집한 애플리케이션 또는 애플리케이션 패키지 정보를 저장하고, 상기 분석 서버로 상기 애플리케이션에 대한 정보유출에 대한 분석 요청 시에 상기 애플리케이션의 패키지 정보를 전달하기 위한 패키지 DB; 상기 분석 서버로부터 전달받은 상기 애플리케이션의 정보유출에 대한 분석 결과를 저장하기 위한 분석결과 DB; 및 상기 사용자로부터 상기 애플리케이션의 정보유출 요청을 수신하고, 상기 사용자에게 애플리케이션의 정보유출 정보를 사용자에게 응답하며, 상기 애플리케이션 패키지 수집부에게 상기 애플리케이션에 대한 패키지 정보를 수집을 명령하고, 상기 분석 서버에 상기 애플리케이션의 정보유출에 대한 분석을 요청하는 인터페이스부를 포함한다. In the embodiments of the present invention, the database server may include an application package collection unit for collecting package information of the application or the application from the app market; A package DB for storing application or application package information collected by the application package collecting unit and delivering the package information of the application when the analysis server requests the analysis server to analyze the information leakage; An analysis result DB for storing an analysis result of information leakage of the application received from the analysis server; And receiving information leakage request of the application from the user, responding information leakage information of the application to the user, instructing the application package collection unit to collect package information for the application, And an interface unit for requesting analysis of the information leakage of the application.
본 발명의 실시예들에 있어서, 상기 인터페이스부는 상기 사용자로부터 상기 애플리케이션의 패키지 이름, 버전 정보, 해쉬 정보를 수신하거나 상기 애플리케이션 패키지를 수신할 수 있다. In embodiments of the present invention, the interface unit may receive the package name, version information, hash information of the application, or receive the application package from the user.
이 때, 상기 인터페이스부는 상기 사용자로부터 정보유출 요청된 애플리케이션의 정보유출 정보가 기분석된 결과가 존재하는지 여부를 상기 분석결과 DB를 통하여 판단한다. 상기 판단결과, 기분석된 결과가 존재하는 경우에는 상기 분석결과 DB에 저장된 기분석된 결과를 사용자에게 응답한다. 상기 판단결과, 기분석된 결과가 존재하지 않은 경우에는 상기 분석 서버에 분석 요청한다. At this time, the interface unit determines through the analysis result DB whether or not there is a result of analyzing the information leakage information of the application for which information leakage is requested from the user. As a result of the determination, if there is a pre-analyzed result, the analysis result stored in the DB is responded to the user. As a result of the determination, if the analyzed result does not exist, an analysis request is sent to the analysis server.
본 발명의 실시예들에 있어서, 상기 분석 서버는 상기 데이터베이스 서버로부터 애플리케이션의 분석 요청을 받고, 사전에 저장된 목록 또는 상기 애플리케이션에 주어진 접근권한에 근거하여 상기 분석 요청받은 애플리케이션의 추적대상을 결정하는 추적대상 결정부; 상기 추적대상이 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출하는 코드 추출부; 상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성하는 모듈별 흐름명세 생성부; 상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성하는 전체 흐름명세 생성부; 상기 생성된 전체 흐름명세를 분석하는 흐름명세 분석부; 상기 흐름명세 분석부의 분석을 통하여 상기 애플리케이션의 정보유출지를 추출하는 정보유출지 추출부; 및 상기 정보유출지를 포함하는 정보유출 정보를 상기 데이터베이스 서버로 전송하는 정보유출 결과 전송부를 포함한다. In the embodiments of the present invention, the analysis server receives an analysis request of the application from the database server, and determines a trace that determines the target of the analysis-requested application based on a list stored in advance or an access right given to the application An object determining unit; A code extracting unit for extracting a code of an application requested to be analyzed by separating a code from a package of the application to be traced; A module-specific flow specification generation unit for generating a data flow graph and an information flow graph of the extracted code and generating a flow specification for each module of the extracted code; An overall flow specification generation unit for collecting the generated flow specification of each module to generate a flow specification of the entire code; A flow specification analyzer for analyzing the generated overall flow specification; An information leakage extracting unit for extracting an information leakage point of the application through the analysis of the flow specification analyzing unit; And an information outflow result transmission unit for transmitting the information outflow information including the information outflow to the database server.
본 발명의 실시예들에 있어서, 상기 모듈별 흐름명세 생성부는 상기 코드의 각 모듈에 대하여 추적대상 정보자원이 입력되는 소스와 정보가 출력되는 싱크 사이에 정보 흐름에 대한 명세서를 생성한다. In the embodiments of the present invention, the module-specific flow specification generator generates a specification of an information flow between a source to which a tracking target information resource is input and a sink to which information is output, for each module of the code.
본 발명의 실시예들에 있어서, 상기 전체 흐름명세 생성부는 상기 생성된 모듈별 흐름명세들과 라이브러리 정보흐름명세서를 취합하여 전체 코드의 흐름명세를 생성한다. In the embodiments of the present invention, the overall flow specification generation unit collects the generated flow specification of each module and the library information flow specification to generate a flow specification of the entire code.
상기한 목적을 달성하기 위해 본 발명의 다른 실시예들에 따른 애플리케이션의 정보유출 분석장치는 사용자로부터 애플리케이션의 정보유출 분석 요청을 받고, 사전에 저장된 목록 또는 상기 애플리케이션에 주어진 접근권한에 근거하여 상기 분석 요청받은 애플리케이션의 추적대상을 결정하는 추적대상 결정부; 상기 추적대상 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출하는 코드 추출부; 상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성하는 모듈별 흐름명세 생성부; 상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성하는 전체 흐름명세 생성부; 상기 생성된 전체 흐름명세를 분석하는 흐름명세 분석부; 상기 흐름명세 분석부의 분석을 통하여 상기 애플리케이션의 정보유출지를 추출하는 정보유출지 추출부; 및 상기 정보유출지를 포함하는 정보유출 정보를 사용자에게 응답하는 정보유출 결과 전송부를 포함한다.According to another aspect of the present invention, there is provided an information leakage analysis apparatus for an application, the information leakage analysis apparatus comprising: A tracking target determining unit that determines a tracking target of the requested application; A code extracting unit for extracting a code of an application requested to be analyzed by separating a code from a package of the application to be tracked; A module-specific flow specification generation unit for generating a data flow graph and an information flow graph of the extracted code and generating a flow specification for each module of the extracted code; An overall flow specification generation unit for collecting the generated flow specification of each module to generate a flow specification of the entire code; A flow specification analyzer for analyzing the generated overall flow specification; An information leakage extracting unit for extracting an information leakage point of the application through the analysis of the flow specification analyzing unit; And an information outflow result transmission unit for responding to the information outflow information including the information outflows to the user.
본 발명의 실시예들에 있어서, 상기 사용자로부터 상기 애플리케이션의 식별정보만을 수신하거나 상기 애플리케이션 패키지 자체를 수신하여 상기 애플리케이션의 정보유출에 대한 분석을 수행하는 경우도 가능하다. In the embodiments of the present invention, it is also possible to receive only the identification information of the application from the user, or receive the application package itself and analyze the information leakage of the application.
상기한 목적을 달성하기 위해 본 발명의 실시예들에 따른 애플리케이션의 정보유출 분석방법은 다음과 같은 단계들로 이루어진다. 먼저, 데이터베이스 서버가 사용자로부터 애플리케이션의 정보유출 분석 요청을 수신하고, 상기 요청된 애플리케이션에 대한 기분석된 정보유출 정보가 존재하는지 여부를 판단한다. 상기 판단결과 기분석된 정보유출 정보가 존재하는 경우, 상기 데이터베이스 서버가 상기 기분석된 정보유출 정보를 상기 사용자에게 응답하고, 상기 판단결과 기분석된 정보유출 정보가 존재하지 않는 경우, 상기 데이터베이스 서버가 상기 요청된 애플리케이션의 정보유출에 대한 분석을 분석 서버에 요청한다. 상기 분석 서버가 상기 애플리케이션의 정보유출 분석 요청을 받고, 사전에 저장된 목록 또는 상기 애플리케이션에 주어진 접근권한에 근거하여 상기 분석 요청받은 애플리케이션의 추적대상을 결정하고, 상기 추적대상 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출한다. 그리고, 상기 분석 서버가 상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성하고, 이어서 상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성한다. 그리고 상기 분석 서버가 상기 생성된 전체 흐름명세를 분석하여 상기 전체 흐름명세의 분석을 통하여 상기 애플리케이션의 정보유출지를 추출한다. 상기 분석 서버가 상기 정보유출지를 포함하는 정보유출 정보를 상기 데이터베이스 서버에 전송하고, 상기 데이터베이스 서버가 상기 애플리케이션의 정보유출 정보를 사용자에게 응답한다. In order to achieve the above object, an information leakage analysis method of an application according to embodiments of the present invention comprises the following steps. First, the database server receives an information leakage analysis request of the application from the user, and determines whether there is already analyzed information leakage information for the requested application. If the information leakage information analyzed previously is present, the database server responds to the user with the pre-analyzed information leakage information, and if the pre-analyzed information leakage information does not exist as a result of the determination, Requests the analysis server to analyze the information leak of the requested application. Wherein the analysis server receives the information leakage analysis request of the application, determines an object to be traced of the application requested to be analyzed based on the list stored in advance or the access right given to the application, And extracts the code of the application requested to be analyzed. Then, the analysis server generates a data flow graph and an information flow graph of the extracted code to generate a flow specification for each module of the extracted code, then collects the generated flow specifications for each module, . The analysis server analyzes the generated overall flow specification and extracts the information outflow of the application through the analysis of the entire flow specification. The analysis server transmits information leakage information including the information leakage to the database server, and the database server responds to the information leakage information of the application to the user.
상기한 목적을 달성하기 위해 본 발명의 다른 실시예들에 따른 애플리케이션의 정보유출 분석방법은 다음과 같은 단계들로 이루어진다. 분석 서버가 사용자로부터 애플리케이션의 정보유출 분석 요청을 받고, 사전에 저장된 목록 또는 상기 애플리케이션에 주어진 접근권한에 근거하여 상기 분석 요청받은 애플리케이션의 추적대상을 결정한다. 이어서, 상기 분석 서버가 상기 추적대상이 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출한다. 상기 분석 서버가 상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성하고, 이어서 상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성한다. 상기 분석 서버가 상기 생성된 전체 흐름명세를 분석하고, 상기 흐름명세 분석부의 분석을 통하여 상기 애플리케이션의 정보유출지를 추출한다. 상기 분석 서버가 상기 정보유출지를 포함하는 정보유출 정보를 사용자에게 응답한다. According to another aspect of the present invention, there is provided an information leakage analysis method for an application, the method comprising the steps of: The analysis server receives an information leakage analysis request of the application from the user and determines an object to be traced of the analysis requested application based on the list stored in advance or the access right given to the application. Then, the analysis server separates the code from the package of the application to be tracked, and extracts the code of the application requested to be analyzed. The analysis server generates a data flow graph and an information flow graph of the extracted code to generate a flow specification for each module of the extracted code and then collects the flow specifications for each module to generate a flow specification of the entire code do. The analysis server analyzes the generated overall flow specification and extracts an information outflow of the application through the analysis of the flow specification analysis unit. The analysis server responds to the user with information leakage information including the information leakage.
본 발명의 실시예들에 있어서, 상기 모듈별 흐름명세 생성하는 단계는 상기 코드의 각 모듈에 대하여 추적대상 정보자원이 입력되는 소스와 정보가 출력되는 싱크 사이에 정보 흐름에 대한 명세서를 생성하는 것을 특징으로 한다. 또한, 상기 전체 흐름명세 생성하는 단계는 상기 생성된 모듈별 흐름명세들과 라이브러리 정보흐름명세서를 취합하여 전체 코드의 흐름명세를 생성하는 것을 특징으로 한다.In the embodiments of the present invention, the step of generating the flow specification for each module may include generating a specification of an information flow between a source to which a tracking target information resource is input and a sink to which information is output for each module of the code . Also, the generating of the entire flow specification is characterized by collecting the generated flow specification of each module and the library information flow specification to generate a flow specification of the entire code.
본 발명의 실시예들에 있어서, 사용자로부터 애플리케이션의 정보유출 분석 요청의 수신은 상기 사용자 기기로부터 상기 애플리케이션의 실행 전에 받거나 실행 후에 받을 수 있다. In embodiments of the present invention, receipt of an application information flow analysis request from a user may be received from the user device before execution of the application or after execution.
이상에서 설명한 바와 같은 애플리케이션의 정보유출 분석장치 및 방법에 따르면 다음과 같은 효과가 있다.According to the information leak analysis apparatus and method of the application as described above, the following effects are obtained.
첫째, 사용자의 스마트기기의 정보유출 뿐만 아니라, 정보유출지도 분석 및 결과를 제공함으써, 정보유출 결과에 대한 신뢰성을 높일 수 있다. First, reliability of information leakage outcome can be improved by providing not only information leakage of users' smart devices but also information leakage map analysis and results.
둘째, 사용자가 애플리케이션을 실행 전에 분석 요청을 한다면 애플리케이션의 성능이 저하되는 것을 방지할 수 있다. Second, if a user makes an analysis request before executing an application, the performance of the application can be prevented from deteriorating.
셋째, 특정 애플리케이션에 대한 기분석된 정보유출 정보를 저장하고, 사용자의 요청 시 기분석된 결과가 있는 경우에는 기분석된 결과를 실시간으로 제공함으로써, 분석 결과를 신속하게 제공해줄 수 있다. Third, it can store the previously analyzed information leakage information for a specific application, and can provide the analysis result quickly by providing the analyzed result in real time when there is the analyzed result at the user's request.
넷째, 사용자가 직접 본인의 스마트 기기에 설치된 애플리케이션에 대한 정보유출을 분석 요청하고 그 결과를 제공받으로써, 정보 유출에 대한 심각성 및 그 피해를 정확하게 파악하고 대응을 효율적으로 하도록 할 수 있다. Fourthly, the user can directly analyze the leakage of information about the application installed in the user's smart device and receive the result, so that the severity of the information leakage and the damage can be grasped accurately and the response can be made efficient.
다섯째, 애플리케이션의 정보유출을 분석하기 위하여 애플이케이션 패키지의 코드의 모듈별 흐름명세를 먼저 수행하여, 분석 시간 및 효율을 높일 수 있다. Fifth, in order to analyze the information leakage of the application, the flow specification of the module of the application package can be performed first, thereby improving the analysis time and efficiency.
도 1은 본 발명의 실시예들에 따른 애플리케이션의 정보유출 분석장치를 설명하기 위한 구성도
도 2는 본 발명의 다른 실시예들에 따른 애플리케이션의 정보유출 분석장치를 설명하기 위한 구성도
도 3은 도 1 및 도 2에 도시된 데이터베이스 서버를 구체적으로 설명하기 위한 도면
도 4는 도 1 및 도 2에 도시된 분석 서버를 구체적으로 설명하기 위한 도면
도 5는 본 발명의 실시예들에 따른 애플리케이션의 정보유출 분석방법을 설명하기 위한 순서도1 is a block diagram for explaining an information leak analysis apparatus for an application according to an embodiment of the present invention;
2 is a block diagram for explaining an information leakage analysis apparatus of an application according to another embodiment of the present invention.
FIG. 3 is a view for specifically explaining the database server shown in FIG. 1 and FIG. 2; FIG.
FIG. 4 is a view for specifically explaining the analysis server shown in FIG. 1 and FIG. 2; FIG.
5 is a flow chart for explaining an information leak analysis method of an application according to embodiments of the present invention
첨부한 도면을 참조하여 본 발명의 실시예들에 따른 애플리케이션의 정보유출 분석장치 및 방법에 대하여 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나, 개략적인 구성을 이해하기 위하여 실제보다 축소하여 도시한 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An apparatus and method for analyzing information leakage of an application according to embodiments of the present invention will be described in detail with reference to the accompanying drawings. The present invention is capable of various modifications and various forms, and specific embodiments are illustrated in the drawings and described in detail in the text. It is to be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but on the contrary, is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing. In the accompanying drawings, the dimensions of the structures are enlarged to illustrate the present invention, and are actually shown in a smaller scale than the actual dimensions in order to understand the schematic configuration.
또한, 제1 및 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 한편, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Also, the terms first and second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. On the other hand, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
도 1은 본 발명의 실시예들에 따른 애플리케이션의 정보유출 분석장치를 설명하기 위한 구성도이고, 도 2는 본 발명의 다른 실시예들에 따른 애플리케이션의 정보유출 분석장치를 설명하기 위한 구성도이다. FIG. 1 is a block diagram for explaining an information leakage analysis apparatus for an application according to an embodiment of the present invention, and FIG. 2 is a diagram for explaining an information leakage analysis apparatus for an application according to another embodiment of the present invention .
도 1을 참조하면, 본 발명의 실시예들에 따른 애플리케이션의 정보유출 분석장치(100)는 앱마켓(10)로부터 다운받아 사용자단말기(20)에 설치된 애플리케이션의 정보유출에 대한 질의를 요청받아 이를 응답하기 위한 장치이다. Referring to FIG. 1, an information flow
이 때, 본 애플리케이션의 정보유출 분석장치(100)는 애플리케이션의 정보유출 여부에 대한 정보와 정보유출지 정보를 포함한 애플리케이션의 정보유출 정보를 제공한다. At this time, the information
본 발명의 실시예들에 있어서, 애플리케이션의 정보유출 분석장치(100)는 데이터베이스 서버(200)와 분석 서버(300)를 내부에 각각 보유하여 사용자 단말기(20)로부터 질의된 분석 요청을 받고, 이를 분석한 결과를 제공할 수 있다. In the embodiments of the present invention, the information
한편, 사용자 단말기(20)에는 정보유출 질의(요청)를 하는 목적의 애플리케이션(사용자 애플리케이션)이 추가로 설치될 수 있다. 사용자 단말기(20)는 상기 사용자 애플리케이션을 통하여 설치된 애플리케이션에 대한 질의를 데이터베이스 서버(200)로 요청할 수 있는 것이다. On the other hand, an application (user application) for making an information leak query (request) may be additionally installed in the
도 2를 참조하면, 본 발명의 다른 실시예들에 따른 애플리케이션 정보유출 분석장치는 데이터베이스 서버(200)와 분석 서버(300)가 별도로 구비되어, 데이터베이스 서버(200)가 사용자 단말기(20)로부터 애플리케이션에 대한 정보유출 여부를 질의(요청)받는다. 이 때, 데이터베이스 서버(200)가 내부에 해당 애플리케이션에 대한 기분석된 정보유출 결과가 있으면, 사용자에게 정보유출 결과를 바로 응답한다. 만일 내부에 해당 애플리케이션에 대한 기분석된 정보유출 결과가 없으면, 데이터베이스 서버(200)는 분석 서버(300)에게 분석 요청을 하고, 분석 서버(300)가 애플리케이션의 코드를 분석하여 애플리케이션의 정보유출 정보를 데이터베이스 서버(200)에 제공한다. 데이터베이스 서버(200)는 분석 서버(300)로부터 받은 분석 결과를 사용자에게 제공한다. 2, the application information leakage analysis apparatus according to another embodiment of the present invention includes a
이와 같이, 애플리케이션 정보유출 분석장치(100)는 데이터베이스 서버(200)와 분석 서버(300)가 같이 구성되어 있는 전체 시스템으로 이루어지거나, 애플리케이션의 정보유출을 분석하는 분석 서버(300)만으로 이루어져 앱마켓(10)과 사용자 단말기(20)와의 질의와 응답을 수행하는 데이터베이스 서버(200)와는 별개로 구성될 수도 있다. In this way, the application information
위 데이터베이스 서버(200)와 분석 서버(300)를 더 구체적으로 살펴보기로 한다.The
도 3은 도 1 및 도 2에 도시된 데이터베이스 서버를 구체적으로 설명하기 위한 도면이고, 도 4는 도 1 및 도 2에 도시된 분석 서버를 구체적으로 설명하기 위한 도면이다. FIG. 3 is a view for explaining the database server shown in FIG. 1 and FIG. 2 in detail, and FIG. 4 is a diagram for explaining the analysis server shown in FIG. 1 and FIG. 2 in detail.
도 3을 참조하면, 본 발명의 실시예들에 따른 데이터베이스 서버(200)는 애플리케이션 패키지 수집부(210), 패키지 DB(220), 인터페이스부(230), 분석결과 DB(240)를 포함한다. 3, the
애플리케이션 패키지 수집부(210)는 앱마켓(10)으로부터 애플리케이션 또는 애플리케이션의 패키지 정보를 수집한다. The application
패키지 DB(220)는 애플리케이션 패키지 수집부(210)가 수집한 애플리케이션 또는 애플리케이션 패키지 정보를 저장한다. 또한, 분석 서버(300)로 상기 애플리케이션에 대한 정보유출에 대한 분석 요청 시, 패키지 DB(220)는 상기 애플리케이션의 패키지 정보를 분석 서버(300)로 전달한다. The
인터페이스부(230)는 사용자 단말기(20)로부터 상기 애플리케이션의 정보유출 요청을 수신한다. 이때, 인터페이스부(230)는 사용자 단말기(20)로부터 상기 애플리케이션의 패키지 이름, 버전 정보, 해쉬 정보를 수신하거나 상기 애플리케이션 패키지를 수신할 수 있다. The
한편, 인터페이스부(230)는 사용자 단말기(20)로부터 정보유출 요청된 애플리케이션의 정보유출 정보가 기분석된 결과가 존재하는지 여부를 분석결과 DB(240)를 통하여 판단한다. 상기 판단결과, 기분석된 결과가 존재하는 경우에는 인터페이스부(230)는 분석결과 DB(240)에 저장된 기분석된 결과를 사용자에게 응답한다. 상기 판단결과, 기분석된 결과가 존재하지 않은 경우에는 인터페이스부(230)는 분석 서버(300)에 상기 애플리케이션의 정보유출에 대한 분석을 요청한다. Meanwhile, the
또한, 인터페이스부(230)는 애플리케이션 패키지 수집부(210)에게 상기 애플리케이션에 대한 패키지 정보를 수집을 명령할 수 있다. 이에 패키지 수집부(210)가 앱마켓(10)로부터 애플리케이션 패키지 정보를 전달받아 이를 패키지 DB(220)를 통하여 분석 서버(300)에 제공하여, 분석 서버가(300)가 분석 요청된 애플리케이션 패키지 정보를 파악할 수 있는 것이다. In addition, the
인터페이스부(230)는 분석 서버(300)로부터 분석 결과를 전달받아 사용자 단말기(20)로 애플리케이션의 정보유출 정보를 응답한다. The
분석결과 DB(240)는 분석 서버(300)로부터 전달받은 상기 애플리케이션의 정보유출에 대한 분석 결과를 저장한다. 본 발명의 실시예들에 있어서, 분석결과 DB(240)가 기분석된 분석결과를 저장하고 있으므로, 인터페이스부(230)가 사용자의 요청에 대하여 기분석된 결과를 제공할 수 있다. As a result of analysis, the
도 4를 참조하면, 본 발명의 실시예들에 따른 분석 서버(300)는 추적대상 결정부(310), 코드 추출부(320), 모듈별 흐름명세 생성부(330), 전체 흐름명세 생성부(340), 흐름명세 분석부(350), 정보유출지 분석부(360) 및 정보유출 결과 전송부(370)를 포함한다. 4, an
분석 서버(300)는 사용자 단말기(20)나 데이터베이스 서버(200)로부터 상기 애플리케이션의 식별정보만을 수신하거나 상기 애플리케이션 패키지 자체를 수신하여 상기 애플리케이션의 정보유출에 대한 분석을 수행한다. The
추적대상 결정부(310)는 데이터베이스 서버(200)로부터 애플리케이션의 분석 요청을 받고, 사전에 저장된 목록 또는 상기 애플리케이션에 주어진 접근권한에 근거하여, 상기 분석 요청받은 애플리케이션이 접근하는 정보 중에서 추적대상을 결정한다. 추적대상 결정부(310)는 미리 정하여진 목록을 이용하는 경우에도 특정 상황에 필요한 목록들을 정하여 사용할 수 있다. The tracking
코드 추출부(320)는 추적대상이 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출한다. 이 때, 코드는 바이트코드, XML 코드, 자바스크립트 코드, 네이티브 코드를 포함하며, 코드의 특정 형식에 한정되는 것은 아니라고 할 것이다. The
모듈별 흐름명세 생성부(330)는 상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성한다. 여기서, 모듈별 흐름명세 생성부(330)는 자료흐름 그래프 생성부(332)와 정보흐름 그래프 생성부(334)를 포함하고, 자료흐름 그래프 생성부(332)와 정보흐름 그래프 생성부(334)의 자료흐름 그래프 생성과 정보흐름 그래프 생성은 순서에 상관 없이 생성할 수 있다. 상기 자료흐름 그래프는 코드 내의 각종 데이터가 서로 어떤 종속 관계를 가지는 지 나타내는 그래프이고, 상기 정보흐름 그래프는 코드의 각 명령어들이 실행되는 순서를 나타내는 그래프이다. The module-specific
예를 들어, 모듈별 흐름명세 생성부(330)는 상기 코드의 각 모듈에 대하여 추적대상 정보자원(전화번호, 주소록, 위치, 사진 등)이 입력되는 소스와 정보가 출력되는 싱크 사이에 정보 흐름에 대한 명세서를 생성하는 방식으로 상기 추출된 코드의 모듈별 흐름명세를 생성한다. 여기서, 명세는 그래프, 특정 명세 언어, 수식 등 다양한 형태로 생성될 수 있다. For example, the module-specific
전체 흐름명세 생성부(340)는 상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성한다. 예를 들어, 전체 흐름명세 생성부(340)는 상기 생성된 모듈별 흐름명세들과 라이브러리 정보흐름명세서를 취합하여 전체 코드의 흐름명세를 생성한다. 한편, 전체 흐름명세 생성부(340)는 명세서의 유형에 맞추어 반복적으로 고정점을 구하는 알고리즘이나 방정식 해법을 이용하여 전체 코드의 흐름명세를 생성할 수 있다. The overall flow
흐름명세 분석부(350)는 상기 생성된 전체 흐름명세를 분석하고, 정보유출지 추출부(360)는 흐름명세 분석부(350)의 분석을 통하여 상기 애플리케이션의 정보유출지를 추출한다. 한편, 흐름명세 분석부(350) 및 정보유출지 추출부(360)는 별개로 구성된 분석부 및 추출부로 이루어질 수도 있고, 하나로 구성되어 질 수도 있다. The flow
한편, 전체 흐름명세 생성부(340)는 정보유출지의 식별을 위하여 문자열 분석을 포함하여 흐름명세서를 생성할 수 있다. 이에 흐름명세 분석부(350) 및 정보유출지 추출부(360)는 코드 내의 정보 흐름을 추적할 때에 필요한 만큼의 문자열 연산 결과도 추적하여 코드의 싱크에 대응하는 유출지 정보를 계산할 수 있다. 한편, 정보유출지 정보는 인터넷 URL, 전화번호, 이메일 주소 등 사용자 단말기(20)의 통신 수단으로 접속 가능한 모든 목적지를 포함한다. On the other hand, the overall
정보유출 결과 전송부(370)는 정보유출지를 포함하는 정보유출 정보를 데이터베이스 서버(200) 또는 사용자 단말기(20)로 전송한다. 이때 정보유출 결과 전송부(370)는 정보유출지 정보와 함께 해당 정보를 데이터베이스 서버(200) 또는 사용자 단말기(20)로 전송할 수 있다. The information leakage
도 5는 본 발명의 실시예들에 따른 애플리케이션의 정보유출 분석방법을 설명하기 위한 순서도이다. 5 is a flowchart illustrating an information leakage analysis method of an application according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 실시예들에 따른 애플리케이션의 정보유출 분석방법은 사용자 단말기(20)로부터 요청받은 애플리케이션에 대한 정보유출에 대하여 분석하고 그 결과를 제공하기 위한 것이다. Referring to FIG. 5, the method for analyzing information leakage of an application according to embodiments of the present invention is for analyzing information leakage from an application requested by a
이 때, 사용자 단말기(20)에서의 애플리케이션의 실행 성능이 저하되는 것을 방지하기 위하여, 애플리케이션이 실행되기 전에 정보유출에 대한 요청을 받는 것이 바람직하다. At this time, in order to prevent the execution performance of the application in the
먼저, 사용자 단말기(20)로부터 애플리케이션에 대한 정보유출 정보에 관한 요청을 수신한다(S100). 이 때, 데이터베이스 서버(200)의 인터페이스부(230)가 사용자 단말기(20)로부터의 요청을 수신할 수 있고, 분석 서버(300)가 사용자 단말기(20)로부터의 요청을 직접 수신할 수도 있다. First, a request for information leakage information about the application is received from the user terminal 20 (S100). At this time, the
한편, 사용자 단말기(20)로부터의 요청을 수신한 경우, 본 장치는 요청 애플리케이션에 대한 기분석된 정보유출 정보가 존재하는지 여부를 판단한다(S200). 예를 들어, 데이터베이스 서버(200)의 인터페이스부(230)가 기분석 결과의 존재 여부를 판단할 수 있고, 분석 서버(300)가 기분석 결과의 존재 여부를 직접 판단할 수 있다. On the other hand, when receiving a request from the
상기 판단 결과, 기분석된 정보유출 정보가 존재하는 경우, 상기 기분석된 정보유출 정보를 사용자 단말기(20)에게 응답한다(S250). 이 때, 데이터베이스 서버(200)가 상기 기분석된 정보유출 정보를 사용자 단말기(20)에게 응답하거나, 분석 서버(300)가 상기 기분석된 정보유출 정보를 사용자 단말기(20)에게 응답할 수도 있다. As a result of the determination, if there is information leakage information analyzed previously, the information leakage information analyzed in step S250 is returned to the user terminal 20 (S250). At this time, the
상기 판단결과 기분석된 정보유출 정보가 존재하지 않는 경우, 데이터베이스 서버(200)가 상기 요청된 애플리케이션의 정보유출에 대한 분석을 분석 서버(300)에 요청한다. 만일, 분석 서버(300)가 기분석 결과의 존재 여부를 직접 판단하는 경우에는 본 단계는 생략될 수 있다. If the analyzed information leakage information does not exist, the
이어서, 분석 서버(300)가 상기 애플리케이션의 정보유출 분석 요청을 받고, 사전에 저장된 목록 또는 상기 애플리케이션에 주어진 접근권한에 근거하여 상기 분석 요청받은 애플리케이션의 추적대상을 결정한다(S300). 구체적으로, 분석 서버(300)의 추적대상 결정부(310)가 이 단계를 수행한다. Then, the
분석 서버(300)가 상기 추적대상이 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출한다(S400). 구체적으로, 분석 서버(300)의 코드 추출부(320)가 이 단계를 수행한다. The
분석 서버(300)가 상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성한다(S500). 구체적으로, 분석 서버(300)의 모듈별 흐름명세 생성부(330)가 이 단계를 수행한다. The
분석 서버(300)가 상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성한다(S600). 구체적으로, 분석 서버(300)의 전체 흐름명세 생성부(340)가 이 단계를 수행한다. The
분석 서버(300)가 상기 생성된 전체 흐름명세를 분석한다(S700). 구체적으로, 분석 서버(300)의 흐름명세 분석부(350)가 이 단계를 수행한다. The
분석 서버(300)가 상기 전체 흐름명세 분석을 통하여 상기 애플리케이션의 정보유출지를 추출한다(S800). 구체적으로, 분석 서버(300)의 정보유출지 추출부(360)가 이 단계를 수행한다. The
분석 서버(300)가 상기 정보유출지를 포함하는 정보유출 정보를 데이터베이스 서버(200) 또는 사용자 단말기(20)에 전송한다(S900). The
이상에서와 같이, 본 발명은 사용자가 사용하는 애플리케이션에 대한 정보유출 여부뿐만 아니라 정보유출지에 대한 분석 결과를 제공함으로써, 분석 결과에 대한 신뢰성을 높일 수 있고, 사용자에게 사용하는 애플리케이션의 안정성을 제공할 수 있다. As described above, according to the present invention, not only whether information is leaked to an application used by a user, but also an analysis result about an information leak point, reliability of the analysis result can be improved, and stability of the application used by the user can be provided .
한편, 본 발명은 상기한 실시예로 한정되지 아니하며, 본 발명의 기술사상의 범주를 벗어나지 않는 한 여러 가지 다양한 형태로 변형 및 수정될 수 있음은 물론이다. 즉, 본 발명의 권리는 위에서 설명된 실시 예에 한정되지 않고 청구범위에 기재된 바에 의해 정의되며, 본 발명의 분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.It is to be understood that the present invention is not limited to the above-described embodiment, and that various changes and modifications may be made without departing from the scope of the present invention. That is, the present invention is not limited to the above-described embodiments but is defined by the scope of the claims, and those skilled in the art will understand that various modifications and alterations may be made within the scope of the claims It is self-evident.
10 : 앱마켓
20 : 사용자단말기
200 : 데이터베이스 서버
210 : 애플리케이션 패키지 수집부
220 : 패키지 DB
230 : 인터페이스부
240 : 분석결과 DB
300 : 분석 서버
310 : 추적대상 결정부
320: 코드 추출부
330 : 모듈별 흐름명세 생성부
332 : 자료흐름 그래프 생성부
334 : 정보흐름 그래프 생성부
340 : 전체 흐름명세 생성부
350 : 흐름명세 분석부
360 : 정보유출지 추출부
370: 정보유출 결과 전송부10: App Market 20: User Terminal
200: Database server
210: application package collection unit 220: package DB
230: interface part 240: analysis result DB
300: Analysis server
310: tracking target determination unit 320: code extraction unit
330: module-specific flow specification generation unit 332: data flow graph generation unit
334: Information Flow Graph Generation Unit 340: Overall Flow Specification Generation Unit
350: Flow specification analyzing unit 360: Information output destination extracting unit
370: Information leak result transmission unit
Claims (14)
앱 마켓으로부터 애플리케이션에 대한 패키지 정보를 수집하고, 사용자로부터 상기 애플리케이션의 정보유출 분석 요청을 수신하여 상기 애플리케이션의 정보유출 정보를 사용자에게 응답하는 데이터베이스 서버; 및
상기 데이터베이스 서버로부터 상기 애플리케이션의 정보유출에 대한 분석 요청을 받아, 상기 애플리케이션의 코드를 분석하여 상기 애플리케이션의 정보유출 정보를 상기 데이터베이스 서버에 제공하는 분석 서버를 포함하는 애플리케이션의 정보유출 분석장치.An apparatus for analyzing information leakage of a user's application,
A database server for collecting package information for an application from an application market, receiving a request for analyzing the information leakage of the application from a user and responding to the information leakage information of the application to the user; And
And an analysis server for analyzing the code of the application and providing the information leakage information of the application to the database server in response to an analysis request for information leakage of the application from the database server.
상기 애플리케이션의 정보유출 정보는 상기 애플리케이션의 정보유출 여부에 대한 정보와 정보유출지 정보를 포함하는 것을 특징으로 하는 애플리케이션의 정보유출 분석장치.The method according to claim 1,
Wherein the information leakage information of the application includes information on whether or not information is leaked by the application and information leakage information.
상기 앱마켓으로부터 상기 애플리케이션 또는 상기 애플리케이션의 패키지 정보를 수집하는 애플리케이션 패키지 수집부;
상기 애플리케이션 패키지 수집부가 수집한 애플리케이션 또는 애플리케이션 패키지 정보를 저장하고, 상기 분석 서버로 상기 애플리케이션에 대한 정보유출에 대한 분석 요청 시에 상기 애플리케이션의 패키지 정보를 전달하기 위한 패키지 DB;
상기 분석 서버로부터 전달받은 상기 애플리케이션의 정보유출에 대한 분석 결과를 저장하기 위한 분석결과 DB; 및
상기 사용자로부터 상기 애플리케이션의 정보유출 요청을 수신하고, 상기 사용자에게 애플리케이션의 정보유출 정보를 사용자에게 응답하며, 상기 애플리케이션 패키지 수집부에게 상기 애플리케이션에 대한 패키지 정보를 수집을 명령하고, 상기 분석 서버에 상기 애플리케이션의 정보유출에 대한 분석을 요청하는 인터페이스부를 포함하는 것을 특징으로 하는 애플리케이션의 정보유출 분석장치.The system according to claim 1, wherein the database server
An application package collecting unit for collecting the application or package information of the application from the app market;
A package DB for storing application or application package information collected by the application package collecting unit and delivering the package information of the application when the analysis server requests the analysis server to analyze the information leakage;
An analysis result DB for storing an analysis result of information leakage of the application received from the analysis server; And
Receiving an information leakage request of the application from the user, responding to the information leakage information of the application to the user, instructing the application package collection unit to collect package information for the application, And an interface unit for requesting analysis of an information leakage of the application.
상기 인터페이스부는 상기 사용자로부터 상기 애플리케이션의 패키지 이름, 버전 정보, 해쉬 정보를 수신하거나 상기 애플리케이션 패키지를 수신하는 것을 특징으로 하는 애플리케이션의 정보유출 분석장치.The method of claim 3,
Wherein the interface unit receives the package name, version information, and hash information of the application from the user or receives the application package.
상기 인터페이스부는 상기 사용자로부터 정보유출 요청된 애플리케이션의 정보유출 정보가 기분석된 결과가 존재하는지 여부를 상기 분석결과 DB를 통하여 판단하고,
상기 판단결과, 기분석된 결과가 존재하는 경우에는 상기 분석결과 DB에 저장된 기분석된 결과를 사용자에게 응답하고,
상기 판단결과, 기분석된 결과가 존재하지 않은 경우에는 상기 분석 서버에 분석 요청을 하는 것을 특징으로 하는 애플리케이션의 정보유출 분석장치.The method of claim 3,
Wherein the interface unit determines through the analysis result DB whether there is a result of analyzing the information leakage information of the application for which information leakage is requested from the user,
If a result of the pre-analysis is present as a result of the determination, the analysis result stored in the DB is responded to the user,
And if the result of the analysis is not present, the analysis server makes an analysis request to the analysis server.
상기 데이터베이스 서버로부터 애플리케이션의 분석 요청을 받고, 사전에 저장된 목록 또는 상기 애플리케이션에 주어진 접근권한에 근거하여 상기 분석 요청받은 애플리케이션이 접근하는 정보 중에서 추적 대상을 결정하는 추적대상 결정부;
상기 추적대상 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출하는 코드 추출부;
상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성하는 모듈별 흐름명세 생성부;
상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성하는 전체 흐름명세 생성부;
상기 생성된 전체 흐름명세를 분석하는 흐름명세 분석부;
상기 흐름명세 분석부의 분석을 통하여 상기 애플리케이션의 정보유출지를 추출하는 정보유출지 추출부; 및
상기 정보유출지를 포함하는 정보유출 정보를 상기 데이터베이스 서버로 전송하는 정보유출 결과 전송부를 포함하는 것을 특징으로 하는 애플리케이션의 정보유출 분석장치.The system of claim 1, wherein the analysis server
A tracking object determining unit that receives an analysis request of the application from the database server and determines an object to be tracked from among information accessed by the analyzed application based on a list stored in advance or an access right granted to the application;
A code extracting unit for extracting a code of an application requested to be analyzed by separating a code from a package of the application to be tracked;
A module-specific flow specification generation unit for generating a data flow graph and an information flow graph of the extracted code and generating a flow specification for each module of the extracted code;
An overall flow specification generation unit for collecting the generated flow specification of each module to generate a flow specification of the entire code;
A flow specification analyzer for analyzing the generated overall flow specification;
An information leakage extracting unit for extracting an information leakage point of the application through the analysis of the flow specification analyzing unit; And
And an information outflow result transmitting unit for transmitting the information outflow information including the information outflow to the database server.
상기 모듈별 흐름명세 생성부는 상기 코드의 각 모듈에 대하여 추적대상 정보자원이 입력되는 소스와 정보가 출력되는 싱크 사이에 정보 흐름에 대한 명세서를 생성하고,
상기 전체 흐름명세 생성부는 상기 생성된 모듈별 흐름명세들과 라이브러리 정보흐름명세서를 취합하여 전체 코드의 흐름명세를 생성하는 것을 특징으로 하는 애플리케이션의 정보유출 분석장치.The method according to claim 6,
The module-specific flow specification generation unit generates a specification of an information flow between a source to which a tracking target information resource is input and a sink to which information is output for each module of the code,
Wherein the overall flow specification generation unit collects the generated flow specification of each module and the library information flow specification to generate a flow specification of the entire code.
상기 추적대상 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출하는 코드 추출부;
상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성하는 모듈별 흐름명세 생성부;
상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성하는 전체 흐름명세 생성부;
상기 생성된 전체 흐름명세를 분석하는 흐름명세 분석부;
상기 흐름명세 분석부의 분석을 통하여 상기 애플리케이션의 정보유출지를 추출하는 정보유출지 추출부; 및
상기 정보유출지를 포함하는 정보유출 정보를 사용자에게 응답하는 정보유출 결과 전송부를 포함하는 애플리케이션의 정보유출 분석장치.A tracking target determining unit that receives a request for information analysis analysis of an application from a user and determines an object to be tracked from among information accessed by the application requested to be analyzed based on a list stored in advance or an access right granted to the application;
A code extracting unit for extracting a code of an application requested to be analyzed by separating a code from a package of the application to be tracked;
A module-specific flow specification generation unit for generating a data flow graph and an information flow graph of the extracted code and generating a flow specification for each module of the extracted code;
An overall flow specification generation unit for collecting the generated flow specification of each module to generate a flow specification of the entire code;
A flow specification analyzer for analyzing the generated overall flow specification;
An information leakage extracting unit for extracting an information leakage point of the application through the analysis of the flow specification analyzing unit; And
And an information leakage result transmission unit for responding to the information leakage information including the information leakage destination to the user.
상기 모듈별 흐름명세 생성부는 상기 코드의 각 모듈에 대하여 추적대상 정보자원이 입력되는 소스와 정보가 출력되는 싱크 사이에 정보 흐름에 대한 명세서를 생성하고,
상기 전체 흐름명세 생성부는 상기 생성된 모듈별 흐름명세들과 라이브러리 정보흐름명세서를 취합하여 전체 코드의 흐름명세를 생성하는 것을 특징으로 하는 애플리케이션의 정보유출 분석장치.9. The method of claim 8,
The module-specific flow specification generation unit generates a specification of an information flow between a source to which a tracking target information resource is input and a sink to which information is output for each module of the code,
Wherein the overall flow specification generation unit collects the generated flow specification of each module and the library information flow specification to generate a flow specification of the entire code.
상기 사용자로부터 상기 애플리케이션의 식별정보만을 수신하거나 상기 애플리케이션 패키지 자체를 수신하여 상기 애플리케이션의 정보유출에 대한 분석을 수행하는 것을 특징으로 하는 애플리케이션의 정보유출 분석장치.9. The method of claim 8,
Wherein the application information analysis unit analyzes the information leakage of the application by receiving only the identification information of the application from the user or receiving the application package itself.
상기 데이터베이스 서버가 상기 요청된 애플리케이션에 대한 기분석된 정보유출 정보가 존재하는지 여부를 판단하는 단계:
상기 판단결과 기분석된 정보유출 정보가 존재하는 경우, 상기 데이터베이스 서버가 상기 기분석된 정보유출 정보를 상기 사용자에게 응답하는 단계;
상기 판단결과 기분석된 정보유출 정보가 존재하지 않는 경우, 상기 데이터베이스 서버가 상기 요청된 애플리케이션의 정보유출에 대한 분석을 분석 서버에 요청하는 단계;
상기 분석 서버가 상기 애플리케이션의 정보유출 분석 요청을 받고, 사전에 저장된 목록 또는 상기 애플리케이션에 주어진 접근권한에 근거하여 상기 분석 요청받은 애플리케이션의 추적대상을 결정하는 단계;
상기 분석 서버가 상기 추적대상 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출하는 단계;
상기 분석 서버가 상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성하는 단계;
상기 분석 서버가 상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성하는 단계;
상기 분석 서버가 상기 생성된 전체 흐름명세를 분석하는 단계;
상기 분석 서버가 상기 전체 흐름명세 분석을 통하여 상기 애플리케이션의 정보유출지를 추출하는 단계;
상기 분석 서버가 상기 정보유출지를 포함하는 정보유출 정보를 상기 데이터베이스 서버에 전송하는 단계; 및
상기 데이터베이스 서버가 상기 애플리케이션의 정보유출 정보를 사용자에게 응답하는 단계를 포함하는 애플리케이션의 정보유출 분석장치.The database server receiving an information flow analysis request of the application from the user;
Determining whether the analyzed information outflow information for the requested application is present in the database server;
If the information leakage information analyzed previously is present, the database server responding to the user with the information leakage information analyzed previously;
Requesting the analysis server to analyze the information leakage of the requested application if the analyzed information leakage information does not exist as a result of the determination;
The analysis server receives the information leakage analysis request of the application and determines an object to be traced of the analyzed application based on a list stored in advance or an access right given to the application;
Separating a code from a package of the application determined to be tracked by the analysis server and extracting a code of the application requested to be analyzed;
The analysis server generating a data flow graph and an information flow graph of the extracted code and generating a flow specification for each module of the extracted code;
The analysis server collecting the generated flow specification for each module to generate a flow specification of the entire code;
Analyzing the generated overall flow specification;
Extracting an information outlet of the application through the analysis of the entire flow specification;
The analysis server transmitting information leakage information including the information leakage to the database server; And
And the database server responding to the information leakage information of the application to the user.
상기 분석 서버가 상기 추적대상 결정된 애플리케이션의 패키지에서 코드를 분리하여 상기 분석 요청받은 애플리케이션의 코드를 추출하는 단계;
상기 분석 서버가 상기 추출된 코드의 자료흐름 그래프와 정보흐름 그래프를 생성하여 상기 추출된 코드의 모듈별 흐름명세를 생성하는 단계;
상기 분석 서버가 상기 생성된 모듈별 흐름명세들을 취합하여 전체 코드의 흐름명세를 생성하는 단계;
상기 분석 서버가 상기 생성된 전체 흐름명세를 분석하는 단계;
상기 분석 서버가 상기 전체 흐름명세의 분석을 통하여 상기 애플리케이션의 정보유출지를 추출하는 단계; 및
상기 분석 서버가 상기 정보유출지를 포함하는 정보유출 정보를 사용자에게 응답하는 단계를 포함하는 애플리케이션의 정보유출 분석방법.Receiving, by the analysis server, an information leak analysis request of an application from a user, and determining an object to be traced of the analysis requested application based on a list stored in advance or an access right given to the application;
Separating a code from a package of the application determined to be tracked by the analysis server and extracting a code of the application requested to be analyzed;
The analysis server generating a data flow graph and an information flow graph of the extracted code and generating a flow specification for each module of the extracted code;
The analysis server collecting the generated flow specification for each module to generate a flow specification of the entire code;
Analyzing the generated overall flow specification;
Extracting an information outlet of the application through analysis of the entire flow specification by the analysis server; And
And the analysis server responding to the information leakage information including the information leakage point to the user.
상기 모듈별 흐름명세 생성하는 단계는
상기 코드의 각 모듈에 대하여 추적대상 정보자원이 입력되는 소스와 정보가 출력되는 싱크 사이에 정보 흐름에 대한 명세서를 생성하고,
상기 전체 흐름명세 생성하는 단계는
상기 생성된 모듈별 흐름명세들과 라이브러리 정보흐름명세서를 취합하여 전체 코드의 흐름명세를 생성하는 것을 특징으로 하는 애플리케이션의 정보유출 분석방법. 13. The method according to claim 11 or 12,
The step of generating the module-
Generating a specification of an information flow between a source for inputting a tracking object information resource and a sink for outputting information for each module of the code,
The step of generating the full flow specification
And collecting the generated module-specific flow specifications and the library information flow specification to generate a flow specification of the entire code.
사용자로부터 애플리케이션의 정보유출 분석 요청의 수신은 상기 사용자 기기로부터 상기 애플리케이션의 실행 전에 받거나 실행 후에 받는 것을 특징으로 하는 애플리케이션의 정보유출 분석방법. 13. The method according to claim 11 or 12,
Wherein the receiving of the information flow analysis request of the application from the user is received before or after execution of the application from the user equipment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140050063A KR101573871B1 (en) | 2014-04-25 | 2014-04-25 | Device and method of analyzing information drain of application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140050063A KR101573871B1 (en) | 2014-04-25 | 2014-04-25 | Device and method of analyzing information drain of application |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150123543A true KR20150123543A (en) | 2015-11-04 |
KR101573871B1 KR101573871B1 (en) | 2015-12-11 |
Family
ID=54600014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140050063A KR101573871B1 (en) | 2014-04-25 | 2014-04-25 | Device and method of analyzing information drain of application |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101573871B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170086926A (en) * | 2016-01-19 | 2017-07-27 | 삼성전자주식회사 | Apparatus for security vulnerabilities evaluation of application and control method of the same |
KR102197005B1 (en) * | 2020-07-31 | 2020-12-30 | (주)라바웨이브 | Apparatus for protecting personal information leaked by phishing application and method using the same |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101386605B1 (en) | 2012-10-23 | 2014-04-21 | 순천향대학교 산학협력단 | Method for detecting malicious code by permission management |
-
2014
- 2014-04-25 KR KR1020140050063A patent/KR101573871B1/en active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170086926A (en) * | 2016-01-19 | 2017-07-27 | 삼성전자주식회사 | Apparatus for security vulnerabilities evaluation of application and control method of the same |
KR102197005B1 (en) * | 2020-07-31 | 2020-12-30 | (주)라바웨이브 | Apparatus for protecting personal information leaked by phishing application and method using the same |
WO2022025349A1 (en) * | 2020-07-31 | 2022-02-03 | (주)라바웨이브 | Apparatus and method for protecting personal information leaked by means of phishing application |
Also Published As
Publication number | Publication date |
---|---|
KR101573871B1 (en) | 2015-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657264B2 (en) | Techniques for correlating vulnerabilities across an evolving codebase | |
Yu et al. | Can we trust the privacy policies of android apps? | |
US10339315B2 (en) | Apparatus and method for detecting malicious mobile app | |
CN104520871A (en) | Vulnerability vector information analysis | |
EP3547121B1 (en) | Combining device, combining method and combining program | |
CN111563257B (en) | Data detection method and device, computer readable medium and terminal equipment | |
US11816479B2 (en) | System and method for implementing a code audit tool | |
KR101926142B1 (en) | Apparatus and method for analyzing programs | |
KR20210084204A (en) | Malware Crawling Method and System | |
CN111654495B (en) | Method, apparatus, device and storage medium for determining traffic generation source | |
US9571557B2 (en) | Script caching method and information processing device utilizing the same | |
US20190370476A1 (en) | Determination apparatus, determination method, and determination program | |
KR101573871B1 (en) | Device and method of analyzing information drain of application | |
CN110838929B (en) | System error checking method and system error checking device | |
CN114239026A (en) | Information desensitization conversion processing method, device, computer equipment and storage medium | |
KR20130068769A (en) | Apparatus for analyzing connections about security events based on rule and method thereof | |
KR101161648B1 (en) | A search information generation system of the database server and method thereof | |
CN110348226A (en) | A kind of scan method of project file, device, electronic equipment and storage medium | |
CN113037746B (en) | Method and device for extracting client fingerprint, identifying identity and detecting network security | |
CN114462030A (en) | Privacy policy processing and evidence obtaining method, device, equipment and storage medium | |
CN105069085A (en) | Method and system for clearing environmental variable path | |
CN111371745B (en) | Method and apparatus for determining SSRF vulnerability | |
Marono | Quantifying Privacy of Mobile Applications | |
KR101484702B1 (en) | Method for providing service according to user dialogue and dialogue agent system | |
JP6384465B2 (en) | Threat analysis device, threat analysis method, and threat analysis program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191111 Year of fee payment: 5 |