KR102053493B1 - Safe patch system and method of white list - Google Patents

Safe patch system and method of white list Download PDF

Info

Publication number
KR102053493B1
KR102053493B1 KR1020170073357A KR20170073357A KR102053493B1 KR 102053493 B1 KR102053493 B1 KR 102053493B1 KR 1020170073357 A KR1020170073357 A KR 1020170073357A KR 20170073357 A KR20170073357 A KR 20170073357A KR 102053493 B1 KR102053493 B1 KR 102053493B1
Authority
KR
South Korea
Prior art keywords
white list
list
patch
module
terminal
Prior art date
Application number
KR1020170073357A
Other languages
Korean (ko)
Other versions
KR20180135348A (en
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 KR1020170073357A priority Critical patent/KR102053493B1/en
Publication of KR20180135348A publication Critical patent/KR20180135348A/en
Application granted granted Critical
Publication of KR102053493B1 publication Critical patent/KR102053493B1/en

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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

화이트 리스트의 안전 패치 시스템 및 방법이 개시된다. 소정의 프로세스의 실행을 허용하기 위한 화이트 리스트(White list) 패치(patch) 및 상기 화이트 리스트 패치를 설치하기 위한 단말 업데이터 프로그램(updater program)을 포함하는 하나의 화이트 리스트 패키지(White list package)를 생성하고, 생성된 화이트 리스트 패키지를 송신하는 리스트 패치 서버; 상기 리스트 패치 서버로부터 화이트 리스트 패키지를 수신하고, 수신된 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 위변조 여부의 확인 없이 실행하여 상기 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 위변조 여부의 확인 없이 기존의 화이트 리스트에 갱신하는 사용자 단말을 구성한다.상술한 구성에 의하면, 리스트 패치 서버에서 허용 프로세스로 구성되는 화이트 리스트와 단말의 화이트 리스트에 업데이트하기 위한 단말 업데이터 프로그램을 하나의 화이트 리스트 패키지로 구성하여 단말로 제공하도록 구성하여 단말 업데이터 프로그램에 의해서만 화이트 리스트 패키지에 포함된 프로세스에 대한 이벤트를 허용하고, 그 외에는 차단하여 화이트 리스트 패키지에 포함된 프로세스의 오염이나 위변조가 방지됨으로써, 단말에서는 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램과 화이트 리스트를 안전하게 실행하여 화이트 리스트를 갱신할 수 있는 효과가 있다.A white list safety patch system and method is disclosed. Create one white list package including a white list patch to allow execution of a predetermined process and a terminal updater program for installing the white list patch. A list patch server for transmitting the generated white list package; Receiving a white list package from the list patch server, and executes the terminal updater program included in the received white list package without confirmation of forgery, the existing white list patch included in the white list package without confirmation of forgery According to the above-described configuration, a white list package consisting of an allow process in the list patch server and a terminal updater program for updating the white list of the terminal are configured as one white list package to the terminal. It is configured to provide the terminal updater program allows the events for the processes included in the white list package only, and otherwise blocks the contamination or forgery of the processes contained in the white list package, The terminal may safely execute the terminal updater program and the white list included in the white list package to update the white list.

Description

화이트 리스트의 안전 패치 시스템 및 방법{SAFE PATCH SYSTEM AND METHOD OF WHITE LIST}SAFE PATCH SYSTEM AND METHOD OF WHITE LIST}

본 발명은 랜섬웨어(ransomware)와 같은 악성 코드(malware)의 감염을 예방하기 위한 단말의 보안에 관한 것으로서, 구체적으로는 화이트 리스트(White list)를 안전하게 패치(patch)하여 단말의 보안을 유지하기 위한 화이트 리스트의 안전 패치 시스템 및 방법에 관한 것이다.The present invention relates to the security of a terminal for preventing infection of malware such as ransomware, and specifically, to secure the terminal by patching a white list safely. A white patch safety patch system and method are disclosed.

랜섬웨어(ransomware)와 같은 악성 코드(malware)는 갈수록 더 지능화되고 있으며, 하루에도 수십만 개의 악성 코드가 쏟아져 나오고 있다.Malware, such as ransomware, is becoming more and more intelligent, and hundreds of thousands of malicious codes are being poured out every day.

이러한 악성 코드에 의한 피해는 갈수록 커지고 있다.The damage caused by these malicious codes is getting bigger.

종래에는 주로 악성 코드의 시그니쳐(signature)로 구성되는 블랙 리스트(Black list)를 이용하여 악성 코드의 접근을 차단하는 형태로 피해를 예방하고 있다.In the related art, damage is prevented in the form of blocking access to malicious codes by using a black list mainly composed of signatures of malicious codes.

하지만, 백신(vaccine) 업체에서는 하루에 겨우 수백 개의 악성 코드 업데이트를 할 수 있을 뿐이어서 이러한 악성 코드의 출현을 따라가지 못하고 있는 실정이다. 즉, 블랙 리스트에 의해 피해 예방에는 한계성을 가질 수밖에 없다.However, vaccine companies can only update hundreds of malicious codes a day, so they cannot keep up with the emergence of such malicious codes. In other words, due to the black list, there is no limit to the prevention of damage.

블랙 리스트의 반대 개념으로 프로세스의 접근을 허용하는 형태의 화이트 리스트(White list)를 이용하기도 한다. 화이트 리스트를 이용하는 경우, 허용되는 프로세스를 위주로 관리하기 때문에 오히려 더 안전하게 이용할 수 있는 장점이 있다. 악성 코드의 출현을 따라잡지 못하는 블랙 리스트보다는 훨씬 강력할 수 있다. 화이트 리스트를 이용하여 프로세스를 허용하는 경우, 허용 프로세스의 검증을 해시 함수(Hash function)나 공인 인증서를 활용하여 허용 여부를 검증하도록 구성될 수 있다.The opposite of blacklisting is the use of white lists, which allow access to processes. In the case of using a white list, it is more safe to use because it manages the allowed processes. It can be much more powerful than blacklists, which can't keep up with the emergence of malware. In the case of allowing the process using the white list, the validation of the process may be configured to verify the acceptance using a hash function or a public certificate.

그러나, 화이트 리스트에 의한 방식 역시 실시간 대응이 어렵다는 문제점이 있다. 단말에 설치된 응용 프로그램이나 모바일 어플리케이션에 대해 하루에도 여러 번 프로그램 패치(patch)가 발생하는데, 사용자가 일일이 화이트 리스트 추가 여부 즉, 실행 허용 여부를 판단하는 것은 쉽지 않다는 문제점이 있다. 사용자는 실행해도 되는지 여부에 대한 두려움이 있을 수 있다.However, the white list method also has a problem in that real-time response is difficult. A program patch is generated several times a day for an application or a mobile application installed in a terminal. However, it is not easy for a user to determine whether a white list is added, that is, whether to allow execution. The user may have a fear of whether or not he may run.

특히, 프로세스를 해시 함수(Hash function)를 이용하여 해시 함수값을 산출하고, 기존의 해시 함수값과 대비하여 프로세스의 오염 여부를 실행시마다 일일이 판단해야 한다.In particular, a hash function value is calculated using a hash function, and the process must be determined every time whether the process is contaminated in comparison with the existing hash function value.

또한, 화이트 리스트의 허용 프로세스가 공인 인증서에 의해 검증되는 경우, 역시 공인 인증서의 도난이나 해지 등에 의해 화이트 리스트가 무용해지는 결과를 초래할 수 있다.In addition, if the whitelist acceptance process is verified by the public certificate, it may also result in the whitelist being rendered obsolete by theft or revocation of the public certificate.

한편, 해시 함수를 이용하는 경우, 파일의 사이즈(size)가 큰 경우, 해당 파일의 접근 프로세스에 대한 해시 함수값을 산출하는 데에는 상당한 시간이 걸리게 된다. 모든 프로세스에 대해 해시함수를 이용하여 화이트 리스트의 허용 프로세스인지 검증해야 하므로, 프로세스의 검증 시간과 그 실행 시간이 상당히 소요되며, 단말에서도 상당한 리소스(resources)를 필요로 하게 된다.On the other hand, when using a hash function, if the file size is large, it takes a considerable time to calculate the hash function value for the access process of the file. Since all processes must verify whether they are whitelisted by using a hash function, the verification time and execution time of the process are considerably required, and the terminal requires considerable resources.

한편, 다양한 응용 프로그램이나 모바일 어플리케이션(mobile application)의 업데이트 버전의 경우 화이트 리스트로 갱신하거나 추가할 필요가 있는데, 사용자는 업데이트 시마다 일일이 화이트 리스트로 추가할지 여부에 대해서 사용자가 판단하기가 쉽지 않다는 문제점이 있다.Meanwhile, in the case of updated versions of various applications or mobile applications, it is necessary to update or add to the white list. However, it is not easy for the user to determine whether the white list is added to each update. have.

10-127762310-1277623 10-171092810-1710928

본 발명의 목적은 화이트 리스트의 안전 패치 시스템을 제공하는 데 있다.It is an object of the present invention to provide a white list safety patch system.

본 발명의 다른 목적은 화이트 리스트의 안전 패치 방법을 제공하는 데 있다.Another object of the present invention is to provide a white patch safety patch method.

상술한 본 발명의 목적에 따른 화이트 리스트의 안전 패치 시스템은, 소정의 프로세스의 실행을 허용하기 위한 화이트 리스트(White list) 패치(patch) 및 상기 화이트 리스트 패치를 설치하기 위한 단말 업데이터 프로그램(updater program)을 포함하는 하나의 화이트 리스트 패키지(White list package)를 생성하고, 생성된 화이트 리스트 패키지를 송신하는 리스트 패치 서버; 상기 리스트 패치 서버로부터 화이트 리스트 패키지를 수신하고, 수신된 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 위변조 여부의 확인 없이 실행하여 상기 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 위변조 여부의 확인 없이 기존의 화이트 리스트에 갱신하는 사용자 단말을 포함하도록 구성될 수 있다.The white list safety patch system according to the above object of the present invention includes a white list patch for allowing execution of a predetermined process and a terminal updater program for installing the white list patch. A list patch server for generating one white list package including a) and transmitting the generated white list package; Receiving a white list package from the list patch server, and executes the terminal updater program included in the received white list package without confirmation of forgery, the existing white list patch included in the white list package without confirmation of forgery It may be configured to include a user terminal for updating in the list.

이때, 상기 사용자 단말은, 상기 단말 업데이터 프로그램에 의한 상기 화이트 리스트 패치에 포함된 프로세스에 대한 이벤트(event)를 허용하고, 다른 프로그램에 의한 상기 화이트 리스트 패치에 포함된 프로세스에 대한 이벤트를 차단하도록 구성될 수 있다.In this case, the user terminal is configured to allow an event for a process included in the white list patch by the terminal updater program, and block an event for a process included in the white list patch by another program. Can be.

여기서, 상기 사용자 단말은,상기 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 해시 함수(Hash function)에 의한 검증 또는 인증 서명에 의한 검증 없이 실행하고, 상기 실행된 단말 업데이터에 의해 상기 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 해시 함수에 의한 검증 또는 인증 서명에 의한 검증 없이 기존의 화이트 리스트에 갱신하도록 구성될 수 있다.Here, the user terminal, the terminal updater included in the white list package is executed without verification by a hash function (Hash function) or authentication signature, and included in the white list package by the executed terminal updater The white list patch can be configured to update to an existing white list without verification by hash function or verification by certificate signature.

상술한 본 발명의 다른 목적에 따른 화이트 리스트의 안전 패치 방법은, 리스트 패치 서버가 소정의 프로세스의 실행을 허용하기 위한 화이트 리스트(White list) 패치(patch) 및 상기 화이트 리스트 패치를 설치하기 위한 단말 업데이터 프로그램(updater program)을 포함하는 하나의 화이트 리스트 패키지(White list package)를 생성하는 단계;상기 리스트 패치 서버가 상기 생성된 화이트 리스트 패키지를 사용자 단말로 송신하는 단계;상기 사용자 단말이 상기 리스트 패치 서버로부터 화이트 리스트 패키지를 수신하는 단계;상기 사용자 단말이 상기 수신된 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 위변조 여부의 확인 없이 실행하는 단계;상기 사용자 단말에서 상기 실행된 단말 업데이터 프로그램이 상기 수신된 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 위변조 여부의 확인 없이 기존의 화이트 리스트에 갱신하는 단계를 포함하도록 구성될 수 있다.According to another aspect of the present invention, there is provided a method for safely patching a white list, the list patch server including a white list patch for allowing execution of a predetermined process and a terminal for installing the white list patch. Generating one white list package including an updater program; transmitting, by the list patch server, the generated white list package to a user terminal; Receiving a white list package from a server; executing, by the user terminal, a terminal updater program included in the received white list package without confirmation of forgery; and receiving the received terminal updater program from the user terminal. Included in White List Package The existing site lists the patch without checking whether the forgery can be configured to include the step of updating a whitelist.

여기서, 상기 사용자 단말에서 상기 실행된 단말 업데이터 프로그램이 상기 수신된 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 위변조 여부의 확인 없이 기존의 화이트 리스트에 갱신하는 단계는,상기 단말 업데이터 프로그램에 의한 상기 화이트 리스트 패치에 포함된 프로세스에 대한 이벤트(event)를 허용하고, 다른 프로그램에 의한 상기 화이트 리스트 패치에 포함된 프로세스에 대한 이벤트를 차단하도록 구성될 수 있다.Here, the updating of the white list patch included in the received white list package by the executed terminal updater program to the existing white list without confirmation of forgery is performed by the user terminal, the white list by the terminal updater program. It may be configured to allow an event for a process included in the patch and to block an event for the process included in the white list patch by another program.

이때, 상기 사용자 단말이 상기 수신된 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 위변조 여부의 확인 없이 실행하는 단계는,상기 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 해시 함수(Hash function)에 의한 검증 또는 인증 서명에 의한 검증 없이 실행하도록 구성될 수 있다.In this case, the step of the user terminal to execute the terminal updater program included in the received white list package without confirming whether the forgery, Verification of the terminal updater program included in the white list package by a hash function (Hash function) or It can be configured to run without verification by a certificate signature.

그리고 상기 사용자 단말에서 상기 실행된 단말 업데이터 프로그램이 상기 수신된 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 위변조 여부의 확인 없이 기존의 화이트 리스트에 갱신하는 단계는,상기 사용자 단말에서 상기 실행된 단말 업데이터에 의해 상기 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 해시 함수에 의한 검증 또는 인증 서명에 의한 검증 없이 기존의 화이트 리스트에 갱신하도록 구성될 수 있다.The updating of the white list patch included in the received white list package to the existing white list by the user terminal without checking forgery may be performed by the executed terminal updater program in the user terminal. The white list patch included in the white list package can be configured to update to an existing white list without verification by a hash function or verification by an authentication signature.

상술한 화이트 리스트의 안전 패치 시스템 및 방법에 의하면, 리스트 패치 서버에서 허용 프로세스로 구성되는 화이트 리스트와 단말의 화이트 리스트에 업데이트하기 위한 단말 업데이터 프로그램을 하나의 화이트 리스트 패키지로 구성하여 단말로 제공하도록 구성하여 단말 업데이터 프로그램에 의해서만 화이트 리스트 패키지에 포함된 프로세스에 대한 이벤트를 허용하고, 그 외에는 차단하여 화이트 리스트 패키지에 포함된 프로세스의 오염이나 위변조가 방지됨으로써, 단말에서는 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램과 화이트 리스트를 안전하게 실행하여 화이트 리스트를 갱신할 수 있는 효과가 있다.According to the above-described white list safety patch system and method, the white patch configured as an allow process in the list patch server and a terminal updater program for updating the white list of the terminal are configured to be provided to the terminal as one white list package. By allowing the event for the process included in the white list package only by the terminal updater program, and blocking other than that to prevent contamination or forgery of the process included in the white list package, the terminal in the terminal updater program included in the white list package The white list can be safely executed to update the white list.

단말 업데이터 프로그램이 화이트 리스트 패키지에 포함되는 경우에는, 해시 함수값 산출이나 공인 인증서 확인과 같은 별도의 위변조 검증 없이 실행하도록 구성됨으로써, 안전하고 신속한 화이트 리스트 갱신을 할 수 있는 효과가 있다. 즉, 업데이트를 자동화하여 안전성을 자동으로 확보할 수 있는 효과가 있다.When the terminal updater program is included in the white list package, the terminal updater is configured to execute without additional forgery verification, such as calculating a hash function value or verifying an authorized certificate, thereby enabling safe and rapid white list updating. That is, there is an effect that can automatically secure the safety by automating the update.

일반적인 응용 프로그램이나 모바일 어플리케이션의 수많은 업데이트 및 패치 과정에서 이러한 단말 업데이터 프로그램을 사실상 화이트 리스트 상에 즉시 올려 바로 사용할 수 있도록 하여 프로세스의 오염을 원천적으로 차단할 수 있는 효과가 있다.In the process of updating and patching a general application or a mobile application, the terminal updater can be immediately put on the white list and used immediately, thereby effectively blocking the contamination of the process.

도 1은 본 발명의 일 실시 예에 따른 화이트 리스트의 안전 패치 시스템의 블록 구성도이다.
도 2는 본 발명의 일 실시 예에 따른 화이트 리스트의 안전 패치 방법의 흐름도이다.
1 is a block diagram of a white list safety patch system according to an embodiment of the present invention.
2 is a flowchart illustrating a safety patch method of a white list according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 발명을 실시하기 위한 구체적인 내용에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.As the inventive concept allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 본 발명에 따른 바람직한 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른 화이트 리스트의 안전 패치 시스템의 블록 구성도이다.1 is a block diagram of a white list safety patch system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 화이트 리스트의 안전 패치 시스템(100)은 리스트 패치 서버(list patch server)(110) 및 사용자 단말(120)을 포함하도록 구성될 수 있다.Referring to FIG. 1, the white list safety patch system 100 according to an exemplary embodiment may be configured to include a list patch server 110 and a user terminal 120.

본 발명의 일 실시 예에 따른 화이트 리스트의 안전 패치 시스템(100)에서, 리스트 패치 서버(110)는 화이트 리스트 패치 또는 블랙 리스트 패치를 생성하도록 구성될 수 있다.In the white list safety patch system 100 according to an embodiment of the present invention, the list patch server 110 may be configured to generate a white list patch or a black list patch.

여기서, 화이트 리스트 패치를 생성하는 경우 화이트 리스트 패치를 위한 단말 업데이터 프로그램을 하나의 화이트 리스트 패키지(White list package)에 포함시켜 사용자 단말(120)로 제공하도록 구성될 수 있다.Here, when generating the white list patch, the terminal updater program for the white list patch may be included in one white list package and provided to the user terminal 120.

화이트 리스트 패키지에 단말 업데이터 프로그램이 포함되는 경우에는 사용자 단말(120)에서 단말 업데이터 프로그램의 실행 프로세스에 대해 해시 함수나 공인 인증서 등을 이용한 위변조 검증 없이 자동으로 즉시 실행하여 화이트 리스트 패치에 포함된 응용 프로그램 업데이트나 모바일 어플리케이션 업데이트를 할 수 있도록 구성될 수 있다.When the terminal updater program is included in the white list package, the user terminal 120 automatically executes the application process included in the white list patch by automatically executing it immediately without forgery verification using a hash function or a public certificate. It can be configured to allow updates or mobile application updates.

화이트 리스트의 안전 패치 시스템(100)은 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램에 의해서만 화이트 리스트 패키지에 포함된 프로세스에 대한 이벤트를 허용하고, 그 외에는 차단하여 화이트 리스트 패키지에 포함된 프로세스의 오염이나 위변조를 방지하도록 구성된다.The safety list system 100 of the white list allows an event for a process included in the white list package only by a terminal updater program included in the white list package. Otherwise, the whitelist safety patch system 100 blocks and forgeries the process included in the white list package. Is configured to prevent.

또한, 각종 화이트 리스트 패치에 포함된 각종 데이터나 프로세스를 단말 업데이터 프로그램을 이용하여 오염 없이 안전하게 화이트 리스트 자동 갱신을 할 수 있다.In addition, various data or processes included in various white list patches may be safely updated automatically without contamination by using a terminal updater program.

화이트 리스트에 특정 프로세스를 추가하는 경우 사용자에게 문의하는 경우가 있으나, 화이트 리스트에 대해서는 자동으로 검증된 상태에서 업데이트를 하도록 하여 사용자가 화이트 리스트 프로세스의 갱신을 거부하거나 실행 거부를 하는 것을 방지하고, 사용자의 프로세스 실행에 대한 두려움을 없앨 수 있다.When adding a specific process to the white list, the user may be asked. However, the white list is automatically verified and updated to prevent the user from denying or rejecting the white list process. Eliminate the fear of running the process.

여기서, 리스트 패치 서버(110)는 프로세스 보고 수신 모듈(111), 화이트 리스트 패치 생성 모듈(112a), 블랙 리스트 패치 생성 모듈(112b), 화이트 리스트 온라인 데이터베이스(113a), 블랙리스트 온라인 데이터베이스(113b), 단말 업데이터 프로그램 생성 모듈(114), 화이트 리스트 패키지 생성 모듈(115), 화이트 리스트 패키지 송신 모듈(116a), 블랙 리스트 패키지 송신 모듈(116b)을 포함하도록 구성될 수 있다.Here, the list patch server 110 may include a process report receiving module 111, a white list patch generating module 112a, a black list patch generating module 112b, a white list online database 113a, and a black list online database 113b. It may be configured to include a terminal updater program generation module 114, a white list package generation module 115, a white list package transmission module 116a, a black list package transmission module 116b.

그리고 사용자 단말(120)은 이벤트 탐지 모듈(121), 화이트 리스트 프로세스 허용 모듈(122a), 블랙 리스트 프로세스 차단 모듈(122b), 프로세스 일시 중지 모듈(122c), 화이트 리스트 로컬 데이터베이스(123a), 블랙 리스트 로컬 데이터베이스(123b), 화이트 리스트 추가 모듈(124a), 블랙 리스트 추가 모듈(124b), 프로세스 보고 송신 모듈(125), 화이트 리스트 패키지 다운로드 모듈(126a), 블랙 리스트 패치 다운로드 모듈(126b), 단말 업데이터 프로그램 자동 실행 모듈(127)을 포함하도록 구성될 수 있다.The user terminal 120 may include the event detection module 121, the white list process allowing module 122a, the black list process blocking module 122b, the process suspending module 122c, the white list local database 123a, and the black list. Local database 123b, white list adding module 124a, black list adding module 124b, process report transmission module 125, white list package download module 126a, black list patch download module 126b, terminal updater It may be configured to include a program autorun module 127.

이하, 세부적인 구성에 대하여 설명한다.Hereinafter, the detailed structure is demonstrated.

먼저 사용자 단말(120)의 이벤트 탐지 모듈(121)은 사용자 단말(120)의 OS(operating system) 단에서 발생되는 이벤트를 탐지하도록 구성될 수 있다. 예를 들어, 특정 파일의 삭제, 변경, 생성, 복사 등이 있을 수 있다.First, the event detection module 121 of the user terminal 120 may be configured to detect an event generated at an operating system (OS) terminal of the user terminal 120. For example, there may be deletion, modification, creation, and copy of a specific file.

이벤트 탐지 모듈(121)에서는 어떤 프로그램이 어떤 파일에 대해 어떤 행위를 하는지를 탐지할 수 있다.The event detection module 121 may detect which program acts on which file.

화이트 리스트 프로세스 허용 모듈(122a), 블랙 리스트 프로세스 차단 모듈(122b), 프로세스 일시 중지 모듈(122c)은 각각 이벤트 탐지 모듈(121)에서 탐지된 이벤트의 프로세스에 대해 허용, 차단 또는 허용/차단의 확인 후 허용/차단 등의 과정을 수행하도록 구성될 수 있다.The white list process allowing module 122a, the black list process blocking module 122b, and the process suspending module 122c respectively allow, block or allow / block the process of the event detected by the event detection module 121. It may be configured to perform a process such as allow / block after.

화이트 리스트 프로세스 허용 모듈(122a)은 화이트 리스트 로컬 데이터베이스(123a)를 참조하여 해당 프로세스가 화이트 리스트 로컬 데이터베이스(123a)에 저장된 화이트 리스트에 등록되어 있는지 판단하도록 구성될 수 있다. 판단 결과 등록되어 있는 경우, 화이트 리스트 프로세스 허용 모듈(122a)이 그 프로세스의 실행을 허용하도록 구성될 수 있다.The white list process permission module 122a may be configured to refer to the white list local database 123a to determine whether the process is registered in the white list stored in the white list local database 123a. If the determination is registered, the white list process permission module 122a may be configured to allow execution of the process.

이때, 화이트 리스트 프로세스 허용 모듈(122a)은 앞서 탐지된 이벤트에 따른 프로세스에 대해 해시 함수값을 산출하고, 이를 화이트 리스트에 이미 등록되어 있는 해당 프로세스의 해시 함수값과 대비하도록 구성될 수 있다. 이에 의해 해시 함수값이 일치하면 해당 프로세스가 오염되지 않은 것으로 판단하고 실행을 허용하도록 구성될 수 있다.In this case, the white list process permission module 122a may be configured to calculate a hash function value for the process according to the previously detected event, and to compare it with the hash function value of the corresponding process already registered in the white list. Thereby, if the hash function values match, it can be configured to determine that the process is not contaminated and allow execution.

블랙 리스트 프로세스 차단 모듈(122b)은 블랙 리스트 로컬 데이터베이스(123b)를 참조하여 해당 프로세스가 블랙 리스트 로컬 데이터베이스(123b)에 저장된 블랙 리스트에 등록되어 있는지 판단하도록 구성될 수 있다. 판단 결과 등록되어 있는 경우, 블랙 리스트 프로세스 차단 모듈(122b)이 그 프로세스의 실행을 차단하도록 구성될 수 있다.The black list process blocking module 122b may be configured to refer to the black list local database 123b to determine whether the corresponding process is registered in the black list stored in the black list local database 123b. If the determination result is registered, the black list process blocking module 122b may be configured to block execution of the process.

블랙 리스트에는 이미 알려진 악성 코드(malware)의 시그니쳐(signature)가 추출되어 저장되는 것이다.The blacklist extracts and stores signatures of known malware.

블랙 리스트 프로세스 차단 모듈(122b)은 앞서 설명한 화이트 리스트 프로세스 허용 모듈(122a)의 판단에 앞서 먼저 실행하고, 해당 프로세스가 블랙 리스트에 없다고 판단되는 경우, 화이트 리스트 프로세스 허용 모듈(122a)이 화이트 리스트에 있는지 판단하도록 구성될 수 있다.The black list process blocking module 122b executes prior to the determination of the white list process permission module 122a described above, and when it is determined that the process is not in the black list, the white list process permission module 122a is added to the white list. It can be configured to determine if there is.

프로세스 일시 중지 모듈(122c)은 해당 프로세스가 화이트 리스트에도 블랙 리스트에도 등록되어 있지 않은 경우, 그 프로세스의 실행 여부를 일시 중지(suspend)하도록 구성될 수 있다.When the process is not registered in the white list or the black list, the process suspend module 122c may be configured to suspend execution of the process.

프로세스 일시 중지 모듈(122c)은 일시 중지 상태에서 그 프로세스의 실행 여부를 사용자 단말(120)의 디스플레이상에 표시하여 사용자에게 질의하며, 사용자가 허용에 대한 응답(response)을 주는 경우 그 프로세스를 실행하도록 구성될 수 있다.The process pause module 122c queries the user by displaying on the display of the user terminal 120 whether the process is executed in the pause state, and executes the process when the user gives a response to the permission. It can be configured to.

화이트 리스트 추가 모듈(124a)은 프로세스 일시 중지 모듈(122c)에서 사용자에 의해 실행이 허용된 프로세스를 자체적으로 화이트 리스트 로컬 데이터베이스(123a)에 추가하여 갱신하고 프로세스 보고 송신 모듈(125)로 전달하도록 구성될 수 있다.The white list adding module 124a is configured to add a process, which is allowed to be executed by the user in the process suspend module 122c, to add itself to the white list local database 123a for updating and to forward it to the process report sending module 125. Can be.

한편, 블랙 리스트 추가 모듈(124b)은 프로세스 일시 중지 모듈(122c)에서 사용자에 의해 실행이 차단된 프로세스 중 특별히 블랙 리스트로 추가하도록 한 경우 해당 프로세스를 자체적으로 블랙 리스트 로컬 데이터베이스(123b)에 추가하여 갱신하고 프로세스 보고 송신 모듈(125)로 전달하도록 구성될 수 있다.On the other hand, the blacklist adding module 124b adds the process to the blacklist local database 123b by itself when the process suspend module 122c adds the blacklist to the blacklist among the processes blocked by the user. Can be configured to update and forward to process report transmission module 125.

프로세스 보고 송신 모듈(125)은 화이트 리스트 추가 모듈(124a) 및 블랙리스트 추가 모듈(124b)에서 추가되는 화이트 리스트 프로세스와 블랙 리스트 프로세스를 리스트 패치 서버(110)의 프로세스 보고 수신 모듈(111)로 실시간 송신하도록 구성될 수 있다.The process report transmission module 125 sends the white list process and the black list process added by the white list adding module 124a and the black list adding module 124b to the process report receiving module 111 of the list patch server 110 in real time. Can be configured to transmit.

프로세스 보고 수신 모듈(111)은 사용자 단말(110)의 프로세스 보고 송신 모듈(125)로부터 화이트 리스트 프로세스 및 블랙 리스트 프로세스를 수신하여 화이트 리스트 패치 생성 모듈(112a) 및 블랙 리스트 패치 생성 모듈(112b)로 각각 전달하도록 구성될 수 있다.The process report receiving module 111 receives the white list process and the black list process from the process report transmitting module 125 of the user terminal 110 and sends them to the white list patch generating module 112a and the black list patch generating module 112b. Each may be configured to deliver.

화이트 리스트 패치 생성 모듈(112a)은 사용자 단말(120)로부터 수신한 화이트 리스트 프로세스를 화이트 리스트 온라인 데이터베이스(113a)에 추가하여 갱신하도록 구성될 수 있다. 이때, 화이트 리스트 패치 생성 모듈(112a)은 사용자 단말(120)에서 허용한 화이트 리스트 프로세스가 블랙리스트 온라인 데이터베이스(113b)의 블랙 리스트의 프로세스와 상충되는지 여부를 실시간 확인한 후, 상충되지 않을 때 화이트 리스트 온라인 데이터베이스(113a)에 추가하도록 구성될 수 있다.The white list patch generation module 112a may be configured to add and update the white list process received from the user terminal 120 to the white list online database 113a. At this time, the white list patch generation module 112a checks in real time whether the white list process allowed by the user terminal 120 is in conflict with the black list process of the black list online database 113b, and then the white list when not conflicted. It may be configured to add to the online database 113a.

화이트 리스트 패치 생성 모듈(112a)은 MS(Microsoft)나 Adobe와 같은 응용 프로그램이나 모바일 어플리케이션(mobile application)의 제조사로부터 응용 프로그램이나 모바일 어플리케이션의 패치 프로그램을 직접 수신하여 화이트 리스트 패치를 생성하도록 구성될 수도 있다. 프로그램 패치를 자동화하여 원활하게 하기 위한 것으로서, 사용자 단말(120)에서는 패치 업데이트를 별도의 검증 없이 자동화 할 수 있다.The white list patch generation module 112a may be configured to directly receive a patch program of an application or a mobile application from a manufacturer of an application such as MS (Microsoft) or Adobe or a mobile application to generate a white list patch. have. In order to smooth the program patch automatically, the user terminal 120 can automate patch updates without additional verification.

블랙 리스트 패치 생성 모듈(112b)은 사용자 단말(120)로부터 수신한 블랙 리스트 프로세스를 블랙 리스트 온라인 데이터베이스(113b)에 추가하여 갱신하도록 구성될 수 있다.The black list patch generation module 112b may be configured to add and update the black list process received from the user terminal 120 to the black list online database 113b.

단말 업데이터 프로그램 생성 모듈(114)은 사용자 단말(120)에서 화이트 리스트를 별도의 위변조 검증 없이 자동으로 업데이트하기 위한 단말 업데이터 프로그램을 생성하도록 구성될 수 있다. 사용자 단말(120)에서 아직 업데이트하지 못한 화이트 리스트 패치를 업데이트하거나 또는 개별 응용 프로그램이나 개별 모바일 어플리케이션의 패치 프로그램을 업데이트할 수 있도록 구성될 수 있다.The terminal updater program generating module 114 may be configured to generate a terminal updater program for automatically updating the white list in the user terminal 120 without additional forgery verification. The user terminal 120 may be configured to update a white list patch that has not yet been updated or to update a patch program of an individual application or an individual mobile application.

화이트 리스트 패키지 생성 모듈(115)은 화이트 리스트 패치 생성 모듈(112a)에서 생성한 화이트 리스트 패치와 단말 업데이터 프로그램 생성 모듈(114)에서 생성한 단말 업데이터 프로그램을 하나의 화이트 리스트 패키지로 생성하도록 구성될 수 있다.The white list package generation module 115 may be configured to generate the white list patch generated by the white list patch generation module 112a and the terminal updater program generated by the terminal updater program generation module 114 into one white list package. have.

여기서, 화이트 리스트 패키지에 포함되는 화이트 리스트 패치는 물론 단말 업데이터 프로그램은 사용자 단말(120)에서 해시 함수를 이용한 위변조 검증이나 공인 인증서를 이용한 위변조 검증 없이 자동으로 실행되어 화이트 리스트를 업데이트하도록 구성될 수 있다. 단말 업데이터 프로그램이 사용자 단말(120)에서 이러한 화이트 리스트 업데이트를 하도록 구성될 수 있다.Here, the white list patch included in the white list package as well as the terminal updater program may be configured to be automatically executed in the user terminal 120 to update the white list without forgery verification using a hash function or forgery verification using a public certificate. . The terminal updater program may be configured to perform such white list update at the user terminal 120.

화이트 리스트 패키지 생성 모듈(115)은 단말 업데이터 프로그램을 화이트 리스트 패치 상에 그대로 등록하여 사용자 단말(120)에서 그대로 실행이 허용되도록 하고 자동 실행되도록 구성할 수 있다.The white list package generation module 115 may register the terminal updater program on the white list patch as it is so as to allow execution as it is in the user terminal 120 and to be automatically executed.

화이트 리스트 패키지 송신 모듈(116a)은 화이트 리스트 패키지 생성 모듈(115)에서 생성된 화이트 리스트 패키지 내지는 단말 업데이터 프로그램이 등록된 화이트 리스트 패치를 사용자 단말(120)로 송신하도록 구성될 수 있다.The white list package transmitting module 116a may be configured to transmit a white list patch registered with the white list package or the terminal updater program generated by the white list package generating module 115 to the user terminal 120.

블랙 리스트 패키지 송신 모듈(116b)은 블랙 리스트 패치 생성 모듈(112b)에서 생성된 블랙 리스트 패치를 사용자 단말(120)로 송신하도록 구성될 수 있다.The black list package transmission module 116b may be configured to transmit the black list patch generated by the black list patch generation module 112b to the user terminal 120.

사용자 단말(120)의 화이트 리스트 패키지다운로드 모듈(126a)은 화이트 리스트 패키지 송신 모듈(116a)로부터 화이트 리스트 패키지 내지는 단말 업데이터 프로그램이 등록된 화이트 리스트 패치를 다운로드하고, 화이트 리스트 패치를 화이트 리스트로컬 데이터베이스(123a)에 갱신하도록 구성될 수 있다.The white list package download module 126a of the user terminal 120 downloads the white list patch in which the white list package or the terminal updater program is registered from the white list package transmitting module 116a, and converts the white list patch into a white list local database ( 123a).

사용자 단말(120)의 블랙 리스트 패치 다운로드 모듈(126b)은 블랙리스트 패치 송신 모듈(116b)로부터 블랙 리스트 패치를 다운로드하고, 블랙 리스트 패치를 블랙 리스트로컬 데이터베이스(123b)에 갱신하도록 구성될 수 있다.The black list patch download module 126b of the user terminal 120 may be configured to download the black list patch from the black list patch transmission module 116b and update the black list patch to the black list local database 123b.

단말업데이터 프로그램자동 실행 모듈(127)은 화이트 리스트 패키지다운로드 모듈(126a)에서 다운로드한 단말 업데이터 프로그램을 자동 실행하도록 구성될 수 있다. 단말 업데이터 프로그램은 화이트 리스트 패키지 내지는 화이트 리스트 패치에 등록되어 있으므로, 그 실행에 대해서는 해시 함수나 공인 인증서를 이용한 위변조 검증의 과정을 거치지 않고 바로 실행하도록 구성될 수 있다. 사용자의 실행 허용 여부에 대한 문의 없이 자동으로 실행하도록 구성될 수 있다.The terminal update data program execution module 127 may be configured to automatically execute the terminal updater program downloaded from the white list package download module 126a. Since the terminal updater program is registered in the white list package or the white list patch, the terminal updater program may be configured to execute immediately without undergoing a forgery verification process using a hash function or a public certificate. It can be configured to run automatically without asking the user whether to allow execution.

단말 업데이터 프로그램은 화이트 리스트 패치에 포함된 각종 데이터나 프로세스를 실시간 업데이트하도록 구성되며, 특정 응용 프로그램이나 모바일 어플리케이션의 업데이트를 하는 경우 위변조 과정 없이도 프로세스의 오염 없이 매우 편리하고 신속하게 업데이트를 할 수 있다.The terminal updater program is configured to update various data or processes included in the white list patch in real time. When updating a specific application or mobile application, the terminal updater program can be updated very conveniently and quickly without contamination of the process without forgery.

여기서, 단말 업데이터 프로그램에 의해서만 화이트 리스트 패키지에 포함된 프로세스에 대한 이벤트(수정이나 삭제 등)를 허용하고, 그 외의 프로세스에 의한 화이트 리스트 패키지 내에 포함된 프로세스에 대한 모든 이벤트를 차단하여 화이트 리스트 패키지에 포함된 프로세스가 오염되거나 위변조 되는 것을 차단하도록 구성될 수 있다.Here, the terminal updater program allows the event (modification or deletion, etc.) for the processes included in the white list package only, and blocks all events for the processes included in the white list package by other processes to block the white list package. The process involved can be configured to prevent contamination or forgery.

여기서, 단말 업데이터 프로그램에 의해 업데이트 과정에 다운로드 한 프로그램에 의해 업데이트 하는 방법이나 압축을 해제하는 방식으로 업데이트를 하는 경우에도 해당 프로세스에 대한 이벤트를 허용하도록 구성 할 수 있다.Here, even when updating by a method downloaded by the program downloaded in the update process by the terminal updater program or by decompressing the update, it may be configured to allow an event for the process.

도 2는 본 발명의 일 실시 예에 따른 화이트 리스트의 안전 패치 방법의 흐름도이다.2 is a flowchart illustrating a safety patch method of a white list according to an embodiment of the present invention.

도 2를 참조하면, 리스트 패치 서버(110)가 소정의 프로세스의 실행을 허용하기 위한 화이트 리스트(White list) 패치(patch) 및 화이트 리스트 패치를 설치하기 위한 단말 업데이터 프로그램(updater program)을 포함하는 하나의 화이트 리스트 패키지(White list package)를 생성한다(S101).Referring to FIG. 2, the list patch server 110 includes a white list patch for allowing execution of a predetermined process and a terminal updater program for installing a white list patch. One white list package is generated (S101).

다음으로, 리스트 패치 서버(110)가 생성된 화이트 리스트 패키지를 사용자 단말(120)로 송신한다(S102).Next, the list patch server 110 transmits the generated white list package to the user terminal 120 (S102).

다음으로, 사용자 단말(120)이 리스트 패치 서버(110)로부터 화이트 리스트 패키지를 수신한다(S103).Next, the user terminal 120 receives a white list package from the list patch server 110 (S103).

다음으로, 사용자 단말(120)이 수신된 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 위변조 여부의 확인 없이 실행한다(S104).Next, the user terminal 120 executes the terminal updater program included in the received white list package without checking forgery (S104).

여기서, 사용자 단말(120)은 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 해시 함수(Hash function)에 의한 검증 또는 인증 서명에 의한 검증 없이 실행하도록 구성될 수 있다.Here, the user terminal 120 may be configured to execute the terminal updater program included in the white list package without verification by a hash function or verification by an authentication signature.

다음으로, 사용자 단말(120)에서 실행된 단말 업데이터 프로그램이 수신된 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 위변조 여부의 확인 없이 기존의 화이트 리스트에 갱신한다(S105).Next, the terminal updater program executed in the user terminal 120 updates the white list patch included in the received white list package to the existing white list without checking forgery (S105).

이때, 사용자 단말(120)에서 실행된 단말 업데이터에 의해 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 해시 함수에 의한 검증 또는 인증 서명에 의한 검증 없이 기존의 화이트 리스트에 갱신하도록 구성될 수 있다.In this case, the white list patch included in the white list package may be updated by the terminal updater executed in the user terminal 120 to the existing white list without verification by the hash function or verification by the authentication signature.

구체적으로는, 단말 업데이터 프로그램에 의한 화이트 리스트 패치에 포함된 프로세스에 대한 이벤트(event)를 허용하고, 다른 프로그램에 의한 화이트 리스트 패치에 포함된 프로세스에 대한 이벤트를 차단하도록 구성될 수 있다.Specifically, it may be configured to allow an event for a process included in the white list patch by the terminal updater program, and block an event for the process included in the white list patch by another program.

이상 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당 업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the above embodiments, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the invention described in the claims below. Could be.

110: 리스트 패치 서버
111: 프로세스 보고 수신 모듈
112a: 화이트 리스트 패치 생성 모듈
112b: 블랙 리스트 패치 생성 모듈
113a: 화이트 리스트 온라인 데이터베이스
113b: 블랙리스트 온라인 데이터베이스
114: 단말 업데이터 프로그램 생성 모듈
115: 화이트 리스트 패키지 생성 모듈
116a: 화이트 리스트 패키지 송신 모듈
116b: 블랙 리스트 패키지 송신 모듈
120: 사용자 단말
121: 이벤트 탐지 모듈
122a: 화이트 리스트 프로세스 허용 모듈
122b: 블랙 리스트 프로세스 차단 모듈
122c: 프로세스 일시 중지 모듈
123a: 화이트 리스트 로컬 데이터베이스
123b: 블랙 리스트 로컬 데이터베이스
124a: 화이트 리스트 추가 모듈
124b: 블랙 리스트 추가 모듈
125: 프로세스 보고 송신 모듈
126a: 화이트 리스트 패키지 다운로드 모듈
126b: 블랙 리스트 패치 다운로드 모듈
127: 단말 업데이터 프로그램 자동 실행 모듈
110: list patch server
111: process report receiving module
112a: whitelist patch generation module
112b: Blacklist Patch Generation Module
113a: White List Online Database
113b: Blacklist Online Database
114: terminal updater program generation module
115: white list package generation module
116a: white list package sending module
116b: blacklist package sending module
120: user terminal
121: event detection module
122a: whitelist process permission module
122b: Blacklist Process Interception Module
122c: process pause module
123a: White List Local Database
123b: Blacklist local database
124a: White List Addition Module
124b: Add Blacklist Module
125: process report sending module
126a: White List Package Download Module
126b: Blacklist Patch Download Module
127: terminal updater program automatic execution module

Claims (4)

소정의 프로세스의 실행을 허용하기 위한 화이트 리스트(White list) 패치(patch) 및 상기 화이트 리스트 패치를 설치하기 위한 단말 업데이터 프로그램(updater program)을 포함하는 하나의 화이트 리스트 패키지(White list package)를 생성하고, 생성된 화이트 리스트 패키지를 송신하는 리스트 패치 서버;
상기 리스트 패치 서버로부터 화이트 리스트 패키지를 수신하고, 수신된 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 위변조 여부의 확인 없이 실행하여 상기 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 위변조 여부의 확인 없이 기존의 화이트 리스트에 갱신하는 사용자 단말을 포함하고,
상기 사용자 단말은,
상기 단말 업데이터 프로그램에 의한 상기 화이트 리스트 패치에 포함된 프로세스에 대한 이벤트(event)를 허용하고, 다른 프로그램에 의한 상기 화이트 리스트 패치에 포함된 프로세스에 대한 이벤트를 차단하도록 구성되고,
상기 사용자 단말은,
상기 화이트 리스트 패키지에 포함된 단말 업데이터 프로그램을 해시 함수(Hash function)에 의한 검증 또는 인증 서명에 의한 검증 없이 실행하고, 상기 실행된 단말 업데이터에 의해 상기 화이트 리스트 패키지에 포함된 화이트 리스트 패치를 해시 함수에 의한 검증 또는 인증 서명에 의한 검증 없이 기존의 화이트 리스트에 갱신하도록 구성되며,
상기 리스트 패치 서버는,
상기 사용자 단말로부터 화이트 리스트 프로세스 및 블랙 리스트 프로세스를 수신하고, 수신된 화이트 리스트 프로세스 및 블랙 리스트 프로세스를 각각 전달하는 프로세스 보고 수신 모듈;
상기 프로세스 보고 수신 모듈에서 전달된 화이트 리스트 프로세스를 추가하여 갱신하는 화이트 리스트 패치 생성 모듈;
상기 프로세스 보고 수신 모듈에서 전달된 블랙 리스트 프로세스를 추가하여 갱신하는 블랙 리스트 패치 생성 모듈;
화이트 리스트가 미리 저장되며, 상기 화이트 리스트 패치 생성 모듈에서 추가되는 화이트 리스트 프로세스가 상기 화이트 리스트에 갱신되는 화이트 리스트 온라인 데이터베이스;
블랙 리스트가 미리 저장되며, 상기 블랙 리스트 패치 생성 모듈에서 추가되는 블랙 리스트 프로세스가 상기 블랙 리스트에 갱신되는 블랙리스트 온라인 데이터베이스;
상기 사용자 단말에서 화이트 리스트를 별도의 위변조 검증 없이 자동으로 업데이트하기 위한 단말 업데이터 프로그램을 생성하는 단말 업데이터 프로그램 생성 모듈;
상기 화이트 리스트 패치 생성 모듈에서 생성된 화이트 리스트 패치 및 상기 단말 업데이터 프로그램 생성 모듈에서 생성된 단말 업데이터 프로그램을 하나의 화이트 리스트 패키지로 생성하는 화이트 리스트 패키지 생성 모듈;
상기 화이트 리스트 패키지 생성 모듈에서 생성된 화이트 리스트 패키지를 송신하는 화이트 리스트 패키지 송신 모듈;
상기 블랙 리스트 패치 생성 모듈에서 생성된 블랙 리스트를 송신하는 블랙 리스트 패키지 송신 모듈을 포함하도록 구성되며,
상기 화이트 리스트 패치 생성 모듈은,
상기 사용자 단말에서 허용 입력된 화이트 리스트 프로세스가 상기 블랙 리스트 온라인 데이터베이스의 블랙 리스트와 상충되는지 여부를 실시간 확인 후, 확인 결과 상충되지 않으면 상기 화이트 리스트 온라인 데이터베이스의 화이트 리스트에 추가하도록 구성되며,
상기 화이트 리스트 패치 생성 모듈은,
PC 응용 프로그램 제조사 또는 모바일 어플리케이션의 제조사로부터 PC 응용 프로그램 또는 모바일 어플리케이션의 패치 프로그램을 직접 수신하여 화이트 리스트 패치를 생성하도록 구성되며,
상기 사용자 단말은,
OS(operating system)에서 발생되는 소정 파일의 삭제, 변경, 생성 및 복사를 포함하는 이벤트를 탐지하는 이벤트 탐지 모듈;
상기 이벤트 탐지 모듈에서 탐지된 이벤트의 프로세스에 대해 해시 함수값을 산출하고, 산출된 해시 함수값을 화이트 리스트의 해시 함수값과 대비하여 일치하면 상기 프로세스를 허용하는 화이트 리스트 프로세스 허용 모듈;
상기 이벤트 탐지 모듈에서 탐지된 이벤트의 프로세스에 대해 해시 함수값을 산출하고, 산출된 해시 함수값을 블랙 리스트의 해시 함수값과 대비하여 일치하면 상기 프로세스를 차단하는 블랙 리스트 프로세스 차단 모듈;
상기 이벤트 탐지 모듈에서 탐지된 이벤트의 프로세스가 상기 화이트 리스트 및 상기 블랙 리스트 모두에 해당되지 않는 경우, 상기 프로세스의 실행 여부를 일시 중지하고 상기 프로세스의 실행 여부를 상기 사용자 단말의 디스플레이 상에 표시하여 질의하고 질의에 대해 사용자의 허용 응답이 입력되면 상기 프로세스를 실행하는 프로세스 일시 중지 모듈;
상기 화이트 리스트가 미리 저장되어 있는 화이트 리스트 로컬 데이터베이스;
상기 블랙 리스트가 미리 저장되어 있는 블랙 리스트 로컬 데이터베이스;
상기 프로세스 일시 중지 모듈에서 상기 사용자에 의해 허용 응답이 입력된 프로세스를 상기 화이트 리스트 로컬 데이터베이스에 추가하여 갱신하고, 해당 화이트 리스트 프로세스를 전달하는 화이트 리스트 추가 모듈;
상기 프로세스 일시 중지 모듈에서 상기 사용자에 의해 허용 응답이 입력되지 않은 프로세스를 상기 블랙 리스트 로컬 데이터베이스에 추가하여 갱신하고, 해당 블랙 리스트 프로세스를 전달하는 블랙 리스트 추가 모듈;
상기 화이트 리스트 추가 모듈로부터 추가되는 화이트 리스트 프로세스를 전달받고 상기 블랙 리스트 추가 모듈로부터 추가되는 블랙 리스트 프로세스를 전달받고, 전달받은 화이트 리스트 프로세스 및 블랙 리스트 프로세스를 상기 리스트 패치 서버의 프로세스 보고 수신 모듈로 실시간 송신하는 프로세스 보고 송신 모듈;
상기 리스트 패치 서버의 화이트 리스트 패키지 송신 모듈로부터 단말 업데이터 프로그램이 등록된 화이트 리스트 패치를 다운로드하고, 화이트 리스트 패치를 상기 화이트 리스트 로컬 데이터베이스에 갱신하는 저장하는 화이트 리스트 패키지 다운로드 모듈;
상기 리스트 패치 서버의 블랙 리스트 패치 송신 모듈로부터 블랙 리스트 패치를 다운로드하고, 블랙 리스트 패치를 상기 블랙 리스트 로컬 데이터베이스에 갱신하여 저장하는 블랙 리스트 패치 다운로드 모듈;
상기 화이트 리스트 패키지 다운로드 모듈에서 다운로드된 단말 업데이터 프로그램을 해시 함수나 공인 인증서를 이용한 위변조 검증을 거치지 않고 자동 실행하는 단말 업데이터 프로그램 자동 실행 모듈을 포함하도록 구성되며,
상기 블랙 리스트 프로세스 차단 모듈은,
상기 화이트 리스트 프로세스 허용 모듈보다 먼저 실행된 후 해당 프로세스가 상기 블랙 리스트에 등록되어 있지 않다고 판단되면, 상기 화이트 리스트 프로세스 허용 모듈이 실행되도록 구성되는 것을 특징으로 하는 화이트 리스트의 안전 패치 시스템.
Create one white list package including a white list patch to allow execution of a predetermined process and a terminal updater program for installing the white list patch. A list patch server for transmitting the generated white list package;
Receiving a white list package from the list patch server, and executes the terminal updater program included in the received white list package without confirmation of forgery, the existing white list patch included in the white list package without confirmation of forgery A user terminal to be updated in the list,
The user terminal,
Allow an event for a process included in the white list patch by the terminal updater program, and block an event for a process included in the white list patch by another program;
The user terminal,
The terminal updater program included in the white list package is executed without verification by a hash function or verification signature, and the white list patch included in the white list package is executed by the executed terminal updater. Configured to update to an existing white list without verification by or by signature verification,
The list patch server,
A process report receiving module which receives a white list process and a black list process from the user terminal and delivers the received white list process and the black list process, respectively;
A white list patch generation module for adding and updating a white list process delivered from the process report receiving module;
A black list patch generation module for adding and updating a black list process delivered from the process report receiving module;
A white list online database in which a white list is stored in advance, and a white list process added in the white list patch generation module is updated in the white list;
A blacklist online database in which a blacklist is stored in advance and a blacklist process added in the blacklist patch generation module is updated in the blacklist;
A terminal updater program generation module for generating a terminal updater program for automatically updating a white list in the user terminal without additional forgery verification;
A white list package generation module generating the white list patch generated by the white list patch generation module and the terminal updater program generated by the terminal updater program generation module as one white list package;
A white list package transmitting module configured to transmit a white list package generated by the white list package generating module;
It is configured to include a black list package sending module for transmitting a black list generated in the black list patch generation module,
The white list patch generation module,
After checking in real time whether the white list process allowed by the user terminal is in conflict with the black list of the black list online database, and if the result is not in conflict, adds to the white list of the white list online database;
The white list patch generation module,
It is configured to receive a patch program of the PC application or mobile application directly from the PC application manufacturer or the manufacturer of the mobile application to generate a white list patch,
The user terminal,
An event detection module for detecting an event including deleting, changing, creating, and copying a predetermined file generated in an operating system;
A white list process permission module for calculating a hash function value for the process of the event detected by the event detection module, and allowing the process if the calculated hash function value matches the hash function value of the white list;
A black list process blocking module for calculating a hash function value for the process of the event detected by the event detection module and blocking the process if the calculated hash function value matches the hash function value of the black list;
If the process of the event detected by the event detection module does not correspond to both the white list and the black list, the execution of the process is paused and whether or not the process is executed is displayed on the display of the user terminal to query. And a process pause module to execute the process when a user's permission response is input to the query;
A white list local database in which the white list is stored in advance;
A black list local database in which the black list is stored in advance;
A white list adding module for adding and updating a process in which a permission response is input by the user to the white list local database in the process pause module, and delivering the white list process;
A blacklist adding module for adding and updating a process in which the permission response is not input by the user in the blacklist local database in the process pause module, and delivering the blacklist process;
Receives the white list process added from the white list adding module, receives the black list process added from the black list adding module, and transfers the received white list process and the black list process to the process report receiving module of the list patch server in real time. A process report sending module for transmitting;
A white list package download module for downloading a white list patch to which a terminal updater program is registered from the white list package transmitting module of the list patch server and updating the white list patch to the white list local database;
A black list patch download module which downloads a black list patch from the black list patch transmission module of the list patch server, updates and stores the black list patch in the black list local database;
And a terminal updater program automatic execution module for automatically executing the terminal updater program downloaded from the white list package download module without undergoing forgery verification using a hash function or a public certificate.
The black list process blocking module,
And if it is determined that the process is not registered in the black list after executing before the white list process permission module, the white list process permission module is configured to be executed.
삭제delete 삭제delete 삭제delete
KR1020170073357A 2017-06-12 2017-06-12 Safe patch system and method of white list KR102053493B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170073357A KR102053493B1 (en) 2017-06-12 2017-06-12 Safe patch system and method of white list

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170073357A KR102053493B1 (en) 2017-06-12 2017-06-12 Safe patch system and method of white list

Publications (2)

Publication Number Publication Date
KR20180135348A KR20180135348A (en) 2018-12-20
KR102053493B1 true KR102053493B1 (en) 2020-01-08

Family

ID=64952874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170073357A KR102053493B1 (en) 2017-06-12 2017-06-12 Safe patch system and method of white list

Country Status (1)

Country Link
KR (1) KR102053493B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598519B (en) * 2022-03-02 2024-04-12 深圳市和为顺网络技术有限公司 Method and system for supporting terminal to set black-and-white list without disconnection
CN117348915B (en) * 2023-12-06 2024-04-05 麒麟软件有限公司 Automatic kernel code synchronization method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101555247B1 (en) * 2014-03-13 2015-09-24 (주)닥터소프트 Software Administration Method Based on Process Administration Tracking Algorithm (PATA) on System and Recording Medium thereof
KR101700413B1 (en) * 2015-09-24 2017-02-13 주식회사 오앤파트너스 Method and system for integrity check of integrit of program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100586486B1 (en) * 2004-09-24 2006-06-08 한국전자통신연구원 Automatic patch management/distribution system and patch distribution method using the same
KR101277623B1 (en) 2012-01-27 2013-06-21 주식회사 안랩 White list synchronization server and client device
KR101710928B1 (en) 2015-09-04 2017-03-13 숭실대학교산학협력단 Method for protecting malignant code in mobile platform, recording medium and device for performing the system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101555247B1 (en) * 2014-03-13 2015-09-24 (주)닥터소프트 Software Administration Method Based on Process Administration Tracking Algorithm (PATA) on System and Recording Medium thereof
KR101700413B1 (en) * 2015-09-24 2017-02-13 주식회사 오앤파트너스 Method and system for integrity check of integrit of program

Also Published As

Publication number Publication date
KR20180135348A (en) 2018-12-20

Similar Documents

Publication Publication Date Title
CN105637479B (en) Modify method, the computer system and computer readable medium of computer program
CN108334753B (en) Pirate application verification method and distributed server node
EP2748751B1 (en) System and method for day-zero authentication of activex controls
WO2015184891A1 (en) Security management and control method, apparatus, and system for android system
CN107423626B (en) Method for updating trust chain of BIOS (basic input output System) based on continuous Hash value
EP3528071B1 (en) Instruction verification method and device for diagnosis apparatus, and lower computer
US9588776B2 (en) Processing device
EP3343424B1 (en) Control board secure start method, and software package upgrade method and device
CN108259479B (en) Business data processing method, client and computer readable storage medium
CN104751049A (en) Application program installing method and mobile terminal
CN108229144B (en) Verification method of application program, terminal equipment and storage medium
CN104680061A (en) Method and system for verifying code signing during startup of application in Android environment
EP3001341B1 (en) NFC device, software installation method, software uninstallation method, computer program and article of manufacture
CN108595950A (en) A kind of safe Enhancement Methods of SGX of combination remote authentication
TW202044022A (en) Update signals
US11574046B2 (en) Protecting a software program against tampering
KR102053493B1 (en) Safe patch system and method of white list
CN101238472A (en) Improving the security of a computing device through the use of vendor ids
JP4818824B2 (en) Program management system and terminal device
CN112861137A (en) Secure firmware
KR101322402B1 (en) System and Method for Security of Application, Communication Terminal Therefor
CN107689934B (en) Method, server and client for guaranteeing information security
WO2017220014A1 (en) System permission management method and apparatus, and intelligent terminal
CN114238870A (en) Network request processing method, device, equipment and storage medium
CN116208353A (en) Method, device, network card, chip system and server for verifying firmware

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant