KR20200039550A - Method for real-time encryption packet separation and identification in high speed traffic and interworking with yara detection on identified packet, and apparatus thereof - Google Patents

Method for real-time encryption packet separation and identification in high speed traffic and interworking with yara detection on identified packet, and apparatus thereof Download PDF

Info

Publication number
KR20200039550A
KR20200039550A KR1020190106481A KR20190106481A KR20200039550A KR 20200039550 A KR20200039550 A KR 20200039550A KR 1020190106481 A KR1020190106481 A KR 1020190106481A KR 20190106481 A KR20190106481 A KR 20190106481A KR 20200039550 A KR20200039550 A KR 20200039550A
Authority
KR
South Korea
Prior art keywords
packet
yara
threat
traffic
detection
Prior art date
Application number
KR1020190106481A
Other languages
Korean (ko)
Other versions
KR102152313B1 (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 (주)피즐리소프트
Publication of KR20200039550A publication Critical patent/KR20200039550A/en
Application granted granted Critical
Publication of KR102152313B1 publication Critical patent/KR102152313B1/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • H04L67/2861
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/10Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a packet-based threat detection apparatus capable of providing encrypted traffic visibility in interconnection with a YARA detection technique. The apparatus is executed based on a hardware module including a field programmable gate array (FPGA) and a memory. Moreover, the packet-based threat detection apparatus includes: an encrypted traffic decryption engine (110) decrypting encrypted network traffic data with a certificate; a trespassing detection engine (120) detecting and blocking a threat by applying a predetermined trespassing detection rate for the decrypted traffic data; and a packet-based YARA detection engine (130) re-detecting a threat by applying a packet-based YARA rule to traffic data, from which the trespassing detection engine (110) does not detect a threat, instead of creating a complete file by combining all traffic data.

Description

고속 트래픽 내 실시간 암호화 패킷 분리 식별 기술과 식별된 패킷에 대한 야라 탐지 기술 연동 기법과 장치{METHOD FOR REAL-TIME ENCRYPTION PACKET SEPARATION AND IDENTIFICATION IN HIGH SPEED TRAFFIC AND INTERWORKING WITH YARA DETECTION ON IDENTIFIED PACKET, AND APPARATUS THEREOF}METHOD FOR REAL-TIME ENCRYPTION PACKET SEPARATION AND IDENTIFICATION IN HIGH SPEED TRAFFIC AND INTERWORKING WITH YARA DETECTION ON IDENTIFIED PACKET, AND APPARATUS THEREOF}

본 발명은 컴퓨터 네트워크의 보안에 관한 것으로, 특히 고속 트래픽 내 암호화 패킷의 보안에 관한 것이다.The present invention relates to the security of computer networks, and in particular to the security of encrypted packets in high-speed traffic.

현대의 정보화 사회에서 정보를 얻거나 공유하기 위해 컴퓨터 네트워크가 사용된다. 스마트폰이나 데스크톱 혹은 노트북 컴퓨터를 이용하여 인트라넷 또는 인터넷 등의 네트워크에 접속하여 서버로부터 정보를 획득하거나 서버에 정보를 업로드하여 정보를 공유하는 것이다.Computer networks are used to obtain and share information in modern information society. It is to obtain information from a server by connecting to a network such as an intranet or the Internet using a smartphone, desktop, or laptop computer, or to upload information to the server to share information.

이렇게 수많은 사용자가 접속하여 엄청난 양의 정보를 주고받다 보면 악의적인 사용자에 의한 정보 탈취나 서버 공격 시도가 항상 존재하게 마련이다.When such a large number of users access and exchange enormous amounts of information, there is always an attempt to steal information or attack the server by malicious users.

그러한 네트워크의 비정상적인 공격이나 해킹시도를 막기 위해 SSL(Secure Socket Layer) 등의 보안 기술이 개발되어 사용되어 왔다. SSL은 웹 서버와 사용자의 브라우저 간에 암호화된 링크를 사용함으로써 전송되는 모든 데이터를 비공개로 유지할 수 있는 기술이다. 하지만 SSL 기술을 사용하면 데이터의 보안을 유지할 수 있지만 보안을 위한 데이터 탐지가 필요한 경우 복호화를 할 수 없는 문제가 다시 발생한다.Security technologies such as Secure Socket Layer (SSL) have been developed and used to prevent abnormal attacks or hacking attempts of such networks. SSL is a technology that can keep all transmitted data private by using an encrypted link between the web server and the user's browser. However, if you use SSL technology, you can keep the data secure, but if you need to detect data for security, the problem that cannot be decrypted occurs again.

따라서 종래기술의 보안 장비들은 이러한 암호화된 데이터들을 탐지하기 위해 암호화 트래픽 가시성을 위한 기능들을 제공해야 한다. 종래기술들의 암호화 트래픽 가시성 제공 시스템은 크게 세 가지 기능을 가지고 있다. 첫째로 암호화 트래픽을 복호화(평문화)하는 기능, 둘째로 복호화된 트래픽에 대한 침입탐지/방지시스템(Intrusion Detection/Prevention System)에서 사용하는 규칙(Rule)을 기반으로 위협을 탐지/차단하는 기능, 셋째로 복호화된 트래픽에 파일이 포함되어 있는 경우 트래픽을 모두 조합하여 완전한 파일을 생성한 후 파일이 악성파일인지 여부를 탐지하는 기능이다. Therefore, prior art security equipments must provide functions for encryption traffic visibility to detect these encrypted data. The prior art encryption traffic visibility providing system has three functions. First, the ability to decrypt (equivalent) the encrypted traffic, second, the ability to detect / block threats based on the rules used in the Intrusion Detection / Prevention System for the decrypted traffic, Third, if the decrypted traffic contains files, it creates a complete file by combining all traffic and detects whether the file is a malicious file or not.

