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

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

Info

Publication number
KR101969481B1
KR101969481B1 KR1020160030572A KR20160030572A KR101969481B1 KR 101969481 B1 KR101969481 B1 KR 101969481B1 KR 1020160030572 A KR1020160030572 A KR 1020160030572A KR 20160030572 A KR20160030572 A KR 20160030572A KR 101969481 B1 KR101969481 B1 KR 101969481B1
Authority
KR
South Korea
Prior art keywords
security module
security
dynamic security
dynamic
user terminal
Prior art date
Application number
KR1020160030572A
Other languages
English (en)
Other versions
KR20160110276A (ko
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 PCT/KR2016/002537 priority Critical patent/WO2016148473A1/ko
Priority to JP2017567032A priority patent/JP6654652B2/ja
Publication of KR20160110276A publication Critical patent/KR20160110276A/ko
Priority to US15/701,867 priority patent/US10867050B2/en
Application granted granted Critical
Publication of KR101969481B1 publication Critical patent/KR101969481B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • 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
    • G06F21/54Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2137Time limited access, e.g. to a computer or data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지는 다이나믹 보안모듈의 생성방법 및 생성장치에 관한 것이다.
본 발명에 따르면, 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 사용자 단말의 보안 클라이언트로 전송하여, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 상기 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 효과가 있다.

Description

다이나믹 보안모듈 생성방법 및 생성장치{Method and apparatus for generating Dynamic Secure Module}
본 발명은 다이나믹 보안모듈 생성장치 및 생성방법에 관한 것으로, 더욱 상세하게는 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 생성하여 사용자 단말의 보안 클라이언트로 전송하고, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 다이나믹 보안모듈 생성방법 및 생성장치에 관한 것이다.
최근, 모바일 단말인 스마트폰은 현대 생활에 없어서는 안될 필수품으로 자리잡았으며 전 세계적으로 널리 보급되고 있다. 그러나, 스마트폰의 보안 취약성이 계속적으로 발견되면서 악성 어플리케이션을 통한 공격이 급증하고 있다.
해커들은 모바일 단말을 대상으로 악성 어플리케이션을 개발하여 악성코드를 삽입한 후 이를 일반 사용자에게 오픈 마켓 또는 인터넷을 통해 정상 어플리케이션인 것처럼 위장해 배포한다. 악성 어플리케이션이 모바일 단말에 저장된 경우에, 모바일 단말 내의 악성 어플리케이션은 사용자도 모르게 SMS 송수신 정보, 전화번호부, 인터넷 접속 기록 등의 개인정보뿐만 아니라 모바일 뱅킹 등에 사용되는 모바일 공인인증서 등의 금융정보를 외부서버로 유출시키는 공격을 시도할 수 있다.
대부분의 어플리케이션 보안 솔루션은 어플리케이션이 실행되면 어플리케이션의 보안모듈과 통신하여 보안 로직을 호출하고 결과를 응답한다. 그러나, 해커들의 공격으로 보안 모듈과의 통신이 강제적으로 차단되거나 변조된 어플리케이션으로 인해 보안모듈이 무력화 된다면, 개인신상정보 및 금융과 관련된 개인정보에 치명적인 취약점이 발생하게 된다.
따라서, 최근 국내외적으로 널리 보급되고 있는 모바일 단말 기반 사용자 환경에서 보안 취약 문제를 해결하고, 사용자 단말에 포함된 다양한 소프트웨어의 보안성을 향상시킬 수 있는 기술개발에 대한 필요성이 크게 대두되고 있다.
한국공개특허 제 10-2013-0101657호(공개일 2013.09.16)
본 발명의 목적은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 생성하여 사용자 단말의 보안 클라이언트로 전송하고, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 다이나믹 보안모듈 생성방법 및 생성장치를 제공하기 위한 것이다.
이러한 목적을 달성하기 위하여 본 발명에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지는 것으로 구성된다.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.
상기 유효시간은 상기 유효시간의 경과 시 상기 코드의 일부 또는 전부가 삭제되거나, 사용되지 않도록 하는 유효시간일 수 있다.
상기 생성방법은 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하는 단계 및 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 단계를 더 포함할 수 있다.
상기 생성방법은 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함할 수 있다.
상기 생성방법은 상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 단계를 더 포함할 수 있다.
상기 생성방법은 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성할 수 있다.
상기 생성방법은 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 단계를 더 포함할 수 있다.
상기 생성방법은 상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다.
본 발명은 또한, 상기 목적을 달성하기 위하여, 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 장치로서, 네트워크를 통해 보안관리 이벤트를 송수신 하는 커뮤니케이션 유닛 및 상기 커뮤니케이션 유닛을 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 하는 다이나믹 보안모듈 생성장치를 제공한다.
상기 다이나믹 보안모듈의 변경 가능한 부분은 코드의 함수명, 실행될 알고리즘을 지정하는 변수, 프로토콜 필드, 프로토콜 시퀀스를 지정하는 변수, 컴파일 레벨을 지정하는 변수 및 실행 코드 난독화 방법을 지정하는 변수로 이루어진 군에서 선택된 1종 이상의 요소를 변경할 수 있는 코드일 수 있다.
상기 프로세서는 상기 사용자 단말의 보안 클라이언트와 보안 세션을 생성하고, 상기 다이나믹 보안모듈을 상기 보안 세션이 생성된 사용자 단말의 보안 클라이언트로 전송하는 것을 더 포함할 수 있다.
상기 프로세서는 상기 보안 클라이언트로 전송된 다이나믹 보안모듈로부터 보안관리 결과를 수신하고, 상기 수신한 보안관리 결과를 확인하여, 보안관리 확인 결과값을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함할 수 있다.
상기 프로세서는 상기 사용자 단말에 보안문제 발생 시, 상기 사용자 단말의 응용 프로그램을 정지시키도록 하는 정지명령을 상기 보안 클라이언트의 다이나믹 보안모듈로 전송하는 것을 더 포함할 수 있다.
상기 프로세서는 보안 세션 식별자로서 세션 아이디를 생성하여 저장하고, 상기 세션 아이디를 상기 보안 클라이언트에 전송하여 상기 보안 클라이언트가 상기 세션 아이디를 저장하도록 하여, 상기 보안 세션을 생성할 수 있다.
상기 프로세서는 상기 보안 세션이 유지되는 동안 상기 보안 클라이언트로 전송된 각각의 상기 다이나믹 보안모듈에 대한 파라미터를 저장되도록 하는 것을 더 포함할 수 있다.
상기 프로세서는 상기 보안 클라이언트로부터 전송된 내역이 상기 다이나믹 보안모듈의 파라미터의 구성과 동일한 지를 검증하는 것을 더 포함할 수 있다.
상기 다이나믹 보안모듈 생성장치는 상기 사용자 단말의 보안 클라이언트로 전송할 다이나믹 보안모듈, 보안 세션 식별자로서 세션 아이디, 및 다이나믹 보안모듈에 대한 파라미터를 저장하는 스토리지를 더 포함할 수 있다.
본 발명은 또한, 상기와 같은 목적을 달성하기 위해, 상기 다이나믹 보안모듈 생성방법을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 제공한다.
본 발명에 따른 다이나믹 보안모듈 생성방법 및 생성장치는 보안관리를 수행하는 소스 코드의 일부 또는 전부가 일정한 유효시간을 가지는 다이나믹 보안모듈을 생성하여 사용자 단말의 보안 클라이언트로 전송하고, 사용자 단말의 각종 응용 프로그램들에 대한 보안모듈이 수시로 갱신되도록 함으로써, 응용 프로그램들에 대한 해킹이 어려워지도록 하여 사용자 단말의 보안성(security)을 현저하게 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 제1 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도이다.
도 2는 본 발명의 제2 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도이다.
도 3은 본 발명의 다이나믹 보안모듈 생성장치의 개략적인 구성을 나타낸 모식도이다.
도 4는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 함수로 이루어진 동적 코드 생성예를 나타낸 모식도이다.
도 5는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 알고리즘으로 이루어진 동적 알고리즘 생성예를 나타낸 모식도이다.
도 6은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 서로 다른 컴파일 레벨을 갖는 동적 컴파일 파라미터 생성예를 나타낸 모식도이다.
도 7은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 세션 아이디 및 다이나믹 보안모듈 파라미터 생성예를 나타낸 모식도이다.
도 8은 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 필드 생성예를 나타낸 모식도이다.
도 9는 본 발명의 일실시예에 따른 다이나믹 보안모듈 생성방법에서 다이나믹 보안모듈 프로토콜 시퀀스 생성예를 나타낸 모식도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하기로 한다. 또한 본 발명의 실시예들을 설명함에 있어 구체적인 수치는 실시예에 불과하다.
도 1에는 본 발명의 제1 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도가 도시되어 있고, 도 2에는 본 발명의 제2 일시예에 따른 다이나믹 보안모듈 생성방법의 순서를 나타낸 블록도가 도시되어 있다.
이들 도면을 참조하면, 본 발명의 제1 실시예에 따른 다이나믹 보안모듈의 생성방법은 사용자 단말에서 보안을 위해 수행되는 코드가 수행 시마다 동일하지 않도록 상기 사용자 단말에 할당되는 다이나믹 보안모듈을 생성하는 방법에 있어서, 상기 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있고, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계(S100)를 포함하며, 상기 사용자 단말에 전송된 다이나믹 보안모듈을 구성하는 코드의 일부 또는 전부가 유효시간을 가지도록 상기 다이나믹 보안모듈을 생성하여 저장하는 단계(S110)로 구성된다.
즉, 본 발명에 따른 다이나믹 보안모듈 생성방법은 다이나믹 보안모듈을 구성하는 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정되어 있는 다이나믹 보안모듈에서 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함함으로써, 상기 사용자 단말의 보안 클라이언트에서 보안관리를 수행하는 코드들이 동적으로 랜덤하게 선택되도록 하여 해커에 의한 다이나믹 보안모듈에 대한 해킹을 매우 어렵게 하므로, 다이나믹 보안모듈을 탑재하는 사용자 단말의 보안성을 현저하게 향상시킬 수 있다.
또한, 사용자 단말의 보안 클라이언트에서 자주 갱신되며 보안관리를 수행하는 다이나믹 보안모듈의 코드 구성을 서로 다르게 하여, 무수히 많은 종류의 코드 구성을 가진 서로 다른 다이나믹 보안모듈을 생성할 수 있는 장점이 있다.
구체적으로, 상기 사용자 단말의 보안 클라이언트에 보안관리를 수행하는 각각의 기능에 대한 코드 중 변경 가능한 부분의 일부 또는 전부가 변수로 지정된 코드를 사용하며, 상기 변수 중 적어도 하나 이상에 일정한 값을 할당하는 단계를 포함하므로, 무수히 많은 종류의 다이나믹 보안모듈을 생성할 수 있다.
예를 들어, 다이나믹 보안모듈의 변경 가능한 코드들 중 일부(r) 또는 전부(n)를 변수로 지정한 코드를 사용하므로 아래와 같은 조합 공식에 의해 다수의 변경 가능한 코드들의 조합(nCr)을 만들어 사용할 수 있다.
Figure 112016024576397-pat00001
여기서 r은 (n≥r)
또한, 상기 다이나믹 보안모듈의 생성방법을 수행하기 위한 장치에 저장된 변경 가능한 코드들에 대한 여러 가지 종류의 코드들(a)을 이용하여 변수로 지정된 코드에 일정한 값을 할당할 경우에 할당된 값(b)의 종류는 아래와 같은 조합(aCb)들로 만들어질 수 있다.
Figure 112016024576397-pat00002
여기서, 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의 하부) 에서와 같이, 소스 코드의 함수명 등이 고정되지 않고, 보안서버에서 랜덤하게 지정해주는 파라미터(본 실시예에서는 문자나 문자열로 예시함)가 변수인 <%=TWO_TIMES%>, <%=THREE_MORE%>에 할당되며, 이는 일정한 유효시간이 경과하면 새롭게 할당되는 등의 방식으로 동적인 소스 코드가 구현되므로, 해커가 다이나믹 보안모듈의 메인 로직을 쉽게 파악하기 매우 어렵도록 구성된다. 이러한, 동적 소스코드는 예를 들어 템플릿 프레임워크(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)을 통해 외부 디바이스로부터 수신된 데이터를 임시적으로 저장할 수 있다.
본 발명에 따른 다이나믹 보안모듈의 생성방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (19)

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2016/002537 WO2016148473A1 (ko) 2015-03-13 2016-03-14 다이나믹 보안모듈 생성방법 및 생성장치
JP2017567032A JP6654652B2 (ja) 2015-03-13 2016-03-14 動的なセキュリティーモジュール生成方法及び生成装置
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 KR20160110276A (ko) 2016-09-21
KR101969481B1 true KR101969481B1 (ko) 2019-04-16

Family

ID=57080532

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020160030572A KR101969481B1 (ko) 2015-03-13 2016-03-14 다이나믹 보안모듈 생성방법 및 생성장치
KR1020160030571A KR101756692B1 (ko) 2015-03-13 2016-03-14 다이나믹 보안모듈 단말장치 및 그 구동방법
KR1020160030568A KR101799366B1 (ko) 2015-03-13 2016-03-14 다이나믹 보안모듈 서버장치 및 그 구동방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020160030571A KR101756692B1 (ko) 2015-03-13 2016-03-14 다이나믹 보안모듈 단말장치 및 그 구동방법
KR1020160030568A KR101799366B1 (ko) 2015-03-13 2016-03-14 다이나믹 보안모듈 서버장치 및 그 구동방법

Country Status (5)

Country Link
US (3) US10867050B2 (ko)
EP (3) EP3270317B1 (ko)
JP (3) JP6654652B2 (ko)
KR (3) KR101969481B1 (ko)
CN (3) CN107408179B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
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 (zh) * 2018-04-28 2023-11-10 武汉斗鱼网络科技有限公司 一种中间件验证方法、存储介质、设备及系统
WO2020081494A1 (en) * 2018-10-15 2020-04-23 Liveperson, Inc. Dynamic endpoint communication channels
JP7049534B1 (ja) * 2021-03-02 2022-04-06 三菱電機株式会社 デバッグ支援プログラム、デバッグ支援装置、デバッグ支援方法および機械学習装置
CN115098227B (zh) * 2022-08-24 2022-12-27 中诚华隆计算机技术有限公司 一种安防设备动态信息更新的方法及装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
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 (ko) 2001-07-03 2003-01-10 (주) 해커스랩 제한조건 동안 특정 보안정책을 적용할 수 있는 네트워크보안장치 및 네트워크 보안방법
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 (ko) * 2003-02-11 2010-05-11 엘지전자 주식회사 이동 통신 시스템에서 보안 설정 메시지를 처리하는 방법
KR100568228B1 (ko) * 2003-05-20 2006-04-07 삼성전자주식회사 고유번호를 이용한 프로그램 탬퍼 방지 방법과 난독처리된 프로그램 업그레이드 방법, 상기 방법을 위한 장치
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 (fr) 2004-12-31 2010-06-18 Trusted Logic Chargement dynamique securise
EP1862937A1 (en) * 2005-02-25 2007-12-05 Matsushita Electric Industrial Co., Ltd. Secure processing device and secure processing system
JP2006259848A (ja) * 2005-03-15 2006-09-28 Matsushita Electric Ind Co Ltd プログラム実行装置、プログラム実行方法、および、プログラム
KR101134217B1 (ko) 2005-06-13 2012-04-06 주식회사 엘지씨엔에스 보안정책의 암호화 방법 및 그 방법을 구현하는침입탐지시스템
US9311454B2 (en) * 2005-09-19 2016-04-12 At&T Intellectual Property I, L.P. Trial use of a collection of media files
JP4918544B2 (ja) * 2005-10-28 2012-04-18 パナソニック株式会社 難読化評価方法、難読化評価装置、難読化評価プログラム、記憶媒体および集積回路
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 (fr) * 2006-07-12 2008-01-16 France Télécom Procede et systeme de gestion d'une transmission securisee
CN101083660A (zh) * 2007-05-30 2007-12-05 北京润汇科技有限公司 基于会话控制的动态地址分配协议的ip网认证鉴权方法
CN101188495B (zh) * 2007-12-04 2010-08-25 兆日科技(深圳)有限公司 一种实现强口令认证方式的安全系统及方法
JP5405986B2 (ja) * 2008-11-26 2014-02-05 パナソニック株式会社 ソフトウェア更新システム、管理装置、記録媒体及び集積回路
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
CN101894094B (zh) * 2009-05-21 2014-10-15 鸿富锦精密工业(深圳)有限公司 客户端管理系统
JP5772031B2 (ja) * 2011-02-08 2015-09-02 富士通株式会社 通信装置およびセキュアモジュール
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
KR101944010B1 (ko) 2012-02-24 2019-01-30 삼성전자 주식회사 애플리케이션의 변조 감지 방법 및 장치
KR101436202B1 (ko) 2012-05-31 2014-09-01 주식회사 엘지씨엔에스 모바일 보안 관리 방법 및 그를 위한 모바일 보안 관리 시스템
EP2690450B1 (en) * 2012-07-27 2014-07-09 ABB Technology AG A device for measuring the direct component of alternating current
KR101948285B1 (ko) * 2012-08-17 2019-02-14 에스케이플래닛 주식회사 결제 서비스를 위한 보안응용모듈 관리 시스템 및 방법
KR20140071744A (ko) * 2012-12-04 2014-06-12 한국전자통신연구원 스마트 통신단말을 위한 보안정책 협상 기반의 차등화된 보안제어 방법
US20140283038A1 (en) * 2013-03-15 2014-09-18 Shape Security Inc. Safe Intelligent Content Modification
KR101308703B1 (ko) * 2013-04-24 2013-09-13 (주)누리아이엔에스 전자상거래 보안 시스템 및 그 방법
KR102008945B1 (ko) 2013-04-26 2019-08-08 에스케이플래닛 주식회사 공용 단말 장치 보안을 위한 시스템 및 방법
US9591003B2 (en) * 2013-08-28 2017-03-07 Amazon Technologies, Inc. Dynamic application security verification
KR101451323B1 (ko) * 2014-02-10 2014-10-16 주식회사 락인컴퍼니 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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
EP3270318A1 (en) 2018-01-17
KR101756692B1 (ko) 2017-07-12
US10867048B2 (en) 2020-12-15
KR20160110274A (ko) 2016-09-21
CN107408179B (zh) 2021-05-11
EP3270319A4 (en) 2018-11-07
US20180004940A1 (en) 2018-01-04
US20180007082A1 (en) 2018-01-04
EP3270319A1 (en) 2018-01-17
JP6663937B2 (ja) 2020-03-13
CN107408179A (zh) 2017-11-28
CN107431705A (zh) 2017-12-01
JP6654652B2 (ja) 2020-02-26
EP3270317B1 (en) 2022-02-02
EP3270318A4 (en) 2018-11-07
CN107408166A (zh) 2017-11-28
US10867049B2 (en) 2020-12-15
US10867050B2 (en) 2020-12-15
JP2018511133A (ja) 2018-04-19
US20180012025A1 (en) 2018-01-11
EP3270317A4 (en) 2018-11-07
EP3270319B1 (en) 2022-02-16
KR101799366B1 (ko) 2017-11-22
KR20160110276A (ko) 2016-09-21
CN107408166B (zh) 2021-08-10
KR20160110275A (ko) 2016-09-21
JP2018509723A (ja) 2018-04-05
JP2018511899A (ja) 2018-04-26
CN107431705B (zh) 2021-05-11
JP6654651B2 (ja) 2020-02-26

Similar Documents

Publication Publication Date Title
KR101969481B1 (ko) 다이나믹 보안모듈 생성방법 및 생성장치
US9514300B2 (en) Systems and methods for enhanced security in wireless communication
EP2425367B1 (en) Method and apparatus for improving code and data signing
Liu et al. On manually reverse engineering communication protocols of linux-based iot systems
US20100031308A1 (en) Safe and secure program execution framework
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 (zh) 一种文件处理的方法、系统及装置
WO2017021724A1 (en) Secure configuration data storage
Egners et al. Hackers in your pocket: A survey of smartphone security across platforms
US20230214533A1 (en) Computer-implemented systems and methods for application identification and authentication
Kim et al. Self‐Controllable Mobile App Protection Scheme Based on Binary Code Splitting
WO2016148472A1 (ko) 다이나믹 보안모듈 단말장치 및 그 구동방법
Albayati et al. Profile Based Access Control Model Using JSON Web Tokens
Cristalli STATIC AND DYNAMIC ANALYSES FOR PROTECTING THE JAVA SOFTWARE EXECUTION ENVIRONMENT
KR101330832B1 (ko) 클라우드 서버 및 클라이언트의 요청을 처리하는 방법
Ljungdahl et al. Security Analysis of Machine Monitoring Sensor Communication A threat modeling process implementation and evaluation
WO2016148471A1 (ko) 다이나믹 보안모듈 서버장치 및 그 구동방법
WO2016148473A1 (ko) 다이나믹 보안모듈 생성방법 및 생성장치

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