KR102357630B1 - 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법 - Google Patents

제어시스템 보안이벤트의 공격전략 분류 장치 및 방법 Download PDF

Info

Publication number
KR102357630B1
KR102357630B1 KR1020200085550A KR20200085550A KR102357630B1 KR 102357630 B1 KR102357630 B1 KR 102357630B1 KR 1020200085550 A KR1020200085550 A KR 1020200085550A KR 20200085550 A KR20200085550 A KR 20200085550A KR 102357630 B1 KR102357630 B1 KR 102357630B1
Authority
KR
South Korea
Prior art keywords
attack
security event
control system
strategy
classification model
Prior art date
Application number
KR1020200085550A
Other languages
English (en)
Other versions
KR20220007395A (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 KR1020200085550A priority Critical patent/KR102357630B1/ko
Publication of KR20220007395A publication Critical patent/KR20220007395A/ko
Application granted granted Critical
Publication of KR102357630B1 publication Critical patent/KR102357630B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

실시예는 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법이 개시된다. 본 발명의 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 장치는, 적어도 하나의 프로그램이 기록된 메모리 및 프로그램을 실행하는 프로세서를 포함하며, 프로그램은, 입력되는 제어시스템의 보안이벤트에 정보를 증강하는 정보증강부 및 보안이벤트를 공격기술 설명문서를 입력받아 레이블링된 공격전략을 예측하도록 미리 학습된 분류모델에 투입하여 공격전략별 유사도 벡터를 계산하는 공격전략 유사도 벡터 계산부를 포함할 수 있다.

Description

제어시스템 보안이벤트의 공격전략 분류 장치 및 방법{Apparatus and Method for Classifying Attack Tactics of Security Event in Industrial Control System}
기재된 실시예는 제어시스템 내 구성된 IT 환경 및 OT 환경에서 생성하는 다양한 형태의 보안정보를 대상으로, 해당 이벤트의 공격전략(Attack Tactics)을 자동으로 평가하고 분류하는 기술에 관한 것이다.
IT 및 OT 환경을 대상으로 한 사이버 공격은 공격 목적을 달성하는 과정에서 실행된 복수의 공격전략(Tactic, TA)으로 구성된다. 또한, 각 공격전략은 다양한 공격기술(Technique, T)을 포함할 수 있다.
미 연방정부가 지원하는 사이버보안 연구기관인 MITRE에서는, IT 환경에서 사용되는 266개의 공격기술을 12개의 공격전략으로, OT 환경에서 사용되는 81개의 공격기술을 11개의 공격전략으로 분류하여 공격 매트릭스(Attack Matrix) 형태로 웹상에서 제공하고 있다(2020.05.27. 기준).
IT 및 OT 환경으로 구성된 제어시스템을 대상으로 사이버공격 발생시, 시스템 내에서는 사실상 무한한 종류의 수많은 보안이벤트가 발생한다. 일반적인 IT환경에 비해 복잡한 제어시스템 환경에서, 초당 수십~수백개의 이벤트가 동시에 발생하는 경우도 있다. 인간의 인지능력을 고려하면, 이러한 상황에서 관제원이 짧은 시간 내 대량의 보안이벤트를 분석하여 공격 상황에 대처하는 것은 사실상 불가하다.
따라서 관제원의 인지 부하를 저감시키기 위하여, 제어시스템 내 발생하는 보안이벤트를 클러스터링(집약, 축약, 압축)하는 기술이 필요하다.
일반적인 보안이벤트는 발생 시각, 공격자 정보, 피해자 정보, 이벤트 명 이렇게 4가지 필드로 구성이 되어있다. 이 중, 공격자 및 피해자 정보(IP, Port번호)는 서브넷별 그룹핑이나 통계에 기반한 구간 분할 등, 비교적 간단한 수학적인 방법으로 그룹 간 분류가 가능하다.
하지만 이벤트 명의 경우, 장비 종류, 제조사, 공격 종류에 따라 수없이 많은 종류의 보안이벤트 명이 생성되지만, 이들을 특정 그룹으로 분류할 수 있는 손쉬운 방법은 존재하지 않는다. 현재 일반적인 SIEM(Security Information and Event Management) 에서는 사전에 수작업으로 매핑된 딕셔너리를 기반으로 분류하고 있지만,
모든 보안이벤트를 대상으로 딕셔너리를 만드는 작업과, 이를 유지보수 하는 작업 부담이 역시 상당하다.
또한 신규 취약점과 관련된 보안이벤트도 분류가 가능하도록, 최신 정보를 기반으로 지속적으로 분류 모델을 업데이트할 수 있는 구조여야 한다.이러한 문제점을 극복하기 위하여, 사전에 정의된 딕셔너리 없이도 자동으로 보안이벤트를 분류하는 기술이 필요하다.
특히, 무한한 종류의 보안이벤트를 MITRE가 정의한 공격전략들로 분류하여, 보안이벤트들의 정보량을 대폭 축소할 수 있다.이는 관제원의 인지 부하를 저감하고, 효과적인 시각화를 가능케 하여 사이버 침해 위협 상황에 대한 직관적인 이해도를 높일 수 있다.
기재된 실시예는 제어시스템 보안이벤트의 공격전략을 분류하기 위한 관제원의 인지 부하를 저감시키는 데 그 목적이 있다.
기재된 실시예는 제어시스템 보안이벤트의 공격전략을 자동분류의 정확도를 향상시키는데 그 목적이 있다.
기재된 실시예는 제어시스템 보안이벤트의 공격전략을 최신 정보를 기반으로 자동 분류할 수 있는데 그 목적이 있다.
기재된 실시예는 관제원이 현재 진행되는 사이버공격 상황에 대해 직관적으로 이해할 수 있게 지원하고, 대쉬보드 상에서 효과적인 시각화를 가능하게 하는데 그 목적이 있다.
실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치는, 적어도 하나의 프로그램이 기록된 메모리 및 프로그램을 실행하는 프로세서를 포함하며, 프로그램은, 공격 매트릭스 웹페이지에서 제어시스템 보안이벤트의 공격전략별로 분류된 공격기술 설명문서를 추출하여 상응하는 공격전략을 레이블링하는 학습데이터 추출부 및 공격기술 설명문서를 입력받아 레이블링된 공격전략을 예측하도록 분류모델을 학습시키는 분류모델 학습부를 포함할 수 있다.
이때, 학습데이터 추출부는, 정보 기술(Information Technology, 이하 'IT'로 기재함) 및 운영 기술(Operational Technology, 이하 'OT'라 기재함) 별로 공격전략별 공격기술 설명문서를 추출하고, 분류모델 학습부는, IT 및 OT 별로 분류모델을 학습시킬 수 있다.
실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치는, 공격기술 설명문서를 텍스트 기반으로 전처리하는 학습데이터 전처리부를 더 포함하되, 학습데이터 전처리부는, 비 알파벳 문자 삭제, 불용어(stop words)의 삭제, 대문자의 소문자 변경(lowering), 어간 추출(stemming), 특수 문자(punctuation) 제거, 단어 분할(split) 및 중복 단어 제거 중 적어도 하나를 수행할 수 있다.
이때, 학습데이터 전처리부는, 공격기술 설명문서에서 단어 출현빈도(Term Frequency), TF-IDF(Term Frequency Inverse Document Frequency) 및 WMD(Word Mover's Distance)를 포함하는 추출 알고리즘들 중 하나를 통해 특징을 추출할 수 있다.
이때, 분류모델 학습부는, 학습 알고리즘으로 다중 클래스를 판별하는 Naive Bayes Classifier, Multi-class SVM(Support Vector Machine), Logistic Regression, DNN(Deep Neural Network) 및 CNN(Convolutional Neural Network) 중 적어도 하나의 머신러닝 알고리즘을 사용할 수 있다.
이때, 학습데이터 추출부는, 공격 매트릭스 웹페이지를 모니터링하여 콘텐츠 변경 여부에 따라, 공격 매트릭스 웹페이지에서 공격전략별로 분류된 공격기술 설명문서를 재 추출하고, 학습데이터 전처리부는, 재 추출된 공격기술 설명문서를 텍스트 기반으로 전처리하고, 분류모델 학습부는, 전처리된 재 추출된 공격기술 설명문서로 분류모델을 재 학습시킬 수 있다.
실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 장치는, 적어도 하나의 프로그램이 기록된 메모리 및 프로그램을 실행하는 프로세서를 포함하며, 프로그램은, 입력되는 제어시스템의 보안이벤트에 정보를 증강하는 보안이벤트 정보증강부 및 보안이벤트를 공격기술 설명문서를 입력받아 레이블링된 공격전략을 예측하도록 미리 학습된 분류모델에 투입하여 공격전략별 유사도 벡터를 계산하는 공격전략 유사도 벡터 계산부를 포함할 수 있다.
이때, 공격전략 유사도 벡터 계산부는, 정보 기술(IT) 분류 모델 및 운영 기술(OT) 분류 모델을 포함하고, IT 보안이벤트 및 OT 보안이벤트를 각각 상응하는 분류모델에 투입하여 공격전략별 유사도 벡터를 계산할 수 있다.
이때, 보안이벤트 정보증강부는, 보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하는 CVE 데이터베이스일 경우, 전용 API를 통해 CVE코드 기반으로 쿼리를 전송한 후, 리턴되는 결과값 내에 포함된 정보를 보안이벤트에 증강할 수 있다.
이때, 보안이벤트 정보증강부는, 보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하지 않는 CVE 데이터베이스일 경우, 홈페이지에서 직접 크롤링하여 취약점 정보를 취득하여 보안이벤트에 증강할 수 있다.
이때, 보안이벤트 정보증강부는, 보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하지 않을 경우, 보안이벤트 텍스트 전체를 검색 쿼리로 하여 검색 엔진으로부터 검색된 소정 개수의 문서들로부터 추출된 공통 키워드를 보안이벤트에 증강할 수 있다.
실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 장치는, 보안이벤트 정보증강부로부터 출력된 보안이벤트를 텍스트 기반으로 전처리하는 입력데이터 전처리부를 더 포함하되, 입력데이터 전처리부는, 비 알파벳 문자 삭제, 불용어(stop words)의 삭제, 대문자의 소문자 변경(lowering), 어간 추출(stemming), 특수 문자(punctuation) 제거, 단어 분할(split) 및 중복 단어 제거 중 적어도 하나를 수행할 수 있다.
이때, 입력데이터 전처리부는, 공격기술 설명문서에서 단어 출현빈도(Term Frequency), TF-IDF(Term Frequency Inverse Document Frequency) 및 WMD(Word Mover's Distance)를 포함하는 추출 알고리즘들 중 하나를 통해 특징을 추출할 수 있다.
실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 방법은, 입력되는 제어시스템의 보안이벤트에 정보를 증강하는 단계 및 보안이벤트를 공격기술 설명문서를 입력받아 레이블링된 공격전략을 예측하도록 미리 학습된 분류모델에 투입하여 공격전략별 유사도 벡터를 계산하는 단계를 포함할 수 있다.
이때, 공격전략별 유사도 벡터를 계산하는 단계는, 정보 기술(Information Technology, 이하 'IT'로 기재함) 분류 모델 및 운영 기술(Operational Technology, 이하 'OT'라 기재함) 분류 모델을 포함하고, IT 보안이벤트 및 OT 보안이벤트를 각각 상응하는 분류모델에 투입하여 공격전략별 유사도 벡터를 계산할 수 있다.
이때, 정보를 증강하는 단계는, 보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하는 CVE 데이터베이스일 경우, 전용 API를 통해 CVE코드 기반으로 쿼리를 전송한 후, 리턴되는 결과값 내에 포함된 정보를 보안이벤트에 증강할 수 있다.
이때, 정보를 증강하는 단계는, 보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하지 않는 CVE 데이터베이스일 경우, 홈페이지에서 직접 크롤링하여 취약점 정보를 취득하여 보안이벤트에 증강할 수 있다.
이때, 정보를 증강하는 단계는, 보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하지 않을 경우, 보안이벤트 텍스트 전체를 검색 쿼리로 하여 검색 엔진으로부터 검색된 소정 개수의 문서들로부터 추출된 공통 키워드를 보안이벤트에 증강할 수 있다.
실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 방법은, 보안이벤트를 텍스트 기반으로 전처리하는 단계를 더 포함하되, 전처리하는 단계는, 비 알파벳 문자 삭제, 불용어(stop words)의 삭제, 대문자의 소문자 변경(lowering), 어간 추출(stemming), 특수 문자(punctuation) 제거, 단어 분할(split) 및 중복 단어 제거 중 적어도 하나를 수행하는 단계를 포함할 수 있다.
이때, 전처리하는 단계는, 공격기술 설명문서에서 단어 출현빈도(Term Frequency), TF-IDF(Term Frequency Inverse Document Frequency) 및 WMD(Word Mover's Distance)를 포함하는 추출 알고리즘들 중 하나를 통해 특징을 추출하는 단계를 포함할 수 있다.
실시예에 따라, 제어시스템 내 다양한 제조사 및 장비에서 생성되는 무한한 종류의 보안이벤트를 IT환경 12개 혹은 OT환경 11개 공격전략 중 하나로 분류하여 보안이벤트 내 관제원이 분석해야 할 정보를 대폭 축약할 수 있다.
또한, 공격전략으로 치환된 보안이벤트 정보를 바탕으로, 관제원이 현재 진행되는 사이버공격 상황에 대해 직관적으로 이해할 수 있게 지원한다.
또한, 현재 관제원이 수작업으로 실시하는 보안이벤트와 공격전략 간의 매핑작업 없이 자동 분류가 가능 하여, 기존처럼 매핑을 수기로 진행하는데 요구되는 고비용(시간, 인적자원 등) 문제를 해결할 수 있다.
또한, 보안이벤트의 정보증강을 실시하여 분류의 높은 정확도로 분류를 가능하게 한다.
또한, 웹페이지 상의 최신 정보를 바탕으로 수시로 분류모델 업데이트를 진행하여, 새롭게 구성되는 장비, 신규 업데이트된 탐지 엔진, 신규 취약점과 관련된 보안이벤트에 대해서도 자동분류가 가능하다.
또한, 축약된 보안 정보들은 대쉬보드 상에서 효과적인 시각화를 가능하게 하여, 이를 바탕으로 신속하고 적절한 초동조치 및 사후 심층분석에 활용할 수 있을 것으로 기대한다.
아울러, 본 발명은 제어시스템 내 IT환경 및 OT환경을 대상으로 하고 있지만, IT환경 분류모델만을 활용하여 일반적인 IT환경에 적용하는 것도 가능 하며, 사이버 보안 강화 측면에서 상기 내용과 동일한 효과를 기대할 수 있다.
도 1은 제어시스템의 IT망과 OT망의 구분 예시도이다.
도 2는 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 시스템의 개략적인 블록 구성도이다.
도 3은 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치의 개략적인 블록 구성도이다.
도 4는 MITRE Attack Matrix의 IT에 대한 공격기술 문서 수집 및 레이블링의 예시도이다.
도 5는 MITRE Attack Matrix의 OT에 대한 공격기술 문서 수집 및 레이블링의 예시도이다.
도 6은 IT에 대해 수집 완료된 MITRE Attack Matrix의 예시도이다.
도 7은 OT에 대해 수집 완료된 MITRE Attack Matrix의 예시도이다.
도 8은 실시예에 따른 공격전략 자동 분류 모델 생성을 설명하기 위한 도면이다.
도 9는 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 장치의 개략적인 블록 구성도이다.
도 10은 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 방법을 설명하기 위한 순서도이다.
도 11은 도 10의 보안이벤트 정보 증강 단계를 상세히 설명하기 위한 순서도이다.
도 12는 보안이벤트 내 CVE 코드가 있는 경우의 정보 증강 및 유사도 벡터 계산 과정의 예시도이다.
도 13은 웹크롤링을 통한 CVE 정보 증강의 예시도이다.
도 14는 보안이벤트 내 CVE코드가 없는 경우의 정보 증강 및 유사도 벡터 계산 과정의 예시도이다.
도 15는 MITRE Attack Matrix에서 수집된 IT 환경의 학습데이터의 구성 예시도이다.
도 16은 IT 환경에서의 분류모델의 성능 예시도이다.
도 17 및 도 18은 실시예에 따라 분류된 보안이벤트들을 공격전략별로 분류하여 시각화한 예시도이다.
도 19는 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서는, 도 1 내지 도 19를 참조하여 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법이 상세히 설명된다.
도 1은 제어시스템의 IT망과 OT망의 구분 예시도이다.
도 1을 참조하면, 제어시스템은 제어시스템의 운전을 직접적으로 제어하는 하부의 OT 망과, 제어시스템 운영 전반을 담당하는 상부의 IT 망으로 나눌 수 있다.
OT망은 센서, 액츄에이터, PLC(Programmable Logic Controller), RTU(Remote Terminal Unit), Historian, EWS(Engineering Workstation), HMI(Human-Machine Interface)등으로 구성된다. 여기에 추가로 OT망 프로토콜 전용 방화벽, NAC(Network Access Control), 산업용 IDPS(Intrusion Detection and Prevention System), SIEM등이 구성될 수 있다. 본 발명에 있어서 "OT 보안이벤트"란, 이들 장비에서 생성되는 모든 형태의 로그(상태, 경고, 탐지, 감사 등)를 의미한다.
IT망은 사무용 PC, Historian, Remote Access 서버, Router등으로 구성된다. 여기에 추가로 방화벽, IDPS(Intrusion Detection and Prevention System), VPN(Virtual Private Network) Server, SIEM등이 구성될 수 있다. 본 발명에 있어서 "IT 보안이벤트"는 이들 장비에서 생성되는 모든 형태의 이벤트 로그(상태, 경고, 탐지, 감사 등)를 의미한다.
본 발명은 제조사, 그 제조사가 제공하는 시스템 종류, 그 시스템의 버전 등 시스템에 종속된 특성과 시스템을 설치 후 운영하는 주체가 적용한 자체 설정, 보안 정책 또는 기타 제약사항 및 조건 등 시스템의 운영환경에 종속된 특성에 따라 달라지는 모든 형태의 보안이벤트를 대상으로 한다.
도 2는 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 시스템의 개략적인 블록 구성도이다.
도 2를 참조하면, 제어시스템 보안이벤트의 공격전략 분류 시스템은 보안이벤트의 공격전략을 분류할 수 있는 분류 모델을 머신 러닝 기반으로 생성하는 공격전략 분류 모델 생성 장치(100)와, 공격전략 분류 모델 생성 장치(100)에 의해 생성된 분류 모델을 이용하여 보안이벤트의 공격전략을 자동 분류하는 공격전략 분류 장치(200)를 포함할 수 있다. 이러한 공격전략 분류 모델 생성 장치(100) 및 공격전략 분류 장치(200)는 물리적으로 분리된 하드웨어 장치에서 구현될 수도 있고, 일체형으로 구현될 수도 있다.
우선, 도 3 내지 도 8을 참조하여 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치(100)에 대해 살펴보기로 한다.
도 3은 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치의 개략적인 블록 구성도이다.
도 3을 참조하면, 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치(100)는, 학습데이터 추출부(110) 및 분류모델 학습부(130)를 포함할 수 있다. 부가적으로, 학습데이터 전처리부(120)을 더 포함할 수 있다.
학습데이터 추출부(110)는, 공격 매트릭스 웹페이지에서 제어시스템 보안이벤트의 공격전략별로 분류된 공격기술 설명문서를 추출하여 상응하는 공격전략을 레이블링한다.
이때, 공격 매트릭스 웹페이지는, 공인기관, 예컨대, MITRE에서 제공하는 공격 매트릭스(Attack Matrix) 페이지일 수 있고, 공격 매트릭스(Attack Matrix)는 공격전략(TA)별로 공격기술(T) 설명 문서가 분류되어 있는 것일 수 있다.
이때, 학습데이터 추출부(110)는, 공격기술 설명문서를 추출함에 있어, 직접적인 웹 페이지 추출이나, API를 통한 직접적인 통신 등의 방식을 취할 수 있다.
이때, 웹페이지에서 크롤링하여 추출하는 경우, 목차 등의 중복되는 텍스트를 제거하고 해당 문서의 본문만을 추출할 수 있다.
또한, 학습데이터 추출부(110)는, 공격 기술 환경, 즉, 정보 기술() 및 운영 기술(OT) 별로 공격전략별 공격기술 설명문서를 추출할 수 있다.
도 4는 Attack Matrix의 IT에 대한 공격기술 문서 수집 및 레이블링의 예시도이고, 도 5는 Attack Matrix의 OT에 대한 공격기술 문서 수집 및 레이블링의 예시도이다.
예컨대, 도 4 및 도 5에 도시된 바와 같이, MITRE에서 제공하는 공격 매트릭스(Attack Matrix) 페이지는, Enterprise(이하 IT환경)(10) 및 ICS(이하 OT환경)(20) 별로 Attack Matrix가 준비되어 있으므로, 각각에 대한 웹페이지(10, 20)에서 공격전략(Tactics, 이하 TA)별로 분류되어 있는 공격기술(Technique, 이하 T) 설명 문서(11, 21)를 수집할 수 있다.
이때, 학습데이터 추출부(110)는, 수집된 공격기술 설명문서들은 해당 공격기술의 환경(IT, OT) 별로 상응하는 공격전략을 레이블링하여 훈련 데이터로 저장해둔다.
예컨대, 도 4 및 도 5에 도시된 바와 같이, 공격기술 설명문서(11, 21) 각각에 상응하는 공격전략(12, 22)을 레이블링을 실시하여 저장하여, 추후 분류 모델을 훈련할 때 정답값으로 사용될 수 있도록 한다.
전술한 바와 같이 학습데이터 추출부(110)에 의해 수집된 IT 및 OT 별 공격 기술 설명 문서들은 취합하여 구조화하면 도 6 및 도 7에 도시된 바와 같이 Attack Matrix 형태로 분류될 수 있다.
도 6은 IT에 대해 수집 완료된 MITRE Attack Matrix의 예시도이고, 도 7은 OT에 대해 수집 완료된 MITRE Attack Matrix의 예시도이다.
도 6 및 도 7을 참조하면, IT 및 OT의 공격전략은 공통되는 항목, 예컨대 "Initial Access", "Execution", "Persistence", "Discovery", "Lateral Movement", "Collection" 등을 포함하여 다수 존재할 수 있다.
다시 도 3을 참조하면, 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치(100)는, 학습데이터 추출부(110) 및 분류모델 학습부(130) 사이에 학습데이터 전처리부(120)을 더 포함할 수 있다.
학습데이터 전처리부(120)는, 학습데이터 추출부(110)에 의해 수집된 기술 문서별로 텍스트 기반 전처리를 실시한다.
이때, 학습데이터 전처리부(120)는, 비 알파벳(non-aphabet) 문자 삭제, 불용어(stop words)의 삭제, 대문자의 소문자 변경(lowering), 규칙 기반으로 접사를 없애고 단어의 어근으로 변경하는 어간 추출(stemming),''! ''$%&()+,-.:;'<=>?@[\]^| {}~" 등과 같은 특수 문자(punctuation) 제거, 단어 분할(split), 중복 단어 제거 중 적어도 하나를 수행할 수 있다. 이를 1차 전처리라 할 수 있다.
또한, 학습데이터 전처리부(120)는, 기술 문서 각각의 특징을 가장 잘 표현하는 추출 알고리즘을 이용하여 특징량(feature)을 추출할 수 있다. 이때, 모든 기술 문서 각각에 대해 실시하여 특징량을 추출할 수 있다. 이를 2차 전처리라 할 수 있는데, 1차 전처리 후에 수행될 수 있다.
이때, 추출 알고리즘은, 문서별 단어 출현빈도(Term Frequency)나, TF-IDF(Term Frequency Inverse Document Frequency), WMD(Word Mover's Distance) 중 하나가 포함될 수 있다.
전술한 바와 같은 학습데이터 추출부(110) 및 학습데이터 전처리부(120)에 의해 학습 데이터가 마련되면, 분류모델 학습부(130)는, 공격기술 설명문서를 입력받아 레이블링된 공격전략을 예측하도록 분류모델을 학습시킬 수 있다.
이때, 분류모델 학습부(130)는, 도 6 및 7에 도시된 바와 같이, IT 및 OT 각각에 대해 생성된 공격 매트릭스(Attack Matrix)를 이용하여, 공격기술(T)을 입력받아 전략(TA)을 예측하는 분류모델을 IT 및 OT별로 생성할 수 있다.
이때, 학습 알고리즘으로 다중 클래스를 판별하는 머신러닝 알고리즘으로, Naive Bayes Classifier, Multi-class SVM(Support Vector Machine), Logistic Regression, DNN(Deep Neural Network) 및 CNN(Convolutional Neural Network) 중 적어도 하나가 사용될 수 있다. 또한, DNN 및 CNN이 결합된 학습 알고리즘이 사용될 수도 있다.
도 8은 실시예에 따른 공격전략 자동 분류 모델 생성을 설명하기 위한 도면이다.
도 8를 참조하면, 분류모델 학습부(130)는, IT 환경에서의 분류모델이 공격전략인 "Initial Access"를 예측할 수 있도록 하기 위해, 분류모델의 입력으로 공격전략 "Initial Access"으로 분류된 공격기술 T1189, T1190, ... , T1199~를 입력시켜 분류모델에서 출력된 결과, 즉 공격전략들 각각에 대한 확률값 중 "Initial Access"에 상응하는 확률값이 최대가 될 수 있도록 분류모델을 학습시킨다. 즉, 분류모델이 DNN으로 구성될 경우, DNN의 출력으로 "Initial Access"에 대한 확률값이 최대가 되도록 DNN의 가중치 및 바이어스 등을 포함하는 파라미터를 역전파 방식으로 갱신해나간다.
이와 같은 방식으로, 분류모델 학습부(130)는, 도 6에 도시된 바와 같이 IT환경 내 공격전략인 "Initial Access"부터 "Impact" 각각으로 분류되어 있는 학습 데이터, 즉 공격기술 설명문서로 학습을 반복한다. 이와 같이, 학습이 완료되면 IT 보안이벤트의 공격전략을 분류해낼 수 있는 분류모델 1개가 생성될 수 있다.
또한, 분류모델 학습부(130)는, 도 7에 도시된 바와 같은 OT 학습데이터를 대상으로 동일 작업을 반복하여, OT 보안이벤트용 분류모델 1개를 추가로 생성할 수 있다.
한편, 학습데이터 추출부(110)는 공격 매트릭스(Attack Matrix) 페이지를 모니터링하여 콘텐츠 변경 여부에 따라, 공격 매트릭스 웹페이지에서 공격전략별로 분류된 공격기술 설명문서를 재 추출할 수 있다. 이때, 모니터링 주기는 운영자에 의해 설정될 수 있는데, IT 및 OT에 따라 또는 공격전략별로 설정될 수도 있다.
이때, 학습데이터 전처리부(120)는, 재 추출된 공격기술 설명문서를 텍스트 기반으로 전처리할 수 있다.
또한, 분류모델 학습부(130)는, 전처리된 재 추출된 공격기술 설명문서로 분류모델을 재 학습시킬 수 있다.
이와 같이, 최신 정보를 바탕으로 자동으로 분류모델 업데이트가 가능한 구조로 설계되어, 신규 장비, 탐지 엔진, 취약점과 관련된 보안이벤트에 대해서도 자동분류가 가능하도록 할 수 있다.
다음으로, 전술한 바와 같은 공격전략 분류 모델 생성 장치(100)에 의해 생성된 공격전략 분류 모델을 이용한 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법에 대해 도 9 내지 도 16을 참조하여 설명하기로 한다.
도 9는 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 장치의 개략적인 블록 구성도이고, 도 10은 실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 방법을 설명하기 위한 순서도이다.
도 9를 참조하면, 제어시스템 보안이벤트의 공격전략 분류 장치(200)는, 보안이벤트 정보증강부(210) 및 공격전략 유사도 벡터 계산부(230)를 포함하여, 보안이벤트들을 공격전략 분류 모델을 기반으로 자동 분류해낼 수 있다.
이때, 분류 대상인 IT 및 OT 보안이벤트들은 정규화된 상태로 보안이벤트 DB(201)에 수집되어 있을 수 있으며, 보안이벤트를 생성한 장비의 물리적 위치에 따라 IT 혹은 OT 보안이벤트로 구분될 수 있다.
부가적으로, 제어시스템 보안이벤트의 공격전략 분류 장치(200)는, 입력데이터 전처리부(220)을 더 포함할 수도 있다.
도 9 및 10을 참조하면, 보안이벤트 정보증강부(210)는, 입력되는 제어시스템의 보안이벤트에 정보를 증강한다(S310). 즉, 보안이벤트 DB(201)에 수집된 IT 혹은 OT 보안이벤트를 독출하여 정보를 증강한다.
이때, 보안이벤트에 정보를 증강하는 방식은 CVE DB 또는 구글(Google)과 같은 검색 엔진 정보가 이용될 수 있는데, 본 발명에 따라 다양한 실시예가 가능하다.
일 실시예에 따라, 보안이벤트 정보증강부(210)는, 보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하는 CVE 데이터베이스일 경우, 전용 API를 통해 CVE 코드 기반으로 쿼리를 전송한 후, 리턴되는 결과값 내에 포함된 정보를 보안이벤트에 증강할 수 있다.
또한, 다른 실시예에 따라, 보안이벤트 정보증강부(210)는 보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하지 않는 CVE 데이터베이스일 경우, 홈페이지에서 직접 크롤링하여 취약점 정보를 취득하여 보안이벤트에 증강할 수 있다.
또한, 또 다른 실시예에 따라, 보안이벤트 정보증강부(210)는 보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하지 않을 경우, 보안이벤트 텍스트 전체를 검색 쿼리로 하여 검색 엔진으로부터 검색된 소정 개수의 문서들로부터 추출된 공통 키워드를 보안이벤트에 증강할 수 있다.
이에 대한 상세한 설명은 도 11 내지 도 14를 참조하여 후술하기로 한다.
입력데이터 전처리부(220)는, 보안이벤트 정보증강부(210)로부터 출력된 보안이벤트를 텍스트 기반으로 전처리할 수 있다(S320). 이때, 입력데이터 전처리부(220)는 학습데이터 전처리부(120)과 동일한 방식으로 보안이벤트를 전처리할 수 있다.
즉, 입력데이터 전처리부(220)는, 비 알파벳 문자 삭제, 불용어(stop words)의 삭제, 대문자의 소문자 변경(lowering), 어간 추출(stemming), 특수 문자(punctuation) 제거, 단어 분할(split) 및 중복 단어 제거 중 적어도 하나를 수행할 수 있다.
또한, 입력데이터 전처리부(220)는, 공격기술 설명문서에서 단어 출현빈도(Term Frequency), TF-IDF(Term Frequency Inverse Document Frequency) 및 WMD(Word Mover's Distance)를 포함하는 추출 알고리즘들 중 하나를 통해 특징을 추출할 수 있다.
그러면, 공격전략 유사도 벡터 계산부(230)는 보안이벤트를 공격기술 설명문서를 입력받아 레이블링된 공격전략을 예측하도록 미리 학습된 분류모델에 투입하여 공격전략별 유사도 벡터를 계산한다(S330).
이때, 공격전략 유사도 벡터 계산부(230)는 IT 분류 모델 및 OT 분류 모델을 포함하여, IT 보안이벤트 및 OT 보안이벤트를 각각 상응하는 분류모델에 투입하여 공격전략별 유사도 벡터를 계산할 수 있다. 이때, 유사도 벡터는 "0.00" 내지 "1.00" 사이의 값이 공격전략별로 출력될 수 있다. 따라서, 입력된 보안이벤트는 사용자가 지정한 임계치 이상의 유사도 벡터값을 가지는 공격전략들로 분류될 수 있다.
도 11은 도 10의 보안이벤트 정보 증강 단계를 상세히 설명하기 위한 순서도이고, 도 12는 보안이벤트 내 CVE 코드가 있는 경우의 정보 증강 및 유사도 벡터 계산 과정의 예시도이고, 도 13은 웹크롤링을 통한 CVE 정보 증강의 예시도이고, 도 14는 보안이벤트 내 CVE코드가 없는 경우의 정보 증강 및 유사도 벡터 계산 과정의 예시도이다.
즉, 도 11을 참조하면, 보안이벤트가 입력(S311)됨에 따라, 보안이벤트 정보증강부(210)는 입력된 보안이벤트 내에 CVE로 시작하는 취약점 코드의 존재 여부를 판단한다(S312). 예컨대, 도 12 및 도 13을 참조하면, 입력되는 보안이벤트 내에 "cve-2011-0276"이라는 코드가 존재함을 확인할 수 있다.
S312의 판단 결과 보안이벤트 내에 CVE로 시작하는 취약점 코드가 존재할 경우, 보안이벤트 정보증강부(210)는 현재 본 시스템에서 접속 가능한 CVE DB가 API가 지원되는 CVE DB인지를 판단한다(S313).
S313의 판단 결과 API가 지원되는 CVE DB일 경우, 보안이벤트 정보증강부(210)는 CVE DB API를 사용하여 해당 취약점 정보를 취득한다(S314). 예컨대, 도 12를 참조하면, 취약점 정보 취득 방식은 전용 API를 통해 CVE 코드(41) 기반으로 CVE DB에 쿼리를 보낸 후, CVE DB로부터 리턴되는 결과값 내 description 혹은 summary(42)를 수집하는 것일 수 있다.
이때, CVE DB는 MITRE사의 API를 이용하거나, CVE 정보를 가공하여 재공급하는 곳의 API를 이용할 수도 있다.
그런 후, 보안이벤트 정보증강부(210)는, 수집된 정보를 보안이벤트에 증강한다(S315). 예컨대, 도 12에 도시된 바와 같이, CVE DB로부터 리턴되는 결과값 내 정보, 예컨대 설명(description) 혹은 요약(summary)(42)을 증강한다.
반면, S313의 판단 결과 API가 지원되지 않는 CVE DB일 경우, 보안이벤트 정보증강부(210)는 홈페이지에서 직접 크롤링 하여 취약점 정보를 취득한다(S316). 이때, HTML을 구조화하여 추출하는 라이브러리를 활용하여 크롤링할 수 있다.
이때, 도 13에 도시된 바와 같이, 결과값 내 description 혹은 summary 내용을 가져온다. 그런 후, 보안이벤트 정보증강부(210)는, 추출된 정보를 보안이벤트에 덧붙일 수 있다(S315).
한편, S312의 판단 결과 보안이벤트 내에 취약점 코드가 존재하지 않는 경우, 보안이벤트 정보증강부(210)는 보안이벤트 텍스트 전체를 검색엔진, 예컨대, 도 14에 도시된 바와 같이, Google에 검색 쿼리를 보내어 보안이벤트 관련 문서를 획득한다(S317).
이때, 보안이벤트 정보증강부(210)는 도 14에 도시된 바와 같이, 상위 k개의 검색 결과(51)에 접근할 수 있다. 즉, 웹페이지 내 모든 텍스트를 문서로 추출한다. 총 k개의 문서가 생성된다.
이때, 임계치 k은 사용자가 자유롭게 설정 가능하며, 분류모델이 최고성능을 갖도록 설정될 수 있다. 이때, 검색 결과의 수가 k보다 적은 경우에는 검색 결과의 수만큼만 웹페이지를 추출한다.
이때, 검색 결과가 존재하지 않는 경우, 정보증강을 실시하지 않고 종료할 수 있다.
다음으로, 보안이벤트 정보증강부(210)는, 검색 결과들에서 노이즈성 단어 제거를 위하여, 문서간 1회 이상 겹치는 키워드를 추출한다(S318).
예컨대, 도 14에 도시된 바와 같이, 보안이벤트 정보증강부(210)는, 검색 결과들(51)에서 겹치는 키워드(52)를 추출해낼 수 있다.
이때, 보안이벤트 정보증강부(210)는, n개 문서 중 2개 문서의 조합 리스트를 생성하고, 첫 조합의 문서에서 서로 공통된 키워드를 추출할 수 있다. 그런 후, 모든 조합에 대해 반복하여 공통된 키워드 집합을 추출할 수 있다.
그런 후, 보안이벤트 정보증강부(210)는, 추출된 키워드를 보안이벤트에 덧붙인다(S315). 예컨대, 도 14에 도시된 바와 같이, 추출된 공통 키워드(53)로 보안이벤트를 증강시킨다.
전술한 바와 같이 증강된 보안이벤트는 도 12 및 도 14에 도시된 바와 같이, 텍스트 전처리된 후, 공격전략 분류모델에 입력되고, 공격전략 분류 모델은 보안이벤트의 공격전략별 유사도값을 출력한다. 따라서, 가장 큰 유사도값을 가지는 공격전략으로 보안이벤트가 분류될 수 있다.
그러면, 전술한 바와 같은 본 발명에 따라 분류 모델을 생성하기 위한 학습 데이터 및 분류 모델의 성능 실험 예를 살펴보기로 한다.
도 15는 Attack Matrix에서 수집된 IT 환경의 학습데이터의 구성 예시도이다.
도 15를 참조하면, 총 12개의 공격전략에서 각각 10~73개씩 총 343개의 공격기술 문서를 수집하였고, 이를 학습데이터로 활용하였다.
한편, IT 및 OT 환경의 공격전략별 분류 결과 예시는 다음 <표 1>과 같다. <표 1>은 IT 및 OT 환경에서 생성된 보안이벤트들을 각각 해당 분류모델에 투입하여 분류된 공격전략 및 분류 확률(분류 확신도)의 예시를 나타내었다.
발생장소 보안이벤트 분류된 공격전략 유사도
IT default cve-2011-2024 cisco backdoor credential network access registration #4 Privilege Escalation 0.68
IT citrix buffer overflow xml password #6 Credential Access 0.55
IT xwork execute remote strut apache cve-2010-1870 #2 Execution 0.75
IT iis5.1 ms bypass http authentication #5 DefenseEvasion 0.74
OT ews ladder logic changed without authorization #10 Impair Process Control 0.77
OT plc input and output no responding #11 Impact 0.72
도 16은 IT 환경에서의 분류모델의 성능 예시도이다.
도 16을 참조하면, 총 343개의 학습데이터를 12개 공격전략으로 분류하는 모델을 구축 및 시험한 결과, Precision, Recall이 각각 0.78, 0.78으로 평가되었다.
이때, 재현도(Recall)는 Positive 평가 데이터 중, 실제 Positive로 평가된 비율을 나타내는 것으로, 다음의 <수학식 1>과 같이 산출될 수 있다.
<수학식 1>
Recall(재현도) = TP/(TP+FN)
<수학식 1>에서 TP는 Positive 데이터를 Positive로 잘 판별한 경우를 의미하고, FN는 Positive 데이터를 Negative로 잘못 판별한 경우를 의미한다.
정밀도(Precision)는 Positve 및 Negative 평가 결과 중, Positive를 Positive로 평가한(TP) 비율을 의미하는 것으로, 다음의 <수학식 2>와 같이 나타낼 수 있다.
<수학식 2>
Precision(정밀도) = TP/(TP+FP)
<수학식 2>에서 TP는 Positive 데이터를 Positive로 잘 판별한 경우를 의미하고, FP는 Negative 데이터를 Positive로 잘못 판별한 경우를 의미한다.
f1-score는 Recall과 Precision의 평균으로 다음의 <수학식 3>과 같이 표현될 수 있고, 하나의 값으로 판별기 성능을 평가할 수 있어 널리 사용된다.
<수학식 3>
f1-score = 2*(Recall * Precision) / (Recall + Precision)
support는 시험 데이터 중, 해당 카테고리에 속한 평가데이터의 수를 의미한다.
또한, 도 16의 상부의 매트릭스(61)는 Y축은 해당 데이터의 실제값(Ground Truth Label), X축은 분류값(Predicted Label)을 의미한다. 따라서, 매트릭스의 각 성분은, 실제값과 분류값의 관계의 수(카운트)를 나타내며, 이를 통해 분류성능을 파악할 수 있다.
다음으로 본 발명의 활용 예에 대해서 살펴보기로 한다.
도 17은 관제원의 대쉬보드 타임라인상에서 stack 형태로 보여주던 보안이벤트들을 공격전략들로 축약(Grouping)하여 hit 수와 함께 시각화한 예시이다. 분석해야 할 보안이벤트의 정보량이 대폭 축소 되었고, 실시간으로 진행되는 공격전략들을 관제원이 직관적으로 파악할 수 있다.
도 18는 동일한 보안이벤트를 대상으로 발생 주체(source IP, destination IP)와 보안이벤트명을 연관분석하여 시각화한 결과이다. 축약된 보안이벤트와 호스트와의 연관성을 시각화 함으로서 기존대비 정보량이 대폭 축소되었고, 실시간으로 진행되는 공격전략들을 관제원이 직관적으로 파악할 수 있다.
도 19는 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
실시예에 따른 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치(100) 및 제어시스템 보안이벤트의 공격전략 분류 장치(200)는 각각 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1000)에서 구현될 수 있다.
컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 인터페이스 입력 장치(1040), 사용자 인터페이스 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 스토리지(1060)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(1030)는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.
이상에서 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 공격전략 분류 모델 생성 장치
110: 공격전략 학습 데이터 추출부
120: 학습 데이터 전처리부
130: 분류 모델 학습부
200: 공력 전략 분류 장치
210: 보안이벤트 정보 증강부
220: 입력 데이터 전처리부
230: 공격전략 유사도 벡터 계산부

Claims (20)

  1. 적어도 하나의 프로그램이 기록된 메모리; 및
    프로그램을 실행하는 프로세서를 포함하며,
    프로그램은,
    공격 매트릭스 웹페이지에서 제어시스템 보안이벤트의 공격전략별로 분류된 공격기술 설명문서를 추출하여 상응하는 공격전략을 레이블링하는 학습데이터 추출부; 및
    공격기술 설명문서를 입력받아 레이블링된 공격전략을 예측하도록 분류모델을 학습시키는 분류모델 학습부를 포함하되,
    공격 매트릭스 웹페이지는,
    공인기관에서 제공하는 공격 매트릭스 페이지이고,
    공격 매트릭스는,
    공격기술 설명 문서가 미리 결정된 소정 갯수의 공격 전략별로 미리 분류되어 있는 것인, 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치.
  2. 제1 항에 있어서, 학습데이터 추출부는,
    정보 기술(Information Technology, 이하 'IT'로 기재함) 및 운영 기술(Operational Technology, 이하 'OT'라 기재함) 별로 공격전략별 공격기술 설명문서를 추출하고,
    분류모델 학습부는,
    IT 및 OT 별로 분류모델을 학습시키는, 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치.
  3. 제2 항에 있어서,
    공격기술 설명문서를 텍스트 기반으로 전처리하는 학습데이터 전처리부를 더 포함하되,
    학습데이터 전처리부는,
    비 알파벳 문자 삭제, 불용어(stop words)의 삭제, 대문자의 소문자 변경(lowering), 어간 추출(stemming), 특수 문자(punctuation) 제거, 단어 분할(split) 및 중복 단어 제거 중 적어도 하나를 수행하는, 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치.
  4. 제3 항에 있어서, 학습데이터 전처리부는,
    공격기술 설명문서에서 단어 출현빈도(Term Frequency), TF-IDF(Term Frequency Inverse Document Frequency) 및 WMD(Word Mover's Distance)를 포함하는 추출 알고리즘들 중 하나를 통해 특징을 추출하는, 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치.
  5. 제4 항에 있어서, 분류모델 학습부는,
    학습 알고리즘으로 다중 클래스를 판별하는 Naive Bayes Classifier, Multi-class SVM(Support Vector Machine), Logistic Regression, DNN(Deep Neural Network) 및 CNN(Convolutional Neural Network) 중 적어도 하나의 머신러닝 알고리즘을 사용하는, 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치.
  6. 제4 항에 있어서, 학습데이터 추출부는,
    공격 매트릭스 웹페이지를 모니터링하여 콘텐츠 변경 여부에 따라, 공격 매트릭스 웹페이지에서 공격전략별로 분류된 공격기술 설명문서를 재 추출하고,
    학습데이터 전처리부는,
    재 추출된 공격기술 설명문서를 텍스트 기반으로 전처리하고,
    분류모델 학습부는,
    전처리된 재 추출된 공격기술 설명문서로 분류모델을 재 학습시키는, 제어시스템 보안이벤트의 공격전략 분류 모델 생성 장치.
  7. 적어도 하나의 프로그램이 기록된 메모리; 및
    프로그램을 실행하는 프로세서를 포함하며,
    프로그램은,
    입력되는 제어시스템의 보안이벤트에 정보를 증강하는 보안이벤트 정보증강부; 및
    보안이벤트를 공격기술 설명문서를 입력받아 레이블링된 공격전략을 예측하도록 미리 학습된 분류모델에 투입하여 공격전략별 유사도 벡터를 계산하는 공격전략 유사도 벡터 계산부를 포함하되,
    공격기술 설명문서는,
    공격 매트릭스 웹페이지에서 제어시스템 보안이벤트의 공격 전략별로 분류된 것이고,
    공격 매트릭스 웹페이지는,
    공인기관에서 제공하는 공격 매트릭스 페이지이고,
    공격 매트릭스는,
    공격기술 설명 문서가 미리 결정된 소정 갯수의 공격 전략별로 미리 분류되어 있는 것인, 제어시스템 보안이벤트의 공격전략 분류 장치.
  8. 제7 항에 있어서, 공격전략 유사도 벡터 계산부는,
    정보 기술(Information Technology, 이하 'IT'로 기재함) 분류 모델 및 운영 기술(Operational Technology, 이하 'OT'라 기재함) 분류 모델을 포함하고,
    IT 보안이벤트 및 OT 보안이벤트를 각각 상응하는 분류모델에 투입하여 공격전략별 유사도 벡터를 계산하는, 제어시스템 보안이벤트의 공격전략 분류 장치.
  9. 제8 항에 있어서, 보안이벤트 정보증강부는,
    보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하는 CVE 데이터베이스일 경우, 전용 API를 통해 CVE코드 기반으로 쿼리를 전송한 후, 리턴되는 결과값 내에 포함된 정보를 보안이벤트에 증강하는, 제어시스템 보안이벤트의 공격전략 분류 장치.
  10. 제8 항에 있어서, 보안이벤트 정보증강부는,
    보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하지 않는 CVE 데이터베이스일 경우, 홈페이지에서 직접 크롤링하여 취약점 정보를 취득하여 보안이벤트에 증강하는, 제어시스템 보안이벤트의 공격전략 분류 장치.
  11. 제8 항에 있어서, 보안이벤트 정보증강부는,
    보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하지 않을 경우, 보안이벤트 텍스트 전체를 검색 쿼리로 하여 검색 엔진으로부터 검색된 소정 개수의 문서들로부터 추출된 공통 키워드를 보안이벤트에 증강하는, 제어시스템 보안이벤트의 공격전략 분류 장치.
  12. 제8 항에 있어서,
    보안이벤트 정보증강부로부터 출력된 보안이벤트를 텍스트 기반으로 전처리하는 입력데이터 전처리부를 더 포함하되,
    입력데이터 전처리부는,
    비 알파벳 문자 삭제, 불용어(stop words)의 삭제, 대문자의 소문자 변경(lowering), 어간 추출(stemming), 특수 문자(punctuation) 제거, 단어 분할(split) 및 중복 단어 제거 중 적어도 하나를 수행하는, 제어시스템 보안이벤트의 공격전략 분류 장치.
  13. 제12 항에 있어서, 입력데이터 전처리부는,
    공격기술 설명문서에서 단어 출현빈도(Term Frequency), TF-IDF(Term Frequency Inverse Document Frequency) 및 WMD(Word Mover's Distance)를 포함하는 추출 알고리즘들 중 하나를 통해 특징을 추출하는, 제어시스템 보안이벤트의 공격전략 분류 장치.
  14. 입력되는 제어시스템의 보안이벤트에 정보를 증강하는 단계; 및
    보안이벤트를 공격기술 설명문서를 입력받아 레이블링된 공격전략을 예측하도록 미리 학습된 분류모델에 투입하여 공격전략별 유사도 벡터를 계산하는 단계를 포함하되,
    공격기술 설명문서는,
    공격 매트릭스 웹페이지에서 제어시스템 보안이벤트의 공격 전략별로 분류된 것이고,
    공격 매트릭스 웹페이지는,
    공인기관에서 제공하는 공격 매트릭스 페이지이고,
    공격 매트릭스는,
    공격기술 설명 문서가 미리 결정된 소정 갯수의 공격 전략별로 미리 분류되어 있는 것인, 제어시스템 보안이벤트의 공격전략 분류 방법.
  15. 제14 항에 있어서, 공격전략별 유사도 벡터를 계산하는 단계는,
    정보 기술(Information Technology, 이하 'IT'로 기재함) 분류 모델 및 운영 기술(Operational Technology, 이하 'OT'라 기재함) 분류 모델을 포함하고,
    IT 보안이벤트 및 OT 보안이벤트를 각각 상응하는 분류모델에 투입하여 공격전략별 유사도 벡터를 계산하는, 제어시스템 보안이벤트의 공격전략 분류 방법.
  16. 제15 항에 있어서, 정보를 증강하는 단계는,
    보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하는 CVE 데이터베이스일 경우, 전용 API를 통해 CVE코드 기반으로 쿼리를 전송한 후, 리턴되는 결과값 내에 포함된 정보를 보안이벤트에 증강하는, 제어시스템 보안이벤트의 공격전략 분류 방법.
  17. 제15 항에 있어서, 정보를 증강하는 단계는,
    보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하고, API를 지원하지 않는 CVE 데이터베이스일 경우, 홈페이지에서 직접 크롤링하여 취약점 정보를 취득하여 보안이벤트에 증강하는, 제어시스템 보안이벤트의 공격전략 분류 방법.
  18. 제15 항에 있어서, 정보를 증강하는 단계는,
    보안이벤트 내에 CVE(Common Vulnerability Enumeration)를 포함하는 취약점 코드가 존재하지 않을 경우, 보안이벤트 텍스트 전체를 검색 쿼리로 하여 검색 엔진으로부터 검색된 소정 개수의 문서들로부터 추출된 공통 키워드를 보안이벤트에 증강하는, 제어시스템 보안이벤트의 공격전략 분류 방법.
  19. 제14 항에 있어서,
    보안이벤트를 텍스트 기반으로 전처리하는 단계를 더 포함하되,
    전처리하는 단계는,
    비 알파벳 문자 삭제, 불용어(stop words)의 삭제, 대문자의 소문자 변경(lowering), 어간 추출(stemming), 특수 문자(punctuation) 제거, 단어 분할(split) 및 중복 단어 제거 중 적어도 하나를 수행하는 단계를 포함하는, 제어시스템 보안이벤트의 공격전략 분류 방법.
  20. 제18 항에 있어서, 전처리하는 단계는,
    공격기술 설명문서에서 단어 출현빈도(Term Frequency), TF-IDF(Term Frequency Inverse Document Frequency) 및 WMD(Word Mover's Distance)를 포함하는 추출 알고리즘들 중 하나를 통해 특징을 추출하는 단계를 포함하는, 제어시스템 보안이벤트의 공격전략 분류 방법.
KR1020200085550A 2020-07-10 2020-07-10 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법 KR102357630B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200085550A KR102357630B1 (ko) 2020-07-10 2020-07-10 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200085550A KR102357630B1 (ko) 2020-07-10 2020-07-10 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220007395A KR20220007395A (ko) 2022-01-18
KR102357630B1 true KR102357630B1 (ko) 2022-02-07

Family

ID=80052171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200085550A KR102357630B1 (ko) 2020-07-10 2020-07-10 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102357630B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023192060A1 (en) * 2022-04-01 2023-10-05 Cisco Technology, Inc. Systems and methods for generating attack tactic probabilities for historical text documents

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101640479B1 (ko) * 2015-08-28 2016-07-18 (주)엔키소프트 소스코드기반 소프트웨어 취약점 공격행위 분석시스템
KR101938563B1 (ko) * 2018-06-29 2019-01-15 한화시스템 주식회사 위험 자산 알림 시스템의 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102153926B1 (ko) * 2017-08-10 2020-09-10 한국전자통신연구원 네트워크 보안 강화 장치 및 그 방법
KR102069621B1 (ko) * 2018-05-28 2020-01-23 인천대학교 산학협력단 문서 구조와 딥러닝을 이용한 문서 분류 장치 및 방법
KR102271449B1 (ko) * 2018-11-17 2021-07-01 한국과학기술정보연구원 인공지능 모델 플랫폼 및 인공지능 모델 플랫폼 운영 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101640479B1 (ko) * 2015-08-28 2016-07-18 (주)엔키소프트 소스코드기반 소프트웨어 취약점 공격행위 분석시스템
KR101938563B1 (ko) * 2018-06-29 2019-01-15 한화시스템 주식회사 위험 자산 알림 시스템의 동작 방법

Also Published As

Publication number Publication date
KR20220007395A (ko) 2022-01-18

Similar Documents

Publication Publication Date Title
Li et al. LSTM-based SQL injection detection method for intelligent transportation system
Wang et al. A network intrusion detection system based on convolutional neural network
CN107241352B (zh) 一种网络安全事件分类与预测方法及系统
Li et al. LSTM based phishing detection for big email data
CN109902297B (zh) 一种威胁情报生成方法及装置
Hosseini et al. Anomaly process detection using negative selection algorithm and classification techniques
Zhao et al. A review of computer vision methods in network security
Agrawal et al. Neural sequential malware detection with parameters
CN103577756A (zh) 基于脚本类型判断的病毒检测方法及装置
Yin et al. Towards accurate intrusion detection based on improved clonal selection algorithm
CN113505371B (zh) 数据库安全风险评估系统
CN107341371A (zh) 一种适用于web组态的脚本控制方法
Palau et al. DNS tunneling: A deep learning based lexicographical detection approach
Aydin et al. Using attribute-based feature selection approaches and machine learning algorithms for detecting fraudulent website URLs
Vinayakumar et al. Improved DGA domain names detection and categorization using deep learning architectures with classical machine learning algorithms
Pan et al. Webshell detection based on executable data characteristics of php code
CN116015703A (zh) 模型训练方法、攻击检测方法及相关装置
Shi et al. A framework of intrusion detection system based on Bayesian network in IoT
CN109194605B (zh) 一种基于开源信息的可疑威胁指标主动验证方法和系统
KR102357630B1 (ko) 제어시스템 보안이벤트의 공격전략 분류 장치 및 방법
EP3550789A1 (en) Method for protecting web applications by automatically generating application models
Harbola et al. Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set
CN112583847B (zh) 一种面向中小企业网络安全事件复杂分析的方法
Zarai Recurrent Neural Networks & Deep Neural Networks Based on Intrusion Detection System
KR20200066428A (ko) 행위 기반 룰 처리 장치 및 그 처리 방법

Legal Events

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