그런데 이렇게 암호화 트래픽 내의 모든 파일들을 탐지/차단하려면 파일이 포함된 모든 트래픽을 조합하여 탐지하여야 하므로 종래기술에서는 상당한 시간과 컴퓨팅 파워가 필요하다. 특히 네트워크 트래픽은 실시간으로 탐지와 차단이 이루어져야 하므로 시간과 성능의 문제는 결국 비용의 상승으로 연결되는 문제가 발생한다.However, in order to detect / block all files in the encrypted traffic in this way, it is necessary to combine and detect all the traffic including the files, so the prior art requires considerable time and computing power. In particular, since network traffic must be detected and blocked in real time, the problem of time and performance eventually leads to an increase in cost.

본 발명의 발명자들은 이러한 문제점들에 대해 깊이 고민한 끝에 암호화 패킷 내의 파일에 대한 보다 효과적인 탐지와 차단을 위한 장치 및 방법에 관한 본 발명을 완성하기에 이르렀다.After deeply considering these problems, the inventors of the present invention have come to complete the present invention regarding an apparatus and method for more effective detection and blocking of files in an encrypted packet.

본 발명의 목적은 고속 트래픽 내에서 실시간으로 암호화 패킷을 분리하고 식별하여 악성코드(맬웨어 파일)을 탐지하고 차단하는 장치를 제공함에 있다.An object of the present invention is to provide an apparatus for detecting and blocking malicious codes (malware files) by separating and identifying an encrypted packet in real time within high-speed traffic.

고속 트래픽 내에서 실시간으로 악성코드를 탐지하기 위해서는 상당한 비용 및 시간이 소요된다. 따라서 본 발명의 또 다른 목적은 고속 트래픽 내의 실시간 악성코드 탐지 시간을 줄임으로써 시간과 비용을 절감할 수 있는 암호화 트래픽 가시성 제공 탐지장치를 구현함에 있다.It takes a considerable amount of time and money to detect malware in real time within high-speed traffic. Therefore, another object of the present invention is to implement a detection device for providing encryption traffic visibility that can reduce time and cost by reducing real-time malware detection time in high-speed traffic.

한편, 본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 것이다.On the other hand, other objects not specified in the present invention will be additionally considered within a range that can be easily deduced from the following detailed description and its effects.

위와 같은 과제를 달성하기 위해 본 발명은 FPGA(Field Programmable Gate Array)와 메모리를 포함하는 하드웨어 모듈 기반으로 실행되는 암호화 트래픽 가시성 제공을 통한 패킷 기반 위협 탐지 장치로서:In order to achieve the above problems, the present invention is a packet-based threat detection device through providing cryptographic traffic visibility executed based on a hardware module including a field programmable gate array (FPGA) and memory:

암호화된 네트워크 트래픽 데이터를 인증서를 이용하여 복호화하는 암호화 트래픽 복호화 엔진;An encryption traffic decryption engine that decrypts the encrypted network traffic data using a certificate;

상기 복호화된 트래픽 데이터에 대하여 미리 정해진 침입탐지룰을 적용하여 위협을 탐지하여 차단하는 침입 탐지 엔진; 및An intrusion detection engine that detects and blocks a threat by applying a predetermined intrusion detection rule to the decrypted traffic data; And

상기 침입 탐지 엔진에서 위협이 탐지되지 않은 트래픽 데이터에 대해, 상기 트래픽 데이터를 모두 조합하여 완전한 파일로 생성하는 것이 아니라, 패킷 기반으로 YARA룰을 적용하여 위협을 재탐지하는 패킷 기반 YARA 탐지 엔진;을 포함하는 것을 특징으로 한다.A packet-based YARA detection engine that re-detects a threat by applying YARA rules based on a packet, rather than combining all of the traffic data and generating a complete file for traffic data in which the threat is not detected by the intrusion detection engine; It is characterized by including.

본 발명의 바람직한 어느 실시예에 따른 암호화 트래픽 가시성 제공을 통한 패킷 기반 위협 탐지 장치에 있어서, 상기 패킷 기반 YARA 탐지 엔진은:In a packet-based threat detection apparatus through providing encryption traffic visibility according to a preferred embodiment of the present invention, the packet-based YARA detection engine:

패킷 기반으로 YARA 스트링을 정의하는 스트링 정의부;A string definition unit defining a YARA string based on a packet;

패킷 기반 YARA 룰의 조건을 정의하는 조건 정의부: 및Condition definition unit for defining the conditions of the packet-based YARA rule: and

표준 YARA룰을 패킷 기반 YARA 룰 구조로 변경하는 YARA룰 번역기;를 포함하는 것이 좋다.It is preferable to include a YARA rule translator that changes the standard YARA rule into a packet-based YARA rule structure.

또한, 본 발명의 바람직한 어느 실시예에 따른 암호화 트래픽 가시성 제공을 통한 패킷 기반 위협 탐지 장치에 있어서, 상기 암호화 트래픽 복호화 엔진, 침입탐지 엔진 또는 패킷 기반 YARA 탐지 엔진은 FPGA의 하드와이어드(Hardwired) 로직에 의해 하드웨어를 통해 실행될 수 있다.In addition, in a packet-based threat detection apparatus through providing encryption traffic visibility according to any preferred embodiment of the present invention, the encryption traffic decryption engine, intrusion detection engine, or packet-based YARA detection engine is implemented in a hardwired logic of the FPGA. Can be executed through hardware.

위와 같은 본 발명의 과제해결수단에 의해서 본 발명은 파일이 포함된 암호화 트래픽을 모두 조합하지 않고서도 축약된 YARA 패턴을 이용하여 실시간으로 악성코드를 탐지/차단할 수 있는 효과가 있다.By the above-described problem solving means of the present invention, the present invention has the effect of detecting / blocking malicious code in real time using the reduced YARA pattern without combining all of the encrypted traffic including the file.

또한, 파일이 포함된 암호화 트래픽을 모두 조합하지 않으므로 악성코드 탐지에 걸리는 시간을 종래기술보다 훨씬 단축할 수 있고, 따라서 동일한 성능의 차단 시스템의 가격을 낮출 수 있는 효과가 있다.In addition, since it does not combine all of the encrypted traffic containing the file, the time required to detect the malicious code can be much shorter than that of the prior art, and thus there is an effect of lowering the price of a blocking system having the same performance.

한편, 여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급됨을 첨언한다.On the other hand, even if the effects are not explicitly mentioned herein, it is noted that the effects described in the following specification expected by the technical features of the present invention and the potential effects thereof are handled as described in the specification of the present invention.

도 1은 본 발명의 바람직한 어느 실시예에 따른 전체 시스템의 구조도이다.
도 2는 본 발명의 바람직한 어느 실시예에 따른 패킷 기반 YARA 탐지 엔진의 구조도이다.
도 3은 본 발명의 바람직한 어느 실시예에 따른 패킷 기반 YARA룰 적용의 한 예이다.
도 4는 본 발명의 바람직한 다른 실시예에 따른 위협탐지 방법의 흐름도이다.
도 5는 본 발명의 바람직한 또 다른 실시예에 따른 하드웨어 보드의 개략적인 구조도이다.
※ 첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다.
1 is a structural diagram of an entire system according to a preferred embodiment of the present invention.
2 is a structural diagram of a packet-based YARA detection engine according to a preferred embodiment of the present invention.
3 is an example of application of a packet-based YARA rule according to an exemplary embodiment of the present invention.
4 is a flowchart of a method for detecting threats according to another preferred embodiment of the present invention.
5 is a schematic structural diagram of a hardware board according to another preferred embodiment of the present invention.
※ The accompanying drawings indicate that they are exemplified by reference for understanding the technical idea of the present invention, and the scope of the present invention is not limited thereby.

이하, 도면을 참조하여 본 발명의 다양한 실시예가 안내하는 본 발명의 구성과 그 구성으로부터 비롯되는 효과에 대해 살펴본다. 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, a configuration of the present invention guided by various embodiments of the present invention and effects resulting from the configuration will be described with reference to the drawings. In the description of the present invention, when it is determined that the subject matter of the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

도 1은 본 발명의 바람직한 어느 실시예에 따른 암호화 트래픽 가시성 제공을 통한 패킷 기반 위협 탐지 장치의 개략적인 구조도이다.1 is a schematic structural diagram of a packet-based threat detection apparatus through providing encryption traffic visibility according to an exemplary embodiment of the present invention.

본 발명에 따른 위협 탐지 장치는 다양한 형태로 구현될 수 있다. 컴퓨터 기반의 장치를 이용하여 소프트웨어적으로 구현할 수도 있고, 전용의 하드웨어를 구성하여 구현할 수 있다. 본 발명의 위협 탐지 장치는 FPGA(Field Programmable Gate Array)를 이용하여 구현할 수 있다. FPGA는 프로그램 가능한 반도체로 한 번 제작하면 수정이 불가능한 주문형 반도체(Application Specific Integrated Circuit, ASIC)와는 달리 사용자가 필요에 따라 설계한 하드웨어를 구현할 수 있는 특징이 있다. 논리소자에 의해 하드웨어 반도체로 구현하기 때문에 소프트웨어적인 구현보다 훨씬 속도가 빠른 장점이 있다.The threat detection device according to the present invention can be implemented in various forms. It may be implemented in software using a computer-based device, or may be implemented by configuring dedicated hardware. The threat detection device of the present invention can be implemented using a field programmable gate array (FPGA). Unlike the application specific integrated circuit (ASIC), which cannot be modified once it is made of a programmable semiconductor, the FPGA has a feature that enables users to implement hardware designed according to their needs. Because it is implemented as a hardware semiconductor by a logic element, it has an advantage that it is much faster than a software implementation.

본 발명의 바람직한 어느 실시예에 따른 암호화 트래픽 가시성을 제공하는 패킷 기반 위협 탐지 장치(10)는 암호화 트래픽 복호화 엔진(110), 침입 탐지 엔진(120) 및 패킷 기반 YARA 탐지 엔진(130)으로 구성된다.The packet-based threat detection apparatus 10 that provides cryptographic traffic visibility according to any preferred embodiment of the present invention is composed of an encryption traffic decryption engine 110, an intrusion detection engine 120, and a packet-based YARA detection engine 130. .

암호화 트래픽 복호화 엔진(110)은 SSL(Secure Socket Layer), HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer) 등으로 암호화된 트래픽 데이터를 복호화한다. 즉, 비문을 평문으로 변환하는 것이다.The encrypted traffic decryption engine 110 decrypts traffic data encrypted with Secure Socket Layer (SSL), Hyper Text Transfer Protocol over Secure Socket Layer (HTTPS), and the like. In other words, it converts the inscription into plain text.

SSL은 보안 소켓 계층으로 인터넷상 데이터를 안전하게 전송하기 위한 통신 규약이다. 웹 브라우저와 웹 서버 사이에 데이터를 안전하게 주고받기 위한 업계 표준 프로토콜로 미국 넷스케이프 커뮤니케이션스사가 개발했으며, 웹 뿐만 아니라 파일 전송 규약(FTP) 등 다른 TCP/IP 애플리케이션에 적용할 수 있다. SSL은 인증 암호화 기능이 있다.SSL is a secure socket layer and a communication protocol for safely transmitting data over the Internet. Netscape Communications Inc., an industry standard protocol for securely sending and receiving data between web browsers and web servers, can be applied to other TCP / IP applications such as File Transfer Protocol (FTP) as well as the Web. SSL has authentication encryption.

HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화하여 전송한다. 따라서 데이터의 적절한 보호를 보장할 수 있다. HTTPS의 기본 TCP/IP 포트는 443이다.HTTPS transmits encrypted session data through SSL or TLS protocol instead of using plain text in socket communication. Therefore, it is possible to ensure proper protection of data. The default TCP / IP port for HTTPS is 443.

SSL 또는 HTTPS 복호화는 해당 인증서(112)를 이용하여 이루어진다. 각 트래픽 세션의 세션정보를 생성, 삭제 또는 갱신하고, 인증되지 않은 트래픽 데이터는 차단하고 로그를 기록한다.SSL or HTTPS decryption is performed using the corresponding certificate 112. Creates, deletes or updates session information for each traffic session, blocks unauthorized traffic data and records logs.

암호화되지 않은 트래픽 데이터는 암호화 트래픽 복호화 엔진(110)에서 바이패스(bypass)하여 침입 탐지 엔진(120)으로 전달된다.The unencrypted traffic data is bypassed by the encryption traffic decryption engine 110 and transmitted to the intrusion detection engine 120.

침입탐지 엔진(120)은 복호화된 트래픽 데이터 혹은 암호화되지 않아 바이패스된 트래픽 데이터에 대해 침입탐지룰(122) 기반으로 위협을 탐지한다. 위협이 감지된 트래픽 데이터는 차단하고 탐지로그(20)에 기록을 남긴다. 위협이 감지되지 않은 트래픽 데이터는 YARA 탐지엔진(130)으로 전달한다.The intrusion detection engine 120 detects a threat based on the intrusion detection rule 122 for the decrypted traffic data or the traffic data bypassed because it is not encrypted. Blocks the traffic data where the threat is detected and records it in the detection log (20). Traffic data for which the threat has not been detected is transmitted to the YARA detection engine 130.

패킷기반 YARA탐지엔진(130)은 침입탐지 엔진(120)에서 위협이 탐지되지 않은 트래픽 데이터에 YARA룰(132)을 적용하여 맬웨어 등 위협을 탐지하게 된다.The packet-based YARA detection engine 130 detects threats such as malware by applying the YARA rule 132 to traffic data in which the threat is not detected by the intrusion detection engine 120.

이처럼 침입탐지 엔진(120)의 침입탐지룰(122)에 의해 1차 위협을 탐지한 다음, 패킷기반 YARA 탐지 엔진(130)의 YARA 룰(132)에 의해 2차 위협을 재탐지하는 이중적인 순차적인 프로세스에 의해 위협을 탐지한다. 침입탐지룰(122)은 침입탐지룰임을 알리는 정보, 룰 이름으로 사용될 문자 또는 숫자(최소/최대 길이 적용, 예컨대 최소 3자, 최대 200자)로 구성되는 룰 이름, 상중하로 구분하여 적용되는 위험도를 알리는 위험도, 어떤 방식으로 탐지된 패킷을 처리할지에 대한 대응방식, 헤더 및 탐지구문으로 구성되는 시그니쳐로 구성될 수 있다. 반면 야라 룰(132)은 야라 룸임을 알리는 정보, 룰 이름으로 사용될 문자 또는 숫자(최소/최대길이 적용, 예를 들어 최소 3자, 최대 200자), 상중하로 구분하여 적용되는 위험도를 알리는 위험도, 그리고 시그니쳐 메타데이터, 시그니쳐 스트링 및 시그니쳐 조건을 포함하는 시그니쳐로 구성될 수 있다. In this way, the first threat is detected by the intrusion detection rule 122 of the intrusion detection engine 120, and then the dual threat is re-detected by the YARA rule 132 of the packet-based YARA detection engine 130. Detect threats by process. The intrusion detection rule 122 is a rule name composed of information indicating that it is an intrusion detection rule, a letter or a number to be used as a rule name (minimum / maximum length applied, for example, minimum 3 characters, maximum 200 characters), and the risk applied by classifying it as upper and lower. It can be composed of a signature that consists of a response method, a header and a detection phrase for the risk of notifying the packet, and how to process the detected packet. On the other hand, the Yarra rule 132 is information indicating that the Yarra room, a letter or a number to be used as the rule name (minimum / maximum length applied, for example, at least 3 characters, maximum 200 characters), the risk of notifying the risk applied by being divided into upper and lower, And it may be composed of a signature including signature metadata, a signature string, and a signature condition.

도 2는 패킷기반 YARA탐지엔진(130)의 구조도이다.2 is a structural diagram of a packet-based YARA detection engine 130.

패킷기반 YARA탐지엔진(130)은 스트링 정의부(134), 조건 정의부(136) 및 YARA룰 번역기(138)를 포함한다.The packet-based YARA detection engine 130 includes a string definition unit 134, a condition definition unit 136, and a YARA rule translator 138.

스트링 정의부(134)는 패킷 기반의 YARA 스트링을 정의한다. 각 스트링은 1패킷 사이즈로 한정하고, 스트링은 문자열 스트링(Text String)과 헥사 스트링(Hexa String)으로 한정한다. 스트링에서 Perl 기반 정규표현식(PCRE)은 지원하지 않고, 정규 표현식은 와일드카드(*)와 물음표(?)만 지원한다. 와이드 스트링(Wide String) 또한 지원 가능하다.The string definition unit 134 defines a YARA string based on a packet. Each string is limited to one packet size, and the string is limited to a text string and a hexa string. Strings do not support Perl-based regular expressions (PCRE), and regular expressions only support wildcards (*) and question marks (?). Wide strings are also supported.

조건 정의부(136)는 패킷기반 YARA룰의 조건(Condition)을 정의한다. 가능한 조건으로는 1. All of them, 2. Any of them, 3. AND, 등이 있다. OR에 대해서는 각 스트링으로 룰을 분할하게 되고, 패킷 기반으로 조건을 정의하기 때문에 파일사이즈 조건은 지원하지 않게 된다.The condition definition unit 136 defines a condition of a packet-based YARA rule. Possible conditions are 1. All of them, 2. Any of them, 3. AND, and so on. For OR, rules are divided into strings, and file size conditions are not supported because conditions are defined based on packets.

스트링 정의부(134) 또는 조건 정의부(136)에서 YARA 추가 모듈 옵션(PE, ELF, Cuckoo, Magic, HASH, MATH)은 지원하지 않는다.The string definition unit 134 or the condition definition unit 136 does not support YARA additional module options (PE, ELF, Cuckoo, Magic, HASH, MATH).

YARA룰 번역기(138)는 스트링 정의부(134)와 조건 정의부(136)에서 표준 YARA룰을 패킷 기반으로 정의한 패킷기반 YARA룰 정의를 패킷기반 YARA 탐지엔진(130)에서 처리할 수 있도록 변경하고 최적화한다.The YARA rule translator 138 changes the packet-based YARA rule definition in which the standard YARA rules are packet-based in the string definition unit 134 and the condition definition unit 136 so that the packet-based YARA detection engine 130 can process them. Optimize.

예컨대 본 발명의 바람직한 어느 실시예에 있어서 YARA 룰 번역기(138)는 표준 YARA 룰 테이블에서 룰 이름은 도 3의 룰 번호(310)로 대응되도록 번역하고, 위험도는 1번 스트링으로 대응되도록 한다. 또한 시그니쳐 메타데이터는 2번과 3번 스트링으로, 시그니쳐 나머지 스트링으로, 시그니쳐 조건은 도 3의 조건(330)으로 대응되도록 번역하여 YARA 룰을 업데이트한다.For example, in a preferred embodiment of the present invention, the YARA rule translator 138 translates the rule name in the standard YARA rule table to correspond to the rule number 310 in FIG. 3 and the risk to match the string 1. In addition, the signature metadata is translated into strings 2 and 3, the rest of the signature string, and the signature condition is translated to correspond to the condition 330 of FIG. 3 to update the YARA rule.

특히 본 발명의 바람직한 어느 실시예에 있어서, 표준 YARA 테이블의 각 구성이 YARA 룰 번역기에 입력되면 YARA 룰이 FPGA에 인식되어 탐지과정을 수행하기 쉬운 구조로 세부 룰들로 분리된다. In particular, in a preferred embodiment of the present invention, when each component of the standard YARA table is input to the YARA rule translator, the YARA rule is recognized by the FPGA and is divided into detailed rules in an easy structure to perform the detection process.

이렇게 축약된 야라 룰은 FPGA의 내부 로직으로 업로드 되어 FPGA를 통해 지나가는 패킷들의 헤더값과 패이로드에 있는 모든 데이터를 바이트기준으로 실시간으로 매칭하여 FPGA에 로딩되어 있는 YARA룰들에 맞는 조건을 찾게 된다.The abbreviated Yarra rule is uploaded to the internal logic of the FPGA, and the header value of packets passing through the FPGA and all data in the payload are matched in real time on a byte-by-byte basis to find conditions that match the YARA rules loaded in the FPGA.

표준 YARA룰을 위와 같이 번역하여 업데이트함으로써 표준 YARA룰을 축약하거나 변형해도 동일한 탐지 결과를 얻을 수 있다는 데 그 장점이 있다. 따라서 패킷 기반으로 표준 YARA룰을 변형해도 표준 YARA룰과 동일한 탐지가 가능하다.The advantage is that the same detection result can be obtained even if the standard YARA rule is shortened or modified by updating the standard YARA rule as above. Therefore, even if the standard YARA rules are modified based on packets, the same detection as the standard YARA rules is possible.

이와 같이 업데이트된 YARA룰을 이용해서 본 발명의 바람직한 YARA 탐지엔진은 각각 헤더와 패이로드로 구성되는 N개(N은 1보다 큰 정수)의 패킷 각각에 대해 시그니쳐 메타데이터 탐지, 시그니쳐 스트링 탐지, 시그니쳐 조건 탐지를 실행한다. Using this updated YARA rule, the preferred YARA detection engine of the present invention is signature metadata detection, signature string detection, signature detection for each of N packets (N is an integer greater than 1) composed of a header and a payload, respectively. Condition detection is performed.

도 3은 이렇게 번역된 패킷기반 YARA룰 구조를 나타낸다. 3 shows the packet-based YARA rule structure translated in this way.

YR#1~YR#3(310)은 YARA룰 번호를 나타낸다. 각 YARA룰 내에는 스트링값(320)과 YARA룰 매치 조건(Condition, 330)이 포함된다.YR # 1 to YR # 3 310 denote YARA rule numbers. Each YARA rule includes a string value 320 and a YARA rule match condition (Condition 330).

이 패킷기반 YARA룰을 적용한 결과 패킷 데이터(Packet Payload)의 패킷들에는 각각 YARA룰과 매치된 YARA룰 ID 번호인 YR ID#1~2(340)이 표시된다.As a result of applying this packet-based YARA rule, packets of packet data (Packet Payload) are displayed with YR ID # 1 to 2 (340), which are the YARA rule ID numbers matched with the YARA rule.

본 발명의 패킷기반 YARA룰 탐지엔진(130)은 이처럼 고속의 전용 하드웨어에 의해 패킷 단위의 스트링 매치 검사를 수행한다. 패킷 단위로 각각의 YARA룰의 조건(330)에 부합하는 패킷은 차단함으로써 위협이 있는 파일의 유입을 원천적으로 차단하는 기능을 수행한다. 차단된 패킷은 전체 파일의 조합을 위해 애플리케이션 레이어로 전달된다. YARA룰에 탐지와 차단이 이루어지면 탐지로그(20)에 기록을 남긴다.The packet-based YARA rule detection engine 130 of the present invention performs a string match check on a packet-by-packet basis using high-speed dedicated hardware. By blocking packets that meet the conditions 330 of each YARA rule on a packet-by-packet basis, the function of blocking the inflow of threatening files is performed. Blocked packets are delivered to the application layer for the entire file combination. When detection and blocking are performed in the YARA rule, a record is recorded in the detection log 20.

도 4는 이상의 암호화 트래픽 가시성 제공을 통한 패킷 기반 위협 탐지 장치(10)에 의해 위협을 탐지하는 방법에 대한 흐름도이다.4 is a flowchart of a method for detecting a threat by the packet-based threat detection device 10 through providing the above-mentioned encryption traffic visibility.

우선 SSL, HTTPS 등으로 암호화된 트래픽 데이터를 인증서를 사용하여 복호화한다(S10). 암호화되지 않은 트래픽 데이터는 복호화 하지 않고 다음 단계로 전달된다.First, traffic data encrypted with SSL, HTTPS, etc. is decrypted using a certificate (S10). The unencrypted traffic data is passed to the next step without decryption.

복호화된 트래픽 데이터 혹은 암호화되지 않은 트래픽 데이터는 침입탐지룰을 적용(S20)하여 위협을 탐지한다(S30). 그런 다음, 위협이 탐지되면 패킷을 차단하고(S60) 로그를 기록하게 된다.The decrypted traffic data or unencrypted traffic data detects a threat by applying an intrusion detection rule (S20) (S30). Then, when a threat is detected, the packet is blocked (S60) and a log is recorded.

다음으로, 침입탐지룰을 적용하여 위협을 탐지하지 못한 경우에는, YARA룰을 적용(S40)하여 위협을 다시 한번 탐지한다(S50). YARA룰 적용을 위해 패킷기반의 YARA 스트링을 미리 정의하고, 패킷기반 YARA룰의 조건을 미리 정의한 다음 패킷기반 YARA룰 번역기를 이용하여 표준 YARA룰을 변형한다. 패킷기반 YARA룰로 변형하여 적용하는 프로세스에 대해서는 앞서 설명한 바와 같다. 위협이 탐지되면 패킷을 차단(S60)하고 로그를 기록한다.Next, if the threat is not detected by applying the intrusion detection rule, the threat is detected once again by applying the YARA rule (S40) (S50). To apply the YARA rule, the packet-based YARA string is pre-defined, the conditions of the packet-based YARA rule are predefined, and then the standard YARA rule is transformed using the packet-based YARA rule translator. The process of transforming and applying the packet-based YARA rule is as described above. When a threat is detected, the packet is blocked (S60) and a log is recorded.

도 5는 본 발명에 따른 암호화 트래픽 가시성 제공을 통한 패킷 기반 위협 탐지 장치(10)가 FPGA 보드에 구성된 경우의 전체 모듈의 구조도이다. HTTPS로 암호화된 트래픽 혹은 암호화되지 않은 트래픽 모두 위협 탐지가 가능하다.5 is a structural diagram of the entire module in the case where the packet-based threat detection apparatus 10 through providing encryption traffic visibility according to the present invention is configured in the FPGA board. Both HTTPS-encrypted and unencrypted traffic can be threat-detected.

암화화 트래픽 복호화 엔진(110)은 도시 예에서 SSL Traffic Handling Module에 대응한다. 또한, Network Attack Mediation Module 및 Active Session Management Module은 침입탐지 엔진(120)과 패킷 기반 YARA 탐지 엔진에 중첩적으로 대응된다.The encrypted traffic decoding engine 110 corresponds to the SSL Traffic Handling Module in the city example. In addition, the Network Attack Mediation Module and Active Session Management Module are superimposed on the intrusion detection engine 120 and the packet-based YARA detection engine.

이상과 같은 본 발명에 따르면 패킷단위로 YARA룰을 적용함으로써 실시간으로 암호화된 패킷의 가시성 제공을 통한 위협의 탐지가 가능하고, 전용의 FPGA 하드웨어 설계로 소프트웨어로 처리하는 것보다 훨씬 빠른 위협 탐지가 가능하므로 위협탐지 시간을 줄일 수 있는 효과가 있다.According to the present invention as described above, by applying the YARA rule on a packet-by-packet basis, it is possible to detect a threat through providing the visibility of an encrypted packet in real time, and it is possible to detect a threat much faster than processing it with software using a dedicated FPGA hardware design. This has the effect of reducing the time for threat detection.

한편, 도시되어 있지는 않지만, 본 발명의 패킷 기반 위협 탐지 장치는 하나 이상의 프로세서와 메모리를 포함할 수 있으며, 기능을 구현하고 성능을 향상시키기 위한 여러 하드웨어 및/또는 소프트웨어 모듈이 더해질 수 있다. 또한, 본 발명은 위에서 설명한 바와 같이, FPGA를 포함하는 하드웨어 모듈 기반으로 실행됨으로써 더 신속하고 더 정확한 악성 모듈 탐지가 가능해진다. On the other hand, although not shown, the packet-based threat detection device of the present invention may include one or more processors and memory, and various hardware and / or software modules for implementing functions and improving performance may be added. In addition, as described above, the present invention is executed based on a hardware module including an FPGA, thereby enabling faster and more accurate detection of malicious modules.

참고로, 본 발명의 일 실시예에 따른 암호화된 패킷의 가시성 제공을 통한 위협탐지방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독가능매체에 기록될 수 있다. 상기 컴퓨터 판독가능매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. For reference, a threat detection method through providing visibility of an encrypted packet according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in computer software.

컴퓨터 판독가능매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체, 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급언어코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs, DVDs, magnetic-optical media such as floptical disks, and ROM, RAM, Hardware devices specifically configured to store and execute program instructions, such as flash memory, may be included. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine codes such as those produced by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.

본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예의 기재와 표현에 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명이 보호범위가 제한될 수도 없음을 다시 한 번 첨언한다.The scope of protection of the present invention is not limited to the description and expression of the embodiments explicitly described above. In addition, it is pointed out once again that the scope of protection of the present invention may not be limited by obvious changes or substitutions in the technical field to which the present invention pertains.

Claims (3)

FPGA(Field Programmable Gate Array)와 메모리를 포함하는 하드웨어 모듈 기반으로 실행되는:
암호화된 네트워크 트래픽 데이터를 인증서를 이용하여 복호화하는 암호화 트래픽 복호화 엔진;
상기 복호화된 트래픽 데이터에 대하여 미리 정해진 침입탐지룰을 적용하여 위협을 탐지하여 차단하는 침입 탐지 엔진; 및
상기 침입 탐지 엔진에서 위협이 탐지되지 않은 트래픽 데이터에 대해, 상기 트래픽 데이터를 모두 조합하여 완전한 파일로 생성하는 것이 아니라, 패킷 기반으로 YARA룰을 적용하여 위협을 재탐지하는 패킷 기반 YARA 탐지 엔진;을 포함하는, 암호화 트래픽 가시성 제공을 통한 패킷 기반 위협 탐지 장치.
It runs on the basis of a hardware module that includes a Field Programmable Gate Array (FPGA) and memory:
An encryption traffic decryption engine that decrypts the encrypted network traffic data using a certificate;
An intrusion detection engine that detects and blocks a threat by applying a predetermined intrusion detection rule to the decrypted traffic data; And
A packet-based YARA detection engine that re-detects a threat by applying YARA rules based on a packet, rather than combining all of the traffic data and generating a complete file for traffic data in which the threat is not detected by the intrusion detection engine; A packet-based threat detection device through providing encryption traffic visibility.
제1항에 있어서,
상기 패킷 기반 YARA 탐지 엔진은:
패킷 기반으로 YARA 스트링을 정의하는 스트링 정의부;
패킷 기반 YARA 룰의 조건을 정의하는 조건 정의부; 및
표준 YARA룰을 패킷 기반 YARA 룰 구조로 변경하는 YARA룰 번역기;를 포함하는 것을 특징으로 하는, 암호화 트래픽 가시성 제공을 통한 패킷 기반 위협 탐지 장치.
According to claim 1,
The packet-based YARA detection engine:
A string definition unit defining a YARA string based on a packet;
A condition definition unit defining a condition of a packet-based YARA rule; And
A YARA rule translator that converts a standard YARA rule into a packet-based YARA rule structure; a packet-based threat detection device through providing encryption traffic visibility.
제1항에 있어서,
상기 암호화 트래픽 복호화 엔진, 침입탐지 엔진 또는 패킷 기반 YARA 탐지 엔진은 FPGA의 하드와이어드(Hardwired) 로직에 의해 하드웨어를 통해 실행되는 것을 특징으로 하는, 암호화 트래픽 가시성 제공을 통한 패킷 기반 위협 탐지 장치.
According to claim 1,
The encryption traffic decryption engine, intrusion detection engine or packet-based YARA detection engine is characterized in that it is executed through hardware by a hardwired (Hardwired) logic of the FPGA, packet-based threat detection device through the provision of encryption traffic visibility.
KR1020190106481A 2018-10-05 2019-08-29 Method for real-time encryption packet separation and identification in high speed traffic and interworking with yara detection on identified packet, and apparatus thereof KR102152313B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180119226 2018-10-05
KR20180119226 2018-10-05

Publications (2)

Publication Number Publication Date
KR20200039550A true KR20200039550A (en) 2020-04-16
KR102152313B1 KR102152313B1 (en) 2020-09-04

Family

ID=70454578

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020190106483A KR102239762B1 (en) 2018-10-05 2019-08-29 The packet-based threats detection method of providing encrypt traffic visiblity
KR1020190106476A KR102152309B1 (en) 2018-10-05 2019-08-29 The packet-based threats detection method of providing encrypt traffic visiblity with yara detection
KR1020190106481A KR102152313B1 (en) 2018-10-05 2019-08-29 Method for real-time encryption packet separation and identification in high speed traffic and interworking with yara detection on identified packet, and apparatus thereof

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020190106483A KR102239762B1 (en) 2018-10-05 2019-08-29 The packet-based threats detection method of providing encrypt traffic visiblity
KR1020190106476A KR102152309B1 (en) 2018-10-05 2019-08-29 The packet-based threats detection method of providing encrypt traffic visiblity with yara detection

Country Status (1)

Country Link
KR (3) KR102239762B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070119382A (en) * 2006-06-15 2007-12-20 엘지엔시스(주) Intrusion prevention system and controlling method
KR101816045B1 (en) * 2016-11-29 2018-01-08 주식회사 엔에스에이치씨 Malware detecting system with malware rule set

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070119382A (en) * 2006-06-15 2007-12-20 엘지엔시스(주) Intrusion prevention system and controlling method
KR101816045B1 (en) * 2016-11-29 2018-01-08 주식회사 엔에스에이치씨 Malware detecting system with malware rule set

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Shreyas G Singapura 외 4인 ‘FPGA Based Accelerator for Pattern Matching in YARA Framework’, Computer Engineering Technical Report Number CENG-2015-05 (2015.09.)* *

Also Published As

Publication number Publication date
KR20200039549A (en) 2020-04-16
KR102239762B1 (en) 2021-04-13
KR20200039551A (en) 2020-04-16
KR102152313B1 (en) 2020-09-04
KR102152309B1 (en) 2020-09-04

Similar Documents

Publication Publication Date Title
US10069809B2 (en) System and method for secure transmission of web pages using encryption of their content
US10469251B2 (en) System and method for preemptive self-healing security
Jakimoski Security techniques for data protection in cloud computing
EP3210114B1 (en) Data computation in a multi-domain cloud environment
CN107666383B (en) Message processing method and device based on HTTPS (hypertext transfer protocol secure protocol)
US20150082424A1 (en) Active Web Content Whitelisting
Craciun et al. Trends in design of ransomware viruses
Gugelmann et al. Can content-based data loss prevention solutions prevent data leakage in Web traffic?
Kaur et al. Threat and vulnerability analysis of cloud platform: a user perspective
Goyal et al. Security issues in cloud computing
Kloibhofer et al. LoRaWAN with HSM as a security improvement for agriculture applications
Sampaio et al. Evaluation of firewall open source software
Bouziani et al. A comparative study of open source idss according to their ability to detect attacks
Yaacoubi The rise of encrypted malware
KR102152313B1 (en) Method for real-time encryption packet separation and identification in high speed traffic and interworking with yara detection on identified packet, and apparatus thereof
Kaushik et al. a novel approach for an automated advanced MITM attack on IoT networks
Muttoo et al. Analysing security checkpoints for an integrated utility-based information system
KR102116902B1 (en) Method for verifying integrity of cookies in https
RU2614928C1 (en) System and method for encryption during webpage transmitting to the user application
Ussath et al. Insights into Encrypted Network Connections: Analyzing Remote Desktop Protocol Traffic
Malik A study on different software used to perform cyber crime
Mohamed et al. Introduction to Cyber Security
Sivabalan et al. Securing Sensitive Web Based Student Academic Performance System with Base64 Encoding and Systematic Mirroring
Hossain et al. A Study on Threatened Risks for Cloud Computing Security-How to Overcome These Risks
Wen et al. A General Framework for Matching Pattern Hiding in Deep Packet Inspection

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant