KR20170086926A - Apparatus for security vulnerabilities evaluation of application and control method of the same - Google Patents
Apparatus for security vulnerabilities evaluation of application and control method of the same Download PDFInfo
- Publication number
- KR20170086926A KR20170086926A KR1020160006571A KR20160006571A KR20170086926A KR 20170086926 A KR20170086926 A KR 20170086926A KR 1020160006571 A KR1020160006571 A KR 1020160006571A KR 20160006571 A KR20160006571 A KR 20160006571A KR 20170086926 A KR20170086926 A KR 20170086926A
- Authority
- KR
- South Korea
- Prior art keywords
- api
- application
- degree
- vulnerability
- information
- Prior art date
Links
- 238000011156 evaluation Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims description 50
- 230000006854 communication Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 29
- 230000009471 action Effects 0.000 claims description 13
- 238000012795 verification Methods 0.000 description 22
- 239000008186 active pharmaceutical agent Substances 0.000 description 13
- 238000010801 machine learning Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000013523 data management Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 238000007476 Maximum Likelihood Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000002910 structure generation Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002041 carbon nanotube Substances 0.000 description 1
- 229910021393 carbon nanotube Inorganic materials 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002159 nanocrystal Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Alarm Systems (AREA)
Abstract
본 발명은 애플리케이션의 정량적 수치를 제공해 줌으로써 보안 취약성에 대한 객관적인 데이터를 제공하는 애플리케이션의 보안 취약성 평가기기 및 그 평가방법이 제공된다. 본 발명의 애플리케이션의 보안 취약성 평가방법은, 평가 대상인 애플리케이션에 사용되는 적어도 하나의 API (APPLICATION PROGRAMING INTERFACE)를 결정하는 단계와; 상기 결정된API의 특성정보에 기초하여 상기 API 에 대한 배타적 정보에의 접근 정도를 결정하는 단계와; 상기 결정된API의 배타적 정보에의 접근 정도에 기초하여 상기 애플리케이션의 보안 취약성을 평가하는 단계를 포함하는 것을 특징으로 한다. The present invention provides an apparatus for evaluating security vulnerability of an application that provides objective data on security vulnerability by providing a quantitative value of an application and an evaluation method thereof. A security vulnerability evaluation method of an application of the present invention includes: determining at least one application programming interface (API) used in an application to be evaluated; Determining the degree of access to the exclusive information for the API based on the determined property information of the API; And evaluating the security vulnerability of the application based on the determined degree of access to the exclusive information of the API.
Description
본 발명은 애플리케이션에서 사용되는 API(APPLICATION PROGRAMING INTERFACE)에 대한 분석에 기초하여 애플리케이션의 정량적 수치를 제공해 줌으로써 보안 취약성에 대한 객관적인 데이터를 제공하는 애플리케이션의 보안 취약성 평가기기 및 그 평가방법이다.The present invention is a security vulnerability assessment apparatus and evaluation method for an application that provides objective data on security vulnerability by providing quantitative values of an application based on an analysis of APPLICATION PROGRAMING INTERFACE used in an application.
본 발명과 관련된 응용 프로그램의 취약성 평가 기법은 애플리케이션의 퍼미션(permission)이나 데이터 유출 여부 등을 이용하여 취약성을 평가 하였다. 또한 정량적인 취약성 수치를 제공해 주지 못하였다. 이와 같은 방법으로 평가된 결과물은 평가기법 개발자의 주관적 의도가 들어있고 그렇기 때문에 객관적인 수치를 제공해주지 못하며, 정량적인 수치를 제공하는데 어려움이 있었다. The vulnerability evaluation technique of the application program related to the present invention evaluates the vulnerability using an application's permission or data leakage. They also did not provide quantitative vulnerability figures. The results evaluated in this way contain the subjective intent of the evaluation technique developer and therefore do not provide objective numerical values and have difficulty in providing quantitative figures.
또한, 상기 퍼미션을 이용하는 방법은 애플리케이션의 퍼미션을 통하여 취약성을 평가하는데, 이는 정상적인 동작을 위한 퍼미션 사용에도 불구하고, 취약성을 밝히는 등의 평가의 오류 가능성을 지니고 있다.In addition, the method using the above-mentioned permission evaluates the vulnerability through the permission of the application, which has the possibility of evaluation error such as revealing the vulnerability despite the use of the permission for the normal operation.
본 발명의 목적은 애플리케이션에서 사용되는 API(APPLICATION PROGRAMING INTERFACE)는 항상 명확하게 분석할 수 있으므로 이에 대한 분석에 기초하여 애플리케이션의 정량적 수치를 제공해 줌으로써 애플리케이션의 보안 취약성에 대한 객관적인 데이터를 제공할 수 있는 애플리케이션의 보안 취약성 평가기기 및 그 평가방법을 제공함에 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide an AP application programming interface (API) which can always analyze clearly and thus provides quantitative values of an application based on an analysis thereof, And an evaluation method thereof.
상기 본 발명의 해결과제를 달성하기 위한 애플리케이션의 보안 취약성 평가방법은, 평가 대상인 애플리케이션에 사용되는 적어도 하나의 API (APPLICATION PROGRAMING INTERFACE)를 결정하는 단계와; 상기 결정된API의 특성정보에 기초하여 상기 API 에 대한 배타적 정보에의 접근 정도를 결정하는 단계와; 상기 결정된API의 배타적 정보에의 접근 정도에 기초하여 상기 애플리케이션의 보안 취약성을 평가하는 단계를 포함하는 애플리케이션의 보안 취약성 평가방법에 의해 달성된다.According to another aspect of the present invention, there is provided a method for evaluating security vulnerabilities of an application, comprising: determining at least one application programming interface (API) used in an application to be evaluated; Determining the degree of access to the exclusive information for the API based on the determined property information of the API; And evaluating the security vulnerability of the application based on the determined degree of access to the exclusive information of the API.
여기서, 네트워크로부터 상기 사용되는 적어도 하나의 API에 대응하는 특성정보를 획득하는 단계를 더 포함할 수 있다.Here, the method may further include acquiring characteristic information corresponding to the at least one API used from the network.
그리고, 상기 배타적 정보에의 접근 정도를 결정하는 단계는, 상기 API의 특성정보 중 상기 사용되는 적어도 하나의 API의 명칭에 포함되어 있는 단어에 대한 확률을 이용하여 상기 배타적 정보에의 접근 정도를 산출하는 단계를 포함할 수 있다.The step of determining the degree of access to the exclusive information may include calculating a degree of access to the exclusive information by using a probability of a word included in the name of the at least one API among the property information of the API .
여기서, 상기 애플리케이션의 보안 취약성을 평가하는 단계는, 상기 API의 특성정보 중 상기 배타적 정보에의 접근 정도가 결정된 API의 명칭에 대한 확률을 이용하여 상기 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출하는 단계를 포함할 수 있다.The step of evaluating the security vulnerability of the application may include calculating a degree of vulnerability of evaluating the security vulnerability of the application by using a probability of the name of the API whose degree of access to the exclusive information among the characteristic information of the API is determined Step < / RTI >
그리고, 상기 배타적 정보에의 접근 정도가 결정된 API 및 상기 애플리케이션의 보안 취약성이 평가된 API 중 적어도 하나에 기초하여 상기 애플리케이션의 취약성 평가에 대한 결과정보를 제공하는 단계를 더 포함할 수 있다.And providing the result information on the vulnerability evaluation of the application based on at least one of the API for which the degree of access to the exclusive information is determined and the API for which the security vulnerability of the application is evaluated.
여기서, 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중 적어도 하나에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도 및 해당 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출하는 단계를 더 포함할 수 있다.Here, the method may further include calculating a degree of access to the exclusive information for at least one API used in at least one of malicious application and normal application, and degree of vulnerability evaluating security vulnerability of the application can do.
그리고, 상기 배타적 정보에의 접근 정도를 결정하는 단계는, 상기 평가 대상인 애플리케이션에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도가 상기 산출된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도 중 어느 값에 가까운지를 판단하는 단계를 포함할 수 있다.The step of determining the degree of access to the exclusive information may include determining whether the degree of access to the exclusive information for at least one API used in the evaluation target application satisfies the calculated malicious behavior, And the degree of access to the exclusive information with respect to at least one API to be used among the plurality of APIs.
여기서, 상기 애플리케이션의 보안 취약성을 평가하는 단계는, 상기 평가 대상인 애플리케이션의 보안 취약성을 평가한 취약성정도가 상기 산출된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 보안 취약성을 평가한 취약성정도 중 어느 값에 가까운지를 판단하는 단계를 포함할 수 있다.The step of evaluating the security vulnerability of the application may include evaluating the security vulnerability of the application to be evaluated based on the calculated malicious behavior and the vulnerability evaluating security vulnerability Value of the input signal.
그리고, 상기 API의 특성정보는 상기 API의 패키지, 클래스, 명칭, 파라미터의 형태, 리턴값, 설명 중 적어도 하나를 포함할 수 있다.The property information of the API may include at least one of a package, a class, a name, a parameter type, a return value, and a description of the API.
여기서, 상기 배타적 정보에의 접근 정도가 결정된 API는 개인 및 단체 중 적어도 하나의 정보 및 권리 중 적어도 하나를 침해할 가능성이 있는 API를 포함할 수 있다.Here, the API for which the degree of access to the exclusive information is determined may include an API that may infringe at least one of information and rights of at least one of an individual and a group.
한편, 상기 본 발명의 해결과제를 달성하기 위한 애플리케이션의 보안 취약성 평가기기는, 애플리케이션에 대한 데이터를 수신할 수 있는 통신부와; 평가 대상인 상기 애플리케이션에 사용되는 적어도 하나의 API (APPLICATION PROGRAMING INTERFACE)를 결정하며, 상기 결정된API의 특성정보에 기초하여 상기 API 에 대한 배타적 정보에의 접근 정도를 결정하고, 상기 결정된API의 배타적 정보에의 접근 정도에 기초하여 상기 애플리케이션의 보안 취약성을 평가하는 제어부를 포함하는 애플리케이션의 보안 취약성 평가기기에 의해 달성된다.According to another aspect of the present invention, there is provided an apparatus for evaluating vulnerability of an application, comprising: a communication unit capable of receiving data on an application; Determining at least one APPLICATION PROGRAMING INTERFACE used for the application to be evaluated, determining an access degree to the exclusive information for the API based on the determined property information of the API, And evaluating a security vulnerability of the application based on the degree of access of the application.
여기서, 상기 제어부는 네트워크로부터 상기 사용되는 적어도 하나의 API에 대응하는 특성정보를 획득하도록 상기 통신부를 제어할 수 있다.Here, the control unit may control the communication unit to acquire characteristic information corresponding to the at least one API used from the network.
그리고, 상기 제어부는 상기 API의 특성정보 중 상기 사용되는 적어도 하나의 API의 명칭에 포함되어 있는 단어에 대한 확률을 이용하여 상기 배타적 정보에의 접근 정도를 산출할 수 있다.The control unit may calculate a degree of access to the exclusive information by using a probability of a word included in the name of the at least one API among the property information of the API.
여기서, 상기 제어부는 상기 API의 특성정보 중 상기 배타적 정보에의 접근 정도가 결정된 API의 명칭에 대한 확률을 이용하여 상기 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출할 수 있다.Here, the control unit may calculate the degree of vulnerability that evaluates the security vulnerability of the application using the probability of the name of the API for which the degree of access to the exclusive information among the characteristic information of the API is determined.
그리고, 상기 애플리케이션의 취약성 평가에 대한 결과정보를 표시하는 디스플레이부를 더 포함하고, 상기 제어부는 상기 배타적 정보에의 접근 정도가 결정된 API 및 상기 애플리케이션의 보안 취약성이 평가된 API 중 적어도 하나에 기초하여 상기 애플리케이션의 취약성 평가에 대한 결과정보를 제공하도록 상기 디스플레이부를 제어할 수 있다.And a display unit for displaying result information on the vulnerability evaluation of the application, wherein the control unit is configured to display the result of the vulnerability evaluation based on at least one of the API for which the degree of access to the exclusive information is determined and the API for which the security vulnerability of the application is evaluated, The display unit can be controlled to provide the result information on the vulnerability evaluation of the application.
여기서, 상기 제어부는 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중 적어도 하나에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도 및 해당 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출할 수 있다.Here, the control unit may calculate a degree of access to the exclusive information of at least one API used in at least one of an application that performs a malicious action and an application that performs a normal action, and a degree of vulnerability that evaluates a security vulnerability of the application have.
그리고, 상기 산출된 상기 배타적 정보에의 접근 정도 및 취약성정도를 저장하는 저장부를 더 포함하고, 상기 제어부는 상기 평가 대상인 애플리케이션에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도가 산출되어 상기 저장부에 저장된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도 중 어느 값에 가까운지를 판단할 수 있다.The control unit may further include a storage unit that stores the degree of access to the exclusive information and the degree of vulnerability, and the control unit calculates the degree of access to the exclusive information for at least one API used in the application to be evaluated A degree of access to the exclusive information for at least one API used in an application for malicious activity stored in the storage unit and an application for performing a normal operation.
여기서, 상기 산출된 상기 배타적 정보에의 접근 정도 및 취약성정도를 저장하는 저장부를 더 포함하고, 상기 제어부는 상기 평가 대상인 애플리케이션의 보안 취약성을 평가한 취약성정도가 산출되어 상기 저장부에 저장된 상기 산출된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 보안 취약성을 평가한 취약성정도 중 어느 값에 가까운지를 판단할 수 있다.The control unit may further include a storage unit that stores the degree of access to the calculated exclusive information and the degree of vulnerability, and the control unit calculates a degree of vulnerability of the vulnerability of the application to be evaluated, It is possible to determine which of the malicious application and the malicious application is vulnerable to the security vulnerability.
그리고, 상기 API의 특성정보는 상기 API의 패키지, 클래스, 명칭, 파라미터의 형태, 리턴값, 설명 중 적어도 하나를 포함할 수 있다.The property information of the API may include at least one of a package, a class, a name, a parameter type, a return value, and a description of the API.
여기서, 상기 배타적 정보에의 접근 정도가 결정된 API는 개인 및 단체 중 적어도 하나의 정보 및 권리 중 적어도 하나를 침해할 가능성이 있는 API를 포함할 수 있다.Here, the API for which the degree of access to the exclusive information is determined may include an API that may infringe at least one of information and rights of at least one of an individual and a group.
본 발명에 의하면, 애플리케이션에서 사용되는 API(APPLICATION PROGRAMING INTERFACE)는 항상 명확하게 분석할 수 있으므로 이에 대한 분석에 기초하여 애플리케이션의 정량적 수치를 제공해 줌으로써 애플리케이션의 보안 취약성에 대한 객관적인 데이터를 제공할 수 있는 효과가 있다.According to the present invention, APPLICATION PROGRAMING INTERFACE (APPLICATION PROGRAMING INTERFACE) used in an application can always be analyzed clearly. Therefore, it is possible to provide objective data on the security vulnerability of an application by providing a quantitative value of the application based on the analysis .
도 1은 본 발명에 따른 평가기기의 구성을 나타내는 블록도이며,
도 2는 본 발명의 일 실시 예에 따른 평가기기의 구성을 나타내는 블록도이고,
도3 은 본 발명에 따른 평가기기의 애플리케이션의 보안 취약성 평가방법을 나타내는 제어흐름도이며,
도 4 는 본 발명의 일 실시 예에 따른 평가기기의 애플리케이션의 보안 취약성 평가방법을 나타내는 제어흐름도이고,
도 5는 본 발명의 일 실시 예에 따른 평가기기를 나타내는 개략도이며,
도 6은 본 발명의 다른 실시 예에 따른 평가기기를 구체적으로 나타내는 개략구조도이고,
도 7은 본 발명의 다른 실시 예에 따른 평가기기의 평가방법에 대하여 전체적인 순서흐름을 나타내는 제어흐름도이며,
도 8과 9는 본 발명의 다른 실시 예에 따른 평가기기에서 나이브 베이즈 분류 (Naive Bayes Classification) 공식을 이용하여 API에 대한 조건부 확률을 나타내는 예시표이다.1 is a block diagram showing the configuration of an evaluation device according to the present invention,
2 is a block diagram showing a configuration of an evaluation device according to an embodiment of the present invention,
3 is a control flowchart showing a security vulnerability evaluation method of an application of an evaluation device according to the present invention,
4 is a control flowchart showing a security vulnerability evaluation method of an application of an evaluation device according to an embodiment of the present invention,
5 is a schematic diagram showing an evaluation device according to an embodiment of the present invention,
FIG. 6 is a schematic structure diagram specifically showing an evaluation device according to another embodiment of the present invention,
7 is a control flowchart showing an overall flow of an evaluation method of an evaluation device according to another embodiment of the present invention,
8 and 9 are exemplary tables showing the conditional probabilities for the API using the Naive Bayes Classification formula in the evaluation device according to another embodiment of the present invention.
이하에서는 첨부한 도면을 참조하여 본 발명에 대해 상세히 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 평가기기(10)의 구성을 나타내는 블록도이다. 본 발명에 따른 평가기기(10)는 통신부(110)와 제어부(100)를 포함할 수 있다.1 is a block diagram showing a configuration of an
통신부(110)는 외부입력에 의한 신호를 수신하여 제어부(100)에 전달할 수 있다. 통신부(110)는 다양한 외부입력 케이블이 접속됨으로써 해당 외부입력으로부터의 신호를 유선으로 수신하며, 또는 무선으로 수신되는 신호를 미리 정해진 무선통신규격에 따라서 수신할 수 있다.The
통신부(110)는 각 케이블이 개별적으로 접속되는 복수의 커넥터(미도시)를 포함할 수 있다. 통신부(110)는 접속된 외부입력으로부터의 신호, 예를 들면 HDMI, USB, 컴포넌트(component) 규격에 따른 방송신호, 영상신호, 데이터신호 등을 수신하거나, 또는 통신 네트워크를 통한 통신데이터를 수신할 수 있다.The
통신부(110)는 외부입력으로부터의 신호/데이터를 수신하는 구성뿐 아니라, 평가기기(10)의 설계 방식에 따라서, 무선 통신을 위한 무선통신모듈(미도시)이나 방송신호의 튜닝을 위한 튜너(미도시)와 같은 다양한 부가적인 구성을 더 포함할 수 있다. 통신부(110)는 외부장치로부터 신호를 수신하는 것 이외에도, 평가기기(10)의 정보/데이터/신호를 외부장치에 전송할 수도 있다. 즉, 통신부(110)는 외부장치로 신호를 수신하는 구성으로만 한정할 수 없으며, 양방향 통신이 가능한 인터페이스(interface)로 구현될 수 있다. 통신부(110)는 복수의 제어장치로부터 UI를 선택하기 위한 제어신호를 수신할 수 있다. 통신부(110)는 블루투스(Bluetooth), IR(Infrared), UWB(Ultra Wideband), 지그비(Zigbee) 등 공지의 근거리 무선통신을 위한 통신모듈로 구성될 수 있으며, 유선통신을 위한 공지의 통신포트로 구성될 수도 있다. 통신부(110)는 UI를 선택하기 위한 제어신호 이외에, 디스플레이의 조작을 위한 명령, 데이터의 송수신 등 다양한 목적으로 활용될 수 있다. 통신부(110)는 애플리케이션에 대한 데이터를 수신할 수 있다.The
제어부(100)는 평가 대상인 상기 애플리케이션에 사용되는 적어도 하나의 API (APPLICATION PROGRAMING INTERFACE)를 결정하며, 결정된API의 특성정보에 기초하여 API 에 대한 배타적 정보에의 접근 정도를 결정하고, 결정된API의 배타적 정보에의 접근 정도에 기초하여 애플리케이션의 보안 취약성을 평가할 수 있다.The
도 2는 본 발명의 일 실시 예에 따른 평가기기(10)의 구성을 나타내는 블록도이다. 본 발명의 일 실시 예에 따른 평가기기(10)는 도 1의 구성을 포함할 수 있으며, 추가로 영상처리부(120), 디스플레이부(130), 사용자입력부(140), 저장부(150), 촬상부(160), UI생성부(170)를 포함할 수 있다.2 is a block diagram showing a configuration of an
영상처리부(120)가 수행하는 영상처리 프로세스의 종류는 한정되지 않으며, 예를 들면 소정 신호를 각 특성별 신호로 분배하는 디멀티플렉싱(de-multiplexing), 영상신호의 영상 포맷에 대응하는 디코딩(decoding), 인터레이스(interlace) 방식의 영상신호를 프로그레시브(progressive) 방식으로 변환하는 디인터레이싱(de-interlacing), 영상 화질 개선을 위한 노이즈 감소(noise reduction), 디테일 강화(detail enhancement), 프레임 리프레시 레이트(frame refresh rate) 변환 등을 포함할 수 있으며, 인코딩된 소스영상의 영상 포맷에 대응하여 소스 영상을 디코딩하는 디코더(미도시) 및 디코딩된 소스영상을 프레임단위로 저장하는 프레임버퍼(미도시)를 포함할 수 있다.The type of the image processing process performed by the
영상처리부(120)는 이러한 여러 기능을 통합시킨 SOC(system-on-chip), 또는 이러한 각 프로세스를 독자적으로 수행할 수 있는 개별적인 구성들이 인쇄회로기판 상에 장착됨으로써 영상처리보드(미도시)로 구현되어 평가기기(10)에 내장될 수 있다.The
영상처리부(120)는 통신부(110)로부터 수신되는 영상신호를 포함하는 방송신호 및 영상공급원(미도시)으로부터 제공받은 영상신호를 포함하는 소스영상에 대해 기 설정된 다양한 영상처리 프로세스를 수행한다. 영상처리부(120)는 이러한 프로세스가 수행된 영상신호를 디스플레이부(130)에 출력함으로써, 디스플레이부(130)에 처리된 소스영상이 표시될 수 있다.The
디스플레이부(130)는 영상처리부(120)로부터 출력되는 영상신호에 기초하여 영상을 표시할 수 있다. 디스플레이부(130)의 구현 방식은 한정되지 않는 바, 액정(liquid crystal), 플라즈마(plasma), 발광 다이오드(light-emitting diode), 유기발광 다이오드(organic light-emitting diode), 면전도 전자총(surface-conduction electron-emitter), 탄소 나노 튜브(carbon nano-tube), 나노 크리스탈(nano-crystal) 등의 다양한 디스플레이 방식으로 구현될 수 있다.The
디스플레이부(130)는 그 구현 방식에 따라서 부가적인 구성을 추가적으로 포함할 수 있다. 예를 들면, 디스플레이부(130)가 액정 방식인 경우, 디스플레이 액정 디스플레이 패널(미도시)과, 이에 광을 공급하는 백라이트유닛(미도시)과, 패널(미도시)을 구동시키는 패널구동기판(미도시)을 포함할 수 있다.The
디스플레이부(130)는 영상처리부(120)에 의해 처리된 영상신호에 기초하여 영상을 표시한다. 디스플레이부(130)가 영상을 표시하는 방식에는 제한이 없으나, LCD, PDP, OLED 등의 방식을 포함한다. 이 경우, 디스플레이부(130)는 LCD패널, PDP패널, OLED패널 등을 포함할 수 있다.The
디스플레이부(130)는 영상 및 색보정 과정을 표시할 수 있다. 디스플레이부(130)는 영상이 표시되는 디스플레이패널과 입력되는 영상신호를 처리하여 디스플레이패널에 영상이 표시되게 하는 패널구동부를 포함할 수 있으며, 자세한 구현 방식에 있어 한정되지 않는다. 인터페이스를 통해 외부의 입력소스로부터 수신된 영상신호는 디코딩(decoding), 디인터레이싱(deinterlacing), 스케일링(scaling) 등의 영상 처리 과정을 거쳐 디스플레이부(130)에 표시될 수 있다. 사용자의 명령에 따라, 후술할 제어부가 색보정을 수행하는 경우, 디스플레이부(130)에는 컬러 패치와 색보정 상태 창 등을 포함한 색보정 과정이 표시될 수 있다. 디스플레이부(130)는 애플리케이션의 취약성 평가에 대한 결과정보를 표시할 수 있다.The
사용자입력부(140)는 사용자의 조작 및 입력에 따라서 기 설정된 다양한 제어 커맨드 또는 정보를 제어부(100)에 전달할 수 있다. 사용자입력부(140)는 평가기기(10) 외측에 설치된 메뉴 키(menu-key) 또는 입력 패널(panel)이나, 평가기기(10)와 분리 이격된 리모트 컨트롤러(remote controller) 등으로 구현될 수 있다. 또는, 사용자입력부(140)는 디스플레이부(130)와 일체형으로 구현될 수 있는 바, 디스플레이부(130)가 터치스크린(touch-screen)인 경우에 사용자는 디스플레이부(130)에 표시된 입력메뉴(미도시)를 터치함으로써 기 설정된 커맨드를 제어부(100)에 전달할 수 있다.The
사용자입력부(140)는 사용자의 모션 및 음성을 수신할 수 있다. 사용자의 모션은 터치입력을 포함할 수 있다. 사용자입력부(140)는 사용자의 모션 및 음성을 직접 수신할 수도 있고, 혹은 사용자의 모션 및 음성에 관한 정보를 외부장치로부터 수신할 수도 있다.The
저장부(150)는 평가기기(10)에 전원이 차단되더라도 데이터들이 남아있어야 하며, 사용자의 변동 사항을 반영할 수 있도록 쓰기 가능한 비휘발성 메모리(Writable ROM)로 마련되는 것이 바람직하다. 즉, 저장부(150)는 플래쉬 메모리(Flash Memory) 또는 EPROM 또는 EEPROM 중 어느 하나로 마련될 수 있다. 저장부(150)는 산출된 상기 배타적 정보에의 접근 정도 및 취약성정도를 저장할 수 있다.Preferably, the
촬상부(160)는 카메라로 마련되어 외부를 촬상하여 제어부(100)의 제어에 의해 저장부(150)에 저장할 수 있다.The
UI생성부(170)는 실행되는 응용프로그램을 동작하기 위한 UI를 생성할 수 있다. 생성되는 UI는 아이콘, 텍스트 등의 형태로 제공되는 복수의 서브 UI를 포함하며, 사용자가 평가기기(10)를 통해 특정 서브UI를 선택하면 선택된 서브UI에 대응하여 응용프로그램이 동작될 수 있다. 즉, 각각의 서브UI는 평가기기(10)에서 실행 중인 응용프로그램을 동작할 수 있는 복수의 기능 또는 이벤트 단위로 생성될 수 있다.The
UI생성부(170)는 디스플레이부(130)에 표시되는 UI를 생성하고 제어하는 소프트웨어 또는 하드웨어 적 기능을 의미하는 것으로, 제어부(100)에 의해 그 기능이 수행될 수 있을 것이다. 다시 말하면, UI생성부(170)가 별도의 칩셋으로 구성되거나, 별도의 마이크로프로세서에 의해 구현될 수도 있다.The
API의 특성정보는 API의 패키지, 클래스, 명칭, 파라미터의 형태, 리턴값, 설명 중 적어도 하나를 포함할 수 있다.The property information of the API may include at least one of a package, a class, a name, a parameter type, a return value, and a description of the API.
배타적 정보에의 접근 정도가 결정된 API는 개인 및 단체 중 적어도 하나의 정보 및 권리 중 적어도 하나를 침해할 가능성이 있는 API를 포함할 수 있다.An API for which the degree of access to exclusive information is determined may include an API that may infringe at least one of the information and rights of at least one of an individual and a group.
제어부(100)는 네트워크로부터 애플리케이션에 사용되는 적어도 하나의 API에 대응하는 특성정보를 획득하도록 통신부(110)를 제어할 수 있다. 제어부(100)는 네트워크를 무작위로 검색하여 애플리케이션에 사용되는 적어도 하나의 API에 대응하는 특성정보를 획득하여 계속적으로 업데이트를 할 수 있다.The
제어부(100)는 API의 특성정보 중 사용되는 적어도 하나의 API의 명칭에 포함되어 있는 단어에 대한 확률을 이용하여 배타적 정보에의 접근 정도를 산출할 수 있다. The
제어부(100)는 API의 특성정보 중 상기 배타적 정보에의 접근 정도가 결정된 API의 명칭에 대한 확률을 이용하여 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출할 수 있다.The
제어부(100)는 배타적 정보에의 접근 정도가 결정된 API 및 애플리케이션의 보안 취약성이 평가된 API 중 적어도 하나에 기초하여 애플리케이션의 취약성 평가에 대한 결과정보를 제공하도록 디스플레이부(130)를 제어할 수 있다.The
제어부(100)는 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중 적어도 하나에서 사용되는 적어도 하나의 API에 대한 배타적 정보에의 접근 정도 및 해당 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출할 수 있다.The
제어부(100)는 평가 대상인 애플리케이션에서 사용되는 적어도 하나의 API에 대한 배타적 정보에의 접근 정도가 산출되어 저장부(150)에 저장된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 사용되는 적어도 하나의 API에 대한 배타적 정보에의 접근 정도 중 어느 값에 가까운지를 판단할 수 있다. The
제어부(100)는 평가 대상인 애플리케이션의 보안 취약성을 평가한 취약성정도가 산출되어 저장부(150에 저장된 산출된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 보안 취약성을 평가한 취약성정도 중 어느 값에 가까운지를 판단할 수 있다.The
도3 은 본 발명에 따른 평가기기(10)의 애플리케이션의 보안 취약성 평가방법을 나타내는 제어흐름도이다.3 is a control flowchart showing a security vulnerability evaluation method of an application of the
평가 대상인 애플리케이션에 사용되는 적어도 하나의 API (APPLICATION PROGRAMING INTERFACE)를 결정한다(S11).(APPLICATION PROGRAMING INTERFACE) to be used in the evaluation target application (S11).
결정된API의 특성정보에 기초하여 API 에 대한 배타적 정보에의 접근 정도를 결정한다(S12).The degree of access to the exclusive information on the API is determined based on the determined property information of the API (S12).
결정된API의 배타적 정보에의 접근 정도에 기초하여 애플리케이션의 보안 취약성을 평가한다(S13).The security vulnerability of the application is evaluated based on the degree of access to the determined exclusive information of the API (S13).
도 4 는 본 발명의 일 실시 예에 따른 평가기기(10)의 애플리케이션의 보안 취약성 평가방법을 나타내는 제어흐름도이다.4 is a control flowchart showing a security vulnerability evaluation method of an application of the
네트워크로부터 사용되는 적어도 하나의 API에 대응하는 특성정보를 획득한다(S21). 접근 가능한 복수의 주소에 공개되어 있는 API를 지속적으로 수집하여 저장할 수 있고 업데이트할 수 있다. 공개되어 있지 않는 API는 수신할 수도 있다.And acquires characteristic information corresponding to at least one API used from the network (S21). It is possible to continuously collect, store, and update APIs that are open to multiple accessible addresses. Unpublished APIs may be received.
악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중 적어도 하나에서 사용되는 적어도 하나의 API에 대한 배타적 정보에의 접근 정도 및 해당 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출한다(S22). 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중 적어도 하나에서 사용되는 적어도 하나의 API의 명칭 및 명칭에 포함되어 있는 단어에 대한 확률을 이용하여 배타적 정보에의 접근 정도 및 해당 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출한다.The degree of access to the exclusive information for at least one API used in at least one of the malicious application and the malicious application and the degree of vulnerability evaluating the vulnerability of the application are calculated (S22). Evaluating the degree of access to the exclusive information and the security vulnerability of the application using the probability of the word contained in the name and the name of at least one API used in at least one of malicious application and normal application The degree of vulnerability is calculated.
평가 대상인 애플리케이션을 수신하면, 평가 대상인 애플리케이션에 사용되는 적어도 하나의 API (APPLICATION PROGRAMING INTERFACE)를 결정한다(S23).Upon receiving the application to be evaluated, at least one application programming interface (API) used for the application to be evaluated is determined (S23).
API의 특성정보 중 사용되는 적어도 하나의 API의 명칭에 포함되어 있는 단어에 대한 확률을 이용하여 배타적 정보에의 접근 정도를 산출한다(S24).The degree of access to the exclusive information is calculated using the probability of a word included in the name of at least one API used in the characteristic information of the API (S24).
평가 대상인 애플리케이션에서 사용되는 적어도 하나의 API에 대한 배타적 정보에의 접근 정도가 산출된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 사용되는 적어도 하나의 API에 대한 배타적 정보에의 접근 정도 중 어느 값에 가까운지를 판단한다(S25).A degree of access to exclusive information for at least one API used in an application to be evaluated and a degree of access to exclusive information for at least one API used for an application that performs malicious action and an application that performs a normal action (S25).
API의 특성정보 중 배타적 정보에의 접근 정도가 결정된 API의 명칭에 대한 확률을 이용하여 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출한다(S26).The degree of vulnerability evaluating the security vulnerability of the application is calculated using the probability of the name of the API for which the degree of access to the exclusive information is determined in the characteristic information of the API (S26).
평가 대상인 애플리케이션의 보안 취약성을 평가한 취약성정도가 산출된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 보안 취약성을 평가한 취약성정도 중 어느 값에 가까운지를 판단한다(S27).(S27) whether the degree of the vulnerability evaluating the security vulnerability of the application to be evaluated is close to the calculated value of the calculated malicious behavior and the vulnerability evaluating the security vulnerability among the applications performing the normal operation.
배타적 정보에의 접근 정도가 결정된 API 및 애플리케이션의 보안 취약성이 평가된 API 중 적어도 하나에 기초하여 애플리케이션의 보안 취약성 평가에 대한 결과정보를 제공한다(S28).And provides the result information on the vulnerability assessment of the application based on at least one of the API for which the degree of access to the exclusive information is determined and the API for which the vulnerability of the application is evaluated (S28).
도 5는 본 발명의 일 실시 예에 따른 평가기기(10)를 나타내는 개략도이다.5 is a schematic diagram showing an
도 5의 평가기기(10)는 보안적 취약성의 검증을 원하는 모바일 애플리케이션을 검증 및 평가하여 생성된 데이터를 이용하여 애플리케이션 취약성 평가 수치를 제공할 수 있다. 도 5의 평가기기(10)는 API학습기(200), API검증기(210), 데이터베이스(230) 및 실시간 API정보수집기(220)를 포함할 수 있다.The evaluating
데이터베이스(230)는 프레임워크가 제공하는 API 특성정보를 기반으로 한 API 데이터베이스와 API 가 배타적 정보에 접근 가능한지 아닌지에 대해 저장하고 있는 Sensitive API 데이터베이스와, 악성행위의 API Dataset을 저장하고 있는 API Dataset Database로 구성할 수 있다. 데이터베이스(230)는 도 2의 저장부(150)에 대응할 수 있다.The
실시간 API정보수집기(220)는 모바일 플랫폼 등의 참조 가능한 웹 페이지로부터 API 특성 정보를 획득할 수 있다. 획득한 API 특성 정보를 이용하여 데이터 구조를 생성하고 API 데이터베이스를 구성할 수 있다. 실시간 API정보수집기(220)는 도 2의 통신부(110)와 제어부(100)에 대응할 수 있다.The real-time
API학습기(200)는 학습 대상인 애플리케이션을 기반으로 API를 추출하여 API 특성정보와 Dataset을 이용하여 애플리케이션의 보안 취약성 평가방법으로 학습할 수 있다. 학습 후 Sensitive API 와 API Dataset 데이터베이스를 생성할 수 있다. API학습기(200)는 제어부(100)에 대응할 수 있다.The
API검증기(210)는 검증 대상의 애플리케이션을 수신하고 Sensitive API 데이터베이스와 API Dataset의 데이터 베이스를 이용하여 수신된 애플리케이션을 검증할 수 있다. API검증기(210)는 제어부(100)에 대응할 수 있다.The
도 6은 본 발명의 다른 실시 예에 따른 평가기기(10)를 구체적으로 나타내는 개략구조도이다.FIG. 6 is a schematic structural diagram specifically showing an
도 6에서는 도 5의 구성을 자세하게 나타내고 있다. Fig. 6 shows the configuration of Fig. 5 in detail.
데이터베이스(230)는 API데이터베이스(232), Sensitive API 데이터베이스(234) 및 API Dataset(236)를 포함할 수 있다. The
API데이터베이스(232)는 프레임워크에서 제공하는 API에 대한 정보에 대한 내용을 제어부(100)의 제어에 의해 수집하고 데이터 베이스를 구성할 수 있다. API데이터베이스(232)에는 API 각각이 속하는 패키지명, 클래스명, API 메소드명, 파라미터, 리턴값, 해당 API의 디스크립션과 같은 API의 특성 정보를 가지고 있을 수 있다.The
Sensitive API 데이터베이스(234)는 API 특성 분류 모듈(204)로부터 머신러닝 알고리즘(애플리케이션의 보안 취약성 평가방법)을 통해 학습된 배타적 정보에 접근 가능한 API들의 데이터베이스이다. 학습 후 데이터를 저장하고 프레임워크 상에서 제공하고 있는 API 각각이 배타적 정보에 접근 가능한지 아닌지에 대한 정보를 저장할 수 있다.
API Dataset(236)는 API Dataset 분류 모듈(206)로부터 Sensitive API의 학습 후 데이터를 저장하고 있는 데이터베이스일 수 있다.The
실시간 API정보수집기(220)는 웹파싱모듈(222), 데이터 구조 생성모듈(224) 및 데이터 관리모듈(226)을 포함할 수 있다. The real-time
웹파싱모듈(222)은 참조사이트로부터 API 특성정보의 데이터를 실시간으로 획득할 수 있다. 참조사이트는 API 특성정보로 구성되어 있을 수 있으며 웹파싱모듈(222)은 HTML, XML등의 태그로 구성되어 있을 수 있는 웹 데이터를 파싱하여 필요한 API 특성정보만을 획득할 수 있다.The
데이터 구조 생성모듈(224)은 웹파싱모듈(222)에서 생성된 API 특성정보를 이용하여 데이터 구조를 생성할 수 있다.The data
데이터 관리모듈(226)은 데이터 구조 생성모듈(224)에서 생성된 데이터 구조를 이용하여 API데이터베이스(232)를 생성할 수 있다.The
API학습기(200)는 애플리케이션 입력모듈(202), API 특성 분류 모듈(204), API Dataset 분류 모듈(206) 및 데이터 관리 모듈(208)를 포함할 수 있다.The
애플리케이션 입력모듈(202)은 학습대상으로 선정된 애플리케이션을 수신한다. 학습대상으로 선정된 애플리케이션은 악성행위를 하는 애플리케이션과 정상적으로 일반 작업을 수행하는 애플리케이션이다. 애플리케이션 입력모듈(202)은 상기 두 애플리케이션(악성행위, 일반행위 애플리케이션)을 수신하여 각각의 애플리케이션에서 사용하는 API를 추출할 수 있다. 추출 후 학습을 위한 데이터 구조를 생성할 수 있다.The
API 특성 분류 모듈(204)은 상기 애플리케이션 입력모듈(202)에서 생성한 데이터 구조를 기반으로 배타적 정보에의 접근 가능한 API 의 여부를 머신러닝 알고리즘을 이용해 학습할 수 있다. 머신러닝 알고리즘을 이용한 학습 시 API 데이터베이스(232)의 정보를 활용할 수 있는데 API 데이터베이스(232)의 패키지, 클래스, API 이름, 디스크립션과 같은 API 특성을 이용할 수 있다.The API
API Dataset 분류 모듈(206)은 애플리케이션 입력 모듈(202)에서 생성된 데이터 구조와 Sensitive API 데이터베이스(234)를 이용하여 머신러닝 알고리즘을 통해 Dataset을 학습한다. Dataset 분류 시 학습대상으로 선정된 애플리케이션이 사용하고 있는 배타적 정보에의 접근 가능한 API중 어떤 API를 사용하고 있는 지를 학습 소스로 사용하고 학습 후 데이터를 생성할 수 있다.The API
데이터 관리 모듈(208)은 데이터베이스를 생성하고 데이터베이스 내용을 조회하는 등의 데이터 베이스를 관리하는 역할을 할 수 있다. API 특성 분류모듈(204)과 API Dataset 분류모듈(206)로부터 학습된 데이터를 기반으로 데이터베이스를 생성할 수 있다. 다른 모듈의 요청에 따라 특정 데이터베이스를 조회할 수도 있다. API 검증기(210)와 API 학습기(200) 사이의 중간자 역할을 할 수 있다.The
API검증기(210)는 애플리케이션 입력모듈(211), API 특성 검증 모듈(213), API Dataset 검증 모듈(214), 데이터 관리 모듈(215) 및 결과 출력 모듈(212)을 포함할 수 있다.The
애플리케이션 입력모듈(211)은 검증대상의 애플리케이션을 수신하여 사용하고 있는 API를 추출하여 데이터 구조를 생성할 수 있다.The
API 특성 검증 모듈(213)은 API 특성 분류 모듈(204)을 통해 학습된 데이터가 저장되어있는 Sensitive API 데이터베이스(234)에서 데이터를 조회해 검증 대상의 애플리케이션이 사용하고 있는 배타적 정보에 접근 가능한 API를 검증한다. 검증 완료 후 배타적 정보에 접근 가능한 API 인지의 여부와 해당 API의 특성정보(패키지명, 클래스명, 메소드명, 디스크립션) 등의 결과 데이터를 생성할 수 있다.The API
API Dataset 검증 모듈(214)은 API Dataset 분류 모듈(206)을 통해 학습된 데이터가 저장되어 있는 API Dataset 데이터베이스(236)에서 데이터를 조회해 검증대상의 애플리케이션이 사용하고 있는 Dataset을 검증할 수 있다. 여기서 Dataset은 악성행위를 할 수 있는 API 의 그룹일 수 있다. 검증완료 후 배타적 정보에 접근 가능한 Dataset 인지의 결과 데이터를 생성할 수 있다.The API
데이터 관리 모듈(215)은 API 검증기(210) 상에서 데이터베이스와 통신 시 총괄하는 모듈이다. API 특성검증모듈(213), API Dataset 검증모듈(214), 결과출력모듈(212)에서 데이터베이스의 데이터를 조회 할 수 있도록 할 수 있다. API 학습기(200)와 API 검증기(210)의 중간 역할을 할 수 있다.The
결과 출력 모듈(212)은 API 특성 검증모듈(213)과, API Dataset 검증모듈(214)에서 생성된 결과데이터를 기반으로 정량적 취약성 측정치의 결과를 출력할 수 있다. 또한 검증대상 애플리케이션의 배타적 정보에 접근 가능하다고 검증된 API의 디스크립션 정보와 Dataset을 표시할 수 있다. 결과 출력 모듈(212)은 도 2의 디스플레이부(130)에 대응할 수 있다.The
도 7은 본 발명의 다른 실시 예에 따른 평가기기(10)의 평가방법에 대하여 전체적인 순서흐름을 나타내는 제어흐름도이다.FIG. 7 is a control flowchart showing the overall procedure flow for the evaluation method of the
레퍼런스 사이트로부터 API 특성정보의 데이터를 실시간으로 획득한다(S31).Data of the API characteristic information is acquired in real time from the reference site (S31).
HTML, XML등의 태그로 구성되어 있는 웹 데이터를 파싱하여 필요한 API 특성정보만을 획득한다(S32).HTML, XML, or the like, and acquires only necessary API property information (S32).
웹 파싱 모듈(222)에서 생성된 API 특성정보를 이용하여 데이터 구조를 생성한다(S33).The data structure is generated using the API characteristic information generated by the web parsing module 222 (S33).
데이터 구조 생성 모듈(224)에서 생성된 데이터 구조를 이용하여 API 데이터베이스(232)를 생성한다(S34).The
학습대상인 애플리케이션을 수신한다(S35). 학습대상으로 선정된 애플리케이션은 악성 행위를 하는 애플리케이션과 일반 작업을 수행하는 애플리케이션이다.The application to be learned is received (S35). Applications selected for learning are applications that perform malicious acts and applications that perform common tasks.
학습대상인 애플리케이션 상에서 사용하고 있는 API의 명칭 및 특성정보를 추출한다(S36).And extracts the name and characteristic information of the API used on the application to be learned (S36).
API 데이터베이스(232)에 저장하고 있는 API 정보를 이용하여 학습대상의 애플리케이션에서 추출한 API에 대응하는 학습 데이터를 생성하고 머신러닝 알고리즘을 통해 학습을 수행하며 API의 특성을 분류한다(S37).The learning data corresponding to the API extracted from the application to be learned is generated using the API information stored in the
학습을 통해 생성된 Sensitive API 데이터베이스(234)를 생성한다(S38).And generates a
Sensitive API 데이터베이스(234)에 있는 데이터와 학습대상의 애플리케이션 상에서 추출된 API를 이용하여 머신러닝 알고리즘을 통해 학습 후 API Dataset(236)를 생성한다(S39).The
학습된 데이터로 API Dataset(236)의 데이터베이스를 구성한다(S40).The database of the
검증 대상 애플리케이션을 수신한다(S41).The verification target application is received (S41).
검증 대상 애플리케이션으로부터 사용하고 있는 AP정보를 추출한다(S42).AP information used by the verification target application is extracted (S42).
검증 대상 애플리케이션이 사용하고 있는 배타적 정보에 접근 가능한 API를 검증한다(S43).The API that can access the exclusive information used by the verification target application is verified (S43).
검증 대상 애플리케이션이 사용하고 있는 악성행위의 Dataset을 검증한다(S44).The Dataset of the malicious action used by the verification target application is verified (S44).
API 특성 기반 검증과 API Dataset 기반 검증 상에서 생성된 결과데이터를 기반으로 사용된 배타적 정보에 접근 가능한 API 의 API 특성정보와 배타적 정보에 접근 가능한 API Dataset(236)의 여부를 제공하고 정량적 취약성 측정치의 결과를 출력한다(S45).Based on API property-based verification and API Dataset-based verification, it provides API property information of API which can access exclusive information used based on result data generated, and API Dataset (236) which can access exclusive information, and provides the result of quantitative vulnerability measurement (S45).
도 8과 9는 본 발명의 다른 실시 예에 따른 평가기기(10)에서 나이브 베이즈 분류 (Naive Bayes Classification) 공식을 이용하여 API에 대한 조건부 확률을 나타내는 예시표이다.8 and 9 are exemplary tables showing conditional probabilities for the API using the Naive Bayes Classification formula in the
나이브 베이즈 분류 (Naive Bayes Classification)는 나이브 베이즈 정리를 근거로 각 속성들의 확률을 파라미터로 하여 부류를 결정하는 기법이다. 나이브 베이즈 분류에서는 모든 속성 값은 서로 독립임을 가정하며 파라미터의 추정은 최대 우도 방법(Maximum Likelihood Estimation)을 사용한다.Naive Bayes Classification is a technique that determines the class based on the Naive Bayes theorem with the probability of each property as a parameter. In the Naive Bay classification, it is assumed that all attribute values are independent from each other, and the estimation of the parameters uses Maximum Likelihood Estimation.
[표 1]은 나이브 베이즈 분류의 공식을 나타내고 있으며 (1)은 나이브 베이즈 정리에 의해 특정 n개의 속성(x)이 있을 때 어떤 부류(c)일 확률을 공식으로 나타낸 것이다. (2)에서는 (1)의 공식의 각각이 무엇을 의미하는지 나타내고 있다. 사후 확률(Posterior), 관찰 값(Evidence), 우도(Likelihood), 사전 확률(Prior)을 나타내고 있다. (3)은 부류의 결과 선택을 나타낸 공식이며 나이브 베이즈 분류는 최대 우도 방법을 사용한다고 하였으므로 우도(Likelihood)값이 최대가 되는 부류를 결과 값으로 선택한다.Table 1 shows the formula for the Naive Bayes classification (1), which is a formula for the probability of a certain class (c) when there are n properties (x) by Naive Bayes theorem. (2) shows what each of the formulas in (1) means. Posterior, Evidence, Likelihood, and Prior (Prior). (3) is the formula for selecting the results of the class, and since the Naive Bay classification uses the maximum likelihood method, the class that maximizes the Likelihood value is selected as the result.
도 8은 API 학습기(200)의 API 특성 분류 모듈(204)이 머신러닝 알고리즘을 이용하기 위하여 각 부류 일 때 (배타적 정보에 접근 가능한 부류 혹은 일반 부류)일 때의 조건부 확률을 구한 것이다. 여기서, 조건부확률을 구하는 속성(x) 값은 API 특성정보 (API가 속한 패키지, 클래스, API의 이름, 파라미터의 형태, 리턴 값, API의 설명 등)값을 이용할 수 있다. 이후 해당 조건부 확률을 이용하여 API 데이터베이스 내의 API 들을 분류할 수 있다. 부류가 분류된 API를 이용하여 Sensitive API 데이터베이스(234)를 생성한다.FIG. 8 shows the conditional probability when the API
이를 테면 다음과 같이 조건부 확률을 구할 수 있다.For example, the conditional probability can be obtained as follows.
예제) API 데이터 베이스 내의 getLine1Number API 학습Example) Learning getLine1Number API in API database
1) API 특성정보 로딩 : getLine1Number API의 부류를 결정하기 위해 API 데이터 베이스로부터 해당 API의 특성정보를 로딩한다.1) Loading the API property information: getLine1Number Loads the property information of the API from the API database to determine the API class.
2) 전처리 : 특성정보는 위와 같으며 디스크립션의 경우 판단하는데 필요 없는 관사나 전치사 숫자등과 같은 부분(the,for,1)을 제외시킨다. API 이름과 패키지 이름 같은 경우 다수의 단어로 구성되어있을 경우 각 단어로 분리한다. 분리 후 디스크립션과 마찬가지로 필요 없는 부분을 제외시킨다. (getLine1Number => get + line + number)2) Preprocessing: The characteristics information is as above, and excludes the part (the, for, 1) such as article or preposition number which is not necessary to judge in case of description. If the API name and package name are composed of multiple words, separate them by each word. Remove the unnecessary parts as described after the detachment. (getLine1Number => get + line + number)
3) 벡터 구성 : 이후 특성 정보 등을 파싱하고 중복된 항목이 없도록 벡터를 구성한다.3) Vector configuration: Parses the characteristic information and constructs the vector so that there are no duplicated items.
{x1, x2, x3,…,x9} = {get, line, number, android, telephony, manager, returns, phone, string}{x1, x2, x3, ... , x9} = {get, line, number, android, telephony, manager, returns, phone, string}
4) 검증 : 해당 벡터를 머신러닝 알고리즘(여기서는 나이브 베이즈 분류를 사용)을 이용한다.4) Verification: Use the machine learning algorithm (using the Naive Bay classification in this case) for the vector in question.
(1) 해당 API가 배타적 정보에 접근 가능한 API에 속할 확률 (P(Sensitive API) = 0.5로 가정)(1) The probability that the API belongs to an API that can access exclusive information (assuming P (Sensitive API) = 0.5)
(2) 해당 API가 일반 API에 속할 확률(P(Normal API) = 0.5로 가정)(2) probability that the corresponding API belongs to the general API (assuming P (Normal API) = 0.5)
(1)의 가정에서 getLine1Number API 는 Sensitive API 일 확률이 0.000395136으로 Normal API 일 확률 0.00000504 일 확률보다 크므로 최대 우도 방법에 의하여 Sensitive API로 판단.(1), the probability of the getLine1Number API being a sensitive API is 0.000395136, which is greater than the probability of a normal API being 0.00000504, so it is judged as a Sensitive API by the maximum likelihood method.
5) Sensitive API 데이터베이스(234)에 입력 : 판단된 부류정보를 이용해 Sensitive API 데이터베이스(234)에 입력한다. 5)
6) Sensitive API 검증 : 입력받은 API 가 배타적 정보에 접근 가능한 API 인지 Sensitive API 데이터베이스(234)에 있는 내용을 이용해 판단한다. 6) Sensitive API verification: Judged using the contents in the
도 9는 API 학습기(200)의 API Dataset 분류 모듈(206)이 머신러닝 알고리즘을 이용하기 위하여 각 부류 일 때 (배타적 정보에 접근 가능한 Dataset 부류 혹은 일반 Dataset 부류)일 때의 조건부 확률을 구한 것이다. 이때 조건부확률을 구하는 속성(x) 값은 앞서 API 특성분류 과정을 통해 획득한 Sensitive API데이터베이스(234)로 구성한다. 이후 해당 조건부 확률을 이용하여 API Dataset 데이터 베이스(236)를 구성한다.9 shows the conditional probabilities when the API
API Dataset 데이터베이스(236)를 이용하여 API 검증기(210)의 API Dataset 검증모듈(214)은 머신러닝 알고리즘으로 입력받은 애플리케이션인지 배타적 정보에 접근 가능한 Dataset 을 포함하고 있는지 아닌지에 대한 판단을 한다.The API
이를 테면 다음과 같이 조건부 확률을 구할 수 있다.For example, the conditional probability can be obtained as follows.
예제) {getLine1Number, sendTextMessage, getDeviceID, moveToNext} Dataset 판단Example) {getLine1Number, sendTextMessage, getDeviceID, moveToNext} Dataset judgment
1) 애플리케이션 내 배타적 정보에 접근 가능한 API 추출 : 애플리케이션에서 사용하는 API 중 Sensitive API 데이터베이스(234)에 있는 배타적 정보에 접근 가능한 API 만을 추출 한다.1) Extraction of an API that can access exclusive information in the application: Extracts only the APIs that are accessible to the exclusive information in the
2) 벡터 구성 : 그 후 중복된 항목이 없도록 벡터를 구성한다.2) Vector composition: Then construct a vector so that there are no duplicated items.
{x1, x2....} = {getLine1Number, sendTextMessage, getDeviceID, movetoNext}{x1, x2 ....} = {getLine1Number, sendTextMessage, getDeviceID, movetoNext}
3) 검증 : 해당 벡터를 머신러닝 알고리즘(여기서는 나이브 베이즈 분류를 사용)을 이용한다.3) Verification: Use the machine learning algorithm (using the Naive Bay classification in this case) for that vector.
(1) 해당 Dataset이 Sensitive Dataset에 속할 확률 (P(Sensitive Dataset) = 0.5로 가정)(1) The probability that the corresponding dataset belongs to a sensitive dataset (assuming P (Sensitive Dataset) = 0.5)
(2) 해당 API가 Normal API에 속할 확률(P(Normal API) = 0.5로 가정)(2) The probability that the corresponding API belongs to the normal API (assuming P (Normal API) = 0.5)
(1)의 가정에서 {getLine1Number, sendTextMessage, getDeviceID, moveToNext} 는 Sensitive Dataset 일 확률이 0.0576으로 Normal Dataset 일 확률 0.0036 일 확률보다 큼으로 최대 우도 방법에 의하여 Sensitive Dataset로 판단한다.{GetLine1Number, sendTextMessage, getDeviceID, moveToNext} in the assumption of (1) is larger than the probability of Sensitive Dataset being 0.0576 and probability of Normal Dataset being 0.0036, and it is determined as Sensitive Dataset by the maximum likelihood method.
다음은 정량적 수치 결과를 나타내는 것이다.The following is a quantitative numerical result.
API 검증기(210)의 결과 출력 모듈(212)에서 앞서 검증된 값을 기반으로 정량적 수치 결과를 제공한다. Sensitive API와 Sensitive API Dataset의 부류 판단을 통한 사후 확률(Posterior) 값을 이용한다. 예를 들어 어떠한 애플리케이션 내에 {getLine1Number, sendTextMessage, getDeviceID,…, moveToNext}의 Dataset을 사용했다고 할 때 다음과 같은 사후 확률이 주어졌다고 가정하자.And provides a quantitative numerical result based on the previously verified value in the
또한 {getLine1Number, sendTextMessage, getDeviceID, … , moveToNext}의 Dataset의 사후 확률을 라고 할 수 있다. Also, {getLine1Number, sendTextMessage, getDeviceID, ... , moveToNext} Dataset's posterior probability .
이때 평가대상의 애플리케이션이 소유하고 있는 Sensitive API 사후확률과 Sensitive Dataset의 사후확률을 파라미터로 하는 어떤 특정한 연산에 의해 정량적 수치(Evaluation)를 제공할 수 있다.At this time, it is possible to provide the quantitative value Evaluation by a specific operation using the Sensitive API posterior probability possessed by the evaluation target application and the posterior probability of the Sensitive Dataset as a parameter.
애플리케이션은 사용자가 작성한 방법과 API의 흐름으로 구성된다고 할 수 있는데 사용자가 작성한 방법과 API를 사용하는 방법에 따라 특정 애플리케이션의 특성이나 기능이 정의될 수 있다. 이중 실제적인 기능을 나타내는 것은 API 이며 사용자가 작성한 방법 역시 최종적으로 API를 호출하며 기능적 특징을 나타낸다.An application can be said to consist of a user-created method and a flow of an API. The characteristics and functions of a specific application can be defined according to the method that the user has created and how to use the API. The actual function is the API and the user-created method finally calls the API and shows the functional characteristics.
상기의 평가기기(10)로 인하여, 프레임워크상에서 제공하는 API의 실시간으로 추출된 특성 정보를 이용하여 악성 애플리케이션에서 사용하는 API를 분석하고, 애플리케이션의 취약성을 머신러닝 알고리즘을 통해 정량적으로 평가할 수 있다. 애플리케이션을 검증하고 결과적으로 도출된 정량적 수치를 이용하여 현재 사용되고 있는 분석 대상의 애플리케이션을 검증할 수 있고 어떤 부분이 취약한지, 어떤 악성 행위를 할 수 있는지에 대한 정보의 획득이 가능하다. 또한, 실시간으로 추출된 특성정보를 이용하므로 최신 경향의 API 특성정보를 이용할 수 있으므로 API 구성변동이나 API 정보 변경에 쉽게 대응하여 최신버전의 모바일 플랫폼이더라도 항상 유효하게 해당 기법을 적용 할 수 있다.Due to the
지금까지 본 발명의 실시 예가 도시되고 설명되었지만, 본 발명이 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 실시 예를 변형할 수 있을 것이다. 따라서, 발명의 범위는 지금까지 설명된 실시 예로 정해지는 것이 아니라 첨부된 청구항과 그 균등물에 의해 정해질 것이다.While the embodiments of the present invention have been shown and described, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope or spirit of this invention. Accordingly, the scope of the present invention should not be construed as being limited to the embodiments described so far, but rather by the appended claims and their equivalents.
10 : 평가기기
100 : 제어부
110 : 통신부
120 : 영상처리부
130 : 디스플레이부
140 : 사용자입력부
150 : 저장부
160 : 촬상부
170 : UI생성부
200 : API학습기
210 : API검증기
220 : 실시간API정보수집기
230 : 데이터베이스10: Evaluation device 100:
110: communication unit 120: image processing unit
130: display unit 140: user input unit
150: storage unit 160:
170: UI generation unit 200: API learning device
210: API verifier 220: Real-time API information collector
230: Database
Claims (20)
평가 대상인 애플리케이션에 사용되는 적어도 하나의 API (APPLICATION PROGRAMING INTERFACE)를 결정하는 단계와;
상기 결정된API의 특성정보에 기초하여 상기 API 에 대한 배타적 정보에의 접근 정도를 결정하는 단계와;
상기 결정된API의 배타적 정보에의 접근 정도에 기초하여 상기 애플리케이션의 보안 취약성을 평가하는 단계를 포함하는 애플리케이션의 보안 취약성 평가방법.In an application security vulnerability assessment method,
Determining at least one APPLICATION PROGRAMING INTERFACE to be used in the application being evaluated;
Determining the degree of access to the exclusive information for the API based on the determined property information of the API;
And evaluating the security vulnerability of the application based on the determined degree of access to the exclusive information of the API.
네트워크로부터 상기 사용되는 적어도 하나의 API에 대응하는 특성정보를 획득하는 단계를 더 포함하는 애플리케이션의 보안 취약성 평가방법.The method according to claim 1,
Further comprising obtaining characteristic information corresponding to the at least one API used from the network.
상기 배타적 정보에의 접근 정도를 결정하는 단계는,
상기 API의 특성정보 중 상기 사용되는 적어도 하나의 API의 명칭에 포함되어 있는 단어에 대한 확률을 이용하여 상기 배타적 정보에의 접근 정도를 산출하는 단계를 포함하는 애플리케이션의 보안 취약성 평가방법.The method according to claim 1,
Wherein determining the degree of access to the exclusive information comprises:
And calculating a degree of access to the exclusive information by using a probability of a word included in a name of at least one API among the property information of the API.
상기 애플리케이션의 보안 취약성을 평가하는 단계는,
상기 API의 특성정보 중 상기 배타적 정보에의 접근 정도가 결정된 API의 명칭에 대한 확률을 이용하여 상기 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출하는 단계를 포함하는 애플리케이션의 보안 취약성 평가방법.The method according to claim 1,
Wherein evaluating the security vulnerability of the application comprises:
Calculating a degree of vulnerability of the application by evaluating a security vulnerability of the application using a probability of a name of an API for which an access degree to the exclusive information is determined among characteristics information of the API.
상기 배타적 정보에의 접근 정도가 결정된 API 및 상기 애플리케이션의 보안 취약성이 평가된 API 중 적어도 하나에 기초하여 상기 애플리케이션의 취약성 평가에 대한 결과정보를 제공하는 단계를 더 포함하는 애플리케이션의 보안 취약성 평가방법.The method according to claim 1,
And providing result information on the vulnerability evaluation of the application based on at least one of an API for which the degree of access to the exclusive information is determined and an API for which the vulnerability of the application is evaluated.
악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중 적어도 하나에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도 및 해당 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출하는 단계를 더 포함하는 애플리케이션의 보안 취약성 평가방법.The method according to claim 1,
Calculating an extent of access to said exclusive information for at least one API used in at least one of malicious and normal applications and the degree of vulnerability evaluating security vulnerabilities of said application, Security vulnerability assessment method.
상기 배타적 정보에의 접근 정도를 결정하는 단계는,
상기 평가 대상인 애플리케이션에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도가 상기 산출된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도 중 어느 값에 가까운지를 판단하는 단계를 포함하는 애플리케이션의 보안 취약성 평가방법.The method according to claim 6,
Wherein determining the degree of access to the exclusive information comprises:
Wherein the degree of access to the exclusive information for at least one API used in the application to be evaluated is less than the accessibility to the exclusive information for at least one API used in the application Of the security vulnerability of the application.
상기 애플리케이션의 보안 취약성을 평가하는 단계는,
상기 평가 대상인 애플리케이션의 보안 취약성을 평가한 취약성정도가 상기 산출된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 보안 취약성을 평가한 취약성정도 중 어느 값에 가까운지를 판단하는 단계를 포함하는 애플리케이션의 보안 취약성 평가방법.The method according to claim 6,
Wherein evaluating the security vulnerability of the application comprises:
Determining whether the degree of vulnerability evaluating the security vulnerability of the application to be evaluated is close to a value of the calculated malicious behavior and the degree of vulnerability evaluating security vulnerability among the applications performing normal operation; Vulnerability assessment method.
상기 API의 특성정보는 상기 API의 패키지, 클래스, 명칭, 파라미터의 형태, 리턴값, 설명 중 적어도 하나를 포함하는 애플리케이션의 보안 취약성 평가방법.The method according to claim 1,
Wherein the characteristic information of the API includes at least one of a package, a class, a name, a parameter type, a return value, and a description of the API.
상기 배타적 정보에의 접근 정도가 결정된 API는 개인 및 단체 중 적어도 하나의 정보 및 권리 중 적어도 하나를 침해할 가능성이 있는 API를 포함하는 애플리케이션의 보안 취약성 평가방법.The method according to claim 1,
Wherein the API whose degree of access to the exclusive information is determined includes an API that may infringe at least one of information and rights of at least one of an individual and a group.
애플리케이션에 대한 데이터를 수신할 수 있는 통신부와;
평가 대상인 상기 애플리케이션에 사용되는 적어도 하나의 API (APPLICATION PROGRAMING INTERFACE)를 결정하며, 상기 결정된API의 특성정보에 기초하여 상기 API 에 대한 배타적 정보에의 접근 정도를 결정하고, 상기 결정된API의 배타적 정보에의 접근 정도에 기초하여 상기 애플리케이션의 보안 취약성을 평가하는 제어부를 포함하는 애플리케이션의 보안 취약성 평가기기.An application security vulnerability assessment device comprising:
A communication unit capable of receiving data for an application;
Determining at least one APPLICATION PROGRAMING INTERFACE used for the application to be evaluated, determining an access degree to the exclusive information for the API based on the determined property information of the API, And a control unit for evaluating a security vulnerability of the application based on the access degree of the application.
상기 제어부는 네트워크로부터 상기 사용되는 적어도 하나의 API에 대응하는 특성정보를 획득하도록 상기 통신부를 제어하는 애플리케이션의 보안 취약성 평가기기.12. The method of claim 11,
Wherein the control unit controls the communication unit to acquire characteristic information corresponding to the at least one API used from the network.
상기 제어부는 상기 API의 특성정보 중 상기 사용되는 적어도 하나의 API의 명칭에 포함되어 있는 단어에 대한 확률을 이용하여 상기 배타적 정보에의 접근 정도를 산출하는 애플리케이션의 보안 취약성 평가기기.12. The method of claim 11,
Wherein the control unit calculates a degree of access to the exclusive information by using a probability of a word included in the name of the at least one API among the property information of the API.
상기 제어부는 상기 API의 특성정보 중 상기 배타적 정보에의 접근 정도가 결정된 API의 명칭에 대한 확률을 이용하여 상기 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출하는 애플리케이션의 보안 취약성 평가기기.12. The method of claim 11,
Wherein the control unit calculates a degree of vulnerability in which a security vulnerability of the application is evaluated by using a probability of a name of an API whose degree of access to the exclusive information is determined among characteristics information of the API.
상기 애플리케이션의 취약성 평가에 대한 결과정보를 표시하는 디스플레이부를 더 포함하고,
상기 제어부는 상기 배타적 정보에의 접근 정도가 결정된 API 및 상기 애플리케이션의 보안 취약성이 평가된 API 중 적어도 하나에 기초하여 상기 애플리케이션의 취약성 평가에 대한 결과정보를 제공하도록 상기 디스플레이부를 제어하는 애플리케이션의 보안 취약성 평가기기.12. The method of claim 11,
Further comprising a display unit for displaying result information on the vulnerability evaluation of the application,
Wherein the control unit controls the display unit to provide the result information on the vulnerability evaluation of the application based on at least one of the API for which the degree of access to the exclusive information is determined and the API for which the vulnerability of the application is evaluated, Evaluation device.
상기 제어부는 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중 적어도 하나에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도 및 해당 애플리케이션의 보안 취약성을 평가한 취약성정도를 산출하는 애플리케이션의 보안 취약성 평가기기.12. The method of claim 11,
Wherein the control unit controls the security of the application that calculates the degree of access to the exclusive information for at least one API used in at least one of the malicious application and the malicious application and the degree of vulnerability evaluating the security vulnerability of the application Vulnerability Assessment Instrument.
상기 산출된 상기 배타적 정보에의 접근 정도 및 취약성정도를 저장하는 저장부를 더 포함하고,
상기 제어부는 상기 평가 대상인 애플리케이션에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도가 산출되어 상기 저장부에 저장된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 사용되는 적어도 하나의 API에 대한 상기 배타적 정보에의 접근 정도 중 어느 값에 가까운지를 판단하는 애플리케이션의 보안 취약성 평가기기.17. The method of claim 16,
And a storage unit for storing the degree of access to the calculated exclusive information and the degree of vulnerability,
Wherein the control unit calculates at least one API used for the at least one API used in the application to be evaluated and calculates at least one API used for an application for performing a malicious action stored in the storage unit and an application for performing a normal operation The degree of access to the exclusive information of the application.
상기 산출된 상기 배타적 정보에의 접근 정도 및 취약성정도를 저장하는 저장부를 더 포함하고,
상기 제어부는 상기 평가 대상인 애플리케이션의 보안 취약성을 평가한 취약성정도가 산출되어 상기 저장부에 저장된 상기 산출된 악성행위를 하는 애플리케이션 및 정상행위를 하는 애플리케이션 중에서 보안 취약성을 평가한 취약성정도 중 어느 값에 가까운지를 판단하는 애플리케이션의 보안 취약성 평가기기.17. The method of claim 16,
And a storage unit for storing the degree of access to the calculated exclusive information and the degree of vulnerability,
Wherein the control unit calculates a degree of vulnerability evaluating a security vulnerability of the application to be evaluated and calculates a degree of vulnerability of the application that performs the malicious action calculated in the storage unit and evaluates the security vulnerability The security vulnerability assessment apparatus of the present invention determines the security vulnerability of the application.
상기 API의 특성정보는 상기 API의 패키지, 클래스, 명칭, 파라미터의 형태, 리턴값, 설명 중 적어도 하나를 포함하는 애플리케이션의 보안 취약성 평가기기.12. The method of claim 11,
The characteristic information of the API includes at least one of a package, a class, a name, a parameter type, a return value, and a description of the API.
상기 배타적 정보에의 접근 정도가 결정된 API는 개인 및 단체 중 적어도 하나의 정보 및 권리 중 적어도 하나를 침해할 가능성이 있는 API를 포함하는 애플리케이션의 보안 취약성 평가기기.12. The method of claim 11,
Wherein the API whose degree of access to the exclusive information is determined includes an API that may infringe at least one of information and rights of at least one of an individual and a group.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160006571A KR102443766B1 (en) | 2016-01-19 | 2016-01-19 | Apparatus for security vulnerabilities evaluation of application and control method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160006571A KR102443766B1 (en) | 2016-01-19 | 2016-01-19 | Apparatus for security vulnerabilities evaluation of application and control method of the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170086926A true KR20170086926A (en) | 2017-07-27 |
KR102443766B1 KR102443766B1 (en) | 2022-09-19 |
Family
ID=59428039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160006571A KR102443766B1 (en) | 2016-01-19 | 2016-01-19 | Apparatus for security vulnerabilities evaluation of application and control method of the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102443766B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102046748B1 (en) * | 2019-04-25 | 2019-11-19 | 숭실대학교산학협력단 | Method of application security vulnerability evaluation based on tree boosting, readable medium and apparatus for performing the method |
US20220114271A1 (en) * | 2020-10-14 | 2022-04-14 | International Business Machines Corporation | Secure data storage device access control and sharing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110128632A (en) * | 2010-05-24 | 2011-11-30 | 충남대학교산학협력단 | Method and device for detecting malicious action of application program for smartphone |
KR20120073018A (en) * | 2010-12-24 | 2012-07-04 | 한국인터넷진흥원 | System and method for detecting malicious code |
KR101461051B1 (en) * | 2013-06-11 | 2014-11-13 | (주) 에스에스알 | Method for detecting malignant code through web function analysis, and recording medium thereof |
KR20150123543A (en) * | 2014-04-25 | 2015-11-04 | 코드마인드(주) | Device and method of analyzing information drain of application |
-
2016
- 2016-01-19 KR KR1020160006571A patent/KR102443766B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110128632A (en) * | 2010-05-24 | 2011-11-30 | 충남대학교산학협력단 | Method and device for detecting malicious action of application program for smartphone |
KR20120073018A (en) * | 2010-12-24 | 2012-07-04 | 한국인터넷진흥원 | System and method for detecting malicious code |
KR101461051B1 (en) * | 2013-06-11 | 2014-11-13 | (주) 에스에스알 | Method for detecting malignant code through web function analysis, and recording medium thereof |
KR20150123543A (en) * | 2014-04-25 | 2015-11-04 | 코드마인드(주) | Device and method of analyzing information drain of application |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102046748B1 (en) * | 2019-04-25 | 2019-11-19 | 숭실대학교산학협력단 | Method of application security vulnerability evaluation based on tree boosting, readable medium and apparatus for performing the method |
US10796005B1 (en) | 2019-04-25 | 2020-10-06 | Foundation Of Soongsil University-Industry Cooperation | Method of application security vulnerability evaluation based on tree boosting, and readable medium and apparatus for performing the method |
US20220114271A1 (en) * | 2020-10-14 | 2022-04-14 | International Business Machines Corporation | Secure data storage device access control and sharing |
US11907405B2 (en) * | 2020-10-14 | 2024-02-20 | International Business Machines Corporation | Secure data storage device access control and sharing |
Also Published As
Publication number | Publication date |
---|---|
KR102443766B1 (en) | 2022-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11778270B2 (en) | Automatically loading user profile to show recently watched channels | |
US9697412B2 (en) | Method of executing function of electronic device and electronic device using the same | |
US9864612B2 (en) | Techniques to customize a user interface for different displays | |
US7376590B2 (en) | Union remote controller, union remote controller information providing system and method for using the same | |
US9971748B2 (en) | Method and apparatus for outputting digital content | |
US20150007309A1 (en) | Display apparatus using key signals and control method thereof | |
US9367144B2 (en) | Methods, systems, and media for providing a remote control interface for a media playback device | |
CN105678073A (en) | Medical image checking method, device and system | |
CN107909466A (en) | Customer relationship network display method, apparatus, equipment and readable storage medium storing program for executing | |
KR20170086926A (en) | Apparatus for security vulnerabilities evaluation of application and control method of the same | |
US20200348799A1 (en) | Implementation method and apparatus of system user interface | |
WO2020135241A1 (en) | Voice-based data transmission control method, smart television and storage medium | |
KR102144554B1 (en) | personalized living service apparatus and system for providing personalized living services | |
US20190124398A1 (en) | Methods and apparatuses for obtaining and providing information | |
US9921728B2 (en) | Service providing device, and method of providing a user interface | |
CN112147964A (en) | Device management method, device, electronic device and medium | |
CN109491730A (en) | A kind of data display method, apparatus and system | |
KR20150091904A (en) | Calibration device, display system and control method thereof | |
CN110852649A (en) | Resource management method, terminal, device and readable storage medium | |
US20200349262A1 (en) | Terminal apparatus and control method of terminal apparatus | |
KR101608940B1 (en) | User scan type of remote controller for smart tv and operating method of the same | |
US9552468B2 (en) | Image processing apparatus and control method thereof | |
US20140136702A1 (en) | Method and apparatuses for sharing data in a data sharing system | |
CN116719969B (en) | Intelligent home interaction data analysis method and system based on Internet of things | |
CN113761009A (en) | Personnel selection method, system, device and computer readable storage medium |
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 |