KR101141183B1 - System and method for distributed processing and fast filtering of security log and event using gpu - Google Patents

System and method for distributed processing and fast filtering of security log and event using gpu Download PDF

Info

Publication number
KR101141183B1
KR101141183B1 KR1020110142589A KR20110142589A KR101141183B1 KR 101141183 B1 KR101141183 B1 KR 101141183B1 KR 1020110142589 A KR1020110142589 A KR 1020110142589A KR 20110142589 A KR20110142589 A KR 20110142589A KR 101141183 B1 KR101141183 B1 KR 101141183B1
Authority
KR
South Korea
Prior art keywords
security log
event information
gpu
classification policy
security
Prior art date
Application number
KR1020110142589A
Other languages
Korean (ko)
Inventor
방세중
김기홍
강승원
Original Assignee
케이씨씨시큐리티주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 케이씨씨시큐리티주식회사 filed Critical 케이씨씨시큐리티주식회사
Priority to KR1020110142589A priority Critical patent/KR101141183B1/en
Application granted granted Critical
Publication of KR101141183B1 publication Critical patent/KR101141183B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE: A distributed processing/high speed filtering system and a method thereof are provided to perform high speed filtering and analysis about a security log/event based on low cost hardware by supporting a task of a CPU. CONSTITUTION: An information collecting unit(10) collects security log and event information. A memory unit(30) uploads the security log/event information. A processing unit(40) compares the security log/event information of the memory unit with a classifying policy of classification policy database. The processing unit includes a CPU(41) and a GPU(42) and compares the security log/event information with a classification policy. The GPU arranges a grouped classification policy group to an internal SP(streaming processor).

Description

GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템 및 방법{SYSTEM AND METHOD FOR DISTRIBUTED PROCESSING AND FAST FILTERING OF SECURITY LOG AND EVENT USING GPU}SYSTEM AND METHOD FOR DISTRIBUTED PROCESSING AND FAST FILTERING OF SECURITY LOG AND EVENT USING GPU

본 발명은 GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템 및 방법에 관한 것으로, 보다 상세하게는 GPU를 이용해 보안 로그 및 이벤트의 실시간 필터링을 수행하여 CPU의 작업을 지원하도록 함으로써 저가의 하드웨어를 이용하여 대규모 용량의 보안 로그 및 이벤트에 대한 고속 필터링 및 분석이 가능하게 되는 GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템 및 방법에 관한 것이다.
The present invention relates to a system and method for distributed processing and high-speed filtering of security logs and events using a GPU. More particularly, the present invention relates to low-cost hardware by performing real-time filtering of security logs and events using a GPU to support CPU operations. The present invention relates to a distributed processing and fast filtering system and method for security logs and events using a GPU that enables high-speed filtering and analysis of a large-capacity security log and events.

사회가 발전하고 기업 간의 경쟁이 심화됨에 따라 내부 기밀자료에 대한 보안의 중요성에 대한 인식 역시 급격히 증가하고 있으며, 따라서 온,오프라인에서의 보안을 관장하는 통합보안관리시스템(ESM : Enterprise Security Management)의 중요성 및 그 규모 역시 커지고 있고 그에 따라 통합보안관리시스템상에서 이루어지는 데이터의 전송량 역시 급격하게 증대되고 있는 실정이다.As society develops and competition among companies intensifies, awareness of the importance of security for internal confidential data is also increasing rapidly. Therefore, the Enterprise Security Management (ESM), which manages security on and offline The importance and size are also increasing, and accordingly, the amount of data transmission on the integrated security management system is also rapidly increasing.

기존 통합보안관리시스템은 보안 로그 또는 이벤트를 수집하고 복합적인 보안정책에 위반된 사건을 탐지 및 조회하기 위해 정형화시킨 보안 로그와 이벤트를 관계형 DB에 넣고 색인화 작업을 실시하여 복합적인 조회(쿼리)를 하게 된다. The existing integrated security management system collects security logs or events and inserts the formalized security logs and events into a relational DB to index and detect events that violate the complex security policy. Done.

또한 이 통합보안관리시스템과 유사한 보안정보 및 이벤트 관리 시스템(SIEM : Security Information and Event Management)은 보안 로그와 이벤트를 파일 DB에 입력하고 이를 기반으로 정보를 즉시 조회할 수 있지만 통계적 상황 또는 복합적인 조건을 조회하려면 이 데이터를 다시 관계형 DB로 옮겨 작업을 수행하고 있는 상황이다. In addition, the Security Information and Event Management System (SIEM), similar to this Integrated Security Management System, can enter security logs and events into a file DB and immediately retrieve information based on them. In order to query the data, the data is being moved back to the relational DB.

따라서 상호연관관계 분석 및 복잡한 조건의 필터링을 하기 위해서는 DB에 입력, 색인화 또는 선택(조회)에 필요한 시간만큼 작업 수행에 지연이 발생하게 된다. Therefore, in order to perform correlation analysis and filtering of complex conditions, there is a delay in performing a task by the time required for input, indexing, or selecting (lookup) into the DB.

이러한 기존 관계형 DB를 이용한 구조는 데이터의 건수가 많거나 데이터의 크기가 크면 처리시간이 급격히 증가하며, 대규모의 데이터(로그/이벤트 등)에 대한 수집과 실시간 조회 및 분석이 필요한 보안정책 위반사건(DDoS 공격 등)에 대해 적합하지 않은 구조이다. In the structure using the existing relational DB, the processing time increases rapidly when the number of data is large or the size of data is large, and the violation of security policy that requires the collection of large-scale data (log / event, etc.) and real-time inquiry and analysis ( This structure is not suitable for DDoS attack.

따라서 대규모 데이터(보안로그/이벤트)에 대한 실시간 분석을 위해 기존 시스템의 구조적인 문제를 최소화할 필요가 있으며, 특히 매번 막대한 비용을 발생시키는 고비용의 시스템 업데이트를 굳이 하지 않고서도 증가하는 데이터량을 고속으로 처리할 수 있는 고효율의 시스템의 구축이 요구되는 실정이다.
Therefore, it is necessary to minimize the structural problems of the existing system for real-time analysis of large data (security log / event), and in particular, to increase the amount of data without increasing the cost of expensive system updates each time. There is a need for the construction of a highly efficient system that can be processed.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 그 목적은 GPU를 이용해 보안 로그 및 이벤트의 실시간 필터링을 수행하여 CPU의 작업을 지원하도록 함으로써 저가의 하드웨어를 이용하여 대규모 용량의 보안 로그 및 이벤트에 대한 고속 필터링 및 분석이 가능하게 되는 GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템 및 방법을 제공하는 것이다. The present invention has been made to solve the above problems, the object of which is to perform a real-time filtering of security logs and events using a GPU to support the operation of the CPU by using a low-cost hardware security log and The present invention provides a system and method for distributed processing and fast filtering of security logs and events using a GPU that enables high-speed filtering and analysis of events.

특히, GPU를 이용한 보안 로그 및 이벤트의 수집과 상호연관관계 병렬조회 가속기술을 제공하는 것을 목적으로 한다. In particular, an object of the present invention is to provide a parallel lookup acceleration technology for collecting and collecting security logs and events using a GPU.

또한, 보안 로그 및 이벤트에 대한 필터링 룰의 병렬처리 기술을 제공하는 것을 목적으로 한다.
It is also an object of the present invention to provide a parallel processing technique of filtering rules for security logs and events.

본 발명의 일측면에 따르면, 보안 로그 및 이벤트 정보를 수집하는 정보 수집부; 수집된 보안 로그 및 이벤트 정보가 업로드되는 메모리부; 및 상기 메모리부의 보안 로그 및 이벤트 정보를 분류정책 DB의 분류정책과 비교하여 필터링하는 처리부; 를 포함하며, 상기 처리부는, 보안 로그 및 이벤트 정보와 분류정책을 직접 비교하여 필터링하는 CPU; 및 그룹핑된 분류정책 그룹을 내부 SP에 분산배치해 개별 보안 로그 및 이벤트 정보가 각 분류정책 그룹과 병렬적으로 비교되도록 하는 GPU; 를 포함해 수집되는 보안 로그 및 이벤트 정보가 CPU와 GPU에서 동시에 필터링되게 하는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템을 제공한다. According to an aspect of the invention, the information collecting unit for collecting the security log and event information; A memory unit to which the collected security log and event information are uploaded; And a processing unit for filtering the security log and event information of the memory unit by comparing with a classification policy of a classification policy DB. The processor may include: a CPU configured to directly compare and filter the security log and event information with a classification policy; And a GPU that distributes the grouped classification policy groups to the internal SP so that individual security logs and event information are compared in parallel with each classification policy group. It provides a distributed processing and high-speed filtering system of the security log and events, characterized in that the collected security log and event information, including at the same time is filtered at the CPU and GPU.

바람직하게는, 상기 CPU에서는 보안 로그 및 이벤트 정보의 집합에 대하여 분류정책 DB의 분류정책과 비교하여 일치하는지 여부에 대하여 비교를 진행하며, 해당 비교 과정이 분류정책 DB의 모든 분류정책에 대하여 반복 수행되게 되는 것을 특징으로 한다. Preferably, the CPU compares the set of security log and event information with the classification policy of the classification policy DB and compares the classification policy with respect to the classification policy DB. The comparison process is repeated for all classification policies of the classification policy DB. Characterized in that it becomes.

바람직하게는, 상기 메모리부에서 저장관리되는 보안 로그 및 이벤트 정보는 GPU에서의 필터링 작업을 위해 병렬처리 자료형으로 변환되는 것을 특징으로 한다. Preferably, the security log and event information stored and managed in the memory unit is converted to a parallel processing data type for filtering on the GPU.

바람직하게는, 상기 병렬처리 자료형으로의 변환을 위해 보안 로그 및 이벤트 정보를 이진값으로 변환하는 것을 특징으로 한다. Preferably, the security log and event information is converted into a binary value for conversion to the parallel processing data type.

바람직하게는, 상기 분류정책 DB에서 저장관리되는 보안 로그 및 이벤트 정보는 GPU에서의 필터링 작업을 위해 이진값으로 변환되는 것을 특징으로 한다. Preferably, the security log and event information stored and managed in the classification policy DB is converted into a binary value for filtering on the GPU.

바람직하게는, 상기 GPU에서 보안 로그 및 이벤트 정보와 분류정책의 비교는 비트 단위의 비트 연산인 것을 특징으로 한다. Preferably, the comparison of the security log and event information and the classification policy in the GPU is characterized in that the bit operation of the bit unit.

한편 본 발명의 다른 측면에 따르면, (a) 보안 로그 및 이벤트 정보를 수집하는 단계; (b) 수집된 보안 로그 및 이벤트 정보를 메모리부에 업로드하는 단계; (c) CPU에서 상기 메모리부의 보안 로그 및 이벤트 정보를 분류정책 DB의 분류정책과 직접 비교하여 필터링하는 단계; (d) GPU에서 그룹핑된 분류정책 그룹을 내부 SP에 분산배치해 개별 보안 로그 및 이벤트 정보가 각 분류정책 그룹과 병렬적으로 비교되도록 하여 필터링하는 단계; 를 포함하며, 상기 (c) 단계와 (d) 단계가 각각 CPU와 GPU에서 동시에 이루어지는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 방법을 제공한다. Meanwhile, according to another aspect of the present invention, the method includes: (a) collecting security log and event information; (b) uploading the collected security log and event information to the memory unit; (c) filtering and comparing the security log and event information of the memory unit with a classification policy of a classification policy DB in the CPU; (d) distributing the classification policy groups grouped by the GPU to the internal SPs so that individual security log and event information can be compared in parallel with each classification policy group and filtered; And (c) and (d) are simultaneously performed on the CPU and the GPU, respectively.

바람직하게는, 상기 (c) 단계는, CPU에서 보안 로그 및 이벤트 정보의 집합에 대하여 분류정책 DB의 분류정책과 비교하여 일치하는지 여부에 대하여 비교를 진행하며, 해당 비교 과정이 분류정책 DB의 모든 분류정책에 대하여 반복 수행되게 되는 것을 특징으로 한다. Preferably, in the step (c), the CPU compares the security log and the event information set with the classification policy of the classification policy DB, and compares all of the classification policy DB with each other. It is characterized in that it is repeatedly performed for the classification policy.

바람직하게는, 상기 (d) 단계는, (d-1) GPU의 SP 개수에 따라 분류정책을 나누어 그룹핑하고, 각각의 SP에 대하여 상기 분류정책 그룹을 분산 배치하는 단계; (d-2) 상기 메모리부에 있는 보안 로그 및 이벤트 정보를 병렬처리 자료형으로 변환시키는 단계; (d-3) 병렬처리 자료형으로 변환된 보안 로그 및 이벤트 정보를 GPU의 모든 SP에 배치시키고, 각 SP들이 분류정책과 보안 로그 및 이벤트 정보를 비교하여 필터링을 수행하는 단계; 를 포함하는 것을 특징으로 한다. Preferably, the step (d) comprises: (d-1) dividing and classifying classification policies according to the number of SPs of the GPU and distributing the classification policy groups for each SP; (d-2) converting security log and event information in the memory unit into a parallel processing data type; (d-3) disposing security log and event information converted to parallel processing data types in all SPs of the GPU, and performing filtering by comparing each classification policy with security log and event information; Characterized in that it comprises a.

바람직하게는, 상기 (d-2) 단계에서, 상기 병렬처리 자료형으로의 변환을 위해 보안 로그 및 이벤트 정보를 이진값으로 변환하는 것을 특징으로 한다. Preferably, in step (d-2), the security log and event information is converted into a binary value for conversion to the parallel processing data type.

바람직하게는, 상기 분류정책 DB에서 저장관리되는 보안 로그 및 이벤트 정보는 GPU에서의 필터링 작업을 위해 이진값으로 변환되는 것을 특징으로 한다. Preferably, the security log and event information stored and managed in the classification policy DB is converted into a binary value for filtering on the GPU.

바람직하게는, 상기 GPU에서 보안 로그 및 이벤트 정보와 분류정책의 비교는 비트 단위의 비트 연산인 것을 특징으로 한다.
Preferably, the comparison of the security log and event information and the classification policy in the GPU is characterized in that the bit operation of the bit unit.

본 발명에 따르면, GPU를 이용해 보안 로그 및 이벤트의 실시간 필터링을 수행하여 CPU의 작업을 지원하도록 함으로써 저가의 하드웨어를 이용하여 대규모 용량의 보안 로그 및 이벤트에 대한 고속 필터링 및 분석이 가능하게 되는 효과가 있다. According to the present invention, by performing the real-time filtering of the security log and events using the GPU to support the operation of the CPU, it is possible to enable high-speed filtering and analysis of the large-capacity security log and events using low-cost hardware have.

특히, GPU를 이용한 보안 로그 및 이벤트의 수집과 상호연관관계 병렬조회 가속기술을 제공하고, 보안 로그 및 이벤트에 대한 필터링 룰의 병렬처리 기술을 제공함으로써 지연 없는 대용량 보안 로그 및 이벤트의 수집이 가능하고, DDoS 공격 시 발생되는 다량의 보안 로그 및 이벤트를 누수 없이 처리할 수 있게 된다. In particular, by providing a parallel log acceleration technology for the collection and correlation of security logs and events using the GPU, and parallel processing of filtering rules for the security log and events, it is possible to collect large amounts of security logs and events without delay. As a result, a large number of security logs and events generated during DDoS attacks can be handled without leakage.

또한 고성능, 고가의 수집 서버를 다수의 저사양 피시(GPU 장착)급으로 대체할 수 있어 비용 대비 고효율의 처리능률 향상을 가져올 수 있게 된다.
In addition, high-performance, expensive collection server can be replaced by a number of low-end fish (GPU equipped) class, resulting in a high-efficiency processing efficiency.

도 1은 GPU의 내부 SM 구조를 설명하기 위한 도면.
도 2는 GPU의 내부구조를 설명하기 위한 도면.
도 3은 본 발명에 따른 GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템을 설명하기 위한 블럭도.
도 4는 본 발명에 따른 GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 방법을 설명하기 위한 흐름도.
도 5는 본 발명에 따른 CPU의 필터링 방식을 설명하기 위한 도면.
도 6은 본 발명에 따른 CPU의 필터링 방식 알고리즘의 일예를 설명하기 위한 도면.
도 7은 본 발명에 따른 GPU의 필터링 방식을 설명하기 위한 도면.
1 is a diagram for explaining an internal SM structure of a GPU.
2 is a view for explaining the internal structure of the GPU.
3 is a block diagram illustrating a distributed processing and fast filtering system for security logs and events using a GPU according to the present invention.
4 is a flowchart illustrating a distributed processing and fast filtering method of a security log and an event using a GPU according to the present invention.
5 is a diagram illustrating a filtering method of a CPU according to the present invention;
6 is a view for explaining an example of a CPU filtering algorithm according to the present invention.
7 is a view for explaining a filtering method of a GPU according to the present invention;

이하 본 발명에 따른 GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템 및 방법에 대한 실시 예를 첨부한 도면을 참고하여 더 상세히 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, an embodiment of a distributed processing and fast filtering system and method for security logs and events using a GPU according to the present invention will be described in detail with reference to the accompanying drawings.

최근 마이크로프로세스 연구방향은 여러 개의 코어를 하나의 CPU에 집적시키는 멀티-코어 프로세서라고 할 수 있다. 그런데 이러한 동향에 대하여 이미 그래픽 프로세서 유닛(GPU)은 2004년 NVIDIA사의 경우 128개의 코어를 집적시켰고 2007년 이러한 병렬처리 코어의 활용을 위한 CUDA 라이브러리를 발표 후, GPU를 병렬 프로세서로 간주할 수 있는 범용 프로그래밍 환경을 제공하는 개발까지 진행 중이다. 정수 연산, 비트 연산 등 대부분의 연산 뿐 아니라 삼각함수 등과 같은 초월함수 처리 기능을 제공하고 있다. 그래픽을 처리하지 않는 동안, 유효 자원인 GPU의 컴퓨팅 파워를 범용 계산에 활용하는 연구인 GPGPU(General Purpose computations on GPU)가 수학 및 과학 분야에서 급속히 확산되고 있다. 특히 GPU의 구조적 특징인 작은 프로세서의 병렬 배치를 이용한 병렬 연산에서 탁월한 성능을 보인다. 즉 트랜지스터들이 데이터 캐시나 흐름제어(flow control) 보다는 데이터 프로세싱을 우선하기에 행렬 연산, 데이터 정렬 등의 기본 연산 뿐만 아니라 다체 문제(N-body problem), 바이오 정보처리(Bioinformatics) 등의 응용에서도 CPU 보다 효과적임이 입증되고 있다. Recent research on microprocesses is a multi-core processor that integrates multiple cores onto a single CPU. However, in response to this trend, the graphics processor unit (GPU) has already integrated 128 cores for NVIDIA in 2004, and after publishing the CUDA library for utilizing these parallel processing cores in 2007, the general purpose that GPUs can be regarded as parallel processors Development is underway to provide a programming environment. In addition to most operations such as integer and bitwise operations, it provides transcendental functions such as trigonometric functions. While graphics are not being processed, the general purpose computations on GPU (GPGPU), a study that utilizes the computing power of an effective resource GPU for general purpose computation, is rapidly spreading in mathematics and science. In particular, it shows excellent performance in parallel operation using parallel arrangement of small processors, which is a structural feature of GPU. That is, since transistors prioritize data processing over data cache or flow control, not only basic operations such as matrix operation and data alignment, but also applications such as N-body problem and bioinformatics It is proven to be more effective.

GPU를 병렬 컴퓨팅에 이용하기 위해서 CPU에서 사용하던 프로그래밍 코드를 GPU에서 실행하는 기술이 필요한데 이를 가능하게 하는 것이 CUDA(Compute Unified Device Architecture)이다. CUDA는 GPU에서 C 프로그래밍 언어를 사용하여 알고리즘을 코딩하는 기술 중 한가지이다. CUDA는 NVIDIA 사가 2007년 발표한 범용 GPU 프로그래밍 라이브러리이다. 리눅스, 윈도우, Mac 환경에서 기존 C 컴파일러와 연동되는 방식으로 GeForce 8 시리즈 이상에서 동작된다. In order to use the GPU for parallel computing, a technology that executes programming code used on the CPU on the GPU is required. The Compute Unified Device Architecture (CUDA) enables this. CUDA is one of the technologies for coding algorithms using the C programming language on the GPU. CUDA is a general purpose GPU programming library released by NVIDIA in 2007. It works on GeForce 8 series and above by interworking with existing C compiler in Linux, Windows, and Mac environment.

이제 도 1 및 도 2를 참조하여 GPU의 구조에 대하여 살펴본다. Now, the structure of the GPU will be described with reference to FIGS. 1 and 2.

도 1은 GPU의 내부 SM 구조를 설명하기 위한 도면이고, 도 2는 GPU의 내부구조를 설명하기 위한 도면이다. 1 is a view for explaining the internal SM structure of the GPU, Figure 2 is a view for explaining the internal structure of the GPU.

GPU는 100 여개 이상의 스레드가 동시에 돌아가는 구조로 SP(Streaming Processor)라 불리는 아주 간단한 구조의 프로세서로 출발한다. 이 SP는 레지스터와 계산 유닛이 파이프라인으로 연결된 간단한 CPU이며, 여기에 SFU(Special Function Unit)를 묶어서 SM(Streaming Processor)을 하나의 빌딩블럭으로 구성한다. 여기에는 캐쉬 및 공유 메모리가 포함된다. The GPU starts off with a very simple processor called a streaming processor (SP), with more than 100 threads running simultaneously. The SP is a simple CPU with registers and computational units connected in a pipeline, and a special function unit (SFU) is bundled to form a streaming processor (SM) as a building block. This includes cache and shared memory.

그리고 이러한 SM을 묶어서 TPC(Texture Processor Cluster)를 만든다. 일예로 비디오카드 G8800 시리즈는 이러한 SM이 두 개가 포함되며, 비디오 카드 GT 200은 이러한 SM이 세 개가 포함된다. 또한 NVIDIA 사의 최신 GT 280은 GT 200의 TPC 10 개를 모아 총 240개의 스트리밍 프로세서(SM)을 가지고 있다(도 2 참조). 마지막으로 이렇게 구성된 TPC군과 메모리(DRAM)와 PCIe 인터페이스를 연결하면 GPU가 완성된다. The SMs are then bundled together to form a Texture Processor Cluster (TPC). For example, the video card G8800 series includes two such SMs, and the video card GT 200 includes three such SMs. In addition, NVIDIA's latest GT 280 gathers 10 TPCs of GT 200 and has a total of 240 streaming processors (SM) (see Figure 2). Finally, the TPC family, the memory (DRAM), and the PCIe interface are connected to complete the GPU.

본 발명에서는 이러한 GPU를 이용해 보안 로그 및 이벤트의 필터링을 CPU와 함께 수행하도록 함으로써 저가의 하드웨어를 이용하여 대규모 용량의 보안 로그 및 이벤트에 대한 고속 필터링 및 분석이 가능하게 하는 특징을 갖는다. In the present invention, by using the GPU to perform the filtering of the security log and events with the CPU has a feature that enables high-speed filtering and analysis of large-capacity security log and events using low-cost hardware.

이제 도 3을 참조하여 본 발명에 따른 GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템에 대하여 설명한다. A description will now be given of a distributed processing and fast filtering system for security logs and events using the GPU according to the present invention.

본 발명에 따른 GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템은 라우터 시스템, 방화벽 시스템 및 컴퓨터 시스템 등이 인터넷과 같은 소정의 통신망을 통해 서로 연결되는 네트워크 환경에서 보안 로그 및 이벤트를 수집하여 필터링하는 것으로, 정보 수집부(10), 파일 DB(20), 메모리부(30), 처리부(40), 분류정책 DB(50), 통계용 DB(60) 및 전송부(70)를 포함하여 구성된다. In the distributed processing and high-speed filtering system of security logs and events using the GPU according to the present invention, a router system, a firewall system, a computer system, and the like collect security logs and events in a network environment connected to each other through a predetermined communication network such as the Internet. By filtering, including information collecting unit 10, file DB 20, memory unit 30, processing unit 40, classification policy DB 50, statistical DB 60 and transmission unit 70 It is composed.

상기 정보 수집부(10)는 해당 네트워크 및 시스템에서 발생한 보안 로그 및 이벤트 정보를 수집하며, 상기 파일 DB(20)는 상기 정보 수집부(10)를 통해 수집된 보안 로그 및 이벤트 정보가 저장관리된다. The information collecting unit 10 collects security log and event information generated in the corresponding network and system, and the file DB 20 stores and manages the security log and event information collected through the information collecting unit 10. .

상기 보안 로그 및 이벤트 정보에는 해당 컴퓨터 시스템을 통해 이루어지는 모든 작업들에 대한 기록으로, 상기 컴퓨터 시스템에 사용자나 외부 시스템이 접속하면, 접속 및 접속 후의 모든 작업들은 상기 서버의 미리 정해놓은 위치에 로그파일 형태로 남는다. 즉, 상기 보안 로그 및 이벤트 정보에는 상기 컴퓨터 시스템이 수행한 작업들에 대한 정보가 포함된다. 이들은 단순히 특정 작업 요청과 성공 여부에 대한 것뿐만 아니라, 해당 특정 작업을 실패했을 경우 그 해결책에 대한 정보도 포함된다.The security log and event information are records of all operations performed through the corresponding computer system. When a user or an external system accesses the computer system, all operations after access and connection are logged in a predetermined location of the server. Remains in form. That is, the security log and event information include information about the tasks performed by the computer system. These include not only a specific task request and success, but also information about the solution if that specific task fails.

이렇게 저장되는 보안 로그 및 이벤트 정보는 일정한 조회시간 동안 상기 파일 DB(20)에 축적되며, 누적된 보안 로그 및 이벤트 정보를 조회하여 조회된 보안 로그 및 이벤트 정보는 상기 메모리부(30)로 업로드된다. The security log and event information stored in this way are accumulated in the file DB 20 for a predetermined inquiry time, and the security log and event information inquired by querying the accumulated security log and event information are uploaded to the memory unit 30. .

여기에서 상기 파일 DB(20)에 누적된 보안 로그 및 이벤트 정보에 대한 조회는 불필요한 데이터를 미리 제거시키고 분석의 오탐 확률을 줄이기 위한 것으로 저장되는 보안 로그 및 이벤트 정보에 대한 정규화(Nomalization)와 축약(Aggregation), 중복된 데이터의 처리, 유효하지 않은 데이터의 처리 등의 과정을 포함할 수 있다. In this case, the inquiry about the security log and event information accumulated in the file DB 20 is to remove unnecessary data in advance and to reduce the probability of false positives in the analysis, and to normalize and abbreviate the stored security log and event information ( Aggregation), processing of duplicated data, and processing of invalid data may be included.

그리고 상기 메모리부(30)는 상기 파일 DB(20)로부터 조회된 보안 로그 및 이벤트 정보를 저장관리하며, 상기 제어부(50)의 처리에 따라 저장된 보안 로그 및 이벤트 정보를 제어부(50)의 CPU(41)와 GPU(42)로 전달하여 해당 제어부(50)의 CPU(41)와 GPU(42)를 통한 필터링이 이루어질 수 있게 지원한다. The memory unit 30 stores and manages the security log and event information queried from the file DB 20, and stores the stored security log and event information according to the processing of the controller 50. 41 to the GPU 42 to support filtering through the CPU 41 and the GPU 42 of the control unit 50.

이때, 상기 메모리부(30)에서 저장관리되는 보안 로그 및 이벤트 정보는 GPU(42)에서의 필터링 작업을 위해 병렬처리 자료형으로 변환되게 된다. 상술한 바와 같이 GPU(42)는 많은 수의 SP(Streaming Processor)로 구성되는 프로세서로서 병렬로 동작되는 각각의 SP에서 상기 메모리부(30)로부터 업로드되는 대규모의 보안 로그 및 이벤트 정보를 병렬처리할 수 있도록 해당 보안 로그 및 이벤트 정보는 병렬처리 자료형으로 변환되는 전처리작업이 필요하다. At this time, the security log and event information stored and managed in the memory unit 30 is converted into a parallel processing data type for filtering in the GPU 42. As described above, the GPU 42 is a processor composed of a large number of Streaming Processors (SPs) and performs parallel processing of massive security log and event information uploaded from the memory unit 30 at each SP operated in parallel. The security log and event information needs to be preprocessed to convert to parallel data type.

따라서 상기 메모리부(30)에는 상기 CPU(41)에서 필터링 처리할 수 있는 원본 형식의 보안 로그 및 이벤트 정보가 관리되며, 동시에 이러한 원본 형식의 보안 로그 및 이벤트 정보를 변환시켜 상기 GPU(42)에서 필터링 처리할 수 있게 만든 병렬처리 자료형의 보안 로그 및 이벤트 정보가 관리되는 것이다. Therefore, the memory unit 30 manages the security log and event information of the original format that can be filtered by the CPU 41, and at the same time converts the security log and event information of the original format in the GPU 42 The security log and event information of the parallel processing data types that can be filtered are managed.

한편, 상기 처리부(40)는 CPU(42)와 GPU(42)를 포함하며, 상기 메모리부(30)로부터 전달되는 원본 형식의 보안 로그 및 이벤트 정보를 CPU(42)에 배분하고, 상기 메모리부(30)로부터 전달되는 병렬처리 자료형의 보안 로그 및 이벤트 정보를 GPU(42)에 배분하여, 각각의 처리 유닛에서 보안 로그 및 이벤트 정보에 대한 필터링(분류)을 수행하도록 한다. On the other hand, the processing unit 40 includes a CPU 42 and GPU 42, and distributes the security log and event information of the original format transmitted from the memory unit 30 to the CPU 42, the memory unit The security log and event information of the parallel processing data type delivered from 30 are distributed to the GPU 42, so that each processing unit performs filtering (classification) on the security log and event information.

이러한 처리부(40)의 보안 로그 및 이벤트 정보에 대한 필터링(분류)을 위해 상기 분류정책 DB(50)에는 보안 로그 및 이벤트 정보의 분류를 위한 보안 정책이 저장관리된다. In order to filter (classify) the security log and event information of the processing unit 40, the security policy for classification of the security log and event information is stored and managed in the classification policy DB 50.

그리고 상기 처리부(40)에서 필터링 작업을 통해 탐지된 보안 로그 및 이벤트 정보는 통계 보고를 위해 통계용 DB(60)에 업로드될 수 있다. 또한 전송부(70)를 통해 탐지된 보안 로그 및 이벤트 정보가 모니터로 실시간 출력되어 관리자에게 통보되거나 네트워크 인터페이스를 통해 별도의 보안관제 운영관리 시스템(SOC)에 실시간으로 보고될 수 있다. In addition, the security log and event information detected through the filtering operation in the processing unit 40 may be uploaded to the statistics DB 60 for statistical reporting. In addition, the security log and event information detected through the transmission unit 70 may be output to the monitor in real time to be notified to the administrator or may be reported in real time to a separate security control operation management system (SOC) through a network interface.

이제 상술한 처리부(40)의 보안 로그 및 이벤트 정보에 대한 필터링(분류) 작업에 대하여 도 5 내지 도 7을 참조하여 상세히 설명한다. The filtering (classification) operation of the security log and event information of the above-described processing unit 40 will now be described in detail with reference to FIGS. 5 to 7.

먼저 도 5는 본 발명에 따른 CPU의 필터링 방식을 설명하기 위한 도면이다. First, FIG. 5 is a diagram illustrating a filtering method of a CPU according to the present invention.

여기에서 CPU(41)는 보안 로그 및 이벤트 정보 y[i]에 대하여 분류정책 DB(50)의 분류정책 x[i]에 따라 필터링을 수행하게 된다. Here, the CPU 41 performs filtering on the security log and event information y [i] according to the classification policy x [i] of the classification policy DB 50.

도 5에서 분류정책 x는 x[0...m-1] 이며, x[i]는 i번째 분류정책을 의미한다. 그리고 보안 로그 및 이벤트 정보의 집합 y는 y[0...n-1]이며, y[j]는 j번째 보안 로그 및 이벤트 정보이다. In FIG. 5, the classification policy x is x [0 ... m-1], and x [i] means the i th classification policy. The set y of the security log and event information is y [0 ... n-1], and y [j] is the j th security log and event information.

CPU(41)를 이용한 필터링 방식은 먼저 메모리부(30)에서 전송되는 보안 로그 및 이벤트 정보의 집합 y에 대하여 분류정책 DB(50)의 특정 분류정책 x[i]와 비교하여 일치하는지 여부에 대하여 비교를 진행한다. 그리고 이러한 비교 과정은 보안 로그 및 이벤트 정보의 집합 y에 대하여 분류정책 DB(50)의 모든 분류정책 x에 대하여 반복 수행되게 된다. The filtering method using the CPU 41 first compares the set y of the security log and event information transmitted from the memory unit 30 with the specific classification policy x [i] of the classification policy DB 50 to match. Proceed with the comparison. The comparison process is repeated for all classification policies x of the classification policy DB 50 with respect to the set y of the security log and event information.

이러한 CPU(41)의 필터링 방식을 알고리즘으로 표현하면 도 6과 같다. The filtering method of the CPU 41 is represented by an algorithm as shown in FIG. 6.

따라서 보안 로그 및 이벤트 정보의 집합 y에 대하여 개개의 분류정책 x[i]와 비교하는 과정을 반복함으로써 보안 로그 및 이벤트 정보에 대한 필터링은 이루어질 수 있다. 여기에서 도 6에 도시된 바와 같이 CPU(41)를 이용한 필터링 방식은 보안 로그 및 이벤트 정보의 문자열을 분류정책의 문자열과 일대일 비교하는 방식을 반복적으로 수행하는 형태로 이루어질 수 있다. Therefore, the security log and event information can be filtered by repeating the process of comparing the classification policy x [i] with respect to the set y of the security log and event information. Here, as shown in FIG. 6, the filtering method using the CPU 41 may be configured to repeatedly perform a one-to-one comparison of a string of security log and event information with a string of a classification policy.

다음으로 도 7은 본 발명에 따른 GPU의 필터링 방식을 설명하기 위한 도면이다. Next, FIG. 7 is a diagram illustrating a filtering method of a GPU according to the present invention.

GPU(42)를 이용한 필터링 방식에서는 분류정책을 그룹핑하고 그룹핑된 분류정책 그룹을 GPU(42) 내 각 SP(Streaming Processor)에 분산배치한 후, 각 SP에 동일한 보안 로그 및 이벤트 정보를 각각 배치해 비교하도록 하는 과정을 보안 로그 및 이벤트 정보의 수만큼 반복 수행함으로서 필터링을 수행하게 된다. In the filtering method using the GPU 42, the classification policies are grouped and the grouped classification policy groups are distributed to each SP (Streaming Processor) in the GPU 42, and then the same security log and event information is placed on each SP. Filtering is performed by repeating the comparison process for the number of security log and event information.

이를 위해 분류정책 배치 단계로서, GPU(42)의 각 SP에 분류정책 그룹이 배치되도록 먼저 해당 GPU(42)의 SP 개수 l에 대하여 m개의 분류정책을 m/l로 나누어 그룹핑하게 된다. 여기에서 m은 l보다 크다. 그리고 분류정책 DB(50)의 전체 분류정책 x(여기에서 x는 x[0...m-1])를 이진값 xb = xb[0...m-1]로 변환한다. 그리고 해당 GPU(42)의 모든 SP에 대하여 상기 이진화된 분류정책 그룹을 분산 배치한다. 따라서 도 7에 도시된 바와 같이 GPU(42) 내 각각의 SP에는 서로 다른 분류정책 그룹이 배치되게 된다. To this end, as a classification policy arrangement step, m classification policies are grouped by m / l with respect to the number of SPs of the GPU 42 so that the classification policy group is arranged at each SP of the GPU 42. Where m is greater than l. Then, the entire classification policy x (where x is x [0 ... m-1]) of the classification policy DB 50 is converted into a binary value xb = xb [0 ... m-1]. The binarized classification policy group is distributed to all SPs of the GPU 42. Therefore, different classification policy groups are arranged in each SP in the GPU 42 as shown in FIG. 7.

이후 보안 로그 및 이벤트 정보의 배치 단계로서, 먼저 상기 메모리부(30)에 있는 보안 로그 및 이벤트 정보를 병렬처리 자료형으로 변환하게 된다. 이러한 병렬처리 자료형 변환은 모든 보안 로그 및 이벤트 정보 y(여기에서 y는 y[0...n-1])를 이진값 yb[0...n-1]로 변환하는 것이다. 이렇게 이진값으로 변환된 보안 로그 및 이벤트 정보 yb[j]는 해당 GPU(42)의 모든 SP에 배치시키며, 이를 통해 각 보안 로그 및 이벤트 정보가 병렬적으로 모든 분류정책과 비교될 수 있게 만드는 것이다. Thereafter, as a security log and event information arrangement step, the security log and event information in the memory unit 30 are first converted into a parallel data type. This parallelism type conversion converts all security log and event information y (where y is y [0 ... n-1]) to the binary value yb [0 ... n-1]. The security log and event information yb [j] converted into binary values is placed in all SPs of the corresponding GPU 42 so that each security log and event information can be compared with all classification policies in parallel. .

이후 SP별 병렬 필터링 단계로서, 상기 GPU(42)의 각 SP들은 내부에서 분류정책과 보안 로그 및 이벤트 정보를 비교연산하게 된다. 이러한 비교 연산은 SP의 내부에서 xb[i] 와 yb[j]를 비트별로 비트 연산함으로써(xb[i] ^ yb[j]) 이루어질 수 있다. 그리고 그 연산의 결과가 1인 경우 해당 비교대상인 보안 로그 및 이벤트 정보는 분류정책으로 분류(필터링)되는 것이다. Thereafter, as a parallel filtering step for each SP, each of the SPs of the GPU 42 compares a classification policy, a security log, and event information therein. Such a comparison operation may be performed by bitwise performing xb [i] and yb [j] bit by bit (xb [i] ^ yb [j]) inside the SP. If the result of the operation is 1, the security log and event information of the comparison target are classified (filtered) by the classification policy.

이때 이러한 SP별 병렬 필터링 단계에서는 비트 연산이 이용되므로 문자열 연산보다 연산 속도가 빠르며, l 개의 SP에서 독립적으로 비트 연산을 수행하게 되므로 l배 만큼의 속도 개선을 기대할 수 있고, 결과적으로 비트연산으로 인한 연산속도 상승분(a)과 병렬 처리를 통한 연산 속도 상승분(l)의 곱(a×l)만큼의 성능 개선을 기대할 수 있다.
In this parallel filtering step for each SP, bit operations are used, so the operation speed is faster than string operations, and since the bit operations are independently performed on l SPs, the speed improvement can be expected as much as l times. The performance improvement can be expected as much as the product (a × l) of the calculation speed increase (a) and the calculation speed increase (l) through parallel processing.

이제 도 4를 참조하여 본 발명에 따른 GPU를 이용한 보안로그 및 이벤트의 분산처리 및 고속 필터링 방법을 설명한다. Now, with reference to Figure 4 will be described a method for distributed processing and fast filtering of security logs and events using the GPU according to the present invention.

우선, 상기 정보 수집부(10)를 통해 해당 네트워크 및 시스템에서 발생한 보안 로그 및 이벤트 정보를 수집한다(S10). 여기에서 수신포트로 도착하지 않는 패킷에 대하여는 드롭처리를 하게 된다(S12~S14). First, through the information collecting unit 10 collects the security log and event information generated in the network and the system (S10). In this case, the drop processing is performed on the packet which does not arrive at the receiving port (S12 to S14).

이후, 이렇게 상기 정보 수집부(10)에서 수집된 보안 로그 및 이벤트 정보는 파일 DB(20)로 입력되어 저장관리된다(S16). 여기에서 저장되는 보안 로그 및 이벤트 정보는 일정한 조회시간 동안 상기 파일 DB(20)에 축적되게 된다(S18).Thereafter, the security log and event information collected by the information collecting unit 10 are input to the file DB 20 and stored and managed (S16). The security log and event information stored here are accumulated in the file DB 20 for a predetermined inquiry time (S18).

이후, 상기 파일 DB(20)에 조회시간 동안 누적된 보안 로그 및 이벤트 정보를 조회하여(S20), 조회된 보안 로그 및 이벤트 정보는 상기 메모리부(30)로 업로드된다(S22). Subsequently, the security log and event information accumulated during the inquiry time is inquired in the file DB 20 (S20), and the inquired security log and event information is uploaded to the memory unit 30 (S22).

이후, 상기 메모리부(30)의 보안 로그 및 이벤트 정보는 CPU(41)와 GPU(42)로 분배되어 동시에 필터링되게 된다. Thereafter, the security log and event information of the memory unit 30 are distributed to the CPU 41 and the GPU 42 to be simultaneously filtered.

먼저, 상기 CPU(41)에서는 보안 로그 및 이벤트 정보에 대하여 분류정책 DB(50)의 분류정책에 따라 필터링을 수행하게 되는데, 구체적으로 CPU(41)를 이용한 필터링 방식은 메모리부(30)에서 전송되는 보안 로그 및 이벤트 정보의 집합 y에 대하여 분류정책 DB(50)의 특정 분류정책 x[i]와 비교하여 일치하는지 여부에 대하여 비교를 진행하며, 이러한 비교 과정은 보안 로그 및 이벤트 정보의 집합 y에 대하여 분류정책 DB(50)의 모든 분류정책 x에 대하여 반복 수행되게 된다(S24). First, the CPU 41 filters the security log and event information according to the classification policy of the classification policy DB 50. Specifically, the filtering method using the CPU 41 is transmitted from the memory unit 30. The set y of the security log and event information is compared with a specific classification policy x [i] of the classification policy DB 50 and compared with each other. This comparison process is performed by comparing the set y of the security log and event information. With respect to all the classification policy x of the classification policy DB (50) to be repeated (S24).

여기에서 CPU(41)를 이용한 필터링 방식은 보안 로그 및 이벤트 정보의 문자열을 분류정책의 문자열과 일대일 비교하는 방식을 반복적으로 수행하는 형태로 이루어질 수 있다. Here, the filtering method using the CPU 41 may be configured to repeatedly perform a one-to-one comparison of a string of security log and event information with a string of a classification policy.

한편, 상기 GPU(42)에서는 보안 로그 및 이벤트 정보에 대하여 분류정책을 그룹핑하고 그룹핑된 분류정책 그룹을 GPU(42) 내 각 SP에 분산배치한 후, 각 SP에 동일한 보안 로그 및 이벤트 정보를 각각 배치해 비교하도록 하는 과정을 보안 로그 및 이벤트 정보의 수만큼 반복 수행함으로서 필터링을 수행하게 된다. On the other hand, the GPU 42 groups the classification policies for security log and event information, distributes the grouped classification policy groups to each SP in the GPU 42, and then assigns the same security log and event information to each SP. Filtering is performed by repeating the process of arranging and comparing security log and event information.

이를 구체적으로 설명하면, 먼저 GPU(42)의 각 SP에 분류정책 그룹이 배치되도록 먼저 해당 GPU(42)의 SP 개수에 따라 분류정책을 나누어 그룹핑하고, 분류정책 DB(50)의 전체 분류정책을 이진값으로 변환한다(S26). Specifically, first, the classification policy is divided and grouped according to the number of SPs of the GPU 42 so that the classification policy group is arranged at each SP of the GPU 42, and the entire classification policy of the classification policy DB 50 is described. Convert to a binary value (S26).

이후, 해당 GPU(42)의 모든 SP에 대하여 상기 이진화된 분류정책 그룹을 분산 배치한다(S28). Thereafter, the binarized classification policy group is distributed to all SPs of the GPU 42 (S28).

이후 상기 메모리부(30)에 있는 보안 로그 및 이벤트 정보를 병렬처리 자료형으로 변환시킨다(S30). After that, the security log and event information in the memory unit 30 is converted into a parallel processing data type (S30).

그리고 이렇게 이진값으로 변환된 보안 로그 및 이벤트 정보를 해당 GPU(42)의 모든 SP에 배치시키며(S32), 상기 GPU(42)의 각 SP들은 내부에서 분류정책과 보안 로그 및 이벤트 정보를 비교하는 필터링 과정을 수행하게 된다(S34). 여기에서 비교 연산은 SP의 내부에서 비교정책과 보안 로그 및 이벤트 정보를 비트별로 비트 연산함으로써 이루어질 수 있다. The security log and event information converted into binary values are placed in all SPs of the GPU 42 (S32), and each SP of the GPU 42 compares the classification policy with the security log and event information therein. The filtering process is performed (S34). Here, the comparison operation may be performed by bitwise comparing the comparison policy, security log, and event information bit by bit in the SP.

이후, 해당 GPU(42)는 탐지된 보안 로그 및 이벤트 정보를 상기 CPU(41)로 전송하게 된다(S36). Thereafter, the GPU 42 transmits the detected security log and event information to the CPU 41 (S36).

이후, 상기 CPU(41)는 자체 필터링 작업을 통해 탐지된 보안 로그 및 이벤트 정보와 상기 GPU()를 통해 탐지되어 전달된 보안 로그 및 이벤트 정보를 통계 보고를 위해 통계용 DB(60)에 업로드하거나, 전송부(70)를 통해 모니터로 실시간 출력시키거나 네트워크 인터페이스를 통해 별도의 보안관제 운영관리 시스템(SOC)에 실시간으로 보고하게 된다(S38). Thereafter, the CPU 41 uploads the security log and event information detected through its own filtering operation and the security log and event information detected and transmitted through the GPU to the statistical DB 60 for statistical reporting. The real time output to the monitor through the transmission unit 70 or via a network interface to report to a separate security control operation management system (SOC) in real time (S38).

이상과 같이 도면과 명세서에서 최적 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
As described above, an optimal embodiment has been disclosed in the drawings and specification. Although specific terms have been employed herein, they are used for purposes of illustration only and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

10 : 정보 수집부 20 : 파일 DB
30 : 메모리부 40 : 처리부
41 : CPU 42 : GPU
50 : 분류정책 DB 60 : 통계용 DB
70 : 전송부
10: information collecting unit 20: file DB
30 memory unit 40 processing unit
41: CPU 42: GPU
50: classification policy DB 60: statistics DB
70: transmission unit

Claims (12)

보안 로그 및 이벤트 정보를 수집하는 정보 수집부;
수집된 보안 로그 및 이벤트 정보가 업로드되는 메모리부; 및
상기 메모리부의 보안 로그 및 이벤트 정보를 분류정책 DB의 분류정책과 비교하여 필터링하는 처리부; 를 포함하며,
상기 처리부는,
보안 로그 및 이벤트 정보와 분류정책을 직접 비교하여 필터링하는 CPU; 및
그룹핑된 분류정책 그룹을 내부 SP에 분산배치해 개별 보안 로그 및 이벤트 정보가 각 분류정책 그룹과 병렬적으로 비교되도록 하는 GPU; 를 포함해 수집되는 보안 로그 및 이벤트 정보가 CPU와 GPU에서 동시에 필터링되게 하는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템.
An information collecting unit collecting security log and event information;
A memory unit to which the collected security log and event information are uploaded; And
A processing unit for filtering the security log and event information of the memory unit by comparing with a classification policy of a classification policy DB; Including;
Wherein,
A CPU which directly compares and filters the security log and event information with the classification policy; And
A GPU that distributes the grouped classification policy groups to internal SPs so that individual security log and event information can be compared in parallel with each classification policy group; Distributed processing and high-speed filtering system of the security log and events, characterized in that the collected security log and event information, including filtering in the CPU and GPU at the same time.
제 1항에 있어서,
상기 CPU에서는 보안 로그 및 이벤트 정보의 집합에 대하여 분류정책 DB의 분류정책과 비교하여 일치하는지 여부에 대하여 비교를 진행하며, 해당 비교 과정이 분류정책 DB의 모든 분류정책에 대하여 반복 수행되게 되는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템.
The method of claim 1,
The CPU compares the set of security log and event information with the classification policy of the classification policy DB and compares them with each other. The comparison process is repeated for all classification policies of the classification policy DB. Distributed processing and high speed filtering system of security logs and events.
제 1항에 있어서,
상기 메모리부에서 저장관리되는 보안 로그 및 이벤트 정보는 GPU에서의 필터링 작업을 위해 병렬처리 자료형으로 변환되는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템.
The method of claim 1,
The security log and event information stored and managed in the memory unit is converted to a parallel processing data type for filtering in the GPU, distributed processing and high-speed filtering system of the security log and event.
제 3항에 있어서,
상기 병렬처리 자료형으로의 변환을 위해 보안 로그 및 이벤트 정보를 이진값으로 변환하는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템.
The method of claim 3, wherein
Distributed processing and high-speed filtering system of the security log and event, characterized in that for converting the security log and event information to a binary value for conversion to the parallel processing data type.
제 4항에 있어서,
상기 분류정책 DB에서 저장관리되는 보안 로그 및 이벤트 정보는 GPU에서의 필터링 작업을 위해 이진값으로 변환되는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템.
The method of claim 4, wherein
The security log and event information stored and managed in the classification policy DB is converted to a binary value for filtering in the GPU, distributed processing and high-speed filtering system of the security log and event.
제 5항에 있어서,
상기 GPU에서 보안 로그 및 이벤트 정보와 분류정책의 비교는 비트 단위의 비트 연산인 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 시스템.
6. The method of claim 5,
Comparing the security log and event information and the classification policy in the GPU is a bit operation of the bit unit, distributed processing and high-speed filtering system of the security log and event.
(a) 보안 로그 및 이벤트 정보를 수집하는 단계;
(b) 수집된 보안 로그 및 이벤트 정보를 메모리부에 업로드하는 단계;
(c) CPU에서 상기 메모리부의 보안 로그 및 이벤트 정보를 분류정책 DB의 분류정책과 직접 비교하여 필터링하는 단계;
(d) GPU에서 그룹핑된 분류정책 그룹을 내부 SP에 분산배치해 개별 보안 로그 및 이벤트 정보가 각 분류정책 그룹과 병렬적으로 비교되도록 하여 필터링하는 단계; 를 포함하며,
상기 (c) 단계와 (d) 단계가 각각 CPU와 GPU에서 동시에 이루어지는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 방법.
(a) collecting security log and event information;
(b) uploading the collected security log and event information to the memory unit;
(c) filtering and comparing the security log and event information of the memory unit with a classification policy of a classification policy DB in the CPU;
(d) distributing the classification policy groups grouped by the GPU to the internal SPs so that individual security log and event information can be compared in parallel with each classification policy group and filtered; Including;
The steps (c) and (d) are performed simultaneously on the CPU and the GPU, respectively.
제 7항에 있어서,
상기 (c) 단계는,
CPU에서 보안 로그 및 이벤트 정보의 집합에 대하여 분류정책 DB의 분류정책과 비교하여 일치하는지 여부에 대하여 비교를 진행하며, 해당 비교 과정이 분류정책 DB의 모든 분류정책에 대하여 반복 수행되게 되는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 방법.
The method of claim 7, wherein
In step (c),
The CPU compares the set of security log and event information with the classification policy of the classification policy DB and compares them. The comparison process is repeated for all classification policies of the classification policy DB. Distributed processing and fast filtering of security logs and events.
제 7항에 있어서,
상기 (d) 단계는,
(d-1) GPU의 SP 개수에 따라 분류정책을 나누어 그룹핑하고, 각각의 SP에 대하여 상기 분류정책 그룹을 분산 배치하는 단계;
(d-2) 상기 메모리부에 있는 보안 로그 및 이벤트 정보를 병렬처리 자료형으로 변환시키는 단계;
(d-3) 병렬처리 자료형으로 변환된 보안 로그 및 이벤트 정보를 GPU의 모든 SP에 배치시키고, 각 SP들이 분류정책과 보안 로그 및 이벤트 정보를 비교하여 필터링을 수행하는 단계; 를 포함하는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 방법.
The method of claim 7, wherein
In step (d),
(d-1) dividing and classifying classification policies according to the number of SPs of a GPU and distributing the classification policy groups for each SP;
(d-2) converting security log and event information in the memory unit into a parallel processing data type;
(d-3) disposing security log and event information converted to parallel processing data types in all SPs of the GPU, and performing filtering by comparing each classification policy with security log and event information; Distributed processing and high-speed filtering method of the security log and event comprising a.
제 9항에 있어서,
상기 (d-2) 단계에서,
상기 병렬처리 자료형으로의 변환을 위해 보안 로그 및 이벤트 정보를 이진값으로 변환하는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 방법.
The method of claim 9,
In the step (d-2),
Method for distributed processing and fast filtering of the security log and event, characterized in that for converting the security log and event information to a binary value for conversion to the parallel processing data type.
제 10항에 있어서,
상기 분류정책 DB에서 저장관리되는 보안 로그 및 이벤트 정보는 GPU에서의 필터링 작업을 위해 이진값으로 변환되는 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 방법.
The method of claim 10,
Security log and event information stored and managed in the classification policy DB is converted to a binary value for filtering on the GPU, distributed processing and high-speed filtering method of the security log and event.
제 11항에 있어서,
상기 GPU에서 보안 로그 및 이벤트 정보와 분류정책의 비교는 비트 단위의 비트 연산인 것을 특징으로 하는 보안로그 및 이벤트의 분산처리 및 고속 필터링 방법.
12. The method of claim 11,
Comparing the security log and event information and the classification policy in the GPU is a bit operation of a bit unit, distributed processing and fast filtering method of the security log and event.
KR1020110142589A 2011-12-26 2011-12-26 System and method for distributed processing and fast filtering of security log and event using gpu KR101141183B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110142589A KR101141183B1 (en) 2011-12-26 2011-12-26 System and method for distributed processing and fast filtering of security log and event using gpu

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110142589A KR101141183B1 (en) 2011-12-26 2011-12-26 System and method for distributed processing and fast filtering of security log and event using gpu

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020110142722A Division KR20130074594A (en) 2011-12-26 2011-12-26 System and method for distributed processing and fast filtering of security log and event using gpu

Publications (1)

Publication Number Publication Date
KR101141183B1 true KR101141183B1 (en) 2012-05-04

Family

ID=46271311

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110142589A KR101141183B1 (en) 2011-12-26 2011-12-26 System and method for distributed processing and fast filtering of security log and event using gpu

Country Status (1)

Country Link
KR (1) KR101141183B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090107972A (en) * 2008-04-09 2009-10-14 엔비디아 코포레이션 Retargetting an application program for execution by a general purpose processor
KR100996443B1 (en) 2010-04-13 2010-11-24 (주)신테카바이오 System and method of parallel distributed processing of gpu by dividing dense indexed data-files into parts of search and computation in query and database system thereof
KR20110068578A (en) * 2009-12-16 2011-06-22 인하대학교 산학협력단 Parallel range query process method on r-tree with graphics processing units

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090107972A (en) * 2008-04-09 2009-10-14 엔비디아 코포레이션 Retargetting an application program for execution by a general purpose processor
KR20110068578A (en) * 2009-12-16 2011-06-22 인하대학교 산학협력단 Parallel range query process method on r-tree with graphics processing units
KR100996443B1 (en) 2010-04-13 2010-11-24 (주)신테카바이오 System and method of parallel distributed processing of gpu by dividing dense indexed data-files into parts of search and computation in query and database system thereof

Similar Documents

Publication Publication Date Title
US10528599B1 (en) Tiered data processing for distributed data
CN104969213B (en) Data flow for low latency data access is split
US20200050694A1 (en) Burst Performance of Database Queries According to Query Size
CN111586091B (en) Edge computing gateway system for realizing computing power assembly
US11308106B1 (en) Caching results for sub-queries to different data store locations
CN111124679A (en) Time-limited automatic processing method for multi-source heterogeneous mass data
US11327970B1 (en) Context dependent execution time prediction for redirecting queries
CN108039959A (en) Situation Awareness method, system and the relevant apparatus of a kind of data
US9992269B1 (en) Distributed complex event processing
Kotenko et al. Attack detection in IoT critical infrastructures: a machine learning and big data processing approach
CN108009294A (en) A kind of big data wisdom credit administers platform architecture
CN105579999A (en) Log analysis
CN106502875A (en) A kind of daily record generation method and system based on cloud computing
Saenko et al. Parallel processing of big heterogeneous data for security monitoring of IoT networks
CN111597168A (en) Block chain capacity recovery scheme based on integrity value
Razaq et al. A big data analytics based approach to anomaly detection
WO2021027331A1 (en) Graph data-based full relationship calculation method and apparatus, device, and storage medium
Zobaed et al. Big Data in the Cloud.
CN115712646A (en) Alarm strategy generation method, device and storage medium
Cao et al. LogKV: Exploiting key-value stores for event log processing
Yin-huan Design of intrusion detection model based on data mining technology
KR101141183B1 (en) System and method for distributed processing and fast filtering of security log and event using gpu
KR20130074594A (en) System and method for distributed processing and fast filtering of security log and event using gpu
Michel et al. PIQ: Persistent interactive queries for network security analytics
CN108363761A (en) Hadoop awr automatic loads analyze information bank, analysis method and storage medium

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150423

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160425

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171214

Year of fee payment: 6

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20180423

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee