KR101364599B1 - Method and system for deciding harmfulness of software application - Google Patents

Method and system for deciding harmfulness of software application Download PDF

Info

Publication number
KR101364599B1
KR101364599B1 KR1020120030648A KR20120030648A KR101364599B1 KR 101364599 B1 KR101364599 B1 KR 101364599B1 KR 1020120030648 A KR1020120030648 A KR 1020120030648A KR 20120030648 A KR20120030648 A KR 20120030648A KR 101364599 B1 KR101364599 B1 KR 101364599B1
Authority
KR
South Korea
Prior art keywords
string
application
target
harmful
binary code
Prior art date
Application number
KR1020120030648A
Other languages
Korean (ko)
Other versions
KR20130108855A (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 연세대학교 원주산학협력단
Priority to KR1020120030648A priority Critical patent/KR101364599B1/en
Publication of KR20130108855A publication Critical patent/KR20130108855A/en
Application granted granted Critical
Publication of KR101364599B1 publication Critical patent/KR101364599B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • 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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis

Abstract

본 발명은 소프트웨어 플랫폼 상에서 구동되는 어플리케이션의 유해성 여부를 판단하는 방법 및 시스템에 관한 것으로, 본 발명에 따른 어플리케이션 유해성 판단 방법은 기계어로 표현된 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 바이너리 코드의 계산 결과로 생성 가능한 문자열 중 상기 어플리케이션의 유해성 여부 판단을 위한 정보를 정의하는 대상 문자열을 검출하는 문자열 검출 단계 및 상기 검출된 대상 문자열을 이용하여 상기 어플리케이션의 유해성 여부를 판단하는 유해성 판단 단계를 포함한다. 본 발명에 따르면 어플리케이션의 유해성 분석을 자동화할 수 있으며 코드 분석으로 유해성을 판단하므로 사용자의 휴대폰에 부가적인 특정 모듈이나 어플리케이션을 설치할 필요가 없으며, 어플리케이션의 다운로드가 가능한 모든 어플리케이션 제공 서버에 적용이 가능하다.The present invention relates to a method and system for determining whether an application running on a software platform is harmful, and the method for determining an application harmfulness according to the present invention can be generated as a result of calculating binary code of an application executed on a software platform expressed in machine language. A character string detection step of detecting a target character string defining information for determining whether the application is harmful in the character string and a hazard determination step of determining whether the application is harmful using the detected target character string. According to the present invention, it is possible to automate the harmful analysis of the application and determine the harmfulness by analyzing the code, there is no need to install additional specific modules or applications in the user's mobile phone, it is applicable to any application providing server that can download the application. .

Description

어플리케이션의 유해성 판단 방법 및 시스템{Method and system for deciding harmfulness of software application} Method and system for determining harmfulness of application {Method and system for deciding harmfulness of software application}

본 발명은 소프트웨어 플랫폼 상에서 구동되는 어플리케이션의 유해성 여부를 판단하는 방법 및 시스템에 관한 것으로, 보다 상세하게는 스마트폰 상 에서 구동되는 어플리케이션이 유해 정보를 포함하는 어플리케이션인지 여부를 판단하는 방법 및 시스템에 관한 것이다. The present invention relates to a method and system for determining whether an application running on a software platform is harmful, and more particularly, to a method and system for determining whether an application running on a smartphone is an application containing harmful information. will be.

종래의 네트워크상에 존재하는 유해 정보의 접근을 차단하기 위한 방법으로 웹사이트 접속 시 사용하는 주소를 이용하여 주소에 포함된 단어를 검출하거나 또는 유해 사이트의 주소 목록과 비교하여 유해 정보의 접근을 차단하였으며, 또는 포털 사이트를 통해 유해 사이트를 검색하려는 경우 검색 시 검색에 사용되는 단어를 제한하도록 하는 방법을 통하여 유해 정보의 접근을 차단하였다. 이러한 방법은 실시간으로 유해 정보의 접근을 차단하는 장점이 있었다.  As a method to block access to harmful information existing on the network, the word used to access the website is detected using the address used to access the website, or the access to the harmful information is compared with the address list of the harmful site. Or, if you want to search for harmful sites through the portal site, access to harmful information is blocked by restricting the words used in the search. This method has the advantage of blocking access to harmful information in real time.

최근에는 스마트폰의 사용 증가에 따라 스마트폰 환경을 통해 접근 가능한 유해 정보를 제공하는 어플리케이션들이 늘어나고 있으며, 따라서 개인 PC를 통해 유해 정보에 접근하는 것을 차단하는 방법 외에 스마트폰을 통해 유해 정보에 접근하는 것을 차단하기 위한 방법이 문제되고 있다. 현재는 PC환경에서의 실시간 유해 정보 접근 차단 방법을 적용한 유해 차단 어플리케이션을 통해 어플리케이션 실행 중 동적으로 모니터링하여 유해 정보의 접근을 차단하는 방법이 사용되고 있으나 현실적으로 어플리케이션 마켓에 올려진 수많은 앱들을 실행해보고, 실행 중에 유해 정보를 제공하는지 여부를 판단하여 어플리케이션을 필터링하는 것은 현실적으로 불가능 하다는 문제가 있었다.Recently, as the use of smartphones increases, applications that provide harmful information accessible through the smartphone environment are increasing. Therefore, in addition to blocking access to harmful information through a personal PC, access to harmful information through smartphones There is a problem with how to block it. Currently, the method of blocking the access of harmful information by dynamically monitoring the application during the execution of the application through the harmful blocking application applying the real-time harmful information access blocking method in the PC environment, but in practice, executes and executes a number of apps posted on the application market There was a problem that it is practically impossible to filter the application by determining whether to provide harmful information.

본 발명은 상기 종래 기술의 문제를 해결하기 위하여 안출된 것으로서, 어플리케이션의 코드 분석을 통하여 유해성을 판단하여 유해성 판단을 위한 부가적인 특정 모듈이나 어플리케이션을 설치할 필요 없이 유해 정보의 접근을 차단하는 방법 및 시스템을 제안하는 것을 목적으로 한다.The present invention has been made to solve the problems of the prior art, a method and system for blocking access to harmful information without the need to install additional specific modules or applications for determining the harmfulness by analyzing the harmfulness of the application code analysis The purpose is to propose.

또한 어플리케이션을 실행해 볼 필요가 없이 유해성 분석을 자동화할 수 있는 어플리케이션의 유해성 판단 방법 및 시스템을 제안하는 것을 목적으로 한다.It also aims to propose a method and system for determining the hazards of applications that can automate hazard analysis without having to execute the application.

상기 기술적 과제를 해결하기 위한 본 실시예에 따른 어플리케이션 유해성 판단 방법은 기계어로 표현된 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 바이너리 코드의 계산 결과로 생성 가능한 문자열 중 상기 어플리케이션의 유해성 여부 판단을 위한 정보를 정의하는 대상 문자열을 검출하는 문자열 검출 단계; 및 유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스 서버에 상기 검출된 대상 문자열을 전송하는 문자열 전송 단계를 포함한다.Application harmfulness determination method according to the present embodiment for solving the technical problem is to define the information for determining the harmfulness of the application of the string that can be generated as a result of the calculation of the binary code of the application running on the software platform expressed in machine language A character string detection step of detecting a target character string; And a character string transmission step of transmitting the detected target character string to a database server managing information on a character string including harmful information.

상기 문자열 검출 단계는, 상기 어플리케이션의 실행 파일을 역컴파일러(Decompiler)를 이용하여 바이너리 코드로 변환하는 바이너리 코드 변환 단계; 및 상기 변환된 바이너리 코드의 계산 결과로 생성 가능한 문자열 중 상기 대상 문자열을 검출하는 대상 문자열 검출 단계를 포함한다.The string detection step may include a binary code conversion step of converting an executable file of the application into binary code using a decompiler; And a target string detection step of detecting the target string among strings that can be generated as a result of the calculation of the converted binary code.

상기 대상 문자열 검출 단계는 상기 변환된 바이너리 코드의 수행으로 생성 가능한 문자열을 검출하는 바이너리 코드 분석 단계; 및 상기 대상 문자열의 정규화된 문자 배열 패턴을 이용하여 상기 문자열 중 패턴화된 대상 문자열을 검출하는 대상 패턴 문자열 검출 단계를 포함한다.The target string detection step may include a binary code analysis step of detecting a string that can be generated by performing the converted binary code; And a target pattern string detection step of detecting a patterned target string in the string by using a normalized character array pattern of the target string.

상기 어플리케이션 유해성 판단 방법은 상기 전송된 대상 문자열을 이용하여 상기 어플리케이션의 유해성 여부를 판단하는 유해성 판단 단계를 더 포함하고, 상기 유해성 판단 단계는 상기 전송된 대상 문자열을 상기 데이터 베이스 서버의 유해 정보 리스트와 비교하여 유해성 여부를 판단하는 것이 바람직하다.The application harmfulness determination method further includes a hazard determination step of determining whether the application is harmful using the transmitted target string, and the harmfulness determination step includes the transmitted target string and the harmful information list of the database server. In comparison, it is desirable to determine whether or not harmful.

상기 대상 패턴 문자열 검출 단계에서 검출되는 상기 대상 문자열은 상기 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소인 것이 바람직하다.Preferably, the target string detected in the target pattern string detection step is a URL (Uniform Resource Locator) address of a web server connected during the execution of the application.

상기 대상 패턴 문자열 검출 단계는 웹 서버의 URL주소의 정규화된 문자 배열 패턴을 정의하는 URL 정규식을 이용하여 상기 대상 문자열을 검출하는 것이 바람직하다.In the detecting of the target pattern string, the target string may be detected using a URL regular expression defining a normalized character array pattern of the URL address of the web server.

상기 데이터 베이스 서버의 유해 정보 리스트는 유해 정보를 포함하는 서버의 접속에 사용되는 URL 주소 리스트를 포함하는 것이 바람직하다.The harmful information list of the database server preferably includes a URL address list used for accessing the server including the harmful information.

상기 기술적 과제를 해결하기 위한 본 실시예에 따른 어플리케이션 유해성 판단 방법은 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 실행 파일을 역컴파일러(Decompiler)를 이용하여 바이너리 코드로 변환하는 바이너리 코드 변환단계; 상기 변환된 바이너리 코드의 계산 결과로 생성 가능한 문자열을 검출하는 바이너리 코드 분석 단계; 웹 서버의 URL주소의 정규화된 문자 배열 패턴을 정의하는 URL(Uniform Resource Locator) 정규식을 이용하여 상기 문자열 중 상기 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소를 검출하는 문자열 검출 단계; 및 상기 검출된 URL주소를 유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스 서버에 상기 검출된 대상 문자열에 전송하는 문자열 전송 단계를 포함한다.Application harmfulness determination method according to the present embodiment for solving the technical problem is a binary code conversion step of converting the executable file of the application running on the software platform to a binary code using a decompiler (Decompiler); A binary code analysis step of detecting a string that can be generated as a result of the calculation of the converted binary code; Detects a string that detects a URL (Uniform Resource Locator) address of a web server that is accessed during the execution of the application among the strings using a Uniform Resource Locator (URL) regular expression that defines a normalized character array pattern of the URL address of the web server. step; And a character string transmission step of transmitting the detected URL address to the detected target character string to a database server managing information on a character string including harmful information.

상기 어플리케이션 유해성 판단 방법은 상기 전송된 대상 문자열을 상기 데이터 베이스 서버의 유해 정보를 포함하는 서버의 접속에 사용되는 URL 주소 리스트와 비교하여 유해성 여부를 판단하는 유해성 판단 단계를 포함한다.The application harmfulness determination method includes a harmfulness determination step of comparing the transmitted target string with a URL address list used for accessing a server including harmful information of the database server to determine whether harmfulness is present.

상기 기술적 과제를 해결하기 위한 본 실시예에 따른 어플리케이션 유해성 판단 시스템은 기계어로 표현된 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 바이너리 코드의 계산 결과로 생성 가능한 문자열 중 상기 어플리케이션의 유해성 여부 판단을 위한 정보를 정의하는 대상 문자열을 검출하는 문자열 검출장치; 및 상기 검출된 대상 문자열을 이용하여 상기 어플리케이션의 유해성 여부를 판단하는 유해성 판단장치를 포함한다.Application harmfulness determination system according to the present embodiment for solving the technical problem is to define the information for determining whether the harmfulness of the application of the string that can be generated as a result of the calculation of the binary code of the application running on the software platform expressed in machine language A string detection device for detecting a target character string; And a hazard determination device that determines whether the application is harmful using the detected target string.

상기 문자열 검출장치는, 상기 어플리케이션의 실행 파일을 역컴파일러(Decompiler)를 이용하여 바이너리 코드로 변환하는 바이너리 코드 변환부; 및 상기 변환된 바이너리 코드의 계산 결과로 생성 가능한 문자열 중 상기 대상 문자열을 검출하는 대상 문자열 검출부를 포함한다.The string detection device may include a binary code conversion unit converting an executable file of the application into binary code using a decompiler; And a target string detector for detecting the target string among strings that can be generated as a result of the calculation of the converted binary code.

상기 대상 문자열 검출부는 상기 변환된 바이너리 코드의 수행으로 생성 가능한 문자열을 검출하는 바이너리 코드 분석부; 및 상기 대상 문자열의 정규화된 문자 배열 패턴을 이용하여 상기 문자열 중 상기 대상 문자열을 검출하는 대상 패턴 문자열 검출부를 포함한다.The target character string detector may include a binary code analyzer configured to detect a character string that may be generated by performing the converted binary code; And a target pattern string detector for detecting the target string among the strings using a normalized character array pattern of the target strings.

상기 문자열 검출부는 상기 유해성 판단부에 상기 검출된 대상 문자열을 전송하는 문자열 전송부를 포함하고, 상기 유해성 판단장치는 상기 전송된 대상 문자열을 이용하여 상기 어플리케이션의 유해성 여부를 판단하는 것이 바람직하다.The string detection unit may include a string transmission unit configured to transmit the detected target string to the hazard determination unit, and the harmfulness determination device may determine whether the application is harmful using the transmitted target string.

상기 유해성 판단장치는 유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스를 포함하고, 상기 전송된 대상 문자열을 상기 데이터 베이스의 유해 정보 리스트와 비교하여 유해성 여부를 판단하는 것이 바람직하다.The hazard determination apparatus may include a database that manages information on a character string including harmful information, and compares the transmitted target character string with a harmful information list of the database to determine whether the hazard is harmful.

상기 패턴화된 대상 패턴 문자열 검출부에서 검출되는 상기 대상 문자열은 상기 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소인 것이 바람직하다.The target string detected by the patterned target pattern string detection unit may be a URL (Uniform Resource Locator) address of a web server connected in the execution of the application.

상기 패턴화된 대상 패턴 문자열 검출부는 웹 서버의 URL주소의 정규화된 문자 배열 패턴을 정의하는 URL 정규식을 이용하여 상기 대상 문자열을 검출하는 것이 바람직하다.The patterned target pattern string detection unit preferably detects the target string using a URL regular expression defining a normalized character array pattern of the URL address of the web server.

상기 데이터 베이스 서버의 유해 정보 리스트는 유해 정보를 포함하는 서버의 접속에 사용되는 URL 주소 리스트를 포함하는 것이 바람직하다.The harmful information list of the database server preferably includes a URL address list used for accessing the server including the harmful information.

상기 기술적 과제를 해결하기 위한 본 실시예에 따른 어플리케이션 유해성 판단을 위한 문자열 검출 장치는 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 실행 파일을 역컴파일러(Decompiler)를 이용하여 바이너리 코드로 변환하는 바이너리 코드 변환부; 상기 변환된 바이너리 코드의 수행으로 생성 가능한 문자열을 검출하는 바이너리 코드 분석부; 웹 서버의 URL주소의 정규화된 문자 배열 패턴을 정의하는 URL(Uniform Resource Locator) 정규식을 이용하여 상기 문자열 중 상기 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소를 검출하는 문자열 검출부; 상기 검출된 URL주소를 유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스 서버에 상기 검출된 대상 문자열에 전송하는 문자열 전송부를 포함한다.According to an aspect of the present invention, there is provided a string detecting apparatus for determining application hazard, comprising: a binary code converting unit converting an executable file of an application executed on a software platform into a binary code using a decompiler; A binary code analyzer configured to detect a character string that can be generated by performing the converted binary code; A string detector which detects a URL (Uniform Resource Locator) address of a web server connected in the execution process of the application among the strings using a Uniform Resource Locator (URL) regular expression that defines a normalized character array pattern of the URL address of the web server. ; And a character string transmitter for transmitting the detected URL address to the detected target character string to a database server that manages information about a character string including harmful information.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 어플리케이션 유해성 판단 방법이 컴퓨터상에서 수행될 수 있는 컴퓨터에서 판독 가능한 기록매체는 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 실행 파일을 역컴파일러(Decompiler)를 이용하여 바이너리 코드로 변환하는 바이너리 코드 변환단계; 상기 변환된 바이너리 코드의 수행으로 생성 가능한 문자열을 검출하는 바이너리 코드 분석 단계; 웹 서버의 URL주소의 정규화된 문자 배열 패턴을 정의하는 URL(Uniform Resource Locator) 정규식을 이용하여 상기 문자열 중 상기 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소를 검출하는 문자열 검출 단계; 상기 검출된 URL주소를 유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스 서버에 상기 검출된 대상 문자열에 전송하는 문자열 전송 단계; 및 상기 전송된 대상 문자열을 상기 데이터 베이스 서버의 유해 정보를 포함하는 서버의 접속에 사용되는 URL 주소 리스트와 비교하여 유해성 여부를 판단하는 유해성 판단 단계를 포함한다.In order to solve the above technical problem, a computer-readable recording medium in which an application hazard determination method according to the present invention can be performed on a computer is a binary code of an executable file of an application running on a software platform using a decompiler. A binary code conversion step of converting; A binary code analyzing step of detecting a string that can be generated by performing the converted binary code; Detects a string that detects a URL (Uniform Resource Locator) address of a web server that is accessed during the execution of the application among the strings using a Uniform Resource Locator (URL) regular expression that defines a normalized character array pattern of the URL address of the web server. step; A string transmission step of transmitting the detected URL address to the detected target character string to a database server managing information on a character string including harmful information; And a harmfulness determination step of comparing the transmitted target string with a URL address list used for accessing a server including harmful information of the database server to determine whether the harmfulness is harmful.

본 발명은 문자열 분석을 통한 어플리케이션의 유해성 판단 방법 및 시스템을 제공함으로써, 어플리케이션의 유해성 분석을 자동화할 수 있으며 코드 분석으로 유해성을 판단하므로 사용자의 휴대폰에 부가적인 특정 모듈이나 어플리케이션을 설치할 필요가 없다. 또한 어플리케이션의 다운로드가 가능한 모든 어플리케이션 제공 서버에 적용이 가능하고, 유해성 판단의 대상이 되는 문자열을 URL 주소 외에 유해 단어 등의 다양한 방향으로 확장 가능하다. The present invention provides a method and system for determining the harmfulness of an application through character string analysis, so that the analysis of the harmfulness of the application can be automated and the harmfulness is determined by the code analysis. Therefore, there is no need to install an additional specific module or application in the user's mobile phone. In addition, it can be applied to any application providing server that can download the application, and can be extended to various directions such as harmful words in addition to the URL address string that is the object of harmfulness determination.

도 1은 본 발명의 일실시예에 따른 어플리케이션의 유해성 판단 방법을 나타내는 흐름도이다.
도 2는 본 발명의 일실시예에 따른 어플리케이션의 유해성 판단 방법에서 문자열 검출 단계를 나타내는 세부 흐름도이다.
도 3은 PC환경에서 이클립스(eclipse)를 기반으로 수행된 본 실시예에 따른 문자열 검출 단계의 시뮬레이션 결과를 나타낸다.
도 4는 본 발명의 일실시예에 따른 어플리케이션의 유해성 판단 시스템을 나타내는 블록도이다.
1 is a flowchart illustrating a method of determining a hazard of an application according to an exemplary embodiment of the present invention.
2 is a detailed flowchart illustrating a character string detection step in a method of determining a hazard of an application according to an embodiment of the present invention.
3 shows a simulation result of the character string detection step according to the present embodiment performed based on Eclipse in a PC environment.
4 is a block diagram illustrating a system for determining a hazard of an application according to an exemplary embodiment of the present invention.

이하에서는 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 여기의 설명에서 어떤 구성 요소가 다른 구성 요소에 연결된다고 기술될 때, 이는 다른 구성 요소에 바로 연결될 수도 그 사이에 제3의 구성 요소가 개재될 수도 있음을 의미한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일 또는 유사한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일 또는 유사한 부호를 가지도록 하고 있음에 유의해야 한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the description herein, when a component is described as being connected to another component, this means that the component may be directly connected to another component or an intervening third component may be interposed therebetween. First, in adding reference numerals to the components of each drawing, it should be noted that the same or similar components have the same or similar reference numerals as much as possible even if displayed on different drawings. At this time, the configuration and operation of the present invention shown in the drawings and described by it will be described as at least one embodiment, by which the technical spirit of the present invention and its core configuration and operation is not limited.

도 1은 본 발명의 일실시예에 따른 어플리케이션의 유해성 판단 방법을 나타내는 흐름도이다. 도 1을 참조하면, 본 실시예에 따른 어플리케이션의 유해성 판단 방법은 문자열 검출 단계(S100), 유해성 판단 단계(S200)를 포함한다. 1 is a flowchart illustrating a method of determining a hazard of an application according to an exemplary embodiment of the present invention. Referring to FIG. 1, a method of determining harmfulness of an application according to the present exemplary embodiment includes a character string detection step S100 and a hazard determination step S200.

문자열 검출 단계(S100)는 기계어로 표현된 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 바이너리 코드의 계산 결과로 생성 가능한 문자열 중 상기 어플리케이션의 유해성 여부 판단을 위한 정보를 정의하는 대상 문자열을 검출한다. 기계어란 CPU가 직접 해독하고 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어를 의미하며, 프로그램을 나타내는 가장 낮은 단계의 개념을 의미한다. 본 실시예에서 기계어(machine language)는 0과 1로 표현되는 바이너리(binary) 코드를 의미한다. The character string detecting step S100 detects a target character string defining information for determining whether the application is harmful among character strings that can be generated as a result of calculation of binary code of an application executed on a software platform expressed in machine language. Machine language is a computer language written in bits that can be directly decoded and executed by the CPU, and refers to the lowest level concept of representing a program. In this embodiment, a machine language means a binary code represented by 0 and 1.

소프트웨어 플랫폼이란 소프트웨어가 구동 가능한 하드웨어 아키텍처나 소프트웨어 프레임워크(응용 프로그램 프레임워크를 포함하는)의 종류를 설명하는 것으로 플랫폼은 컴퓨터의 아키텍처, 운영 체제(OS), 프로그램 언어, 그리고 관련 런타임 라이브러리 또는 GUI를 포함한다. PC환경의 경우 x86 아키텍처에서 사용되는 마이크로소프트사의 윈도우, 리눅스와 애플의 맥오에스를 포함하며, 모바일 컴퓨팅 환경의 경우는 구글의 안드로이드, 애플의 iOS, 마이크로 소프트의 윈도우 모바일 등을 포함하는 운영체제를 의미한다.A software platform describes the kind of hardware architecture or software framework (including an application framework) on which the software can run. The platform describes the architecture, operating system (OS), program language, and associated runtime libraries or GUIs of a computer. Include. The PC environment includes Microsoft's Windows, Linux, and Apple's MacOS used in the x86 architecture, and the mobile computing environment includes operating systems including Google's Android, Apple's iOS, and Microsoft's Windows Mobile. do.

본 실시예에서 어플리케이션(application)은 컴퓨터 환경에서 수행되는 응용 소프트웨어를 의미하는 것으로 최종 사용자가 쉽게 응용 가능한 프로그램으로 모바일 컴퓨팅 환경에서 어플리케이션은 그 약자에 따라 어플 또는 앱으로 명명된다. 문자열(String)은 문자들을 1차원적으로 나열한 것으로 문자로 이루어진 배열을 의미하며, 대상 문자열은 어플리케이션의 유해성 여부 판단을 위한 정보를 정의하는 것으로 본 실시예에서는 어플리케이션이 웹서버의 접속을 통해 유해 컨텐츠를 제공하는 경우 이러한 컨텐츠 제공 웹서버의 URL주소를 대상 문자열로 설정하는 것이 바람직하다. 이하 본 실시예에서 문자열 검출 단계는 도 2를 통해 보다 상세히 설명한다.In the present embodiment, the application refers to application software that is performed in a computer environment. The application is easily applicable to an end user. In a mobile computing environment, an application is called an application or an app according to its abbreviation. A string is a one-dimensional array of characters and means an array of characters. A target string defines information for determining whether an application is harmful. In the present embodiment, harmful content is accessed through an access of a web server. In case of providing a web server, it is preferable to set the URL address of the content providing web server as a target string. Hereinafter, the character string detection step in the present embodiment will be described in more detail with reference to FIG. 2.

도 2는 본 발명의 일실시예에 따른 어플리케이션의 유해성 판단 방법에서 문자열 검출 단계(S100)를 나타내는 세부 흐름도이다. 본 실시예에 따른 문자열 검출 단계는 실행 파일 입력 단계(S110), 바이너리 코드 변환 단계(S120), 바이너리 코드 분석 단계(S130), 대상 문자열 검출 단계(S140), 문자열 전송 단계(S150)를 포함한다.2 is a detailed flowchart illustrating a character string detection step (S100) in a method of determining harmfulness of an application according to an exemplary embodiment of the present disclosure. The string detection step according to the present embodiment includes an executable file input step S110, a binary code conversion step S120, a binary code analysis step S130, a target string detection step S140, and a string transmission step S150. .

실행 파일 입력 단계(S110)는 유해성 여부를 판단하고자 하는 어플리케이션의 실행 파일을 입력 받는 단계이다. 실행 파일이란 컴퓨터의 프로그램로더에 의해 실행될 수 있는 파일로 명령에 따라 지시된 작업을 수행하도록 하는 컴퓨터 파일을 의미한다. 본 실시예에서 입력 받는 실행 파일은 모바일 컴퓨팅 환경에서 안드로이드를 기반으로 실행되는 어플리케이션 파일로 확장자가 apk를 갖는 파일일 수 있다. Apk 파일은 zip 포맷의 압축 파일로 내부 구성은 META-INF 폴더, res 폴더, AndroidManifest.xml 파일, classes.dex파일, resources.arsc파일 등을 포함한다. 이하에서는 입력 받은 실행파일의 바이너리 코드 변환에 대하여 설명한다.Executing file input step (S110) is a step of receiving the executable file of the application to determine whether harmful. An executable file is a file that can be executed by a program loader of a computer, and means a computer file for performing an operation in accordance with an instruction. The executable file received in the present embodiment may be a file having an apk extension as an application file executed based on Android in a mobile computing environment. Apk file is a compressed file in zip format. The internal structure includes META-INF folder, res folder, AndroidManifest.xml file, classes.dex file and resources.arsc file. Hereinafter, the binary code conversion of the received executable file will be described.

바이너리 코드 변환 단계(S120)는 어플리케이션의 실행 파일을 역컴파일러(Decompiler)를 이용하여 바이너리 코드로 변환한다. 상술한 바와 같이 본 실시예에서는 zip 포맷으로 압축된 apk 파일을 어플리케이션 실행 파일로 입력 받는 경우 압축된 내부 파일 중 classes.dex파일을 이용하여 바이너리 코드로 변환한다. classes.dex를 입력 파일로 역컴파일러 기술을 이용하면 바이너리 변환된 classes.jar파일을 출력할 수 있다. jar파일은 Java ARchive파일로 자바가상머신상에서 사용되는 클래스 파일이다. 본 실시예에서 바이너리코드 분석 단계(S130)는 바이너리 코드 변환 단계(S120)에서 출력된 classes.jar파일을 이용하여 문자열 검출을 위한 문자열들의 집합을 생성한다. 이하 바이너리 코드 분석 단계(S130)에 대하여 설명한다.Binary code conversion step (S120) converts the executable file of the application into binary code using a decompiler (Decompiler). As described above, in the present embodiment, when an apk file compressed in a zip format is received as an application executable file, the apk file is converted into binary code using classes.dex file among the compressed internal files. Using the decompiler technique as a class.dex input file, you can output a binary converted classes.jar file. The jar file is a Java ARchive file. It is a class file used on a Java virtual machine. In the present embodiment, the binary code analysis step S130 generates a set of strings for string detection using the classes.jar file output in the binary code conversion step S120. Hereinafter, the binary code analysis step S130 will be described.

바이너리 코드 분석 단계(S130)는 바이너리 코드 변환 단계에서 변환된 바이너리 코드의 수행으로 생성 가능한 문자열을 검출한다. 바이너리 코드의 수행으로 생성 가능한 문자열이란 문자열 분석 방법을 이용하여 클래스 파일에 포함된 모든 프로그램 포인트의 각각의 식에 대하 계산 결과로 나올 수 있는 문자열을 의미하며, 문자열 분석 방법은 프로그램 분석 컴파일러를 이용하며, 프로그램의 실행 없이 실행에 따른 결과를 예측하여 해석하는 요약해석(Abstact Interpretation) 방법을 이용하여 문자열의 집합을 생성하는 것이 바람직하다. The binary code analysis step S130 detects a character string that can be generated by performing the binary code converted in the binary code conversion step. The string that can be generated by the execution of binary code means a string that can be calculated as the result of calculation for each expression of all program points included in the class file using the string analysis method. The string analysis method uses the program analysis compiler. For example, it is preferable to generate a set of character strings by using an Absact Interpretation method that predicts and interprets the result of execution without executing a program.

대상 문자열 검출 단계(S140)는 바이너리 코드 분석 단계(S130)에서 검출된 문자열 중 대상 문자열의 정규화된 문자 배열 패턴을 이용하여 대상 문자열을 검출한다. 정규화된 문자 배열 패턴이란 대상 문자열의 공통적인 문자 배열의 형태를 의미한다. 정규화된 문자 배열 패턴은 본 실시예에 따른 유해성 판단 방법의 결과를 통해 파악되는 패턴을 포함할 수 있다. 본 실시예에서 대상 문자열이 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소인 경우 URL주소의 정규화된 문자 배열 패턴을 정의하는 URL 정규식인 것이 바람직하다. 일반적으로 URL주소의 경우 컴퓨터 네트워크 상에서 서로 다른 컴퓨터끼리 데이터를 주고 받기 위한 통신 규약을 정의하는 프로토콜(protocol), world wide web을 정의하는 www와 같은 서브 도메인, 서버의 주소 이름을 정의하는 도메인, 국가 코드와 같은 도메인 구분 기호를 정의하는 부분으로 이루어져 있으며, 이러한 각 부분은 영어알파벳 또는 숫자를 포함할 수 있고, 각 부분은 점(dot)으로 구분된다. The target string detection step S140 detects the target string using a normalized character array pattern of the target string among the strings detected in the binary code analysis step S130. The normalized character array pattern means a form of a common character array of a target string. The normalized character arrangement pattern may include a pattern identified through the result of the hazard determination method according to the present embodiment. In the present embodiment, when the target string is a URL (Uniform Resource Locator) address of the web server connected in the execution of the application, it is preferable that the URL regular expression defines a normalized character array pattern of the URL address. In general, the URL address is a protocol defining communication protocols for exchanging data between different computers on a computer network, a subdomain such as www defining a world wide web, a domain defining an address name of a server, and a country. It consists of parts that define domain separators, such as code, each of which can contain English alphabets or numbers, and each part is separated by a dot.

따라서 대상 문자열 검출 단계(S140)에서 사용되는 URL주소의 정규식의 한 예로 정규식은 “.*([0-9a-zA-Z\\-]+\\.){2,3}[0-9a-zA-Z\\-]+.*”로 표현 가능하며, 정규식의 의미는 숫자, 알파벳, 또는 -로 이루어진 단어 3개 또는 4개가 점(.)으로 분리된 형태를 포함하는 모든 문자열을 의미한다. 본 실시예에서 사용되는 정규식은 복수의 정규화된 패턴을 나타내는 복수의 정규식일 수 있으며, 복수의 정규식을 조합하여 사용할 수 있다. 본 실시예에서 URL정규식을 이용하여 문자열을 검출하는 예는 도 3과 같다. 도 3은 PC환경에서 이클립스(eclipse)를 기반으로 안드로이드 플랫폼에서 실행되는 어플리케이션의 실행파일 Adult_Movies_HD_12.apk를 이용하여 문자열을 검출하는 시뮬레이션 결과(30)를 나타낸다. 도 3을 참조하면 역컴파일러(decomplier)(32)를 이용하여 어플리케이션의 실행파일 Adult_Movies_HD_12.apk파일을 바이너리 코드로 변환한다. 변환된 jar파일 Adult_Movies_HD_12_dex2jar.jar(34)에 대하여 유해 어플리케이션 분석 엔진을 실행하여 이로부터 생성 가능한 문자열을 검출 및 정규식(36)을 통하여 URL 주소 문자열(38)을 검출한다. Therefore, as an example of the regular expression of the URL address used in the target character string detecting step S140, the regular expression is “. * ([0-9a-zA-Z \\-] + \\.) {2,3} [0-9a -zA-Z \\-] +. * ”, where regular expression means any string containing three or four words consisting of numbers, alphabets, or-separated by dots. do. The regular expression used in the present embodiment may be a plurality of regular expressions representing a plurality of normalized patterns, and a plurality of regular expressions may be used in combination. An example of detecting a string using a URL regular expression in this embodiment is shown in FIG. 3. 3 illustrates a simulation result 30 of detecting a character string using an executable file Adult_Movies_HD_12.apk of an application running on an Android platform based on Eclipse in a PC environment. Referring to FIG. 3, an executable file Adult_Movies_HD_12.apk file of an application is converted into binary code by using a decompiler 32. The harmful application analysis engine is executed on the converted jar file Adult_Movies_HD_12_dex2jar.jar 34 to detect a string that can be generated therefrom and to detect the URL address string 38 through the regular expression 36.

또한 샘플 어플리케이션 실행 파일에 대하여 본 실시예에 따른 문자열 검출 단계를 수행하여 검출된 대상 문자열은 표 1과 같다. 표 1은 안드로이드 플랫폼 상에서 구동되는 어플리케이션 샘플을 이용하여 검출된 대상 문자열을 나타낸다.
In addition, the target string detected by performing the string detection step according to the present embodiment with respect to the sample application execution file is shown in Table 1. Table 1 shows a target string detected using an application sample running on the Android platform.

샘플어플리케이션실행 파일Sample application executable 검출된 대상 문자열Target String Detected Adult_Movies_HD_12.apk Adult_Movies_HD_12.apk http://mobile.xshare.com/vid/ http://mobile.xshare.com/vid/ http://mobile.xshare.com/mr/page=0http://mobile.xshare.com/mr/page=0 media.xshare.commedia.xshare.com http://www.megoals.com/proxy.txt http://www.megoals.com/proxy.txt 64.237.47.9564.237.47.95 com.android.BlackmarketApp_2805.apk com.android.BlackmarketApp_2805.apk http://www.applanet.net/ http://www.applanet.net/ http://46.182.120.39:8000/blackmarket/blackmarket/theconnection/ http://46.182.120.39:8000/blackmarket/blackmarket/theconnection/ http://market.applanet.net/blackmarket/blackmarket/theconnection/ http://market.applanet.net/blackmarket/blackmarket/theconnection/ http://46.182.120.39/blackmarket/blackmarket/theconnection/ http://46.182.120.39/blackmarket/blackmarket/theconnection/ http://market.applanet.net:8000/blackmarket/blackmarket/theconnection/ http://market.applanet.net:8000/blackmarket/blackmarket/theconnection/ http://www.applanet.net/ http://www.applanet.net/ MLB_Power_Pros_2010_v1_2.apk MLB_Power_Pros_2010_v1_2.apk http://pg.natsumegame.com/urata/pawamlb/ http://pg.natsumegame.com/urata/pawamlb/ Porn_Video_Streaming_1.0.apk Porn_Video_Streaming_1.0.apk http://mobile.streamingvideo.com/ http://mobile.streamingvideo.com/ PornApp.apk PornApp.apk http://mobile.xshare.com/vid/ http://mobile.xshare.com/vid/ http://mobile.xshare.com/mr/page=0 http://mobile.xshare.com/mr/page=0 media.xshare.commedia.xshare.com http://www.megoals.com/proxy.txt http://www.megoals.com/proxy.txt 64.37.47.95 64.37.47.95 http://mobile.xshare.com/mr/page=http://mobile.xshare.com/mr/page= SexTube1.33_pro.apk SexTube1.33_pro.apk http://mobile.spankwire.com/video/search/query/girl/page/4 http://mobile.spankwire.com/video/search/query/girl/page/4 http://mobile.spankwire.com/category/show/name//page/0 http://mobile.spankwire.com/category/show/name//page/0 http://mobile.spankwire.com/video/show/title/davia_ardell/id/ http://mobile.spankwire.com/video/show/title/davia_ardell/id/ http://www.tube8.com/ http://www.tube8.com/ http://mobile.spankwire.com/category/show/name/ http://mobile.spankwire.com/category/show/name/ http://www.tube8.com//black-and-white/0 http://www.tube8.com//black-and-white/0 http://mobile.spankwire.com/video/browse/page/0 http://mobile.spankwire.com/video/browse/page/0 http://m.tube8.com/category/show/name//page/0 http://m.tube8.com/category/show/name//page/0

문자열 전송 단계(S150)는 유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스 서버에 대상 문자열 검출 단계(S140)에서 검출된 대상 문자열을 전송하고, 유해성 판단 단계는 상기 전송된 대상 문자열을 상기 데이터 베이스 서버의 유해 정보 리스트와 비교하여 유해성 여부를 판단하는 것이 바람직하다. The character string transmission step (S150) transmits the target character string detected in the target character string detection step (S140) to a database server that manages information on the character string including harmful information, and the hazard determination step includes the transmission of the target character string. It is desirable to determine whether or not harmful by comparison with the harmful information list of the database server.

유해성 판단 단계(S200)는 검출된 대상 문자열을 이용하여 상기 어플리케이션의 유해성 여부를 판단한다. 유해성 판단 단계는 대상 문자열 검출 단계(S140)에서 검출되어 문자열 전송 단계(S150)에서 전송된 대상 문자열을 전송 받아 유해성 여부를 판단한다. 본 실시예에서 유해성 판단을 위한 정보가 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소인 경우, 데이터 베이스 서버의 유해 정보 리스트는 유해 정보를 포함하는 서버의 접속에 사용되는 URL 주소 리스트를 포함하는 리스트인 것이 바람직하다. 본 실시예에서 데이터 베이스 서버는 네트워크 서비스를 제공하는 통신사에서 관리하는 유해 서버 주소 목록에 대한 데이터 베이스 서버일 수 있으며, 이로부터 유해 서버 주소 목록을 전달받아 관리하는 별도의 서버일 수 있다. 본 실시예에서 유해성 여부 판단단계는 전송된 대상 문자열을 데이터 베이스 서버의 유해 정보 리스트에 포함된 유해 문자열과 매칭되는지 여부를 판단하고 유해 문자열과 매칭되는 대상 문자열이 존재하는 경우 대상 문자열이 검출된 어플리케이션을 유해 어플리케이션으로 판단한다. 또한 본 실시예에서 대상 문자열을 전송하는 경우 어플리케이션의 제작자 또는 공급자의 식별ID를 함께 전송하는 것도 가능하다. 따라서 대상 문자열과는 별개로 식별ID를 통해 해당 식별ID의 유해성 관련 기록을 이용하여 유해성 여부를 판단하는 것도 가능하며, 또한 대상 문자열을 통해 유해 어플리케이션으로 판단한 경우 식별ID를 유해 정보를 제공하는 제작자 또는 공급자로 기록하여 저장 또는 관리하는 것도 가능하다. The harmfulness determining step (S200) determines whether the application is harmful using the detected target string. The harmfulness determination step is determined in the target string detection step S140 and receives the target string transmitted in the string transmission step S150 to determine whether there is a hazard. In the present embodiment, when the information for determining the harmfulness is a Uniform Resource Locator (URL) address of a web server connected in the execution of the application, the harmful information list of the database server is a URL used for accessing the server including the harmful information. It is preferably a list including an address list. In the present embodiment, the database server may be a database server for a list of harmful server addresses managed by a telecommunication company that provides a network service, and may be a separate server that receives and manages a list of harmful server addresses. In the present embodiment, the harmfulness determination step determines whether the transmitted target string matches a harmful string included in the harmful information list of the database server, and if the target string matching the harmful string exists, the application in which the target string is detected. To be considered a harmful application. In addition, in the present embodiment, when transmitting the target string, it is also possible to transmit the identification ID of the producer or supplier of the application. Therefore, it is also possible to determine whether or not harmfulness by using the hazard-related records of the corresponding identification ID through the identification ID separately from the target string.In addition, if it is determined that the application is harmful through the target string, It is also possible to record and store or manage with the supplier.

따라서 본 실시예에 따른 어플리케이션의 유해성 판단 방법은 어플리케이션의 실행파일을 다운받고 역컴파일하여 생성 가능한 문자열 및 대상 문자열을 추출하여 어플리케이션의 유해성여부를 판단하므로, 유해성 분석을 위한 단계들을 자동화할 수 있으며, 코드 분석으로 유해성을 판단하므로 사용자의 기기에 부가적인 특정 모듈이나 유해성 판단 어플리케이션을 설치할 필요가 없다. 또한 어플리케이션의 다운로드가 가능한 모든 어플리케이션 제공 서버에 적용이 가능하고, 나아가 유해성 판단의 대상이 되는 대상 문자열의 범위를 URL 주소 외에 기존의 PC 환경에서 접근 차단을 위해 사용되는 검색제한 단어와 같은 유해 단어 등의 다양한 방향으로 확장 가능하다. 이하 도 4를 통해 본 실시예에 따른 어플리케이션의 유해성 판단 방법을 수행하는 유해성 판단 시스템에 대하여 설명한다.Therefore, the method of determining the harmfulness of the application according to the present embodiment downloads the executable file of the application and extracts a string and a target string that can be generated by decompilation to determine whether the application is harmful. The code analysis determines the hazard, eliminating the need to install additional specific modules or hazard determination applications on the user's device. In addition, it can be applied to all application providing servers that can download applications, and furthermore, harmful words such as search restriction words used to block access in the existing PC environment, in addition to URL addresses, can be applied to the range of target strings that are subject to hazard determination. It can be extended in various directions. Hereinafter, a hazard determination system for performing a hazard determination method of an application according to the present embodiment will be described with reference to FIG. 4.

도 4는 본 발명의 일실시예에 따른 어플리케이션의 유해성 판단 시스템을 나타내는 블록도이다. 도 4를 참조하면 본 실시예에 따른 어플리케이션의 유해성 판단 시스템은 문자열 검출장치(100), 유해성 판단장치(200)를 포함한다.4 is a block diagram illustrating a system for determining a hazard of an application according to an exemplary embodiment of the present invention. Referring to FIG. 4, the hazard determination system of the application according to the present embodiment includes a string detection device 100 and a hazard determination device 200.

문자열 검출장치(100)는 상술한 바와 같이 기계어로 표현된 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 바이너리 코드의 계산 결과로 생성 가능한 문자열 중 상기 어플리케이션의 유해성 여부 판단을 위한 정보를 정의하는 대상 문자열을 검출한다(S100). 문자열 검출장치(100)는 바이너리 코드 변환부(110), 대상 문자열 검출부(120), 문자열 전송부(130)를 포함한다. As described above, the string detecting apparatus 100 detects a target string defining information for determining whether the application is harmful among strings that can be generated as a result of calculation of binary code of an application executed on a software platform expressed in machine language ( S100). The string detection apparatus 100 includes a binary code conversion unit 110, a target string detection unit 120, and a string transmission unit 130.

바이너리 코드 변환부(110)는 상술한 바와 같이 입력 받은 어플리케이션의 실행 파일을 역컴파일러(Decompiler)를 이용하여 바이너리 코드로 변환한다(S110). 대상 문자열 검출부(120)는 바이너리 코드 변환부(110)에서 변환된 바이너리 코드의 계산 결과로 생성 가능한 문자열 중 대상 문자열을 검출한다(S130). The binary code conversion unit 110 converts the executable file of the application received as described above into binary code using a decompiler (S110). The target string detector 120 detects the target string among the strings that can be generated as a result of the calculation of the binary code converted by the binary code converter 110 (S130).

대상 문자열 검출부(120)는 바이너리 코드 분석부(122), 대상 패턴 문자열 검출부(124)를 포함한다. 바이너리 코드 분석부(122)는 상술한 바와 같이 바이너리 코드 변환부에서 변환된 바이너리 코드의 수행으로 생성 가능한 문자열을 검출한다(S130). 대상 패턴 문자열 검출부(124)는 상술한 바와 같이 대상 문자열의 정규화된 문자 배열 패턴을 이용하여 바이너리 코드 분석부(122)에서 검출된 생성 가능한 문자열 중 상기 대상 문자열을 검출한다(S140).The target string detector 120 includes a binary code analyzer 122 and a target pattern string detector 124. As described above, the binary code analyzer 122 detects a character string that can be generated by performing the binary code converted by the binary code converter (S130). As described above, the target pattern string detection unit 124 detects the target string among the generationable strings detected by the binary code analyzer 122 using the normalized character array pattern of the target string (S140).

문자열 전송부(130)는 유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스 서버에 대상 문자열 검출부(120)에서 검출된 대상 문자열을 전송하고(S150), 유해성 판단장치(200)는 상기 전송된 대상 문자열을 상기 데이터 베이스 서버의 유해 정보 리스트와 비교하여 유해성 여부를 판단하는 것이 바람직하다. 이하 어플리케이션의 유해성 여부를 판단하는 유해성 판단장치(200)에 대해 설명한다.The character string transmitter 130 transmits the target character string detected by the target character string detector 120 to the database server managing information on the character string including the harmful information (S150), and the hazard determination apparatus 200 transmits the character string. It is preferable to determine the harmfulness by comparing the target string is compared with the harmful information list of the database server. Hereinafter, the hazard determination apparatus 200 for determining whether the application is harmful will be described.

유해성 판단장치(200)는 상술한 바와 같이 검출된 대상 문자열을 이용하여 상기 어플리케이션의 유해성 여부를 판단한다. 유해성 여부 판단부(200)는 대상 문자열 검출부(120)에서 검출되어 문자열 전송부(130)에서 전송된 대상 문자열을 전송 받아 유해성 여부를 판단한다(S200). 본 실시예에서 유해성 판단부(100)는 유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스를 포함하고, 전송된 대상 문자열을 데이터 베이스의 유해 정보 리스트에 포함된 유해 문자열과 매칭되는지 여부를 판단하고 유해 문자열과 매칭되는 대상 문자열이 존재하는 경우 대상 문자열이 검출된 어플리케이션을 유해 어플리케이션으로 판단한다(S200).The harmfulness determination device 200 determines whether the application is harmful using the detected target string as described above. The harmfulness determination unit 200 receives the target character string detected by the target character string detector 120 and transmitted by the character string transmitter 130 and determines whether the object is harmful (S200). In the present embodiment, the hazard determination unit 100 includes a database that manages information about a string including harmful information, and determines whether the transmitted target string matches a harmful string included in the harmful information list of the database. If it is determined that there is a target string matching the harmful string, the application in which the target string is detected is determined as a harmful application (S200).

본 실시예에서 대상 문자열은 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소일 수 있으며, 문자열 검출장치(100)는 웹 서버의 URL주소의 정규화된 문자 배열 패턴을 정의하는 URL 정규식을 이용하여 대상 문자열을 검출하는 것이 바람직하다(S100). 대상 문자열이 URL주소인 경우 데이터 베이스의 유해 정보 리스트는 유해 정보를 포함하는 서버의 접속에 사용되는 URL 주소 리스트를 포함하고, 유해성 판단장치(200)는 전송 받은 URL 주소 문자열 중 데이터 베이스에 저장된 URL 주소 리스트와 매칭되는 문자열이 존재하는 경우 URL 주소 문자열이 검출된 어플리케이션을 유해 어플리케이션으로 판단한다(S200).In the present embodiment, the target string may be a URL (Uniform Resource Locator) address of a web server connected in the execution of an application, and the string detecting apparatus 100 may define a URL that defines a normalized character array pattern of the URL address of the web server. It is preferable to detect the target character string using a regular expression (S100). If the target string is a URL address, the harmful information list of the database includes a list of URL addresses used to access the server including the harmful information, and the hazard determination apparatus 200 includes a URL stored in the database among the received URL address strings. If there is a string matching the address list, the application in which the URL address string is detected is determined as a malicious application (S200).

한편 본 발명의 어플리케이션의 유해성 판단 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 시스템을 포함한다.On the other hand, the method of determining the hazard of the application of the present invention can be implemented in a computer-readable code on a computer-readable recording medium. Computer-readable recording media include all types of recording systems in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장시스템등이 있으며, 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트 들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage system, and the like, and computer-readable recording media are distributed in networked computer systems. Computer-readable code can be stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. It will be apparent to those skilled in the art that various modifications, substitutions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. will be.

따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
Therefore, the embodiments disclosed in the present invention and the accompanying drawings are intended to illustrate and not to limit the technical spirit of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments and the accompanying drawings . The scope of protection of the present invention should be construed according to the following claims, and all technical ideas falling within the scope of the same shall be construed as falling within the scope of the present invention.

Claims (18)

기계어로 표현된 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 바이너리 코드의 계산 결과로 생성 가능한 문자열 중 상기 어플리케이션의 유해성 여부 판단을 위한 정보를 정의하는 대상 문자열을 검출하는 문자열 검출 단계; 및
유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스 서버에 상기 검출된 대상 문자열을 전송하는 문자열 전송 단계를 포함하고,
상기 문자열 검출 단계는,
상기 어플리케이션의 실행 파일을 역컴파일러(Decompiler)를 이용하여 바이너리 코드로 변환하는 바이너리 코드 변환 단계;
상기 변환된 바이너리 코드의 수행으로 생성 가능한 문자열을 검출하는 바이너리 코드 분석 단계; 및
상기 대상 문자열의 정규화된 문자 배열 패턴을 이용하여 상기 문자열 중 패턴화된 대상 문자열로서 상기 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소를 검출하는 대상 패턴 문자열 검출 단계를 포함하는 것을 특징으로 하는 어플리케이션 유해성 판단 방법.
A string detection step of detecting a target string defining information for determining whether the application is harmful among strings that can be generated as a result of calculating binary code of an application executed on a software platform expressed in machine language; And
A string transmission step of transmitting the detected target character string to a database server managing information on a character string including harmful information;
The string detection step,
A binary code conversion step of converting an executable file of the application into binary code using a decompiler;
A binary code analyzing step of detecting a string that can be generated by performing the converted binary code; And
And a target pattern string detection step of detecting a URL (Uniform Resource Locator) address of a web server connected in the execution of the application as a patterned target string among the strings by using the normalized character array pattern of the target string. Application hazard determination method, characterized in that.
삭제delete 삭제delete 제 1 항에 있어서,
상기 어플리케이션 유해성 판단 방법은 상기 전송된 대상 문자열을 이용하여 상기 어플리케이션의 유해성 여부를 판단하는 유해성 판단 단계를 더 포함하고,
상기 유해성 판단 단계는 상기 전송된 대상 문자열을 상기 데이터 베이스 서버의 유해 정보 리스트와 비교하여 유해성 여부를 판단하는 것을 특징으로 하는 어플리케이션 유해성 판단 방법
The method of claim 1,
The application harmfulness determination method further includes a hazard determination step of determining whether the harmfulness of the application using the transmitted target string,
In the harmfulness determination step, the harmfulness of the application is determined by comparing the transmitted target string with the harmful information list of the database server.
삭제delete 제 1 항에 있어서,
상기 대상 패턴 문자열 검출 단계는 웹 서버의 URL주소의 정규화된 문자 배열 패턴을 정의하는 URL 정규식을 이용하여 상기 대상 문자열을 검출하는 것을 특징으로 하는 어플리케이션 유해성 판단 방법
The method of claim 1,
The detecting of the target pattern string may include detecting the target string using a URL regular expression defining a normalized character array pattern of the URL address of the web server.
제 4 항에 있어서,
상기 데이터 베이스 서버의 유해 정보 리스트는 유해 정보를 포함하는 서버의 접속에 사용되는 URL 주소 리스트를 포함하는 것을 특징으로 하는 어플리케이션 유해성 판단 방법
5. The method of claim 4,
The harmful information list of the database server includes a list of URL addresses used to access a server including harmful information.
삭제delete 삭제delete 기계어로 표현된 소프트웨어 플랫폼 상에서 실행되는 어플리케이션의 바이너리 코드의 계산결과로 생성 가능한 문자열 중 상기 어플리케이션의 유해성 여부 판단을 위한 정보를 정의하는 대상 문자열을 검출하는 문자열 검출장치; 및
상기 검출된 대상 문자열을 이용하여 상기 어플리케이션의 유해성 여부를 판단하는 유해성 판단장치를 포함하고,
상기 문자열 검출장치는,
상기 어플리케이션의 실행 파일을 역컴파일러(Decompiler)를 이용하여 바이너리 코드로 변환하는 바이너리 코드 변환부;
상기 변환된 바이너리 코드의 수행으로 생성 가능한 문자열을 검출하는 바이너리 코드 분석부; 및
상기 대상 문자열의 정규화된 문자 배열 패턴을 이용하여 상기 문자열 중 상기 대상 문자열로서 상기 어플리케이션의 실행 과정에서 접속되는 웹 서버의 URL(Uniform Resource Locator)주소를 검출하는 대상 패턴 문자열 검출부를 포함하는 것을 특징으로 하는 어플리케이션 유해성 판단 시스템.
A string detecting device for detecting a target string defining information for determining whether the application is harmful among strings that can be generated as a result of calculating binary code of an application executed on a software platform expressed in machine language; And
A harmfulness determination device that determines whether the application is harmful using the detected target string,
The string detection device,
A binary code conversion unit converting the executable file of the application into binary code using a decompiler;
A binary code analyzer configured to detect a character string that can be generated by performing the converted binary code; And
And a target pattern string detector for detecting a URL (Uniform Resource Locator) address of a web server connected to the target string among the strings during the execution of the application using the normalized character array pattern of the target string. Application hazard determination system.
삭제delete 삭제delete 제 10 항에 있어서,
상기 문자열 검출장치는 상기 유해성 판단장치에 상기 검출된 대상 문자열을 전송하는 문자열 전송부를 포함하고,
상기 유해성 판단장치는 상기 전송된 대상 문자열을 이용하여 상기 어플리케이션의 유해성 여부를 판단하는 것을 특징으로 하는 어플리케이션 유해성 판단 시스템
11. The method of claim 10,
The string detection device may include a string transmission unit configured to transmit the detected target string to the hazard determination device.
The harmfulness determination device is the application harmfulness determination system, characterized in that for determining whether the harmfulness of the application using the transmitted target string.
제 13 항에 있어서,
상기 유해성 판단장치는 유해 정보를 포함하는 문자열에 관한 정보를 관리하는 데이터 베이스를 포함하고,
상기 전송된 대상 문자열을 상기 데이터 베이스의 유해 정보 리스트와 비교하여 유해성 여부를 판단하는 것을 특징으로 하는 어플리케이션 유해성 판단 시스템
The method of claim 13,
The hazard determination device includes a database for managing information on the character string containing the harmful information,
Application harmfulness determination system, characterized in that to determine whether harmful by comparing the transmitted target string with the harmful information list of the database
삭제delete 제 10 항에 있어서,
상기 대상 패턴 문자열 검출부는 웹 서버의 URL주소의 정규화된 문자 배열 패턴을 정의하는 URL 정규식을 이용하여 상기 대상 문자열을 검출하는 것을 특징으로 하는 어플리케이션 유해성 판단 시스템
11. The method of claim 10,
The target pattern string detection unit detects the target string using a URL regular expression defining a normalized character array pattern of the URL address of the web server.
제 14 항에 있어서,
상기 데이터 베이스 서버의 유해 정보 리스트는 유해 정보를 포함하는 서버의 접속에 사용되는 URL 주소 리스트를 포함하는 것을 특징으로 하는 어플리케이션 유해성 판단 시스템
15. The method of claim 14,
The harmful information list of the database server includes a list of URL addresses used to access a server including harmful information.
삭제delete
KR1020120030648A 2012-03-26 2012-03-26 Method and system for deciding harmfulness of software application KR101364599B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120030648A KR101364599B1 (en) 2012-03-26 2012-03-26 Method and system for deciding harmfulness of software application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120030648A KR101364599B1 (en) 2012-03-26 2012-03-26 Method and system for deciding harmfulness of software application

Publications (2)

Publication Number Publication Date
KR20130108855A KR20130108855A (en) 2013-10-07
KR101364599B1 true KR101364599B1 (en) 2014-02-20

Family

ID=49631405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120030648A KR101364599B1 (en) 2012-03-26 2012-03-26 Method and system for deciding harmfulness of software application

Country Status (1)

Country Link
KR (1) KR101364599B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101469009B1 (en) * 2013-10-21 2014-12-05 한국전자통신연구원 Apparatus and method for extracting spammer group
KR101582601B1 (en) * 2014-01-10 2016-01-05 아리아시큐어 주식회사 Method for detecting malignant code of android by activity string analysis
KR102035076B1 (en) * 2017-11-22 2019-10-23 한국시스템보증(주) Apparatus and method for detecting a falsification of firmware for a communication device
KR102473312B1 (en) * 2022-02-10 2022-12-05 (주)라바웨이브 System and method for protecting leaked information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100692172B1 (en) * 2005-03-30 2007-03-12 아이티플러스 주식회사 Universal string analyzer and method thereof
KR20110074482A (en) * 2009-12-24 2011-06-30 인텔 코오퍼레이션 Trusted graphics rendering for safer browsing on mobile devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100692172B1 (en) * 2005-03-30 2007-03-12 아이티플러스 주식회사 Universal string analyzer and method thereof
KR20110074482A (en) * 2009-12-24 2011-06-30 인텔 코오퍼레이션 Trusted graphics rendering for safer browsing on mobile devices

Also Published As

Publication number Publication date
KR20130108855A (en) 2013-10-07

Similar Documents

Publication Publication Date Title
US9525706B2 (en) Apparatus and method for diagnosing malicious applications
AU2018298640B2 (en) Determination device, determination method, and determination program
KR101364599B1 (en) Method and system for deciding harmfulness of software application
US10701087B2 (en) Analysis apparatus, analysis method, and analysis program
US11934287B2 (en) Method, electronic device and computer program product for processing data
Zhang et al. Rapid Android parser for investigating DEX files (RAPID)
WO2014132145A1 (en) Web service black box testing
US9942267B1 (en) Endpoint segregation to prevent scripting attacks
US9477538B2 (en) Method and system for the support of application specific policies for conventional operating systems
CN109818972B (en) Information security management method and device for industrial control system and electronic equipment
CN103955468A (en) Method and device for displaying documents based on browser
CN103390129B (en) Detect the method and apparatus of security of uniform resource locator
CN102156650A (en) Method and device capable of implementing automatic analysis of patch
Asaduzzaman et al. A vulnerability detection framework for cms using port scanning technique
CN116032595A (en) General type malicious sample classification method, device, medium and equipment
KR101266935B1 (en) A malware detection system in open mobile platform
US10044728B1 (en) Endpoint segregation to prevent scripting attacks
CN109714371B (en) Industrial control network safety detection system
CN113420302A (en) Host vulnerability detection method and device
RU2697951C2 (en) System and method of terminating functionally restricted application, interconnected with website, launched without installation
Rodriguez et al. Ntapps: A network traffic analyzer of android applications
CN111151008A (en) Game operation data verification method, device, configuration background and medium
KR100977150B1 (en) Method and system for testing web site
Choo et al. The behavior-based analysis techniques for HTML5 malicious features
EP4273726A1 (en) Risk assessment based on augmented software bill of materials

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190117

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200204

Year of fee payment: 7