KR20190121483A - Apparatus and method of blocking malicious code based on whitelist - Google Patents

Apparatus and method of blocking malicious code based on whitelist Download PDF

Info

Publication number
KR20190121483A
KR20190121483A KR1020180044836A KR20180044836A KR20190121483A KR 20190121483 A KR20190121483 A KR 20190121483A KR 1020180044836 A KR1020180044836 A KR 1020180044836A KR 20180044836 A KR20180044836 A KR 20180044836A KR 20190121483 A KR20190121483 A KR 20190121483A
Authority
KR
South Korea
Prior art keywords
pattern
white list
whitelist
agent
list
Prior art date
Application number
KR1020180044836A
Other languages
Korean (ko)
Other versions
KR102079304B1 (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 KR1020180044836A priority Critical patent/KR102079304B1/en
Publication of KR20190121483A publication Critical patent/KR20190121483A/en
Application granted granted Critical
Publication of KR102079304B1 publication Critical patent/KR102079304B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

According to an embodiment of the present invention, a whitelist-based malicious code blocking apparatus comprises: a collection unit for collecting a whitelist, which is a list of codes allowed to be executed in an agent; a learning unit extracting a first specification pattern from the whitelist in association with at least one application executed in the agent and learning the first specification pattern to extract a second specification pattern; and a control unit for updating the whitelist by applying the second specification pattern.

Description

화이트리스트 기반 악성코드 차단 장치 및 방법{APPARATUS AND METHOD OF BLOCKING MALICIOUS CODE BASED ON WHITELIST}Whitelist-based malware blocking device and method {APPARATUS AND METHOD OF BLOCKING MALICIOUS CODE BASED ON WHITELIST}

본 발명은 화이트리스트 기반 악성코드 차단 장치 및 방법에 대한 것으로서, 보다 구체적으로 특수 목적 장비에 적용 가능하고 사전 예방이 가능한 경량화된 보안 솔루션을 제공하는 화이트리스트 기반 악성코드 차단 장치 및 방법에 관한 것이다.The present invention relates to a whitelist-based malware blocking apparatus and method, and more particularly, to a whitelist-based malware blocking apparatus and method that is applicable to special purpose equipment and provides a lightweight security solution that can be prevented in advance.

악성코드(malicious code, 또는 malware 라고도 함)란 악의적인 목적을 위해 작성된 실행 가능한 코드의 통칭이다. 악성코드는 자기 복제 능력과 감염 대상 유무에 따라, 바이러스, 웜 바이러스, 트로이 목마 등으로 분류된다. 악성코드에 감염되는 경우 나타나는 주요 증상으로는, 네트워크 트래픽 발생, 시스템 성능 저하, 파일 삭제, 이메일 자동 발송, 개인정보 유출, 원격 제어 등이다. 최근 악성코드의 증상이나 유포 방법이 점점 복잡해지고 지능화되고 있어, 기존 안티 바이러스 프로그램은 다양한 악성코드를 진단 및 치료할 수 있는 통합보안 프로그램으로 기능이 확장되고 있다.Malware (also known as malware or malware) is a collective term for executable code written for malicious purposes. Malware is classified into viruses, worm viruses, and Trojan horses according to their ability to replicate and whether they are infected. The main symptoms of malware infection include network traffic, system performance degradation, file deletion, automatic email sending, personal information leakage, and remote control. Recently, the symptoms and dissemination methods of malicious codes are becoming more complex and intelligent, and existing anti-virus programs are expanding their functions as integrated security programs that can diagnose and treat various malicious codes.

판매 시점 단말기(Point Of Sale: POS)나 키오스크(Kiosk) 및 산업용 기기 등은 악성코드 감염과 해킹에 취약하다. 특히, 오프라인 매장에서 카드결제와 매출 관리 등에 사용하는 POS 단말기는 결제가 승인된 고객 카드정보 등 유출에 민감한 정보를 처리하면서도 하드웨어 성능은 낮기 때문에, 일반 PC 환경에서 사용하는 보안 솔루션을 적용하기가 어렵다. 이와 같이 제한된 성능 환경에서 작동되어 악성코드 감염과 해킹에 취약한 POS 단말, 키오스크 및 산업용 기기 등과 같은 특수 목적 장비의 경우, 제한된 성능 하에서 보안성을 효율적으로 높이기 위하여 경량화된 보안 솔루션이 요구된다.Point-of-sale terminals, kiosks and industrial devices are vulnerable to malware infection and hacking. In particular, POS terminals used for offline payment and card payment and sales management process sensitive information such as customer card information that has been approved for payment and have low hardware performance. Therefore, it is difficult to apply security solutions used in general PC environments. . In the case of special purpose devices such as POS terminals, kiosks, and industrial devices that operate in a limited performance environment and are vulnerable to malware infection and hacking, a lightweight security solution is required to efficiently increase security under limited performance.

특수 목적 장비는 악성코드나 랜섬웨어를 방지하기 위하여 대표적으로 백신 방식의 보안 솔루션을 사용한다. 백신 방식의 경우, 악성 코드가 감염되면 이에 대한 패치 백신이 배포된 이후 스캔을 통해 악성코드를 탐지하여 제거 또는 차단한다. 따라서, 백신이 패치 및 배포되기 전까지의 피해(예를 들어, 제로데이 공격)에 대해서는 무방비 상태로 노출되게 된다. 이러한 문제점을 해결하기 위하여 다양한 악성코드의 패턴 분석을 통해 개선을 하고 있지만, 사후 처리 방식의 보안 솔루션으로 점점 고도화되는 악성코드의 공격에 대처하기는 불가능하다. Special-purpose equipment typically uses anti-virus security solutions to prevent malware or ransomware. In the case of the vaccine method, when a malicious code is infected, the patch vaccine is distributed and then scanned and detected or removed. Thus, the defenses (eg, zero-day attacks) until the vaccine is patched and distributed are exposed unprotected. In order to solve this problem, we have improved by analyzing patterns of various malicious codes, but it is impossible to cope with the attack of malware that is being advanced with post-processing security solutions.

본 발명은 특수 목적 장비에 적용 가능하고, 사전 예방이 가능한 화이트리스트 기반 보안 솔루션을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a white list-based security solution that can be applied to special purpose equipment, proactively preventable.

또한, 본 발명은 유효한 코드 및 프로그램을 특정화하는 패턴 추출 방식으로 다중 블록 추출 방식을 채택하는 것을 목적으로 한다.It is also an object of the present invention to adopt a multi-block extraction method as a pattern extraction method for specifying valid codes and programs.

나아가, 본 발명은 유효한 코드로부터 추출된 패턴과 동일한 동종패턴의 판별을 위해 머신 러닝 기법을 적용한 학습을 수행하는 것을 목적으로 한다.Furthermore, an object of the present invention is to perform a learning by applying a machine learning technique to determine the same homogeneous pattern extracted from the valid code.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재에 의해 제안되는 실시 예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned above are clear to those skilled in the art to which the embodiments proposed by the following description belong. Can be understood.

본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치는, 에이전트에서 실행이 허용되는 코드 목록인 상기 화이트리스트를 수집하는 수집부; 와 상기 에이전트에서 실행되는 적어도 하나의 앱과 연동하여 상기 화이트리스트로부터 제1특정화 패턴을 추출하고, 상기 제1특정화 패턴을 학습하여 제2특정화 패턴을 추출하는 학습부; 및 상기 제2특정화 패턴을 적용하여 상기 화이트리스트를 업데이트하는 제어부를 포함한다.An apparatus for blocking whitelist based malware according to an embodiment of the present invention may include: a collection unit configured to collect the whitelist, which is a list of codes allowed to be executed in an agent; And a learning unit which extracts a first specification pattern from the white list in association with at least one app executed in the agent, and extracts a second specification pattern by learning the first specification pattern. And a controller configured to update the white list by applying the second specification pattern.

본 발명의 다른 실시 예에 따른 화이트리스트 기반 악성코드 차단 방법은, 에이전트에서 실행이 허용되는 코드 목록인 상기 화이트리스트를 수집하는 단계; 와 상기 에이전트에서 실행되는 적어도 하나의 앱과 연동하여 상기 화이트리스트로부터 제1특정화 패턴을 추출하고, 상기 제1특정화 패턴을 학습하여 제2특정화 패턴을 추출하는 단계; 및 상기 제2특정화 패턴을 적용하여 상기 화이트리스트를 업데이트하는 단계를 포함한다.Whitelist-based malware blocking method according to another embodiment of the present invention, collecting the whitelist which is a list of codes that are allowed to run in the agent; And extracting a first specification pattern from the white list in association with at least one app executed in the agent, and learning the first specification pattern to extract a second specification pattern; And updating the white list by applying the second specification pattern.

본 발명에 따른 실시 예들에 의하면, 특수 목적 장비에 적용 가능하고, 백신을 이용한 사후처리가 아닌 선제적인 대응이 가능한 화이트리스트 기반 보안 솔루션을 제공할 수 있다.According to embodiments according to the present invention, it is possible to provide a white list-based security solution that can be applied to special purpose equipment and can be preemptively responded to without post-processing using a vaccine.

또한, 본 발명에 따른 실시 예들에 의하면, 유효한 코드 및 프로그램을 특정화하는 경우 판별 오차율을 최소화할 수 있다.In addition, according to embodiments of the present invention, discrimination error rate can be minimized when specifying valid codes and programs.

나아가, 본 발명에 따른 실시 예들에 의하면, 유효한 코드의 동종 패턴에 대한 인식률을 높임으로써, 작고 빈번한 업데이트에 대해 수동적인 업데이트의 한계를 해소할 수 있다. Furthermore, according to embodiments of the present invention, by increasing the recognition rate of the homogeneous pattern of the effective code, it is possible to solve the limitation of the manual update for small and frequent updates.

도 1은 네트워크 상에서 악성코드 공격이 수행되는 경우를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 방법을 대략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치를 포함하는 네트워크의 구성을 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치의 구성을 도시한 블록도이다.
도 5a와 도 5b는 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치에서의 화이트리스트에 대한 학습 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 과정을 도시한 도면이다.
도 7은 본 발명의 다른 실시 예에 의한 화이트리스트 기반 악성코드 차단 과정을 도시한 도면이다.
1 is a diagram illustrating a case where a malicious code attack is performed on a network.
2 is a diagram schematically illustrating a method of blocking whitelist based malware according to an embodiment of the present invention.
3 is a diagram illustrating a configuration of a network including a whitelist-based malware blocking apparatus according to an embodiment of the present invention.
Figure 4 is a block diagram showing the configuration of a whitelist-based malware blocking apparatus according to an embodiment of the present invention.
5A and 5B are diagrams for explaining a whitelist learning method in a whitelist-based malware blocking apparatus according to an embodiment of the present invention.
6 is a diagram illustrating a whitelist-based malware blocking process according to an embodiment of the present invention.
7 is a diagram illustrating a whitelist-based malware blocking process according to another embodiment of the present invention.

이하에서는 본 발명의 구체적인 실시예를 도면을 참조하여 상세히 설명한다. 그러나 본 발명의 기술적 사상이 이하에서 기술되는 실시예들에 의하여 제한되는 것은 아니며, 또 다른 구성요소의 추가, 변경 및 삭제 등에 의해서 퇴보적인 다른 발명이나 본 발명의 기술적 사상의 범위 내에 포함되는 다른 실시예들을 용이하게 제안할 수 있다.Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings. However, the technical spirit of the present invention is not limited by the embodiments described below, and other embodiments included within the scope of other inventive inventions or the technical spirit of the present invention may be deteriorated by the addition, change, or deletion of other components. Examples can be easily suggested.

본 발명에서 사용되는 용어는 가능한 한 현재 해당 기술과 관련하여 널리 사용되는 일반적인 용어를 선택하였으나, 특별한 경우에는 출원인이 임의로 선정한 용어도 있으며 이 경우 해당되는 발명의 설명 부분에서 그 의미를 상세히 기재하였다. 그러므로, 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야 함을 미리 밝혀둔다. 이하에서 기술하는 설명에 있어서, 단어 '포함하는'은 열거된 것과 다른 구성요소들 또는 단계들의 존재를 배제하지 않는다.The terms used in the present invention were selected as general terms widely used in connection with the present technology as much as possible at present, but in some cases, the terms arbitrarily selected by the applicant are described, and in this case, the meanings are described in detail in the description of the corresponding invention. Therefore, it should be noted that the present invention should be grasped as the meaning of a term rather than a simple name of the term. In the descriptions that follow, the word 'comprising' does not exclude the presence of other elements or steps than those listed.

도 1은 네트워크 상에서 악성코드 공격이 수행되는 경우를 설명하기 위한 도면이다.1 is a diagram illustrating a case where a malicious code attack is performed on a network.

도 1을 참조하면, 사용자 측 컴퓨터나 POS 단말은 이메일이나 네트워크를 통해 제로데이(Zero-day) 공격을 받는다(S110). 여기서, 제로데이 공격은 취약점에 대한 패치(대응책)가 나오기전에 이루어지는 공격이다. 일반적으로, 패치(대응책)가 나오기까지는 약 2개월의 시간이 소요될 수 있다.Referring to FIG. 1, a user side computer or a POS terminal is subjected to a zero-day attack through an e-mail or a network (S110). Here, a zero-day attack is an attack that occurs before a patch (response) for a vulnerability is released. In general, it may take about two months for the patch to come out.

POS 단말이나 ATM 기기는 랜섬웨어 등에 감염된다(S120). 랜섬웨어는 인터넷에 연결된 컴퓨터에 잠입하여 내부문서, 스프레드 시트, 그림파일 등을 암호화한 후, 암호화된 파일 등을 복구하기 위한 해독용 열쇠 프로그램을 보내준다는 명목으로 금품을 요구하는 악성 프로그램일 수 있다.The POS terminal or the ATM device is infected with ransomware or the like (S120). Ransomware can be a malicious program that infiltrates a computer connected to the Internet, encrypts internal documents, spreadsheets, picture files, etc., and then asks for money in the name of sending a decryption key program to recover the encrypted files. .

POS 단말이나 ATM 기기가 랜섬웨어에 감염되는 대표적인 경로를 살펴보면, 사용자 실행에 의해 알려지지 않은 실행파일이 실행되면서 단말 또는 기기가 감염되거나, 랜섬웨어가 시스템에 잠복되어 있는 상태에서 특정 시간이나 특정 조건에 의해 사용자 실행이 아닌 백그라운드 실행에 의하여 기기나 단말이 감염되거나, 웹페이지를 통해서 악성 코드가 전파되어 기기나 단말이 감염되는 등의 감염 경로가 있을 수 있다.Looking at the typical path that a POS terminal or an ATM device is infected with ransomware, when an executable file unknown to a user is executed, the terminal or device is infected, or ransomware is hidden in a system at a specific time or condition. There may be an infection path such as the device or the terminal is infected by the background execution rather than the user execution, or malicious code is spread through the web page to infect the device or the terminal.

POS 단말이나 ATM 기기가 랜섬웨어 등에 감염되면, POS 단말을 통해 결제된 카드정보가 악용되거나 사용자에게 금전 요구 등이 행해진다(S130).If the POS terminal or ATM device is infected with ransomware or the like, the card information paid through the POS terminal is abused or a money request is made to the user (S130).

이와 같은 악성코드 공격은 점점 고도화되고 있는 추세이다. 예를 들어, 각종 어플리케이션에 대한 취약점이 지속적으로 발견되고 있고(매달 약 850건 정도), 대응 솔루션(백신) 등을 무력화하는 해킹 기법이 지속적으로 출현하고 있다. 또한, 취약점을 대상으로 한 제로데이 공격이 고도화되고 있고, 금융정보나 금전 취득을 목적으로 한 악성코드(랜섬웨어)의 유포가 증가하고 있다. 이에 따라, 기존 백신에서 새로운 개념의 백신 대응책이 필요한 상황이다.Malware attacks like this are becoming more and more advanced. For example, vulnerabilities are constantly being found in various applications (about 850 per month), and hacking techniques continue to emerge to disable countermeasures (vaccines). In addition, zero-day attacks targeting vulnerabilities are being advanced, and the spread of malicious code (ransomware) for financial information and money acquisition is increasing. Accordingly, a new concept of vaccine countermeasure is needed in existing vaccines.

도 2는 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 방법을 대략적으로 도시한 도면이다.2 is a diagram schematically illustrating a method of blocking whitelist based malware according to an embodiment of the present invention.

화이트리스트란 사용자 컴퓨터에서 실행될 수 있는 실행 파일 또는 실행 프로세스 목록일 수 있다. 화이트리스트 기반 방식은 허가된 실행 파일 또는 실행 프로세스를 화이트리스트에 등록하고, 이 외의 실행 파일 또는 실행 프로세스는 전부 차단함으로써 원천적으로 악성코드가 사용자 컴퓨터에 침입하지 못하도록 한다. 이 경우, 악성 유무를 떠나 허가된 목록 외에 새로운 파일 생성이나 설치는 모두 차단된다. 이와 같은 화이트리스트 방식은, 네거티브(negative) 보안 기반의 시그니처 탐지 기법으로 도출된 블랙리스트 방식과는 상반되는 포지티브(positive) 보안 개념이다.The white list may be a list of executable files or executable processes that may be executed on a user computer. The whitelist-based approach prevents malicious code from invading a user's computer by registering an authorized executable file or execution process in a whitelist and blocking all other executable files or execution processes. In this case, creating or installing new files is blocked in addition to the allowed list regardless of malicious status. Such a white list method is a positive security concept opposite to a black list method derived from a signature detection method based on negative security.

다음 [표 1]은 화이트리스트 기반 방식과 블랙리스트 기반 방식을 비교한 표이다.[Table 1] is a table comparing the whitelist based method and the blacklist based method.

구분 division 화이트리스트 기반 White List Based 블랙리스트 기반 Blacklist based 처리 방식 Processing way 사전 예방 Proactive prevention 사후 처리 Post-processing 리소스 점유율 Resource share 낮음 lowness 높음 height 실행 범위 Scope of execution 허용된 어플리케이션만 사용 Use only allowed applications 모든 어플리케이션 사용 Use all applications 적용 시스템 Applicable system 리소스가 제한적인 시스템
(스마트 공장, 건물 제어 등)
Resource limited systems
(Smart factory, building control, etc.)
PC, 서버 등 범용 시스템 General purpose system such as PC, server
엔진 사이즈 Engine size 변경 없음 No change 지속적 증가 Continuous increase 보안 수준 Security level 매우 높음 Very high 보통 usually 기존 프로그램 설치, 변경 Install or change an existing program 신규 설치, 변경에 따른 허용 프로세스 등록 및 검증 필요 Registration and verification of allow process for new installations and changes 신규 설치 및 변경 시 별도 영향 없음 No new impact on new installations and changes

제로데이 공격 등의 해킹기술 발달로 악성코드 공격 증가에 따른 POS 보안 위험이 증가하고 있는 현 상황에서, 사전에 승인한 프로그램만 허용하는 화이트리스트 방식이 유일한 해법으로 인식되고 있다.With the development of hacking technologies such as zero-day attacks, the POS security risks are increasing due to the increase of malicious code attacks, and the whitelist method that allows only pre-approved programs is recognized as the only solution.

도 2를 참조하면, 관리자 측(210)에서 악성코드 정책을 관리한다. 여기서, 관리자 측(210)은 PC(212)와 서버(214)를 포함할 수 있다. PC(212)와 서버(214)는 허가된 실행 파일 또는 실행 프로세스를 화이트리스트에 등록하고 이를 관리할 수 있다. 서버(214)는 악성코드 탐지 현황을 모니터링 할 수 있다. 이 경우, 악성코드는 화이트리스트에 등록된 실행 파일 및 실행 프로세스를 제외한 모든 파일과 프로세스를 포함할 수 있다.Referring to FIG. 2, the administrator side 210 manages a malware policy. Here, the manager side 210 may include a PC 212 and a server 214. The PC 212 and the server 214 may whitelist and manage authorized executable files or execution processes. The server 214 may monitor the malware detection status. In this case, the malicious code may include all files and processes except executable files and execution processes registered in the white list.

IoT 게이트웨이(220)는 화이트리스트에 기초하여 보안을 수행할 수 있다,. IoT 게이트웨이(220)도 취약점에 노출될 수 있다. 따라서, IoT 게이트웨이(220)는 화이트리스트 기반의 보안을 수행하여, 저성능의 센서 기기들이 연결되는 IoT 게이트웨이(220) 자체의 보안을 확보할 수 있다.The IoT gateway 220 may perform security based on the white list. IoT gateway 220 may also be exposed to vulnerabilities. Accordingly, the IoT gateway 220 may perform whitelist based security to secure the security of the IoT gateway 220 itself to which low-performance sensor devices are connected.

이에 의해, 랜섬웨어(230)와 미등록 실행파일(240) 및 실행프로세스의 실행이 차단되어, 악성코드 행위가 차단될 수 있다.As a result, execution of the ransomware 230, the unregistered executable file 240, and the execution process may be blocked, and malicious code behavior may be blocked.

도 3은 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치를 포함하는 네트워크의 구성을 도시한 도면이다.3 is a diagram illustrating a configuration of a network including a whitelist-based malware blocking apparatus according to an embodiment of the present invention.

본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치는, 클라우드 서버(400)로 구현될 수 있다. 이 경우, 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치를 포함하는 네트워크는, 에이전트(Agent)(300)와 로컬 서버(Local Server)(500) 및 클라우드 서버(Cloud Server)(400)를 포함하여 구성될 수 있다. 여기서, 로컬 서버(500)는 프론트 엔드(front-end)일 수 있고, 클라우드 서버(400)는 백 엔드(back-end)일 수 있다.The whitelist-based malware blocking apparatus according to an embodiment of the present invention may be implemented as a cloud server 400. In this case, the network including the whitelist-based malware blocking device according to an embodiment of the present invention, the agent (300), the local server (Local Server) 500 and the cloud server (Cloud Server) 400 It may be configured to include). Here, the local server 500 may be a front end, and the cloud server 400 may be a back end.

이 경우, 클라우드 서버(400)와 로컬 서버(500)는 대표적으로 다음과 같은 동작 및 기능들을 수행할 수 있다.In this case, the cloud server 400 and the local server 500 may typically perform the following operations and functions.

클라우드 서버(400)는, 1) 패턴 수집 및 학습, 2) 로컬 서버(500)의 화이트리스트 업데이트, 3) 백 엔드(back-end) 시스템의 기능 등을 수행할 수 있다. The cloud server 400 may perform 1) pattern collection and learning, 2) whitelist updating of the local server 500, 3) functions of a back-end system, and the like.

로컬 서버(500)는, 1) 정책 생성 및 적용, 2) 에이전트(300)의 화이트리스트 업데이트, 3) 로컬 관리자용 시스템의 기능 등을 수행할 수 있다.클라우드 서버(400)는 런타임 동안 변경이 가능한 동적 가상 사설 서버일 수 있다. 여기서, 가상 사설 서버(또는 가장 전용 서버)는 하나의 물리적 서버를 나누어 여러 개의 가상 서버로 사용하는 가상화 방법을 사용한다. 이러한 클라우드 서버(400)는 CPU나 RAM과 같은 추가적인 하드웨어 자원들을 런타임 동안 추가할 수 있고, 서버 실행 중에 서버를 다른 하드웨어로 옮길 수 있는 특징을 가진다. 구체적으로, 클라우드 서버(400)는 전체 화이트리스트를 관리할 수 있다. 여기서, 전체 화이트리스트는, 클라우드 서버(400)가 관리하는 적어도 하나의 에이전트(300) 및 로컬 서버(500)에서 각각 등록한 화이트리스트들을 모두 포함할 수 있다.The local server 500 may perform 1) policy creation and application, 2) whitelist updating of the agent 300, 3) functions of the system for local administrators, and the like. Possible dynamic virtual private server. Here, the virtual private server (or the most dedicated server) uses a virtualization method in which one physical server is divided into several virtual servers. The cloud server 400 may add additional hardware resources such as CPU or RAM during runtime, and may move the server to other hardware while the server is running. In detail, the cloud server 400 may manage the entire white list. Here, the entire white list may include all of the white lists registered in the at least one agent 300 and the local server 500 managed by the cloud server 400, respectively.

이를 위해, 클라우드 서버(400)는 화이트리스트를 수집할 수 있다. 구체적으로, 클라우드 서버(400)는 관리 대상인 적어도 하나의 에이전트(300) 및 로컬 서버(500)에 각각 등록된 화이트리스트들을 수집할 수 있다. 이 경우, 클라우드 서버(400)는 설정된 소정 주기에 대응하여 화이트리스트를 자동으로 수집할 수 있다.To this end, the cloud server 400 may collect a white list. In detail, the cloud server 400 may collect whitelists registered in the at least one agent 300 and the local server 500 which are management targets, respectively. In this case, the cloud server 400 may automatically collect a white list in response to a predetermined period.

클라우드 서버(400)는 전체 화이트리스트를 그룹화할 수 있다. 구체적으로, 클라우드 서버(400)는 화이트리스트에 등록된 실행 파일 및 프로그램들을 분석하고, 이로부터 특정화 패턴을 추출할 수 있다. 클라우드 서버(400)는 그룹별 또는 항목별 태그 정보를 활용하여, 추출된 특정화 패턴을 관리할 수 있다.The cloud server 400 may group the entire white list. In detail, the cloud server 400 may analyze executable files and programs registered in the white list, and extract a specification pattern therefrom. The cloud server 400 may manage the extracted specificization pattern by using tag information of each group or item.

클라우드 서버(400)는 화이트리스트의 연관관계를 분석할 수 있다. 이로부터 클라우드 서버(400)는 화이트리스트의 유사 패턴과 변형 패턴을 인식할 수 있다.The cloud server 400 may analyze the association of the white list. From this, the cloud server 400 may recognize similar patterns and deformation patterns of the white list.

클라우드 서버(400)는 화이트리스트를 배포할 수 있다. 이 경우, 클라우드 서버(400)는 전체 화이트리스트, 화이트리스트의 유사 패턴 및 화이트리스트의 변형 패턴을 로컬 서버(500)에 배포할 수 있다.The cloud server 400 may distribute a white list. In this case, the cloud server 400 may distribute the entire white list, the similar pattern of the white list, and the deformation pattern of the white list to the local server 500.

한편, 클라우드 서버(400)는 화이트리스트를 수동으로 생성할 수 있다. 이 경우, 클라우드 서버(400)는, 해당 클라우드 서버(400)나 에이전트(300) 또는 로컬 서버(500)의 관리자 또는 사용자가 등록한 실행 파일 또는 프로그램들을 화이트리스트에 등록할 수 있다.Meanwhile, the cloud server 400 may manually generate a white list. In this case, the cloud server 400 may register an executable file or programs registered by an administrator or a user of the cloud server 400, the agent 300, or the local server 500 in a white list.

로컬 서버(500)는 에이전트 정책을 설정할 수 있다. 여기서, 에이전트 정책은, 에이전트(300)를 관리하거나 운영하는 방식일 수 있다. 이 경우, 로컬 서버(500)에 의해 관리되는 에이전트(300)는, 설정된 에이전트 정책에 기초하여 화이트리스트를 탐지하거나 차단할 수 있다.The local server 500 may set an agent policy. Here, the agent policy may be a method of managing or operating the agent 300. In this case, the agent 300 managed by the local server 500 may detect or block the white list based on the set agent policy.

로컬 서버(500)는 화이트리스트를 관리 및 생성할 수 있다. 구체적으로, 로컬 서버(500)는 클라우드 서버(400)로부터 수신한 화이트리스트를 관리하거나, 이에 기초하여 새로운 화이트리스트를 생성할 수 있다.The local server 500 may manage and generate a white list. In detail, the local server 500 may manage the white list received from the cloud server 400 or generate a new white list based on the white list.

로컬 서버(500)는 실시간 종합 모니터링을 수행할 수 있다. 이 경우, 로컬 서버(500)는 연결된 에이전트(300) 및 클라우드 서버(400)의 상태를 확인할 수 있다. 예를 들어, 로컬 서버(500)는 에이전트(300) 또는 클라우드 서버(400)가 동작 중인지 여부, 악성코드에 감염되었는지 여부 등을 확인할 수 있다.The local server 500 may perform real-time comprehensive monitoring. In this case, the local server 500 may check the states of the connected agent 300 and the cloud server 400. For example, the local server 500 may check whether the agent 300 or the cloud server 400 is in operation, whether it is infected with malicious code, or the like.

로컬 서버(500)는 운영자 계정을 관리할 수 있다. 여기서, 운영자 계정은 시스템에 접근하는 것이 허가된 운영자인지를 검증하기 위한 정보일 수 있다. 로컬 서버(500)는 로컬 보안정책에 따라 운영자 계정을 관리할 수 있다.The local server 500 may manage an operator account. Here, the operator account may be information for verifying whether the operator is authorized to access the system. The local server 500 may manage an operator account according to a local security policy.

로컬 서버(500)는 보고서를 생성할 수 있다. 이 경우, 보고서는 보안 취약점, 보안 진단, 서버 상태 등에 대한 내용을 포함할 수 있다. 보고서는 HTML 형식으로 생성될 수 있다.The local server 500 may generate a report. In this case, the report may include information about security vulnerabilities, security diagnosis, server status, and the like. The report can be generated in HTML format.

로컬 서버(500)는 화이트리스트를 배포할 수 있다. 이 경우, 로컬 서버(500)는 클라우드 서버(400)가 배포한 화이트리스트를 수신하고, 이를 에이전트(300)에 배포할 수 있다.The local server 500 may distribute the white list. In this case, the local server 500 may receive the white list distributed by the cloud server 400 and distribute it to the agent 300.

에이전트(300)는 판매 시점 단말기, 키오스크 및 산업용 기기 중 적어도 하나로 구현될 수 있다.The agent 300 may be implemented as at least one of a point of sale terminal, a kiosk, and an industrial device.

에이전트(300)는 화이트리스트를 수집하여 전송할 수 있다. 구체적으로, 에이전트(300)는 해당 에이전트(300)에 등록된 화이트리스트로부터 해쉬 목록을 추출할 수 있다. 여기서, 해쉬 목록은 화이트리스트에 포함되는 실행 파일 및 실행 프로그램의 해쉬 패턴을 포함할 수 있다. 이 경우, 에이전트(300)는 화이트리스트와 이에 대응하는 해쉬 목록을 로컬 서버(500)에 전송할 수 있다.The agent 300 may collect and transmit a white list. In detail, the agent 300 may extract the hash list from the white list registered in the agent 300. Here, the hash list may include a hash pattern of an executable file and an executable program included in the white list. In this case, the agent 300 may transmit the white list and the hash list corresponding thereto to the local server 500.

에이전트(300)는 화이트리스트 기반 탐지 및 차단을 수행할 수 있다. 구체적으로, 에이전트(300)는 화이트리스트에 기초하여 허용된 실행 파일 및 실행 프로그램을 탐지하고, 허용되지 않은 파일 및 프로그램이나 악성코드를 차단할 수 있다. 이에 의해, 에이전트(300)는 자가 보호 기능을 수행할 수 있다.Agent 300 may perform whitelist based detection and blocking. In detail, the agent 300 may detect the allowed executable file and the executable program based on the white list, and block the unauthorized file and the program or the malicious code. As a result, the agent 300 may perform a self-protection function.

에이전트(300)는 탐지 및 차단 정보를 로컬 서버(500)에 전송할 수 있다. 여기서, 탐지 정보는 에이전트(300)가 화이트리스트에 기반하여 탐지한, 허가된 실행 파일 및 실행 프로그램, 허가되지 않은 파일 및 프로그램, 악성코드 등을 포함할 수 있다. 차단 정보는 에이전트(300)가 화이트리스트에 기반하여 차단한, 허가되지 않은 파일 및 프로그램, 악성코드 등을 포함할 수 있다.The agent 300 may transmit the detection and blocking information to the local server 500. Here, the detection information may include authorized executable files and executable programs, unauthorized files and programs, malicious codes, and the like detected by the agent 300 based on the white list. The blocking information may include unauthorized files and programs, malware, and the like, which the agent 300 blocks based on the white list.

에이전트(300)는 매체 제어를 수행할 수 있다. 구체적으로, 에이전트(300)는 보안 정책을 설정하고, 설정된 보안 정책에 기초하여 해당 에이전트(300)에 접근하는 매체를 제어할 수 있다. 여기서, 보안 정책은 접근 매체의 종류, 매체 별 보안 수준 등을 포함할 수 있다. 접근 매체의 종류는, USB, 하드디스크, 스토리지 장치, PC 등을 포함할 수 있다. 매체 별 보안 수준은, 차단, 읽기 전용, 허용 등을 포함할 수 있다. 차단은 미 등록된 매체는 모두 사용할 수 없도록 차단하며, 읽기 전용은 미 등록된 매체는 읽기 전용으로만 사용할 수 있게 하며, 허용은 미 등록된 매체의 사용을 모두 허용한다.Agent 300 may perform media control. In detail, the agent 300 may set a security policy and control a medium that accesses the agent 300 based on the set security policy. Here, the security policy may include a type of access medium, a security level for each medium, and the like. The type of access medium may include a USB, a hard disk, a storage device, a PC, and the like. The security level for each medium may include blocking, read-only, and allow. Blocking blocks all unregistered media from being used, read-only allows unregistered media to be used only for read-only, and permission allows all unregistered media to be used.

에이전트(300)는 매체 제어를 수행하기 위하여, 해당 에이전트(300)의 IP/PORT를 제어할 수 있다.The agent 300 may control the IP / PORT of the agent 300 to perform media control.

에이전트(300)는 예외처리 모듈을 포함할 수 있다. 이 경우, 예외처리 모듈은, 보안 관련 제어 시 예외가 발생하는 부분에 대한 예외 처리를 수행할 수 있다.Agent 300 may include an exception handling module. In this case, the exception handling module may perform exception handling for a portion where an exception occurs during security-related control.

도 4는 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치의 구성을 도시한 블록도이다.Figure 4 is a block diagram showing the configuration of a whitelist-based malware blocking apparatus according to an embodiment of the present invention.

본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치는 클라우드 서버(400)로 구현되어, 화이트리스트에 대한 통합적 패턴 확인을 수행할 수 있다. 이를 위해, 클라우드 서버(400)는 수집부(410), 관리부(420), 분석부(430), 학습부(440) 및 제어부(450)를 포함할 수 있다.The whitelist-based malware blocking apparatus according to an embodiment of the present invention may be implemented as a cloud server 400 to perform an integrated pattern check on a whitelist. To this end, the cloud server 400 may include a collector 410, a manager 420, an analyzer 430, a learner 440, and a controller 450.

수집부(410)는 화이트리스트를 수집할 수 있다. 이를 위해, 수집부(410)는 관리 대상인 적어도 하나의 에이전트(300) 및 로컬 서버(500)에 각각 등록된 화이트리스트들을 수집할 수 있다. The collection unit 410 may collect a white list. To this end, the collection unit 410 may collect the whitelists registered in the at least one agent 300 and the local server 500 which are management targets, respectively.

일 실시 예에 의하면, 수집부(410)는 에이전트(300)이 허용되는 코드 목록인 화이트리스트를 수집할 수 있다. 여기서, 코드 목록은, 실행 파일 및 실행 프로그램 중 적어도 하나를 포함할 수 있다.According to an embodiment of the present disclosure, the collection unit 410 may collect a white list, which is a list of codes allowed by the agent 300. Here, the code list may include at least one of an executable file and an executable program.

수집부(410)는 설정된 소정 주기에 대응하여 화이트리스트를 자동으로 수집할 수 있다.The collection unit 410 may automatically collect a white list in response to a predetermined period.

관리부(420)는 전체 화이트리스트를 관리할 수 있다. 여기서, 전체 화이트리스트는, 클라우드 서버(400)가 관리하는 적어도 하나의 에이전트(300) 및 로컬 서버(500)에서 각각 등록한 화이트리스트들을 모두 포함할 수 있다.The manager 420 may manage the entire white list. Here, the entire white list may include all of the white lists registered in the at least one agent 300 and the local server 500 managed by the cloud server 400, respectively.

분석부(430)는 화이트리스트의 연관관계를 분석할 수 있다. The analyzer 430 may analyze the correlation of the white list.

이를 위해, 분석부(430)는 전체 화이트리스트를 그룹화할 수 있다. 구체적으로, 분석부(430)는 화이트리스트에 등록된 실행 파일 및 프로그램들을 분석하고, 소정 기준에 따라 실행 파일 및 프로그램들을 분류할 수 있다.To this end, the analyzer 430 may group the entire white list. In detail, the analyzer 430 may analyze the executable files and programs registered in the white list and classify the executable files and programs according to a predetermined criterion.

학습부(440)는 화이트리스트로부터 특정화 패턴을 추출할 수 있다. The learner 440 may extract the specification pattern from the white list.

구체적으로, 학습부(440)는 에이전트(300)에서 실행되는 앱과 연동하여 각각의 앱에서 허용가능한 것으로 설정된 프로그램 및 코드에 대한 특정화 패턴을 추출할 수 있다. 이 경우, 학습부(440)는 그룹별 또는 항목별 태그 정보를 활용하여 추출된 특정화 패턴을 관리할 수 있다.In detail, the learner 440 may extract a specification pattern for a program and a code set to be acceptable in each app in association with an app executed in the agent 300. In this case, the learner 440 may manage the extracted specification pattern by using tag information of each group or item.

학습부(440)는 화이트리스트에 대한 연관관계 분석이나 특정화 패턴 추출을 위한 학습을 수행할 수 있다. 실시 예에 따라, 학습부(440)는 머신 러닝이나 딥 러닝, 인공지능, 다중객체 관계 학습, end-to-end 러닝 등 다양한 학습 방법을 사용하여 학습을 수행할 수 있다.The learner 440 may perform learning to analyze an association or extract a specified pattern of the white list. According to an embodiment, the learner 440 may perform learning using various learning methods such as machine learning, deep learning, artificial intelligence, multi-object relationship learning, and end-to-end learning.

학습부(440)는 화이트리스트로부터 추출한 특정화 패턴을 학습하여, 화이트리스트의 유사 패턴과 변형 패턴을 인식할 수 있다.The learner 440 may learn a specific pattern extracted from the white list to recognize similar patterns and deformation patterns of the white list.

일 실시 예에 의하면, 학습부(440)는 에이전트(300)에서 실행되는 적어도 하나의 앱과 연동하여 화이트리스트로부터 제1특정화 패턴을 추출하고, 제1특정화 패턴을 학습하여 제2특정화 패턴을 추출할 수 있다. 여기서, 제2특정화 패턴은, 화이트리스트의 동종 패턴과 유사 패턴 및 변형 패턴 중 적어도 하나를 포함할 수 있다. 이 경우, 학습부(440)는 다중 블록 추출 방식을 사용하여 제1특정화 패턴을 추출할 수 있다. 또한, 학습부(440)는 머신 러닝 기법에 기초하여 제1특정화 패턴을 학습할 수 있다.According to an embodiment of the present disclosure, the learner 440 extracts a first specification pattern from a white list in association with at least one app executed in the agent 300, and extracts a second specification pattern by learning the first specification pattern. can do. Here, the second specification pattern may include at least one of a homogeneous pattern, a similar pattern, and a deformation pattern of the white list. In this case, the learner 440 may extract the first specification pattern using a multi-block extraction method. In addition, the learner 440 may learn the first specified pattern based on the machine learning technique.

제어부(450)는 화이트리스트를 배포할 수 있다. 구체적으로, 제어부(450)는 전체 화이트리스트, 화이트리스트의 유사 패턴 및 변형 패턴을 로컬 서버(500)에 배포할 수 있다. 일 실시 예에 의하면, 제어부(450)는 제2특정화 패턴을 적용하여 화이트리스트를 업데이트할 수 있다. The controller 450 may distribute the white list. In detail, the controller 450 may distribute the entire white list, the similar pattern of the white list, and the modified pattern to the local server 500. According to an embodiment of the present disclosure, the controller 450 may update the white list by applying the second specification pattern.

제어부(450)는 코드 목록에 등록된 코드를 제외한 다른 코드들의 설치와 다운 및 실행 중 적어도 하나를 차단하도록, 에이전트(300) 및 로컬 서버(500) 중 적어도 하나를 제어할 수 있다. The controller 450 may control at least one of the agent 300 and the local server 500 to block at least one of installation, download, and execution of codes other than codes registered in the code list.

제어부(450)는 화이트리스트를 수동으로 생성할 수 있다. 이 경우, 제어부(450)는 해당 클라우드 서버(400)나 에이전트(300) 또는 로컬 서버(500)의 관리자나 사용자가 등록한 실행 파일 또는 프로그램들을 화이트리스트에 등록할 수 있다.The controller 450 may manually generate a white list. In this case, the controller 450 may register an executable file or programs registered by an administrator or a user of the cloud server 400, the agent 300, or the local server 500 in a white list.

제어부(450)는 화이트리스트의 유사 패턴 및 변형 패턴을 적용하여, 화이트리스트를 자동으로 업데이트할 수 있다.The controller 450 may automatically update the white list by applying similar patterns and deformation patterns of the white list.

또한, 제어부(450)는 클라우드 서버(400)의 동작을 위해, 수집부(410), 관리부(420), 분석부(430) 및 학습부(440)를 제어할 수 있다.In addition, the controller 450 may control the collector 410, the manager 420, the analyzer 430, and the learner 440 for the operation of the cloud server 400.

도 5a와 도 5b는 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 장치에서의 화이트리스트에 대한 학습 방법을 설명하기 위한 도면이다.5A and 5B are diagrams for explaining a whitelist learning method in a whitelist-based malware blocking apparatus according to an embodiment of the present invention.

도 5a는 앱과 연동하여 학습을 수행하는 경우이다. 클라우드 서버(400)의 학습부(440)는 화이트리스트에 대한 학습을 수행할 수 있다. 이 경우, 학습부(440)는 어플리케이션(application, App 또는 앱이라고 함)과 연동하여 화이트리스트에 대한 학습을 수행할 수 있다.5A illustrates a case where learning is performed in conjunction with an app. The learning unit 440 of the cloud server 400 may perform the learning on the white list. In this case, the learner 440 may perform learning on the white list in association with an application (called an application, an app, or an app).

구체적으로, 클라우드 서버(400)가 관리하는 복수개의 에이전트(300) 각각에서는 적어도 하나의 앱이 실행될 수 있다. 이 경우, 클라우드 서버(400)의 학습부(440)는 각각의 에이전트(300)에서 실행되는 앱에서의 보안 정책 및 보안 수준을 인식하고, 이를 참조하여 화이트리스트에 의해 허용되는 프로그램 또는 코드에 대한 학습을 수행할 수 있다. 학습부(440)는 API(Application Programming Interface)를 통하여 에이전트(300)의 앱과 연동될 수 있다. In detail, at least one app may be executed in each of the plurality of agents 300 managed by the cloud server 400. In this case, the learning unit 440 of the cloud server 400 recognizes the security policy and the security level in the app running on each agent 300, and refers to the program or code allowed by the whitelist with reference thereto. Learning can be done. The learning unit 440 may be linked with an app of the agent 300 through an application programming interface (API).

API는 다양한 실시 예에 따라 적용될 수 있다. 일 실시 예에 의하면, 학습부(440)는 단말에 설치되는 프로그램(예를 들어, POS 프로그램 등)을 업데이트하는 프로그램 내에 화이트리스트 API(WL-API)를 적용하여, 사전에 패턴을 반영하여 화이트리스트에 즉시 반영할 수 있다. 다른 실시 예에 의하면, 학습부(440)는 개발자가 수정된 프로그램을 업로드하는 과정에서 화이트리스트 API(WL-API)를 적용하여 패턴을 반영할 수 있다. 도 5a를 참조하면, 클라우드 서버(400)는 복수개의 에이전트(300)에서 각각 실행되는 앱과 연동하여 화이트리스트에 대한 학습을 수행한다.The API may be applied according to various embodiments. According to an embodiment of the present disclosure, the learning unit 440 applies a white list API (WL-API) in a program for updating a program (for example, a POS program) installed in a terminal, and reflects a pattern in advance to white. Can be immediately reflected in the list. According to another embodiment, the learner 440 may reflect the pattern by applying a white list API (WL-API) in the process of uploading the modified program by the developer. Referring to FIG. 5A, the cloud server 400 performs learning on a white list by interworking with an app running on each of a plurality of agents 300.

도 5b는 앱과 연동하여 특정화 패턴을 추출하는 경우이다. 클라우드 서버(400)의 학습부(440)는 각각의 앱에 대응하여 패턴 모델링을 수행하고, 이로부터 특정화 패턴을 추출할 수 있다. 이 경우, 하나의 앱에는 복수개의 실행요소가 존재할 수도 있다. 예를 들어, 하나의 앱에는 복수개의 참조 DLL이 존재할 수 있다.5B illustrates a case of extracting a specification pattern in conjunction with an app. The learning unit 440 of the cloud server 400 may perform pattern modeling in response to each app, and extract a specified pattern therefrom. In this case, a plurality of execution elements may exist in one app. For example, a single app can have a plurality of reference DLLs.

구체적으로, 학습부(440)는 각각의 앱에서의 보안 정책 및 보안 수준을 인식하고 이를 참조하여 각각의 앱에서 허용가능한 것으로 설정된 프로그램 및 코드에 대한 특정화 패턴을 추출할 수 있다. 이 경우, 학습부(440)는 특정화 패턴에 기초하여 유사 패턴 및 변형 패턴을 인식함으로써, 화이트리스트에 대한 학습을 수행할 수 있다.In detail, the learner 440 may recognize a security policy and a security level of each app and may refer to the same, and extract a specification pattern for a program and code set as allowable in each app. In this case, the learner 440 may perform the learning on the white list by recognizing the similar pattern and the deformation pattern based on the specification pattern.

도 5b를 참조하면, 클라우드 서버(400)의 학습부(440)는 앱 1에 대응하여 패턴 모델링 1을 수행하고, 앱 2에 대응하여 패턴 모델링 2를 수행하고, 앱 3에 대응하여 패턴 모델링 3을 수행하고, 앱 n-1에 대응하여 패턴 모델링 n-1을 수행하고, 앱 n에 대응하여 패턴 모델링 n을 수행한다.Referring to FIG. 5B, the learning unit 440 of the cloud server 400 performs pattern modeling 1 in response to App 1, performs pattern modeling 2 in response to App 2, and pattern modeling 3 in response to App 3. Next, the pattern modeling n-1 is performed corresponding to the app n-1, and the pattern modeling n is performed corresponding to the app n-1.

도 6은 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 과정을 도시한 도면이다.6 is a diagram illustrating a whitelist-based malware blocking process according to an embodiment of the present invention.

본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 방법에 의하면, 사후처리가 아닌 선제적 대응이 가능한 보안솔루션을 적용함으로써 특수 목적 장비의 고유목적 이외의 코드나 프로그램이 설치 및 다운되거나 실행되는 것을 차단할 수 있다. 여기서, 특수 목적 장비는 판매 시점 단말기(Point Of Sale: POS), 키오스크(kiosk), 산업용 단말이나 기기 등을 포함할 수 있다.According to the whitelist-based malicious code blocking method according to an embodiment of the present invention, by applying a security solution capable of preemptive response rather than post-processing, code or programs other than the inherent purpose of the special purpose equipment are installed, downloaded or executed Can be blocked. Here, the special purpose equipment may include a point of sale (POS) terminal, a kiosk, an industrial terminal or a device.

클라우드 서버(400)는 에이전트(300)에서 실행되는 앱과 연동한다(S601).The cloud server 400 interworks with an app running on the agent 300 (S601).

이 경우, 클라우드 서버(400)의 학습부(440)는 API를 통하여 각각의 에이전트(300)에서 실행되는 앱과 연동할 수 있다.In this case, the learning unit 440 of the cloud server 400 may interwork with an app running on each agent 300 through an API.

클라우드 서버(400)는 앱에서 허용되는 것으로 설정된 프로그램 목록을 수집한다(S602).The cloud server 400 collects a program list set to be allowed in the app (S602).

구체적으로, 클라우드 서버(400)의 수집부(410)는 각각의 앱에 대하여, 해당 앱에서 실행이 허용되는 것으로 설정된 프로그램 및 코드 목록을 수집할 수 있다.In detail, the collection unit 410 of the cloud server 400 may collect, for each app, a list of programs and codes set to be allowed to run in the corresponding app.

클라우드 서버(400)는 프로그램에 대한 특정화 패턴을 추출한다(S603).The cloud server 400 extracts a specification pattern for the program (S603).

클라우드 서버(400)의 학습부(440)는 각각의 앱에서의 보안 정책 및 보안 수준을 참조하여 각각의 앱에서 허용가능한 것으로 설정된 프로그램 및 코드에 대한 특정화 패턴을 추출할 수 있다. The learning unit 440 of the cloud server 400 may extract a specification pattern for a program and a code set as allowable in each app by referring to a security policy and a security level in each app.

클라우드 서버(400)는 특정화 패턴을 분석 및 학습한다(S604).The cloud server 400 analyzes and learns the specification pattern (S604).

구체적으로, 클라우드 서버(400)의 학습부(440)는 특정화 패턴에 기초하여 유사 패턴 및 변형 패턴을 인식함으로써, 화이트리스트에 대한 학습을 수행할 수 있다. In detail, the learning unit 440 of the cloud server 400 may perform the learning on the white list by recognizing a similar pattern and a deformation pattern based on the specification pattern.

이 경우, 클라우드 서버(400)의 제어부(450)는 유사 패턴 및 변형 패턴을 적용하여, 화이트리스트를 자동으로 업데이트할 수 있다.In this case, the controller 450 of the cloud server 400 may automatically update the white list by applying a similar pattern and a deformation pattern.

이에 의하여. 본 발명의 일 실시 예에 의한 화이트리스트 기반 악성코드 차단 과정은 종료한다.By this. The whitelist based malware blocking process according to an embodiment of the present invention ends.

도 7은 본 발명의 다른 실시 예에 의한 화이트리스트 기반 악성코드 차단 과정을 도시한 도면이다.7 is a diagram illustrating a whitelist-based malware blocking process according to another embodiment of the present invention.

본 발명의 다른 실시 예에 의한 화이트리스트 기반 악성코드 차단 방법에 의하면, 산업용 기기 등의 특수 목적 장비에 적용될 수 있는 화이트리스트 방식의 보안 솔루션을 제공하되, 다중 블록 추출 방식을 사용하여 특정화 패턴을 추출하고 머신 러닝 기법에 기초하여 추출한 특정화 패턴을 학습할 수 있다.According to the whitelist-based malware blocking method according to another embodiment of the present invention, while providing a whitelist-based security solution that can be applied to special purpose equipment, such as industrial devices, extracting a specific pattern using a multi-block extraction method And we can learn the extracted extraction pattern based on the machine learning technique.

도 7을 참조하면, 클라우드 서버(400)는 다중 블록 추출 방식을 이용하여 유효한 코드의 특정화 패턴을 추출한다(S701).Referring to FIG. 7, the cloud server 400 extracts a valid code specification pattern using a multi-block extraction method (S701).

이 경우, 클라우드 서버(400)의 학습부(440)는 유효한 코드 및 프로그램을 특정화하는 패턴 추출 방식으로 다중 블록 추출 방식을 채택함으로써, 판별 오차율을 최소화할 수 있다.In this case, the learning unit 440 of the cloud server 400 adopts a multi-block extraction method as a pattern extraction method for specifying valid codes and programs, thereby minimizing the discrimination error rate.

클라우드 서버(400)는 머신 러닝 기법에 기초하여 특정화 패턴을 학습한다(S702).The cloud server 400 learns a specification pattern based on the machine learning technique (S702).

실시 예에 따라, 클라우드 서버(400)의 학습부(440)는 머신 러닝 기법 외에도, 딥 러닝, 인공지능, 다중객체 관계 학습 및 end-to-end 러닝 등 다양한 학습 방법을 사용하여 특정화 패턴을 학습할 수 있다. According to an embodiment, the learning unit 440 of the cloud server 400 learns a specific pattern using various learning methods such as deep learning, artificial intelligence, multi-object relationship learning, and end-to-end learning, in addition to the machine learning technique. can do.

클라우드 서버(400)는 동종 패턴을 인식한다(S703).The cloud server 400 recognizes a homogeneous pattern (S703).

구체적으로, 클라우드 서버(400)의 학습부(440)는 유효한 코드로부터 추출된 패턴과 동일한 동종패턴의 판별을 위해 머신 러닝 기법을 적용한 학습을 수행하고, 이에 기초하여 동종 패턴을 인식할 수 있다.In detail, the learning unit 440 of the cloud server 400 may learn by applying a machine learning technique to determine a homogeneous pattern identical to a pattern extracted from a valid code, and recognize the homogeneous pattern based on the learning.

이에 의해, 패턴 분석에 머신 러닝 기법을 도입하여 동종 패턴에 대한 인식률을 높임으로써, 작고 빈번한 업데이트에 대해 수동적인 업데이트의 한계를 해소할 수 있다.Accordingly, by introducing a machine learning technique to pattern analysis to increase the recognition rate for homogeneous patterns, it is possible to remove the limitation of manual update for small and frequent updates.

클라우드 서버(400)는 유사 패턴 및 변형 패턴을 인식한다(S704).The cloud server 400 recognizes similar patterns and deformation patterns (S704).

클라우드 서버(400)의 학습부(440)는 유효한 코드로부터 추출된 패턴에 기초하여, 추출된 패턴과 유사한 유사패턴 및 추출된 패턴으로부터 변형된 변형패턴에 대한 학습을 수행할 수 있다. 이에 기초하여, 학습부(440)는 화이트리스트로부터 추출한 특정화 패턴의 유사패턴 및 변형패턴을 인식할 수 있다.The learning unit 440 of the cloud server 400 may learn about similar patterns similar to the extracted patterns and deformation patterns modified from the extracted patterns based on the patterns extracted from the valid codes. Based on this, the learner 440 may recognize similar patterns and deformation patterns of the specified pattern extracted from the white list.

이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위 내에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.Although the above description has been made based on the embodiments, these are merely examples and are not intended to limit the present invention. Those skilled in the art to which the present invention pertains are not illustrated above within the scope not departing from the essential characteristics of the present embodiments. It will be understood that various modifications and applications are possible. For example, each component specifically shown in the embodiment may be modified. And differences relating to such modifications and applications will have to be construed as being included in the scope of the invention defined in the appended claims.

210: 관리자 측 212: PC
214: 서버 220: IoT 게이트웨이
230: 랜섬웨어 240: 미등록 실행파일
300: 에이전트 400: 클라우드 서버
410: 수집부 420: 관리부
430: 분석부 440: 학습부
450: 제어부 500: 로컬 서버
210: administrator side 212: PC
214: Server 220: IoT Gateway
230: ransomware 240: unregistered executable file
300: agent 400: cloud server
410: collection unit 420: management unit
430: analysis unit 440: learning unit
450: control unit 500: local server

Claims (16)

화이트리스트 기반 악성코드 차단 장치에 있어서,
에이전트에서 실행이 허용되는 코드 목록인 상기 화이트리스트를 수집하는 수집부;
상기 에이전트에서 실행되는 적어도 하나의 앱과 연동하여 상기 화이트리스트로부터 제1특정화 패턴을 추출하고, 상기 제1특정화 패턴을 학습하여 제2특정화 패턴을 추출하는 학습부; 및
상기 제2특정화 패턴을 적용하여 상기 화이트리스트를 업데이트하는 제어부를 포함하는 화이트리스트 기반 악성코드 차단 장치.
In the white list-based malware blocking device,
A collecting unit for collecting the white list which is a list of codes allowed to be executed in an agent;
A learning unit extracting a first specification pattern from the white list in association with at least one app executed in the agent, and learning the first specification pattern to extract a second specification pattern; And
And a controller for updating the white list by applying the second specified pattern.
제1항에 있어서,
상기 학습부는,
다중 블록 추출 방식을 사용하여 상기 제1특정화 패턴을 추출하는 화이트리스트 기반 악성코드 차단 장치.
The method of claim 1,
The learning unit,
White list-based malware blocking device for extracting the first specified pattern using a multi-block extraction method.
제1항에 있어서,
상기 학습부는,
머신 러닝 기법에 기초하여 상기 제1특정화 패턴을 학습하는 화이트리스트 기반 악성코드 차단 장치.
The method of claim 1,
The learning unit,
A white list-based malware blocking apparatus learning the first specified pattern based on a machine learning technique.
제1항에 있어서,
상기 제2특정화 패턴은,
상기 화이트리스트의 동종 패턴과 유사 패턴 및 변형 패턴 중 적어도 하나를 포함하는 화이트리스트 기반 악성코드 차단 장치.
The method of claim 1,
The second specified pattern is,
The whitelist-based malware blocking device including at least one of a homogeneous pattern, a similar pattern, and a modified pattern of the whitelist.
제1항에 있어서,
상기 코드 목록은,
실행 파일 및 실행 프로그램 중 적어도 하나를 포함하는 화이트리스트 기반 악성코드 차단 장치.
The method of claim 1,
The code list above,
Whitelist-based malware blocking device that includes at least one of an executable file and an executable program.
제1항에 있어서,
상기 제어부는,
상기 코드 목록에 등록된 코드를 제외한 다른 코드들의 설치와 다운 및 실행 중 적어도 하나를 차단하도록, 상기 에이전트 및 로컬 서버 중 적어도 하나를 제어하는 화이트리스트 기반 악성코드 차단 장치.
The method of claim 1,
The control unit,
And at least one of the agent and the local server to block at least one of installation, download, and execution of codes other than codes registered in the code list.
제1항에 있어서,
상기 에이전트는,
판매 시점 단말기(Point Of Sale: POS), 키오스크(kiosk) 및 산업용 기기 중 적어도 하나인 화이트리스트 기반 악성코드 차단 장치.
The method of claim 1,
The agent,
Point-of-sale terminals, kiosks, and industrial devices that are at least one of a white list based malware protection device.
제1항에 있어서,
상기 학습부는,
화이트리스트-API(WL-API)를 적용하여 상기 화이트리스트를 업데이트하는 화이트리스트 기반 악성코드 차단 장치.
The method of claim 1,
The learning unit,
White list-based malware blocking device to update the white list by applying a white list-API (WL-API).
화이트리스트 기반 악성코드 차단 방법에 있어서,
에이전트에서 실행이 허용되는 코드 목록인 상기 화이트리스트를 수집하는 단계;
상기 에이전트에서 실행되는 적어도 하나의 앱과 연동하여 상기 화이트리스트로부터 제1특정화 패턴을 추출하고, 상기 제1특정화 패턴을 학습하여 제2특정화 패턴을 추출하는 단계; 및
상기 제2특정화 패턴을 적용하여 상기 화이트리스트를 업데이트하는 단계를 포함하는 화이트리스트 기반 악성코드 차단 방법.
In the whitelist-based malware protection method,
Collecting the whitelist, which is a list of codes allowed to execute in an agent;
Extracting a first specification pattern from the white list in association with at least one app running in the agent, and learning the first specification pattern to extract a second specification pattern; And
And updating the white list by applying the second specification pattern.
제9항에 있어서,
다중 블록 추출 방식을 사용하여 상기 제1특정화 패턴을 추출하는 화이트리스트 기반 악성코드 차단 방법.
The method of claim 9,
Whitelist-based malware blocking method for extracting the first specified pattern using a multi-block extraction method.
제9항에 있어서,
머신 러닝 기법에 기초하여 상기 제1특정화 패턴을 학습하는 화이트리스트 기반 악성코드 차단 방법.
The method of claim 9,
Whitelist-based malware blocking method for learning the first specified pattern based on a machine learning technique.
제9항에 있어서,
상기 제2특정화 패턴은,
상기 화이트리스트의 동종 패턴과 유사 패턴 및 변형 패턴 중 적어도 하나를 포함하는 화이트리스트 기반 악성코드 차단 방법.
The method of claim 9,
The second specified pattern is,
At least one of the similar pattern and the deformation pattern of the homogeneous pattern of the white list How to block whitelist based malware.
제9항에 있어서,
상기 코드 목록은,
실행 파일 및 실행 프로그램 중 적어도 하나를 포함하는 화이트리스트 기반 악성코드 차단 방법.
The method of claim 9,
The code list above,
Whitelist-based malware protection method comprising at least one of an executable file and an executable program.
제9항에 있어서,
상기 코드 목록에 등록된 코드를 제외한 다른 코드들의 설치와 다운 및 실행 중 적어도 하나를 차단하도록, 상기 에이전트 및 로컬 서버 중 적어도 하나를 제어하는 화이트리스트 기반 악성코드 차단 방법.
The method of claim 9,
And controlling at least one of the agent and the local server to block at least one of installation, download, and execution of codes other than the code registered in the code list.
제9항에 있어서,
상기 에이전트는,
판매 시점 단말기(Point Of Sale: POS), 키오스크(kiosk) 및 산업용 기기 중 적어도 하나인 화이트리스트 기반 악성코드 차단 방법.
The method of claim 9,
The agent,
Point of Sale (POS), kiosk (kiosk) and industrial devices are at least one of the list-based malware blocking method.
제9항에 있어서,
화이트리스트-API(WL-API)를 적용하여 상기 화이트리스트를 업데이트하는 화이트리스트 기반 악성코드 차단 방법.
The method of claim 9,
White list-based malware blocking method for updating the white list by applying a white list-API (WL-API).
KR1020180044836A 2018-04-18 2018-04-18 Apparatus and method of blocking malicious code based on whitelist KR102079304B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180044836A KR102079304B1 (en) 2018-04-18 2018-04-18 Apparatus and method of blocking malicious code based on whitelist

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180044836A KR102079304B1 (en) 2018-04-18 2018-04-18 Apparatus and method of blocking malicious code based on whitelist

Publications (2)

Publication Number Publication Date
KR20190121483A true KR20190121483A (en) 2019-10-28
KR102079304B1 KR102079304B1 (en) 2020-02-19

Family

ID=68422051

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180044836A KR102079304B1 (en) 2018-04-18 2018-04-18 Apparatus and method of blocking malicious code based on whitelist

Country Status (1)

Country Link
KR (1) KR102079304B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102259760B1 (en) * 2020-11-09 2021-06-02 여동균 System for providing whitelist based abnormal process analysis service
WO2021107259A1 (en) * 2019-11-29 2021-06-03 (주) 앤앤에스피 Method and system for iacs packet flow security monitoring in association with network packet whitelist
KR102361081B1 (en) * 2020-08-26 2022-02-11 김광희 Method and system for managing kiosk based on programmable logic controller
KR20220081145A (en) * 2020-12-08 2022-06-15 상명대학교산학협력단 AI-based mysterious symptom intrusion detection and system
KR20230042840A (en) * 2021-09-23 2023-03-30 주식회사 엘림넷 Data Protection System for Protecting Data from the Ransomware

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090053104A (en) * 2007-11-22 2009-05-27 한양대학교 산학협력단 Information extracting apparatus using block grouping and method of extracting information using block grouping
KR101538709B1 (en) * 2014-06-25 2015-07-29 아주대학교산학협력단 Anomaly detection system and method for industrial control network
KR20180006380A (en) * 2015-05-11 2018-01-17 퀄컴 인코포레이티드 Methods and systems for behavior-specific actuation for real-time whitelisting

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090053104A (en) * 2007-11-22 2009-05-27 한양대학교 산학협력단 Information extracting apparatus using block grouping and method of extracting information using block grouping
KR101538709B1 (en) * 2014-06-25 2015-07-29 아주대학교산학협력단 Anomaly detection system and method for industrial control network
KR20180006380A (en) * 2015-05-11 2018-01-17 퀄컴 인코포레이티드 Methods and systems for behavior-specific actuation for real-time whitelisting

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021107259A1 (en) * 2019-11-29 2021-06-03 (주) 앤앤에스피 Method and system for iacs packet flow security monitoring in association with network packet whitelist
KR102361081B1 (en) * 2020-08-26 2022-02-11 김광희 Method and system for managing kiosk based on programmable logic controller
KR102259760B1 (en) * 2020-11-09 2021-06-02 여동균 System for providing whitelist based abnormal process analysis service
KR20220081145A (en) * 2020-12-08 2022-06-15 상명대학교산학협력단 AI-based mysterious symptom intrusion detection and system
KR20230042840A (en) * 2021-09-23 2023-03-30 주식회사 엘림넷 Data Protection System for Protecting Data from the Ransomware

Also Published As

Publication number Publication date
KR102079304B1 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
KR102079304B1 (en) Apparatus and method of blocking malicious code based on whitelist
Javaheri et al. Detection and elimination of spyware and ransomware by intercepting kernel-level system routines
JP6334069B2 (en) System and method for accuracy assurance of detection of malicious code
US20190166147A1 (en) Secure computing environment
CN106687971B (en) Automatic code locking to reduce attack surface of software
RU2680736C1 (en) Malware files in network traffic detection server and method
EP2774039B1 (en) Systems and methods for virtualized malware detection
US11438349B2 (en) Systems and methods for protecting devices from malware
Grégio et al. Toward a taxonomy of malware behaviors
US10142343B2 (en) Unauthorized access detecting system and unauthorized access detecting method
KR20140033349A (en) System and method for virtual machine monitor based anti-malware security
US9959406B2 (en) System and method for zero-day privilege escalation malware detection
US11750634B1 (en) Threat detection model development for network-based systems
WO2020111504A1 (en) Ransomware detection method and ransomware detection system
KR101614809B1 (en) Practice control system of endpoint application program and method for control the same
CN115086081B (en) Escape prevention method and system for honeypots
Iffländer et al. Hands off my database: Ransomware detection in databases through dynamic analysis of query sequences
Uma et al. Survey on Android malware detection and protection using data mining algorithms
Li et al. A review on signature-based detection for network threats
US20200382552A1 (en) Replayable hacktraps for intruder capture with reduced impact on false positives
KR101752386B1 (en) Apparatus and method for blocking malicious program using automatic recognition of contents program
US11574049B2 (en) Security system and method for software to be input to a closed internal network
Fujii et al. Survey and Analysis on ATT&CK Mapping Function of Online Sandbox for Understanding and Efficient Using
KR102211846B1 (en) Ransomware detection system and operating method thereof
US20220245249A1 (en) Specific file detection baked into machine learning pipelines

Legal Events

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