KR20160110276A - Method and apparatus for generating Dynamic Secure Module - Google Patents
Method and apparatus for generating Dynamic Secure Module Download PDFInfo
- Publication number
- KR20160110276A KR20160110276A KR1020160030572A KR20160030572A KR20160110276A KR 20160110276 A KR20160110276 A KR 20160110276A KR 1020160030572 A KR1020160030572 A KR 1020160030572A KR 20160030572 A KR20160030572 A KR 20160030572A KR 20160110276 A KR20160110276 A KR 20160110276A
- Authority
- KR
- South Korea
- Prior art keywords
- security module
- security
- user terminal
- dynamic security
- dynamic
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000004891 communication Methods 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 241000700605 Viruses Species 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 230000009385 viral infection Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 208000015181 infectious disease Diseases 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process 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/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
- 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/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
-
- 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
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
-
- 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/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- 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
-
- 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/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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 다이나믹 보안모듈 생성장치 및 생성방법에 관한 것으로, 더욱 상세하게는 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 생성하여 사용자 단말의 보안 클라이언트로 전송하고, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 다이나믹 보안모듈 생성방법 및 생성장치에 관한 것이다.The present invention relates to an apparatus and method for generating a dynamic security module, and more particularly, to a dynamic security module in which a part or all of a source code for performing security management has a certain effective time, A dynamic security module generation method and a dynamic security module generation method capable of remarkably improving the security of the user terminal by making the security module for various application programs of the user terminal updated from time to time, ≪ / RTI >
최근, 모바일 단말인 스마트폰은 현대 생활에 없어서는 안될 필수품으로 자리잡았으며 전 세계적으로 널리 보급되고 있다. 그러나, 스마트폰의 보안 취약성이 계속적으로 발견되면서 악성 어플리케이션을 통한 공격이 급증하고 있다.In recent years, smart phones, which are mobile terminals, have become indispensable to modern life and are becoming widespread throughout the world. However, as smartphone security vulnerabilities continue to be detected, attacks from malicious applications are increasing rapidly.
해커들은 모바일 단말을 대상으로 악성 어플리케이션을 개발하여 악성코드를 삽입한 후 이를 일반 사용자에게 오픈 마켓 또는 인터넷을 통해 정상 어플리케이션인 것처럼 위장해 배포한다. 악성 어플리케이션이 모바일 단말에 저장된 경우에, 모바일 단말 내의 악성 어플리케이션은 사용자도 모르게 SMS 송수신 정보, 전화번호부, 인터넷 접속 기록 등의 개인정보뿐만 아니라 모바일 뱅킹 등에 사용되는 모바일 공인인증서 등의 금융정보를 외부서버로 유출시키는 공격을 시도할 수 있다.Hackers develop malicious applications for mobile terminals, insert malicious code, and distribute them to ordinary users by pretending to be normal applications through open markets or the Internet. When a malicious application is stored in a mobile terminal, the malicious application in the mobile terminal may send financial information such as SMS transmission / reception information, a phone book, an Internet access record, The attacker may attempt to attack the vehicle.
대부분의 어플리케이션 보안 솔루션은 어플리케이션이 실행되면 어플리케이션의 보안모듈과 통신하여 보안 로직을 호출하고 결과를 응답한다. 그러나, 해커들의 공격으로 보안 모듈과의 통신이 강제적으로 차단되거나 변조된 어플리케이션으로 인해 보안모듈이 무력화 된다면, 개인신상정보 및 금융과 관련된 개인정보에 치명적인 취약점이 발생하게 된다. Most application security solutions communicate with the security module of the application when the application is executed, invoke the security logic, and respond to the results. However, if the communication with the security module is forcibly blocked or tampered with by the attack of hackers, if the security module is disabled, personal information related to personal information and financial information will be fatal.
따라서, 최근 국내외적으로 널리 보급되고 있는 모바일 단말 기반 사용자 환경에서 보안 취약 문제를 해결하고, 사용자 단말에 포함된 다양한 소프트웨어의 보안성을 향상시킬 수 있는 기술개발에 대한 필요성이 크게 대두되고 있다.Therefore, there is a great need for technology development that can solve the security weakness problem and enhance the security of various software included in the user terminal in a mobile terminal based user environment, which has been widely used in domestic and foreign countries recently.
본 발명의 목적은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 생성하여 사용자 단말의 보안 클라이언트로 전송하고, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 다이나믹 보안모듈 생성방법 및 생성장치를 제공하기 위한 것이다.It is an object of the present invention to provide a dynamic security module, in which a part or all of a source code for performing security management has a certain effective time, and transmits the generated dynamic security module to a security client of a user terminal A dynamic security module generation method and a dynamic security module generation method capable of remarkably improving the security of the user terminal by making the security module for various application programs of the user terminal updated from time to time, Device.
이러한 목적을 달성하기 위하여 본 발명에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지는 것으로 구성된다.According to another aspect of the present invention, there is provided a method of generating a dynamic security module, the dynamic security module being allocated to a user terminal so that code executed for security in a user terminal is not identical every time, A step of allocating a certain value to at least one of the variables in which a part or all of the changeable part of the code configuring the security module is designated as a variable and configuring a dynamic security module transmitted to the user terminal Some or all of the code has a valid time.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.The modifiable portion of the dynamic security module includes a function name of a code, a variable designating an algorithm to be executed, a protocol field, a variable designating a protocol sequence, a variable designating a compile level, and a variable designating an execution code obfuscation method It can be a code that can change one or more selected elements.
상기 유효시간은 상기 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 하는 유효시간일 수 있다.The validity time may be a validity time such that part or all of the code is deleted or not used at the expiration of the validity time.
상기 생성방법은 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하는 단계 및 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 단계를 더 포함할 수 있다.The generating method may further include generating a secure session with the security client of the user terminal and transmitting the dynamic security module to the security client of the user terminal in which the secure session is generated.
상기 생성방법은 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함할 수 있다.The generating method further includes receiving a security management result from the dynamic security module transmitted to the security client, checking the received security management result, and transmitting the security management confirmation result value to the dynamic security module of the security client .
상기 생성방법은 상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함할 수 있다.The generating method may further include transmitting a stop command to the dynamic security module of the secure client to stop the application program of the user terminal when a security problem occurs in the user terminal.
상기 생성방법은 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성할 수 있다.The generating method may generate and store a session ID as a secure session identifier, and send the session ID to the secure client so that the secure client stores the session ID, thereby generating the secure session.
상기 생성방법은 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 단계를 더 포함할 수 있다.The generating method may further include storing parameters for each of the dynamic security modules transmitted to the secure client while the secure session is maintained.
상기 생성방법은 상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다.The generation method may further include verifying that the history transmitted from the security client is identical to the configuration of the parameters of the dynamic security module.
본 발명은 또한, 상기 목적을 달성하기 위하여, 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 장치로서, 네트워크를 통해 보안관리 이벤트를 송수신 하는 커뮤니케이션 유닛 및 상기 커뮤니케이션 유닛을 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 하는 다이나믹 보안모듈 생성장치를 제공한다.In order to achieve the above object, the present invention also provides a device for generating a dynamic security module to be allocated to a user terminal so that code executed for security in a user terminal is not the same every time, And a processor for controlling the communication unit, wherein the processor is configured such that a part or all of the changeable part of the code constituting the dynamic security module is designated as a variable, and at least one of the variables has a constant value And a dynamic security module generation device for causing a part or all of the codes constituting the dynamic security module transmitted to the user terminal to have a valid time.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.The modifiable portion of the dynamic security module includes a function name of a code, a variable designating an algorithm to be executed, a protocol field, a variable designating a protocol sequence, a variable designating a compile level, and a variable designating an execution code obfuscation method It can be a code that can change one or more selected elements.
상기 프로세서는 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하고, 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 것을 더 포함할 수 있다.The processor may further comprise generating a security session with the security client of the user terminal and transmitting the dynamic security module to the security client of the user terminal from which the secure session is generated.
상기 프로세서는 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함할 수 있다.The processor may further include receiving a security management result from the dynamic security module transmitted to the security client, checking the received security management result, and transmitting the security management confirmation result value to the dynamic security module of the security client .
상기 프로세서는 상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함할 수 있다.The processor may further include, when a security problem occurs in the user terminal, transmitting a stop command to the dynamic security module of the secure client to stop the application program of the user terminal.
상기 프로세서는 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성할 수 있다.The processor may generate and store a session ID as a secure session identifier and send the session ID to the secure client so that the secure client stores the session ID, thereby creating the secure session.
상기 프로세서는 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 것을 더 포함할 수 있다.The processor may further comprise storing parameters for each of the dynamic security modules transmitted to the secure client while the secure session is maintained.
상기 프로세서는 상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다.The processor may further include verifying that the history transmitted from the security client is the same as the configuration of the parameters of the dynamic security module.
상기 다이나믹 보안모듈 생성장치는 상기 사용자 단말의 보안 클라이언트로 전송할 다이나믹 보안모듈, 보안 세션 식별자로서 세션 아이디, 및 다이나믹 보안모듈에 대한 파라미터를 저장하는 스토리지를 더 포함할 수 있다.The dynamic security module generation apparatus may further include a dynamic security module to be transmitted to the security client of the user terminal, a session ID as a security session identifier, and a storage for storing parameters for the dynamic security module.
본 발명은 또한, 상기와 같은 목적을 달성하기 위해, 상기 다이나믹 보안모듈 생성방법을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 제공한다.The present invention also provides a computer-readable recording medium on which a program for executing the dynamic security module creation method is recorded.
본 발명에 따른 다이나믹 보안모듈 생성방법 및 생성장치는 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 생성하여 사용자 단말의 보안 클라이언트로 전송하고, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 효과가 있다.The dynamic security module generating method and the generating apparatus according to the present invention generate a dynamic security module in which a part or all of the source code for performing security management has a certain effective time and transmit the generated dynamic security module to the security client of the user terminal, The security module for the programs is updated frequently so that the hacking of the application programs becomes difficult and the security of the user terminal can be remarkably improved.
도 1은 본 발명의 제1 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도이다.
도 2는 본 발명의 제2 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도이다.
도 3은 본 발명의 다이나믹 보안모듈 생성장치의 개략적인 구성을 나타낸 모식도이다.
도 4는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 함수로 이루어진 동적 코드 생성예를 나타낸 모식도이다.
도 5는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 알고리즘으로 이루어진 동적 알고리즘 생성예를 나타낸 모식도이다.
도 6은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 컴파일 레벨을 갖는 동적 컴파일 파라미터 생성예를 나타낸 모식도이다.
도 7은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 세션 아이디 및 다이나믹 보안모듈 파라미터 생성예를 나타낸 모식도이다.
도 8은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 필드 생성예를 나타낸 모식도이다.
도 9는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 시퀀스 생성예를 나타낸 모식도이다.1 is a block diagram illustrating a procedure of a method for generating a dynamic security module according to a first and a second example of the present invention.
FIG. 2 is a block diagram showing a procedure of a method for generating a dynamic security module according to a second example of the present invention.
3 is a schematic diagram showing a schematic configuration of an apparatus for generating a dynamic security module according to the present invention.
4 is a schematic diagram illustrating an example of dynamic code generation with different functions in a dynamic security module generation method according to an embodiment of the present invention.
FIG. 5 is a schematic diagram illustrating an example of generating a dynamic algorithm composed of different algorithms in the dynamic security module creation method according to an embodiment of the present invention.
6 is a schematic diagram illustrating an example of dynamic compilation parameter generation having different compile levels in the dynamic security module generation method according to an embodiment of the present invention.
7 is a schematic diagram illustrating an example of generating a session ID and a dynamic security module parameter in the dynamic security module creation method according to an embodiment of the present invention.
8 is a schematic diagram illustrating an example of generating a dynamic security module protocol field in the method of generating a dynamic security module according to an embodiment of the present invention.
9 is a schematic diagram illustrating an example of generating a dynamic security module protocol sequence in the method of generating a dynamic security module according to an embodiment of the present invention.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하기로 한다. 또한 본 발명의 실시예들을 설명함에 있어 구체적인 수치는 실시예에 불과하다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying 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. In the following description of the embodiments of the present invention, specific values are only examples.
도 1에는 본 발명의 제1 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도가 도시되어 있고, 도 2에는 본 발명의 제2 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도가 도시되어 있다.FIG. 1 is a block diagram showing a procedure of a method for generating a dynamic security module according to a first exemplary embodiment of the present invention. FIG. 2 is a block diagram illustrating a procedure of a method for generating a dynamic security module according to a second exemplary embodiment of the present invention Respectively.
이들 도면을 참조하면, 본 발명의 제1 실시예에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계(S100)를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 상기 다이나믹 보안모듈을 생성하여 저장하는 단계(S110)로 구성된다.Referring to these drawings, a method for generating a dynamic security module according to a first embodiment of the present invention includes a method for generating a dynamic security module allocated to the user terminal so that code executed for security in a user terminal is not identical every time (S100) of allocating a constant value to at least one of the variables, wherein a part or all of the changeable part of the code configuring the dynamic security module is designated as a variable, and the step And generating and storing the dynamic security module so that a part or all of the codes constituting the transmitted dynamic security module have a valid time (S110).
즉, 본 발명에 따른 다이나믹 보안모듈 생성방법은 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있는 다이나믹 보안모듈에서 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함함으로써, 상기 사용자 단말의 보안 클라이언트에서 보안관리를 수행하는 코드들이 동적으로 랜덤하게 선택되도록 하여 해커에 의한 다이나믹 보안모듈에 대한 해킹을 매우 어렵게 하므로, 다이나믹 보안모듈을 탑재하는 사용자 단말의 보안성을 현저하게 향상시킬 수 있다.That is, in the dynamic security module creation method according to the present invention, in the dynamic security module in which a part or all of the changeable part of the code configuring the dynamic security module is designated as a variable, a certain value is assigned to at least one of the variables The codes for performing security management in the security client of the user terminal are dynamically and randomly selected so that it is very difficult to hack the dynamic security module by the hacker. Therefore, the security of the user terminal equipped with the dynamic security module Can be remarkably improved.
또한, 사용자 단말의 보안 클라이언트에서 자주 갱신되며 보안관리를 수행하는 다이나믹 보안모듈의 코드 구성을 서로 다르게 하여, 무수히 많은 종류의 코드 구성을 가진 서로 다른 다이나믹 보안모듈을 생성할 수 있는 장점이 있다.Also, there is an advantage that different dynamic security modules having numerous kinds of code configurations can be generated by making code configurations of the dynamic security modules frequently updated in the security client of the user terminal and performing security management different from each other.
구체적으로, 상기 사용자 단말의 보안 클라이언트에 보안관리를 수행하는 각각의 기능에 대한 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정된 코드를 사용하며, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하므로, 무수히 많은 종류의 다이나믹 보안모듈을 생성할 수 있다.Specifically, a code assigned to a part or all of the changeable part of the code for each function for performing security management to the security client of the user terminal is used, and a predetermined value is assigned to at least one of the variables Steps, so that a myriad of types of dynamic security modules can be created.
예를 들어, 다이나믹 보안모듈의 변경 가능한 코드들 중 일부(r) 또는 전부(n)를 변수로 지정한 코드를 사용하므로 아래와 같은 조합 공식에 의해 다수의 변경 가능한 코드들의 조합(nCr)을 만들어 사용할 수 있다.For example, we use a code that specifies some (r) or all (n) of the mutable codes of the dynamic security module as variables, so we can create and use a number of mutable code combinations (nCr) have.
여기서 r은 (n≥r)Where r is (n > = r)
또한, 상기 다이나믹 보안모듈의 생성방법을 수행하기 위한 장치에 저장된 변경 가능한 코드들에 대한 여러 가지 종류의 코드들(a)을 이용하여 변수로 지정된 코드에 일정한 값을 할당할 경우에 할당된 값(b)의 종류는 아래와 같은 조합(aCb)들로 만들어질 수 있다.In addition, when a certain value is assigned to a code designated by a variable by using various kinds of codes (a) for the changeable codes stored in the device for performing the method of generating the dynamic security module, b) can be made of the following combinations (aCb).
여기서, b는 (a≥b)Where b is (a > = b)
따라서, 상기 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 무수히 많은 종류로 생성될 수 있는 특징이 있다.Therefore, the dynamic security module generation method is characterized in that a large number of codes can be generated for security in a user terminal.
또한, 상기 다이나믹 보안모듈은 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 구성되어 있으므로, 상기 사용자 단말의 보안 클라이언트로 전송된 다이나믹 보안모듈이 자주 갱신되도록 하여, 보안모듈의 해킹이나 컴퓨터 바이러스 감염 등으로 인한 사용자 단말에 탑재된 응용 프로그램들에 대한 보안문제 발생을 효과적으로 방지할 수 있는 특징이 있다.In addition, since the dynamic security module is configured such that some or all of the codes constituting the dynamic security module transmitted to the user terminal have a valid time, the dynamic security module transmitted to the security client of the user terminal is frequently updated , Security problems with respect to application programs installed in a user terminal due to hacking of a security module, infection of a computer virus, and the like can be effectively prevented.
상기 다이나믹 보안모듈의 변경 가능한 부분은 예를 들어, 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.Variable portions of the dynamic security module include, for example, a function name of a code, a variable specifying an algorithm to be executed, a protocol field, a variable specifying a protocol sequence, a variable specifying a compile level, and a variable specifying an execution code obfuscation method And a code that can change at least one element selected from the group consisting of < RTI ID = 0.0 >
즉, 상기 사용자 단말의 보안 클라이언트에서 보안관리를 위해 구동하는 다이나믹 보안모듈을 구성하는 코드들 중 구동 시작점을 구현하는 코드들과 같이 다이나믹 보안모듈이 새롭게 갱신될 경우에도 변경되지 않고, 고정되는 코드를 제외한 나머지 변경 가능한 코드는 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경하여 무수히 많은 종류의 다이나믹 보안모듈로 생성할 수 있다.That is, even when the dynamic security module is newly updated, such as codes for implementing a driving start point, among the codes constituting the dynamic security module driven for security management in the security client of the user terminal, Except for the changeable code, the changeable code includes a function name of a code, a variable designating an algorithm to be executed, a protocol field, a variable designating a protocol sequence, a variable specifying a compile level, and a variable designating a method of obfuscating an execution code It is possible to create a myriad of types of dynamic security modules by modifying the above elements.
여기서, 상기 프로토콜 필드는 상기 다이나믹 보안모듈이 상기 보안 클라이언트에서 수행하는 보안관리의 다양한 항목들에 대한 수행방법 등의 규약으로서 예를 들어, 상기 보안 클라이언트를 포함하는 응용 프로그램에 대한 해킹 위협이 될 수 있는 요소의 존재 여부를 판별한 결과를 전송하는 통신 규약, 상기 응용 프로그램에 대한 파일 바이러스, 부트 앤 파일(Boot & file) 바이러스 등에 대한 자체 치료 내역을 전송하는 통신 규약일 수 있다.Herein, the protocol field is a protocol such as a method of performing various items of security management performed by the dynamic security module in the security client. For example, the protocol field may be a hacking threat to an application program including the security client A communication protocol for transmitting a result of determining whether an element exists, a file protocol for the application program, a boot & file virus, and the like.
또한, 상기 프로토콜 시퀀스는 상기 다이나믹 보안모듈(118)이 상기 보안 클라이언트에서 수행하는 보안관리를 포함하는 다양한 항목들에 대한 수행순서를 의미하는 것으로서, 예를 들어, 상기 응용프로그램이 설치된 단말기의 O/S 위변조, 앱(App)의 위변조, 루팅(Rooting), 디버거(debugger), 루트 프로세스 실행이력, 유해 어플리케이션 설치, 유해 어플리케이션 실행이력, 유해 포트, 세션 위변조, 입력값 위변조 및 컴퓨터 바이러스로 이루어진 해킹 위협이 될 수 있는 요소의 검출에 있어서, 상기 각각의 요소들을 검출하는 순서일 수 있다.In addition, the protocol sequence refers to the order of execution of various items including the security management performed by the dynamic security module 118 in the security client. For example, the protocol sequence may include an O / S Hacking threats consisting of forgery, app tampering, rooting, debugger, history of root process execution, installation of harmful applications, history of harmful application execution, malicious port, forgery, input value forgery and computer virus In the detection of the possible elements, it may be the order of detecting the respective elements.
또한, 상기 컴파일 레벨은 다이나믹 보안모듈의 소스 코드를 상기 보안 클라이언트에서 실행 가능한 기계어로 빌드 시, 원활한 보안관리 기능의 실행을 위하여 컴파일러를 이용하여 최적화여 컴파일 하게 된다. 이 때, 코드의 optimization level 이외에 다양한 level의 코드 들이 생성될 수 있으며, 다이나믹 보안모듈을 구성하는 코드의 컴파일 레벨을 다르게 구현함으로써, 서로 다른 무수히 많은 종류의 다이나믹 보안모듈을 생성할 수 있다. 또한, 이와 같은 소스 코드의 서로 다른 컴파일 레벨의 구현은 예를 들어, 상기 다이나믹 보안모듈을 생성하기 위한 서버장치뿐만이 아니라 사용자 상기 단말의 보안 클라이언에서도 구현될 수 있다.In addition, when the source code of the dynamic security module is built as a machine language executable in the security client, the compile level is optimized and compiled using a compiler for smooth security management function execution. In this case, various levels of codes can be generated in addition to the optimization level of the code, and various different types of dynamic security modules can be created by implementing different compile levels of the code constituting the dynamic security module. In addition, implementation of different compile levels of the source code may be implemented not only in the server device for generating the dynamic security module but also in the security client of the user terminal.
또한, 상기 다이나믹 보안모듈의 보안관리를 수행하는 코드의 일부 또는 전부의 유효시간은 예를 들어, 1시간, 3시간, 6시간, 9시간, 12시간, 24시간, 48시간 및 72 시간으로 이루어진 군에서 선택된 시간 간격으로 설정하여 이러한 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 구성할 수도 있다. 따라서, 이와 같은 다이나믹 보안모듈의 유효시간 만료 시, 상기 보안 클라이언트는 다이나믹 보안모듈에 대한 사용을 중지하고, 상기 다이나믹 보안모듈 서버장치로부터 새로운 다이나믹 보안모듈을 전송 받아 갱신함으로써, 다이나믹 보안모듈의 해킹이나 바이러스 감염으로 인한 상기 사용자 단말의 보안문제 발생을 효과적으로 방지할 수 있다.Also, the effective time of part or all of the code for performing the security management of the dynamic security module is, for example, 1 hour, 3 hours, 6 hours, 9 hours, 12 hours, 24 hours, 48 hours and 72 hours And the code may be partially or entirely deleted or not used at the time when the effective time has elapsed. Accordingly, at the expiration of the expiration time of the dynamic security module, the security client suspends the use of the dynamic security module and updates and receives a new dynamic security module from the dynamic security module server device, The occurrence of a security problem of the user terminal due to the virus infection can be effectively prevented.
본 발명의 제2 실시예에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계(S200)를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 하고, 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하는 단계(210) 및 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 단계(220)를 더 포함하는 것으로 구성될 수 있다.A method for generating a dynamic security module according to a second embodiment of the present invention is a method for generating a dynamic security module to be allocated to a user terminal so that code executed for security in a user terminal is not identical every time, And a dynamic security module transmitted to the user terminal, the dynamic security module being configured such that a part or all of the changeable part of the code configuring the module is designated as a variable and a constant value is assigned to at least one of the variables, (210) of generating a security session with a security client of the user terminal so that all or part of the code constituting the security session has a valid time, and transmitting the dynamic security module to a security client of the user terminal (Step 220).
즉, 본 발명의 제2 실시예에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말의 보안 클라이언트에서 보안관리를 수행하는 코드의 일부 또는 전부가 일정한 유효시간을 가지도록 다이나믹 보안모듈을 생성하여, 사용자 단말의 구동 시, 또는 사용자 단말에서 상기 보안 클라이언트를 포함하는 응용 프로그램의 구동 시, 또는 사용자 단말의 사용자 요청 시, 또는 상기 다이나믹 보안모듈 서버장치에서 설정한 일정 주기마다, 또는 사용자 단말에서 설정한 일정 주기마다 등의 다양한 경우에 사용자 단말의 보안 클라이언트와 보안 세션을 생성하여, 상기 다이나믹 보안모듈을 상기 사용자 단말의 보안 클라이언트로 전송함으로써, 상기 다이나믹 보안모듈이 자주 갱신되도록 하여, 보안모듈의 해킹이나 컴퓨터 바이러스 감염 등으로 인한 사용자 단말에 탑재된 응용 프로그램들에 대한 보안문제 발생을 더욱 효과적으로 방지할 수 있는 특징이 있다.That is, in the method of generating a dynamic security module according to the second embodiment of the present invention, a dynamic security module is generated so that a part or all of security management code in a security client of a user terminal has a certain effective time, At the time of driving the application program including the security client at the user terminal, at the user's request of the user terminal, at the predetermined period set at the dynamic security module server device, The dynamic security module is frequently updated by transmitting the dynamic security module to the security client of the user terminal so that a hacking of the security module or a computer virus To the user terminal due to infection etc. There is a feature that can more effectively prevent the occurrence of a security problem with the loaded application programs.
또한, 상기 생성방법은 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하는 단계(230), 상기 수신한 보안관리 결과를 확인하여 보안문제 발생여부를 확인하는 단계(240), 및 사용자 단말에 보안문제가 발생하지 않은 경우, 보안문제가 발생하지 않았음을 알리는 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계(S250)로 수행된다.The method may further include receiving (230) a security management result from the dynamic security module transmitted to the security client, checking (240) whether a security problem has occurred by checking the received security management result, If the security problem does not occur in the terminal, a security management confirmation result value indicating that the security problem does not occur is transmitted to the dynamic security module of the security client (S250).
여기서, 상기 사용자 단말에 보안문제가 발생한 경우에는, 보안문제가 발생하였음을 알리는 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계(S251)가 수행된다.Here, if a security problem occurs in the user terminal, a step S251 of transmitting a security management confirmation result value indicating that a security problem has occurred to the dynamic security module of the security client is performed.
또한, 상기 사용자 단말에 보안문제가 발생한 경우, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계(S252)가 더 수행될 수 있다.In addition, if a security problem occurs in the user terminal, step S252 may be further performed to transmit a stop command to stop the application program of the user terminal to the dynamic security module of the secure client.
즉, 본 발명에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말의 보안 클라이언트로 전송한 다이나믹 보안모듈로부터 보안관리 결과를 수신하여 이를 확인하고, 보안관리 확인 결과값을 다시 다이나믹 보안모듈로 전송함으로써, 다이나믹 보안모듈이 상기 사용자 단말의 보안문제 발생시 신속하고 효과적으로 대처하도록 할 수 있다.That is, in the method of generating a dynamic security module according to the present invention, a security management result received from a dynamic security module transmitted to a security client of a user terminal is received and confirmed, and the result of the security management confirmation is transmitted to the dynamic security module, The security module can quickly and effectively cope with a security problem of the user terminal.
이와 관련하여, 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 상기 보안관리로서 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 상기 사용자 단말에 보안문제가 발생한 경우, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하고, 상기 보안 클라이언트와의 보안 세션을 파기하는 것을 더 포함함으로써, 해커가 다이나믹 보안모듈을 해킹하여 사용자 단말의 각종 응용 프로그램들에 대한 보안문제를 발생시키는 문제를 근본적으로 방지할 수 있다.In this regard, a security management result is received from the dynamic security module transmitted to the security client as the security management, and the received security management result is checked. When a security problem occurs in the user terminal, Further comprising transmitting a stop command to stop the program to the dynamic security module of the secure client and discarding the secure session with the secure client so that the hacker hackes the dynamic security module, It is possible to fundamentally prevent the problem of generating a security problem with respect to the user.
즉, 상기 사용자 단말의 보안문제 발생시, 상기 사용자 단말에 탑재된 응용 프로그램의 구동을 신속하게 정지하도록 함으로써, 상기 응용 프로그램의 구동에 의한 상기 사용자 단말에 탑재된 다른 응용 프로그램들에 대한 추가적인 보안문제의 확산을 방지하고, 상기 보안 세션을 파기하여 해커에 의한 다이나믹 보안모듈 또는 다이나믹 보안모듈 서버장치에 대한 추적 및 분석을 신속하게 차단할 수 있다.That is, when the security problem of the user terminal occurs, the application program loaded on the user terminal is quickly stopped, thereby preventing an additional security problem with respect to other application programs loaded on the user terminal by driving the application program. The security session can be discarded and the tracking and analysis of the dynamic security module or the dynamic security module server device by the hacker can be quickly blocked.
여기서, 보안관리는 상기 다아나믹 보안모듈이 상기 보안 클라이언트를 포함하는 응용 프로그램에 대한 해킹 위협이 될 수 있는 요소의 존재 여부를 감지하는 것, 상기 응용 프로그램이 설치된 단말기의 O/S 위변조, 앱(App)의 위변조, 루팅(Rooting), 디버거(debugger), 루트 프로세스 실행이력, 유해 어플리케이션 설치, 유해 어플리케이션 실행이력, 유해 포트, 세션 위변조, 입력값 위변조 및 컴퓨터 바이러스로 이루어진 해킹 위협이 될 수 있는 요소를 검출하는 것, 상기 해킹 위협이 될 수 있는 요소에 대한 정보를 상기 다이나믹 보안모듈 서버장치로 전송하는 것, 상기 응용 프로그램에 대한 바이러스를 치료하는 것, 상기 용응 프로그램에 대한 해킹 위협과 바이러스 감염문제를 방지하기 위해 상기 응용 프로그램에 대한 정지명령을 전송하는 것, 상기 다아나믹 보안모듈의 유효시간 만료 또는 해커에 의한 해킹, 바이러스 감염 등의 문제로 인해 다이나믹 보안모듈 자체의 기능을 정지하는 것 등과 같은 상기 다이나믹 보안모듈이 상기 사용자 단말의 보안을 위해 수행하는 전반적인 관리를 포함하는 개념이다.Here, the security management may include detecting whether the dynamic security module has an element that may be a hacking threat to the application program including the security client, O / S forgery of the terminal in which the application program is installed, Which can be a threat of forgery consisting of forgery and falsification of an application (App), rooting, debugger, history of root process execution, installation of harmful applications, history of harmful application execution, Detecting an element, transmitting information about an element that may be a threat of hacking to the dynamic security module server device, treating the virus for the application program, threatening hacking for the application program and virus infection Sending a stop command for the application program to prevent a problem, The overall security of the dynamic security module performed by the dynamic security module for the security of the user terminal due to the expiration of the effective time of the dynamic security module, the hacking by the hacker, the virus infection, or the like, .
또한, 상기 사용자 단말로부터 수신된 보안관리 이벤트는 예를 들어, 상기 보안 클라이언트로부터 전송된 다이나믹 보안모듈에 대한 파라미터를 판단하기 위한 내역, 다이나믹 보안모듈이 구동되고 있는 상태에 대한 스테이트(state) 내역, 해킹 위협이 있었음을 알리는 보안관리 결과 정보, 및 상기 사용자 단말에 탑재된 응용 프로그램에 대한 바이러스 치료 내역 등의 다양한 이벤트일 수 있다.Also, the security management event received from the user terminal may include, for example, a description for determining a parameter for the dynamic security module transmitted from the security client, a state description about a state in which the dynamic security module is running, Security management result information indicating that a hacking threat has occurred, and a virus treatment history for an application program installed in the user terminal.
또한, 상기 보안관리 결과는 상기 다이나믹 보안모듈이 상기 보안 클라이언트에서 실제 수행한 보안관리의 내역으로서, 상기 다이나믹 보안모듈에 포함되어 있는 세부적인 보안관리 기능들을 수행한 결과값이며, 보안관리 이벤트의 일부분이다. 예를 들어, 상기 해킹 위협이 될 수 있는 요소의 존재 여부에 대한 감지 결과, 상기 해킹 위협이 될 수 있는 요소를 검출 결과, 상기 응용 프로그램에 대한 바이러스 치료 및 해킹 위협이 될 수 있는 요소의 제거 결과 등의 내역일 수 있다.Also, the security management result is a result of security management performed by the dynamic security module in the security client, and is a result value of performing detailed security management functions included in the dynamic security module. to be. For example, as a result of detection of existence of an element that may be a threat of hacking, a detection result of an element that may be a threat of hacking, a virus treatment for the application program, and a removal result And the like.
또한, 상기 보안관리 확인 결과값은 상기 다이나믹 보안모듈 서버장치가 상기 보안관리 결과를 수신하여, 상기 보안관리 결과를 기초로 분석한 상기 사용자 단말의 보안문제 발생여부에 대한 판단결과이다. 즉, 상기 사용자 단말에 현재 해킹 위협이 될 수 있는 요소가 존재 하는지에 대한 판단결과, 사용자 단말에 탑재된 응용 프로그램이 해킹되었는지에 대한 판단결과, 및 상기 응용 프로그램이 바이러스나, 악성코드에 감염되었는지에 대한 판단결과 일 수 있다.In addition, the security management confirmation result value is a result of determining whether a security problem has occurred in the user terminal, which has received the security management result by the dynamic security module server device and analyzed based on the security management result. That is, as a result of the determination as to whether there is an element that may present a hacking threat to the user terminal, a result of the determination as to whether or not the application program loaded on the user terminal is hacked and the result of the determination that the application program is infected with a virus or a malicious code As shown in FIG.
상기 다이나믹 보안모듈의 생성방법은 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 함으로써, 보안 세션을 생성할 수 있다. 이러한 세션 아이디를 이용하여 보안 세션을 생성하는 방법은 여러 개의 보안 세션을 생성하여 보안 세션을 자주 갱신함으로써, 상기 다이나믹 보안모듈에 의한 상기 사용자 단말에 대한 보안관리의 신뢰성과 편의성을 향상시킬 수 있는 장점이 있다.The dynamic security module may generate a secure session by generating and storing a session ID as a secure session identifier, and transmitting the session ID to the secure client so that the secure client stores the session ID. A method for creating a secure session using the session ID includes generating a plurality of security sessions to frequently update a secure session, thereby improving the reliability and convenience of security management for the user terminal by the dynamic security module .
여기서, 상기 보안 세션의 생성은 인증이 완료된 사용자 단말의 보안 클라이언트와 생성하는 것으로 이루어질 수 있다. 즉, 상기 보안 세션의 생성은 사용자 단말에 대한 보안성을 한 단계 더 향상시킬 수 있도록, 다이나믹 보안모듈을 전송하기 위한 사용자 단말의 보안 클라이언트에 대한 인증 과정을 더 수행할 수 있다.Here, the security session may be generated by a security client of the authenticated user terminal. That is, the security session may be further authenticated to the security client of the user terminal for transmitting the dynamic security module so that the security of the user terminal can be further improved.
또한, 상기 사용자 단말의 보안 클라이언트의 인증은 예를 들어, 상기 보안 클라이언트가 포함된 응용 프로그램인 어플리케이션이 상기 사용자 단말에 설치됨과 동시에 인증이 완료되거나, 또는 상기 어플리케이션이 상기 사용자 단말에 설치된 후, 최초 구동 시 인증이 완료되거나, 또는 상기 어플리케이션에 대한 로그인(log in) 및 로그아웃(log out) 시 인증이 완료되거나, 또는 상기 어플리케이션이 상기 사용자 단말에 설치된 후, 상기 어플리케이션을 통한 사용자의 요청에 의해 인증이 완료될 수 있다.Also, the authentication of the security client of the user terminal may be performed, for example, after the application, which is an application program including the security client, is installed in the user terminal and authentication is completed, or after the application is installed in the user terminal, Upon completion of authentication upon activation or upon completion of authentication upon log in and log out of the application or after the application is installed on the user terminal, Authentication can be completed.
상기 생성방법은 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터가 저장되도록 하는 단계를 더 포함할 수 있다.The generating method may further include storing parameters for each of the dynamic security modules transmitted to the secure client while the secure session is maintained.
여기서, 다이나믹 보안모듈에 대한 파라미터는 상기 보안 클라이언트로 전송되어 보안관리를 수행하고 있는 다이나믹 보안모듈의 보안관리를 수행하기 위한 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수 등에 대한 구체적인 정보에 관한 것으로, 자주 갱신되어 서로 다른 구성을 갖는 각각의 다이나믹 보안모듈들을 서로 구분하기 위한 것이며, 상기 다이나믹 보안모듈 서버장치에서 결정되는 정보로서, 상기 다이나믹 보안모듈의 보안관리를 수행하는 코드의 실행 시의 정보이다.Here, the parameters for the dynamic security module are a function name of a code for performing security management of a dynamic security module transmitted to the security client and performing security management, a variable designating a algorithm to be executed, a protocol field, and a protocol sequence Variable, a variable for specifying a compile level, and a variable for designating an obfuscation method of an executable code, and is for distinguishing each dynamic security module that is frequently updated and has a different configuration from each other, Information determined at the server device, information at the time of execution of code for performing security management of the dynamic security module.
또한, 상기 프로세서는 상기 보안 클라이언트로 전송된 다이나믹 보안모듈들에 대한 내역을 수신하여, 상기 저장한 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다. 이러한 다이나믹 보안모듈의 파라미터의 변경 내용 검증은 예를 들어, 각각의 파라미터가 A-B-C-D와 같이 순차적으로 전송된 다이나믹 보안모듈들의 파라미터가 상기 보안 클라이언트로부터 전송된 내역과 비교했을 때, 동일하지 않고 다르게 변경된 것으로 확인된 경우, 해커에 의한 해킹 시도 등이 있었음을 유추할 수 있으며, 이에 대한 조치를 수행할 수 있다.The processor may further receive the details of the dynamic security modules transmitted to the security client and verify whether the dynamic security modules are the same as the configuration of the parameters of the stored dynamic security module. The verification of the change of the parameter of the dynamic security module may be performed, for example, when the parameters of the dynamic security modules, in which each parameter is sequentially transmitted as ABCD, are not the same as the details transmitted from the security client, If it is confirmed, it can be inferred that there is a hacking attempt by the hacker, and the countermeasure can be performed.
도 3에는 본 발명의 다이나믹 보안모듈 생성장치의 개략적인 구성을 나타낸 모식도가 도시되어 있다.3 is a schematic diagram showing a schematic configuration of an apparatus for generating a dynamic security module according to the present invention.
도 3을 참조하면, 본 발명에 따른 다이나믹 보안모듈 생성장치(310)는 사용자 단말(350)에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말(350)에 할당되는 다이나믹 보안모듈(318)을 생성하는 장치로서, 네트워크를 통해 보안관리 이벤트를 송수신 하는 커뮤니케이션 유닛(312) 및 상기 커뮤니케이션 유닛(312)을 제어하는 프로세서(314)를 포함하고, 상기 프로세서(314)는 상기 다이나믹 보안모듈(318)을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하며, 상기 사용자 단말(350)에 전송된 다이나믹 보안모듈(318)을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 구성될 수 있다.3, an
즉, 본 발명에 따른 다이나믹 보안모듈 생성장치(310)는 프로세서(314)가 사용자 단말(350)의 보안 클라이언트(352)에서 보안관리를 수행하는 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈(318)들을 저장하거나, 전송 시마다 생성하여, 사용자 단말(350)의 구동 시, 또는 사용자 단말(350)에서 상기 보안 클라이언트(352)를 포함하는 응용 프로그램의 구동 시, 또는 사용자 단말(350)의 사용자 요청 시, 또는 상기 다이나믹 보안모듈 서버장치(310)에서 설정한 일정 주기마다, 또는 사용자 단말(350)에서 설정한 일정 주기마다 등의 다양한 경우에 사용자 단말(350)의 보안 클라이언트(352)와 보안 세션을 생성하여, 상기 다이나믹 보안모듈(318)을 상기 사용자 단말(350)의 보안 클라이언트(352)로 전송함으로써, 상기 다이나믹 보안모듈(318)이 자주 갱신되도록 하여, 보안모듈의 해킹이나 컴퓨터 바이러스 감염 등으로 인한 사용자 단말에 탑재된 응용 프로그램들에 대한 보안문제 발생을 효과적으로 방지할 수 있는 특징이 있다.That is, the dynamic security
상기 다이나믹 보안모듈의 변경 가능한 부분은 예를 들어, 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.Variable portions of the dynamic security module include, for example, a function name of a code, a variable specifying an algorithm to be executed, a protocol field, a variable specifying a protocol sequence, a variable specifying a compile level, and a variable specifying an execution code obfuscation method And a code that can change at least one element selected from the group consisting of < RTI ID = 0.0 >
즉, 상기 사용자 단말의 보안 클라이언트에서 보안관리를 위해 구동하는 다이나믹 보안모듈을 구성하는 코드들 중 구동 시작점을 구현하는 코드들과 같이 다이나믹 보안모듈이 새롭게 갱신될 경우에도 변경되지 않고, 고정되는 코드를 제외한 나머지 변경 가능한 코드는 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경하여 무수히 많은 종류의 다이나믹 보안모듈로 생성할 수 있다.That is, even when the dynamic security module is newly updated, such as codes for implementing a driving start point, among the codes constituting the dynamic security module driven for security management in the security client of the user terminal, Except for the changeable code, the changeable code includes a function name of a code, a variable designating an algorithm to be executed, a protocol field, a variable designating a protocol sequence, a variable specifying a compile level, and a variable designating a method of obfuscating an execution code It is possible to create a myriad of types of dynamic security modules by modifying the above elements.
상기 사용자 단말(350)로부터 수신된 보안관리 이벤트는 예를 들어, 상기 보안 클라이언트(352)로부터 전송된 다이나믹 보안모듈(318)에 대한 파라미터를 판단하기 위한 내역, 다이나믹 보안모듈(318)이 구동되고 있는 상태에 대한 스테이트(state) 상태 내역, 해킹 위협이 있었음을 알리는 보안관리 결과 정보, 및 상기 사용자 단말(150)에 탑재된 응용 프로그램에 대한 바이러스 치료 내역 등의 다양한 이벤트일 수 있다.The security management event received from the
또한, 상기 사용자 단말(350)은 예를 들어, 스마트폰, 테블릿 PC, 데스크 톱 컴퓨터, 노트북 컴퓨터 등의 보안이 필요한 다양한 단말기기 일 수 있다.In addition, the
상기 프로세서(314)는 상기 보안 클라이언트(152)로 전송된 다이나믹 보안모듈(318)로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트(352)의 다이나믹 보안모듈(318)로 전송하는 것을 더 포함할 수 있다.The
구체적으로, 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)로부터 상기 보안관리로서 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 상기 사용자 단말(350)에 보안문제가 발생하지 않은 경우, 보안문제가 발생하지 않았음을 알리는 보안진단 확인 결과값을 상기 보안 클라이언트(352)의 다이나믹 보안모듈(318)로 전송하는 것을 더 포함할 수 있다.Specifically, a security management result is received as the security management from the
또한, 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)로부터 상기 보안관리로서 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 상기 사용자 단말(350)에 보안문제가 발생한 경우, 보안문제가 발생하였음을 알리는 보안관리 확인 결과값을 상기 보안 클라이언트(352)의 다이나믹 보안모듈(318)로 전송하는 것을 더 포함할 수 있다.The
즉, 본 발명에 따른 다이나믹 보안모듈 생성장치(310)는 사용자 단말(350)의 보안 클라이언트(352)로 전송한 다이나믹 보안모듈(318)로부터 보안관리 결과를 수신하여 이를 확인하고, 보안관리 확인 결과값을 다시 다이나믹 보안모듈(318)로 전송함으로써, 다이나믹 보안모듈(318)이 상기 사용자 단말(150)의 보안문제 발생시 신속하고 효과적으로 대처하도록 할 수 있다.That is, the dynamic security
이와 관련하여, 상기 프로세서(314)는 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)로부터 상기 보안관리로서 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 상기 사용자 단말에 보안문제가 발생한 경우, 상기 사용자 단말(350)의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트(352)의 다이나믹 보안모듈(118)로 전송하고, 상기 보안 클라이언트(352)와의 보안 세션을 파기하는 것을 더 포함함으로써, 해커가 다이나믹 보안모듈(318)을 해킹하여 사용자 단말(350)의 각종 응용 프로그램들에 대한 보안문제를 발생시키는 문제를 근본적으로 방지할 수 있다.In this regard, the
한편, 상기 프로세서(314)는 보안 세션 식별자로서 세션 아이디(316)를 생성하여 저장하고, 상기 세션 아이디(316)를 상기 보안 클라이언트(352)에 전송하여 상기 보안 클라이언트(352)가 상기 세션 아이디(316)를 저장하도록 함으로써, 보안 세션을 생성할 수 있다. 이러한 세션 아이디를 이용하여 보안 세션을 생성하는 방법은 여러 개의 보안 세션을 생성하여 보안 세션을 자주 갱신함으로써, 상기 다이나믹 보안모듈(318)에 의한 상기 사용자 단말(350)에 대한 보안관리의 신뢰성과 편의성을 향상시킬 수 있는 장점이 있다.Meanwhile, the
상기 유효시간은 상기 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 하는 유효시간일 수 있다. 즉, 상기 사용자 단말(350)의 보안 클라이언트(352)에서 보안관리를 수행하는 코드의 일부 또는 전부가 유효시간을 갖는 상기 다이나믹 보안모듈(318)은 유효시간의 경과 시 코드의 일부 또는 전부가 삭제되거나, 보안관리를 수행하지 않도록 다이나믹 보안모듈 자체의 사용이 중지될 수 있다.The validity time may be a validity time such that part or all of the code is deleted or not used at the expiration of the validity time. That is, the
따라서, 이러한 다이나믹 보안모듈(318)의 유효시간 만료시, 상기 보안 클라이언트(352)는, 다이나믹 보안모듈(318)을 구성하는 코드의 일부 또는 전부를 갱신함으로써, 다이나믹 보안모듈(318)의 해킹이나 바이러스의 감염 등의 원인에 의한 보안문제 발생을 원천적으로 차단할 수 있다.Thus, upon expiration of the expiration time of the
또한, 상기 프로세서(314)는 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트(352)로 전송된 각각의 상기 다이나믹 보안모듈(318)에 대한 파라미터를 저장하는 것을 더 포함할 수 있다.The
여기서, 다이나믹 보안모듈(318)에 대한 파라미터는 상기 보안 클라이언트(352)로 전송되어 보안관리를 수행하고 있는 다이나믹 보안모듈의 보안관리를 수행하기 위한 코드의 함수 구조, 알고리즘의 종류, 컴파일 레벨 등에 대한 구체적인 정보에 관한 것으로, 자주 갱신되어 서로 다른 구성을 갖는 각각의 다이나믹 보안모듈들을 서로 구분하기 위한 것이며, 상기 다이나믹 보안모듈 서버장치(310)에서 결정되는 정보로서, 이에 따라 보안 클라이언트의 코드 일부 또는 전부가 변경되게 된다.Here, the parameters for the
또한, 상기 프로세서(314)는 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)들에 대한 내역을 수신하여, 상기 저장한 다이나믹 보안모듈(318)의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다. 이러한 다이나믹 보안모듈의 파라미터의 변경 내용 검증은 예를 들어, 각각의 파라미터가 A-B-C-D와 같이 순차적으로 전송된 다이나믹 보안모듈들의 파라미터가 상기 보안 클라이언트(352)로부터 전송된 내역과 비교했을 때, 동일하지 않고 다르게 변경된 것으로 확인된 경우, 해커에 의한 해킹 시도 등이 있었음을 유추할 수 있으며, 이에 대한 조치를 수행할 수 있다.The
상기 다이나믹 보안모듈 생성장치(310)는 상기 사용자 단말(350)의 보안 클라이언트(352)로 전송할 다이나믹 보안모듈(318), 보안 세션 식별자로서 세션 아이디(316), 및 다이나믹 보안모듈에 대한 파라미터를 저장하는 스토리지(313)를 더 포함할 수 있다.The dynamic security
즉, 상기 다이나믹 보안모듈 서버장치(310)는 상기 스토리지(313)에 다이나믹 보안모듈(318), 세션 아이디(316)를 저장함으로써, 상기 다이나믹 보안모듈(318)과 세션 아이디(316)를 원활하고 안정적으로 상기 보안 클라이언트(352)로 전송할 수 있다. 또한, 상기 스토리지(313)에 상기 보안 클라이언트(352)로 전송한 다이나믹 보안모듈에 대한 파라미터를 저장함으로써, 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)에 대한 수신 내역과의 동일성 검증을 더욱 안정적으로 수행할 수 있다.That is, the dynamic security
도 4에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 함수로 이루어진 동적 소스코드 생성예를 나타낸 모식도가 도시되어 있고, 도 5에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 알고리즘으로 이루어진 동적 알고리즘 생성예를 나타낸 모식도가 도시되어 있으며, 도 6에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 컴파일 레벨을 갖는 동적 컴파일 파라미터 생성예를 나타낸 모식도가 도시되어 있다.FIG. 4 is a schematic diagram illustrating a dynamic source code generation example in which a dynamic security module generation method according to an exemplary embodiment of the present invention includes different functions. FIG. 5 is a flowchart illustrating a dynamic security module creation process according to an exemplary embodiment of the present invention. FIG. 6 is a schematic diagram illustrating an example of dynamic creation of dynamic compilation parameters having different compile levels in the dynamic security module creation method according to an embodiment of the present invention. Are shown.
이들 도면을 참조하면, 이들 도면을 참조하면, 본 발명에 따른 다이나믹 보안모듈 생성방법 및 생성장치는 다이나믹 보안모듈 생성시, 보안 클라이언트의 인증 시 전달받은 사용자 단말의 IP 주소(Internet Protocol address), 휴대폰 번호, 난수 발생기로부터 생성된 값으로 이루어진 군에서 선택된 변수를 이용하여 서로 다른 다양한 형태의 다이나믹 보안모듈을 생성할 수 있다.Referring to these drawings, a dynamic security module generation method and a dynamic security method according to an exemplary embodiment of the present invention may include an IP address (Internet Protocol address) of a user terminal received upon authentication of a security client, Number, and a value generated from a random number generator, various different types of dynamic security modules can be generated.
우선, 본 발명에 따른 다이나믹 보안모듈 생성방법에 따른 다이나믹 보안모듈은 보안 클라이언트에서 보안진단 수행결과를 생성하기 위한 로직을 도 4의 동적 소스코드 생성예(도 4의 하부)와 같이 생성 시 마다 매번 변경되는 서로 다른 함수로 이루어진 소스 코드로 구현할 수 있다.First, the dynamic security module according to the dynamic security module creation method according to the present invention generates logic for generating a security diagnosis execution result in the security client, every time the dynamic security source code generation example (lower part of FIG. 4) It can be implemented as source code with different functions to be changed.
종래의 일반적인 소스코드의 경우 도 4의 생성예(도 4의 상부)에서와 같이, 소스 코드의 분석시 소스 코드에 해당되는 구체적인 함수 이름이 바로 노출되므로, 해커가 이러한 소스 코드로 이루어진 메인 로직을 파악하기 매우 용이하다. 그러나, 본 발명에 따른 다이나믹 보안모듈은 도 4의 생성예(도 4의 하부) 에서와 같이, 메인 로직을 구성하는 소스 코드의 함수가 확정되지 않고 랜덤 문자열로 이루어진 소스 코드가 채택될 확률(%)로 표현되는 동적 소스 코드로 구현되므로, 해커가 다이나믹 보안모듈의 메인 로직을 쉽게 파악하기 매우 어렵도록 구성된다. 이러한, 동적 소스코드는 예를 들어 템플릿 프레임워크(Template framework)를 이용하여 용이하게 구현할 수 있다.In the case of the conventional general source code, since the specific function name corresponding to the source code is immediately exposed at the time of analysis of the source code, as shown in the creation example of FIG. 4 (upper part of FIG. 4) It is very easy to grasp. However, the dynamic security module according to the present invention has a probability (%) that the source code constituting the main logic is not determined but the source code composed of the random string is adopted as in the creation example (the lower part of FIG. 4) ), It is configured so that it is very difficult for the hacker to easily grasp the main logic of the dynamic security module. Such dynamic source code can be easily implemented using, for example, a template framework.
또한, 본 발명에 따른 다이나믹 보안모듈은 도 5의 다이나믹 보안모듈의 동적 알고리즘 생성예와 같이 동일한 보안관리 기능을 수행하는 로직을 예를 들어 3가지의 서로 다른 알고리즘으로 구현하고, 이들 알고리즘 중 하나의 알고리즘이 보안관리를 수행하기 위한 알고리즘으로 선택되도록 구성함으로써, 해커로 하여금, 매번 다른 알고리즘 분석을 요구하도록 하여 다이나믹 보안모듈 자체에 대한 해킹을 매우 어렵게 구현할 수 있다.In addition, the dynamic security module according to the present invention implements logic that performs the same security management function as, for example, three different algorithms as in the dynamic algorithm generation example of the dynamic security module of FIG. 5, By configuring the algorithm to be selected as an algorithm for performing security management, it is possible to hack the dynamic security module itself very difficult by requiring the hacker to request different algorithm analysis each time.
또한, 본 발명에 따른 다이나믹 보안모듈은 도 6의 동적 컴파일 파라미터의 생성예와 같이 다이나믹 보안모듈의 빌드 과정에서 optimization level 컴파일 결과물 이외에 다양한 level의 컴파일 결과물로 생성함으로써, 생성되는 각각의 다이나믹 보안모듈의 코드 구성을 매번 다르게 구현할 수 있다.In addition, the dynamic security module according to the present invention generates various levels of compilation results in addition to the optimization level compilation result in the dynamic security module building process as in the dynamic compilation parameter generation example of FIG. 6, Code configuration can be implemented differently each time.
도 7에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 세션 아이디 및 다이나믹 보안모듈 파라미터 생성예를 나타낸 모식도가 도시되어 있고, 도 8은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 필드 생성예를 나타낸 모식도가 도시되어 있으며, 도 9에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 시퀀스 생성예를 나타낸 모식도가 도시되어 있다.FIG. 7 is a schematic diagram illustrating an example of generating a session ID and a dynamic security module parameter in the dynamic security module creation method according to an embodiment of the present invention. FIG. 8 is a flowchart illustrating a method of generating a dynamic security module according to an embodiment of the present invention FIG. 9 is a schematic diagram illustrating an example of generating a dynamic security module protocol sequence in the method for generating a dynamic security module according to an embodiment of the present invention.
이들 도면을 참조하면, 본 발명에 따른 다이나믹 보안모듈 생성방법은 보안 세션 생성시, 도 7의 세션 아이디 및 다이나믹 보안모듈 파라미터 생성예에서와 같이, 보안 세션 식별자로서 세션 아이디를 생성하여 서버장치의 프로세서에 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 함으로써, 보안 세션을 생성할 수 있다. 또한, 상기 보안 세션이 유지되는 동안 생성된 상기 다이나믹 보안모듈에 대한 파라미터를 저장할 수 있다.Referring to these drawings, a method for generating a dynamic security module according to the present invention generates a session ID as a secure session identifier, such as in the session ID and dynamic security module parameter creation example of FIG. 7, And send the session ID to the secure client so that the secure client stores the session ID, thereby creating a secure session. Also, parameters for the dynamic security module generated while the security session is maintained can be stored.
즉, 도 7에서와 같이 예를 들어, 상기 다이나믹 보안모듈 생성방법은 상기 다이나믹 보안모듈 서버장치와 사용자 단말의 보안 클라이언트가 세션 아이디로서 11836381를 생성하여 보안 세션을 생성한 경우, 상기 보안 클라이언트로부터 전송된 다이나믹 보안모듈에 대한 내역이 파라미터(param)는 A, B, C 이고, 이때의 스테이트(state)가 1, 2 임을 검증하고, 세션 아이디로서 72365784를 생성하여 보안 세션을 생성한 경우, 보안 클라이언트로부터 전송된 다이나믹 보안모듈에 대한 내역이 파라미터(param)는 C, B, A 이고, 이때의 스테이트(state)가 0, 3 임을 검증하며, 세션 아이디로서 87656501를 생성하여 보안 세션을 생성한 경우, 보안 클라이언트로부터 전송된 다이나믹 보안모듈에 대한 내역이 파라미터(param)는 B, A, C 이고, 이때의 스테이트(state)가 3, 2 임을 검증할 수 있다. 여기서, 이러한 파라미터와 스테이트 내역은 상기 사용자 단말로부터 수신된 보안관리 이벤트일 수 있다.7, when the dynamic security module server device and the security client of the user terminal generate 11836381 as a session ID to create a secure session, And the security module is created by verifying that the parameter param is A, B, C and the state at this time is 1, 2, and 72365784 is generated as the session ID, (C), B, and A, and verify that the state at this time is 0, 3. If a security session is created by generating 87656501 as a session ID, Details of the dynamic security module transmitted from the security client This parameter can be verified as B, A, C, and the state at this time is 3, 2 have. Here, these parameters and the state details may be security management events received from the user terminal.
또한, 상기 각각의 보안 세션들의 변경 시간 간격, 각 보안 세션들마다의 다이나믹 보안모듈의 전송 시간 간격을 각 보안 세션마다 모두 다르게 설정함으로써, 해커가 다이나믹 보안모듈에 대한 분석을 더욱 어렵게 하도록 구성할 수 도 있다.It is also possible to configure the hacker to make the analysis on the dynamic security module more difficult by setting the modification time interval of each security session and the transmission time interval of the dynamic security module for each security session different for each security session There is also.
또한, 본 발명에 따른 다이나믹 보안모듈 생성방법은 도 8의 다이나믹 보안모듈 프로토콜 필드 생성예 에서와 같이, 보안 클라이언트와의 프로토콜 필드(brown, white, black)를, 각각 생성되는 다이나믹 보안모듈마다 매번 다르게 설정하여 사용자 단말의 보안 클라이언트로 전송할 수 있다.The method for generating a dynamic security module according to the present invention may also be configured such that protocol fields (brown, white, black) with a security client are generated for each generated dynamic security module, And transmit it to the security client of the user terminal.
이와 같이 보안 클라이언트로 전송된 다이나믹 보안모듈의 프로토콜 필드가 매번 다를 경우, 해커는 매번 달라지는 프로토콜 필드를 모두 각각 분석해야 하므로, 다이나믹 보안모듈에 대한 해킹이 더욱 어려워지게 된다.If the protocol field of the dynamic security module transmitted to the security client is different every time, the hacker becomes more difficult to hack the dynamic security module because the hacker must analyze each different protocol field every time.
또한, 본 발명에 따른 다이나믹 보안모듈 생성 시스템은 도 9의 다이나믹 보안모듈 프로토콜 시퀀스 생성예 에서와 같이, 보안 클라이언트에서 실행되는 다이나믹 보안모듈의 프로토콜 시퀀스(A->B->C->D)를 각각 생성되는 다이나믹 보안모듈마다 예를 들어, A->D->B->C, D->C->B->A, B->A->D->C로 매번 다르게 설정하여 보안 클라이언트로 전송함으로써, 보안관리를 수행하는 세부 기능들의 구동 순서가 매번 다르게 구현되도록 하여 해킹이 더욱 어려운 다이나믹 보안모듈로 구성할 수 있다.Also, the dynamic security module generation system according to the present invention may be configured such that the protocol sequence (A- > B- > C-> D) of the dynamic security module executed in the security client is generated as in the dynamic security module protocol sequence generation example of Fig. For each dynamic security module that is created, for example, it is set differently from A-> D-> B-> C, D-> C-> B-> A, B-> A-> D-> C, So that the driving sequence of the detailed functions for performing security management can be implemented differently each time, thereby making it possible to configure a dynamic security module which is more difficult to hack.
본 발명에 따른 다이나믹 보안모듈 생성장치(110)는 프로세서(314), 커뮤니케이션 유닛(312) 및 스토리지(313)를 포함한다.The dynamic security module generation apparatus 110 according to the present invention includes a
상기 프로세서(314)는 제어 신호를 생성하여 커뮤니케이션 유닛(312)과 스토리지(313)를 포함하는 상기 생성장치(310)를 제어할 수 있다. 여기서, 커뮤니케이션 유닛(312)은 외부 디바이스와 다양한 프로토콜을 이용하여 통신을 수행하여 데이터를 송수신할 수 있으며, 유선 또는 무선으로 외부 네트워크에 접속하여, 컨텐츠, 애플리케이션 등의 디지털 데이터를 송수신할 수 있다.The
또한, 상기 스토리지(313)는 오디오, 사진, 동영상, 애플리케이션 등을 포함하는 다양한 디지털 데이터를 저장할 수 있는 장치로서, 플래시 메모리, RAM(Random Access Memory), SSD(Solid State Drive) 등의 다양한 디지털 데이터 저장 공간을 나타낸다. 이러한 스토리지(113)는 커뮤니케이션 유닛(312)을 통해 외부 디바이스로부터 수신된 데이터를 임시적으로 저장할 수 있다. The
본 발명에 따른 다이나믹 보안모듈의 생성방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The method of generating a dynamic security module according to the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
Claims (19)
상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고,
상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지는 다이나믹 보안모듈의 생성방법.
A method for generating a dynamic security module, the dynamic security module being assigned to a user terminal so that code executed for security in the user terminal is not identical every time,
A part or all of the changeable part of the code constituting the dynamic security module is designated as a variable,
And allocating a predetermined value to at least one of the variables, wherein a part or all of the codes constituting the dynamic security module transmitted to the user terminal have a valid time.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드인 다이나믹 보안모듈의 생성방법.
The method according to claim 1,
The modifiable portion of the dynamic security module includes a function name of a code, a variable designating an algorithm to be executed, a protocol field, a variable designating a protocol sequence, a variable designating a compile level, and a variable designating an execution code obfuscation method A method of generating a dynamic security module, the code being able to modify one or more selected elements.
상기 유효시간은 상기 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 하는 유효시간인 다이나믹 보안모듈의 생성방법.
The method according to claim 1,
Wherein the validity time is a validity time at which a part or all of the code is deleted or not used at the expiration of the validity time.
상기 생성방법은
상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하는 단계; 및
상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 단계;
를 더 포함하는 다이나믹 보안모듈의 생성방법.
The method according to claim 1,
The above-
Creating a secure session with a security client of the user terminal; And
Transmitting the dynamic security module to a security client of a user terminal in which the secure session is created;
Further comprising the steps of:
상기 생성방법은
상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함하는 다이나믹 보안모듈의 생성방법.
5. The method of claim 4,
The above-
Further comprising: receiving a security management result from the dynamic security module transmitted to the security client, checking the received security management result, and transmitting a security management confirmation result value to the dynamic security module of the security client How to create a module.
상기 생성방법은
상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함하는 다이나믹 보안모듈의 생성방법.
5. The method of claim 4,
The above-
And sending a stop command to the dynamic security module of the secure client to stop the application program of the user terminal when a security problem occurs in the user terminal.
상기 생성방법은
보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성하는 다이나믹 보안모듈의 생성방법.
5. The method of claim 4,
The above-
Generating a session ID as a secure session identifier, storing the session ID, and transmitting the session ID to the secure client so that the secure client stores the session ID, thereby generating the secure session.
상기 생성방법은
상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 단계를 더 포함하는 다이나믹 보안모듈의 생성방법.
5. The method of claim 4,
The above-
Further comprising: storing parameters for each dynamic security module transmitted to the secure client while the secure session is maintained.
상기 생성방법은
상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함하는 다이나믹 보안모듈의 생성장치.
9. The method of claim 8,
The above-
Further comprising verifying whether the history transmitted from the security client is the same as the configuration of the parameters of the dynamic security module.
네트워크를 통해 보안관리 이벤트를 송수신 하는 커뮤니케이션 유닛; 및
상기 커뮤니케이션 유닛을 제어하는 프로세서; 를 포함하고,
상기 프로세서는
상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고,
상기 변수 중 적어도 하나 이상에 일정한 값을 할당하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 하는 다이나믹 보안모듈 생성장치.
An apparatus for generating a dynamic security module to be allocated to a user terminal so that code executed for security in a user terminal is not identical every time,
A communication unit for sending and receiving a security management event via the network; And
A processor for controlling the communication unit; Lt; / RTI >
The processor
A part or all of the changeable part of the code constituting the dynamic security module is designated as a variable,
Wherein a predetermined value is assigned to at least one of the variables, and a part or all of codes constituting the dynamic security module transmitted to the user terminal have a valid time.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드인 다이나믹 보안모듈 생성장치.
11. The method of claim 10,
The modifiable portion of the dynamic security module includes a function name of a code, a variable designating an algorithm to be executed, a protocol field, a variable designating a protocol sequence, a variable designating a compile level, and a variable designating an execution code obfuscation method A dynamic security module generation device which is a code capable of changing at least one selected element.
상기 프로세서는
상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하고,
상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
11. The method of claim 10,
The processor
Generating a security session with the security client of the user terminal,
And sending the dynamic security module to the security client of the user terminal from which the secure session was generated.
상기 프로세서는
상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
13. The method of claim 12,
The processor
Further comprising: receiving a security management result from the dynamic security module transmitted to the security client, confirming the received security management result, and transmitting the security management confirmation result value to the dynamic security module of the security client, Generating device.
상기 프로세서는
상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
13. The method of claim 12,
The processor
And sending a stop command to the dynamic security module of the secure client to stop the application program of the user terminal when a security problem occurs in the user terminal.
상기 프로세서는
보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성하는 다이나믹 보안모듈 생성장치.
13. The method of claim 12,
The processor
Generating a session ID as a secure session identifier, storing the session ID, and transmitting the session ID to the secure client so that the secure client stores the session ID, thereby generating the secure session.
상기 프로세서는
상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
13. The method of claim 12,
The processor
And to store parameters for each of the dynamic security modules transmitted to the secure client while the secure session is maintained.
상기 프로세서는
상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
13. The method of claim 12,
The processor
Further comprising verifying that the history transmitted from the security client is the same as the configuration of the parameters of the dynamic security module.
상기 다이나믹 보안모듈 생성장치는 상기 사용자 단말의 보안 클라이언트로 전송할 다이나믹 보안모듈, 보안 세션 식별자로서 세션 아이디, 및 다이나믹 보안모듈에 대한 파라미터를 저장하는 스토리지를 더 포함하는 다이나믹 보안모듈 생성장치.
11. The method of claim 10,
Wherein the dynamic security module generation apparatus further comprises a storage for storing a dynamic security module to be transmitted to the security client of the user terminal, a session ID as a secure session identifier, and parameters for the dynamic security module.
A computer-readable recording medium on which a program for executing the generating method according to any one of claims 1 to 9 is recorded.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2016/002537 WO2016148473A1 (en) | 2015-03-13 | 2016-03-14 | Method and apparatus for generating dynamic security module |
JP2017567032A JP6654652B2 (en) | 2015-03-13 | 2016-03-14 | Dynamic security module generation method and generation apparatus |
US15/701,867 US10867050B2 (en) | 2015-03-13 | 2017-09-12 | Method and apparatus for generating dynamic security module |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150035177 | 2015-03-13 | ||
KR20150035177 | 2015-03-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160110276A true KR20160110276A (en) | 2016-09-21 |
KR101969481B1 KR101969481B1 (en) | 2019-04-16 |
Family
ID=57080532
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160030572A KR101969481B1 (en) | 2015-03-13 | 2016-03-14 | Method and apparatus for generating Dynamic Secure Module |
KR1020160030571A KR101756692B1 (en) | 2015-03-13 | 2016-03-14 | Terminal Device for Dynamic Secure Module and Driving Method Thereof |
KR1020160030568A KR101799366B1 (en) | 2015-03-13 | 2016-03-14 | Server Apparatus for Dynamic Secure Module and Driving Method Thereof |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160030571A KR101756692B1 (en) | 2015-03-13 | 2016-03-14 | Terminal Device for Dynamic Secure Module and Driving Method Thereof |
KR1020160030568A KR101799366B1 (en) | 2015-03-13 | 2016-03-14 | Server Apparatus for Dynamic Secure Module and Driving Method Thereof |
Country Status (5)
Country | Link |
---|---|
US (3) | US10867050B2 (en) |
EP (3) | EP3270317B1 (en) |
JP (3) | JP6654652B2 (en) |
KR (3) | KR101969481B1 (en) |
CN (3) | CN107408179B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10318272B1 (en) * | 2017-03-30 | 2019-06-11 | Symantec Corporation | Systems and methods for managing application updates |
US11368474B2 (en) * | 2018-01-23 | 2022-06-21 | Rapid7, Inc. | Detecting anomalous internet behavior |
US10637876B2 (en) | 2018-04-27 | 2020-04-28 | Dell Products L.P. | Information handling system threat management |
US11336658B2 (en) | 2018-04-27 | 2022-05-17 | Dell Products L.P. | Information handling system threat management |
US11595407B2 (en) | 2018-04-27 | 2023-02-28 | Dell Products L.P. | Information handling system threat management |
CN110413268B (en) * | 2018-04-28 | 2023-11-10 | 武汉斗鱼网络科技有限公司 | Middleware verification method, storage medium, equipment and system |
WO2020081494A1 (en) * | 2018-10-15 | 2020-04-23 | Liveperson, Inc. | Dynamic endpoint communication channels |
JP7049534B1 (en) * | 2021-03-02 | 2022-04-06 | 三菱電機株式会社 | Debug support program, debug support device, debug support method and machine learning device |
CN115098227B (en) * | 2022-08-24 | 2022-12-27 | 中诚华隆计算机技术有限公司 | Method and device for updating dynamic information of security equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130101657A (en) | 2012-02-24 | 2013-09-16 | 삼성전자주식회사 | Method and apparatus for detecting tampered application |
KR20140023098A (en) * | 2012-08-17 | 2014-02-26 | 에스케이플래닛 주식회사 | System and method for managing secure application module of payment service |
KR20140071744A (en) * | 2012-12-04 | 2014-06-12 | 한국전자통신연구원 | Method and apparatus for differentiated security control for smart communication device based on security policy negotiation |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708709A (en) * | 1995-12-08 | 1998-01-13 | Sun Microsystems, Inc. | System and method for managing try-and-buy usage of application programs |
KR20030003593A (en) | 2001-07-03 | 2003-01-10 | (주) 해커스랩 | Network Security System and Method for applying Security Rule for Restricted Condition |
US7254586B2 (en) * | 2002-06-28 | 2007-08-07 | Microsoft Corporation | Secure and opaque type library providing secure data protection of variables |
US7552470B2 (en) * | 2002-11-21 | 2009-06-23 | Honeywell International Inc. | Generic security infrastructure for COM based systems |
KR100956823B1 (en) * | 2003-02-11 | 2010-05-11 | 엘지전자 주식회사 | Method of processing a security mode message in a mobile communication system |
KR100568228B1 (en) * | 2003-05-20 | 2006-04-07 | 삼성전자주식회사 | Method for resisting program tampering using serial number and for upgrading obfuscated program, and apparatus for the same |
US7551986B2 (en) * | 2004-02-24 | 2009-06-23 | Denso Corporation | Program distribution system, program distribution device, and in-vehicle gateway device |
US7360237B2 (en) * | 2004-07-30 | 2008-04-15 | Lehman Brothers Inc. | System and method for secure network connectivity |
FR2880441B1 (en) | 2004-12-31 | 2010-06-18 | Trusted Logic | SECURE DYNAMIC LOADING |
EP1862937A1 (en) * | 2005-02-25 | 2007-12-05 | Matsushita Electric Industrial Co., Ltd. | Secure processing device and secure processing system |
JP2006259848A (en) * | 2005-03-15 | 2006-09-28 | Matsushita Electric Ind Co Ltd | Program execution device, program execution method and program |
KR101134217B1 (en) | 2005-06-13 | 2012-04-06 | 주식회사 엘지씨엔에스 | Security policy encycripting method and Intrusion Prevention System for implementing the method |
US9311454B2 (en) * | 2005-09-19 | 2016-04-12 | At&T Intellectual Property I, L.P. | Trial use of a collection of media files |
JP4918544B2 (en) * | 2005-10-28 | 2012-04-18 | パナソニック株式会社 | Obfuscation evaluation method, obfuscation evaluation apparatus, obfuscation evaluation program, storage medium, and integrated circuit |
WO2007092573A2 (en) * | 2006-02-07 | 2007-08-16 | Cisco Technology, Inc. | Methods and systems for providing telephony services and enforcing policies in a communication network |
EP1879332A1 (en) * | 2006-07-12 | 2008-01-16 | France Télécom | Method and system of managing a secure transmission |
CN101083660A (en) * | 2007-05-30 | 2007-12-05 | 北京润汇科技有限公司 | Session control based IP network authentication method of dynamic address distribution protocol |
CN101188495B (en) * | 2007-12-04 | 2010-08-25 | 兆日科技(深圳)有限公司 | A secure system and method for realizing powerful password authentication mode |
JP5405986B2 (en) * | 2008-11-26 | 2014-02-05 | パナソニック株式会社 | Software update system, management device, recording medium, and integrated circuit |
US8738932B2 (en) * | 2009-01-16 | 2014-05-27 | Teleputers, Llc | System and method for processor-based security |
CN101894094B (en) * | 2009-05-21 | 2014-10-15 | 鸿富锦精密工业(深圳)有限公司 | Client management system |
JP5772031B2 (en) * | 2011-02-08 | 2015-09-02 | 富士通株式会社 | Communication device and secure module |
US9722973B1 (en) * | 2011-03-08 | 2017-08-01 | Ciphercloud, Inc. | System and method to anonymize data transmitted to a destination computing device |
US9087189B1 (en) * | 2011-05-03 | 2015-07-21 | Symantec Corporation | Network access control for cloud services |
US9026784B2 (en) * | 2012-01-26 | 2015-05-05 | Mcafee, Inc. | System and method for innovative management of transport layer security session tickets in a network environment |
US9032520B2 (en) * | 2012-02-22 | 2015-05-12 | iScanOnline, Inc. | Remote security self-assessment framework |
KR101436202B1 (en) | 2012-05-31 | 2014-09-01 | 주식회사 엘지씨엔에스 | Method for providing mobile device security management and mobile device security system there of |
EP2690450B1 (en) * | 2012-07-27 | 2014-07-09 | ABB Technology AG | A device for measuring the direct component of alternating current |
US20140283038A1 (en) * | 2013-03-15 | 2014-09-18 | Shape Security Inc. | Safe Intelligent Content Modification |
KR101308703B1 (en) * | 2013-04-24 | 2013-09-13 | (주)누리아이엔에스 | Security system for electronic commerce and method thereof |
KR102008945B1 (en) | 2013-04-26 | 2019-08-08 | 에스케이플래닛 주식회사 | System and method for public terminal security |
US9591003B2 (en) * | 2013-08-28 | 2017-03-07 | Amazon Technologies, Inc. | Dynamic application security verification |
KR101451323B1 (en) * | 2014-02-10 | 2014-10-16 | 주식회사 락인컴퍼니 | Application security system, security server, security client apparatus, and recording medium |
-
2016
- 2016-03-14 JP JP2017567032A patent/JP6654652B2/en active Active
- 2016-03-14 KR KR1020160030572A patent/KR101969481B1/en active IP Right Grant
- 2016-03-14 EP EP16765227.0A patent/EP3270317B1/en active Active
- 2016-03-14 CN CN201680015640.7A patent/CN107408179B/en active Active
- 2016-03-14 EP EP16765228.8A patent/EP3270318B1/en active Active
- 2016-03-14 EP EP16765229.6A patent/EP3270319B1/en active Active
- 2016-03-14 CN CN201680015639.4A patent/CN107431705B/en active Active
- 2016-03-14 JP JP2017567031A patent/JP6654651B2/en active Active
- 2016-03-14 KR KR1020160030571A patent/KR101756692B1/en active IP Right Grant
- 2016-03-14 KR KR1020160030568A patent/KR101799366B1/en active IP Right Grant
- 2016-03-14 JP JP2017567030A patent/JP6663937B2/en active Active
- 2016-03-14 CN CN201680015591.7A patent/CN107408166B/en active Active
-
2017
- 2017-09-12 US US15/701,867 patent/US10867050B2/en active Active
- 2017-09-12 US US15/701,726 patent/US10867048B2/en active Active
- 2017-09-12 US US15/701,787 patent/US10867049B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130101657A (en) | 2012-02-24 | 2013-09-16 | 삼성전자주식회사 | Method and apparatus for detecting tampered application |
KR20140023098A (en) * | 2012-08-17 | 2014-02-26 | 에스케이플래닛 주식회사 | System and method for managing secure application module of payment service |
KR20140071744A (en) * | 2012-12-04 | 2014-06-12 | 한국전자통신연구원 | Method and apparatus for differentiated security control for smart communication device based on security policy negotiation |
Non-Patent Citations (1)
Title |
---|
Sushil Jajodia et al, "Moving Target Defense - Creating Asymmetric Uncertainty for Cyber Threats"(2011.)* * |
Also Published As
Publication number | Publication date |
---|---|
EP3270317A1 (en) | 2018-01-17 |
EP3270318B1 (en) | 2020-06-24 |
KR101969481B1 (en) | 2019-04-16 |
EP3270318A1 (en) | 2018-01-17 |
KR101756692B1 (en) | 2017-07-12 |
US10867048B2 (en) | 2020-12-15 |
KR20160110274A (en) | 2016-09-21 |
CN107408179B (en) | 2021-05-11 |
EP3270319A4 (en) | 2018-11-07 |
US20180004940A1 (en) | 2018-01-04 |
US20180007082A1 (en) | 2018-01-04 |
EP3270319A1 (en) | 2018-01-17 |
JP6663937B2 (en) | 2020-03-13 |
CN107408179A (en) | 2017-11-28 |
CN107431705A (en) | 2017-12-01 |
JP6654652B2 (en) | 2020-02-26 |
EP3270317B1 (en) | 2022-02-02 |
EP3270318A4 (en) | 2018-11-07 |
CN107408166A (en) | 2017-11-28 |
US10867049B2 (en) | 2020-12-15 |
US10867050B2 (en) | 2020-12-15 |
JP2018511133A (en) | 2018-04-19 |
US20180012025A1 (en) | 2018-01-11 |
EP3270317A4 (en) | 2018-11-07 |
EP3270319B1 (en) | 2022-02-16 |
KR101799366B1 (en) | 2017-11-22 |
CN107408166B (en) | 2021-08-10 |
KR20160110275A (en) | 2016-09-21 |
JP2018509723A (en) | 2018-04-05 |
JP2018511899A (en) | 2018-04-26 |
CN107431705B (en) | 2021-05-11 |
JP6654651B2 (en) | 2020-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101969481B1 (en) | Method and apparatus for generating Dynamic Secure Module | |
US9514300B2 (en) | Systems and methods for enhanced security in wireless communication | |
Liu et al. | On manually reverse engineering communication protocols of linux-based iot systems | |
US20100031308A1 (en) | Safe and secure program execution framework | |
CN105760787B (en) | System and method for the malicious code in detection of random access memory | |
US20200244469A1 (en) | Method for handling data in a secure container | |
US10579830B1 (en) | Just-in-time and secure activation of software | |
WO2013079113A1 (en) | Secure cloud browsing client-server system and method of secure remote browsing using the same | |
WO2017021683A1 (en) | Controlling configuration data storage | |
Wang et al. | One Size Does Not Fit All: Uncovering and Exploiting Cross Platform Discrepant {APIs} in {WeChat} | |
CN103034811B (en) | A kind of method, system and device of file process | |
CN113836529A (en) | Process detection method, device, storage medium and computer equipment | |
CN110597557A (en) | System information acquisition method, terminal and medium | |
US20230214533A1 (en) | Computer-implemented systems and methods for application identification and authentication | |
WO2016148472A1 (en) | Dynamic security module terminal device and method for operating same | |
Kim et al. | Self‐Controllable Mobile App Protection Scheme Based on Binary Code Splitting | |
Cristalli | STATIC AND DYNAMIC ANALYSES FOR PROTECTING THE JAVA SOFTWARE EXECUTION ENVIRONMENT | |
KR101330832B1 (en) | Cloud server and method for processing clients' requests | |
Ljungdahl et al. | Security Analysis of Machine Monitoring Sensor Communication A threat modeling process implementation and evaluation | |
WO2016148473A1 (en) | Method and apparatus for generating dynamic security module | |
WO2016148471A1 (en) | Dynamic security module server device and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |