KR20200080131A - Automatically diagnosis apparatus and method for vulnerabilities of mobile application - Google Patents

Automatically diagnosis apparatus and method for vulnerabilities of mobile application Download PDF

Info

Publication number
KR20200080131A
KR20200080131A KR1020190148482A KR20190148482A KR20200080131A KR 20200080131 A KR20200080131 A KR 20200080131A KR 1020190148482 A KR1020190148482 A KR 1020190148482A KR 20190148482 A KR20190148482 A KR 20190148482A KR 20200080131 A KR20200080131 A KR 20200080131A
Authority
KR
South Korea
Prior art keywords
application
analysis unit
checked
check
dynamic analysis
Prior art date
Application number
KR1020190148482A
Other languages
Korean (ko)
Other versions
KR102175784B1 (en
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 KR20200080131A publication Critical patent/KR20200080131A/en
Application granted granted Critical
Publication of KR102175784B1 publication Critical patent/KR102175784B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present specification discloses an apparatus and a method for more easily performing the vulnerability inspection of a mobile application. According to the present specification, an apparatus for inspecting a mobile application comprises: an executable file uploading unit storing an application to be inspected in a memory; a static analysis unit performing a permission setting inspection or a source code obfuscation inspection through its own source code of the application to be inspected; and a dynamic analysis unit performing at least one of forgery and alteration blocking inspection, a security solution inspection, a debugging detection/blocking inspection, and an information exposure inspection while the application to be inspected is executed.

Description

모바일 어플리케이션의 취약점 자동 진단 장치 및 방법{AUTOMATICALLY DIAGNOSIS APPARATUS AND METHOD FOR VULNERABILITIES OF MOBILE APPLICATION}Device and method for automatic diagnosis of vulnerability in mobile applications{AUTOMATICALLY DIAGNOSIS APPARATUS AND METHOD FOR VULNERABILITIES OF MOBILE APPLICATION}

본 발명은 모바일 어플리케이션의 취약점을 진단하는 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for diagnosing vulnerabilities in mobile applications.

모바일 디바이스가 널리 사용되면서, 다양한 종류의 모바일 어플리케이션이 제작되고 다양한 사람이 자신의 모바일 디바이스에 설치하여 사용하고 있다. 현대 사회에서 모바일 디바이스는 금융거래 등 다양한 일상 속에서 필수적으로 사용되며, 개인의 민감한 정보를 포함하고 있기도 하다. 따라서, 모바일 디바이스에 설치되는 모바일 어플리케이션은 개발 후 출시 전 여러 가지 해킹의 위협으로부터 어플리케이션을 보호하기 위해 취약점이 있는지, 어플리케이션 자체가 불필요한 정보를 요구하지 않는지 또는 과도한 권한이 필요한지 등 점검을 진행해야 한다.As mobile devices are widely used, various types of mobile applications are produced and various people install and use them on their mobile devices. In modern society, mobile devices are used in a variety of daily life, such as financial transactions, and contain sensitive personal information. Therefore, after development, the mobile application installed on the mobile device needs to be checked before launch, whether there is a vulnerability to protect the application from various hacking threats, whether the application itself does not require unnecessary information, or if excessive authority is required.

종래에는 모바일 어플리케이션에 대한 전문가가 다양한 도구를 이용하여 점검 항목별 취약점 점검을 일일이 하기 때문에, 전문가의 많은 시간이 소요되는 단점이 있다. 따라서, 전문가의 시간을 아끼고, 일일이 점검하는 불편함을 제거하며, 사람의 실수를 방지할 수 있는 방법이 필요하다. In the related art, since a specialist for a mobile application uses a variety of tools to check vulnerabilities for each inspection item, it takes a lot of time for experts. Therefore, there is a need for a method that saves expert time, eliminates the inconvenience of checking every day, and prevents human errors.

대한미국 등록특허공보 제10-1568224호Korean Registered Patent Publication No. 10-1568224

본 명세서는 모바일 어플리케이션의 취약점 점검을 보다 간편하게 할 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.The purpose of this specification is to provide a device and method that can more easily check the vulnerability of mobile applications.

본 명세서는 상기 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.This specification is not limited to the above-mentioned problems, and other problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 명세서에 따른 모바일 어플리케이션 점검 장치는, 점검 대상 어플리케이션을 메모리에 저장시키는 실행파일 업로드부; 상기 점검 대상 어플리케이션의 자체 소스 코드를 통해 권한 설정 점검 또는 소스코드 난독화 점검을 수행하는 정적 분석부; 및 상기 점검 대상 어플리케이션이 실행되는 과정에서 위변조 차단 점검, 보안솔류션 점검, 디버깅 탐지/차단 점검 및 정보노출 점검 중 적어도 어느 하나를 수행하는 동적 분석부;를 포함할 수 있다.A mobile application inspection device according to the present specification for solving the above-mentioned problems includes: an executable file upload unit for storing an inspection target application in a memory; A static analysis unit performing authority setting checking or source code obfuscation checking through the source code of the application to be checked; And a dynamic analysis unit that performs at least one of forgery forgery blocking check, security solution check, debugging detection/blocking check, and information exposure check while the application to be checked is executed.

본 명세서의 일 실시예에 따르면, 상기 정적 분석부는 상기 권한 설정 점검을 위해 점검 대상 어플리케이션이 요구하는 권한과 사용 함수를 비교하여 불필요하거나 과도한 권한이 설정되었는지 여부를 판단할 수 있다.According to one embodiment of the present specification, the static analysis unit may determine whether unnecessary or excessive authority is set by comparing the authority required by the application to be checked and the usage function for checking the authority setting.

본 명세서의 일 실시예에 따르면, 상기 정적 분석부는 상기 소스코드 난독화 점검을 위해 클래스 및 매소드 명칭이 약식 명칭으로 대체되었는지 여부를 통해 소스코드 난독화 여부를 판단할 수 있다.According to an embodiment of the present specification, the static analysis unit may determine whether the source code is obfuscated through whether the class and method names have been replaced with abbreviated names for checking the source code obfuscation.

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 위변조 차단 점검을 위해 점검 대상 어플리케이션의 리소스 또는 소스코드를 수정하고, 수정된 점검 대상 어플리케이션의 정상 실행 여부를 통해 위변조 차단 여부를 판단할 수 있다.According to one embodiment of the present specification, the dynamic analysis unit may modify the resource or source code of the application to be checked for the forgery blocking check, and determine whether the forgery is blocked through normal execution of the modified application to be checked. .

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 보안솔루션 점검을 위해 내부 저장소 내 보안솔루션들의 데이터베이스 구축 후 해당 보안 제품들이 실행되지 여부를 통해 보안솔루션의 사용 여부를 판단할 수 있다.According to one embodiment of the present specification, the dynamic analysis unit may determine whether to use the security solution through whether the security products are executed after the database of security solutions in the internal storage is built to check the security solution.

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 디버깅 탐지/차단 점검을 위해 점검 대상 어플리케이션의 프로세서에 접근할 때 정상 작동 여부를 통해 디버깅 탐지/차단 여부를 판단할 수 있다.According to one embodiment of the present specification, the dynamic analysis unit may determine whether to detect/block debugging through normal operation when approaching the processor of the application to be checked for the debugging detection/blocking inspection.

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 정보노출 점검을 위해 미리 설정된 문자열이 점검 대상 어플리케이션의 내부 저장소에서 검색되는지 여부를 통해 중요 정보가 노출되는지 여부를 판단할 수 있다.According to an embodiment of the present specification, the dynamic analysis unit may determine whether sensitive information is exposed through whether a preset string for checking the information exposure is searched in the internal storage of the application to be checked.

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 정보노출 점검을 위해 미리 설정된 문자열이 모바일 디바이스 내 구축된 VPN 서버를 통해 점검 대상 어플리케이션에서 송수신되는 패킷에서 검색되는지 여부를 통해 중요 정보가 노출되는지 여부를 판단할 수 있다.According to an embodiment of the present disclosure, the dynamic analysis unit determines whether sensitive information is exposed through whether a preset string for checking the information exposure is retrieved from a packet transmitted/received by a target application through a VPN server built in a mobile device. Can determine whether

본 명세서의 일 실시예에 따르면, 모바일 단말기와 데이터를 송수신하는 통신부;를 더 포함하고, 상기 동적 분석부는 상기 점검 대상 어플리케이션을 상기 통신부를 통해 연결된 모바일 단말기에서 실행시킬 수 있다.According to an embodiment of the present disclosure, further comprising a communication unit for transmitting and receiving data to and from the mobile terminal, the dynamic analysis unit may execute the application to be checked in the mobile terminal connected through the communication unit.

이 경우, 영상을 출력하는 디스플레이부;를 더 포함하고, 상기 동적 분석부는, 상기 모바일 단말기에서 실행되는 점검 대상 어플리케이션의 실행 화면을 상기 디스플레이부에 출력하도록 제어할 수 있다.In this case, further comprising a display unit for outputting an image, and the dynamic analysis unit may control to output an execution screen of an application to be checked executed in the mobile terminal to the display unit.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific matters of the present invention are included in the detailed description and drawings.

본 명세서에 따르면, 사람이 많은 시간을 들여서 일일이 다양한 도구를 활용하여 체크리스트를 통해 취약점 점검을 해야 하는 불편함 없이, 간편하게 비 전문가도 간단한 취약점 점검을 할 수 있는 장점이 있다.According to the present specification, a non-expert can easily perform a simple vulnerability check without the inconvenience of having to check the vulnerability through a checklist by using a variety of tools every day.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 명세서에 따른 모바일 어플리케이션 점검 장치의 구성을 개략적으로 도시한 블럭도이다.
도 2는 본 명세서의 일 실시예에 따른 권한 설정 점검의 흐름도이다.
도 3은 본 명세서의 일 실시예에 따른 소스코드 난독화 점검의 흐름도이다.
도 4는 본 명세서의 일 실시예에 따른 위변조 차단 점검의 흐름도이다.
도 5는 본 명세서의 일 실시예에 따른 보안솔루션 점검의 흐름도이다.
도 6은 본 명세서의 일 실시예에 따른 디버깅 탐지/차단 점검의 흐름도이다.
도 7은 본 명세서의 일 실시예에 따라 내부 저장소에 저장된 정보의 노출 점검 흐름도이다.
도 8은 본 명세서의 일 실시예에 따라 로그 내 정보의 노출 점검 흐름도이다.
도 9는 본 명세서의 일 실시예에 따라 네트워크 통신 구간에서 정보의 노출 점검 흐름도이다.
1 is a block diagram schematically showing the configuration of a mobile application inspection device according to the present specification.
2 is a flowchart of an authority setting check according to an embodiment of the present specification.
3 is a flowchart of source code obfuscation checking according to an embodiment of the present specification.
4 is a flow chart of forgery blocking check according to an embodiment of the present specification.
5 is a flowchart of security solution inspection according to an embodiment of the present specification.
6 is a flowchart of debugging detection/blocking inspection according to an embodiment of the present specification.
7 is a flowchart for checking exposure of information stored in an internal storage according to an embodiment of the present specification.
8 is a flowchart for checking exposure of information in a log according to one embodiment of the present specification.
9 is a flow chart for checking exposure of information in a network communication section according to an embodiment of the present specification.

본 명세서에 개시된 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 명세서가 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 명세서의 개시가 완전하도록 하고, 본 명세서가 속하는 기술 분야의 통상의 기술자(이하 '당업자')에게 본 명세서의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 명세서의 권리 범위는 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the invention disclosed in the present specification, and a method of achieving them will be apparent with reference to embodiments described below in detail together with the accompanying drawings. However, the present specification is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the embodiments allow the disclosure of the present specification to be complete, and are common in the technical field to which the present specification belongs. It is provided to fully describe the scope of the present specification to a technician (hereinafter'the person'), and the scope of rights of the present specification is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 명세서의 권리 범위를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for describing the embodiments and is not intended to limit the scope of rights of the present specification. In the present specification, the singular form also includes the plural form unless otherwise specified in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components other than the components mentioned. Throughout the specification, the same reference numerals refer to the same components, and “and/or” includes each and every combination of one or more of the components mentioned. Although "first", "second", etc. are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical spirit of the present invention.

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

모바일 어플리케이션을 개발 후 출시 전 여러 가지 해킹의 위협으로부터 어플리케이션을 보호하기 위해 취약점 점검이 필요하다. 기존에는 사람이 일일이 다양한 도구를 활용하여 체크리스트를 통해 취약점 점검을 진행하므로 전문가가 많은 시간을 들여서 진행해야 하는 불편함이 있었다.Vulnerability check is necessary to protect the application from various hacking threats before the mobile application is developed and released. In the past, there were inconveniences that experts have to spend a lot of time because people use various tools to check vulnerabilities through checklists.

본 명세서 출원 당시, 안드로이드는 윈도우나 리눅스등을 통해 Android USB 케이블을 이용한 통신으로 취약점 점검 명령을 내리고 점검 결과 수집을 하고, iOS의 경우는 Mac에서만 USB 연결 및 통신이 원할한 관계로 Mac에서만 취약점 점검을 진행하게 된다. 또한, Mac의 경우에는 관리 수집 용도의 서버로 쓰기에는 OS 한계가 존재하기 때문에 취약점 점검을 별도의 PC로 진행하여 취약점 점검 명령이나 결과를 두 대의 PC에서 따로 관리하여야 하는 단점이 있다.At the time of filing this specification, Android issues a vulnerability check command through communication using an Android USB cable through Windows or Linux, collects the inspection results, and in the case of iOS, checks the vulnerability only on the Mac because the USB connection and communication are smooth on the Mac only. Will proceed. In addition, in the case of a Mac, there is an OS limitation in writing to a server for management collection purposes, so there is a disadvantage in that vulnerability check must be performed on a separate PC to separately manage vulnerability check commands or results on two PCs.

반면, 본 명세서에 따른 모바일 어플리케이션 점검 장치 및 방법은 안드로이드 단말기 또는 iOS 단말기와 직접 유선 연결할 필요 없이, 무선 연결된 상태에서 점검이 가능하다. 따라서, 하나의 모바일 어플리케이션 점검 장치 즉, 한대의 PC에서 네트워크 통신을 통해 안드로이드, iOS 두개의 운영체제에 단말기에 명령을 내리고 정보를 수집할 수 있는 장점이 있다. 나아가, 하나의 모바일 어플리케이션 점검 장치에서 안드로이드, iOS 구분없이 여러 대의 단말기를 동시에 취약점 점검 명령을 내리고 점검 이력을 관리 할 수 있는 장점이 있다.On the other hand, the mobile application inspection device and method according to the present specification can be inspected in a wirelessly connected state without the need for a direct wired connection to an Android terminal or an iOS terminal. Accordingly, there is an advantage in that a mobile application inspection device, that is, a command from a single PC to a terminal on two operating systems of Android and iOS through a network communication, and information can be collected. Furthermore, there is an advantage in that multiple mobile terminals can simultaneously issue vulnerability inspection commands and manage inspection history from a single mobile application inspection device.

도 1은 본 명세서에 따른 모바일 어플리케이션 점검 장치의 구성을 개략적으로 도시한 블럭도이다.1 is a block diagram schematically showing the configuration of a mobile application inspection device according to the present specification.

도 1을 참조하면, 본 명세서에 따른 모바일 어플리케이션 점검 장치는 실행파일 업로드부, 정적 검사부 및 동적 검사부를 포함할 수 있다. 또한, 상기 모바일 어플리케이션 점검 장치는 모바일 단말기와 데이터를 송수신하는 통신부(도면 `미도시) 또는 영상을 출력하는 디스플레이부(도면 미도시)를 더 포함할 수 있다. 상기 통신부는 모바일 단말기와 무선으로 데이터를 송수신할 수 있고, 어플리케이션이 저장된 서버와 유선으로 데이터를 송수신할 수도 있다.Referring to FIG. 1, a mobile application inspection device according to the present specification may include an executable file upload unit, a static inspection unit, and a dynamic inspection unit. In addition, the mobile application inspection device may further include a communication unit (not shown in the drawing) or a display unit (not shown in the drawing) that outputs and transmits data to and from the mobile terminal. The communication unit may transmit and receive data wirelessly with a mobile terminal, and may transmit and receive data with a server storing an application over a wire.

상기 실행파일 업로드부는 점검 대상 어플리케이션을 메모리에 저장시킬 수 있다. 상기 점검 대상 어플리케이션은 모바일 단말기 또는 어플리케이션이 저장된 서버로부터 다운받을 수 있다. 안드로이드 운영체계의 경우 점검 대상 어플리케이션의 실행 파일은 APK 파일이고, iOS 운영체계의 경우 점검 대상 어플리케이션의 실행 파일은 IPA 파일이다.The executable file upload unit may store the application to be checked in the memory. The application to be checked may be downloaded from a mobile terminal or a server in which the application is stored. In the case of the Android operating system, the executable file of the application to be checked is the APK file, and in the case of the iOS operating system, the executable file of the application to be checked is the IPA file.

어플리케이션의 점검은 정적 검사와 동적 검사로 구분될 수 있다. 정적 검사는 어플리케이션의 실행 파일 자체를 분석하여 취약점 유무를 판단하는 검사이다. 동적 검사는 어플리케이션을 모바일 단말기에 업로드시킨 후 실행과정에서 취약점 유무를 판단하는 검사이다. 상기 정적 분석부는 상기 점검 대상 어플리케이션의 자체 소스 코드를 통해 권한 설정 점검 또는 소스코드 난독화 점검을 수행할 수 있다. 상기 동적 분석부는 기 점검 대상 어플리케이션이 실행되는 과정에서 위변조 차단 점검, 보안솔류션 점검, 디버깅 탐지/차단 점검 및 정보노출 점검 중 적어도 어느 하나를 수행할 수 있다. 본 명세서에서는 정적 분석부에서 수행할 수 있는 사항에 대해서 먼저 설명하고, 동적 분석부에서 수행할 수 있는 사항에 대해서 순서대로 설명하겠다.Application inspection can be divided into static inspection and dynamic inspection. Static inspection is a test that analyzes the application's executable file itself to determine if there is a vulnerability. Dynamic inspection is a test that determines whether there is a vulnerability in the execution process after uploading the application to the mobile terminal. The static analysis unit may perform permission setting check or source code obfuscation check through its own source code of the application to be checked. The dynamic analysis unit may perform at least one of forgery interception check, security solution check, debugging detection/blocking check, and information exposure check while the application to be checked is executed. In this specification, the items that can be performed in the static analysis unit will be described first, and the items that can be performed in the dynamic analysis unit will be described in order.

도 2는 본 명세서의 일 실시예에 따른 권한 설정 점검의 흐름도이다.2 is a flowchart of an authority setting check according to an embodiment of the present specification.

본 명세서의 일 실시예에 따르면, 상기 정적 분석부는 상기 권한 설정 점검을 위해 점검 대상 어플리케이션이 요구하는 권한과 사용 함수를 비교하여 불필요하거나 과도한 권한이 설정되었는지 여부를 판단할 수 있다.According to one embodiment of the present specification, the static analysis unit may determine whether unnecessary or excessive authority is set by comparing the authority required by the application to be checked and the usage function for checking the authority setting.

도 2를 참조하면, APK 파일이 일 예로 도시된 것을 확인할 수 있다. 이해의 편의를 위해 안드로이드 운영 체계의 APK 파일을 예시로 설명하겠다. 상기 정적 분석부는 APK의 압축을 해제하고 내부의 AndroidMenifest.xml을 확인하여 권한(Permission) 항목들을 목록화할 수 있다. 또한, 상기 정적 분석부는 내부의 실행파일인 DEX파일에서 smali 코드 혹은 파일내의 사용함수를 직접 확인하여 권한(Permission)에서 사용되는 함수들이 실제로 존재하는지 여부를 비교할 수 있다. 만약 권한이 있지만 발견되지 않는 함수가 있다면, 상기 정적 분석부는 불필요하거나 과도한 권한이 설정된 것으로 판단할 수 있다. Referring to Figure 2, it can be seen that the APK file is shown as an example. For convenience of understanding, the APK file of the Android operating system will be described as an example. The static analysis unit may unpack the APK and check the AndroidMenifest.xml inside to list the permission items. In addition, the static analysis unit can directly compare the function used in the permission by directly checking the smali code or the use function in the file in the DEX file, which is an internal executable file. If there is a function that has authority but is not found, the static analysis unit may determine that unnecessary or excessive authority is set.

도 3은 본 명세서의 일 실시예에 따른 소스코드 난독화 점검의 흐름도이다.3 is a flowchart of source code obfuscation checking according to an embodiment of the present specification.

본 명세서의 일 실시예에 따르면, 상기 정적 분석부는 상기 소스코드 난독화 점검을 위해 클래스 및 매소드 명칭이 약식 명칭으로 대체되었는지 여부를 통해 소스코드 난독화 여부를 판단할 수 있다.According to an embodiment of the present specification, the static analysis unit may determine whether the source code is obfuscated through whether the class and method names have been replaced with abbreviated names for checking the source code obfuscation.

도 5를 참조하면, 상기 정적 분석부는 APK파일의 압축을 해제 후 DEX파일을 추출할 수 있다. 그리고 상기 정적 분석부는 해당 DEX파일의 smali 코드나 파일 포맷 분석하여 클래스, 메소드 명칭 및 변수들을 확인할 수 있다. 이때 상기 정적 분석부는 상기 결과 클래스, 메소드 명칭 및 변수들과 관련하여 a, b, c등과 같은 약식 명칭들이 다량 발견된다면 소스코드 난독화가 되어있다고 판단하고, 일반적인 정상 명칭이 발견되면 소스코드 난독화가 되어 있지 않은 것으로 판단할 수 있다. 상기 정적 분석부는 약식 명칭이 미리 설정된 개수 이상 또는 미리 설정된 비율 이상인지 여부에 따라 소스코드 난독화를 판단할 수 있다. 또한, 상기 정적 분석부는 미리 설정된 클래스 및 메소드 일반 명칭이 존재하는지 여부에 따라 소스코드 난독화를 판단할 수 있다.5, the static analysis unit may extract the DEX file after decompressing the APK file. In addition, the static analysis unit may check the class, method name, and variables by analyzing the smali code or file format of the corresponding DEX file. At this time, the static analysis unit judges that the source code is obfuscated if abbreviated names such as a, b, c, etc. are found in relation to the result class, method name, and variables. It can be judged not to be. The static analysis unit may determine the source code obfuscation according to whether the abbreviated name is greater than or equal to a preset number or a preset ratio. In addition, the static analysis unit may determine the obfuscation of the source code according to whether a preset class and method general name exists.

상기 정적 분석부는 상기 권한 설정 점검 또는 소스코드 난독화 점검 중 어느 하나만을 수행할 수 있고, 상기 권한 설정 점검 및 소스코드 난독화 점검을 모두 수행할 수 있다. 또한, 상기 권한 설정 점검 및 소스코드 난독화 점검 과정에서 DEX 추출, Smali 변경, 파일 포맷 분석 과정이 일치하는바, 상기 정적 분석부는 상기 과정을 일회 수행하고 그 결과를 상기 권한 설정 점검 및 소스코드 난독화 점검에 각각 활용할 수 있다.The static analysis unit may perform either the permission setting check or the source code obfuscation check, and may perform both the permission setting check and the source code obfuscation check. In addition, the DEX extraction, Smali change, and file format analysis process coincide with the permission setting check and source code obfuscation check process, and the static analysis unit performs the process once and checks the result with the permission setting check and source code obfuscation. It can be used for each inspection.

이하에서는, 상기 동적 분석부에서 수행할 수 있는 사항에 대해서 설명하도록 하겠다. 이 경우, 상기 동적 분석부는 상기 점검 대상 어플리케이션을 상기 통신부를 통해 연결된 모바일 단말기에서 실행시킬 수 있다.Hereinafter, a description of items that can be performed by the dynamic analysis unit will be described. In this case, the dynamic analysis unit may execute the check target application in a mobile terminal connected through the communication unit.

도 4는 본 명세서의 일 실시예에 따른 위변조 차단 점검의 흐름도이다.4 is a flow chart of forgery blocking check according to an embodiment of the present specification.

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 위변조 차단 점검을 위해 점검 대상 어플리케이션의 리소스 또는 소스코드를 수정하고, 수정된 점검 대상 어플리케이션의 정상 실행 여부를 통해 위변조 차단 여부를 판단할 수 있다.According to one embodiment of the present specification, the dynamic analysis unit may modify the resource or source code of the application to be checked for the forgery blocking check, and determine whether the forgery is blocked through normal execution of the modified application to be checked. .

안드로이드 운영 체계의 경우, APK 실행파일 내에 악성코드 등을 삽입하여 재 배포하는 등의 취약점이 알려져 있다. 도 4를 참조하면, 상기 동적 분석부는 APK 실행파일의 압축을 해제 후 내부의 리소스나 소스코드를 수정 후 재 압축할 수 있다. 이때 상기 동적 분석부는 미리 저장된 수정 프로세스에 의해서 특정 부분을 수정할 수 있다. 상기 미리 저장된 수정 프로세서는 미리 정해놓은 코드를 삽입하거나, 임의 한 줄을 변경하는 방식이 될 수 있다. 이후 상기 동적 분석부는 테스트키를 이용하여 서명 후 설치 및 실행이 정상적으로 작동하는지 확인할 수 있다. 상기 동적 분석부는 소스코드가 변형된 실행 파일이 정상적으로 실행되는 경우, 해당 점검 대상 어플리케이션은 위변조 차단에 취약한 것을 판단할 수 있다.In the case of the Android operating system, there are known vulnerabilities such as redistribution of malicious code by inserting it into the APK executable file. Referring to FIG. 4, the dynamic analysis unit may decompress the APK executable file, modify internal resources or source code, and then recompress. At this time, the dynamic analysis unit may modify a specific part by a pre-stored modification process. The pre-stored correction processor may be a method of inserting a predetermined code or changing an arbitrary line. Thereafter, the dynamic analysis unit may confirm whether installation and execution are normally performed after signing using a test key. When the executable file with the modified source code is normally executed, the dynamic analysis unit may determine that the application to be checked is vulnerable to forgery prevention.

도 5는 본 명세서의 일 실시예에 따른 보안솔루션 점검의 흐름도이다.5 is a flowchart of security solution inspection according to an embodiment of the present specification.

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 보안솔루션 점검을 위해 내부 저장소 내 보안솔루션들의 데이터베이스 구축 후 해당 보안 제품들이 실행되지 여부를 통해 보안솔루션의 사용 여부를 판단할 수 있다.According to an embodiment of the present specification, the dynamic analysis unit may determine whether to use the security solution through whether the security products are executed after the database of the security solutions in the internal storage for the security solution check.

도 5를 참조하면, 본 명세서의 일 실시예에 따른 동적 분석부는 내부 저장소 내 보안솔루션들의 데이터베이스 구축하고, 해당 보안 제품들이 실행되어 있는지 확인할 수 있다. 이때, 해당 보안 솔루션이 실행되지 않는 경우, 상기 동적 분석부는 당연히 보안 솔루션을 사용하지 않는 것으로 판단한다. 반면, 해당 보안 솔루션이 실행되는 경우, 상기 동적 분석부는 해당 보안 솔루션의 프로세스 제거 후 다시 실행되는지 여부를 확인할 수 있다. 이때, 해당 보안 솔루션이 다시 실행되지 않는 경우, 상기 동적 분석부는 당연히 보안 솔루션을 사용하지 않는 것으로 판단한다. 반면, 해당 보안 솔루션이 다시 실행되는 경우, 상기 동적 분석부는 점검 대상 어플리케이션이 보안솔루션의 사용하는 것을 판단할 수 있다.Referring to FIG. 5, the dynamic analysis unit according to an embodiment of the present specification may build a database of security solutions in an internal storage and check whether corresponding security products are executed. At this time, if the corresponding security solution is not executed, the dynamic analysis part naturally determines that the security solution is not used. On the other hand, when the security solution is executed, the dynamic analysis unit may check whether it is executed again after removing the process of the security solution. At this time, if the security solution is not executed again, the dynamic analysis part naturally determines that the security solution is not used. On the other hand, when the corresponding security solution is executed again, the dynamic analysis unit may determine that the application to be checked uses the security solution.

도 6은 본 명세서의 일 실시예에 따른 디버깅 탐지/차단 점검의 흐름도이다.6 is a flowchart of debugging detection/blocking inspection according to an embodiment of the present specification.

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 디버깅 탐지/차단 점검을 위해 점검 대상 어플리케이션의 프로세서에 접근할 때 정상 작동 여부를 통해 디버깅 탐지/차단 여부를 판단할 수 있다.According to one embodiment of the present specification, the dynamic analysis unit may determine whether to detect/block debugging through normal operation when approaching the processor of the application to be checked for the debugging detection/blocking inspection.

도 6을 참조하면, 상기 동적 분석부는 점검 대상 어플리케이션을 모바일 디바이스에서 실행시킬 수 있다. 그리고 상기 동적 분석부는 실행중인 점검 대상 어플리케이션의 프로세스에 접근할 수 있다. 보다 구체적으로 상기 동적 분석부는 점검 대상 어플리케이션의 프로세스의 id(pid)를 확인하고, 메모리를 분헉하여 프로그램 상의 ptrace 기능을 이용해서 Attach를 진행할 수 있다. 이 때, 점검 대상 어플리케이션이 정상 작동된다면, 상기 동적 분석부는 점검 대상 어플리케이션이 디버깅 탐지/차단에 취약한 것을 판단할 수 있다. 반면, 점검 대상 어플리케이션이 종료된다면, 동적 분석부는 점검 대상 어플리케이션이 디버깅 탐지/차단이 가능한 것으로 판단할 수 있다. 정상 작동 종료된다면 차단되는 것으로 판단한다. Referring to FIG. 6, the dynamic analysis unit may execute an application to be checked on a mobile device. In addition, the dynamic analysis unit may access a process of an application to be checked being executed. More specifically, the dynamic analysis unit may check the id (pid) of the process of the application to be checked, allocate memory, and attach using the ptrace function on the program. At this time, if the application to be checked is normally operated, the dynamic analysis unit may determine that the application to be checked is vulnerable to debugging detection/blocking. On the other hand, if the application to be checked is terminated, the dynamic analysis unit may determine that the application to be checked is capable of detecting/blocking debugging. If the normal operation ends, it is judged to be blocked.

도 7은 본 명세서의 일 실시예에 따라 내부 저장소에 저장된 정보의 노출 점검 흐름도이다.7 is a flowchart for checking exposure of information stored in an internal storage according to an embodiment of the present specification.

도 8은 본 명세서의 일 실시예에 따라 로그 내 정보의 노출 점검 흐름도이다.8 is a flowchart for checking exposure of information in a log according to one embodiment of the present specification.

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 정보노출 점검을 위해 미리 설정된 문자열이 점검 대상 어플리케이션의 내부 저장소에서 검색되는지 여부를 통해 중요 정보가 노출되는지 여부를 판단할 수 있다.According to an embodiment of the present specification, the dynamic analysis unit may determine whether sensitive information is exposed through whether a preset string for checking the information exposure is searched in the internal storage of the application to be checked.

도 7을 참조하면, 상기 동적 분석부는 먼저 검색될 중요정보 문자열을 설정할 수 있다. 상기 문자열은 정규식 등으로 설정될 수도 있다. 안드로이드 운영 체계의 경우, 상기 동적 분석부는 실행파일의 소스코드가 저장된 DEX파일을 검색하여 소스코드내 중요정보를 검색할 수 있고, 안드로이드 리소스가 저장된 res 폴더, 저장정보를 포함하는 assets 폴더를 검색할 수 있다. iOS 운영 체계의 경우, 상기 동적 분석부는 설치 파일인 IPA내에 상기 중요정보로 설정된 문자열이 있는지 확인할 수 있다.Referring to FIG. 7, the dynamic analysis unit may set an important information string to be searched first. The string may be set with a regular expression or the like. In the case of the Android operating system, the dynamic analysis unit may search for a DEX file in which the source code of the executable file is stored, search for important information in the source code, and res folder in which the Android resource is stored, and assets folder including storage information. Can. In the case of the iOS operating system, the dynamic analysis unit may check whether there is a string set as the important information in the installation file IPA.

도 8을 참조하면, 상기 동적 분석부는, 동일하게, 먼저 검색될 중요정보 문자열을 설정할 수 있다. 안드로이드 운영 체계의 경우, 안드로이드 단말기의 로그는 logcat을 이용하여 볼 수 있다. 상기 동적 분석부는 해당 로그에서 점검 대상 어플리케이션을 실행하면서 종료 할 때까지 설정된 중요정보 문자열이 발견되는지 확인할 수 있다.Referring to FIG. 8, the dynamic analysis unit may set the important information string to be searched first. In the case of the Android operating system, the log of the Android terminal can be viewed using logcat. The dynamic analysis unit may check whether the set important information string is found until the termination while executing the application to be checked in the corresponding log.

도 9는 본 명세서의 일 실시예에 따라 네트워크 통신 구간에서 정보의 노출 점검 흐름도이다.9 is a flow chart for checking exposure of information in a network communication section according to an embodiment of the present specification.

본 명세서의 일 실시예에 따르면, 상기 동적 분석부는 상기 정보노출 점검을 위해 미리 설정된 문자열이 모바일 디바이스 내 구축된 VPN 서버를 통해 점검 대상 어플리케이션에서 송수신되는 패킷에서 검색되는지 여부를 통해 중요 정보가 노출되는지 여부를 판단할 수 있다.According to an embodiment of the present disclosure, the dynamic analysis unit determines whether sensitive information is exposed through whether a preset string for checking the information exposure is retrieved from a packet transmitted/received by a target application through a VPN server built in a mobile device. Can determine whether

VPN을 이용하면 해당 단말이 아닌 점검 대상 어플리케이션의 네트워크 통신을 정확히 구분하여 탐지할 수 있다. 따라서, 상기 동적 분석부는 점검 대상 어플리케이션이 설치된 모바일 단말기 내 VPN 서버를 구축할 수 있다. 그리고 상기 동적 분석부는 상기 점검 대상 어플리케이션이 단말기 내부의 VPN 서버를 통하여 접속하도록 할 수 있다. 이때, 상기 점검 대상 어플리케이션이 실행되면, 상기 동적 분석부는 송수신되는 패킷에서 설정된 중요정보 문자열이 검출되는지 여부를 확인할 수 있다. 추가적으로 상기 동적 분석부는 https나 SSL통신등 암호 통신 사용 여부를 확인할 수 있다.By using a VPN, it is possible to accurately detect and detect the network communication of the application to be checked, not the corresponding terminal. Therefore, the dynamic analysis unit may establish a VPN server in the mobile terminal where the application to be checked is installed. In addition, the dynamic analysis unit may allow the application to be checked to be accessed through a VPN server inside the terminal. At this time, when the application to be checked is executed, the dynamic analysis unit may check whether the important information string set in the transmitted/received packet is detected. Additionally, the dynamic analysis unit may confirm whether to use cryptographic communication such as https or SSL communication.

한편, 상기 동적 분석부는 상기 모바일 단말기에서 실행되는 점검 대상 어플리케이션의 실행 화면을 상기 디스플레이부에 출력하도록 제어할 수 있다. 안드로이드 운영 체계의 경우, AM, PM등 명령어를 이용하여 점검 대상 어플리케이션의 화면을 상기 디스플레이부에 출력할 수 있다. Meanwhile, the dynamic analysis unit may control to output an execution screen of an application to be checked executed in the mobile terminal to the display unit. In the case of the Android operating system, the screen of the application to be checked can be output to the display unit using commands such as AM and PM.

이상, 첨부된 도면을 참조로 하여 본 명세서의 실시예를 설명하였지만, 본 명세서가 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. The embodiments of the present specification have been described above with reference to the accompanying drawings, but those skilled in the art to which the present specification pertains may implement the present invention in other specific forms without changing the technical spirit or essential features. You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive.

Claims (10)

점검 대상 어플리케이션을 메모리에 저장시키는 실행파일 업로드부;
상기 점검 대상 어플리케이션의 자체 소스 코드를 통해 권한 설정 점검 또는 소스코드 난독화 점검을 수행하는 정적 분석부; 및
상기 점검 대상 어플리케이션이 실행되는 과정에서 위변조 차단 점검, 보안솔류션 점검, 디버깅 탐지/차단 점검 및 정보노출 점검 중 적어도 어느 하나를 수행하는 동적 분석부;를 포함하는 모바일 어플리케이션 점검 장치.
An executable file upload unit for storing the application to be checked in memory;
A static analysis unit that performs a permission setting check or a source code obfuscation check through its own source code of the application to be checked; And
Mobile application inspection device comprising a; dynamic analysis unit for performing at least one of the forgery blocking check, security solution check, debugging detection/blocking check and information exposure check in the process of the application to be checked.
청구항 1에 있어서,
상기 정적 분석부는, 상기 권한 설정 점검을 위해 점검 대상 어플리케이션이 요구하는 권한과 사용 함수를 비교하여 불필요하거나 과도한 권한이 설정되었는지 여부를 판단하는 모바일 어플리케이션 점검 장치.
The method according to claim 1,
The static analysis unit, a mobile application inspection device for determining whether unnecessary or excessive authority is set by comparing the authority required by the application to be checked and the usage function for checking the authority setting.
청구항 1에 있어서,
상기 정적 분석부는, 상기 소스코드 난독화 점검을 위해 클래스 및 매소드 명칭이 약식 명칭으로 대체되었는지 여부를 통해 소스코드 난독화 여부를 판단하는 모바일 어플리케이션 점검 장치.
The method according to claim 1,
The static analysis unit, a mobile application inspection device for determining whether the source code is obfuscated through whether the class and method names have been replaced with abbreviated names for the source code obfuscation check.
청구항 1에 있어서,
상기 동적 분석부는, 상기 위변조 차단 점검을 위해 점검 대상 어플리케이션의 리소스 또는 소스코드를 수정하고, 수정된 점검 대상 어플리케이션의 정상 실행 여부를 통해 위변조 차단 여부를 판단하는 모바일 어플리케이션 점검 장치.
The method according to claim 1,
The dynamic analysis unit, a mobile application inspection device for determining whether to forgery blocking by modifying the resource or source code of the application to be checked for the forgery blocking check, and whether the modified target application is normally executed.
청구항 1에 있어서,
상기 동적 분석부는, 상기 보안솔루션 점검을 위해 내부 저장소 내 보안솔루션들의 데이터베이스 구축 후 해당 보안 제품들이 실행되지 여부를 통해 보안솔루션의 사용 여부를 판단하는 모바일 어플리케이션 점검 장치.
The method according to claim 1,
The dynamic analysis unit, a mobile application inspection device for determining whether to use the security solution through whether the security products are not executed after building a database of security solutions in the internal storage to check the security solution.
청구항 1에 있어서,
상기 동적 분석부는, 상기 디버깅 탐지/차단 점검을 위해 점검 대상 어플리케이션의 프로세서에 접근할 때 정상 작동 여부를 통해 디버깅 탐지/차단 여부를 판단하는 모바일 어플리케이션 점검 장치.
The method according to claim 1,
The dynamic analysis unit, the mobile application inspection device for determining whether the debugging detection / blocking through the normal operation when approaching the processor of the application to be checked for debugging detection / blocking inspection.
청구항 1에 있어서,
상기 동적 분석부는, 상기 정보노출 점검을 위해 미리 설정된 문자열이 점검 대상 어플리케이션의 내부 저장소에서 검색되는지 여부를 통해 중요 정보가 노출되는지 여부를 판단하는 모바일 어플리케이션 점검 장치.
The method according to claim 1,
The dynamic analysis unit, a mobile application inspection device for determining whether sensitive information is exposed through whether or not a preset string for checking the information exposure is retrieved from the internal storage of the application to be checked.
청구항 1에 있어서,
상기 동적 분석부는, 상기 정보노출 점검을 위해 미리 설정된 문자열이 모바일 디바이스 내 구축된 VPN 서버를 통해 점검 대상 어플리케이션에서 송수신되는 패킷에서 검색되는지 여부를 통해 중요 정보가 노출되는지 여부를 판단하는 모바일 어플리케이션 점검 장치.
The method according to claim 1,
The dynamic analysis unit, a mobile application inspection device for determining whether sensitive information is exposed through whether a predetermined string for checking the information exposure is retrieved from a packet transmitted/received from a target application through a VPN server built in the mobile device. .
청구항 1에 있엇서,
모바일 단말기와 데이터를 송수신하는 통신부;를 더 포함하고,
상기 동적 분석부는, 상기 점검 대상 어플리케이션을 상기 통신부를 통해 연결된 모바일 단말기에서 실행시키는 모바일 어플리케이션 점검 장치.
In claim 1,
Further comprising a communication unit for transmitting and receiving data with the mobile terminal;
The dynamic analysis unit, the mobile application inspection device for running the application to be checked in a mobile terminal connected through the communication unit.
청구항 9에 있어서,
영상을 출력하는 디스플레이부;를 더 포함하고,
상기 동적 분석부는, 상기 모바일 단말기에서 실행되는 점검 대상 어플리케이션의 실행 화면을 상기 디스플레이부에 출력하도록 제어하는 모바일 어플리케이션 점검 장치.
The method according to claim 9,
Further comprising a display unit for outputting the image,
The dynamic analysis unit, the mobile application inspection device for controlling to output the execution screen of the application to be checked to be executed in the mobile terminal on the display unit.
KR1020190148482A 2018-12-26 2019-11-19 Automatically diagnosis apparatus and method for vulnerabilities of mobile application KR102175784B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180169815 2018-12-26
KR1020180169815 2018-12-26

Publications (2)

Publication Number Publication Date
KR20200080131A true KR20200080131A (en) 2020-07-06
KR102175784B1 KR102175784B1 (en) 2020-11-06

Family

ID=71571322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190148482A KR102175784B1 (en) 2018-12-26 2019-11-19 Automatically diagnosis apparatus and method for vulnerabilities of mobile application

Country Status (1)

Country Link
KR (1) KR102175784B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110036154A (en) * 2009-10-01 2011-04-07 엘지전자 주식회사 Application storage server and method for operating thereof
KR20130051116A (en) * 2011-11-09 2013-05-20 한국전자통신연구원 Apparatus for automatically inspecting security of applications and method thereof
KR101277517B1 (en) * 2012-12-04 2013-06-21 주식회사 안랩 Apparatus and method for detecting falsified application
KR20140045643A (en) * 2012-10-09 2014-04-17 에스케이플래닛 주식회사 Application launch service system and method, apparatus supporting the same
KR101568224B1 (en) 2014-12-26 2015-11-11 고려대학교 산학협력단 Analysis device and method for software security
KR20170044320A (en) * 2015-10-15 2017-04-25 주식회사 비디 Method of analyzing application objects based on distributed computing, method of providing item executable by computer, server performing the same and storage media storing the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110036154A (en) * 2009-10-01 2011-04-07 엘지전자 주식회사 Application storage server and method for operating thereof
KR20130051116A (en) * 2011-11-09 2013-05-20 한국전자통신연구원 Apparatus for automatically inspecting security of applications and method thereof
KR20140045643A (en) * 2012-10-09 2014-04-17 에스케이플래닛 주식회사 Application launch service system and method, apparatus supporting the same
KR101277517B1 (en) * 2012-12-04 2013-06-21 주식회사 안랩 Apparatus and method for detecting falsified application
KR101568224B1 (en) 2014-12-26 2015-11-11 고려대학교 산학협력단 Analysis device and method for software security
KR20170044320A (en) * 2015-10-15 2017-04-25 주식회사 비디 Method of analyzing application objects based on distributed computing, method of providing item executable by computer, server performing the same and storage media storing the same

Also Published As

Publication number Publication date
KR102175784B1 (en) 2020-11-06

Similar Documents

Publication Publication Date Title
US9141801B2 (en) Apparatus and method for analyzing permission of application for mobile devices and detecting risk
US11068602B2 (en) Server and method for checking vulnerability of mobile application
CN104182688A (en) Android malicious code detection device and method based on dynamic activation and behavior monitoring
US9386027B2 (en) Detection of pileup vulnerabilities in mobile operating systems
US8763128B2 (en) Apparatus and method for detecting malicious files
US9507933B2 (en) Program execution apparatus and program analysis apparatus
US11568052B2 (en) Undetectable sandbox for malware
JP6000465B2 (en) Process inspection apparatus, process inspection program, and process inspection method
US11609985B1 (en) Analyzing scripts to create and enforce security policies in dynamic development pipelines
KR20140044974A (en) Method of enhancing security based on permission detection for android applications, and computer-readable recording medium with android security program based on permission detection for the same
KR20160090566A (en) Apparatus and method for detecting APK malware filter using valid market data
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
KR102175784B1 (en) Automatically diagnosis apparatus and method for vulnerabilities of mobile application
CN111222122A (en) Application authority management method and device and embedded equipment
JP6258189B2 (en) Specific apparatus, specific method, and specific program
KR101382549B1 (en) Method for pre-qualificating social network service contents in mobile environment
RU168346U1 (en) VULNERABILITY IDENTIFICATION DEVICE
CN115310087A (en) Website backdoor detection method and system based on abstract syntax tree
WO2019071828A1 (en) Method for detecting secondary packaging of application installation package, storage medium, device, and system
KR102145324B1 (en) Method and server for analyzing weak point through library injection
Jang et al. Detection of dll inserted by windows malicious code
US11989291B2 (en) System, method, and apparatus for software verification
KR20200110268A (en) Method and apparatus for blocking web page attack
KR20240074402A (en) Method and server for analyzing weak point of mobile application based on web browser cloud

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant