WO2016148473A1 - 다이나믹 보안모듈 생성방법 및 생성장치 - Google Patents

다이나믹 보안모듈 생성방법 및 생성장치 Download PDF

Info

Publication number
WO2016148473A1
WO2016148473A1 PCT/KR2016/002537 KR2016002537W WO2016148473A1 WO 2016148473 A1 WO2016148473 A1 WO 2016148473A1 KR 2016002537 W KR2016002537 W KR 2016002537W WO 2016148473 A1 WO2016148473 A1 WO 2016148473A1
Authority
WO
WIPO (PCT)
Prior art keywords
security
security module
dynamic
dynamic security
user terminal
Prior art date
Application number
PCT/KR2016/002537
Other languages
English (en)
French (fr)
Inventor
하영빈
Original Assignee
주식회사 에버스핀
하영빈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에버스핀, 하영빈 filed Critical 주식회사 에버스핀
Priority to JP2017567032A priority Critical patent/JP6654652B2/ja
Priority to CN201680015591.7A priority patent/CN107408166B/zh
Priority to EP16765229.6A priority patent/EP3270319B1/en
Priority claimed from KR1020160030572A external-priority patent/KR101969481B1/ko
Publication of WO2016148473A1 publication Critical patent/WO2016148473A1/ko
Priority to US15/701,867 priority patent/US10867050B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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

Definitions

  • the present invention relates to an apparatus and method for generating a dynamic security module, and more particularly, a part or all of the source code for performing security management generates a dynamic security module having a certain valid time and transmits the generated dynamic security module to a security client of a user terminal.
  • a part or all of the source code for performing security management generates a dynamic security module having a certain valid time and transmits the generated dynamic security module to a security client of a user terminal.
  • An object of the present invention is derived to solve the problems of the prior art, a part or all of the source code for performing the security management to generate a dynamic security module having a certain valid time to transmit to the security client of the user terminal.
  • a method of generating a dynamic security module is a method of generating a dynamic security module assigned to a user terminal so that codes performed for security in a user terminal are not the same every time.
  • Part or all of the changeable part of the code constituting the security module is designated as a variable, comprising the step of assigning a constant value to at least one or more of the variable, and comprises a dynamic security module transmitted to the user terminal Some or all of the code consists of valid times.
  • the changeable part of the dynamic security module includes 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 compilation level, and a variable specifying an execution code obfuscation method.
  • the code may change one or more selected elements.
  • the validity time may be a validity time such that some or all of the code is deleted or not used when the validity time elapses.
  • the generating method may further include generating a secure session with the secure client of the user terminal and transmitting the dynamic security module to the secure client of the user terminal in which the secure session is generated.
  • the generating method 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 a security management confirmation result value to the dynamic security module of the security client. It may include.
  • the generation method may further include transmitting a stop command for stopping the application program of the user terminal to the dynamic security module of the security client 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 transmit the session ID to the secure client so that the secure client stores the session ID to generate the secure session.
  • the generating method may further include storing a parameter for each dynamic security module sent to the security client while the secure session is maintained.
  • the generating method may further include verifying whether the details transmitted from the security client are the same as the configuration of the parameter of the dynamic security module.
  • the present invention also provides an apparatus for generating a dynamic security module that is assigned to the user terminal so that code performed for security in the user terminal is not the same every time, in order to achieve the above object, transmitting and receiving security management events over the network And a processor for controlling the communication unit, wherein the processor is configured to designate a part or all of a changeable part of the code constituting the dynamic security module as a variable, and a constant value to at least one of the variables. It provides a dynamic security module generating apparatus for allocating a portion, so that a part or all of the code constituting the dynamic security module transmitted to the user terminal has a valid time.
  • the changeable part of the dynamic security module includes 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 compilation level, and a variable specifying an execution code obfuscation method.
  • the code may change one or more selected elements.
  • the processor may further include generating a secure session with the secure client of the user terminal, and transmitting the dynamic security module to the secure client of the user terminal in which the secure session is created.
  • 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 a security management confirmation result value to the dynamic security module of the security client. Can be.
  • the processor may further include transmitting a stop command to stop the application program of the user terminal when the security problem occurs in the user terminal to the dynamic security module of the security client.
  • the processor may generate and store a session ID as a secure session identifier, and transmit the session ID to the secure client so that the secure client stores the session ID to generate the secure session.
  • the processor may further include storing a parameter for each dynamic security module sent to the secure client while the secure session is maintained.
  • the processor may further include verifying whether the details transmitted from the security client are the same as the configuration of the parameter of the dynamic security module.
  • the apparatus for generating a dynamic security module may further include a dynamic security module to be transmitted to a security client of the user terminal, a session ID as a security session identifier, and storage for storing parameters for the dynamic security module.
  • the present invention also provides a computer-readable recording medium having recorded thereon a program for executing the method of generating the dynamic security module in order to achieve the above object.
  • the method and apparatus for generating a dynamic security module generate a dynamic security module having some or all of the source code for performing security management to have a certain valid time, and transmit the generated dynamic security module to the security client of the user terminal, and various applications of the user terminal.
  • By updating the security module for the programs from time to time, it is difficult to hack the application programs has an effect that can significantly improve the security (security) of the user terminal.
  • 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 showing a procedure of a method for generating a dynamic security module according to a second temporary embodiment of the present invention.
  • FIG. 3 is a schematic diagram showing a schematic configuration of a dynamic security module generating apparatus of the present invention.
  • Figure 4 is a schematic diagram showing an example of dynamic code generation consisting of different functions in the dynamic security module generation method according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram showing an example of generating a dynamic algorithm composed of different algorithms in the dynamic security module generation method according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram showing an example of generating dynamic compilation parameters having different compilation levels in the method of generating a dynamic security module according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram illustrating an example of generating a session ID and a dynamic security module parameter in the method of generating a dynamic security module according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram showing 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.
  • FIG. 9 is a schematic diagram showing 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.
  • a method of generating a dynamic security module is a method of generating a dynamic security module assigned to a user terminal so that codes performed for security in a user terminal are not the same every time.
  • Part or all of the changeable part of the code constituting the security module is designated as a variable, comprising the step of assigning a constant value to at least one or more of the variable, and comprises a dynamic security module transmitted to the user terminal Some or all of the code consists of valid times.
  • the changeable part of the dynamic security module includes 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 compilation level, and a variable specifying an execution code obfuscation method.
  • the code may change one or more selected elements.
  • the validity time may be a validity time such that some or all of the code is deleted or not used when the validity time elapses.
  • the generating method may further include generating a secure session with the secure client of the user terminal and transmitting the dynamic security module to the secure client of the user terminal in which the secure session is generated.
  • the generating method 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 a security management confirmation result value to the dynamic security module of the security client. It may include.
  • the generation method may further include transmitting a stop command for stopping the application program of the user terminal to the dynamic security module of the security client 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 transmit the session ID to the secure client so that the secure client stores the session ID to generate the secure session.
  • the generating method may further include storing a parameter for each dynamic security module sent to the security client while the secure session is maintained.
  • the generating method may further include verifying whether the details transmitted from the security client are the same as the configuration of the parameter of the dynamic security module.
  • the present invention also provides an apparatus for generating a dynamic security module that is assigned to the user terminal so that code performed for security in the user terminal is not the same every time, in order to achieve the above object, transmitting and receiving security management events over the network And a processor for controlling the communication unit, wherein the processor is configured to designate a part or all of a changeable part of the code constituting the dynamic security module as a variable, and a constant value to at least one of the variables. It provides a dynamic security module generating apparatus for allocating a portion, so that a part or all of the code constituting the dynamic security module transmitted to the user terminal has a valid time.
  • the changeable part of the dynamic security module includes 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 compilation level, and a variable specifying an execution code obfuscation method.
  • the code may change one or more selected elements.
  • the processor may further include generating a secure session with the secure client of the user terminal, and transmitting the dynamic security module to the secure client of the user terminal in which the secure session is created.
  • 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 a security management confirmation result value to the dynamic security module of the security client. Can be.
  • the processor may further include transmitting a stop command to stop the application program of the user terminal when the security problem occurs in the user terminal to the dynamic security module of the security client.
  • the processor may generate and store a session ID as a secure session identifier, and transmit the session ID to the secure client so that the secure client stores the session ID to generate the secure session.
  • the processor may further include storing a parameter for each dynamic security module sent to the secure client while the secure session is maintained.
  • the processor may further include verifying whether the details transmitted from the security client are the same as the configuration of the parameter of the dynamic security module.
  • the apparatus for generating a dynamic security module may further include a dynamic security module to be transmitted to a security client of the user terminal, a session ID as a security session identifier, and storage for storing parameters for the dynamic security module.
  • the present invention also provides a computer-readable recording medium having recorded thereon a program for executing the method of generating the dynamic security module in order to achieve the above object.
  • FIG. 1 is a block diagram showing a procedure of a method for generating a dynamic security module according to a first temporary embodiment of the present invention
  • FIG. 2 is a block showing a procedure of a method for generating a dynamic security module according to a second temporary embodiment of the present invention. The figure is shown.
  • a method of generating a dynamic security module is a method of generating a dynamic security module allocated to the user terminal so that codes executed for security in the user terminal are not the same every time.
  • a part or all of the changeable parts of the code constituting the dynamic security module are designated as variables, and assigning a predetermined value to at least one or more of the variables (S100). It is configured to generate and store the dynamic security module so that some or all of the codes constituting the transmitted dynamic security module have a valid time (S110).
  • the method for generating a dynamic security module according to the present invention includes assigning a predetermined value to at least one of the variables in the dynamic security module in which a part or all of the changeable parts of the codes constituting the dynamic security module are designated as variables.
  • the code configuration of the dynamic security module which is frequently updated in the security client of the user terminal and performs security management, is different from each other, thereby generating different dynamic security modules having a myriad of different types of code configurations.
  • a part or all of the modifiable portions of codes for each function for performing security management to the security client of the user terminal uses a code designated as a variable, and assigns a constant value to at least one of the variables.
  • a value assigned when a constant value is assigned to a code designated as a variable by using various types of codes (a) for changeable codes stored in an apparatus for performing the method of generating the dynamic security module (Type b) can be made of the following combinations (aCb):
  • the method of generating the dynamic security module has a feature that a myriad of codes executed for security in a user terminal can be generated.
  • the dynamic security module is configured so that some or all of the codes constituting the dynamic security module transmitted to the user terminal have a valid time, so that the dynamic security module transmitted to the security client of the user terminal is frequently updated.
  • the changeable part of the dynamic security module is, 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 compilation level, and a variable specifying an execution code obfuscation method. It may be a code that can change one or more elements selected from the group consisting of.
  • the fixed code is not changed.
  • the remaining mutable code is one selected from the group consisting of the function name of the code, the variable specifying the algorithm to be executed, the protocol field, the variable specifying the protocol sequence, the variable specifying the compilation level, and the variable specifying how the executable code is obfuscated.
  • the protocol field may be a hacking threat for an application program including the security client as a protocol such as a method for performing various items of security management performed by the dynamic security module in the security client. It may be a communication protocol for transmitting a result of determining whether there is an element present, a communication protocol for transmitting a self-treatment history for a file virus, a boot and file virus for the application.
  • the protocol sequence refers to the execution order for various items including security management performed by the dynamic security module 118 in the security client.
  • security management performed by the dynamic security module 118 in the security client.
  • S forgery, app forgery, rooting, debugger, root process execution history, malicious application installation, malicious application execution history, malicious port, session forgery, input forgery, and computer hacking threat In the detection of the possible elements, it may be an order of detecting the respective elements.
  • the compilation level is optimized and compiled using a compiler for smooth execution of security management functions.
  • various levels of codes may be generated in addition to the optimization level of the code, and by implementing different compilation levels of the codes constituting the dynamic security module, numerous different types of dynamic security modules may be generated.
  • the implementation of the different compilation levels of the source code may be implemented, for example, in the security client of the user terminal as well as the server device for generating the dynamic security module.
  • the effective time of part or all of the code for performing the security management of the dynamic security module for example, consists of 1 hour, 3 hours, 6 hours, 9 hours, 12 hours, 24 hours, 48 hours and 72 hours It may be configured such that a part or all of the code is deleted or not used when the valid time elapses by setting at a time interval selected from the group. Therefore, when the valid time of the dynamic security module expires, the security client stops using the dynamic security module and receives and updates a new dynamic security module from the dynamic security module server device, thereby hacking the dynamic security module. It is possible to effectively prevent the occurrence of security problems of the user terminal due to virus infection.
  • the dynamic security module is generated.
  • Some or all of the modifiable parts of the code constituting the module are designated as variables, and the method may include assigning a predetermined value to at least one of the variables (S200), wherein the dynamic security module is transmitted to the user terminal.
  • S200 the variables
  • Making a part or all of the code to have a valid time generating a secure session with the security client of the user terminal (210) and transmitting the dynamic security module to the security client of the user terminal in which the security session was created It may be configured to further comprise a step 220.
  • the method of generating the dynamic security module according to the second embodiment of the present invention generates the dynamic security module so that some or all of the code for performing security management in the security client of the user terminal has a certain valid time, and thus the user terminal.
  • a user terminal runs an application program including the security client, or a user request of a user terminal, or every predetermined period set by the dynamic security module server device, or a predetermined period set by the user terminal.
  • the dynamic security module is frequently updated, so that the security module is hacked or computer viruses.
  • User terminal due to infection There is a feature that can more effectively prevent the occurrence of security problems for the installed applications.
  • the generating method may include receiving a security management result from the dynamic security module transmitted to the security client (230), checking the received security management result to determine whether a security problem occurs (240), and the user If a security problem does not occur in the terminal, the step of transmitting a security management check result indicating that the security problem did not occur to the dynamic security module of the security client (S250).
  • a step (S251) of transmitting a security management confirmation result indicating that a security problem has occurred is performed to the dynamic security module of the security client.
  • a step (S252) of transmitting a stop command to stop the application program of the user terminal to the dynamic security module of the security client may be further performed.
  • the method of generating the dynamic security module receives the security management result from the dynamic security module transmitted to the security client of the user terminal and confirms the result, and sends the security management confirmation result value back to the dynamic security module, thereby providing the dynamic security module.
  • the security module can quickly and effectively cope with a security problem of the user terminal.
  • the application of the user terminal Sending a stop command to stop the program to the dynamic security module of the security client, and further discarding the security session with the security client, the hacker hacks the dynamic security module to the various application programs of the user terminal It can fundamentally prevent problems that cause security problems for the system.
  • the security management is to detect the presence of the element that can be a hacking threat to the dynamic security module for the application including the security client, the O / S forgery of the terminal, the application is installed, the app (App) can be a hacking threat consisting of forgery, rooting, debugger, root process execution history, malicious application installation history, malicious application execution history, malicious port, session forgery, input forgery, and computer virus Detecting an element, transmitting information about an element that may be the hacking threat to the dynamic security module server device, treating a virus for the application program, hacking threat for the application program and virus infection Sending a stop command to the application to prevent problems; It includes overall management performed by the dynamic security module for the security of the user terminal, such as stopping the function of the dynamic security module itself due to the expiration of the valid time of the dynamic security module, hacking by a hacker, virus infection, or the like. It is a concept.
  • the security management event received from the user terminal may include, for example, details for determining parameters for the dynamic security module transmitted from the security client, state details of a state in which the dynamic security module is being driven, It may be various events such as security management result information indicating that there is a hacking threat, and a virus treatment history for an application program mounted on the user terminal.
  • the security management result is a record of the security management actually performed by the dynamic security module in the security client, and is a result of performing detailed security management functions included in the dynamic security module, and a part of the security management event. to be.
  • the security management result is a record of the security management actually performed by the dynamic security module in the security client, and is a result of performing detailed security management functions included in the dynamic security module, and a part of the security management event. to be.
  • a result of detection of the presence of an element that may be the hacking threat as a result of detection of an element that may be the hacking threat, as a result of virus treatment for the application and the removal of an element that may be a hacking threat It may be such a history.
  • the security management confirmation result value is a determination result of whether or not a security problem occurs in the user terminal
  • the dynamic security module server device receives the security management results, and analyzed based on the security management results.
  • the security management results are a determination result of whether there is an element that may be a current hacking threat in the user terminal
  • the application loaded on the user terminal is hacked, and whether the application is infected with a virus or malware It may be the result of judgment on.
  • the generating method of 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.
  • the method of generating a secure session using the session ID may generate a plurality of secure sessions and update the secure session frequently, thereby improving the reliability and convenience of security management for the user terminal by the dynamic security module. There is this.
  • the secure session may be generated with a secure client of an authenticated user terminal. That is, the generation of the security session may further perform an authentication process for the security client of the user terminal for transmitting the dynamic security module to improve the security of the user terminal.
  • the authentication of the security client of the user terminal is, for example, the first time after the authentication is completed at the same time as the application is installed on the user terminal is an application that includes the security client, or the application is installed on the user terminal,
  • the authentication is completed when running, or when the login (login) and logout (logout) for the application is completed, or after the application is installed in the user terminal, by the user's request through the application Authentication can be completed.
  • the generating method may further include causing a parameter for each dynamic security module transmitted to the security client to be stored while the secure session is maintained.
  • the parameter for the dynamic security module is transmitted to the security client to specify a function name of a code for performing security management of the dynamic security module performing security management, a variable for designating an algorithm to be executed, a protocol field, and a protocol sequence. It relates to specific information about a variable, a variable specifying a compilation level, a variable specifying an execution code obfuscation method, and the like, which are frequently updated to distinguish each dynamic security module having a different configuration from each other. Information determined by the server device, which is information at the time of execution of code for performing security management of the dynamic security module.
  • the processor may further include receiving details of the dynamic security modules transmitted to the security client and verifying whether or not the configuration of the parameters of the stored dynamic security module is the same.
  • the verification of changes in the parameters of the dynamic security module is, for example, when the parameters of the dynamic security modules in which each parameter is sequentially transmitted, such as ABCD, are different from each other when compared with the details transmitted from the security client. If it is confirmed, it can be inferred that there has been a hacking attempt by a hacker, and actions can be taken.
  • Figure 3 is a schematic diagram showing a schematic configuration of the dynamic security module generating apparatus of the present invention.
  • the dynamic security module generating apparatus 310 is a dynamic security module allocated to the user terminal 350 such that codes performed for security in the user terminal 350 are not the same each time.
  • a device for generating a communication unit comprising a communication unit 312 for transmitting and receiving a security management event through a network and a processor 314 for controlling the communication unit 312, wherein the processor 314 is the dynamic security module.
  • Some or all of the modifiable parts of the code 318 are designated as variables, assigning a predetermined value to at least one of the variables, and transmitting the dynamic security module 318 to the user terminal 350.
  • Some or all of the code constituting the may be configured to have a valid time.
  • the dynamic security module generating apparatus 310 a part or all of the code for which the processor 314 performs security management in the security client 352 of the user terminal 350 has a certain valid time.
  • the modules 318 may be stored or generated every time the transmission is performed, when the user terminal 350 is driven, or when the application program including the security client 352 is driven by the user terminal 350, or the user terminal 350.
  • the security client 352 of the user terminal 350 in various cases, such as at the user's request or at every predetermined period set by the dynamic security module server apparatus 310, or at every predetermined period set by the user terminal 350.
  • the changeable part of the dynamic security module is, 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 compilation level, and a variable specifying an execution code obfuscation method. It may be a code that can change one or more elements selected from the group consisting of.
  • the fixed code is not changed.
  • the remaining mutable code is one selected from the group consisting of the function name of the code, the variable specifying the algorithm to be executed, the protocol field, the variable specifying the protocol sequence, the variable specifying the compilation level, and the variable specifying how the executable code is obfuscated.
  • the security management event received from the user terminal 350 is, for example, the details for determining the parameters for the dynamic security module 318 transmitted from the security client 352, the dynamic security module 318 is driven It may be a variety of events such as state status history of the state, security management result information indicating that there was a hacking threat, and virus treatment history for the application program mounted on the user terminal 150.
  • the user terminal 350 may be, for example, various terminal devices requiring security such as a smartphone, a tablet PC, a desktop computer, a notebook computer, and the like.
  • the processor 314 receives a security management result from the dynamic security module 318 transmitted to the security client 152, confirms the received security management result, and returns a security management confirmation result value to the security client 352.
  • the method may further include transmitting to the dynamic security module 318.
  • the security management result is received from the dynamic security module 318 transmitted to the security client 352 as the security management, the security management result is received, and the user terminal 350 has a security problem. If not, the method may further include transmitting a security diagnosis check result indicating that a security problem has not occurred to the dynamic security module 318 of the security client 352.
  • a security management result is received as the security management from the dynamic security module 318 transmitted to the security client 352, and the received security management result is confirmed, a security problem occurs in the user terminal 350.
  • the method may further include transmitting a security management check result indicating that a security problem has occurred to the dynamic security module 318 of the security client 352.
  • the dynamic security module generating apparatus 310 receives the security management result from the dynamic security module 318 transmitted to the security client 352 of the user terminal 350 and confirms it, and confirms the security management. By transmitting the value back to the dynamic security module 318, the dynamic security module 318 can quickly and effectively cope with a security problem of the user terminal 150.
  • the processor 314 receives a security management result as the security management from the dynamic security module 318 transmitted to the security client 352, and confirms the received security management result, the user terminal If a security problem occurs, a stop command for stopping an application program of the user terminal 350 is transmitted to the dynamic security module 118 of the security client 352, and a secure session with the security client 352.
  • the hacker can hack the dynamic security module 318 to fundamentally prevent a problem of generating security problems for various application programs of the user terminal 350.
  • the processor 314 generates and stores a session ID 316 as a secure session identifier, and transmits the session ID 316 to the secure client 352 so that the secure client 352 sends the session ID ( By storing 316, a secure session can be created.
  • the method for generating a secure session using the session ID generates a plurality of secure sessions and frequently updates the secure session, thereby providing reliability and convenience of security management for the user terminal 350 by the dynamic security module 318. There is an advantage to improve.
  • the validity time may be a validity time such that some or all of the code is deleted or not used when the validity time elapses. That is, the dynamic security module 318 having a valid time of some or all of the codes for performing security management in the security client 352 of the user terminal 350 deletes some or all of the codes when the valid time elapses. Or, the use of the dynamic security module itself may be stopped so as not to perform security management.
  • the security client 352 updates some or all of the code constituting the dynamic security module 318, thereby hacking the dynamic security module 318. It can fundamentally block the occurrence of security problems caused by virus infections.
  • processor 314 may further include storing a parameter for each dynamic security module 318 sent to the secure client 352 while the secure session is maintained.
  • the parameters for the dynamic security module 318 is transmitted to the security client 352 for the function structure, algorithm type, compilation level, etc. of the code for performing security management of the dynamic security module performing security management. It relates to specific information, which is frequently updated to distinguish each of the dynamic security modules having different configurations from each other, and is determined by the dynamic security module server apparatus 310, and thus, part or all of the code of the security client. Will change.
  • the processor 314 receives the details of the dynamic security module 318 transmitted to the security client 352, and verifies whether the configuration of the parameters of the stored dynamic security module 318 is the same. It may further include. The verification of the change of the parameters of the dynamic security module is not the same, for example, when the parameters of the dynamic security modules in which each parameter is sequentially transmitted as ABCD are compared with the details transmitted from the security client 352. If it is confirmed that the change has been made differently, it can be inferred that a hacking attempt by a hacker has occurred, and an action can be taken.
  • the dynamic security module generating apparatus 310 stores a dynamic security module 318 to be transmitted to the security client 352 of the user terminal 350, a session ID 316 as a security session identifier, and parameters for the dynamic security module.
  • the storage unit 313 may further include.
  • the dynamic security module server device 310 stores the dynamic security module 318 and the session ID 316 in the storage 313, thereby smoothing the dynamic security module 318 and the session ID 316. It can be transmitted to the secure client 352 reliably. In addition, by storing the parameters for the dynamic security module transmitted to the security client 352 in the storage 313, verification of the identity with the received details of the dynamic security module 318 sent to the security client 352 Can be performed more stably.
  • FIG. 4 is a schematic diagram showing an example of generating a dynamic source code composed of different functions in the method of generating a dynamic security module according to an embodiment of the present invention
  • FIG. 5 shows a dynamic security module generation according to an embodiment of the present invention.
  • a schematic diagram showing an example of generating a dynamic algorithm composed of different algorithms in the method is shown
  • FIG. 6 is a schematic diagram showing an example of generating dynamic compilation parameters having different compilation levels in the method of generating a dynamic security module according to an embodiment of the present invention. Is shown.
  • a dynamic security module generating method and apparatus may include an IP address (Internet Protocol address) of a user terminal and a mobile phone, which are transmitted when a security client is authenticated when a dynamic security module is generated.
  • IP address Internet Protocol address
  • Different types of dynamic security modules can be generated using variables selected from the group consisting of numbers and values generated from the random number generator.
  • the dynamic security module according to the method for generating a dynamic security module according to the present invention generates a logic for generating a result of performing a security diagnosis in a security client every time as shown in the dynamic source code generation example of FIG. 4 (lower part of FIG. 4). It can be implemented with source code consisting of different functions that change.
  • the dynamic security module according to the present invention implements, for example, three different algorithms for performing the same security management function as in the dynamic algorithm generation example of the dynamic security module of FIG.
  • the algorithm By configuring the algorithm to be selected as an algorithm for performing security management, it is very difficult to hack the dynamic security module itself by having a hacker request a different algorithm analysis each time.
  • the dynamic security module generates each of the dynamic security modules generated by generating the compilation results of various levels in addition to the optimization level compilation results in the build process of the dynamic security module as in the example of generating the dynamic compilation parameters of FIG. 6. You can implement code organization differently each time.
  • FIG. 7 is a schematic diagram illustrating an example of generating a session ID and a dynamic security module parameter in the method of generating a dynamic security module according to an embodiment of the present invention
  • FIG. 8 is a method of generating a dynamic security module according to an embodiment of the present invention.
  • a schematic diagram showing an example of generating a dynamic security module protocol field is shown
  • FIG. 9 is a schematic diagram showing 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.
  • the dynamic security module generation method generates a session ID as a security session identifier when generating a security session, as in the example of generating the session ID and dynamic security module parameters of FIG.
  • the secure session may be generated by transmitting the session ID to the secure client so that the secure client stores the session ID.
  • parameters for the dynamic security module generated while the security session is maintained may be stored.
  • the dynamic security module generation method when the security client of the dynamic security module server apparatus and the user terminal generates 11836381 as a session ID and generates a security session, the dynamic security module generation method is transmitted from the security client. If the parameters of the dynamic security module are verified, the parameters are A, B, and C, and the state is 1, 2, and the secure client is created by generating 72365784 as the session ID. When the details of the dynamic security module transmitted from the parameters are C, B, and A, the state is 0 and 3, and the secure session is generated by generating 87656501 as the session ID, The details of the dynamic security module transmitted from the security client can be verified that the parameters are B, A, and C, and that the states are 3 and 2. have. Here, these parameters and state details may be a security management event received from the user terminal.
  • the transmission time interval of the dynamic security module for each security session different for each security session, it can be configured to make the hacker more difficult to analyze the dynamic security module. There is also.
  • the protocol fields (brown, white, black) with the security client are different for each generated dynamic security module. It can be set and transmitted to the security client of the user terminal.
  • the dynamic security module generation system uses the protocol sequence (A-> B-> C-> D) of the dynamic security module executed in the security client as in the example of generating the dynamic security module protocol sequence of FIG. 9.
  • the security client For each dynamic security module created, set the security client differently each time, for example, A-> D-> B-> C, D-> C-> B-> A, B-> A-> D-> C.
  • the dynamic security module By transmitting to, it is possible to configure the dynamic security module, which is more difficult to hack, so that the driving order of the detailed functions for performing security management are implemented differently each time.
  • the dynamic security module generating apparatus 110 includes a processor 314, a communication unit 312, and a storage 313.
  • the processor 314 may generate a control signal to control the generation device 310 including the communication unit 312 and the storage 313.
  • the communication unit 312 may communicate with an external device using various protocols to transmit and receive data, and may connect to an external network by wire or wirelessly to transmit and receive digital data such as content and applications.
  • the storage 313 is a device capable of storing various digital data including audio, pictures, videos, applications, and the like, and various digital data such as flash memory, random access memory (RAM), and solid state drive (SSD). Represents storage space.
  • the storage 113 may temporarily store data received from an external device through the communication unit 312.
  • the method of generating a dynamic security module according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • the present invention provides a method for generating a dynamic security module assigned to the user terminal so that the code executed for security in the user terminal is not the same every time, a part or all of the changeable part of the code constituting the dynamic security module Is assigned to a variable, and the step of assigning 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. It relates to a production method and a device.
  • a part or all of the source code for performing security management transmits a dynamic security module having a certain valid time to a security client of a user terminal, so that security modules for various application programs of the user terminal are updated at any time. By doing so, hacking of the application programs becomes difficult, thereby improving the security of the user terminal.

Abstract

본 발명은 다이나믹 보안모듈의 생성방법 및 생성장치에 관한 것으로, 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어, 변수 중 적어도 하나 이상에 일정한 값을 할당하고, 코드의 일부 또는 전부가 유효시간을 가지도록 한다.

Description

다이나믹 보안모듈 생성방법 및 생성장치
본 발명은 다이나믹 보안모듈 생성장치 및 생성방법에 관한 것으로, 더욱 상세하게는 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 생성하여 사용자 단말의 보안 클라이언트로 전송하고, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 다이나믹 보안모듈 생성방법 및 생성장치에 관한 것이다.
최근, 모바일 단말인 스마트폰은 현대 생활에 없어서는 안될 필수품으로 자리잡았으며 전 세계적으로 널리 보급되고 있다. 그러나, 스마트폰의 보안 취약성이 계속적으로 발견되면서 악성 어플리케이션을 통한 공격이 급증하고 있다.
해커들은 모바일 단말을 대상으로 악성 어플리케이션을 개발하여 악성코드를 삽입한 후 이를 일반 사용자에게 오픈 마켓 또는 인터넷을 통해 정상 어플리케이션인 것처럼 위장해 배포한다. 악성 어플리케이션이 모바일 단말에 저장된 경우에, 모바일 단말 내의 악성 어플리케이션은 사용자도 모르게 SMS 송수신 정보, 전화번호부, 인터넷 접속 기록 등의 개인정보뿐만 아니라 모바일 뱅킹 등에 사용되는 모바일 공인인증서 등의 금융정보를 외부서버로 유출시키는 공격을 시도할 수 있다.
대부분의 어플리케이션 보안 솔루션은 어플리케이션이 실행되면 어플리케이션의 보안모듈과 통신하여 보안 로직을 호출하고 결과를 응답한다. 그러나, 해커들의 공격으로 보안 모듈과의 통신이 강제적으로 차단되거나 변조된 어플리케이션으로 인해 보안모듈이 무력화 된다면, 개인신상정보 및 금융과 관련된 개인정보에 치명적인 취약점이 발생하게 된다.
따라서, 최근 국내외적으로 널리 보급되고 있는 모바일 단말 기반 사용자 환경에서 보안 취약 문제를 해결하고, 사용자 단말에 포함된 다양한 소프트웨어의 보안성을 향상시킬 수 있는 기술개발에 대한 필요성이 크게 대두되고 있다.
본 발명의 목적은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 생성하여 사용자 단말의 보안 클라이언트로 전송하고, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 다이나믹 보안모듈 생성방법 및 생성장치를 제공하기 위한 것이다.
이러한 목적을 달성하기 위하여 본 발명에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지는 것으로 구성된다.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.
상기 유효시간은 상기 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 하는 유효시간일 수 있다.
상기 생성방법은 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하는 단계 및 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 단계를 더 포함할 수 있다.
상기 생성방법은 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함할 수 있다.
상기 생성방법은 상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함할 수 있다.
상기 생성방법은 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성할 수 있다.
상기 생성방법은 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 단계를 더 포함할 수 있다.
상기 생성방법은 상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다.
본 발명은 또한, 상기 목적을 달성하기 위하여, 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 장치로서, 네트워크를 통해 보안관리 이벤트를 송수신 하는 커뮤니케이션 유닛 및 상기 커뮤니케이션 유닛을 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 하는 다이나믹 보안모듈 생성장치를 제공한다.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.
상기 프로세서는 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하고, 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 것을 더 포함할 수 있다.
상기 프로세서는 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함할 수 있다.
상기 프로세서는 상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함할 수 있다.
상기 프로세서는 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성할 수 있다.
상기 프로세서는 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 것을 더 포함할 수 있다.
상기 프로세서는 상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다.
상기 다이나믹 보안모듈 생성장치는 상기 사용자 단말의 보안 클라이언트로 전송할 다이나믹 보안모듈, 보안 세션 식별자로서 세션 아이디, 및 다이나믹 보안모듈에 대한 파라미터를 저장하는 스토리지를 더 포함할 수 있다.
본 발명은 또한, 상기와 같은 목적을 달성하기 위해, 상기 다이나믹 보안모듈 생성방법을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 제공한다.
본 발명에 따른 다이나믹 보안모듈 생성방법 및 생성장치는 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 생성하여 사용자 단말의 보안 클라이언트로 전송하고, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 제1 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도이다.
도 2는 본 발명의 제2 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도이다.
도 3은 본 발명의 다이나믹 보안모듈 생성장치의 개략적인 구성을 나타낸 모식도이다.
도 4는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 함수로 이루어진 동적 코드 생성예를 나타낸 모식도이다.
도 5는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 알고리즘으로 이루어진 동적 알고리즘 생성예를 나타낸 모식도이다.
도 6은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 컴파일 레벨을 갖는 동적 컴파일 파라미터 생성예를 나타낸 모식도이다.
도 7은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 세션 아이디 및 다이나믹 보안모듈 파라미터 생성예를 나타낸 모식도이다.
도 8은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 필드 생성예를 나타낸 모식도이다.
도 9는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 시퀀스 생성예를 나타낸 모식도이다.
이러한 목적을 달성하기 위하여 본 발명에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지는 것으로 구성된다.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.
상기 유효시간은 상기 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 하는 유효시간일 수 있다.
상기 생성방법은 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하는 단계 및 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 단계를 더 포함할 수 있다.
상기 생성방법은 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함할 수 있다.
상기 생성방법은 상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함할 수 있다.
상기 생성방법은 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성할 수 있다.
상기 생성방법은 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 단계를 더 포함할 수 있다.
상기 생성방법은 상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다.
본 발명은 또한, 상기 목적을 달성하기 위하여, 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 장치로서, 네트워크를 통해 보안관리 이벤트를 송수신 하는 커뮤니케이션 유닛 및 상기 커뮤니케이션 유닛을 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 하는 다이나믹 보안모듈 생성장치를 제공한다.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.
상기 프로세서는 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하고, 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 것을 더 포함할 수 있다.
상기 프로세서는 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함할 수 있다.
상기 프로세서는 상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함할 수 있다.
상기 프로세서는 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성할 수 있다.
상기 프로세서는 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 것을 더 포함할 수 있다.
상기 프로세서는 상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다.
상기 다이나믹 보안모듈 생성장치는 상기 사용자 단말의 보안 클라이언트로 전송할 다이나믹 보안모듈, 보안 세션 식별자로서 세션 아이디, 및 다이나믹 보안모듈에 대한 파라미터를 저장하는 스토리지를 더 포함할 수 있다.
본 발명은 또한, 상기와 같은 목적을 달성하기 위해, 상기 다이나믹 보안모듈 생성방법을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 제공한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하기로 한다. 또한 본 발명의 실시예들을 설명함에 있어 구체적인 수치는 실시예에 불과하다.
도 1에는 본 발명의 제1 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도가 도시되어 있고, 도 2에는 본 발명의 제2 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도가 도시되어 있다.
이들 도면을 참조하면, 본 발명의 제1 실시예에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계(S100)를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 상기 다이나믹 보안모듈을 생성하여 저장하는 단계(S110)로 구성된다.
즉, 본 발명에 따른 다이나믹 보안모듈 생성방법은 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있는 다이나믹 보안모듈에서 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함함으로써, 상기 사용자 단말의 보안 클라이언트에서 보안관리를 수행하는 코드들이 동적으로 랜덤하게 선택되도록 하여 해커에 의한 다이나믹 보안모듈에 대한 해킹을 매우 어렵게 하므로, 다이나믹 보안모듈을 탑재하는 사용자 단말의 보안성을 현저하게 향상시킬 수 있다.
또한, 사용자 단말의 보안 클라이언트에서 자주 갱신되며 보안관리를 수행하는 다이나믹 보안모듈의 코드 구성을 서로 다르게 하여, 무수히 많은 종류의 코드 구성을 가진 서로 다른 다이나믹 보안모듈을 생성할 수 있는 장점이 있다.
구체적으로, 상기 사용자 단말의 보안 클라이언트에 보안관리를 수행하는 각각의 기능에 대한 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정된 코드를 사용하며, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하므로, 무수히 많은 종류의 다이나믹 보안모듈을 생성할 수 있다.
예를 들어, 다이나믹 보안모듈의 변경 가능한 코드들 중 일부(r) 또는 전부(n)를 변수로 지정한 코드를 사용하므로 아래와 같은 조합 공식에 의해 다수의 변경 가능한 코드들의 조합(nCr)을 만들어 사용할 수 있다.
Figure PCTKR2016002537-appb-I000001
여기서 r은 (n≥r)
또한, 상기 다이나믹 보안모듈의 생성방법을 수행하기 위한 장치에 저장된 변경 가능한 코드들에 대한 여러 가지 종류의 코드들(a)을 이용하여 변수로 지정된 코드에 일정한 값을 할당할 경우에 할당된 값(b)의 종류는 아래와 같은 조합(aCb)들로 만들어질 수 있다.
Figure PCTKR2016002537-appb-I000002
여기서, b는 (a≥b)
따라서, 상기 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 무수히 많은 종류로 생성될 수 있는 특징이 있다.
또한, 상기 다이나믹 보안모듈은 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 구성되어 있으므로, 상기 사용자 단말의 보안 클라이언트로 전송된 다이나믹 보안모듈이 자주 갱신되도록 하여, 보안모듈의 해킹이나 컴퓨터 바이러스 감염 등으로 인한 사용자 단말에 탑재된 응용 프로그램들에 대한 보안문제 발생을 효과적으로 방지할 수 있는 특징이 있다.
상기 다이나믹 보안모듈의 변경 가능한 부분은 예를 들어, 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.
즉, 상기 사용자 단말의 보안 클라이언트에서 보안관리를 위해 구동하는 다이나믹 보안모듈을 구성하는 코드들 중 구동 시작점을 구현하는 코드들과 같이 다이나믹 보안모듈이 새롭게 갱신될 경우에도 변경되지 않고, 고정되는 코드를 제외한 나머지 변경 가능한 코드는 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경하여 무수히 많은 종류의 다이나믹 보안모듈로 생성할 수 있다.
여기서, 상기 프로토콜 필드는 상기 다이나믹 보안모듈이 상기 보안 클라이언트에서 수행하는 보안관리의 다양한 항목들에 대한 수행방법 등의 규약으로서 예를 들어, 상기 보안 클라이언트를 포함하는 응용 프로그램에 대한 해킹 위협이 될 수 있는 요소의 존재 여부를 판별한 결과를 전송하는 통신 규약, 상기 응용 프로그램에 대한 파일 바이러스, 부트 앤 파일(Boot & file) 바이러스 등에 대한 자체 치료 내역을 전송하는 통신 규약일 수 있다.
또한, 상기 프로토콜 시퀀스는 상기 다이나믹 보안모듈(118)이 상기 보안 클라이언트에서 수행하는 보안관리를 포함하는 다양한 항목들에 대한 수행순서를 의미하는 것으로서, 예를 들어, 상기 응용프로그램이 설치된 단말기의 O/S 위변조, 앱(App)의 위변조, 루팅(Rooting), 디버거(debugger), 루트 프로세스 실행이력, 유해 어플리케이션 설치, 유해 어플리케이션 실행이력, 유해 포트, 세션 위변조, 입력값 위변조 및 컴퓨터 바이러스로 이루어진 해킹 위협이 될 수 있는 요소의 검출에 있어서, 상기 각각의 요소들을 검출하는 순서일 수 있다.
또한, 상기 컴파일 레벨은 다이나믹 보안모듈의 소스 코드를 상기 보안 클라이언트에서 실행 가능한 기계어로 빌드 시, 원활한 보안관리 기능의 실행을 위하여 컴파일러를 이용하여 최적화여 컴파일 하게 된다. 이 때, 코드의 optimization level 이외에 다양한 level의 코드 들이 생성될 수 있으며, 다이나믹 보안모듈을 구성하는 코드의 컴파일 레벨을 다르게 구현함으로써, 서로 다른 무수히 많은 종류의 다이나믹 보안모듈을 생성할 수 있다. 또한, 이와 같은 소스 코드의 서로 다른 컴파일 레벨의 구현은 예를 들어, 상기 다이나믹 보안모듈을 생성하기 위한 서버장치뿐만이 아니라 사용자 상기 단말의 보안 클라이언에서도 구현될 수 있다.
또한, 상기 다이나믹 보안모듈의 보안관리를 수행하는 코드의 일부 또는 전부의 유효시간은 예를 들어, 1시간, 3시간, 6시간, 9시간, 12시간, 24시간, 48시간 및 72 시간으로 이루어진 군에서 선택된 시간 간격으로 설정하여 이러한 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 구성할 수도 있다. 따라서, 이와 같은 다이나믹 보안모듈의 유효시간 만료 시, 상기 보안 클라이언트는 다이나믹 보안모듈에 대한 사용을 중지하고, 상기 다이나믹 보안모듈 서버장치로부터 새로운 다이나믹 보안모듈을 전송 받아 갱신함으로써, 다이나믹 보안모듈의 해킹이나 바이러스 감염으로 인한 상기 사용자 단말의 보안문제 발생을 효과적으로 방지할 수 있다.
본 발명의 제2 실시예에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계(S200)를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 하고, 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하는 단계(210) 및 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 단계(220)를 더 포함하는 것으로 구성될 수 있다.
즉, 본 발명의 제2 실시예에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말의 보안 클라이언트에서 보안관리를 수행하는 코드의 일부 또는 전부가 일정한 유효시간을 가지도록 다이나믹 보안모듈을 생성하여, 사용자 단말의 구동 시, 또는 사용자 단말에서 상기 보안 클라이언트를 포함하는 응용 프로그램의 구동 시, 또는 사용자 단말의 사용자 요청 시, 또는 상기 다이나믹 보안모듈 서버장치에서 설정한 일정 주기마다, 또는 사용자 단말에서 설정한 일정 주기마다 등의 다양한 경우에 사용자 단말의 보안 클라이언트와 보안 세션을 생성하여, 상기 다이나믹 보안모듈을 상기 사용자 단말의 보안 클라이언트로 전송함으로써, 상기 다이나믹 보안모듈이 자주 갱신되도록 하여, 보안모듈의 해킹이나 컴퓨터 바이러스 감염 등으로 인한 사용자 단말에 탑재된 응용 프로그램들에 대한 보안문제 발생을 더욱 효과적으로 방지할 수 있는 특징이 있다.
또한, 상기 생성방법은 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하는 단계(230), 상기 수신한 보안관리 결과를 확인하여 보안문제 발생여부를 확인하는 단계(240), 및 사용자 단말에 보안문제가 발생하지 않은 경우, 보안문제가 발생하지 않았음을 알리는 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계(S250)로 수행된다.
여기서, 상기 사용자 단말에 보안문제가 발생한 경우에는, 보안문제가 발생하였음을 알리는 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계(S251)가 수행된다.
또한, 상기 사용자 단말에 보안문제가 발생한 경우, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계(S252)가 더 수행될 수 있다.
즉, 본 발명에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말의 보안 클라이언트로 전송한 다이나믹 보안모듈로부터 보안관리 결과를 수신하여 이를 확인하고, 보안관리 확인 결과값을 다시 다이나믹 보안모듈로 전송함으로써, 다이나믹 보안모듈이 상기 사용자 단말의 보안문제 발생시 신속하고 효과적으로 대처하도록 할 수 있다.
이와 관련하여, 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 상기 보안관리로서 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 상기 사용자 단말에 보안문제가 발생한 경우, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하고, 상기 보안 클라이언트와의 보안 세션을 파기하는 것을 더 포함함으로써, 해커가 다이나믹 보안모듈을 해킹하여 사용자 단말의 각종 응용 프로그램들에 대한 보안문제를 발생시키는 문제를 근본적으로 방지할 수 있다.
즉, 상기 사용자 단말의 보안문제 발생시, 상기 사용자 단말에 탑재된 응용 프로그램의 구동을 신속하게 정지하도록 함으로써, 상기 응용 프로그램의 구동에 의한 상기 사용자 단말에 탑재된 다른 응용 프로그램들에 대한 추가적인 보안문제의 확산을 방지하고, 상기 보안 세션을 파기하여 해커에 의한 다이나믹 보안모듈 또는 다이나믹 보안모듈 서버장치에 대한 추적 및 분석을 신속하게 차단할 수 있다.
여기서, 보안관리는 상기 다아나믹 보안모듈이 상기 보안 클라이언트를 포함하는 응용 프로그램에 대한 해킹 위협이 될 수 있는 요소의 존재 여부를 감지하는 것, 상기 응용 프로그램이 설치된 단말기의 O/S 위변조, 앱(App)의 위변조, 루팅(Rooting), 디버거(debugger), 루트 프로세스 실행이력, 유해 어플리케이션 설치, 유해 어플리케이션 실행이력, 유해 포트, 세션 위변조, 입력값 위변조 및 컴퓨터 바이러스로 이루어진 해킹 위협이 될 수 있는 요소를 검출하는 것, 상기 해킹 위협이 될 수 있는 요소에 대한 정보를 상기 다이나믹 보안모듈 서버장치로 전송하는 것, 상기 응용 프로그램에 대한 바이러스를 치료하는 것, 상기 용응 프로그램에 대한 해킹 위협과 바이러스 감염문제를 방지하기 위해 상기 응용 프로그램에 대한 정지명령을 전송하는 것, 상기 다아나믹 보안모듈의 유효시간 만료 또는 해커에 의한 해킹, 바이러스 감염 등의 문제로 인해 다이나믹 보안모듈 자체의 기능을 정지하는 것 등과 같은 상기 다이나믹 보안모듈이 상기 사용자 단말의 보안을 위해 수행하는 전반적인 관리를 포함하는 개념이다.
또한, 상기 사용자 단말로부터 수신된 보안관리 이벤트는 예를 들어, 상기 보안 클라이언트로부터 전송된 다이나믹 보안모듈에 대한 파라미터를 판단하기 위한 내역, 다이나믹 보안모듈이 구동되고 있는 상태에 대한 스테이트(state) 내역, 해킹 위협이 있었음을 알리는 보안관리 결과 정보, 및 상기 사용자 단말에 탑재된 응용 프로그램에 대한 바이러스 치료 내역 등의 다양한 이벤트일 수 있다.
또한, 상기 보안관리 결과는 상기 다이나믹 보안모듈이 상기 보안 클라이언트에서 실제 수행한 보안관리의 내역으로서, 상기 다이나믹 보안모듈에 포함되어 있는 세부적인 보안관리 기능들을 수행한 결과값이며, 보안관리 이벤트의 일부분이다. 예를 들어, 상기 해킹 위협이 될 수 있는 요소의 존재 여부에 대한 감지 결과, 상기 해킹 위협이 될 수 있는 요소를 검출 결과, 상기 응용 프로그램에 대한 바이러스 치료 및 해킹 위협이 될 수 있는 요소의 제거 결과 등의 내역일 수 있다.
또한, 상기 보안관리 확인 결과값은 상기 다이나믹 보안모듈 서버장치가 상기 보안관리 결과를 수신하여, 상기 보안관리 결과를 기초로 분석한 상기 사용자 단말의 보안문제 발생여부에 대한 판단결과이다. 즉, 상기 사용자 단말에 현재 해킹 위협이 될 수 있는 요소가 존재 하는지에 대한 판단결과, 사용자 단말에 탑재된 응용 프로그램이 해킹되었는지에 대한 판단결과, 및 상기 응용 프로그램이 바이러스나, 악성코드에 감염되었는지에 대한 판단결과 일 수 있다.
상기 다이나믹 보안모듈의 생성방법은 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 함으로써, 보안 세션을 생성할 수 있다. 이러한 세션 아이디를 이용하여 보안 세션을 생성하는 방법은 여러 개의 보안 세션을 생성하여 보안 세션을 자주 갱신함으로써, 상기 다이나믹 보안모듈에 의한 상기 사용자 단말에 대한 보안관리의 신뢰성과 편의성을 향상시킬 수 있는 장점이 있다.
여기서, 상기 보안 세션의 생성은 인증이 완료된 사용자 단말의 보안 클라이언트와 생성하는 것으로 이루어질 수 있다. 즉, 상기 보안 세션의 생성은 사용자 단말에 대한 보안성을 한 단계 더 향상시킬 수 있도록, 다이나믹 보안모듈을 전송하기 위한 사용자 단말의 보안 클라이언트에 대한 인증 과정을 더 수행할 수 있다.
또한, 상기 사용자 단말의 보안 클라이언트의 인증은 예를 들어, 상기 보안 클라이언트가 포함된 응용 프로그램인 어플리케이션이 상기 사용자 단말에 설치됨과 동시에 인증이 완료되거나, 또는 상기 어플리케이션이 상기 사용자 단말에 설치된 후, 최초 구동 시 인증이 완료되거나, 또는 상기 어플리케이션에 대한 로그인(log in) 및 로그아웃(log out) 시 인증이 완료되거나, 또는 상기 어플리케이션이 상기 사용자 단말에 설치된 후, 상기 어플리케이션을 통한 사용자의 요청에 의해 인증이 완료될 수 있다.
상기 생성방법은 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터가 저장되도록 하는 단계를 더 포함할 수 있다.
여기서, 다이나믹 보안모듈에 대한 파라미터는 상기 보안 클라이언트로 전송되어 보안관리를 수행하고 있는 다이나믹 보안모듈의 보안관리를 수행하기 위한 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수 등에 대한 구체적인 정보에 관한 것으로, 자주 갱신되어 서로 다른 구성을 갖는 각각의 다이나믹 보안모듈들을 서로 구분하기 위한 것이며, 상기 다이나믹 보안모듈 서버장치에서 결정되는 정보로서, 상기 다이나믹 보안모듈의 보안관리를 수행하는 코드의 실행 시의 정보이다.
또한, 상기 프로세서는 상기 보안 클라이언트로 전송된 다이나믹 보안모듈들에 대한 내역을 수신하여, 상기 저장한 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다. 이러한 다이나믹 보안모듈의 파라미터의 변경 내용 검증은 예를 들어, 각각의 파라미터가 A-B-C-D와 같이 순차적으로 전송된 다이나믹 보안모듈들의 파라미터가 상기 보안 클라이언트로부터 전송된 내역과 비교했을 때, 동일하지 않고 다르게 변경된 것으로 확인된 경우, 해커에 의한 해킹 시도 등이 있었음을 유추할 수 있으며, 이에 대한 조치를 수행할 수 있다.
도 3에는 본 발명의 다이나믹 보안모듈 생성장치의 개략적인 구성을 나타낸 모식도가 도시되어 있다.
도 3을 참조하면, 본 발명에 따른 다이나믹 보안모듈 생성장치(310)는 사용자 단말(350)에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말(350)에 할당되는 다이나믹 보안모듈(318)을 생성하는 장치로서, 네트워크를 통해 보안관리 이벤트를 송수신 하는 커뮤니케이션 유닛(312) 및 상기 커뮤니케이션 유닛(312)을 제어하는 프로세서(314)를 포함하고, 상기 프로세서(314)는 상기 다이나믹 보안모듈(318)을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하며, 상기 사용자 단말(350)에 전송된 다이나믹 보안모듈(318)을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 구성될 수 있다.
즉, 본 발명에 따른 다이나믹 보안모듈 생성장치(310)는 프로세서(314)가 사용자 단말(350)의 보안 클라이언트(352)에서 보안관리를 수행하는 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈(318)들을 저장하거나, 전송 시마다 생성하여, 사용자 단말(350)의 구동 시, 또는 사용자 단말(350)에서 상기 보안 클라이언트(352)를 포함하는 응용 프로그램의 구동 시, 또는 사용자 단말(350)의 사용자 요청 시, 또는 상기 다이나믹 보안모듈 서버장치(310)에서 설정한 일정 주기마다, 또는 사용자 단말(350)에서 설정한 일정 주기마다 등의 다양한 경우에 사용자 단말(350)의 보안 클라이언트(352)와 보안 세션을 생성하여, 상기 다이나믹 보안모듈(318)을 상기 사용자 단말(350)의 보안 클라이언트(352)로 전송함으로써, 상기 다이나믹 보안모듈(318)이 자주 갱신되도록 하여, 보안모듈의 해킹이나 컴퓨터 바이러스 감염 등으로 인한 사용자 단말에 탑재된 응용 프로그램들에 대한 보안문제 발생을 효과적으로 방지할 수 있는 특징이 있다.
상기 다이나믹 보안모듈의 변경 가능한 부분은 예를 들어, 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.
즉, 상기 사용자 단말의 보안 클라이언트에서 보안관리를 위해 구동하는 다이나믹 보안모듈을 구성하는 코드들 중 구동 시작점을 구현하는 코드들과 같이 다이나믹 보안모듈이 새롭게 갱신될 경우에도 변경되지 않고, 고정되는 코드를 제외한 나머지 변경 가능한 코드는 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경하여 무수히 많은 종류의 다이나믹 보안모듈로 생성할 수 있다.
상기 사용자 단말(350)로부터 수신된 보안관리 이벤트는 예를 들어, 상기 보안 클라이언트(352)로부터 전송된 다이나믹 보안모듈(318)에 대한 파라미터를 판단하기 위한 내역, 다이나믹 보안모듈(318)이 구동되고 있는 상태에 대한 스테이트(state) 상태 내역, 해킹 위협이 있었음을 알리는 보안관리 결과 정보, 및 상기 사용자 단말(150)에 탑재된 응용 프로그램에 대한 바이러스 치료 내역 등의 다양한 이벤트일 수 있다.
또한, 상기 사용자 단말(350)은 예를 들어, 스마트폰, 테블릿 PC, 데스크 톱 컴퓨터, 노트북 컴퓨터 등의 보안이 필요한 다양한 단말기기 일 수 있다.
상기 프로세서(314)는 상기 보안 클라이언트(152)로 전송된 다이나믹 보안모듈(318)로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트(352)의 다이나믹 보안모듈(318)로 전송하는 것을 더 포함할 수 있다.
구체적으로, 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)로부터 상기 보안관리로서 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 상기 사용자 단말(350)에 보안문제가 발생하지 않은 경우, 보안문제가 발생하지 않았음을 알리는 보안진단 확인 결과값을 상기 보안 클라이언트(352)의 다이나믹 보안모듈(318)로 전송하는 것을 더 포함할 수 있다.
또한, 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)로부터 상기 보안관리로서 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 상기 사용자 단말(350)에 보안문제가 발생한 경우, 보안문제가 발생하였음을 알리는 보안관리 확인 결과값을 상기 보안 클라이언트(352)의 다이나믹 보안모듈(318)로 전송하는 것을 더 포함할 수 있다.
즉, 본 발명에 따른 다이나믹 보안모듈 생성장치(310)는 사용자 단말(350)의 보안 클라이언트(352)로 전송한 다이나믹 보안모듈(318)로부터 보안관리 결과를 수신하여 이를 확인하고, 보안관리 확인 결과값을 다시 다이나믹 보안모듈(318)로 전송함으로써, 다이나믹 보안모듈(318)이 상기 사용자 단말(150)의 보안문제 발생시 신속하고 효과적으로 대처하도록 할 수 있다.
이와 관련하여, 상기 프로세서(314)는 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)로부터 상기 보안관리로서 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 상기 사용자 단말에 보안문제가 발생한 경우, 상기 사용자 단말(350)의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트(352)의 다이나믹 보안모듈(118)로 전송하고, 상기 보안 클라이언트(352)와의 보안 세션을 파기하는 것을 더 포함함으로써, 해커가 다이나믹 보안모듈(318)을 해킹하여 사용자 단말(350)의 각종 응용 프로그램들에 대한 보안문제를 발생시키는 문제를 근본적으로 방지할 수 있다.
한편, 상기 프로세서(314)는 보안 세션 식별자로서 세션 아이디(316)를 생성하여 저장하고, 상기 세션 아이디(316)를 상기 보안 클라이언트(352)에 전송하여 상기 보안 클라이언트(352)가 상기 세션 아이디(316)를 저장하도록 함으로써, 보안 세션을 생성할 수 있다. 이러한 세션 아이디를 이용하여 보안 세션을 생성하는 방법은 여러 개의 보안 세션을 생성하여 보안 세션을 자주 갱신함으로써, 상기 다이나믹 보안모듈(318)에 의한 상기 사용자 단말(350)에 대한 보안관리의 신뢰성과 편의성을 향상시킬 수 있는 장점이 있다.
상기 유효시간은 상기 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 하는 유효시간일 수 있다. 즉, 상기 사용자 단말(350)의 보안 클라이언트(352)에서 보안관리를 수행하는 코드의 일부 또는 전부가 유효시간을 갖는 상기 다이나믹 보안모듈(318)은 유효시간의 경과 시 코드의 일부 또는 전부가 삭제되거나, 보안관리를 수행하지 않도록 다이나믹 보안모듈 자체의 사용이 중지될 수 있다.
따라서, 이러한 다이나믹 보안모듈(318)의 유효시간 만료시, 상기 보안 클라이언트(352)는, 다이나믹 보안모듈(318)을 구성하는 코드의 일부 또는 전부를 갱신함으로써, 다이나믹 보안모듈(318)의 해킹이나 바이러스의 감염 등의 원인에 의한 보안문제 발생을 원천적으로 차단할 수 있다.
또한, 상기 프로세서(314)는 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트(352)로 전송된 각각의 상기 다이나믹 보안모듈(318)에 대한 파라미터를 저장하는 것을 더 포함할 수 있다.
여기서, 다이나믹 보안모듈(318)에 대한 파라미터는 상기 보안 클라이언트(352)로 전송되어 보안관리를 수행하고 있는 다이나믹 보안모듈의 보안관리를 수행하기 위한 코드의 함수 구조, 알고리즘의 종류, 컴파일 레벨 등에 대한 구체적인 정보에 관한 것으로, 자주 갱신되어 서로 다른 구성을 갖는 각각의 다이나믹 보안모듈들을 서로 구분하기 위한 것이며, 상기 다이나믹 보안모듈 서버장치(310)에서 결정되는 정보로서, 이에 따라 보안 클라이언트의 코드 일부 또는 전부가 변경되게 된다.
또한, 상기 프로세서(314)는 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)들에 대한 내역을 수신하여, 상기 저장한 다이나믹 보안모듈(318)의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다. 이러한 다이나믹 보안모듈의 파라미터의 변경 내용 검증은 예를 들어, 각각의 파라미터가 A-B-C-D와 같이 순차적으로 전송된 다이나믹 보안모듈들의 파라미터가 상기 보안 클라이언트(352)로부터 전송된 내역과 비교했을 때, 동일하지 않고 다르게 변경된 것으로 확인된 경우, 해커에 의한 해킹 시도 등이 있었음을 유추할 수 있으며, 이에 대한 조치를 수행할 수 있다.
상기 다이나믹 보안모듈 생성장치(310)는 상기 사용자 단말(350)의 보안 클라이언트(352)로 전송할 다이나믹 보안모듈(318), 보안 세션 식별자로서 세션 아이디(316), 및 다이나믹 보안모듈에 대한 파라미터를 저장하는 스토리지(313)를 더 포함할 수 있다.
즉, 상기 다이나믹 보안모듈 서버장치(310)는 상기 스토리지(313)에 다이나믹 보안모듈(318), 세션 아이디(316)를 저장함으로써, 상기 다이나믹 보안모듈(318)과 세션 아이디(316)를 원활하고 안정적으로 상기 보안 클라이언트(352)로 전송할 수 있다. 또한, 상기 스토리지(313)에 상기 보안 클라이언트(352)로 전송한 다이나믹 보안모듈에 대한 파라미터를 저장함으로써, 상기 보안 클라이언트(352)로 전송된 다이나믹 보안모듈(318)에 대한 수신 내역과의 동일성 검증을 더욱 안정적으로 수행할 수 있다.
도 4에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 함수로 이루어진 동적 소스코드 생성예를 나타낸 모식도가 도시되어 있고, 도 5에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 알고리즘으로 이루어진 동적 알고리즘 생성예를 나타낸 모식도가 도시되어 있으며, 도 6에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 컴파일 레벨을 갖는 동적 컴파일 파라미터 생성예를 나타낸 모식도가 도시되어 있다.
이들 도면을 참조하면, 이들 도면을 참조하면, 본 발명에 따른 다이나믹 보안모듈 생성방법 및 생성장치는 다이나믹 보안모듈 생성시, 보안 클라이언트의 인증 시 전달받은 사용자 단말의 IP 주소(Internet Protocol address), 휴대폰 번호, 난수 발생기로부터 생성된 값으로 이루어진 군에서 선택된 변수를 이용하여 서로 다른 다양한 형태의 다이나믹 보안모듈을 생성할 수 있다.
우선, 본 발명에 따른 다이나믹 보안모듈 생성방법에 따른 다이나믹 보안모듈은 보안 클라이언트에서 보안진단 수행결과를 생성하기 위한 로직을 도 4의 동적 소스코드 생성예(도 4의 하부)와 같이 생성 시 마다 매번 변경되는 서로 다른 함수로 이루어진 소스 코드로 구현할 수 있다.
종래의 일반적인 소스코드의 경우 도 4의 생성예(도 4의 상부)에서와 같이, 소스 코드의 분석시 소스 코드에 해당되는 구체적인 함수 이름이 바로 노출되므로, 해커가 이러한 소스 코드로 이루어진 메인 로직을 파악하기 매우 용이하다. 그러나, 본 발명에 따른 다이나믹 보안모듈은 도 4의 생성예(도 4의 하부) 에서와 같이, 메인 로직을 구성하는 소스 코드의 함수가 확정되지 않고 랜덤 문자열로 이루어진 소스 코드가 채택될 확률(%)로 표현되는 동적 소스 코드로 구현되므로, 해커가 다이나믹 보안모듈의 메인 로직을 쉽게 파악하기 매우 어렵도록 구성된다. 이러한, 동적 소스코드는 예를 들어 템플릿 프레임워크(Template framework)를 이용하여 용이하게 구현할 수 있다.
또한, 본 발명에 따른 다이나믹 보안모듈은 도 5의 다이나믹 보안모듈의 동적 알고리즘 생성예와 같이 동일한 보안관리 기능을 수행하는 로직을 예를 들어 3가지의 서로 다른 알고리즘으로 구현하고, 이들 알고리즘 중 하나의 알고리즘이 보안관리를 수행하기 위한 알고리즘으로 선택되도록 구성함으로써, 해커로 하여금, 매번 다른 알고리즘 분석을 요구하도록 하여 다이나믹 보안모듈 자체에 대한 해킹을 매우 어렵게 구현할 수 있다.
또한, 본 발명에 따른 다이나믹 보안모듈은 도 6의 동적 컴파일 파라미터의 생성예와 같이 다이나믹 보안모듈의 빌드 과정에서 optimization level 컴파일 결과물 이외에 다양한 level의 컴파일 결과물로 생성함으로써, 생성되는 각각의 다이나믹 보안모듈의 코드 구성을 매번 다르게 구현할 수 있다.
도 7에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 세션 아이디 및 다이나믹 보안모듈 파라미터 생성예를 나타낸 모식도가 도시되어 있고, 도 8은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 필드 생성예를 나타낸 모식도가 도시되어 있으며, 도 9에는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 시퀀스 생성예를 나타낸 모식도가 도시되어 있다.
이들 도면을 참조하면, 본 발명에 따른 다이나믹 보안모듈 생성방법은 보안 세션 생성시, 도 7의 세션 아이디 및 다이나믹 보안모듈 파라미터 생성예에서와 같이, 보안 세션 식별자로서 세션 아이디를 생성하여 서버장치의 프로세서에 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 함으로써, 보안 세션을 생성할 수 있다. 또한, 상기 보안 세션이 유지되는 동안 생성된 상기 다이나믹 보안모듈에 대한 파라미터를 저장할 수 있다.
즉, 도 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 임을 검증할 수 있다. 여기서, 이러한 파라미터와 스테이트 내역은 상기 사용자 단말로부터 수신된 보안관리 이벤트일 수 있다.
또한, 상기 각각의 보안 세션들의 변경 시간 간격, 각 보안 세션들마다의 다이나믹 보안모듈의 전송 시간 간격을 각 보안 세션마다 모두 다르게 설정함으로써, 해커가 다이나믹 보안모듈에 대한 분석을 더욱 어렵게 하도록 구성할 수 도 있다.
또한, 본 발명에 따른 다이나믹 보안모듈 생성방법은 도 8의 다이나믹 보안모듈 프로토콜 필드 생성예 에서와 같이, 보안 클라이언트와의 프로토콜 필드(brown, white, black)를, 각각 생성되는 다이나믹 보안모듈마다 매번 다르게 설정하여 사용자 단말의 보안 클라이언트로 전송할 수 있다.
이와 같이 보안 클라이언트로 전송된 다이나믹 보안모듈의 프로토콜 필드가 매번 다를 경우, 해커는 매번 달라지는 프로토콜 필드를 모두 각각 분석해야 하므로, 다이나믹 보안모듈에 대한 해킹이 더욱 어려워지게 된다.
또한, 본 발명에 따른 다이나믹 보안모듈 생성 시스템은 도 9의 다이나믹 보안모듈 프로토콜 시퀀스 생성예 에서와 같이, 보안 클라이언트에서 실행되는 다이나믹 보안모듈의 프로토콜 시퀀스(A->B->C->D)를 각각 생성되는 다이나믹 보안모듈마다 예를 들어, A->D->B->C, D->C->B->A, B->A->D->C로 매번 다르게 설정하여 보안 클라이언트로 전송함으로써, 보안관리를 수행하는 세부 기능들의 구동 순서가 매번 다르게 구현되도록 하여 해킹이 더욱 어려운 다이나믹 보안모듈로 구성할 수 있다.
본 발명에 따른 다이나믹 보안모듈 생성장치(110)는 프로세서(314), 커뮤니케이션 유닛(312) 및 스토리지(313)를 포함한다.
상기 프로세서(314)는 제어 신호를 생성하여 커뮤니케이션 유닛(312)과 스토리지(313)를 포함하는 상기 생성장치(310)를 제어할 수 있다. 여기서, 커뮤니케이션 유닛(312)은 외부 디바이스와 다양한 프로토콜을 이용하여 통신을 수행하여 데이터를 송수신할 수 있으며, 유선 또는 무선으로 외부 네트워크에 접속하여, 컨텐츠, 애플리케이션 등의 디지털 데이터를 송수신할 수 있다.
또한, 상기 스토리지(313)는 오디오, 사진, 동영상, 애플리케이션 등을 포함하는 다양한 디지털 데이터를 저장할 수 있는 장치로서, 플래시 메모리, RAM(Random Access Memory), SSD(Solid State Drive) 등의 다양한 디지털 데이터 저장 공간을 나타낸다. 이러한 스토리지(113)는 커뮤니케이션 유닛(312)을 통해 외부 디바이스로부터 수신된 데이터를 임시적으로 저장할 수 있다.
본 발명에 따른 다이나믹 보안모듈의 생성방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
본 발명은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지는 다이나믹 보안모듈의 생성방법 및 생성장치에 관한 것이다.
본 발명에 따르면, 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 사용자 단말의 보안 클라이언트로 전송하여, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 상기 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 효과가 있다.

Claims (19)

  1. 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서,
    상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고,
    상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지는 다이나믹 보안모듈의 생성방법.
  2. 제 1항에 있어서,
    상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드인 다이나믹 보안모듈의 생성방법.
  3. 제 1항에 있어서,
    상기 유효시간은 상기 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 하는 유효시간인 다이나믹 보안모듈의 생성방법.
  4. 제 1항에 있어서,
    상기 생성방법은
    상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하는 단계; 및
    상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 단계;
    를 더 포함하는 다이나믹 보안모듈의 생성방법.
  5. 제 4항에 있어서,
    상기 생성방법은
    상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함하는 다이나믹 보안모듈의 생성방법.
  6. 제 4항에 있어서,
    상기 생성방법은
    상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함하는 다이나믹 보안모듈의 생성방법.
  7. 제 4항에 있어서,
    상기 생성방법은
    보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성하는 다이나믹 보안모듈의 생성방법.
  8. 제 4항에 있어서,
    상기 생성방법은
    상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 단계를 더 포함하는 다이나믹 보안모듈의 생성방법.
  9. 제 8항에 있어서,
    상기 생성방법은
    상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함하는 다이나믹 보안모듈의 생성장치.
  10. 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 장치로서,
    네트워크를 통해 보안관리 이벤트를 송수신 하는 커뮤니케이션 유닛; 및
    상기 커뮤니케이션 유닛을 제어하는 프로세서; 를 포함하고,
    상기 프로세서는
    상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고,
    상기 변수 중 적어도 하나 이상에 일정한 값을 할당하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 하는 다이나믹 보안모듈 생성장치.
  11. 제 10항에 있어서,
    상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드인 다이나믹 보안모듈 생성장치.
  12. 제 10항에 있어서,
    상기 프로세서는
    상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하고,
    상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
  13. 제 12항에 있어서,
    상기 프로세서는
    상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
  14. 제 12항에 있어서,
    상기 프로세서는
    상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
  15. 제 12항에 있어서,
    상기 프로세서는
    보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성하는 다이나믹 보안모듈 생성장치.
  16. 제 12항에 있어서,
    상기 프로세서는
    상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
  17. 제 12항에 있어서,
    상기 프로세서는
    상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함하는 다이나믹 보안모듈 생성장치.
  18. 제 10항에 있어서,
    상기 다이나믹 보안모듈 생성장치는 상기 사용자 단말의 보안 클라이언트로 전송할 다이나믹 보안모듈, 보안 세션 식별자로서 세션 아이디, 및 다이나믹 보안모듈에 대한 파라미터를 저장하는 스토리지를 더 포함하는 다이나믹 보안모듈 생성장치.
  19. 제1항 내지 제9항 중 어느 한 항의 생성방법을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체.
PCT/KR2016/002537 2015-03-13 2016-03-14 다이나믹 보안모듈 생성방법 및 생성장치 WO2016148473A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017567032A JP6654652B2 (ja) 2015-03-13 2016-03-14 動的なセキュリティーモジュール生成方法及び生成装置
CN201680015591.7A CN107408166B (zh) 2015-03-13 2016-03-14 动态安全模块创建方法及创建装置
EP16765229.6A EP3270319B1 (en) 2015-03-13 2016-03-14 Method and apparatus for generating dynamic security module
US15/701,867 US10867050B2 (en) 2015-03-13 2017-09-12 Method and apparatus for generating dynamic security module

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2015-0035177 2015-03-13
KR20150035177 2015-03-13
KR1020160030572A KR101969481B1 (ko) 2015-03-13 2016-03-14 다이나믹 보안모듈 생성방법 및 생성장치
KR10-2016-0030572 2016-03-14

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/701,867 Continuation US10867050B2 (en) 2015-03-13 2017-09-12 Method and apparatus for generating dynamic security module

Publications (1)

Publication Number Publication Date
WO2016148473A1 true WO2016148473A1 (ko) 2016-09-22

Family

ID=56919210

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/002537 WO2016148473A1 (ko) 2015-03-13 2016-03-14 다이나믹 보안모듈 생성방법 및 생성장치

Country Status (1)

Country Link
WO (1) WO2016148473A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956823B1 (ko) * 2003-02-11 2010-05-11 엘지전자 주식회사 이동 통신 시스템에서 보안 설정 메시지를 처리하는 방법
KR101204726B1 (ko) * 2004-12-31 2012-11-26 트러스티드 로직 모빌리티 보안성 동적 로딩
KR20140023098A (ko) * 2012-08-17 2014-02-26 에스케이플래닛 주식회사 결제 서비스를 위한 보안응용모듈 관리 시스템 및 방법
KR20140071744A (ko) * 2012-12-04 2014-06-12 한국전자통신연구원 스마트 통신단말을 위한 보안정책 협상 기반의 차등화된 보안제어 방법
KR20140127987A (ko) * 2013-04-26 2014-11-05 에스케이플래닛 주식회사 공용 단말 장치 보안을 위한 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956823B1 (ko) * 2003-02-11 2010-05-11 엘지전자 주식회사 이동 통신 시스템에서 보안 설정 메시지를 처리하는 방법
KR101204726B1 (ko) * 2004-12-31 2012-11-26 트러스티드 로직 모빌리티 보안성 동적 로딩
KR20140023098A (ko) * 2012-08-17 2014-02-26 에스케이플래닛 주식회사 결제 서비스를 위한 보안응용모듈 관리 시스템 및 방법
KR20140071744A (ko) * 2012-12-04 2014-06-12 한국전자통신연구원 스마트 통신단말을 위한 보안정책 협상 기반의 차등화된 보안제어 방법
KR20140127987A (ko) * 2013-04-26 2014-11-05 에스케이플래닛 주식회사 공용 단말 장치 보안을 위한 시스템 및 방법

Similar Documents

Publication Publication Date Title
JP6654652B2 (ja) 動的なセキュリティーモジュール生成方法及び生成装置
US20170149804A1 (en) Methods and systems for malware host correlation
US20130111211A1 (en) External Reference Monitor
WO2018182126A1 (ko) 안전 소프트웨어 인증 시스템 및 방법
Liu et al. On manually reverse engineering communication protocols of linux-based iot systems
US20140026217A1 (en) Methods for identifying key logging activities with a portable device and devices thereof
WO2021112494A1 (ko) 엔드포인트에 기반한 관리형 탐지 및 대응 시스템과 방법
Bai et al. All your sessions are belong to us: Investigating authenticator leakage through backup channels on android
WO2018043832A1 (ko) 보안 웹브라우저 동작 방법
WO2020032351A1 (ko) 익명 디지털 아이덴티티 수립 방법
WO2015099287A1 (ko) 일회용 비밀 번호를 이용하는 사용자 인증 방법 및 그 장치
WO2016064040A1 (ko) 서명정보를 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
WO2016148473A1 (ko) 다이나믹 보안모듈 생성방법 및 생성장치
CN111147252B (zh) 一种云环境可信连接方法
WO2016178499A1 (ko) 홍채 인식 기반 보안 스토리지 제공 방법 및 그 시스템
WO2016148472A1 (ko) 다이나믹 보안모듈 단말장치 및 그 구동방법
WO2016148471A1 (ko) 다이나믹 보안모듈 서버장치 및 그 구동방법
WO2016064043A1 (ko) 사용자 단말기 및 상기 사용자 단말기의 주변기기를 이용한 핵심코드 보호 방법
WO2015005736A1 (ko) 클라이언트시스템 및 클라이언트시스템의 동작 방법
WO2022265393A1 (ko) 컨텐츠 제공자의 보안등급을 인증하는 시스템 및 그 방법
JP6010672B2 (ja) セキュリティ設定システム、セキュリティ設定方法およびプログラム
WO2022119387A1 (en) Method, electronic device and server for performing user authentication
WO2021221266A1 (ko) 위협 사용자의 접속차단방법 및 프로그램 보안 적용방법
JP2013149109A (ja) セキュリティ設定システム、セキュリティ設定方法およびプログラム
WO2015125984A1 (ko) 접근 관리 장치 및 관리 방법, 접근 관리 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16765229

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2016765229

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017567032

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE