KR101451323B1 - Application security system, security server, security client apparatus, and recording medium - Google Patents
Application security system, security server, security client apparatus, and recording medium Download PDFInfo
- Publication number
- KR101451323B1 KR101451323B1 KR1020140014734A KR20140014734A KR101451323B1 KR 101451323 B1 KR101451323 B1 KR 101451323B1 KR 1020140014734 A KR1020140014734 A KR 1020140014734A KR 20140014734 A KR20140014734 A KR 20140014734A KR 101451323 B1 KR101451323 B1 KR 101451323B1
- Authority
- KR
- South Korea
- Prior art keywords
- security
- application
- client module
- code
- inspection
- Prior art date
Links
- 238000007689 inspection Methods 0.000 claims abstract description 104
- 238000000034 method Methods 0.000 claims abstract description 101
- 230000008569 process Effects 0.000 claims abstract description 70
- 238000004458 analytical method Methods 0.000 claims description 36
- 230000002155 anti-virotic effect Effects 0.000 claims description 35
- 230000007123 defense Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 19
- 230000002265 prevention Effects 0.000 claims description 19
- 241000700605 Viruses Species 0.000 claims description 3
- 230000006870 function Effects 0.000 description 53
- 238000010586 diagram Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012795 verification 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- 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
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- 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
Abstract
Description
본 발명은 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체에 관한 것이다. The present invention relates to an application security system, a security server, a secure client device, and a recording medium.
요즈음, PC, 노트북 등은 물론, 스마트 폰, 태블릿 PC 등의 모바일 단말을 포함하는 각종 통신 단말에는, 악성코드, 바이러스 등이 유포되거나 무단 접속을 방지하기 위한 별도의 보안 관련 클라이언트 프로그램이 많이 설치되고 있다. Nowadays, various security-related client programs for spreading malicious codes, viruses, and preventing unauthorized access are installed in various communication terminals including mobile terminals such as a PC and a notebook computer as well as smart phones and tablet PCs have.
이러한 보안 관련 클라이언트 프로그램을 이용한 보안 기능은, 보안 저해 행위를 검사하기 위한 검사코드가 보안 관련 클라이언트 프로그램에 모두 저장되어 있어야 하기 때문에, 새로운 보안 기능을 수행하기 위해서는, 보안 관련 클라이언트 프로그램 자체를 모두 업데이트하거나 보안 관련 클라이언트 프로그램에 저장된 검사코드를 업데이트 해야 한다. 이러한 점은, 신속한 대응이 필수적인 보안 기술 분야에서는, 신속한 대응을 불가능하게 하는 치명적인 문제점이라 할 수 있다. In order to perform a new security function, the security function using the security-related client program needs to update all of the security-related client programs themselves because the security code related to the security- You should update the inspection code stored in the security-relevant client program. This is a fatal problem that makes it impossible to respond quickly in the security technology field where rapid response is indispensable.
또한, 종래에는, 안티 바이러스 기능, 안티 해킹 기능 및 코드 역 분석 방지 기능 등에 대한 클라이언트 프로그램이 별도로 개발되어 있기 때문에, 단말에서 안티 바이러스 기능, 안티 해킹 기능 및 코드 역 분석 방지 기능 등을 모두 제공하기 위해서는, 안티 바이러스 기능, 안티 해킹 기능 및 코드 역 분석 방지 기능 등을 위한 별도의 클라이언트 프로그램을 단말에 각각 설치해야 하는 불편함도 있어왔다. In addition, conventionally, a client program has been separately developed for an antivirus function, an anti-hacking function, and an inverse code analysis prevention function. Therefore, in order to provide an antivirus function, an anti-hacking function, , Anti-virus function, anti-hacking function, and anti-reverse function of the code.
이와 같이, 각기 다른 보안 기능이 별도의 클라이언트 프로그램으로 만들어져 각각 설치되어야 하는 점은, 설치 및 사용상의 불편함뿐만 아니라, 안티 바이러스 기능, 안티 해킹 기능 및 코드 역 분석 방지 기능 등이 단말의 전체 보안 측면에서 긴밀하게 연동하지 못하는 문제점을 발생시켜 보안성을 높일 수 없는 요인이 되기도 한다. In this way, the different security functions must be installed in separate client programs and installed separately. In addition to the inconvenience of installation and use, the antivirus function, the anti-hacking function, It is not possible to increase the security because it can not interoperate closely.
또한, 기존의 보안 관련 클라이언트 프로그램은, PC 환경에 적합하도록 만들어져 있기 때문에, 많은 데이터를 저장하거나 높은 단말 성능을 요구하고 있다. 이는, 요즈음 많이 사용되고 있는 스마트 폰, 태블릿 PC 등의 모바일 환경에는 적합하지 않은 단점도 있다.In addition, since existing security-related client programs are designed to be suitable for a PC environment, they require a lot of data or high terminal performance. This is a disadvantage in that it is not suitable for mobile environments such as smart phones and tablet PCs, which are widely used these days.
이러한 배경에서, 본 발명의 목적은, 신속한 보안 대응이 가능하도록 서버 위주의 애플리케이션 보안을 제공하는 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체를 제공하는 데 있다. In view of the foregoing, it is an object of the present invention to provide an application security system, a security server, a security client device, and a recording medium that provide server-based application security to enable rapid security response.
본 발명의 다른 목적은, 각기 다른 보안 기능이 긴밀하게 연동하여 동작하여 보안성을 높여줄 수 있는 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체를 제공하는 데 있다. Another object of the present invention is to provide an application security system, a security server, a security client device, and a recording medium, in which different security functions operate in a closely interlocked manner to enhance security.
본 발명의 또 다른 목적은, 보안 기능을 수행하기 위해 단말에 저장되어야 하는 보안 관련 데이터를 줄여주고 보안 기능을 위해 단말의 부하를 줄여주어, 스마트 폰, 태블릿 PC 등의 모바일 환경에 적합한 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체를 제공하는 데 있다.It is another object of the present invention to provide an application security system suitable for a mobile environment such as a smart phone and a tablet PC by reducing security related data to be stored in a terminal for performing a security function, , A security server, a security client device, and a recording medium.
전술한 목적을 달성하기 위하여, 일 측면에서, 본 발명은, 검사명령의 수신에 따라 보안 프로세스를 실행하여 실행결과정보를 전송하고, 상기 실행결과정보에 따른 애플리케이션 실행제어명령에 따라 단말에 설치된 애플리케이션이 실행되도록 제어하는 보안 클라이언트 모듈; 및 상기 보안 클라이언트 모듈과 통신하여, 상기 보안 클라이언트 모듈에서 상기 보안 프로세스가 실행되도록 상기 검사명령을 상기 보안 클라이언트 모듈로 전송하고, 상기 보안 클라이언트 모듈로부터 수신된 상기 실행결과정보에 따라 상기 애플리케이션의 실행 여부를 판단하여 상기 애플리케이션 실행제어명령을 상기 보안 클라이언트 모듈로 전송하는 보안 서버를 포함하는 애플리케이션 보안 시스템을 제공한다. In order to achieve the above object, in one aspect, the present invention provides an information processing apparatus that executes a security process according to receipt of an inspection command and transmits execution result information, To be executed; And transmitting the inspection command to the secure client module so that the security process is executed in the secure client module, wherein the secure client module is configured to communicate with the secure client module to determine whether to execute the application according to the execution result information received from the secure client module And transmits the application execution control command to the secure client module.
상기 보안 클라이언트 모듈이 상기 보안 서버로부터 수신하는 상기 검사명령은, 코드 역 분석 방지를 위한 검사명령, 안티 바이러스 검사를 위한 검사명령 및 안티 해킹 검사를 위한 검사명령 중 하나일 수 있다. The inspection command received by the security client module from the security server may be one of an inspection command for prevention of code reverse analysis, an inspection command for anti-virus inspection, and an inspection command for anti-hacking inspection.
다른 측면에서, 본 발명은, 단말에 설치된 애플리케이션에 내장되어 있는 보안 클라이언트 모듈과 통신하는 통신부; 및 상기 보안 클라이언트 모듈이 보안 프로세스를 실행하도록 검사명령을 상기 보안 클라이언트 모듈로 전송하여 상기 보안 클라이언트 모듈에서의 상기 보안 프로세스에 대한 실행결과정보를 수신하고, 상기 실행결과정보에 따라 상기 단말에서의 상기 애플리케이션의 실행 여부를 판단하여 애플리케이션 실행제어명령을 상기 통신부를 통해 상기 보안 클라이언트 모듈로 제공하는 제어부를 포함하는 보안 서버를 제공한다. According to another aspect of the present invention, there is provided a communication system including: a communication unit for communicating with a security client module built in an application installed in a terminal; And transmitting a check command to the secure client module so that the secure client module executes a security process to receive execution result information for the security process in the secure client module, And a control unit for determining whether to execute the application and providing an application execution control command to the security client module through the communication unit.
또 다른 측면에서, 본 발명은, 검사명령에 따라 보안 프로세스를 실행하여 실행결과정보를 출력하고, 애플리케이션 실행제어명령에 따라, 지정된 애플리케이션의 실행을 제어하는 제어부; 및 상기 검사명령을 보안 서버로부터 수신하고, 상기 실행결과정보를 상기 보안 서버로 전송하며, 상기 애플리케이션 실행제어명령을 상기 보안 서버로부터 수신하는 통신부를 포함하는 보안 클라이언트 장치를 제공한다. According to another aspect of the present invention, there is provided an information processing apparatus comprising: a control unit for executing a security process according to an inspection command to output execution result information, and controlling the execution of a specified application according to an application execution control command; And a communication unit receiving the inspection command from the security server, transmitting the execution result information to the security server, and receiving the application execution control command from the security server.
또 다른 측면에서, 본 발명은, 애플리케이션 보안 방법을 실행시키기 위한 프로그램을 기록한 기록매체에 있어서, 보안 서버로부터 수신된 검사명령에 따라 보안 프로세스를 실행하는 기능과, 상기 보안 프로세스의 실행결과정보를 상기 보안 서버로 전송하는 기능과, 상기 보안 서버로부터 수신한 애플리케이션 실행제어명령에 따라, 애플리케이션의 실행을 제어하는 기능을 구현하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.According to another aspect of the present invention, there is provided a recording medium on which a program for executing an application security method is recorded. The recording medium includes a function of executing a security process according to an inspection command received from a security server, And a function of controlling the execution of the application in accordance with an application execution control command received from the security server. According to an aspect of the present invention, there is provided a computer-
이상에서 설명한 바와 같이 본 발명에 의하면, 신속한 보안 대응이 가능하도록 서버 위주의 애플리케이션 보안을 제공하는 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체를 제공하는 효과가 있다. As described above, according to the present invention, it is possible to provide an application security system, a security server, a security client device, and a recording medium that provide server-oriented application security to enable rapid security response.
또한, 본 발명에 의하면, 각기 다른 보안 기능이 긴밀하게 연동하여 동작하여 보안성을 높여줄 수 있는 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체를 제공하는 효과가 있다. According to another aspect of the present invention, there is provided an application security system, a security server, a security client device, and a recording medium, which can enhance security by operating in cooperation with each other.
또한, 본 발명에 의하면, 보안 기능을 수행하기 위해 단말에 저장되어야 하는 보안 관련 데이터를 줄여주고 보안 기능을 위해 단말의 부하를 줄여주어, 스마트 폰, 태블릿 PC 등의 모바일 환경에 적합한 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체를 제공하는 효과가 있다.In addition, according to the present invention, an application security system suitable for a mobile environment such as a smart phone, a tablet PC, and the like by reducing the security related data to be stored in the terminal to perform the security function and reducing the load of the terminal for the security function, A security server, a security client device, and a recording medium.
도 1은 본 발명의 일 실시예에 따른 애플리케이션 보안 시스템을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 서버에 대한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 클라이언트 모듈에 대한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 클라이언트 모듈 내 보안 프로세스 모듈들과 애플리케이션 실행 제어 모듈을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 클라이언트 모듈과 보안 서버 간의 연동을 개략적으로 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 애플리케이션 보안을 통해 애플리케이션이 실행되는 과정을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 클라이언트 모듈의 동작 절차를 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 서버의 동작 절차를 나타낸 도면이다.1 is a diagram schematically illustrating an application security system according to an embodiment of the present invention.
2 is a block diagram of a security server for application security according to an embodiment of the present invention.
3 is a block diagram of a secure client module for application security according to an embodiment of the present invention.
4 is a diagram illustrating security process modules and an application execution control module in a secure client module for application security according to an exemplary embodiment of the present invention.
FIG. 5 is a diagram schematically illustrating the interworking between a secure client module and a security server for application security according to an exemplary embodiment of the present invention. Referring to FIG.
6 is a diagram illustrating a process of executing an application through application security according to an embodiment of the present invention.
7 is a flowchart illustrating an operation procedure of a secure client module for application security according to an embodiment of the present invention.
8 is a flowchart illustrating an operation procedure of a security server for application security according to an embodiment of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In the drawings, like reference numerals are used to denote like elements throughout the drawings, even if they are shown on different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the components from other components, and the terms do not limit the nature, order, order, or number of the components. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected or connected to the other component, Quot; intervening "or that each component may be" connected, "" coupled, "or " connected" through other components.
도 1은 본 발명의 일 실시예에 따른 애플리케이션 보안 시스템을 개략적으로 나타낸 도면이다. 1 is a diagram schematically illustrating an application security system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 애플리케이션 보안 시스템은, 단말(110)에 설치된 애플리케이션(111)과 그 사용자를 보안 측면에서 보호해주기 위한 시스템이다. 즉, 본 발명의 일 실시예에 따른 애플리케이션 보안 시스템은 애플리케이션(111)을 해킹하거나 무단으로 수정하는 행위, 또는 개발권자의 저작권(소스코드)을 탈취하는 행위 등으로부터 애플리케이션(111)과, 그 사용자 및 저작권자를 보호하기 위한 시스템이다. Referring to FIG. 1, an application security system according to an embodiment of the present invention is a system for protecting an
도 1을 참조하면, 본 발명의 일 실시예에 따른 애플리케이션 보안 시스템은. 애플리케이션 보안을 제공하기 위하여, 단말(110)에 설치되는 애플리케이션(111)을 보호하기 위한 보안 프로세스를 실행하는 "보안 클라이언트 장치"와, 이러한 보안 클라이언트 장치가 보안 프로세스를 실행하도록 명령을 내리고 보안 프로세스의 실행결과정보를 보안 클라이언트 장치로부터 전달받아 애플리케이션 실행제어명령을 보안 클라이언트 장치로 제공하는 보안 서버(120) 등을 포함한다. Referring to FIG. 1, an application security system according to an embodiment of the present invention includes: A security client device that executes a security process for protecting an
전술한 보안 클라이언트 장치는, 일 예로, 보호 대상인 애플리케이션(111)이 설치된 단말(110)과 물리적으로 떨어져 있는 단말일 수도 있고, 도 1에 도시된 바와 같이, 보호 대상인 애플리케이션(111)이 설치된 단말(110)의 내부에 설치된 장치 또는 모듈 또는 애플리케이션 등일 수도 있다. The security client device may be a terminal physically separated from the
또한, 보안 클라이언트 장치는, 도 1에 도시된 바와 같이, 보호 대상인 애플리케이션(111)이 설치된 단말(110)의 내부에 포함되되, 단말(110)에 설치된 애플리케이션(111)에 내장되어 있는 소프트웨어 모듈(Software Module)일 수도 있다. 1, the security client device includes a software module (not shown) included in the
아래에서는, 보안 클라이언트 장치가, 도 1에 도시된 바와 같이, 보호 대상인 애플리케이션(111)이 설치된 단말(110)의 내부에 포함되되, 단말(110)에 설치된 애플리케이션(111)에 내장되어 있는 소프트웨어 모듈(Software Module)인 보안 클라이언트 모듈(112)인 것으로 예로 들어 설명한다. 그렇다고 이에 제한되는 것은 아니다. 1, the security client apparatus includes a
이와 같이, 보안 클라이언트 모듈(112)이 내장된 애플리케이션(110)은, 애플리케이션 스토어 서버를 통해 단말(110)로 다운로드 되어 설치될 수 있다. In this manner, the
애플리케이션 스토어 서버로부터 다운로드 되어 설치된 애플리케이션(110)에는 보안 클라이언트 모듈(112)에 해당하는 코드가 기본적으로 포함된다. A code corresponding to the
한편, 애플리케이션 스토어 서버로부터 다운로드 되어 설치된 애플리케이션(111)에는 실제 실행을 위한 애플리케이션 실행 코드가 포함될 수도 있고, 경우에 따라서는, 애플리케이션(111)의 매 실행 시마다 관련 서버(애플리케이션에 해당하는 서비스 서버)로부터 다운로드 받을 수 있는 제어 정보(예: 링크 정보 등)가 포함될 수도 있다. On the other hand, the
보안 클라이언트 모듈(112)에 해당하는 코드는 단말(110)의 메모리 내 제1위치에 저장되고, 애플리케이션(111)의 배포시 이미 포함되어 있거나 실행 시마다 다운로드 되는 애플리케이션 실행 코드는 단말(110)의 메모리 내 제1위치와는 다른 제2위치에 저장될 수 있다. The code corresponding to the
여기서, 메모리 내 제1위치는, 애플리케이션 실행 요청 입력 시, 단말(110)의 프로세서가 최초로 액세스 하는 저장 위치로서, 애플리케이션 실행 코드가 저장된 위치로 알려지거나 인식되는 위치이다. 메모리 내 제2위치는 애플리케이션 실행 코드가 실제로 저장된 위치이기는 하나 단말(110)은 물론 외부에서도 애플리케이션 실행 코드가 저장되어 있을 것으로 인식할 수 없는 저장 위치이다. Here, the first position in the memory is a storage position at which the processor of the
또한, 애플리케이션(111)의 배포시 이미 포함되어 있거나 실행 시마다 다운로드 되는 애플리케이션 실행 코드는 메모리 내 제2위치에 저장될 때 암호화 되어 저장될 수 있다. In addition, the application execution code which is already included in the distribution of the
예를 들어, 애플리케이션(111)의 배포시 이미 포함되어 있거나 실행 시마다 다운로드 되는 애플리케이션 실행 코드가 암호화되어 저장될 때, 애플리케이션 실행 코드의 파일 헤더(Header) 또는 애플리케이션 실행 코드의 일부분이 암호화되어 저장될 수도 있고, 애플리케이션 실행 코드의 파일 내 정보들의 위치를 서로 바꾸는 방식으로 암호화되어 저장될 수도 있으며, 애플리케이션 실행 코드의 파일 내 특정 또는 임의의 정보가 다른 정보로 치환되는 방식으로 암호화되어 저장될 수도 있다. 이러한 암호화 방식으로만 제한되지는 않고, 다양한 암호화 방식으로도 가능하다. For example, when an application execution code that is already included in the distribution of the
사용자가 단말(110)에 설치된 애플리케이션(111)을 실행시키기 위한 입력을 하게 되면, 단말(110)의 프로세서는 메모리 내 제1위치에 저장된 보안 클라이언트 모듈(112)에 해당하는 코드를 읽어 해당 보안 프로세스를 실행시키고, 그 실행 결과, 보안상에 문제가 없으면, 메모리 내 제2위치에 저장된 애플리케이션 실행 코드를 실행시키거나 애플리케이션 실행 코드를 관련 서버로부터 메모리 내 제2위치로 다운로드 받아 실행시킴으로써, 애플리케이션(111)이 실제로 실행되게 된다. The processor of the
전술한 바와 같은, 코드 저장 위치 관련 특징, 애플리케이션 실행 코드의 암호화 등을 통해, 애플리케이션(111)에 대한 향상된 보안성을 제공할 수 있다. As described above, it is possible to provide enhanced security for the
또한, 애플리케이션 실행 코드가 애플리케이션(111)의 최초 배포시, 애플리케이션(111)에 포함되어 있지 않고, 애플리케이션(111)의 실행 시마다 다운로드 받는 것은, 애플리케이션(111)에 대한 보안성을 더욱 강화시킬 수 있다. 보안 클라이언트 모듈(112)은, 보안 서버(120)로부터의 검사명령의 수신에 따라 해당되는 보안 프로세스를 실행하여 그 실행결과정보를 보안 서버(120)로 전송하고, 상기 실행결과정보에 따른 애플리케이션 실행제어명령에 따라 단말(110)에 설치된 애플리케이션이 실행되도록 제어한다. In addition, when the application execution code is not included in the
보안 클라이언트 모듈(112)과 연동하는 보안 서버(120)는, 애플리케이션 보안을 위한 중요한 명령을 내리고 중요한 판단 및 결정을 한다.
더욱 상세하게 설명하면, 보안 서버(120)는, 보안 클라이언트 모듈(112)과 통신하여, 보안 클라이언트 모듈(112)에서 보안 프로세스가 실행되도록 검사명령을 보안 클라이언트 모듈(112)로 전송하고, 이에 따라, 보안 클라이언트 모듈(112)에서 검사명령에 대응되는 보안 프로세스가 실행되어 그 실행결과정보를 수신한다. More specifically, the
이후, 보안 서버(120)는 보안 클라이언트 모듈(112)로부터 수신된 실행결과정보에 따라 애플리케이션(111)이 단말(110)에서 실행되어도 안전한지를 판단하여, 애플리케이션(111)의 실행 여부를 결정하고, 이에 따른 애플리케이션 실행제어명령을 보안 클라이언트 모듈(112)로 전송한다. Thereafter, the
한편, 보안 클라이언트 모듈(112)의 동작을 트리거(Trigger) 시키기 위하여, 보안 클라이언트 모듈(112)이 단말(110)에 설치된 애플리케이션(111)에 내장되어 있는 경우, 애플리케이션(111)이 최초 실행되는 부분에, 보안 클라이언트 모듈(112)이 동작하도록 하는 제어 코드가 삽입되어 있을 수 있다. When the
이러한 제어 코드는, 애플리케이션(111)의 최초 실행 시점에 읽혀져 보안 클라이언트 모듈(112)을 동작시키고, 동작 된 보안 클라이언트 모듈(112)이 보안 서버(120)와 통신하게 해주고, 애플리케이션(111)의 보안을 위한 보안 프로세스와 관련된 검사루틴을 실행하도록 하는 검사명령이 보안 서버(120)로부터 수신되도록 해주는 코드이다. This control code is read at the first execution time of the
한편, 보안 클라이언트 모듈(112)이 내장되어 있는 애플리케이션(111)은, 코드 역 분석 방지를 위하여, 코드 파일의 일부분 또는 전체에 대한 파일 내용이 치환되어 암호화되어 있을 수 있다. The
여기서, 애플리케이션(111)의 파일 내용의 치환과 관련하여, 보안 클라이언트 모듈(112)이 내장되어 있는 애플리케이션(111)은, 코드 파일의 일부분 또는 전체에 대한 파일 내용에 대한 저장 위치가 변경됨으로써 파일 내용이 치환될 수 있다. Here, regarding the substitution of the file contents of the
전술한 보안 서버(120)는 하드웨어적으로는 통상적인 웹 서버(Web Server) 또는 웹 어플리케이션 서버(Web Application Server) 또는 왑 서버(WAP Server)와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는, 도 2와 관련하여 아래에서 상세하게 설명할 바와 같이, C, C++, Java, PHP, .Net, Python, Ruby 등 여하한 언어를 통하여 구현되어 여러 가지 기능을 하는 프로그램 모듈(Module)을 포함할 수 있다.The
또한, 보안 서버(120)는, 네트워크(130)를 통하여 불특정 다수 클라이언트(단말(110) 포함) 및/또는 다른 서버와 연결될 수 있는데, 이에 따라, 보안 서버(120)는 클라이언트 또는 다른 서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 또는 이러한 컴퓨터 시스템을 위하여 설치되어 있는 컴퓨터 소프트웨어(서버 프로그램)를 뜻하는 것일 수도 있다. The
또한, 보안 서버(120)는, 전술한 서버 프로그램 이외에도, 보안 서버(120) 상에서 동작하는 일련의 응용 프로그램(Application Program)과, 경우에 따라서는 내부 또는 외부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. In addition to the above-described server program, the
여기서, 데이터베이스는, 서버 또는 다른 장치 등에 의해 사용될 목적으로 정보나 자료 등의 데이터가 구조화되어 관리되는 데이터의 집합체를 의미할 수 있으며, 이러한 데이터의 집합체를 저장하는 저장매체를 의미할 수도 있다. Here, the database may mean a collection of data structured by managing data such as information or data for use by a server or another device, and may mean a storage medium storing an aggregate of such data.
또한, 이러한 데이터베이스는 데이터의 구조화 방식, 관리 방식, 종류 등에 따라 분류된 복수의 데이터베이스를 포함하는 것일 수도 있다.Such a database may include a plurality of databases classified according to a data structure, a management method, and the like.
경우에 따라서, 데이터베이스는 정보나 자료 등을 추가, 수정, 삭제 등을 할 수 있도록 해주는 소프트웨어인 데이터베이스 관리시스템(Database Management System, DBMS)을 포함할 수도 있다. In some cases, the database may include a database management system (DBMS), which is software that allows the user to add, modify, delete, etc. information or data.
또한, 보안 서버(120)는 콘텐츠, 각종 정보 및 데이터를 데이터베이스에 저장시키고 관리할 수 있다. 여기서, 데이터베이스는 보안 서버(120)의 내부 또는 외부에 구현될 수 있다.In addition, the
또한, 보안 서버(120)는 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹 사이트(Website), IIS(Internet Information Server)와 유닉스환경에서 사용되는 Apache, Nginx, Light HTTP 등이 이용될 수 있다. In addition, the
한편, 단말(110)은, 일반적인 데스크 탑이나 노트북 등의 일반 PC를 포함하고, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기 등을 포함할 수 있으며, 이에 제한되지 않고, 보안 서버(120)와 통신 가능한 어떠한 전자 기기로 폭넓게 해석되어야 할 것이다. Meanwhile, the terminal 110 may include a general PC such as a general desktop or a notebook computer, and may include a mobile terminal such as a smart phone, a tablet PC, a PDA (Personal Digital Assistants), and a mobile communication terminal. But should be broadly interpreted as any electronic device capable of communicating with
이러한 단말(110)과 보안 서버(120)를 연결해주는 망으로서의 네트워크(130)는 LAN(Local Area Network), WAN(Wide Area Network)등의 폐쇄형 네트워크일 수도 있으나, 인터넷(Internet)과 같은 개방형 네트워크일 수도 있다. 여기서, 인터넷은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service)를 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미한다. The
또한, 단말(110)이 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기를 포함하는 경우, 네트워크(130)는 이동 통신망이나 와이파이(WiFi) 망 등의 무선 액세스 망을 더 포함할 수도 있다. In addition, when the terminal 110 includes a mobile terminal such as a smart phone, a tablet PC, a PDA (personal digital assistant), and a mobile communication terminal, the
아래에서는, 이상에서 간략하게 설명한 애플리케이션 보안 시스템을 이루는 보안 클라이언트 모듈(112) 및 보안 서버(120)에 대하여 도 2 및 도 3을 참조하여 더욱 상세하게 설명한다. Hereinafter, the
도 2는 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 서버(120)에 대한 블록도이다. 2 is a block diagram of a
도 2를 참조하면, 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 서버(120)는, 단말(110)에 설치된 애플리케이션(111)에 내장되어 있는 보안 클라이언트 모듈(112)과 통신하는 통신부(210)와, 보안 클라이언트 모듈(112)와 연동하여 애플리케이션 보안을 위한 각종 제어 기능을 수행하는 제어부(220) 등을 포함한다. 2, a
전술한 제어부(220)는, 보안 클라이언트 모듈(112)이 해당 보안 프로세스를 실행하도록 검사명령을 통신부(210)를 통해 보안 클라이언트 모듈(112)로 전송한다. The
이러한 제어부(220)는, 검사명령을 전송한 이후, 보안 클라이언트 모듈(112)에서의 해당 보안 프로세스에 대한 실행결과정보를 통신부(210)를 통해 수신한다. After transmitting the inspection command, the
이후, 제어부(220)는, 수신된 실행결과정보에 따라 단말(110)에서의 애플리케이션(111)의 실행 여부를 판단(결정)하여, 단말(110)에서의 애플리케이션(111)의 실행을 제어하는 애플리케이션 실행제어명령을 통신부(210)를 통해 보안 클라이언트 모듈(112)로 제공한다. The
한편, 도 2를 참조하면, 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 서버(120)는, 보안 클라이언트 모듈(112)이 실행할 여러 보안 프로세스를 위한 모든 검사코드를 저장하여 관리하는 저장부(230)를 더 포함할 수 있다. 2, a
이와 같이, 본 발명의 일 실시예에서는, 보안 서버(120)가 모든 검사코드를 저장하고 있지만, 종래에는, 클라이언트 측에서 모든 검사코드를 저장하고 있다. 이에 따라, 검사코드가 변경된 경우, 클라이언트 전체를 업데이트 해야 하는 한계점이 있고, 이로 인해, 변경된 검사코드를 이용한 신속한 보안 대응이 되지 못하였다. As described above, in the embodiment of the present invention, the
하지만, 본 발명의 일 실시예에서와 같이, 보안 서버(120)가 모든 검사코드를 저장하게 되면, 보안 클라이언트 모듈(112)은 보안 서버(120)에서 주는 데이터를 실행 및 저장하고, 이를 이용한 검사결과만을 보안 서버(120)에 전달하기만 하면 되기 때문에, 검사코드의 변경에 따른 보안 대응이 신속해질 수 있다. 또한, 보안 클라이언트 모듈(112)을 우회하는 행위 및 사고 발생시에도 신속한 대응이 가능해질 수 있다. However, as in the embodiment of the present invention, when the
한편, 보안 서버(120)에 저장된 검사코드 중에는 여러 기업 간에 공유되어서는 안 되는 민감한 검사코드가 있을 수 있다. 따라서, 보안 서버(120)의 저장부(230)는, 보안 프로세스를 위한 검사코드를 모두 저장해두되, 애플리케이션(111)을 개발하는 업체의 단말로부터 수신된 추가 검사코드를 보안 프로세스를 위한 검사코드로서 추가 등록할 수 있다. Meanwhile, among the inspection codes stored in the
이에 따라, 애플리케이션 개발 업체는, 기업 대외 기밀 정보에 해당하는 보안 기능을 보안 클라이언트 모듈(112) 및 보안 서버(120)의 개발 및 운영 업체의 도움없이 적용할 수 있고, 자신만의 보안 정책을 효율적이고 능동적으로 운영할 수 있다. Accordingly, the application developer can apply the security function corresponding to the enterprise external confidential information without the assistance of the development and operation company of the
전술한 바와 같이, 보안 클라이언트 모듈(112)은, 보안 서버(120)의 검사명령에 의해서만 해당 보안 프로세스를 실행하고 그 실행결과정보를 보안 서버(120)로 알려주고, 보안 서버(120)에서 지시해준 애플리케이션 실행제어명령에 따라 정의된 바에 따라 애플리케이션(111)의 실행을 제어할 뿐, 그 어떠한 단독 동작 및 판단을 하지 않는다. As described above, the
즉, 본 발명의 일 실시예에 따른 애플리케이션 보호는 클라이언트 기반이 아니라 서버 기반으로 제공되는 것으로서, 클라이언트 코드 취약점 발견 및 기능 업데이트 시, 필요한 검사코드를 보안 서버(120)에 등록만 해두면, 보안 클라이언트 모듈(112)은 로직에 상관없이 보안 서버(120)의 명령에 따라서 동작만 하기만 하면 된다. 따라서, 단말(110)이 스마트 폰, 태블릿 PC 등의 모바일 단말인 모바일 환경에서 맞는 신속한 보안 대응이 가능해지고, 보안 제품을 무력화시키는 무력화 툴에도 효과적인 방어가 가능해지는 장점이 있다. That is, application protection according to an embodiment of the present invention is provided not on the basis of a client but on a server basis. When a necessary code is registered in the
한편, 보안 클라이언트 모듈(112)은, 코드 역 분석 방지(Decompile Protection), 안티 바이러스(Anti-Virus) 검사 및 안티 해킹(Anti-Hacking) 검사 등을 통합하여 모두 제공할 수 있다. Meanwhile, the
따라서, 보안 서버(120)가 보안 클라이언트 모듈(112)로 전송하는 검사명령은, 일 예로, 코드 역 분석 방지(Decompile Protection), 안티 바이러스(Anti-Virus) 검사 및 안티 해킹(Anti-Hacking) 검사 등 중 하나 이상을 위한 검사명령일 수 있다. Accordingly, the inspection command transmitted from the
또한, 보안 서버(120)가 보안 클라이언트 모듈(112)로 전송하는 검사명령은, 일 예로, 방어코드 무결성 체크 명령, 방어코드 다운로드 명령 및 방어코드 실행 명령 등을 더 포함할 수 있다. In addition, the inspection command transmitted from the
아래에서는, 애플리케이션 보안을 위해 보안 서버(120)와 연동하는 보안 클라이언트 모듈(112)에 대하여 설명한다. In the following, a
도 3은 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 클라이언트 모듈(112)에 대한 블록도이다. 3 is a block diagram of a
도 3을 참조하면, 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 클라이언트 모듈(112)은, 보안 서버(120)와 연동하여 핵심적인 동작을 하는 제어부(310)와, 보안 서버(120)와 통신하는 통신부(320) 등을 포함한다. 3, the
제어부(310)는, 통신부(320)를 통해 보안 서버(120)로부터 수신된 검사명령에 따라 해당 보안 프로세스를 실행하고, 그 실행결과정보를 출력한다. The
통신부(320)는, 제어부(310)에 출력된 보안 프로세스의 실행결과정보를 보안 서버(120)로 전송한다. The
제어부(320)는, 보안 프로세스의 실행결과정보를 출력한 이후, 통신부(320)를 통해 보안 서버(120)에서 애플리케이션 실행제어명령을 수신되면, 수신된 애플리케이션 실행제어명령에 따라, 해당 애플리케이션(111)의 실행을 제어한다. The
도 3의 보안 클라이언트 모듈(112)은 단말(110) 그 자체일 수도 있으며, 단말(110)에 설치된 애플리케이션(111)에 내장된 소프트웨어 모듈일 수도 있다. The
한편, 보안 클라이언트 모듈(112)은, 코드 역 분석 방지(Decompile Protection) 기능, 안티 바이러스(Anti-Virus) 기능 및 안티 해킹(Anti-Hacking) 기능 등을 단일 제품으로 통합하여 제공할 수 있다. Meanwhile, the
이를 위해, 도 4를 참조하면, 보안 클라이언트 모듈(112)의 제어부(310)는, 여러 가지의 보안 프로세스를 실행하는 통합 보안 모듈(410)과, 통합 보안 모듈(410)의 보안 프로세스의 실행결과정보에 따라 보안 서버(120)의 명령에 의해 애플리케이션(111)의 실행을 제어하는 애플리케이션 실행 제어 모듈(420) 등을 포함한다. 4, the
도 4를 참조하면, 통합 보안 모듈(410)은, 코드 역 분석 방지 모듈(411)과, 안티 바이러스 모듈(412)과, 안티 해킹 모듈(413) 등을 포함한다. Referring to FIG. 4, the
코드 역 분석 방지 모듈(411)은, 애플리케이션(111)의 최초 실행 부분에 삽입된 제어 코드의 실행에 따라 코드 역 분석 방지를 위한 검사명령을 보안 서버(120)로부터 수신하면, 보안 프로세스로서 제1 검사루틴을 실행하여 애플리케이션(111)에 대한 코드 역 분석 이벤트가 발생하였는지를 검사하고, 보안 프로세스의 실행결과정보로서 제1 검사결과정보를 보안 서버(120)로 전송한다. The code reverse
종래의 코드 역 분석 방지는, 애플리케이션의 핵심 파일인 코드파일에 대하여 헤더(Header)의 특정 테이블 부분을 암호화 없이 변조만 하는 방식으로 지원된다. 이 경우, 특정 테이블 부분을 변조하는 로직만 공개되면 모든 위협에 쉽게 노출될 수 있다. Conventional code reverse analysis prevention is supported in such a manner that only a specific table portion of a header is modulated without encryption to a code file which is a core file of an application. In this case, only the logic that modulates a particular part of the table can be exposed to all threats if exposed.
하지만, 전술한 바와 같이, 본 발명의 일 실시예에 따르면, 애플리케이션의 핵심 파일인 코드 파일에 대하여, 헤더의 특정 테이블 부분을 변조하는 것은 물론, 코드 파일 내 특정 부분과 치환하고 암호화하는 복합적인 보안 대책을 사용하여 코드 역 분석을 효과적으로 방지한다. However, as described above, according to the embodiment of the present invention, not only the specific table portion of the header is modified with respect to the code file which is the core file of the application, Use countermeasures to effectively prevent code reverse analysis.
또한, 종래의 코드 역 분석 방지를 위해, 애플리케이션의 핵심 파일인 코드 파일을 암호화하기도 하는데, 이 경우, 코드 파일을 단순하게 전체 암호화하기 때문에, 암호화 키 값이 유출될 경우, 보안 위협에 무방비 상태가 된다. 하지만, 본 발명의 일 실시예에서는, 애플리케이션의 핵심 파일인 코드 파일에 대하여, 헤더의 특정 테이블 부분을 변조하는 것은 물론, 코드 파일 내 특정 부분과 치환하고 암호화하는 복합적인 방식으로 코드 역 분석 방지 기술이 적용되기 때문에, 암호화 키가 유출이 되더라도 정상 파일로 복구가 불가능하여 보안 위협으로부터 안전하게 된다. In addition, in order to prevent the inverse analysis of the conventional code, the code file which is the core file of the application is encrypted. In this case, since the code file is simply completely encrypted, when the encryption key value is leaked, do. However, in an embodiment of the present invention, a code table, which is a key file of an application, may be modified by modifying a specific table portion of a header, , Even if the encryption key is leaked, it can not be restored to a normal file, so that it is safe from a security threat.
안티 바이러스 모듈(412)은, 보안 서버(120)로부터 안티 바이러스 검사를 위한 검사명령을 수신하면, 보안 프로세스로서 제2 검사루틴을 실행하여 애플리케이션(111)에 위해를 가하는 악성코드가 단말(110)에 존재하는지를 데이터베이스에 기반하여 검사하고, 보안 프로세스의 실행결과정보로서 제2 검사결과정보를 보안 서버(120)로 전송한다. When the
안티 해킹 모듈(413)은, 보안 서버(120)로부터 안티 해킹 검사를 위한 검사명령을 수신하면, 보안 프로세스로서 제3 검사루틴을 실행하여 애플리케이션(111)에 위해를 가하는 해킹 툴이 단말(110)에 존재하는지를 데이터베이스에 기반하여 검사하고, 보안 프로세스의 실행결과정보로서 제3 검사결과정보를 상기 보안 서버(120)로 전송한다. When the
전술한 안티 해킹 및 안티 바이러스 기능은, 피 보호 대상이 되는 애플리케이션(111)이 실행되기 직전 또는 실행 중에, 단말(110)에서 현재 실행 중인 프로세스와 단말(110)에 설치되어 있는 악성 프로그램을 검사하는 것을 목적으로 하여, 현재 실행 중인 프로세스 중 피 보호 대상이 되는 애플리케이션(110)에 위해를 가할 수 있는 악성 코드 및 해킹 툴을 데이터베이스에 기반하여 탐지하거나, 현재 설치되어 있는 프로그램 중에서 피 보호 대상이 되는 애플리케이션(110)을 대상으로 하는 악성 코드 및 해킹 툴을 탐지하는 기능이다. The above-described anti-hacking and anti-virus function checks a malicious program installed in the terminal 110 and a process currently executed in the terminal 110 immediately before or during execution of the
악성 코드 및 해킹 툴의 탐지 방식은, 패키지 내 코드 파일의 무결성 값 또는 코드 파일 내 메소드 테이블 및 스트링 테이블 내용의 무결성 값을 비교하는 방식으로 이루어진다. Detection methods of malicious codes and hacking tools consist of a method of comparing integrity values of code files in a package or integrity values of contents of a method table and a string table in a code file.
위에서 언급한 코드 역 분석 방지 모듈(411), 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413) 각각의 동작 시점은, 애플리케이션(111)의 실행과 관련되어 있다. The operation timing of each of the code reverse
예를 들어, 애플리케이션(111)의 실행 요청이 발생하여 실제로 실행되기 이전에는, 코드 역 분석 방지 모듈(411)이 먼저 동작하고, 그 동작 결과, 코드 역 분석이 발생하지 않은 것으로 판단된 경우에만, 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413) 중 어느 하나가 먼저 동작하고 이어서 나머지 동작할 수 있다. 이때, 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413)이 동시에 동작할 수도 있다. 코드 역 분석 방지 모듈(411)의 동작 결과, 코드 역 분석이 발생한 것으로 판단된 경우에는, 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413)은 동작하지 않는다. For example, only when the code reverse
더욱 상세하게 설명하면, 애플리케이션(111)의 실행 요청이 발생하여 실제로 실행되기 이전에는, 코드 역 분석 방지 모듈(411)이 보안 서버(120)의 검사명령에 따라 제1 검사 루틴을 실행하고, 그 실행결과정보가 보안 서버(120)로 전달되어 보안 서버(120)에서 코드 역 분석이 발생하지 않은 것으로 판단되면, 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413)이 보안 서버(120)로부터 검사명령을 받아 제2 검사루틴 및 제3 검사루틴을 실행하여, 그 실행결과정보가 보안 서버(120)로 보내져 악성코드 및 해킹 툴이 전혀 존재하지 않는 것으로 판단되면, 애플리케이션(111)이 실행되어도 된다는 정보를 포함하는 애플리케이션 실행제어명령이 보안 클라이언트 모듈(112)의 애플리케이션 실행 제어 모듈(420)로 보내진다. 이에 따라, 애플리케이션 실행 제어 모듈(420)은, 애플리케이션(111)이 실행되도록 제어한다. More specifically, before the execution request of the
이렇게 애플리케이션(111)이 실행된 이후, 실행 도중에는, 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413)이 지속적으로 동작하여, 안티 바이러스 및 안티 해킹을 위한 검사가 실시간으로 이루어질 수 있다. After the
이때 보안 서버(120)는, 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413)로부터 해당 검사루틴의 실행결과정보를 전달받아, 애플리케이션(111)이 계속 실행되어도 되는지를 판단하고, 그 판단결과에 따라 실행제어명령을 보안 클라이언트 모듈(112)의 애플리케이션 실행 제어 모듈(420)로 전송한다. 이에 따라, 애플리케이션 실행 제어 모듈(420)은, 애플리케이션(111)의 실행 여부를 제어한다. At this time, the
전술한 바와 같이, 종래에는, 코드 역 분석 방지, 안티 바이러스, 안티 해킹 등의 주요한 보안 기능을 별도의 제품(애플리케이션 등)으로 제공하였으나, 이는 모바일 환경에서는 단말 성능의 한계와, 다각적으로 침입하는 해킹의 위험성 등 때문에 적합하지 않다. 따라서, 본 발명의 일 실시예에 따른 애플리케이션 보호를 위해, 코드 역 분석 방지, 안티 바이러스, 안티 해킹 등의 주요한 보안 기능이 하나의 보안 클라이언트 모듈(112)에서 밀접하게 연동하여 협조적으로 제공됨으로써, 단말 성능의 한계에도 다각적인 보안 위협에 효과적으로 대응할 수 있는 장점이 있다. As described above, in the related art, major security functions such as code reverse analysis prevention, anti-virus and anti-hacking are provided as separate products (applications). However, in a mobile environment, The risk of such a situation is not suitable. Therefore, in order to protect the application according to an embodiment of the present invention, major security functions such as code reverse analysis prevention, anti-virus and anti-hacking are cooperatively provided cooperatively in one
아래에서는, 이상에서 설명한 보안 서버(120)와 보안 클라이언트 모듈(112)이 서로 연동하여 애플리케이션 보안 기능을 제공하는 것에 대하여, 도 5 내지 도 8을 참조하여 더욱 상세하게 설명한다. Hereinafter, the
도 5는 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 클라이언트 모듈(112)과 보안 서버(120) 간의 연동을 개략적으로 나타낸 도면이다. 5 is a diagram schematically illustrating the interworking between the
도 5를 참조하면, 보안 서버(120)는, 보안 클라이언트 모듈(112)에서 실행되는 보안 프로세스를 위한 검사코드를 모두 저장해두고, 애플리케이션(111)의 최초 실행 부분에 삽입된 제어 코드가 단말(110)에 의해 읽혀지면, 보안 클라이언트 모듈(112)에서 실행되어야 하는 보안 프로세스를 위한 검사명령을 보안 클라이언트 모듈(112)로 전송한다(S510). 5, the
이때, 보안 서버(120)는, 보안 프로세스와 관련된 검사루틴을 실행하기 위해 암호화된 검사코드에 해당하는 암호화 데이터와 암호화 데이터를 복호화하기 위한 키를 보안 클라이언트 모듈(112)로 전달할 수 있다. At this time, the
보안 클라이언트 모듈(112)은, 보안 프로세스를 위한 검사명령과, 암호화 데이터와 키를 상기 보안 서버(120)로부터 수신하여, 키를 토대로 암호화 데이터를 복호화하여 검사명령에 의해 지시된 보안 프로세스와 관련된 검사루틴을 실행하여 보안 프로세스의 실행결과정보를 보안 서버(120)로 전송한다(S520).The
이와 관련하여, 종래에는, 보안에 필요한 보안 모듈(검사코드)이 평문 파일 형태로 저장되어 있기 때문에, 역 분석을 통해 취약점이 쉽게 도출될 수 있다. 하지만, 본 발명의 일 실시예에서는, 보안 모듈 방어를 위해 보안 서버(120)에서 암호화된 데이터를 전달해주고, 사용시, 보안 서버(120)에서 전달해주는 키를 이용하여 암호화된 데이터를 복호화하여 사용하기 때문에, 종래와 같은 역분석을 통한 취약점이 보완될 수 있다. In this regard, since a security module (an inspection code) required for security is conventionally stored in a plain text file format, a weak point can be easily obtained through inverse analysis. However, in an embodiment of the present invention, the
S520 단계에서, 보안 서버(120)는, 보안 클라이언트 모듈(112)로부터 수신한 실행결과정보를 확인한 결과, 애플리케이션(111)에 대한 역 코드 분석 또는 악성코드 또는 해킹 툴이 감지된 경우, 애플리케이션(111)이 실행되면 안 된다는 애플리케이션 실행제어명령을 보안 클라이언트 모듈(112)로 바로 전송할 수 있다(S530). In step S520, when the
S520 단계에서, 보안 서버(120)는, 보안 클라이언트 모듈(112)로부터 수신한 실행결과정보를 확인한 결과, 애플리케이션(111)에 대한 역 코드 분석 또는 악성코드 또는 해킹 툴이 감지되지 않은 경우, 애플리케이션(111)이 실행되어도 된다는 애플리케이션 실행제어명령을 보안 클라이언트 모듈(112)로 바로 전송할 수 있다(S530). In step S520, the
이때, 보안 서버(120)는, 보안 클라이언트 모듈(112)에서 실행되어야 하는 보안 프로세스가 더 있는 경우, 보안 서버(120)와 보안 클라이언트 모듈(112)은 S510 및 S520 단계를 반복적으로 수행할 수 있다. At this time, if there are more security processes to be executed in the
S530 단계에서, 보안 서버(120)는, 애플리케이션(111)이 실행되도록 하는 애플리케이션 실행제어명령을 보안 클라이언트 모듈(112)로 전송할 때, 보안 클라이언트 모듈(112)이 애플리케이션(111)의 코드 파일을 복호화하고 실행할 수 있도록 해주는 코드를 보안 클라이언트 모듈(112)로 전송해줄 수 있다. In step S530, when the
이에 따라, 보안 클라이언트 모듈(112)은, 보안 서버(120)로부터 받은 코드를 이용하여 애플리케이션(111)의 코드 파일을 복호화하여 애플리케이션(111)이 실행되도록 제어할 수 있다. Accordingly, the
도 6은 본 발명의 일 실시예에 따른 애플리케이션 보안을 통해 애플리케이션(111)이 실행되는 과정을 나타낸 도면이다. FIG. 6 is a diagram illustrating a process of executing an
도 6을 참조하면, 애플리케이션(111)의 실행 요청이 발생하면(S610), 즉, 애플리케이션(111)의 최초 실행 부분에 삽입된 제어 코드가 읽혀지면, 보안 클라이언트 모듈(112)이 동작하여 코드 역 분석 방지 기능이 실행된다(S620). 6, when an execution request of the
코드 역 분석 방지 기능이 실행되는 단계(S620)에서, 보안 클라이언트 모듈(112) 내부의 코드 역 분석 방지 모듈(411)은, 제어 코드의 실행에 따라 코드 역 분석 방지를 위한 검사명령을 보안 서버(120)로부터 수신하게 되고, 코드 역 분석 방지를 위한 검사명령에 따른 보안 프로세스로서 제1 검사루틴을 실행하여, 애플리케이션(111)에 대한 코드 역 분석 이벤트가 발생하였는지를 검사하고, 이에 따라, 보안 프로세스의 실행결과정보로서 제1 검사결과정보를 보안 서버(120)로 전송한다. In the step S620 in which the code reverse analysis prevention function is executed, the code reverse
보안 서버(120)는, 보안 클라이언트 모듈(112)로부터 수신한 제1 검사결과정보에 따라 애플리케이션(111)에 대한 코드 역 분석 이벤트가 발생한 지를 판단한다. The
보안 서버(120)는, 판단 결과, 제1 검사결과정보에 따라 애플리케이션(111)에 대한 코드 역 분석 이벤트가 발생한 것으로 판단되면, 애플리케이션(111)의 실행차단을 위한 애플리케이션 실행제어명령을 보안 클라이언트 모듈(112)로 전송할 수 있다. 이 경우, 안티 바이러스 및 안티 해킹 검사 기능 실행 단계(S630)는 수행되지 않는다. If it is determined that the code reverse analysis event for the
보안 서버(120)는, 판단 결과, 미발생한 것으로 판단되면, 안티 바이러스 검사 및 안티 해킹 검사 중 적어도 하나를 위한 검사명령을 보안 클라이언트 모듈(112)로 전송하여, 보안 클라이언트 모듈(112) 내부의 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413) 중 적어도 하나가 동작하도록 제어한다. 이에 따라, 안티 바이러스 및 안티 해킹 검사 기능이 실행된다(S630). The
안티 바이러스 및 안티 해킹 검사 기능 실행 단계(S630)에서, 보안 클라이언트 모듈(112) 내부의 안티 바이러스 모듈(412)은, 보안 서버(120)로부터 안티 바이러스 검사를 위한 검사명령을 수신하면, 보안 프로세스로서 제2 검사루틴을 실행하여 애플리케이션(111)에 위해를 가하는 악성코드가 단말(110)에 존재하는지를 데이터베이스에 기반하여 검사하고, 보안 프로세스의 실행결과정보로서 제2 검사결과정보를 보안 서버(120)로 전송한다. In step S630, the
또한, 안티 바이러스 및 안티 해킹 검사 기능 실행 단계(S630)에서, 보안 클라이언트 모듈(112) 내부의 안티 해킹 모듈(413)은, 보안 서버(120)로부터 안티 해킹 검사를 위한 검사명령을 수신하면, 보안 프로세스로서 제3 검사루틴을 실행하여 애플리케이션(111)에 위해를 가하는 해킹 툴이 단말(110)에 존재하는지를 데이터베이스에 기반하여 검사하고, 보안 프로세스의 실행결과정보로서 제3 검사결과정보를 보안 서버(120)로 전송한다. In step S630, the
보안 서버(120)는, 보안 클라이언트 모듈(112)의 코드 역 분석 방지 모듈(411)로부터 수신된 제1 검사결과정보에 따라 애플리케이션(111)에 대한 코드 역 분석 이벤트가 미발생한 것으로 판단되어(S620), 안티 바이러스 검사 및 안티 해킹 검사를 위한 검사명령을 보안 클라이언트 모듈(112)로 전송한 이후, 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413)로부터 제2 검사결과정보 및 제3 검사결과정보가 수신되면(S630), 수신된 제2 검사결과정보 및 제3 검사결과정보에 따라 애플리케이션(111)이 안전하다고 판단되면, 애플리케이션(111)이 실행되도록 하는 애플리케이션 실행제어명령을 보안 클라이언트 모듈(112)로 전송한다. 이에 따라, 보안 클라이언트 모듈(112)에 의해 애플리케이션(111)이 단말(110)에서 실행된다(S640).The
이와 같이, 애플리케이션(111)이 실행된 이후, 실행 도중에는, 안티 바이러스 모듈(412) 및 안티 해킹 모듈(413)이 지속적으로 동작하여, 안티 바이러스 및 안티 해킹을 위한 검사가 실시간으로 이루어질 수 있다(S650). After execution of the
도 7은 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 클라이언트 모듈(112)의 동작 절차를 나타낸 도면이다. 7 is a flowchart illustrating an operation procedure of a
도 7을 참조하면, 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 클라이언트 모듈(112)은, 단말 정보를 수집하고(S700), 이후, 보안 서버(120)에 접속하여(S702), 보안 서버(120)에서 내리는 명령에 대응되는 프로세스만을 실행하고 그 실행결과정보를 보안 서버(120)로 전달해준다. 7, the
도 7을 참조하면, 보안 클라이언트 모듈(112)은, 보안 서버(120)의 명령 데이터를 수신한다(S704). 이때, 수신한 명령 데이터는 방어코드 무결성 체크 명령, 방어코드 다운로드 명령, 방어코드 실행 명령 등에 대한 데이터일 수 있다. Referring to FIG. 7, the
만약, 보안 클라이언트 모듈(112)이 수신한 명령 데이터가 방어코드 무결성 체크 명령인 경우(S706), 방어코드 무결성 체크(검사)를 하여 방어코드 무결성 정보를 수집한다(S708). If the command data received by the
또한, 보안 클라이언트 모듈(112)이 수신한 명령 데이터가 방어코드 다운로드 명령인 경우(S710), 방어코드를 보안 서버(120)로부터 다운로드 받아 저장한다(S712). 이때, 보안 클라이언트 모듈(112)은 보안 서버(120)로부터 전달받은 방어코드는 암호화하여 저장한다. If the command data received by the
또한, 보안 클라이언트 모듈(112)이 수신한 명령 데이터가 방어코드 실행 명령인 경우(S714), 보안 클라이언트 모듈(112)은 보안 서버(120)로부터 전달받은 정보(암호화 키 등)를 이용하여 S712 단계에서 저장해둔 방어코드를 복호화하여 메모리에 로드한다(S716). If the command data received by the
보안 클라이언트 모듈(112)은, 복호화된 방어코드가 메모리에 로드된 이후, 복호화된 방어코드를 삭제한다(S718). After the decrypted defense code is loaded into the memory, the
이후, 보안 클라이언트 모듈(112)은 보안 서버(120)에서 전달받은 리소스(Resource)와 함께, 메모리에 로드된 방어코드를 실행한다(S720).Then, the
전술한 바와 같은, 방어코드 운영 방식은, 보안 서버(120)로부터 전달된 방어코드가 무단으로 분석될 수 없도록 하는 방식으로서, 방어코드에 대한 보안성을 향상시켜 줄 수 있다. As described above, the defense code operating method can improve the security of the defense code by preventing the defense code transmitted from the
한편, 보안 클라이언트 모듈(112)은, 보안 서버(120)에 접속한 이후, 애플리케이션(111)의 명령 데이터를 수신할 수도 있다(S730). 이 경우, 애플리케이션(111)의 명령 데이터는 메모리 보호(S732), 메모리 변조 체크(S734), 리소스 복호화(S736) 등에 대한 요청일 수 있다. Meanwhile, the
이와 관련하여, 보안 클라이언트 모듈(112)은, 현재 단말 시스템이 허용하지 않은 관리자 권한을 갖는 파일 또는 프로세스가 있는지 검사하는 루팅 탐지 기능, 피 보호 프로그램인 애플리케이션(111)의 실행 상태가 디버깅 모드 인지를 검사하는 디버깅 모드 탐지 기능, 피 보호 프로그램인 애플리케이션(111)이 사용되는 중요한 정보를 갖는 메모리 부분을 암호화하는 메모리 암호화 기능, 피 보호 프로그램인 애플리케이션(111)에서 일정 시간, 특정 행위 동안에 메모리가 변조되었는지를 검사하는 메모리 변조 탐지 기능, 피 보호 프로그램인 애플리케이션(111)에서 사용하는 파일에 대한 변조 여부를 검사하는 파일 변조 검사 기능 등을 수행할 수 있다. In this regard, the
도 8은 본 발명의 일 실시예에 따른 애플리케이션 보안을 위한 보안 서버(120)의 동작 절차를 나타낸 도면이다. 8 is a flowchart illustrating an operation procedure of the
도 8을 참조하면, 보안 서버(120)는, 보안 클라이언트 모듈(112)에서 실행해야하는 보안 프로세스를 위한 검사코드(방어코드)와 이 검사코드(방어코드)에서 사용할 리소스 정보, 그리고, 보안 클라이언트 모듈(112)에서 보내오는 보안 프로세사의 실행결과정보(방어코드 수행 결과값)를 비교한 이후, 그 결과에 따라, 보안 클라이언트 모듈(112)로 해당 명령을 전달한다. 8, the
도 8을 참조하면, 일단, 보안 서버(120)는, 단말(110)에서의 보안 클라이언트 모듈(112)에서 확인된 단말 정보에 대한 데이터를 보안 클라이언트 모듈(112)로부터 전달받는다(S800). Referring to FIG. 8, the
보안 서버(120)는, 보안 클라이언트 모듈(112)로부터 전달받은 단말 정보로 해당 사용자에 대한 키(사용자 키)를 생성한다(S802). The
이후, 보안 서버(120)는, 보안 클라이언트 모듈(112)에게 검사코드 무결성 검증을 요청한다(S804). Thereafter, the
이에 따라, 보안 서버(120)는, 보안 클라이언트 모듈(112)로부터 무결성 값에 대한 데이터를 수신한다(S806).Accordingly, the
이후, 보안 서버(120)는, 소스코드가 정상 파일인지 또는 최신 파일인지를 판단한다(S810). 여기서, 소스코드는 검사코드 또는 방어코드일 수 있으며, 경우에 따라서, 애플리케이션(111)의 코드파일일 수도 있다. Thereafter, the
보안 서버(120)는, S810 단계의 판단 결과, 소스코드가 정상 파일 또는 최신 파일이 아닌 것으로 판단되면, 해당 소스코드를 사용하려는 시도횟수가 일정 횟수(예: 5회) 이상인지를 추가로 더 판단한다(S812).If it is determined in step S810 that the source code is not a normal file or a latest file, the
보안 서버(120)는, S812 단계에서의 판단 결과, 일정 횟수 이상 시도가 이루어진 경우, 보안 클라이언트 모듈(112)로 현재 이루어지고 있는 프로세스(애플리케이션 실행과 관련된 보안 프로세스)를 종료하라는 명령을 전송한다(S828). As a result of the determination in step S812, the
보안 서버(120)는, S810 단계의 판단 결과, 소스코드가 정상 파일 또는 최신 파일인 것으로 판단되거나, S812 단계에서의 판단 결과, 시도 횟수가 일정 횟수 미만으로 판단된 경우, 보안 서버(120)에 저장된 소스코드를 보안 클라이언트 모듈(112)로 전달하면서 소스코드에 대한 저장 명령을 내린다(S814). If it is determined in step S810 that the source code is a normal file or a latest file, or if it is determined in step S812 that the number of attempts is less than a predetermined number, the
이후, 보안 서버(120)는, 저장된 파일의 무결성 데이터를 수신하고(S816), 해당 스텝에서의 소스코드를 실행하라는 명령을 보안 클라이언트 모듈(112)로 전송한다(S820). Thereafter, the
이후, 보안 서버(120)는, 소스코드의 결과값을 검사하고(S822), 결과값이 정상인지를 판단하여(S824), 결과값이 정상이 아닌 것으로 판단된 경우에는, 보안 클라이언트 모듈(112)로 현재 이루어지고 있는 프로세스(애플리케이션 실행과 관련된 보안 프로세스)를 종료하라는 명령을 전송한다(S828). Thereafter, the
보안 서버(120)는, S8204 단계에서의 판단 결과, 결과값이 정상으로 판단된 경우, 다음 소스코드가 존재하는지를 판단하여(S826), 다음 소스코드가 존재하지 않을 때까지 S804 단계부터 다시 반복하여 수행한다. If it is determined in step S8204 that the resultant value is normal, the
이상에서는, 본 발명의 일 실시예에 따른 애플리케이션 보안을 제공하는 방법과, 이를 위한 보안 서버(120) 및 보안 클라이언트 모듈(112)에 대하여 설명하였다. In the foregoing, a method of providing application security according to an embodiment of the present invention, and a
한편, 본 발명의 일 실시예에 따른 애플리케이션 보안을 제공하는 방법은, 단말(110)에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼에 포함되거나 운영체제 등에 포함되거나 호환되는 프로그램일 수 있음)에 의해 실행될 수 있고, 또한, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 단말기(110)의 운영체제와 호환 가능하고 단말(110)에 직접 설치한 애플리케이션(111)에 의해 실행될 수 있다. Meanwhile, a method of providing application security according to an embodiment of the present invention may include an application installed in the terminal 110 (which may be included in a platform that is basically installed in the terminal, or included in an operating system, And an
여기서, 단말(110)의 운영체제는, 데스크 탑 등의 일반 PC에 설치되는 윈도우(Window), 매킨토시(Macintosh) 등의 운영체제이거나, 스마트폰, 태블릿 PC 등의 모바일 단말기에 설치되는 iOS, 안드로이드(Android) 등의 모바일 전용 운영체제 등일 수도 있다. Here, the operating system of the terminal 110 may be an operating system such as a window installed on a general PC such as a desktop or a Macintosh, an iOS installed on a mobile terminal such as a smart phone or a tablet PC, ), And the like.
이러한 의미에서, 본 발명의 일 실시예에 따른 애플리케이션 보안을 제공하는 방법은, 단말(110)에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고, 단말(110) 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. In this regard, a method of providing application security according to an embodiment of the present invention is implemented as an application installed in the terminal 110 or directly installed by a user (i.e., a program) And can be recorded on a computer-readable recording medium.
즉, 본 발명의 일 실시예에 따른 애플리케이션 보안 방법을 실행시키기 위한 보안 클라이언트 모듈(112)은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. That is, the
본 발명의 일 실시예에 따른 애플리케이션 보안 방법을 구현한 프로그램은, 보안 서버(120)로부터 수신된 검사명령에 따라 보안 프로세스를 실행하는 기능과, 보안 프로세스의 실행결과정보를 상기 보안 서버(120)로 전송하는 기능과, 보안 서버(120)로부터 수신한 애플리케이션 실행제어명령에 따라, 애플리케이션의 실행을 제어하는 기능 등을 실행한다. 이뿐만 아니라, 이상에서 설명한 본 발명의 일 실시예에 따른 애플리케이션 보안 방법에 대응되는 모든 기능을 실행할 수 있다. The program for implementing an application security method according to an embodiment of the present invention includes a function of executing a security process according to an inspection command received from the
이러한 프로그램은 컴퓨터에 의해 읽힐 수 있는 기록매체에 기록되고 컴퓨터에 의해 실행됨으로써 전술한 기능들이 실행될 수 있다. Such a program may be recorded on a recording medium that can be read by a computer and executed by a computer so that the above-described functions can be executed.
이와 같이, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 본 발명의 일 실시예에 따른 애플리케이션 보안 방법을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. As described above, in order to execute an application security method according to an embodiment of the present invention in which a computer reads a program recorded on a recording medium and is embodied as a program, the above-mentioned program is stored in a computer- C ++, JAVA, machine language, and the like.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. The code may include a function code related to a function or the like that defines the functions described above and may include an execution procedure related control code necessary for the processor of the computer to execute the functions described above according to a predetermined procedure.
또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. In addition, such code may further include memory reference related code as to what additional information or media needed to cause the processor of the computer to execute the aforementioned functions should be referenced at any location (address) of the internal or external memory of the computer .
또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈(예: 유선 및/또는 무선 통신 모듈)을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다. In addition, when a processor of a computer needs to communicate with any other computer or server, etc., to perform the above-described functions, the code may be stored in a computer's communication module (e.g., a wired and / ) May be used to further include communication related codes such as how to communicate with any other computer or server in the remote, and what information or media should be transmitted or received during communication.
그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.The functional program for implementing the present invention and the related code and code segment may be implemented by programmers in the technical field of the present invention in consideration of the system environment of the computer that reads the recording medium and executes the program, Or may be easily modified or modified by the user.
또한 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 하나 이상의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 하나 이상에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다. Also, the computer-readable recording medium on which the above-described program is recorded may be distributed to a computer system connected via a network so that computer-readable codes can be stored and executed in a distributed manner. In this case, one or more of the plurality of distributed computers may execute some of the functions presented above and send the results of the execution to one or more of the other distributed computers, The computer may also perform some of the functions described above and provide the results to other distributed computers as well.
이상에서 전술한 바와 같은, 본 발명의 일 실시예에 따른 애플리케이션 보안 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다. As described above, the computer-readable recording medium on which the program for executing the application security method according to an embodiment of the present invention is recorded may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk , And optical media storage devices.
또한, 본 발명의 일 실시예에 따른 애플리케이션 보안 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 애플리케이션 스토어 서버(Application Store Server), 애플리케이션 또는 해당 서비스와 관련된 웹 서버(Web Server) 등을 포함하는 애플리케이션 제공 서버(Application Provider Server)에 포함된 저장매체(예: 하드디스크 등)이거나, 애플리케이션 제공 서버 그 자체일 수도 있으며, 프로그램을 기록한 다른 컴퓨터 또는 그 저장매체일 수도 있다. In addition, a computer-readable recording medium storing an application, which is a program for executing an application security method according to an embodiment of the present invention, includes an application store server, an application or a web server (For example, a hard disk) included in an application provider server including an application server, a server, or the like, an application providing server itself, or another computer storing the program or a storage medium thereof.
본 발명의 일 실시예에 따른 애플리케이션 보안 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC 뿐만 아니라, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기를 포함할 수 있으며, 이뿐만 아니라, 컴퓨팅(Computing) 가능한 모든 기기로 해석되어야 할 것이다. A computer capable of reading a recording medium on which an application, which is a program for executing an application security method according to an embodiment of the present invention, can be read is not limited to a general PC such as a general desktop or a notebook computer but also a smart phone, Digital assistants, and mobile communication terminals. In addition, the present invention should be interpreted as all devices capable of computing.
만약, 본 발명의 일 실시예에 따른 애플리케이션 보안을 제공하는 방법을 실행시키기 위한 프로그램(보안 클라이언트 모듈(112)에 대한 프로그램) 또는 이를 내장하는 애플리케이션(111)을 기록한 기록매체를 읽을 수 있는 컴퓨터가 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기인 경우, 모바일 단말기는 애플리케이션 스토어 서버, 웹 서버 등을 포함하는 애플리케이션 제공 서버로부터 해당 애플리케이션을 다운로드 받아 설치할 수 있고, 경우에 따라서는, 애플리케이션 제공 서버에서 일반 PC로 다운로드 된 이후, 동기화 프로그램을 통해 모바일 단말기에 설치될 수도 있다. If a computer capable of reading a recording medium on which a program (a program for the security client module 112) for executing a method of providing application security according to an embodiment of the present invention or an
이상에서 설명한 바와 같이 본 발명에 의하면, 신속한 보안 대응이 가능하도록 서버 위주의 애플리케이션 보안을 제공하는 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체를 제공하는 효과가 있다. As described above, according to the present invention, it is possible to provide an application security system, a security server, a security client device, and a recording medium that provide server-oriented application security to enable rapid security response.
또한, 본 발명에 의하면, 각기 다른 보안 기능이 긴밀하게 연동하여 동작하여 보안성을 높여줄 수 있는 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체를 제공하는 효과가 있다. According to another aspect of the present invention, there is provided an application security system, a security server, a security client device, and a recording medium, which can enhance security by operating in cooperation with each other.
또한, 본 발명에 의하면, 보안 기능을 수행하기 위해 단말에 저장되어야 하는 보안 관련 데이터를 줄여주고 보안 기능을 위해 단말의 부하를 줄여주어, 스마트 폰, 태블릿 PC 등의 모바일 환경에 적합한 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체를 제공하는 효과가 있다. In addition, according to the present invention, an application security system suitable for a mobile environment such as a smart phone, a tablet PC, and the like by reducing the security related data to be stored in the terminal to perform the security function and reducing the load of the terminal for the security function, A security server, a security client device, and a recording medium.
이상에서의 설명 및 첨부된 도면은 본 발명의 기술 사상을 예시적으로 나타낸 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 구성의 결합, 분리, 치환 및 변경 등의 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the inventions. , Separation, substitution, and alteration of the invention will be apparent to those skilled in the art. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. 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 (14)
상기 보안 클라이언트 모듈과 통신하여, 상기 보안 클라이언트 모듈에서 상기 보안 프로세스가 실행되도록 상기 검사명령을 상기 보안 클라이언트 모듈로 전송하고, 상기 보안 클라이언트 모듈로부터 수신된 상기 실행결과정보에 따라 상기 애플리케이션의 실행 여부를 판단하여 상기 애플리케이션 실행제어명령을 상기 보안 클라이언트 모듈로 전송하는 보안 서버를 포함하되,
상기 애플리케이션은, 코드 파일의 일부분 또는 전체에 대한 파일 내용이 치환되어 암호화된 것을 특징으로 하는 애플리케이션 보안 시스템.A security client module that executes a security process according to receipt of an inspection command to transmit execution result information and controls an application installed in the terminal to be executed according to an application execution control command according to the execution result information; And
Communicating with the security client module, transmitting the inspection command to the security client module so that the security process is executed in the security client module, and determining whether to execute the application according to the execution result information received from the security client module And a security server for transmitting the application execution control command to the security client module,
Wherein the application is encrypted by replacing a file content of a part or all of the code file.
상기 애플리케이션이 최초 실행되는 부분에, 상기 보안 클라이언트 모듈이 동작하도록 하고, 상기 보안 서버와 통신하여 상기 보안 프로세스와 관련된 검사루틴을 실행하도록 하는 상기 검사명령이 상기 보안 서버로부터 수신되도록 하는 제어 코드가 삽입된 것을 특징으로 하는 애플리케이션 보안 시스템. The method according to claim 1,
A control code for causing the security client module to operate in a portion where the application is initially executed and to cause the inspection command to be received from the security server to communicate with the security server to execute an inspection routine related to the security process, The application security system comprising:
상기 보안 서버는,
상기 보안 프로세스를 위한 검사코드를 모두 저장해두고, 상기 애플리케이션의 최초 실행 부분에 삽입된 상기 제어 코드가 상기 단말에 의해 읽혀지면, 상기 검사명령을 상기 보안 클라이언트 모듈로 전송하고,
상기 보안 프로세스와 관련된 검사루틴을 실행하기 위해 암호화된 검사코드에 해당하는 암호화 데이터와 상기 암호화 데이터를 복호화하기 위한 키를 상기 보안 클라이언트 모듈로 전달하며, 상기 보안 프로세스의 상기 실행결과정보를 상기 보안 클라이언트 모듈로부터 수신하여 상기 애플리케이션 실행제어명령을 상기 보안 클라이언트 모듈로 전송하고,
상기 보안 클라이언트 모듈은,
상기 검사명령과, 상기 암호화 데이터 및 상기 키를 상기 보안 서버로부터 수신하여, 상기 키를 토대로 상기 암호화 데이터를 복호화하여, 상기 보안 프로세스와 관련된 검사루틴을 실행하고,
상기 보안 프로세스의 상기 실행결과정보를 상기 보안 서버로 전송하고, 상기 보안 서버로부터 상기 애플리케이션 실행제어명령이 수신되면, 상기 애플리케이션 실행제어명령에 따라 상기 단말에서 상기 애플리케이션이 실행되는 것을 제어하는 것을 특징으로 하는 애플리케이션 보안 시스템.3. The method of claim 2,
The security server includes:
Storing the inspection code for the security process and transmitting the inspection command to the security client module when the control code inserted in the initial execution part of the application is read by the terminal,
And transmits the encrypted resultant information of the security process to the security client module, wherein the security client module transmits the encrypted resultant data to the security client module in order to execute the check routine related to the security process, Module to send the application execution control command to the secure client module,
The secure client module comprising:
Receiving the inspection command, the encrypted data and the key from the security server, decrypting the encrypted data based on the key, executing an inspection routine related to the security process,
And transmits the execution result information of the security process to the security server and controls the execution of the application in the terminal according to the application execution control command when the application execution control command is received from the security server. Application security system.
상기 애플리케이션은,
상기 코드 파일의 일부분 또는 전체에 대한 파일 내용에 대한 저장 위치가 변경됨으로써 파일 내용이 치환된 것을 특징으로 하는 애플리케이션 보안 시스템.The method according to claim 1,
The application comprises:
And the contents of the file are replaced by changing the storage location of the file contents with respect to a part or the whole of the code file.
상기 보안 클라이언트 모듈이 상기 보안 서버로부터 수신하는 상기 검사명령은, 코드 역 분석 방지를 위한 검사명령, 안티 바이러스 검사를 위한 검사명령 및 안티 해킹 검사를 위한 검사명령 중 하나인 것을 특징으로 하는 애플리케이션 보안 시스템.The method according to claim 1,
Wherein the inspection command received by the security client module from the security server is one of an inspection command for preventing code reverse analysis, an inspection command for anti-virus inspection, and an inspection command for anti-hacking inspection. .
상기 보안 서버는,
상기 코드 역 분석 방지를 위한 검사명령을 먼저 전송한 이후, 상기 보안 클라이언트 모듈로부터 수신된 상기 실행결과정보로부터 상기 애플리케이션에 대한 코드 역 분석 이벤트가 미발생한 것으로 판단되면, 상기 안티 바이러스 검사 및 상기 안티 해킹 검사 중 적어도 하나를 위한 검사명령을 상기 보안 클라이언트 모듈로 전송하고,
상기 보안 클라이언트 모듈로부터 수신된 상기 실행결과정보로부터 상기 애플리케이션에 대한 코드 역 분석 이벤트가 발생한 것으로 판단되면, 상기 애플리케이션의 실행을 차단하도록 하는 상기 애플리케이션 실행제어명령을 상기 보안 클라이언트 모듈로 전송하는 것을 특징으로 하는 애플리케이션 보안 시스템.The method according to claim 6,
The security server includes:
If it is determined from the execution result information received from the security client module that a code reverse analysis event for the application has not occurred yet after transmitting the check command for preventing code reverse analysis first, Sending a check command for at least one of the checks to the secure client module,
And transmits the application execution control command to the secure client module to block execution of the application when it is determined that a code de-parsing event for the application is generated from the execution result information received from the secure client module Application security system.
상기 보안 서버는,
상기 안티 바이러스 검사를 위한 검사명령과 상기 안티 해킹 검사를 위한 검사명령 모두를 전송한 이후, 상기 보안 클라이언트 모듈로부터 수신된 상기 실행결과정보를 통해 바이러스 및 해킹으로부터 상기 애플리케이션이 모두 안전하다고 판단되면, 상기 애플리케이션이 실행되어도 된다는 상기 애플리케이션 실행제어명령을 상기 보안 클라이언트 모듈로 전송하는 것을 특징으로 하는 애플리케이션 보안 시스템.8. The method of claim 7,
The security server includes:
If it is determined that all the applications are safe from the virus and hacking through the execution result information received from the secure client module after transmitting both the inspection command for the anti-virus inspection and the inspection command for the anti-hacking inspection, And transmits the application execution control command to the secure client module that the application can be executed.
상기 보안 클라이언트 모듈이 보안 프로세스를 실행하도록 검사명령을 상기 보안 클라이언트 모듈로 전송하여 상기 보안 클라이언트 모듈에서의 상기 보안 프로세스에 대한 실행결과정보를 수신하고, 상기 실행결과정보에 따라 상기 단말에서의 애플리케이션의 실행 여부를 판단하여 애플리케이션 실행제어명령을 상기 통신부를 통해 상기 보안 클라이언트 모듈로 제공하는 제어부를 포함하되,
상기 애플리케이션은, 코드 파일의 일부분 또는 전체에 대한 파일 내용이 치환되어 암호화된 것을 특징으로 하는 보안 서버.A communication unit for communicating with a security client module installed in the terminal; And
Wherein the secure client module transmits an inspection command to the secure client module so as to execute the security process, receives execution result information for the security process in the secure client module, And an application execution control command to the security client module through the communication unit,
Wherein the application is encrypted by replacing a file content of a part or all of the code file.
상기 보안 클라이언트 모듈이 실행할 상기 보안 프로세스를 위한 모든 검사코드를 저장하여 관리하는 저장부를 더 포함하는 보안 서버.10. The method of claim 9,
And a storage unit for storing and managing all the inspection codes for the security process to be executed by the security client module.
상기 검사명령은,
코드 역 분석 방지, 안티 바이러스 검사 및 안티 해킹 검사 중 하나 이상을 위한 검사명령인 것을 특징으로 하는 보안 서버.10. The method of claim 9,
The inspection command includes:
A code reverse analysis prevention, an anti-virus check, and an anti-hacking check.
상기 검사명령은,
방어코드 무결성 체크 명령, 방어코드 다운로드 명령 및 방어코드 실행 명령을 더 포함하는 것을 특징으로 하는 보안 서버.10. The method of claim 9,
The inspection command includes:
A defense code integrity check command, a defense code download command, and a defense code execution command.
상기 검사명령을 보안 서버로부터 수신하고, 상기 실행결과정보를 상기 보안 서버로 전송하며, 상기 애플리케이션 실행제어명령을 상기 보안 서버로부터 수신하는 통신부를 포함하되,
상기 애플리케이션은, 코드 파일의 일부분 또는 전체에 대한 파일 내용이 치환되어 암호화된 것을 특징으로 하는 보안 클라이언트 장치.A control unit for executing the security process according to the inspection command to output the execution result information and controlling the execution of the designated application according to the application execution control command; And
And a communication unit for receiving the inspection command from the security server, transmitting the execution result information to the security server, and receiving the application execution control command from the security server,
Wherein the application is encrypted by replacing a file content of a part or all of the code file.
보안 서버로부터 수신된 검사명령에 따라 보안 프로세스를 실행하는 기능과,
상기 보안 프로세스의 실행결과정보를 상기 보안 서버로 전송하는 기능과,
상기 보안 서버로부터 수신한 애플리케이션 실행제어명령에 따라, 코드 파일의 일부분 또는 전체에 대한 파일 내용이 치환되어 암호화되어 있는 애플리케이션의 실행을 제어하는 기능을 구현하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A recording medium on which a program for executing an application security method is recorded,
A function of executing a security process according to a check command received from a security server,
A function of transmitting execution result information of the security process to the security server;
And a control unit for controlling execution of an application in which a file content of a part or all of the code file is replaced and encrypted according to an application execution control command received from the security server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140014734A KR101451323B1 (en) | 2014-02-10 | 2014-02-10 | Application security system, security server, security client apparatus, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140014734A KR101451323B1 (en) | 2014-02-10 | 2014-02-10 | Application security system, security server, security client apparatus, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101451323B1 true KR101451323B1 (en) | 2014-10-16 |
Family
ID=51997834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140014734A KR101451323B1 (en) | 2014-02-10 | 2014-02-10 | Application security system, security server, security client apparatus, and recording medium |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101451323B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101626967B1 (en) * | 2015-01-21 | 2016-06-02 | 넷마블게임즈 주식회사 | Method and apparatus for operating application to prevent hacking |
EP3270318A4 (en) * | 2015-03-13 | 2018-11-07 | Everspin Corp. | Dynamic security module terminal device and method for operating same |
KR20190061211A (en) * | 2017-11-27 | 2019-06-05 | 주식회사 엔에스에이치씨 | Automatic analyizing system and method of security weekness of application |
KR20200080776A (en) * | 2018-12-27 | 2020-07-07 | 한국전력공사 | Data security apparatus |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070102294A (en) * | 2006-04-14 | 2007-10-18 | (주)비디디지털연구소 | Software tamperproof method for client-server |
KR20110076976A (en) * | 2008-10-29 | 2011-07-06 | 인터내셔널 비지네스 머신즈 코포레이션 | System, method and program product for detecting presence of malicious software running on a computer system |
KR101311365B1 (en) | 2012-09-21 | 2013-09-25 | 주식회사 안랩 | Method and apparatus for providing file management in mobile device |
KR101351243B1 (en) | 2012-07-30 | 2014-01-13 | 오유록 | Method and system for application authentication |
-
2014
- 2014-02-10 KR KR1020140014734A patent/KR101451323B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070102294A (en) * | 2006-04-14 | 2007-10-18 | (주)비디디지털연구소 | Software tamperproof method for client-server |
KR20110076976A (en) * | 2008-10-29 | 2011-07-06 | 인터내셔널 비지네스 머신즈 코포레이션 | System, method and program product for detecting presence of malicious software running on a computer system |
KR101351243B1 (en) | 2012-07-30 | 2014-01-13 | 오유록 | Method and system for application authentication |
KR101311365B1 (en) | 2012-09-21 | 2013-09-25 | 주식회사 안랩 | Method and apparatus for providing file management in mobile device |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101626967B1 (en) * | 2015-01-21 | 2016-06-02 | 넷마블게임즈 주식회사 | Method and apparatus for operating application to prevent hacking |
EP3270318A4 (en) * | 2015-03-13 | 2018-11-07 | Everspin Corp. | Dynamic security module terminal device and method for operating same |
EP3270317A4 (en) * | 2015-03-13 | 2018-11-07 | Everspin Corp. | Dynamic security module server device and operating method thereof |
EP3270319A4 (en) * | 2015-03-13 | 2018-11-07 | Everspin Corp. | Method and apparatus for generating dynamic security module |
KR20190061211A (en) * | 2017-11-27 | 2019-06-05 | 주식회사 엔에스에이치씨 | Automatic analyizing system and method of security weekness of application |
KR102054768B1 (en) * | 2017-11-27 | 2019-12-12 | 주식회사 엔에스에이치씨 | Automatic analyizing system and method of security weekness of application |
KR20200080776A (en) * | 2018-12-27 | 2020-07-07 | 한국전력공사 | Data security apparatus |
KR102570688B1 (en) | 2018-12-27 | 2023-08-28 | 한국전력공사 | Data security apparatus |
KR20230127951A (en) * | 2018-12-27 | 2023-09-01 | 한국전력공사 | Data security apparatus |
KR102585404B1 (en) | 2018-12-27 | 2023-10-10 | 한국전력공사 | Data security apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10341321B2 (en) | System and method for policy based adaptive application capability management and device attestation | |
US10445502B1 (en) | Susceptible environment detection system | |
US10482260B1 (en) | In-line filtering of insecure or unwanted mobile device software components or communications | |
JP6147309B2 (en) | Computer program, system, method and apparatus | |
US7743413B2 (en) | Client apparatus, server apparatus and authority control method | |
RU2680736C1 (en) | Malware files in network traffic detection server and method | |
US9058504B1 (en) | Anti-malware digital-signature verification | |
JP2018501591A (en) | System and method for accuracy assurance of detection of malicious code | |
EP2946327A1 (en) | Systems and methods for identifying and reporting application and file vulnerabilities | |
EP3270318B1 (en) | Dynamic security module terminal device and method for operating same | |
KR20180113295A (en) | Security system and method for protecting personal information of file stored in external storage device | |
KR101451323B1 (en) | Application security system, security server, security client apparatus, and recording medium | |
EP2873023B1 (en) | Technique for determining a malign or non-malign behavior of an executable file | |
KR102531376B1 (en) | System for monitoring information security and network security based on network connection and method thereof | |
KR101893100B1 (en) | Scada control system for building facilities management and method for managing security policies of the system | |
Wang et al. | TVIDS: Trusted virtual IDS with SGX | |
Sasi et al. | A Comprehensive Survey on IoT Attacks: Taxonomy, Detection Mechanisms and Challenges | |
KR101881279B1 (en) | Apparatus and method for inspecting the packet communications using the Secure Sockets Layer | |
Jarvis et al. | Inside a targeted point-of-sale data breach | |
JP6635029B2 (en) | Information processing apparatus, information processing system, and communication history analysis method | |
Aron et al. | Overview of security on mobile devices | |
Powers et al. | Whitelist malware defense for embedded control system devices | |
Mancini | Modern mobile platforms from a security perspective | |
Khan et al. | A Review of Android and iOS Operating System Security | |
Vij et al. | Smartphone nabbing: analysis of intrusion detection and prevention systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170918 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190925 Year of fee payment: 6 |