KR20200100565A - Method and server for analyzing weak point through library injection - Google Patents

Method and server for analyzing weak point through library injection Download PDF

Info

Publication number
KR20200100565A
KR20200100565A KR1020200099258A KR20200099258A KR20200100565A KR 20200100565 A KR20200100565 A KR 20200100565A KR 1020200099258 A KR1020200099258 A KR 1020200099258A KR 20200099258 A KR20200099258 A KR 20200099258A KR 20200100565 A KR20200100565 A KR 20200100565A
Authority
KR
South Korea
Prior art keywords
analysis
library
executable file
command
target
Prior art date
Application number
KR1020200099258A
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 주식회사 엠시큐어
Publication of KR20200100565A publication Critical patent/KR20200100565A/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Abstract

The present invention provides a weak point analysis method performed in a weak point analysis server. After an analysis library including a communication function is generated and added to a specific area of a target execution file corresponding to an analysis target, the method comprises the following steps. (a) When the target execution file to which the analysis library is added, an analysis command is transmitted to the analysis library. (b) The analysis result in accordance with the analysis command performed by the analysis library is received.

Description

라이브러리 인젝션을 통한 취약점 분석 방법 및 서버{METHOD AND SERVER FOR ANALYZING WEAK POINT THROUGH LIBRARY INJECTION}Vulnerability analysis method and server through library injection {METHOD AND SERVER FOR ANALYZING WEAK POINT THROUGH LIBRARY INJECTION}

본 발명은 모바일 어플리케이션의 취약점 분석 기술에 관한 것으로서, iOS 환경에서 작동하는 어플리케이션에서 탈옥(JailBreak)된 장비 없이 어플리케이션의 취약점을 분석하는 라이브러리 인젝션을 통한 취약점 분석 방법 및 서버에 관한 것이다.The present invention relates to a vulnerability analysis technology of a mobile application, and to a vulnerability analysis method and a server through library injection that analyzes the vulnerability of an application without a device jailbroken from an application operating in an iOS environment.

스마트폰의 보급이 확산됨에 따라 스마트폰의 보안 위협도 갈수록 늘어나고 있으며, 정상적인 어플리케이션에 악의적인 행위를 수행하는 코드를 삽입하여 사용자들에게 피해를 발생시키는 사례가 늘고 있다. 이를 방지하기 위해서는 어플리케이션의 배포 전, 어플리케이션내에서 악의적인 행위를 수행하도록 변조 가능성이 있거나 또는 피해를 유발시킬 수 있는 정보의 노출이 있는지 여부가 검사되어야 한다. 그러나, iOS 환경에서 작동하는 어플리케이션을 분석하기 위해서는 탈옥(JailBreak)된 장비가 있어야 되는 문제가 있다.As the spread of smartphones spreads, the security threats of smartphones are increasing, and cases of causing damage to users by inserting codes that perform malicious actions into normal applications are increasing. To prevent this, before distribution of the application, it is necessary to check whether there is a possibility of tampering to perform malicious actions in the application or exposure of information that may cause damage. However, there is a problem that a jailbroken device is required to analyze an application running in an iOS environment.

한국등록특허 제10-1568224호Korean Patent Registration No. 10-1568224

본 발명의 목적은 어플리케이션내에서 악의적인 행위를 수행 하도록 변조될 가능성이 있는 함수와 피해를 유발 시킬 수 있는 민감한 정보의 노출을 사전에 검사하는 취약점 분석 방법 및 서버를 제공하는데 있다.An object of the present invention is to provide a vulnerability analysis method and a server that inspects in advance the exposure of sensitive information that may cause damage and functions that may be altered to perform malicious actions in an application.

본 발명은 탈옥(JailBreak)된 장비 없이 iOS 환경에서 작동하는 어플리케이션 또는 Mac 운영체제 환경에서 작동하는 어플리케이션을 분석하는 취약점 분석 방법 및 서버를 제공하는데 있다.The present invention is to provide a vulnerability analysis method and server for analyzing an application operating in an iOS environment or an application operating in a Mac operating system environment without a jailbroken device.

상기 목적을 달성하기 위한 본 발명의 제1 측면은, 취약점 분석 서버에서 수행되는 취약점 분석 방법에 있어서, 통신 기능을 포함하는 분석 라이브러리가 생성되어, 분석 대상에 해당하는 대상실행파일의 특정 영역에 추가된 후, (a) 상기 분석 라이브러리가 추가된 대상실행파일이 실행되면, 상기 분석 라이브러리에 분석 명령을 전송하는 단계; 및 (b) 상기 분석 라이브러리로부터 수행된 상기 분석 명령에 따른 분석 결과를 수신하는 단계를 포함한다.A first aspect of the present invention for achieving the above object is, in a vulnerability analysis method performed in a vulnerability analysis server, an analysis library including a communication function is created and added to a specific area of the target executable file corresponding to the analysis target. After that, (a) when the target executable file to which the analysis library is added is executed, transmitting an analysis command to the analysis library; And (b) receiving an analysis result according to the analysis command performed from the analysis library.

바람직하게, 상기 (a) 단계는, 상기 대상실행파일이 실행되면, 상기 분석 라이브러리가 상기 대상실행파일의 메모리에 로드되는 단계; 상기 분석 라이브러리의 통신 기능이 활성화되는 단계; 및 상기 분석 라이브러리와 연결되는 단계를 포함할 수 있다.Preferably, the step (a) includes: when the target executable file is executed, the analysis library is loaded into a memory of the target executable file; Activating the communication function of the analysis library; And linking with the analysis library.

바람직하게, 상기 (b) 단계는 상기 분석 라이브러리에 의하여 상기 분석 명령에 따라 상기 대상실행파일의 메모리가 검사되는 단계를 포함할 수 있다.Preferably, the step (b) may include checking the memory of the target executable file according to the analysis command by the analysis library.

바람직하게, 상기 (b) 단계는, 상기 분석 명령이 취약한 함수 검사 명령에 해당하는 경우에는, 상기 대상실행파일의 실행 파일 또는 라이브러리의 함수와 관련된 데이터 영역에 기설정된 함수 값이 존재하는지 여부가 검사되는 단계를 포함할 수 있다.Preferably, in step (b), when the analysis command corresponds to a weak function check command, it is checked whether a preset function value exists in a data area related to a function of the executable file or library of the target executable file. It may include the step of becoming.

바람직하게, 상기 (b) 단계는, 상기 분석 명령이 문자열 검사 명령에 해당하는 경우에는, 상기 대상실행파일의 실행 파일 또는 라이브러리의 문자열과 관련된 데이터 영역에 기설정된 문자열 값이 존재하는지 여부가 검사되는 단계를 포함할 수 있다.Preferably, in step (b), when the analysis command corresponds to a character string inspection command, it is checked whether a preset character string value exists in the data area related to the character string of the executable file or library of the target executable file. It may include steps.

바람직하게, 상기 (b) 단계는, 상기 분석 명령이 취약한 심볼 검사 명령에 해당하는 경우에는, 상기 대상실행파일의 실행 파일 또는 라이브러리의 심볼과 관련된 데이터 영역에 기설정된 심볼 정보가 존재하는지 여부가 검사되는 단계를 포함할 수 있다.Preferably, in the step (b), when the analysis command corresponds to a weak symbol inspection command, it is checked whether predetermined symbol information exists in the data area related to the executable file of the target executable file or the symbol of the library. It may include the step of becoming.

바람직하게, 상기 (b) 단계는, 상기 분석 명령에 따른 분석 결과는 기정의된 구조체 형식으로 생성되는 단계를 포함할 수 있다.Preferably, the step (b) may include a step of generating the analysis result according to the analysis command in a predefined structure format.

바람직하게, 상기 분석 라이브러리는 생성된 후 인증서를 통해 서명되고, 상기 분석 라이브러리는 상기 대상실행파일의 헤더 정보 중 로드 명령 부분에 추가되고 상기 대상실행파일의 로드 명령 카운트 정보가 수정되고, 상기 대상실행파일은 인증서를 통해 서명될 수 있다.Preferably, the analysis library is created and then signed with a certificate, the analysis library is added to the load command part of the header information of the target executable file, the load command count information of the target executable file is modified, and the target execution Files can be signed through certificates.

상기 목적을 달성하기 위한 본 발명의 제2 측면은, 취약점 분석 서버에 있어서, 통신 기능을 포함하는 분석 라이브러리가 생성되어, 분석 대상에 해당하는 대상실행파일의 특정 영역에 추가된 후, 상기 분석 라이브러리가 추가된 대상실행파일이 실행되면, 상기 분석 라이브러리에 분석 명령을 전달하는 분석 명령 전송부; 및 상기 분석 라이브러리로부터 수행된 상기 분석 명령에 따른 분석 결과를 수신하는 분석 결과 수신부를 포함할 수 있다.A second aspect of the present invention for achieving the above object is, in the vulnerability analysis server, an analysis library including a communication function is generated, added to a specific area of the target executable file corresponding to the analysis target, and then the analysis library An analysis command transmission unit that transmits an analysis command to the analysis library when the target executable file to which is added is executed; And an analysis result receiver configured to receive an analysis result according to the analysis command performed from the analysis library.

상기한 바와 같이 본 발명에 의하면, 어플리케이션 배포 전 분석을 통해 악의적인 행위를 수행하도록 변조될 가능성이 있는 함수와 피해를 발생 시킬 수 있는 민감한 정보의 노출을 탐지 하여 발생 가능한 피해를 사전에 방지 할 수 있는 효과가 있다.As described above, according to the present invention, possible damage can be prevented in advance by detecting the exposure of sensitive information that may cause damage and functions that may be altered to perform malicious actions through analysis before application distribution. There is an effect.

도 1은 본 발명의 바람직한 실시예에 따른 취약점 분석 시스템을 나타내는 구성도이다.
도 2는 일 실시예에 따른 취약점 분석 서버 및 사용자 단말을 나타내는 블록도이다.
도 3은 일 실시예에 따른 취약점 분석 방법을 나타내는 흐름도이다.
도 4는 분석 라이브러리를 나타내는 예시도이다.
도 5는 분석 라이브러리가 대상실행파일에 추가되는 것을 설명하기 위한 예시도이다.
1 is a block diagram showing a vulnerability analysis system according to a preferred embodiment of the present invention.
2 is a block diagram illustrating a vulnerability analysis server and a user terminal according to an embodiment.
3 is a flowchart illustrating a method for analyzing a vulnerability according to an exemplary embodiment.
4 is an exemplary diagram showing an analysis library.
5 is an exemplary diagram for explaining that an analysis library is added to a target executable file.

이하, 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.Hereinafter, the advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described later in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms different from each other, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have it, and the invention is only defined by the scope of the claims. The same reference numerals refer to the same components throughout the specification. "And/or" includes each and every combination of one or more of the recited items.

비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.Although the first, second, etc. are used to describe various elements, components and/or sections, of course, these elements, components and/or sections are not limited by these terms. These terms are only used to distinguish one element, component or section from another element, component or section. Therefore, it goes without saying that the first element, the first element, or the first section mentioned below may be a second element, a second element, or a second section within the technical scope of the present invention.

또한, 각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in each step, the identification code (for example, a, b, c, etc.) is used for convenience of explanation, and the identification code does not describe the order of each step, and each step is clearly specified in context. Unless the order is specified, it may occur differently from the order specified. That is, each of the steps may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 “포함한다(comprises)" 및/또는 “포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used in the specification, “comprises” and/or “comprising” refers to the recited component, step, operation and/or element being one or more other elements, steps, operations and/or the presence of elements. Or does not exclude additions.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically.

또한, 본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, when it is determined that detailed descriptions of known functions or configurations may unnecessarily obscure the subject matter of the present invention, detailed descriptions thereof will be omitted. In addition, terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout this specification.

도 1은 본 발명의 바람직한 실시예에 따른 취약점 분석 시스템을 나타내는 구성도이다.1 is a block diagram showing a vulnerability analysis system according to a preferred embodiment of the present invention.

도 1을 참조하면, 취약점 분석 시스템(100)은 취약점 분석 서버(110) 및 사용자 단말(120)을 포함한다. 바람직하게, 취약점 분석 서버(110) 및 사용자 단말(120)은 유선 또는 무선으로 연결될 수 있고, 예를 들어, USB케이블을 이용하여 연결될 수 있다.Referring to FIG. 1, the vulnerability analysis system 100 includes a vulnerability analysis server 110 and a user terminal 120. Preferably, the vulnerability analysis server 110 and the user terminal 120 may be connected by wire or wirelessly, and may be connected using, for example, a USB cable.

취약점 분석 서버(110)는 취약점 분석 방법을 수행하는 장치로서, 사용자 단말(120)에 설치된 대상실행파일의 취약점 분석을 위하여 사용자 단말(120)과 데이터를 송수신한다. 여기에서, 대상실행파일은 사용자 단말(120)에서 실행될 어플리케이션에 해당할 수 있고, 예를 들어, iOS 운영체제에서 동작되는 IPA 파일 또는 Mac 운영체제에서 동작되는 어플리케이션일 수 있다.The vulnerability analysis server 110 is a device that performs a vulnerability analysis method, and transmits and receives data to and from the user terminal 120 to analyze the vulnerability of a target executable file installed in the user terminal 120. Here, the target executable file may correspond to an application to be executed in the user terminal 120, and may be, for example, an IPA file operated in an iOS operating system or an application operated in a Mac operating system.

사용자 단말(120)은 취약점 분석 서버(110)와 연결되어 사용자 단말(120)에 설치된 대상실행파일의 취약점이 검사되기 위해 필요한 동작을 수행하는 장치이다. 여기에서, 사용자 단말(120)은 사용자가 원하는 다양한 어플리케이션(Application) 프로그램을 다운로드 받아 자유롭게 사용하고 삭제가 가능한 운영체제를 기반으로 한 스마트폰(smart phone) 또는 컴퓨터일 수 있고, 예를 들어, iOS 운영체제를 기반으로 하는 스마트폰 또는 Mac 운영체제를 기반으로 하는 컴퓨터일 수 있다.The user terminal 120 is a device that is connected to the vulnerability analysis server 110 and performs an operation necessary to inspect the vulnerability of the target executable file installed in the user terminal 120. Here, the user terminal 120 may be a smart phone or a computer based on an operating system that can download, freely use, and delete various application programs desired by the user, for example, an iOS operating system. It may be a smartphone based on or a computer based on the Mac operating system.

도 2는 일 실시예에 따른 취약점 분석 서버 및 사용자 단말을 나타내는 블록도이다.2 is a block diagram illustrating a vulnerability analysis server and a user terminal according to an embodiment.

도 2를 참조하면, 취약점 분석 서버(110)는 분석 명령 전송부(111) 및 분석 결과 수신부(112)를 포함하고, 사용자 단말(120)에 설치될 대상실행파일에는 분석 라이브러리(121)가 추가되어 있다. 이하, 도 3을 참조하여, 취약점 분석 서버(110)와 사용자 단말(120)간에 수행되는 대상실행파일의 취약점 분석 방법에 대하여 설명한다.Referring to FIG. 2, the vulnerability analysis server 110 includes an analysis command transmission unit 111 and an analysis result receiving unit 112, and an analysis library 121 is added to the target executable file to be installed in the user terminal 120. Has been. Hereinafter, a method for analyzing a vulnerability of a target executable file performed between the vulnerability analysis server 110 and the user terminal 120 will be described with reference to FIG. 3.

먼저, 취약점 분석 서버(110)에 의해, 통신 기능을 포함하는 분석 라이브러리가 생성되어, 분석 대상에 해당하는 대상실행파일의 특정 영역에 추가된다(단계 S310). 여기에서, 분석 라이브러리는 동적 라이브러리(dylib)와 동일한 형태이나 통신 기능을 포함하는바, 분석 라이브러리가 대상실행파일에 삽입된 후 대상실행파일이 실행되면 분석용 라이브러리가 메모리에 로드되면서 통신 기능이 활성화 되므로 탈옥(JailBreak)없이도 대상실행파일의 정보가 확인될 수 있는 것이다. 바람직하게, 도 4를 참조하면, 분석 라이브러리는 통신 기능, 명령어 처리 기능 및 메모리 검사 기능을 포함할 수 있다. 명령어 처리 기능은 분석 라이브러리 내부에 기정의된 명령어가 입력되었을 때 해당 명령어에 따른 처리가 수행되도록 하는 기능으로서, 사용자가 검사하고자 하는 내용의 입력 없이 검사를 요청하는 경우에 사전에 정의된 명령을 전달하여 취약점 분석이 수행되도록 하고, 예를 들어, 기정의된 명령은 취약한 심볼 검사(SCAN_SYMBOL), 취약한 함수 검사(SCAN_WEAKFUNCTION)와 같은 형태로 정의될 수 있다. 메모리 검사 기능에는 취약한 함수 검사 기능, 취약한 심볼 검사 기능, 문자열 검사 기능, 및 안티 디버깅 적용 검사 기능이 포함될 수 있다. 이와 같은 기능을 포함하도록 생성된 분석 라이브러리는 해당 분석 라이브러리의 개발자가 생성한 인증서를 통해 서명된다. 여기에서, 분석 라이브러리의 각 기능을 통하여 수행되는 구체적인 동작은 이하에서 보다 상세하게 설명한다.First, an analysis library including a communication function is generated by the vulnerability analysis server 110 and added to a specific area of the target executable file corresponding to the analysis target (step S310). Here, the analysis library has the same form as the dynamic library (dylib), but includes a communication function. When the target executable file is executed after the analysis library is inserted into the target executable file, the analysis library is loaded into the memory and the communication function is activated. Therefore, the information of the target executable file can be checked without JailBreak. Preferably, referring to FIG. 4, the analysis library may include a communication function, an instruction processing function, and a memory test function. The command processing function is a function to perform processing according to the command when a predefined command is input in the analysis library. When a user requests a test without inputting the contents to be tested, a predefined command is delivered. This allows vulnerability analysis to be performed, and for example, a predefined command can be defined in the form of a weak symbol check (SCAN_SYMBOL) and a weak function check (SCAN_WEAKFUNCTION). The memory check function may include a weak function check function, a weak symbol check function, a string check function, and an anti-debugging application check function. An analysis library created to include such a function is signed through a certificate generated by the developer of the corresponding analysis library. Here, specific operations performed through each function of the analysis library will be described in more detail below.

바람직하게, 인증서를 통해 서명된 분석 라이브러리는 대상실행파일에 대한실행파일(Mach-O)의 헤더 정보 중 로드 명령(Load Command) 부분에 추가되고, 이에 따라 대상실행파일의 로드 명령 카운트(Load Command Count) 정보는 수정된다. 도 5를 참조하면, 대상실행파일에는 로드 명령(Load Command) 영역이 존재하고, 로드 명령 영역은 대상실행파일이 실행될 때 필요한 정보를 저장하고 있으며, 로드 명령 영역 내에서 사용하는 명령인 LC_LOAD_DYLIB는 대상실행파일이 실행될 때 참조하는 라이브러리 정보를 가지고 있다. 따라서 분석 라이브러리(즉, 분석용 라이브러리 정보)는 LC_LOAD_DYLIB 명령과 함께 로드 명령 영역에 추가되고, 대상실행파일의 실행에 의해 로드 명령에 저장된 정보가 메모리에 로드됨에 따라 분석 라이브러리도 메모리에 로드된다. 즉, 어플리케이션 내 실행파일은 동작 시 필요한 라이브러리 정보를 특정 영역에 저장하고 있는바, 이와 같은 특정 영역에 분석 라이브러리 정보를 추가하고 로드 명령 카운트 정보를 수정하는 것을 통하여, 어플리케이션 실행 시 로드 명령과 로드 명령 카운트 정보를 참조하여 실행에 필요한 정보, 즉, 분석 라이브러리가 메모리 상에 로드되도록 하는 것이다.Preferably, the analysis library signed through the certificate is added to the Load Command part of the header information of the executable file (Mach-O) for the target executable file, and accordingly, the load command count of the target executable file. Count) information is modified. 5, a load command area exists in the target executable file, the load command area stores necessary information when the target executable file is executed, and LC_LOAD_DYLIB, a command used in the load command area, is a target Contains library information referenced when an executable file is executed. Therefore, the analysis library (ie, analysis library information) is added to the load command area with the LC_LOAD_DYLIB command, and the analysis library is also loaded into the memory as the information stored in the load command is loaded into the memory by the execution of the target executable file. That is, the executable file in the application stores library information necessary for operation in a specific area. By adding analysis library information to such a specific area and modifying the load command count information, the load command and load command when running the application By referring to the count information, information necessary for execution, that is, an analysis library, is loaded onto the memory.

분석 라이브러리(121)가 추가된 대상실행파일은 인증서를 통해 서명될 수 있다. 대상실행파일은 대상실행파일이 마지막으로 서명된 이후 수정되지 않았다는 것을 보장하기 위해 코드 서명되어 있는데, 분석 라이브러리(121)가 대상실행파일에 추가됨에 따라 대상실행파일이 변경되었기 때문에 코드 서명 작업이 수행되어야 한다. 예를 들어, 대상실행파일의 코드 서명은 Mac OS X에서 제공하는 codedesign 명령을 이용하여 수행될 수 있고, 분석 라이브러리(121)는 대상실행파일을 서명한 인증서를 통하여 서명될 수 있다.The target executable file to which the analysis library 121 is added may be signed through a certificate. The target executable file is code-signed to ensure that the target executable file has not been modified since it was last signed. The code signing operation is performed because the target executable file has changed as the analysis library 121 is added to the target executable file. Should be. For example, code signing of a target executable file may be performed using a codedesign command provided by Mac OS X, and the analysis library 121 may be signed through a certificate that signed the target executable file.

서명이 완료된 대상실행파일은 어플리케이션 형태로 제작되어 사용자 단말(120)에 설치될 수 있고, 사용자 단말(120)에서 분석 라이브러리(121)가 추가된 대상실행파일이 실행되면, 취약점 분석 서버(110)의 분석 명령 전송부(111)는 분석 라이브러리(121)에 분석 명령을 전달한다(단계 S320). 바람직하게, 사용자 단말(120)에 설치된 대상실행파일은 자동으로 실행될 수 있고, 대상실행파일이 실행되면 사용자 단말(120)의 분석 라이브러리(121)와 취약점 분석 서버(120)는 연결될 수 있다. 보다 구체적으로, 대상실행파일이 실행되면 대상실행파일의 로드 명령 및 로드 명령 카운터 정보에 따라 로드 명령 부분에 추가된 분석 라이브러리(121)가 대상실행파일의 메모리에 로드되고, 분석 라이브러리(121)의 통신 기능이 활성화 되어 분석 라이브러리(121)와 취약점 분석 서버(110)의 연결 설정 작업이 수행될 수 있다. 분석 라이브러리(121)와 취약점 분석 서버(110)가 연결되면, 분석 라이브러리(121)는 취약점 분석 서버(110)의 분석 명령 전송부(111)로부터 분석 명령이 전달될 때까지 대기 상태가 된다.The signed target executable file can be produced in the form of an application and installed in the user terminal 120, and when the target executable file to which the analysis library 121 is added is executed in the user terminal 120, the vulnerability analysis server 110 The analysis command transmission unit 111 transmits the analysis command to the analysis library 121 (step S320). Preferably, the target executable file installed in the user terminal 120 may be automatically executed, and when the target executable file is executed, the analysis library 121 of the user terminal 120 and the vulnerability analysis server 120 may be connected. More specifically, when the target executable file is executed, the analysis library 121 added to the load command portion according to the load command and load command counter information of the target executable file is loaded into the memory of the target executable file, and the analysis library 121 The communication function is activated so that the connection setting between the analysis library 121 and the vulnerability analysis server 110 may be performed. When the analysis library 121 and the vulnerability analysis server 110 are connected, the analysis library 121 is in a standby state until an analysis command is transmitted from the analysis command transmission unit 111 of the vulnerability analysis server 110.

사용자 단말(120)의 분석 라이브러리(121)가 분석 명령 전송부(111)로부터 분석 명령을 전달받아 취약점 분석을 완료하면, 취약점 분석 서버(110)의 분석 결과 수신부(112)는 분석 라이브러리(121)로부터 분석 결과를 수신한다(단계 S330).When the analysis library 121 of the user terminal 120 receives the analysis command from the analysis command transmission unit 111 and completes the vulnerability analysis, the analysis result receiving unit 112 of the vulnerability analysis server 110 is the analysis library 121 The analysis result is received from (step S330).

바람직하게, 분석 라이브러리(121)는 단계 S320에서 전달받은 분석 명령에 따라 대상실행파일의 메모리를 검사할 수 있다. 보다 구체적으로, 분석 명령이 취약한 함수 검사 명령에 해당하는 경우에는, 분석 라이브러리의 취약한 함수 검사 기능을 통하여, 대상실행파일의 실행 파일 또는 라이브러리의 함수와 관련된 데이터 영역에 기설정된 함수 값이 존재하는지 여부가 검사될 수 있다. 먼저, 대상실행파일에서 info.plist에 정의되어 있는 대상실행파일의 실행파일(Mach-O 구조)이 추출되고, 추출된 실행파일에서 심볼테이블을 추출된다. 여기에서, Mach-O 구조는 심볼테이블(Symbol Table) 및 스트링테이블(String Table)을 포함하고, 심볼테이블은 대상실행파일의 운영체제(iOS)에서 사용되는 함수명을 포함한다. 그 다음, 심볼테이블에 기설정된 취약함수가 있는지 여부가 검사될 수 있다. 취약함수는 모바일 단말기의 오작동을 유발시킬 수 있는 호출 함수로서, 예를 들어, 오버플로우, 포맷스트링, 등에 해당할 수 있고, 사용자에 의하여 미리 설정 또는 등록될 수 있으며, 예를 들어, Socket, Sdcard, Location, 등이 취약한 함수로 미리 설정될 수 있다.Preferably, the analysis library 121 may check the memory of the target executable file according to the analysis command received in step S320. More specifically, if the analysis command corresponds to a weak function check command, whether a preset function value exists in the data area related to the function of the executable file or library of the target executable file through the function check function of the analysis library. Can be checked. First, the executable file (Mach-O structure) of the target executable file defined in info.plist is extracted from the target executable file, and the symbol table is extracted from the extracted executable file. Here, the Mach-O structure includes a symbol table and a string table, and the symbol table includes a function name used in the operating system (iOS) of the target executable file. Then, it can be checked whether or not there is a preset vulnerability function in the symbol table. The vulnerability function is a calling function that can cause a malfunction of the mobile terminal, and may correspond to, for example, overflow, format string, etc., and may be set or registered in advance by the user, for example, Socket, Sdcard , Location, etc. can be preset as vulnerable functions.

분석 명령이 문자열 검사 명령에 해당하는 경우에는, 분석 라이브러리의 문자열 검사 기능을 통하여, 대상실행파일의 실행 파일 또는 라이브러리의 문자열과 관련된 데이터 영역에 기설정된 문자열 값이 존재하는지 여부가 검사될 수 있다. 보다 구체적으로, 대상실행파일에서 info.plist에 정의된 대상실행파일의 실행파일이 추출된다. 그 다음, 실행파일의 스트링 테이블에 기등록된 유추가능한 문자열이 존재하는지 여부가 검사될 수 있고, 여기에서, 스트링 테이블(string table)은 대상실행파일의 운영체제에서 사용되는 디버깅된 문자열 집합체에 해당한다. 바람직하게, 유추가능한 문자열은 암호화, 복호화, 또는 패스워드 등에 사용될 수 있는 단어로서, 예를 들어, encrypt, decrypt, password, 등에 해당할 수 있고, 사용자에 의하여 검사할 확장자 또는 문자열이 미리 설정 또는 등록될 수 있다.When the analysis command corresponds to a character string inspection command, it may be checked whether a preset character string value exists in an executable file of the target executable file or a data area related to a character string of the library through the character string inspection function of the analysis library. More specifically, the executable file of the target executable file defined in info.plist is extracted from the target executable file. Then, it can be checked whether there is a pre-registered inferable string in the string table of the executable file, where the string table corresponds to a set of debugged strings used in the operating system of the target executable file. . Preferably, the inferred character string is a word that can be used for encryption, decryption, or password, and may correspond to, for example, encrypt, decrypt, password, etc., and an extension or character string to be checked by the user is preset or registered. I can.

분석 명령이 취약함 심볼 검사 명령에 해당하는 경우에는, 분석 라이브러리의 취약한 심볼 검사 기능을 통하여, 대상실행파일의 실행 파일 또는 라이브러리의 심볼과 관련된 데이터 영역에 기설정된 심볼 정보가 존재하는지 여부가 검사될 수 있다. 보다 구체적으로, 대상실행파일에서 info.plist에 정의되어 있는 대상실행파일의 실행파일(Mach-O 구조)이 추출되고, 추출된 실행파일에서 심볼테이블이 추출된다. 여기에서, 심볼테이블은 대상실행파일의 운영체제에서 사용되는 함수명을 포함한다. 그 다음, 심볼테이블에 기설정된 취약한 심볼이 있는지 여부가 검사될 수 있다. 바람직하게, 취약한 심볼은 암호화, 복호화, 또는 패스워드 등에 사용될 수 있는 단어로서, 예를 들어, encrypt, decrypt, password, 등에 해당할 수 있고, 사용자에 의하여 미리 설정 또는 등록될 수 있다. 또한, 취약한 심볼은 대상실행파일의 운영체제(iOS)에서 사용되는 디버깅된 함수의 명칭에 해당할 수 있다.If the analysis command is a weak symbol check command, it will be checked whether preset symbol information exists in the data area related to the executable file of the target executable file or the symbol of the library through the weak symbol check function of the analysis library. I can. More specifically, the executable file (Mach-O structure) of the target executable file defined in info.plist is extracted from the target executable file, and the symbol table is extracted from the extracted executable file. Here, the symbol table contains the name of the function used in the operating system of the target executable file. Then, it may be checked whether there is a weak symbol preset in the symbol table. Preferably, the weak symbol is a word that can be used for encryption, decryption, or password, and may correspond to, for example, encrypt, decrypt, password, etc., and may be preset or registered by a user. In addition, the vulnerable symbol may correspond to the name of a debugged function used in the operating system (iOS) of the target executable file.

분석 명령이 안티 디버깅 적용 여부 검사 명령에 해당하는 경우에는, 분석 라이브러리의 안티 디버깅 적용 검사 기능을 통하여, 대상실행파일에 안티 디버깅이 적용되어 있는지 여부가 검사될 수 있다. 구체적으로, 디버깅 함수인 Ptrace에 대상실행파일의 프로세스가 붙여지고(attach), 붙여진(attach) 상태로 대상실행파일이 구동된다면 안티 디버깅이 적용되지 않은 것으로 판단되고, 구동되지 않는다면 안티 디버깅이 적용되어 있는 것으로 판단될 수 있다.When the analysis command corresponds to the anti-debugging application check command, it may be checked whether or not anti-debugging is applied to the target executable file through the anti-debugging application check function of the analysis library. Specifically, if the process of the target executable file is attached to the debugging function Ptrace, and the target executable file is run in the attached state, it is determined that anti-debugging has not been applied. If it is not started, anti-debugging is applied. It can be determined that there is.

일 실시예에서, 분석 라이브러리는 상기에서 설명된 바와 같이 대상실행파일에 대해서만 취약점을 분석하거나 또는 대상실행파일의 실행을 위해 함께 로드된 라이브러리, 즉, 실행파일 외 라이브러리에 대한 검사도 수행할 수 있다. 대상실행파일은 단독으로 동작할 수 있지만 유지보수 또는 업데이트 등의 문제로 인하여 별도의 라이브러리를 로드한 뒤 참조하는 형태로 동작하는바, 대상실행파일을 메모리에 로드하면 대상실행파일 이외에 참조하는 라이브러리가 다수 로드되게 된다. 따라서, 본 발명에서는 메모리에 로드된 파일 중 대상실행파일만 검사를 할 것인지 또는 대상실행파일의 실행을 위하여 함께 로드된 라이브러리도 함께 검사할 것인지 여부가 선택될 수 있고, 대상실행파일 외 라이브러리에 대한 검사 방법은 상기에서 설명된 방식이 동일하게 적용된다.In one embodiment, the analysis library may analyze vulnerabilities only for the target executable file as described above, or may also perform inspection on libraries loaded together for execution of the target executable file, that is, libraries other than the executable file. . The target executable file can operate alone, but it operates in a form of reference after loading a separate library due to problems such as maintenance or updating. When the target executable file is loaded into memory, the referenced library other than the target executable file is Many will be loaded. Therefore, in the present invention, it can be selected whether to scan only the target executable file among the files loaded in the memory or the library loaded together for execution of the target executable file. As for the inspection method, the method described above is equally applied.

분석 라이브러리를 통하여 메모리 검사가 완료되면, 분석 명령에 따른 분석 결과는 기정의된 구조체 형식으로 생성된 후, 취약점 분석 서버(110)의 분석 결과 수신부(112)에 전송될 수 있다. 바람직하게, 분석 결과 수신부(112)는 분석 라이브러리(121)로부터 수신한 분석 결과를 문서 파일로 생성하여 사용자에게 제공되도록 할 수 있다. 여기에서, 분석 결과는 {주소, 검색된 값, 주소값에 매칭되는 파일} 형태로 구성될 수 있고, 예를 들어, {0x40001234, “970216-1468757”, “Security”} 형태로 사용자에게 제공될 수 있다When the memory test is completed through the analysis library, the analysis result according to the analysis command may be generated in a predefined structure format and then transmitted to the analysis result receiving unit 112 of the vulnerability analysis server 110. Preferably, the analysis result receiving unit 112 may generate the analysis result received from the analysis library 121 as a document file to be provided to the user. Here, the analysis result may be configured in the form of {address, searched value, and file matching the address value}, and may be provided to the user in the form of {0x40001234, “970216-1468757”, “Security”}, for example. have

한편, 본 발명의 일 실시예에 따른 취약점 분석 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.Meanwhile, the vulnerability analysis method according to an embodiment of the present invention may also be implemented as a computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system.

예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성메모리(Flash Memory), 광 데이터 저장장치 등이 있다.For example, computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, hard disk, floppy disk, removable storage device, and non-volatile memory. And optical data storage devices.

또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.In addition, the computer-readable recording medium can be distributed over a computer system connected through a computer communication network, and stored and executed as code that can be read in a distributed manner.

전술한 본 발명에 따른 취약점 분석 방법 및 서버에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.Although the above-described preferred embodiments of the vulnerability analysis method and server according to the present invention have been described, the present invention is not limited thereto, and various modifications are made within the scope of the claims and the detailed description of the invention and the accompanying drawings. It is possible and this also belongs to the invention.

100: 취약점 분석 시스템
110:취약점 분석 서버
111: 분석 명령 전송부
112: 분석 결과 수신부
120: 사용자 단말
121: 분석 라이브러리
100: Vulnerability Analysis System
110: vulnerability analysis server
111: analysis command transmission unit
112: analysis result receiver
120: user terminal
121: analysis library

Claims (10)

취약점 분석 서버에서 수행되는 취약점 분석 방법에 있어서,
통신 기능을 포함하는 분석 라이브러리가 생성되어, 분석 대상에 해당하는 대상실행파일의 특정 영역에 추가된 후,
(a) 상기 분석 라이브러리가 추가된 대상실행파일이 실행되면, 상기 분석 라이브러리에 분석 명령을전송하는 단계; 및
(b) 상기 분석 라이브러리로부터 수행된 상기 분석 명령에 따른 분석 결과를 수신하는 단계를 포함하는 것을 특징으로 하는 취약점 분석 방법.
In the vulnerability analysis method performed in the vulnerability analysis server,
After the analysis library including the communication function is created and added to a specific area of the target executable file corresponding to the analysis target,
(a) when the target executable file to which the analysis library has been added is executed, transmitting an analysis command to the analysis library; And
(b) receiving an analysis result according to the analysis command performed from the analysis library.
제1항에 있어서, 상기 (a) 단계는,
상기 대상실행파일이 실행되면, 상기 분석 라이브러리가 상기 대상실행파일의 메모리에 로드되는 단계;
상기 분석 라이브러리의 통신 기능이 활성화되는 단계; 및
상기 분석 라이브러리와 연결되는 단계를 포함하는 것을 특징으로 하는 취약점 분석 방법.
The method of claim 1, wherein step (a),
When the target executable file is executed, loading the analysis library into a memory of the target executable file;
Activating the communication function of the analysis library; And
And linking with the analysis library.
제1항에 있어서, 상기 (b) 단계는
상기 분석 라이브러리에 의하여 상기 분석 명령에 따라 상기 대상실행파일의 메모리가 검사되는 단계를 포함하는 것을 특징으로 하는 취약점 분석 방법.
The method of claim 1, wherein step (b)
And checking the memory of the target executable file according to the analysis command by the analysis library.
제3항에 있어서, 상기 (b) 단계는,
상기 분석 명령이 취약한 함수 검사 명령에 해당하는 경우에는, 상기 대상실행파일의 실행 파일 또는 라이브러리의 함수와 관련된 데이터 영역에 기설정된 함수 값이 존재하는지 여부가 검사되는 단계를 포함하는 것을 특징으로 하는 취약점 분석 방법.
The method of claim 3, wherein step (b),
And if the analysis command corresponds to a weak function check command, checking whether a preset function value exists in a data area related to a function of an executable file or a library of the target executable file. Analysis method.
제3항에 있어서, 상기 (b) 단계는,
상기 분석 명령이 문자열 검사 명령에 해당하는 경우에는, 상기 대상실행파일의 실행 파일 또는 라이브러리의 문자열과 관련된 데이터 영역에 기설정된 문자열 값이 존재하는지 여부가 검사되는 단계를 포함하는 것을 특징으로 하는 취약점 분석 방법.
The method of claim 3, wherein step (b),
If the analysis command corresponds to a character string inspection command, a vulnerability analysis comprising the step of checking whether a preset character string value exists in a data area related to a character string of an executable file or a library of the target executable file. Way.
제3항에 있어서, 상기 (b) 단계는,
상기 분석 명령이 취약한 심볼 검사 명령에 해당하는 경우에는, 상기 대상실행파일의 실행 파일 또는 라이브러리의 심볼과 관련된 데이터 영역에 기설정된 심볼 정보가 존재하는지 여부가 검사되는 단계를 포함하는 것을 특징으로 하는 취약점 분석 방법.
The method of claim 3, wherein step (b),
And if the analysis command corresponds to a weak symbol inspection command, checking whether preset symbol information exists in a data area related to an executable file of the target executable file or a symbol of a library. Analysis method.
제1항에 있어서, 상기 (b) 단계는,
상기 분석 명령에 따른 분석 결과는 기정의된 구조체 형식으로 생성되는 단계를 포함하는 것을 특징으로 하는 취약점 분석 방법.
The method of claim 1, wherein step (b),
And generating the analysis result according to the analysis command in a predefined structure format.
제1항에 있어서,
상기 분석 라이브러리는 생성된 후 인증서를 통해 서명되고,
상기 분석 라이브러리는 상기 대상실행파일의 헤더 정보 중 로드 명령 부분에 추가되고 상기 대상실행파일의 로드 명령 카운트 정보가 수정되고,
상기 대상실행파일은 인증서를 통해 서명되는 것을 특징으로 하는 취약점 분석 방법.
The method of claim 1,
The analysis library is created and then signed with a certificate,
The analysis library is added to the load command part of the header information of the target executable file, and the load command count information of the target executable file is modified,
Vulnerability analysis method, characterized in that the target executable file is signed through a certificate.
취약점 분석 서버에 있어서,
통신 기능을 포함하는 분석 라이브러리가 생성되어, 분석 대상에 해당하는 대상실행파일의 특정 영역에 추가된 후,
상기 분석 라이브러리가 추가된 대상실행파일이 실행되면, 상기 분석 라이브러리에 분석 명령을 전달하는 분석 명령 전송부; 및
상기 분석 라이브러리로부터 수행된 상기 분석 명령에 따른 분석 결과를 수신하는 분석 결과 수신부를 포함하는 것을 특징으로 하는 취약점 분석 서버.
In the vulnerability analysis server,
After the analysis library including the communication function is created and added to a specific area of the target executable file corresponding to the analysis target,
An analysis command transmission unit for transmitting an analysis command to the analysis library when the target execution file to which the analysis library is added is executed; And
And an analysis result receiver configured to receive an analysis result according to the analysis command performed from the analysis library.
제1항 내지 제8항 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium on which a program capable of executing the method of claim 1 through a computer is recorded.
KR1020200099258A 2017-11-28 2020-08-07 Method and server for analyzing weak point through library injection KR20200100565A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170160586 2017-11-28
KR1020170160586 2017-11-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180070314A Division KR102145324B1 (en) 2017-11-28 2018-06-19 Method and server for analyzing weak point through library injection

Publications (1)

Publication Number Publication Date
KR20200100565A true KR20200100565A (en) 2020-08-26

Family

ID=66845627

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180070314A KR102145324B1 (en) 2017-11-28 2018-06-19 Method and server for analyzing weak point through library injection
KR1020200099258A KR20200100565A (en) 2017-11-28 2020-08-07 Method and server for analyzing weak point through library injection

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180070314A KR102145324B1 (en) 2017-11-28 2018-06-19 Method and server for analyzing weak point through library injection

Country Status (1)

Country Link
KR (2) KR102145324B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881059B (en) * 2020-08-10 2023-10-27 网易(杭州)网络有限公司 Code file detection method and device and electronic equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101568224B1 (en) 2014-12-26 2015-11-11 고려대학교 산학협력단 Analysis device and method for software security

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100924519B1 (en) * 2006-11-13 2009-11-02 한국전자통신연구원 File format analysis system and method for unknown file format to use software security testing
KR101500512B1 (en) * 2013-05-15 2015-03-18 소프트캠프(주) Device and method for securing computer
KR101436741B1 (en) * 2013-05-27 2014-09-01 (주)스마일게이트엔터테인먼트 The method and system for applying security solution program
KR101875866B1 (en) 2017-11-06 2018-07-06 주식회사 엠시큐어 Method and server for checking weak point of mobile application

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101568224B1 (en) 2014-12-26 2015-11-11 고려대학교 산학협력단 Analysis device and method for software security

Also Published As

Publication number Publication date
KR102145324B1 (en) 2020-08-18
KR20190062134A (en) 2019-06-05

Similar Documents

Publication Publication Date Title
US11068602B2 (en) Server and method for checking vulnerability of mobile application
US9141801B2 (en) Apparatus and method for analyzing permission of application for mobile devices and detecting risk
US20160378989A1 (en) Apparatus and method for monitoring android platform-based application
Han et al. Comparing mobile privacy protection through cross-platform applications
CN107451474B (en) Software bug fixing method and device for terminal
CN108763951B (en) Data protection method and device
US20160197950A1 (en) Detection system and method for statically detecting applications
CN103177210A (en) Method of implanting dynamic stain analysis module in Android
US20150302191A1 (en) Program execution apparatus and program analysis apparatus
CN110855642B (en) Application vulnerability detection method and device, electronic equipment and storage medium
US10691798B2 (en) Analysis device, analysis method, and analysis program
US20160014123A1 (en) Apparatus and method for verifying integrity of applications
CN108197469B (en) Method and device for verifying application program, storage medium and electronic equipment
JP6554249B2 (en) Granting apparatus, granting method and granting program
KR101557455B1 (en) Application Code Analysis Apparatus and Method For Code Analysis Using The Same
KR102145324B1 (en) Method and server for analyzing weak point through library injection
KR102156340B1 (en) Method and apparatus for blocking web page attack
JP6018344B2 (en) Dynamic reading code analysis apparatus, dynamic reading code analysis method, and dynamic reading code analysis program
CN112231649A (en) Firmware encryption processing method, device, equipment and medium
Tran et al. Security issues in android application development and plug-in for android studio to support secure programming
Choi et al. Large-scale analysis of remote code injection attacks in android apps
KR102133251B1 (en) Method and apparatus for protecting application program
US10503929B2 (en) Visually configurable privacy enforcement
WO2019071828A1 (en) Method for detecting secondary packaging of application installation package, storage medium, device, and system
US10530835B2 (en) Application recording

Legal Events

Date Code Title Description
A107 Divisional application of patent