KR102598126B1 - 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법 및 이를 위한 장치 - Google Patents

클러스터 환경 내 중복된 보안 위협 데이터 관리 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102598126B1
KR102598126B1 KR1020230075966A KR20230075966A KR102598126B1 KR 102598126 B1 KR102598126 B1 KR 102598126B1 KR 1020230075966 A KR1020230075966 A KR 1020230075966A KR 20230075966 A KR20230075966 A KR 20230075966A KR 102598126 B1 KR102598126 B1 KR 102598126B1
Authority
KR
South Korea
Prior art keywords
security threat
data
threat data
cluster
processor
Prior art date
Application number
KR1020230075966A
Other languages
English (en)
Inventor
공용식
Original Assignee
주식회사 이글루코퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 이글루코퍼레이션 filed Critical 주식회사 이글루코퍼레이션
Priority to KR1020230075966A priority Critical patent/KR102598126B1/ko
Application granted granted Critical
Publication of KR102598126B1 publication Critical patent/KR102598126B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Alarm Systems (AREA)
  • Storage Device Security (AREA)

Abstract

클러스터 환경 내 중복된 보안 위협 데이터 관리 장치가 개시된다. 본 장치는, 통신부, 메모리; 및 메모리에 저장된 인스트럭션을 실행하는 하나 이상의 프로세서를 포함하며, 프로세서는, 클러스터를 구성하는 하나 이상의 노드로부터 보안 위협 데이터를 수신하고, 수신된 보안 위협 데이터를 싱글톤 인스턴스에 포함된 소정의 데이터 구조에 보관하며, 소정의 스케줄링 기준을 충족하는 경우, 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하고, 중복 데이터가 제거된 보안 위협 데이터 및 카운팅 정보를 보안 위협 데이터베이스에 저장한다. 본 장치가 제공됨으로써, 데이터베이스의 I/O 연산이 효율적으로 줄어들 수 있다.

Description

클러스터 환경 내 중복된 보안 위협 데이터 관리 방법 및 이를 위한 장치{METHOD AND APPARATUS FOR MANAGING REDUNDANT SECURITY THREAT DATA IN CLUSTER ENVIRONMENT}
본 개시는 데이터를 관리하는 기술에 관한 것이다. 보다 구체적으로, 본 개시는 클러스터 환경에서 중복된 보안 위협 데이터를 관리하는 방법 및 이를 위한 장치에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
클러스터(cluster)란 여러 대의 서버를 네트워크로 연결하여 하나의 컴퓨터처럼 사용할 수 있도록 하는 것을 말하며, 클러스터 내의 각 서버를 하나의 노드라고 표현한다.
대용량 데이터를 효율적으로 처리하고 관리하기 위해서는 더욱 더 많은 컴퓨팅 파워가 필요하게 되어, 자연스럽게 서버 한 대로 운영하는 스탠드 얼론(stand alone) 환경에서 클러스터 환경으로 옮겨지고 있다.
또한, 점점 클라우드 서비스가 보편화 되어짐에 따라 클라우드에서는 스케일 인 아웃(scale-in/out), 스케일 업 다운(scale-up/down) 개념이 더욱 강화되었다. 스케일 인 아웃은 컴퓨팅 시스템 또는 애플리케이션의 용량을 동적으로 조정하는 방법이며, 스케일 업 다운은 시스템의 성능을 조절하는 방법이라 할 수 있다.
클러스터 환경에서는 스탠드 얼론 환경과 다르게 S/W 개발 시 고려되어야 할 사항들이 여러 가지가 있는데, 보안 위협 데이터 탐지 기능을 수행하는 클러스터 환경에서는 여러 노드에서 탐지된 보안 위협 데이터를 최종적으로 데이터베이스에 등록하게 된다.
만약, 각 노드에서 탐지된 모든 데이터를 데이터베이스에 등록 후 중복 데이터를 처리하게 되면, 많은 I/O 와 자원소모가 발생하여 성능 하락의 원인이 될 수 있다.
이에, 클러스터 환경에서 보안 위협 데이터를 보다 효과적으로 관리하는 방법이 필요하다 할 것이다.
대한민국 등록특허 제10-1451640호(등록일: 2014.10.16)
본 개시가 해결하고자 하는 과제는 클러스터 환경 내에서 탐지된 보안 위협 데이터의 중복을 제거하여 데이터 베이스에 저장하는 데이터 관리 방법을 제공할 수 있다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 본 개시에 따른 클러스터 환경 내 중복된 보안 위협 데이터 관리 장치는, 통신부; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 인스트럭션을 실행하는 하나 이상의 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 통신부를 통해, 클러스터를 구성하는 하나 이상의 노드로부터 보안 위협 데이터를 수신하고, 수신된 보안 위협 데이터를 싱글톤 인스턴스(singleton instance)에 포함된 소정의 데이터 구조(data structure)에 보관하며, 소정의 스케줄링 기준을 충족하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하고, 중복 데이터가 제거된 보안 위협 데이터 및 카운팅 정보를 보안 위협 데이터베이스에 저장할 수 있다.
상기 프로세서는, 탐지 로직에 따라 근거 데이터를 분석하여 보안 위협 데이터를 탐지하는 상기 노드로부터 보안 위협 데이터를 상기 통신부를 통해 수신할 수 있다.
상기 데이터 구조는, 큐(quene), 스택(stack), 연결리스트(linkedlist) 및 트리(tree) 중 하나를 포함할 수 있다.
상기 프로세서는, 소정의 타임 주기가 도래하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅할 수 있다.
상기 프로세서는, 상기 데이터 구조의 보관량 또는 보관 속도가 소정 기준을 초과하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅할 수 있다.
또한, 본 개시에 따른 컴퓨팅 장치에 의해 수행되는 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법은, 클러스터를 구성하는 하나 이상의 노드로부터 탐지된 보안 위협 데이터를 수신하는 단계; 수신된 보안 위협 데이터를 싱글톤 인스턴스(singleton instance)에 포함된 소정의 데이터 구조(data structure)에 보관하는 단계; 소정의 스케줄링 기준을 충족하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하는 단계; 및 중복 데이터가 제거된 보안 위협 데이터 및 카운팅 정보를 보안 위협 데이터베이스에 저장하는 단계를 포함할 수 있다.
상기 수신하는 단계는, 탐지 로직에 따라 근거 데이터를 분석하여 보안 위협 데이터를 탐지하는 상기 노드로부터 상기 탐지된 보안 위협 데이터를 수신하는 단계를 포함할 수 있다.
상기 데이터 구조는, 큐(quene), 스택(stack), 연결리스트(linkedlist) 및 트리(tree) 중 하나를 포함할 수 있다.
상기 카운팅하는 단계는, 소정의 타임 주기가 도래하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하는 단계를 포함할 수 있다.
상기 카운팅하는 단계는, 상기 데이터 구조의 보관량 또는 보관 속도가 소정 기준을 초과하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하는 단계를 포함하는, 관리 방법.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 개시의 전술한 과제 해결 수단에 의하면, 클러스터 환경 내에서 탐지된 보안 위협 데이터의 중복을 제거하여 데이터 베이스에 저장하는 데이터 관리 방법이 제공됨으로써, 데이터 베이스의 관리 효율이 향상될 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시에 따른 보안 위협 데이터 관리를 위한 통합 시스템을 개략적으로 설명하기 위한 시스템도이다.
도 2는 본 개시에 따른 보안 위협 데이터 관리 장치의 구성을 나타내는 블록도이다.
도 3은 본 개시에 따른 탐지된 보안 위협 데이터에서 중복을 제거하여 보안 위협 데이터베이스에 저장하는 과정을 설명하기 위한 도면이다.
도 4는 본 개시에 따른 컴퓨팅 장치에 의해 수행되는 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법을 나타내는 시퀀스도이다.
도 5는 본 개시에 따른 클러스터의 구성 노드가 보안 위협 데이터를 탐지하는 예시적 방법을 나타내는 시퀀스도이다.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.
본 명세서에서 '본 개시에 따른 클러스터 환경 내 중복된 보안 위협 데이터 관리 장치'는 클라우드, 클러스터 시스템뿐만 아니라 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들로 구현될 수 있다. 예를 들어, 본 개시에 따른 클러스터 환경 내 중복된 보안 위협 데이터 관리 장치는, 컴퓨터, 서버 장치 및 휴대용 단말기를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.
여기에서, 상기 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함할 수 있다.
상기 서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 게임 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.
상기 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.
본 개시에 따른 인공 지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공 지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공 지능 전용 프로세서인 경우, 인공 지능 전용 프로세서는, 특정 인공 지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
미리 정의된 동작 규칙 또는 인공 지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공 지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공 지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공 지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공 지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들 (weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경 망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공 지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공 지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
프로세서는 뉴럴 네트워크를 생성하거나, 뉴럴 네트워크를 훈련(train) 또는 학습(learn)하거나, 수신되는 입력 데이터를 기초로 연산을 수행하고, 수행 결과를 기초로 정보 신호(information signal)를 생성하거나, 뉴럴 네트워크를 재훈련(retrain)할 수 있다.
뉴럴 네트워크는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), 퍼셉트론(perceptron), 다층 퍼셉트론(multilayer perceptron), FF(Feed Forward), RBF(Radial Basis Network), DFF(Deep Feed Forward), LSTM(Long Short Term Memory), GRU(Gated Recurrent Unit), AE(Auto Encoder), VAE(Variational Auto Encoder), DAE(Denoising Auto Encoder), SAE(Sparse Auto Encoder), MC(Markov Chain), HN(Hopfield Network), BM(Boltzmann Machine), RBM(Restricted Boltzmann Machine), DBN(Depp Belief Network), DCN(Deep Convolutional Network), DN(Deconvolutional Network), DCIGN(Deep Convolutional Inverse Graphics Network), GAN(Generative Adversarial Network), LSM(Liquid State Machine), ELM(Extreme Learning Machine), ESN(Echo State Network), DRN(Deep Residual Network), DNC(Differentiable Neural Computer), NTM(Neural Turning Machine), CN(Capsule Network), KN(Kohonen Network) 및 AN(Attention Network)를 포함할 수 있으나 이에 한정되는 것이 아닌 임의의 뉴럴 네트워크를 포함할 수 있음은 통상의 기술자가 이해할 것이다.
본 개시의 예시적인 실시예에 따르면, 프로세서는 GoogleNet, AlexNet, VGG Network 등과 같은 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restrcted Boltzman Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network, Generative Modeling, eXplainable AI, Continual AI, Representation Learning, AI for Material Design, 자연어 처리를 위한 BERT, SP-BERT, MRC/QA, Text Analysis, Dialog System, GPT-3, GPT-4, 비전 처리를 위한 Visual Analytics, Visual Understanding, Video Synthesis, ResNet 데이터 지능을 위한 Anomaly Detection, Prediction, Time-Series Forecasting, Optimization, Recommendation, Data Creation 등 다양한 인공 지능 구조 및 알고리즘을 이용할 수 있으며, 이에 제한되지 않는다. 이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명한다.
도면을 참고하여 설명하기에 앞서 몇몇 용어들을 정의하면 아래와 같습니다.
SIEM(security information and event management) 시스템은 보안 정보 관리(security information management, SIM)와 보안 이벤트 관리(security event management, SEM) 기능을 하나의 보안 관리 시스템으로 결합한 보안 정보/이벤트 관리 시스템이다.
SIEM 시스템은 규칙 기반이거나 통계적 상관 엔진을 사용하여 이벤트 로그 항목 간의 관계를 설정할 수 있다. SIEM 로그/이벤트 수집 및 관리하는 과정은 다음과 같이 4단계가 있다.
제1 단계(로그 수집 단계)는, 관제 대상 시스템에 설치된 에이전트 및 SNMP(simple network management protocol), syslog 서버로부터 로그를 수집하는 단계이고, 제2 단계(로그 분류 단계)는, 이벤트 발생 누적 횟수 등 유사 정보를 기준으로 그룹핑하여 분류하는 단계이며, 제3 단계(로그 변환 단계)는 다양한 로그 형식을 표준 형식으로 변환하는 단계이고, 제4 단계(로그 분석 단계)는 표준 형식으로 변환된 로그 중에서 타임스탬프, IP 주소 등을 기준으로 하여 연관성을 분석하는 단계이다.
SOAR(security orchestration, automation and response) 시스템은 보안관제 침해 대응 자동화 플랫폼을 제공하며, 대용량의 보안 로그와 트래픽 정보를 실시간으로 분석해 이를 기반으로 보안 시스템 운영 시 유입되는 사이버 위협 의심 정보를 자동으로 분류할 수 있다.
이때, 정탐은 올바르게 탐지한 경우로, 침입탐지솔루션으로 예를 들자면 정상 패킷을 정상으로 탐지하는 경우(True Positive)와 비정상 패킷을 비정상으로 탐지하는 경우(True Negative)를 포함할 수 있다. 오탐은 오류가 아닌데 오류라고 잘못된 판정을 하는 경우, 즉 잘못 탐지한 경우이다. 예를 들어 정상 패킷을 비정상으로 탐지한 경우(False Positive)가 있으며, 이 경우, 로그나 경고가 발생하므로 이를 확인하는 번거로움이 생기게 된다. 미탐은 탐지하지 못한 잘못된 판정을 의미한다. 예를 들어 비정상 패킷을 정상으로 탐지한 경우(False Negative)가 있으며 이 경우, 아무런 로그나 경고를 남기지 않아 호스트가 공격을 당할 위험이 발생할 수 있다.
도 1은 본 개시에 따른 보안 위협 데이터 관리를 위한 통합 시스템을 개략적으로 설명하기 위한 시스템도이다.
통합 시스템은 보안 위협 데이터 관리 장치(100), 복수의 구성 노드를 포함하는 클러스터(200), 보안 위협 데이터를 저장하는 보안 위협 데이터베이스(300, DB)를 포함할 수 있다.
클러스터(200)는 복수의 노드(N1~NN)를 포함하며, 복수의 노드(N1~NN) 각각은 탐지 로직에 따라 근거 데이터를 분석하여 보안 위협 데이터를 탐지할 수 있다. 복수의 노드(N1~NN)는 SIEM 시스템, SIEM 의 자산 서버/시스템 및 SOAR(security orchestration, automation and response) 시스템 등의 역할을 수행할 수 있으나, 실시예가 이에 한정되는 것은 아니다.
보안 위협 데이터 관리 장치(100)는 클러스터(200)를 구성하는 하나 이상의 노드(N1~NN)로부터 보안 위협 데이터를 수신할 수 있다. 노드(N1~NN)는 보안 위협 데이터를 탐지하고 탐자된 보안 위협 데이터를 보안 위협 데이터 관리 장치(100)에 제공할 수 있다.
여기서, 보안 위협 데이터는 소정의 시스템에 위협이 되는 데이터를 포함하며, 해당 위협 데이터에 대한 분석 정보, 상세 정보, 연계 정보 등을 함께 포함하는 정보일 수 있다.
보안 위협 데이터 관리 장치(100)는 수신된 보안 위협 데이터를 싱글톤 인스턴스(singleton instance)에 포함된 소정의 데이터 구조(data structure)에 보관할 수 있다.
여기서, 싱글톤 인스턴스는 프로세스 내에서 하나의 인스턴스만 실행되도록 하는 기법이다. 가령, 싱글톤 인스턴스는 클래스의 인스턴스가 오직 하나만 생성되게 할 수 있으며, 전역 변수와 유사한 기능을 제공하면서도 객체 지향 프로그래밍의 원칙을 따를 수도 있다. 싱글톤 클래스의 인스턴스는 애플리케이션 전체에서 접근 가능하며, 여러 곳에서 동시에 동일한 인스턴스를 사용할 수 있습니다. 싱글톤 인스턴스가 사용되면, 여러 개의 인스턴스가 생성되는 것이 방지될 수 있고, 자원이 절약될 수 있으며, 객체 간의 일관성이 유지될 수 있다.
보안 위협 데이터 관리 장치(100)는 데이터 구조에 보관된 보안 위협 데이터에서 중복을 제거하고, 중복된 보안 위협 데이터의 개수를 카운팅할 수 있다. 보안 위협 데이터 관리 장치(100)는 중복을 제거한 보안 위협 데이터 및 그의 카운팅 정보만 보안 위협 데이터베이스(300, DB)에 저장할 수 있다. 이에, 보안 위협 데이터베이스(300, DB)에 저장되는 데이터의 수가 효율적으로 관리될 수 있다.
여기서, 보안 위협 데이터베이스(300, DB)는 보안 위협 데이터 관리 장치(100)와 별도의 시스템일 수 있으나, 구현에 따라서는, 보안 위협 데이터 관리 장치(100) 내에 배치될 수도 있다.
실시예에서, 보안 위협 데이터 관리 장치(100)는 REST API(Representational State Transfer API) 서버로 구현될 수 있는데, REST API 서버는 클라이언트-서버 모델을 기반으로 한 소프트웨어 아키텍처이며, REST는 웹 기반 응용 프로그램의 상호작용에 대한 규칙을 정의하는 아키텍처 스타일을 포함할 수 있다. REST API 서버는 클라이언트와 서버 간의 통신을 위한 인터페이스를 제공할 수 있는데, 클라이언트는 HTTP 프로토콜을 사용하여 REST API 서버에 요청을 보내고, 서버는 해당 요청을 처리하고 필요한 응답을 제공할 수 있다.
여기서, REST API 서버는 자원(Resource)을 기반으로 동작하고, 각 자원은 고유한 식별자(URI)를 가지며, 클라이언트는 URI를 통해 특정 자원에 접근하고 조작할 수 있다. REST API 서버는 요청된 자원을 식별하고, 해당 자원의 상태를 응답으로 반환할 수 있다.
REST API 서버는 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 자원을 조작할 수 있다. 예를 들어, GET 메서드를 사용하여 자원의 정보를 요청하거나, POST 메서드를 사용하여 새로운 자원을 생성하거나, PUT 메서드를 사용하여 자원을 업데이트하거나, DELETE 메서드를 사용하여 자원을 삭제할 수 있다.
REST API 서버는 데이터를 JSON, XML 등의 형식으로 전송할 수 있으며, 클라이언트는 이러한 데이터를 사용하여 원하는 방식으로 처리할 수 있다. REST API 서버는 다양한 클라이언트(웹 애플리케이션, 모바일 앱 등)와 통신할 수 있으며, 다른 시스템과의 통합에 사용될 수 있다.
실시예에서, 보안 위협 데이터 관리 장치(100)는 서버/클라이언트의 서버뿐만 아니라, 클라우드로도 구현될 수 있다. 이 경우, 보안 위협 데이터 관리 장치(100)는 스토리지, 서버, 가상화 모듈/시스템, 운영체제, 미들웨어, 런타임 모듈, 데이터 및 애플리케이션 등을 모두 구비할 수 있다. 이에, 클라이언트 단의 사용자 단말에서는 서비스 애플리케이션만 구비하면, 클라우드 시스템이 제공하는 다양한 기능을 이용할 수 있으며, 사용량에 따라 과금될 수 있다. 가령, 보안 위협 데이터 관리 장치(100)는 SaaS(Server as a software) 기반으로 구현될 수 있으나, 실시예가 이에 한정되는 것은 아니다.
도 2는 본 개시에 따른 보안 위협 데이터 관리 장치(100)의 구성을 나타내는 블록도이다.
먼저, 본 개시에 따른 보안 위협 데이터 관리 장치(100)는 통신부(110), 입력부(120), 디스플레이(130), 메모리(150) 및 적어도 하나의 프로세서(190)를 포함할 수 있다. 도 2에 도시된 보안 위협 데이터 관리 장치(100)의 구성요소들은 본 개시에 따른 보안 위협 데이터 관리 장치(100)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 보안 위협 데이터 관리 장치(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다. 가령, 보안 위협 데이터 관리 장치(100)의 하나 이상의 카메라, 하나 이상의 센싱부 등을 별도로 포함할 수 있으나, 실시예가 이에 한정되는 것은 아니다.
상기 구성요소들 중 통신부(110)는 통신 모듈을 구비한 다양한 장치와 통신을 가능하게 하는 하나 이상의 구성 요소를 포함할 수 있으며, 예를 들어, 방송 수신 모듈, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.
입력부(120)는 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 적어도 하나의 카메라, 적어도 하나의 마이크로폰 및 사용자 입력 인터페이스 중 적어도 하나를 포함할 수 있다. 입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다. 카메라는 보안 위협 데이터 관리 장치(100)의 외부에 배치된 하나 이상의 촬영 장치를 포함할 수 있으며, 카메라는 이미지 센서를 구비할 수 있다.
디스플레이(130)는 본 장치(100)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 디스플레이(130)는 본 장치에서 구동되는 응용 프로그램(일 예로, 어플리케이션)의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
메모리(150)는 보안 위협 데이터 관리 장치(100)의 다양한 기능을 지원하는 데이터와, 프로세서의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음악 파일, 정지영상, 동영상 등)을 저장할 있고, 보안 위협 데이터 관리 장치(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 서버의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
메모리(150)는 하나 이상의 인스트럭션을 저장할 수 있으며, 딥러닝 기반의 뉴럴 네트워크 모델을 저장할 수 있다.
이러한, 메모리(150)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(150)는 보안 위협 데이터 관리 장치(100)와는 분리되어 있으나 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있으며, 데이터 베이스 시스템으로 구현될 수도 있다.
프로세서(190)는 하나 이상의 프로세서를 포함하고, 적어도 하나의 코어를 포함할 수 있다. 프로세서(190)는 메모리(150)에 저장된 인스트럭션을 실행할 수 있다. 프로세서(190)는 보안 위협 데이터 관리 장치(100) 내 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리, 및 메모리에 저장된 데이터를 이용하여 전술한 동작을 수행하는 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 이때, 메모리와 프로세서는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리와 프로세서는 단일 칩으로 구현될 수도 있다. 프로세서(190)는 작업장의 안전 조업을 위한 다양한 UI를 제공할 수 있다.
실시예에서, 보안 위협 데이터 관리 장치(100)는 다양한 UI를 플랫폼 기반으로 웹 서비스 형태로 제공할 수 있는데, 가령, 웹 사이트, 웹 어플리케이션 형태로 제공할 수 있으나, 이에 한정되는 것은 아니다. 또한, 해당 플랫폼은 PC 어플리케이션, 모바일 어플리케이션 등의 형태로 제공될 수 있으나, 실시예가 이에 한정되는 것은 아니다. 이 경우, 다양한 사용자 단말은 보안 위협 데이터 관리 장치(100)가 제공하는 다양한 UI를 플랫폼 기반으로 이용할 수 있다.
도 2에 도시된 구성 요소들의 성능에 대응하여 적어도 하나의 구성요소가 추가되거나 삭제될 수 있다. 또한, 구성 요소들의 상호 위치는 시스템의 성능 또는 구조에 대응하여 변경될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다.
한편, 도 2에서 도시된 각각의 구성요소는 소프트웨어 및/또는 Field Programmable Gate Array(FPGA) 및 주문형 반도체(ASIC, Application Specific Integrated Circuit)와 같은 하드웨어 구성요소를 의미한다.
도 3은 본 개시에 따른 탐지된 보안 위협 데이터에서 중복을 제거하여 보안 위협 데이터베이스에 저장하는 과정을 설명하기 위한 도면이다.
프로세서(190)는 통신부(110)를 통해, 클러스터를 구성하는 하나 이상의 노드로부터 보안 위협 데이터를 수신하고, 수신된 보안 위협 데이터를 싱글톤 인스턴스(singleton instance)에 포함된 소정의 데이터 구조(가령, 큐)에 보관될 수 있다. 여기서, 큐는 java 의 ConcurrentLinkedQueue 일 수 있으나, 실시예가 이에 한정되는 것은 아니다.
여기서, 상기 데이터 구조는 큐 이외에도 스택(stack), 연결리스트(linked list), 트리(tree) 등을 구현될 수 있으며, 트리는 이진 탐색 트리, AVL 트리, B 트리, B+ 트리 등을 포함할 수 있다.
프로세서(190)는 소정의 스케줄링 기준을 충족하는 경우, 데이터 구조에 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅할 수 있다.
프로세서(190)는 소정의 타임 주기가 도래하거나 데이터 구조의 보관량이 소정 기준을 초과하거나 보관 속도가 소정 기준을 초과하는 경우, 소정의 스케줄링 기준을 충족한 것으로 결정할 수 있다.
구체적으로, 프로세서(190)는 소정의 타임 주기가 도래하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅할 수 있다. 또한, 프로세서(190)는 데이터 구조의 보관량 또는 보관 속도가 소정 기준을 초과하는 경우, 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅할 수 있다.
실시예에서, 프로세서(190)는 클러스터(200)의 복수 또는 한곳의 노드로부터 소정량 이상의 보안 위협 데이터가 쌓일 때, 무작위로 쌓인 보안 위협 데이터의 소정 개수를 검사하여, 소정 개수가 동일 출처 또는 동일 패턴의 보안 위협 데이터인 경우, 소정의 스케줄링 기준을 충족한 것으로 결정할 수 있다. 프로세서(190)는 클러스터(200)의 노드들에 동일 출처 또는 동일 패턴의 보안 위협 데이터를 차단하기 위한 명령을 통신부(110)를 통해 노드들에 전송할 수 있다.
프로세서(190)는 소정의 스케줄링 기준을 충족하는 경우, 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅할 수 있다.
실시예에서, 프로세서(190)는 데이터 구조에 보관된 보안 위협 데이터에서 중복 데이터를 제거할 수 있다. Java 언어를 예로 들면, Set 인터페이스를 사용할 수 있는데, Set 인터페이스는 중복 요소를 허용하지 않고 순서가 없는 요소의 모음을 나타낼 수 있으며, Set 인터페이스는 Collection 인터페이스의 하위 인터페이스로, 중복된 요소를 포함하지 않는 데이터 구조를 구현하기 위해 사용될 수 있다. Set 인터페이스는 HashSet, TreeSet 및 LinkedHashSet과 같은 구체적인 Set 구현 클래스에 의해 구현될 수 있다.
즉, 프로세서(190)는 중복 제거 로직을 통해 중복된 보안 위협 데이터를 구분하여 제거할 수 있다.
또한, 프로세서(190)는 중복된 데이터를 제거하면서 중복된 데이터의 수를 카운팅할 수 있다. 실시예에서, 프로세서(190)는 데이터구조에 보관되는 전체 데이터의 개수를 카운팅할 수 있으며, 중복된 데이터의 수를 별도로 카운팅할 수 있다.
즉, 프로세서(190)는 카운팅 로직을 통해 중복된 데이터의 수를 카운팅할 수 있다. 프로세서(190)는 중복이 제거된 보안 위협 데이터(보안 위협 데이터에 대한 분석 정보, 평가 정보, 상세 정보 및 연계 정보 등이 포함될 수 있음)와 카운팅 정보를 페어(pair)로 관리 및/또는 저장할 수 있다.
프로세서(190)는 중복이 하나도 발생되지 않은 보안 위협 데이터의 경우, 카운팅 정보를 1로 세팅하여, 페어로 관리 및/또는 저장할 수 있으나, 실시예가 이에 한정되는 것은 아니다.
그 후에, 프로세서(190)는 작업 단위마다 큐에 보관되어 중복이 제거된 보안 위협 데이터 및 그의 카운팅 정보를 보안 위협 데이터베이스(DB, 300)에 저장할 수 있다. 여기서, 작업 단위는 스케줄링 기준이 충족되어 중복 제거 로직 및 카운팅 로직을 수행하여 보안 위협 데이터베이스(DB, 300)에 저장하는 작업 단위일 수 있다.
상술한 바와 같이, 중복이 제거되어 보안 위협 데이터베이스(DB, 300)에 보안 위협 데이터(관련 정보 포함할 수 있음)가 저장됨으로써, 데이터베이스의 I/O 작업에 따른 비용 및 효율이 기존 기술 대비 우수하다. 즉, 보안 위협 데이터베이스에 보안 위협 데이터를 저장한 후, 데이터베이스 내에서 중복 데이터를 제거하는 기존의 방법보다 우수한 효과가 도출될 수 있으며, 반복 공격(가령, DDoS 공격)과 같이 반복 자체가 의미를 갖는 공격에 대해 보다 효과적으로 보안 시스템이 구동될 수 있다.
도 4는 본 개시에 따른 컴퓨팅 장치에 의해 수행되는 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법(S410 단계 내지 S450 단계)을 나타내는 시퀀스도이다. 도 5는 본 개시에 따른 클러스터의 구성 노드가 보안 위협 데이터를 탐지하는 예시적인 방법(S510 단계 내지 S550 단계)을 나타내는 시퀀스도이다. 도 4를 설명하면서 필요한 부분에서 도 5를 함께 참조하여 설명하기로 한다.
프로세서(190)는 통신부(110)를 통해, 클러스터를 구성하는 하나 이상의 노드로부터 탐지된 보안 위협 데이터를 수신할 수 있다(S410 단계).
클러스터의 노드들 각각은 탐지 로직에 따라 근거 데이터를 분석하여 보안 위협 데이터를 탐지할 수 있다. 클러스터의 노드가 SIEM 또는 SOAR 플랫폼을 위한 보안 자동화 대응 방법을 기반으로 설정된 구체적인 조건들에 따라 특정 이벤트에 대한 차단 여부를 결정하는 일련의 예시적인 동작 예를 도 5를 참고하여 설명하기로 한다.
클러스터의 노드들 각각은 이벤트의 발생을 감지하면, 제1 조건으로서 해당 이벤트의 출발지 IP가 특정 국가(가령, 중국, 북한 등)인지 여부를 확인하고(S510), 그 확인 결과, 해당 이벤트가 제1 조건을 만족하는 것으로 확인되는 경우에 가중치 1을 부여한다(S511).
그 다음으로, 클러스터의 노드들 각각은 제2 조건으로서 해당 이벤트의 IP가 CTI 등록 IP인지 여부를 확인하고(S520), 그 확인 결과, 해당 이벤트가 제2 조건을 만족하는 것으로 확인되는 경우에 가중치 1을 부여한다(S521).
여기서, CTI는 "Cyber Threat Intelligence"의 약어로, 사이버 위협 정보를 의미하고, CTI 위험도는 특정 사이버 위협이 조직 또는 시스템에 얼마나 큰 위험을 초래할 수 있는지를 평가하는 지표일 수 있다. CTI 위험도는 위협의 심각성, 취약성, 확산 가능성, 공격자의 의도와 능력 등의 요소를 고려하여 결정될 수 있다.
그 다음으로, 클러스터의 노드들 각각은 제3 조건으로서 기존 차단 횟수가 기 설정된 횟수인 10 이상인지 여부를 확인하고(S530), 그 확인 결과, 해당 이벤트가 제3 조건을 만족하는 것으로 확인되는 경우에 가중치 1을 부여한다(S531).
그 다음으로, 클러스터의 노드들 각각은 제1 조건 내지 제3 조건 중 적어도 하나의 조건을 연속하여 만족한 횟수가 기 설정된 횟수인 10회 이상인지 여부를 확인하고(S540), 그 확인 결과, 해당 이벤트가 제1 조건 내지 제3 조건 중 적어도 하나의 조건을 연속하여 만족한 횟수가 10회 이상인 경우에 가중치 1을 부여한다(S541). 예를 들어, 특정 IP가 지난 1시간 동안 3단계, 즉, 제3 조건까지 만족한 횟수가 기 설정된 횟수 이상이면, 위험 이벤트로 판단할 수 있다.
이후, 클러스터의 노드들 각각은 그 가중치들의 합을 산출하여 그 산출된 가중치에 대응하는 대응 조치를 수행할 수 있다(S550).
이상에서 전술한 본 발명의 일 실시예에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
다시 도 4로 돌아가, S410 단계 이후, 프로세서(190)는 수신된 보안 위협 데이터를 싱글톤 인스턴스(singleton instance)에 포함된 소정의 데이터 구조(data structure)에 보관할 수 있다(S420).
여기서, 데이터 구조는 다양하게 구현될 수 있는데, 이진 탐색 트리(binary search tree)로 구현될 수 있다. 이진 탐색 트리는 모든 노드가 최대 둘의 자식 노드를 가질 수 있으며, 왼쪽 노드는 부모 노드보다 작은 수가 오른쪽 노드는 부모 노드보다 큰 수가 배치됩니다.
실시예에서, 프로세서(190)는 보안 위협 데이터가 여러 노드에서 동시에 또는 시간차를 두고 수신되는 경우, 이진 탐색 트리의 트리 형태가 편중된 형태로 형성될 수 있다.
이때, 프로세서(190)는 이진탐색트리의 좌우 자식 노드의 높이차가 소정값 이상으로 설정되는 경우, 소정의 스케줄링 기준을 충족하는 것으로 설정할 수 있다(S430). 프로세서(190)는 트리거 상황에서 중복 제거 로직 및 카운팅 로직을 수행할 수 있다(S440). 즉, 프로세서(190)는 소정의 스케줄링 기준을 충족하는 것으로 판단한 후, 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하고, 중복 데이터가 제거된 보안 위협 데이터 및 카운팅 정보를 보안 위협 데이터베이스에 저장할 수 있다(S450).
실시예에서, 프로세서(190)는 디스플레이(130)를 통해 다양한 정보를 표시할 수 있는데, 클러스터의 노드들로부터 수신한 보안 위협 데이터에 대한 빈도수 정보, 시간대 정보, 노드들이 전송한 보안 위협 데이터 간의 동일/유사 패턴 정보 등을 디스플레이(130)에 출력할 수 있다.
가령, 프로세서(190)는 특정 보안 위협 데이터에 대해서 출처가 동일한 데이터가 수신되는 경우, 디스플레이(130)에 표시하고, 노드 별 수신량을 그래프로 일목요연하게 표시할 수 있다.
또한, 프로세서(190)는 클러스터의 노드들에 관련 정보를 통신부(110)를 통해 제공할 수 있다. 클러스터의 노드들은 클러스터 내부의 공유뿐만 아니라 외부의 데이터 공유에 의해 보안 위협 데이터에 보다 효과적으로 대응할 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
100 : 보안 위협 데이터 관리 장치, 190 : 프로세서.

Claims (10)

  1. 클러스터 환경 내 중복된 보안 위협 데이터 관리 장치로서,
    통신부; 디스플레이;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션을 실행하는 하나 이상의 프로세서를 포함하며,
    상기 프로세서는,
    상기 통신부를 통해, 클러스터를 구성하는 하나 이상의 노드로부터 보안 위협 데이터를 수신하고, 상기 수신된 보안 위협 데이터를 싱글톤 인스턴스(singleton instance)에 포함된 소정의 데이터 구조(data structure)에 보관하며,
    미리 설정된 스케줄링 기준을 충족하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하고, 중복 데이터가 제거된 보안 위협 데이터 및 카운팅 정보만 보안 위협 데이터베이스에 저장하며,
    상기 데이터 구조는,
    큐(quene), 스택(stack), 연결리스트(linkedlist) 및 이진 탐색 트리(binary search tree) 중 하나를 포함하며,
    상기 프로세서는,
    상기 데이터 구조가 상기 이진 탐색 트리로 구성된 경우, 보안 위협 데이터가 상기 클러스터를 구성하는 하나 이상의 노드로부터 동시 또는 시간차를 두고 수신되어 상기 이진 탐색 트리에 보관되고, 상기 이진 탐색 트리에 포함된 좌우 자식 노드의 높이차가 소정값 이상인 경우, 상기 스케줄링 기준을 충족한 것으로 판단하며,
    상기 프로세서는,
    상기 클러스터의 노드에서 보안 위협 데이터를 탐지하기 위한 하나 이상의 조건의 만족에 따른 가중치값이 소정 값 이상이면, 상기 보안 위협 데이터를 상기 클러스터의 노드로부터 수신하며,
    상기 프로세서는,
    상기 클러스터의 노드로부터 수신한 보안 위협 데이터에 대한 빈도수 정보, 시간대 정보 및 노드들이 전송한 보안 위협 데이터가 동일 출처인 경우 상기 클러스터의 노드별 수신량을 상기 디스플레이에 출력하도록 구성되는, 관리 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    탐지 로직에 따라 근거 데이터를 분석하여 보안 위협 데이터를 탐지하는 상기 노드로부터 보안 위협 데이터를 상기 통신부를 통해 수신하도록 구성되는, 관리 장치.
  3. 삭제
  4. 제2항에 있어서,
    상기 프로세서는,
    소정의 타임 주기가 도래하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하도록 구성되는, 관리 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 데이터 구조의 보관량 또는 보관 속도가 소정 기준을 초과하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하도록 구성되는, 관리 장치.
  6. 컴퓨팅 장치의 프로세서에 의해 수행되는 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법으로서,
    클러스터를 구성하는 하나 이상의 노드로부터 탐지된 보안 위협 데이터를 수신하는 단계;
    상기 수신된 보안 위협 데이터를 싱글톤 인스턴스(singleton instance)에 포함된 소정의 데이터 구조(data structure)에 보관하는 단계;
    미리 설정된 스케줄링 기준을 충족하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하는 단계; 및
    중복 데이터가 제거된 보안 위협 데이터 및 카운팅 정보만 보안 위협 데이터베이스에 저장하는 단계를 포함하며,
    상기 데이터 구조는,
    큐(quene), 스택(stack), 연결리스트(linkedlist) 및 이진 탐색 트리(binary search tree) 중 하나를 포함하며,
    상기 프로세서는,
    상기 데이터 구조가 상기 이진 탐색 트리로 구성된 경우, 보안 위협 데이터가 상기 클러스터를 구성하는 하나 이상의 노드로부터 동시 또는 시간차를 두고 수신되어 상기 이진 탐색 트리에 보관되고, 상기 이진 탐색 트리에 포함된 좌우 자식 노드의 높이차가 소정값 이상인 경우, 상기 스케줄링 기준을 충족한 것으로 판단하며,
    상기 프로세서는,
    상기 클러스터의 노드에서 보안 위협 데이터를 탐지하기 위한 하나 이상의 조건의 만족에 따른 가중치값이 소정 값 이상이면, 상기 보안 위협 데이터를 상기 클러스터의 노드로부터 수신하며,
    상기 프로세서는,
    상기 클러스터의 노드로부터 수신한 보안 위협 데이터에 대한 빈도수 정보, 시간대 정보 및 노드들이 전송한 보안 위협 데이터가 동일 출처인 경우 상기 클러스터의 노드별 수신량을 디스플레이에 출력하도록 구성되는, 관리 방법.
  7. 제6항에 있어서,
    상기 수신하는 단계는,
    탐지 로직에 따라 근거 데이터를 분석하여 보안 위협 데이터를 탐지하는 상기 노드로부터 상기 탐지된 보안 위협 데이터를 수신하는 단계를 포함하는, 관리 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 카운팅하는 단계는,
    소정의 타임 주기가 도래하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하는 단계를 포함하는, 관리 방법.
  10. 제9항에 있어서,
    상기 카운팅하는 단계는,
    상기 데이터 구조의 보관량 또는 보관 속도가 소정 기준을 초과하는 경우, 상기 보관된 보안 위협 데이터에서 중복 데이터를 제거하면서 카운팅하는 단계를 포함하는, 관리 방법.
KR1020230075966A 2023-06-14 2023-06-14 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법 및 이를 위한 장치 KR102598126B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230075966A KR102598126B1 (ko) 2023-06-14 2023-06-14 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230075966A KR102598126B1 (ko) 2023-06-14 2023-06-14 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
KR102598126B1 true KR102598126B1 (ko) 2023-11-03

Family

ID=88745238

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230075966A KR102598126B1 (ko) 2023-06-14 2023-06-14 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102598126B1 (ko)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101451640B1 (ko) 2006-12-28 2014-10-16 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 컴퓨터 네트워크 보안을 보조하기 위한, 로그 데이터의 효과적인 저장과 질의의 지원
CN104615542A (zh) * 2015-02-11 2015-05-13 中国科学院软件研究所 一种基于函数调用的脆弱性关联分析辅助漏洞挖掘的方法
KR20200073824A (ko) * 2018-12-14 2020-06-24 한국인터넷진흥원 악성코드 프로파일링 방법 및 그 장치
KR20200076845A (ko) * 2018-12-20 2020-06-30 한국인터넷진흥원 악성코드 분석 시스템 및 그 시스템의 동작 방법
CN111865979A (zh) * 2020-07-20 2020-10-30 北京丁牛科技有限公司 一种漏洞信息处理方法及网络攻防平台
CN112822210A (zh) * 2021-02-06 2021-05-18 华能国际电力股份有限公司 一种基于网络资产的漏洞管理系统
US20210286879A1 (en) * 2020-03-13 2021-09-16 International Business Machines Corporation Displaying Cyber Threat Data in a Narrative
CN114297661A (zh) * 2021-12-24 2022-04-08 恒安嘉新(北京)科技股份公司 一种漏洞的去重处理方法、装置、设备及存储介质
CN114780810A (zh) * 2022-04-22 2022-07-22 中国电信股份有限公司 数据处理方法、装置、存储介质及电子设备
CN115952375A (zh) * 2022-12-28 2023-04-11 安天科技集团股份有限公司 一种威胁情报数据有效性验证方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101451640B1 (ko) 2006-12-28 2014-10-16 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 컴퓨터 네트워크 보안을 보조하기 위한, 로그 데이터의 효과적인 저장과 질의의 지원
CN104615542A (zh) * 2015-02-11 2015-05-13 中国科学院软件研究所 一种基于函数调用的脆弱性关联分析辅助漏洞挖掘的方法
KR20200073824A (ko) * 2018-12-14 2020-06-24 한국인터넷진흥원 악성코드 프로파일링 방법 및 그 장치
KR20200076845A (ko) * 2018-12-20 2020-06-30 한국인터넷진흥원 악성코드 분석 시스템 및 그 시스템의 동작 방법
US20210286879A1 (en) * 2020-03-13 2021-09-16 International Business Machines Corporation Displaying Cyber Threat Data in a Narrative
CN111865979A (zh) * 2020-07-20 2020-10-30 北京丁牛科技有限公司 一种漏洞信息处理方法及网络攻防平台
CN112822210A (zh) * 2021-02-06 2021-05-18 华能国际电力股份有限公司 一种基于网络资产的漏洞管理系统
CN114297661A (zh) * 2021-12-24 2022-04-08 恒安嘉新(北京)科技股份公司 一种漏洞的去重处理方法、装置、设备及存储介质
CN114780810A (zh) * 2022-04-22 2022-07-22 中国电信股份有限公司 数据处理方法、装置、存储介质及电子设备
CN115952375A (zh) * 2022-12-28 2023-04-11 安天科技集团股份有限公司 一种威胁情报数据有效性验证方法

Similar Documents

Publication Publication Date Title
Alaiz-Moreton et al. Multiclass classification procedure for detecting attacks on MQTT-IoT protocol
US11973774B2 (en) Multi-stage anomaly detection for process chains in multi-host environments
Sarker Deep cybersecurity: a comprehensive overview from neural network and deep learning perspective
US11522881B2 (en) Structural graph neural networks for suspicious event detection
JP6888109B2 (ja) インテリジェントセキュリティ管理
EP3355547B1 (en) Method and system for learning representations of network flow traffic
KR102480204B1 (ko) 침입 탐지를 위한 지속적인 학습
Shahraki et al. A comparative study on online machine learning techniques for network traffic streams analysis
Soni et al. Machine learning techniques in emerging cloud computing integrated paradigms: A survey and taxonomy
US20180276508A1 (en) Automated visual information context and meaning comprehension system
JP2022508091A (ja) 動的再構成訓練コンピュータアーキテクチャ
US20220172004A1 (en) Monitoring bias metrics and feature attribution for trained machine learning models
WO2023055426A1 (en) Techniques for input classification and responses using generative neural networks
US11546205B1 (en) Control system anomaly detection using neural network consensus
US20230376026A1 (en) Automated real-time detection, prediction and prevention of rare failures in industrial system with unlabeled sensor data
CN111935134A (zh) 一种复杂网络安全风险监测方法和系统
CN114445667A (zh) 图像检测方法和用于训练图像检测模型的方法
US11392821B2 (en) Detecting behavior patterns utilizing machine learning model trained with multi-modal time series analysis of diagnostic data
Malliga et al. A comprehensive review of deep learning techniques for the detection of (distributed) denial of service attacks
US20220121942A1 (en) Method and system for cognitive information processing using representation learning and decision learning on data
US20220172101A1 (en) Capturing feature attribution in machine learning pipelines
Abid et al. Real-time data fusion for intrusion detection in industrial control systems based on cloud computing and big data techniques
US11016871B1 (en) Reducing resource consumption associated with executing a bootstrapping process on a computing device
KR102598126B1 (ko) 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법 및 이를 위한 장치
US20200380420A1 (en) Method and system for data communication

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant