KR102092684B1 - 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 장치 및 방법 - Google Patents

랜덤 포레스트 기법을 이용한 사이버 보안 훈련 장치 및 방법 Download PDF

Info

Publication number
KR102092684B1
KR102092684B1 KR1020200009451A KR20200009451A KR102092684B1 KR 102092684 B1 KR102092684 B1 KR 102092684B1 KR 1020200009451 A KR1020200009451 A KR 1020200009451A KR 20200009451 A KR20200009451 A KR 20200009451A KR 102092684 B1 KR102092684 B1 KR 102092684B1
Authority
KR
South Korea
Prior art keywords
training
cyber security
training data
trainee
random forest
Prior art date
Application number
KR1020200009451A
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 KR1020200009451A priority Critical patent/KR102092684B1/ko
Application granted granted Critical
Publication of KR102092684B1 publication Critical patent/KR102092684B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Computer Hardware Design (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

미리 획득된 훈련생들(trainees)의 훈련 데이터 집합을 이용하여 랜덤 포레스트(random forest) 기법에 기반한 훈련도 계산 모델을 생성하는 단계, 제1 훈련생의 훈련 데이터를 상기 훈련도 계산 모델에 입력함으로써 상기 제1 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 계산하는 단계 및 상기 제1 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 이용하여 상기 제1 훈련생에게 제공되는 상기 복수의 사이버 보안 분야에 관한 콘텐츠를 포함하는 훈련 시나리오를 결정하는 단계를 포함하는 사이버 보안 훈련 방법이 제공된다.

Description

랜덤 포레스트 기법을 이용한 사이버 보안 훈련 장치 및 방법{APPARATUS AND METHOD FOR CYBER SECURITY TRAINING BASED ON RANDOM FOREST}
이하의 설명은 사이버 보안 훈련 장치 및 방법에 관한 것이다. 보다 구체적으로, 랜덤 포레스트 기법을 이용하여 훈련생들의 훈련 데이터에 따라 훈련도를 계산하고, 훈련생에게 최적화된 훈련 시나리오를 제공하는 기술에 관한 것이다.
대한민국 내의 가상화폐 거래소가 해킹되었다는 뉴스 등에서 알 수 있듯이, 전 세계적으로 사이버 테러의 위험성이 고조되고 있다. 이에 따라, 사이버 보안에 대한 교육과 함께 잠재적인 위협에 대응하여 사용자들을 훈련시키는 사이버 보안 훈련 시스템에 대한 필요성 또한 높아지고 있다.
실제 사용자들을 훈련시키기 위해서는 특정한 네트워크에 대해 사이버 공격을 시도하고, 이에 대응한 사용자의 행동 변화를 관찰하는 시뮬레이션 기법이 필요하다. 대규모 사이버 테러에 관한 훈련 프로그램에는 서비스 거부 공격, 허가되지 않은 접근 및 속임(spoofing) 등을 시뮬레이션하는 IAS(Internet Attack Simulator) 등이 존재한다.
대한민국 등록특허 제10-1534194호에는 침입자 행동패턴을 반영한 사이버보안 교육훈련시스템 및 방법이 제공된다. 구체적으로, 대상특허는 복수의 훈련 참여자 단말기들의 미션수행 결과를 수집하여, 수집결과에 따라 서로 다른 단계의 사이버보안 교육훈련이 이루어지도록 차별화된 사이버보안 교육훈련용 콘텐츠를 제공하는 서버의 구성을 포함하고 있다. 그러나, 대상특허는 미리 획득된 훈련생들(trainees)의 훈련 데이터 집합을 이용하여 랜덤 포레스트(random forest) 기법에 기반한 훈련도 계산 모델을 생성하고, 특정한 훈련생의 훈련 데이터를 훈련도 계산 모델에 입력함으로써 특정한 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 계산하는 구성에 대해서는 어떠한 내용도 개시, 암시 또는 시사하지 못하고 있다.
적어도 하나의 실시 예에 따르면, 미리 획득된 훈련생들(trainees)의 훈련 데이터 집합을 이용하여 랜덤 포레스트(random forest) 기법에 기반한 훈련도 계산 모델을 생성하고, 특정한 훈련생의 훈련 데이터를 훈련도 계산 모델에 입력함으로써 특정한 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 계산하는 사이버 보안 훈련 장치 및 방법이 개시된다.
일 측면에 따르면 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 방법이 제공된다. 상기 사이버 보안 훈련 방법은 미리 획득된 훈련생들(trainees)의 훈련 데이터 집합을 이용하여 랜덤 포레스트(random forest) 기법에 기반한 훈련도 계산 모델을 생성하는 단계, 제1 훈련생의 훈련 데이터를 상기 훈련도 계산 모델에 입력함으로써 상기 제1 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 계산하는 단계 및 상기 제1 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 이용하여 상기 제1 훈련생에게 제공되는 상기 복수의 사이버 보안 분야에 관한 콘텐츠를 포함하는 훈련 시나리오를 결정하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 미리 획득된 훈련생들의 훈련 데이터는 훈련생들 각각에 대해 문제에 대한 정답률에 따라 미리 부여된 훈련도, 문제의 식별번호, 문제의 레벨, 문제 풀이의 시작 시간, 문제 풀이의 종료 시간 및 문제에 대한 정답 여부를 특성값으로서 포함할 수 있다.
다른 일 실시 예에 따르면, 상기 랜덤 포레스트(random forest) 기법에 기반한 훈련도 계산 모델을 생성하는 단계는 (a) 상기 훈련생들의 훈련 데이터 집합 내에서 임의적으로 n(n은 자연수) 개의 훈련 데이터를 선택하는 단계, (b) 상기 n 개의 훈련 데이터에 연관되는 특성값들 중 d(d는 자연수) 개의 특성값을 선택하는 단계, (c) 상기 n 개의 훈련 데이터를 입력 데이터로 이용하고 상기 d 개의 특성값의 조합을 분기점으로서 이용하여 상기 n 개의 훈련 데이터의 훈련도를 분류하기 위한 의사결정트리를 생성하는 단계, (d) 상기 (a) 단계, 상기 (b) 단계 및 상기 (c) 단계를 k(k는 자연수) 회 반복함으로써 k 개의 의사결정트리를 생성하는 단계 및 (e) 상기 k 개의 의사결정트리 중 상기 n 개의 훈련 데이터가 상기 정답률에 따라 미리 부여된 훈련도를 기준으로 가장 높은 순도(purity)를 갖도록 분류하는 의사결정트리를 상기 훈련도 계산 모델로 생성하는 단계를 포함할 수 있다.
또 다른 일 실시 예에 따르면, 상기 (a) 단계는 상기 훈련 데이터 집합 내에서 중복을 허용하여 임의적으로 n 개의 훈련 데이터를 선택하는 단계이고, 상기 (b) 단계는 상기 n 개의 훈련 데이터에 연관되는 특성값들 중 중복을 허용하지 않고 임의적으로 d 개의 특성값을 선택하는 단계일 수 있다.
도 1은 일 실시 예에 따라 랜덤 포레스트 기법에 기반한 사이버 보안 훈련 방법을 설명하는 흐름도이다.
도 2는 일 실시 예에 따라 사이버 보안 훈련 장치로 입력되는 훈련 데이터를 나타내는 예시도이다.
도 3은 도 1에서 설명된 훈련도 계산 모델을 생성하는 과정을 보다 상세하게 설명하는 흐름도이다.
도 4는 일 실시 에에 따른 훈련도 계산 모델이 생성되는 과정을 설명하는 예시도이다.
도 5는 일 실시 예에 따른 사이버 보안 훈련 장치에 의해 생성된 훈련도 계산 모델의 예시적 구조이다.
실시 예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시 예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시 예에 따라 랜덤 포레스트 기법에 기반한 사이버 보안 훈련 방법을 설명하는 흐름도이다. 도 1을 참조하면, 랜덤 포레스트 기법에 기반한 사이버 보안 훈련 방법(100)은 미리 획득된 훈련생들의 훈련 데이터 집합을 이용하여 랜덤 포레스트 기법에 기반한 훈련도 계산 모델을 생성하는 단계(110), 제1 훈련생의 훈련 데이터를 훈련도 계산 모델에 입력함으로써 제1 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 계산하는 단계(120) 및 제1 훈련생에 관한 훈련도를 이용하여 제1 훈련생에게 제공되는 복수의 사이버 보안 분야에 관한 콘텐츠를 포함하는 훈련 시나리오를 결정하는 단계(130)를 포함할 수 있다.
기계 학습(machine learning)에서의 랜덤 포레스트(random forest)는 분류, 회귀 분석 등에 사용되는 앙상블 학습 방법의 일종으로서, 훈련 과정에서 구성한 다수의 결정 트리로부터 분류 또는 평균 예측치를 출력함으로써 동작한다. 구체적으로, 랜덤 포레스트는 여러 개의 결정 트리들을 임의적으로 학습하는 방식의 앙상블 방법이다. 랜덤 포레스트 방법은 크게 다수의 결정 트리를 구성하는 학습 단계와, 입력 벡터가 들어왔을 때 분류하거나 예측하는 테스트 단계로 구성되어 있다. 랜덤 포레스트는 검출, 분류, 그리고 회귀 등 다양한 애플리케이션으로 활용되고 있다.
랜덤 포레스트의 기술적인 특징은 임의성(randomness)에 의해 서로 조금씩 다른 특성을 갖는 트리들로 구성된다는 점이다. 이 특징은 각각의 트리들의 예측(prediction)들이 비상관화(decorrelation) 되게 하며, 결과적으로 일반화(generalization) 성능을 향상시킨다. 또한, 임의화(randomization)는 포레스트가 노이즈가 포함된 데이터에 대해서도 강인하게 만들어 준다. 임의화는 각각의 트리들의 훈련 과정에서 진행되며, 가장 널리 쓰이는 두 가지 방법으로는 임의 학습 데이터 추출 방법을 이용한 앙상블 학습법인 배깅(bagging)과 임의 노드 최적화(randomized node optimization)가 있다. 이 두 가지 방법은 서로 동시에 사용되어 임의화 특성을 더욱 증진시킬 수 있다.
단계(110)에서 사이버 보안 훈련 장치는 미리 획득된 훈련생들의 훈련 데이터 집합을 이용하여 랜덤 포레스트 기법에 기반한 훈련도 계산 모델을 생성할 수 있다. 구체적으로, 단계(110)는 사이버 보안 훈련 장치에 포함되는 프로세서에 의해 수행될 수 있다. 예시적으로, 훈련도 계산 모델은 사용자의 훈련 데이터를 입력받아 상기 사용자의 훈련도를 출력하는 의사결정트리를 나타낼 수 있다. 예시적으로, 그러나 한정되지 않게 단계(110)에서 이용되는 훈련생들의 훈련 데이터는 훈련생들 각각에 대해 문제에 대한 정답률에 따라 미리 부여된 훈련도, 문제의 식별번호, 문제의 레벨, 문제 풀이의 시작 시간, 문제 풀이의 종료 시간 및 문제에 대한 정답 여부를 특성값으로서 포함할 수 있다.
단계(120)에서 사이버 보안 훈련 장치는 제1 훈련생의 훈련 데이터를 생성된 훈련도 계산 모델에 입력함으로써 상기 제1 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 계산할 수 있다. 단계(120)는 사이버 보안 훈련 장치에 포함되는 프로세서에 의해 수행될 수 있다. 예시적으로, 특정한 훈련생의 훈련도는 전문가, 중급자 또는 초급자와 같이 미리 설정된 등급으로 설정될 수 있다. 다른 일 실시 예로서, 특정한 훈련생의 훈련도는 정답률 80% 이상, 정답률 80% 미만 40% 이상 또는 정답률 40% 미만과 같이 사이버 보안 분야의 문제를 해결하는 수치화된 정답률로 설정될 수 있다. 사이버 보안 훈련 장치는 훈련생에 대해 훈련도 계산 모델을 통해 시스템 보안 분야의 훈련도, 네트워크 보안 분야의 훈련도, 웹 보안 분야의 훈련도 및 멀웨어 보안 분야의 훈련도 각각을 출력할 수 있다.
단계(130)에서 사이버 보안 훈련 장치는 제1 훈련생에 관한 훈련도를 이용하여 제1 훈련생에게 제공되는 복수의 사이버 보안 분야에 관한 콘텐츠를 포함하는 훈련 시나리오를 결정할 수 있다. 단계(130)는 사이버 보안 훈련 장치에 포함되는 프로세서에 의해 수행될 수 있다.
도 2는 일 실시 예에 따라 사이버 보안 훈련 장치로 입력되는 훈련 데이터를 나타내는 예시도이다. 도 2를 참조하면, 사이버 보안 훈련 장치로 전달되는 훈련 데이터의 예시적 구성이 도시된다. 예시적으로, 훈련 데이터에는 훈련생 이름, 성별, 출생연도, 가입일자, 훈련생이 풀이한 문제번호, 문제의 레벨, 문제 풀이의 시작 시간, 문제 풀이의 종료 시간, 문제의 OS(operating system), 문제에 대한 정답 여부, 훈련생의 주소 및 훈련생의 우편번호를 포함할 수 있다. 이를테면, 사이버 보안 훈련 장치는 'smnam'이라는 훈련생 이름, 'M' 또는 'F'라는 훈련생 성별, '1990-12-19'라는 출생연도, '2019-07-26 17:06'라는 훈련생의 가입일자, '1', '2', '3'과 같은 문제번호, '상', '중', '하'와 같은 문제의 레벨, '2019-07-29 18:30'과 같은 문제 풀이의 시작 시간, '2019-07-29 21:05'와 같은 문제 풀이의 종료 시간, 'Linux', 'Unix' 또는 'Windows'과 같은 문제의 OS, 'Y' 또는 'N'라는 문제에 대한 정답 여부, '서울시 금천구 가마산로 96'이라는 훈련생 주소 및 '01797'이라는 훈련생 우편번호 등을 훈련 데이터로서 획득할 수 있다. 도 2에서 도시된 훈련 데이터를 이해를 돕기 위한 예시적 구성일 뿐, 다른 실시 예를 제한하거나 한정하는 것으로 해석되어서는 안 될 것이다. 예를 들면, 문제의 OS에 'Linux', 'Unix' 또는 'Windows' 뿐만 아니고 다른 OS가 추가되는 것 또한 본 발명의 사상에 포함된다고 할 것이다.
도 2의 실시예에서 도시되지는 않았지만, 특정한 훈련생에 관한 훈련 데이터에는 각각 서로 다른 사이버 보안 분야에 연관되는 복수의 훈련 데이터가 포함될 수 있다. 예시적으로, 제1 훈련생에 대해 시스템 보안 분야에 대한 문제 풀이의 시작 시간, 문제 풀이의 종료 시간 및 문제에 대한 정답 여부와 함께 네트워크 보안 분야에 대한 문제 풀이의 시작 시간, 문제 풀이의 종료 시간 및 문제에 대한 정답 여부를 포함할 수 있다.
사이버 보안 훈련 장치는 복수의 훈련들에 연관되는 훈련 데이터 집합 중 적어도 하나의 훈련 데이터 조합을 특성값으로 이용하여 랜덤 포레스트 기법에 따라 의사 결정 트리를 학습할 수 있다. 이하에서는, 랜덤 포레스트 기법에 따라 의사 결정 트리가 결정되는 과정이 추가적인 도면과 함께 설명될 것이다.
도 3은 도 1에서 설명된 훈련도 계산 모델을 생성하는 과정을 보다 상세하게 설명하는 흐름도이다. 도 3을 참조하면, 사이버 보안 훈련 장치의 프로세서가 랜덤 포레스트 기법에 기반하여 훈련도 계산 모델을 생성하는 방법(300)이 도시된다. 랜덤 포레스트 기법에 기반하여 훈련도 계산 모델을 생성하는 방법(300)은 훈련생들의 훈련 데이터 집합 내에서 임의적으로 n(n은 자연수) 개의 훈련 데이터를 선택하는 단계(310), n 개의 훈련 데이터에 연관되는 특성값들 중 d(d는 자연수) 개의 특성값을 선택하는 단계(320), n 개의 훈련 데이터를 입력 데이터로 이용하고 d 개의 특성값의 조합을 분기점으로서 이용하여 n 개의 훈련 데이터의 훈련도를 분류하기 위한 의사결정트리를 생성하는 단계(330), 의사결정트리를 생성하는 단계들을 k(k는 자연수) 회 반복함으로써 k 개의 의사결정트리를 생성하는 단계(340) 및 k 개의 의사결정트리 중 n 개의 훈련 데이터가 미리 부여된 훈련도를 기준으로 가장 높은 순도를 갖도록 분류하는 의사결정트리를 훈련도 계산 모델로 생성하는 단계(350)를 포함할 수 있다.
단계(310)에서 프로세서는 훈련생들의 훈련 데이터 집합 내에서 임의적으로 n(n은 자연수) 개의 훈련 데이터를 선택할 수 있다. 이를테면, 사이버 보안 훈련 장치 내에 N(N은 자연수) 명의 훈련생에 관한 훈련 데이터가 훈련 데이터 집합으로서 저장된 경우가 있을 수 있다. 이 경우에, 프로세서는 상기 훈련 데이터 집합 내에서 중복을 허용하여 임의적으로 n 개의 훈련 데이터를 선택할 수 있다. 예시적으로, 사이버 보안 훈련 장치 내에 5 명의 훈련 데이터가 저장되고 n이 3으로 결정된 경우에, 프로세서는 중복을 허용하여 제1 훈련생의 훈련 데이터를 2 개 선택하고, 제2 훈련생의 훈련 데이터를 1 개 선택하는 방식도 구현 가능할 것이다. 본 실시 예의 사이버 보안 훈련 장치는 중복을 허용하여 임의적으로 훈련 데이터를 선택함으로써 의사결정트리를 생성하는 과정에서 충분한 개수의 학습 데이터를 제공할 뿐만 아니라, 모집단인 훈련 데이터 집합 내에서 임의적으로 표본을 복원 추출하는 방식으로 모집단의 특성값이 보다 잘 반영된 의사결정트리를 최종적으로 생성하는 효과를 제공할 수 있다.
단계(320)에서 프로세서는 n 개의 훈련 데이터에 연관되는 특성값들 중 d(d는 자연수) 개의 특성값을 선택할 수 있다. 구체적으로, 프로세서는 n 개의 훈련 데이터에 연관되는 특성값들 중 중복을 허용하지 않고 임의적으로 d 개의 특성값을 선택할 수 있다. 예시적으로, d가 5인 경우에, 프로세서는 훈련생 이름, 성별, 출생연도, 가입일자, 훈련생이 풀이한 문제번호, 문제의 레벨, 문제 풀이의 시작 시간, 문제 풀이의 종료 시간, 문제의 OS(operating system), 문제에 대한 정답 여부, 훈련생의 주소 및 훈련생의 우편번호를 포함하는 특성값들 중에서 훈련생이 풀이한 문제번호, 문제의 레벨, 문제 풀이의 시작 시간, 문제 풀이의 종료 시간 및 문제의 OS(operating system)를 포함하는 5 개의 특성값을 임의적으로 선택할 수 있다.
다른 일 실시 예로서, 프로세서는 미리 지정된 사이버 보안 분야에 연관되는 특성값들 중 d 개의 특성값을 선택할 수 있다. 구체적으로, 프로세서는 특정한 사이버 보안 분야에 대한 훈련도 계산 모델을 생성하기 위해, 해당 사이버 보안 분야에 연관되는 특성값들 중 d 개의 특성값을 선택할 수 있다. 예를 들어 시스템 보안 분야에 대한 훈련도 계산 모델을 생성하는 경우, 프로세서는 시스템 보안 분야에 연관되는 특성값들 중에서 d 개의 특성값을 선택할 수 있다. 예시적으로, 프로세서는 시스템 보안 분야에 대한 문제의 정답 여부, 시스템 보안 분야에 대한 문제 풀이의 시작 시간, 문제 풀이의 종료 시간 등을 특성값으로 선택할 수 있다. 마찬가지로, 프로세서가 멀웨어 보안 분야에 대한 훈련도 계산 모델을 생성하는 경우에는 멀웨어 보안 분야에 연관되는 특성값들 중에서 d 개의 특성값을 선택할 수 있다. 각각의 사이버 보안 훈련 분야에 따라 사용자의 훈련도를 판단하는데 중요도가 높은 특성값이 다를 수 있다. 예를 들어, 문제의 난이도가 높지 않지만 정보가 해킹되기 전에 빠르게 해결해야하는 신속성이 요구되는 사이버 보안 분야와 시간이 오래 걸리더라도 시스템 전체를 보전하도록 돕는 정답률이 중요한 사이버 보안 분야가 존재할 수 있다. 본 실시 예에 따른 사이버 보안 훈련 장치는 각각의 사이버 보안 분야에 대응하는 훈련도 계산 모델을 생성하는 과정에서 해당 사이버 보안 분야에 연관되는 특성값을 이용함으로써 해당 사이버 보안 훈련에 좀 더 피팅된 의사결정트리를 생성할 수 있다.
단계(330)에서 프로세서는 단계(310)에 따른 n 개의 훈련 데이터를 입력 데이터로 이용하고, 단계(320)에 따른 d 개의 특성값의 조합을 분기점으로서 이용하여 상기 n 개의 훈련 데이터의 훈련도를 분류하기 위한 의사결정트리를 생성할 수 있다. 의사결정트리가 생성되는 과정은 기술 분야의 전문가에게는 자명한 사항이므로 중복되는 설명은 생략하기로 한다.
단계(340)에서 프로세서는 단계(310), 단계(320) 및 단계(330)를 k(k는 자연수) 회 반복함으로써 k 개의 의사결정트리를 생성할 수 있다. 또한, 프로세서는 단계(350)에서 k 개의 의사결정트리 중 n 개의 훈련 데이터가 정답률에 따라 미리 부여된 훈련도를 기준으로 가장 높은 순도(purity)를 갖도록 분류하는 의사결정트리를 훈련도 계산 모델로 생성할 수 있다.
도 4는 일 실시 에에 따른 훈련도 계산 모델이 생성되는 과정을 설명하는 예시도이다. 도 4를 참조하면, 사이버 보안 훈련 장치가 훈련도 계산 모델을 생성하는 과정에 도시된다. 사이버 보안 훈련 장치로 복수의 훈련생들의 훈련 데이터 집합을 포함하는 전체 학습 샘플(410)이 전달될 수 있다. 사이버 보안 훈련 장치는 전체 학습 샘플(410)로부터 중복을 허용하여 임의적으로 n(n은 자연수) 개의 훈련 데이터를 선택함으로써 복수의 하위 샘플(421, 422, 423)을 생성할 수 있다. 본 실시 예에 따른 사이버 보안 훈련 장치는 전체 학습 샘플(410)로부터 서브 샘플링을 통해 생성된 부분 데이터들을 이용하여 복수 개의 의사결정트리를 생성할 수 있다. 이에 따라, 사이버 보안 훈련 장치가 생성하는 k 개의 의사결정트리는 서로 다른 학습 데이터에 의해 생성됨으로, 의사결정트리의 최종 예측값이 비상관화되도록 하여 훈련생의 훈련도 예측의 성능을 높이는 효과를 기대할 수 있다.
일 실시 예로서, 사이버 보안 훈련 장치는 생성된 제1 의사결정트리를 이용하여 훈련생들의 훈련 데이터에 대한 제1 데이터 분포(430)를 생성할 수 있다. 데이터 분포는 훈련 데이터에 포함되는 특성값들을 이용하여 훈련생들의 훈련 데이터를 2차원 공간으로 투영한 분포를 나타낼 수 있다. 제1 데이터 분포(430)는 2차원의 특성 공간(feature space) 내에서 제1 의사결정트리에 의해 생성된 결정 경계(decision boundary)를 포함할 수 있다. 제1 의사결정트리에 의해 생성된 결정 경계는 훈련생들 각각의 훈련도를 분류할 수 있다.
사이버 보안 훈련 장치는 복수의 하위 샘플(421, 422, 423) 각각을 통해 생성되는 복수의 의사결정트리를 집적(aggregation)함으로써 최종 훈련도 계산 모델(440)을 생성할 수 있다. 또한, 사이버 보안 훈련 장치는 최종 훈련도 계산 모델(440)을 이용하여 훈련생의 최종 훈련도를 결정할 수 있다. 구체적으로, 사이버 보안 훈련 장치는 복수의 훈련도 계산 모델 각각이 출력하는 특정한 훈련생에 대한 복수의 훈련도를 수집하고, 복수의 훈련도에 대해 투표 방식을 적용함으로써 상기 특정한 훈련생에 대한 최종 훈련도를 결정할 수 있다. 예를 들어, 시스템 보안 영역에 있어서 전체 3 개의 의사결정트리 중 2 개의 의사결정트리가 "초급자"의 훈련도를 출력하고 나머지 1 개의 의사결정트리가 "중급자"의 훈련도를 출력한 경우에, 사이버 보안 훈련 장치는 해당 훈련생의 시스템 보안 영역의 훈련도를 "초급자"로서 최종 출력할 수 있다. 이러한 방식에 따라, 사이버 보안 훈련 장치는 학습 데이터의 오버피팅(overfitting) 문제를 해결하고, 개선된 정확도를 갖는 예측값을 출력할 수 있다.
다른 일 실시 예로서, 사이버 보안 훈련 장치는 기생성된 k 개의 의사결정트리 중 n 개의 훈련 데이터가 정답률에 따라 미리 부여된 훈련도를 기준으로 가장 높은 순도(purity)를 갖도록 분류하는 의사결정트리를 최종 훈련도 계산 모델로 생성할 수 있다. 구체적으로, 사이버 보안 훈련 장치는 각각의 하위 샘플(421, 422, 423)이 갖는 정답률에 기반한 훈련도에 대해 오류 개수를 최소로 하는 제1 의사결정트리를 최종 훈련도 계산 모델로 결정할 수도 있다.
도 5는 일 실시 예에 따른 사이버 보안 훈련 장치에 의해 생성된 훈련도 계산 모델의 예시적 구조이다. 도 5를 참조하면, 사이버 보안 훈련 장치에 의해 생성된 의사결정트리(500)가 도시된다. 도 5는 이해를 돕기 위한 예시적 기재일 뿐, 다른 실시 예를 한정하거나 제한하는 것으로 해석되어서는 안될 것이다.
도 5를 참조하면, 훈련생들의 훈련 데이터 집합에 포함되는 특성값들의 적어도 하나의 조합에 의해 생성되는 복수의 분기점(510, 520)이 도시된다. 또한, 의사결정트리(500)는 복수의 분기점(510, 520)에 의해 생성되는 리프 노드(531, 532, 533)를 포함할 수 있다. 각각의 리프 노드(531, 532, 533)는 특정한 훈련생에 대한 훈련도(예. 초보자, 중급자, 전문가) 예시적으로, 제1 분기점(510)은 훈련생의 총 학습 시간이 특성값으로 이용됨으로써 총 학습 시간이 7 시간을 초과하는지 여부가 판단될 수 있다. 총 학습 시간이 7 시간을 초과하는 훈련생은 제1 리프 노드(531)를 통해 중급자로서 판단될 수 있다. 제2 분기점(520)은 훈련생의 문제 풀이 시간이 30분 미만인지가 판단될 수 있다. 예시적으로, 문제 풀이 시간이 30분 미만인 훈련생은 제2 리프 노드(532)를 통해 전문가로서 판단될 수 있다. 또한, 문제 풀이 시간이 30분 이상인 훈련생은 제3 리프 노드(533)를 통해 초보자로서 판단될 수 있다. 본 실시 예에 따른 사이버 보안 훈련 장치는 전체의 훈련 데이터 집합 내에서 임의적으로 선택된 훈련 데이터를 이용하여 복수의 의사결정트리를 생성하고, 복수의 의사결정트리의 출력값에 기반하여 훈련생들의 최종 훈련도를 결정함으로써 학습 데이터의 오버피팅 문제를 해결하고, 훈련생의 훈련도 계산에 보다 정확한 결과를 제공하는 효과를 기대할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (3)

  1. 미리 획득된 훈련생들(trainees)의 훈련 데이터 집합을 이용하여 랜덤 포레스트(random forest) 기법에 기반한 훈련도 계산 모델을 생성하는 단계;
    제1 훈련생의 훈련 데이터를 상기 훈련도 계산 모델에 입력함으로써 상기 제1 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 계산하는 단계; 및
    상기 제1 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 이용하여 상기 제1 훈련생에게 제공되는 상기 복수의 사이버 보안 분야에 관한 콘텐츠를 포함하는 훈련 시나리오를 결정하는 단계
    를 포함하고,
    상기 미리 획득된 훈련생들의 훈련 데이터는,
    훈련생들 각각에 대해 문제에 대한 정답률에 따라 미리 부여된 훈련도, 문제의 식별번호, 문제의 레벨, 문제 풀이의 시작 시간, 문제 풀이의 종료 시간 및 문제에 대한 정답 여부를 특성값으로서 포함하는 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 방법.
  2. 제1항에 있어서,
    상기 랜덤 포레스트(random forest) 기법에 기반한 훈련도 계산 모델을 생성하는 단계는,
    (a) 상기 훈련생들의 훈련 데이터 집합 내에서 임의적으로 n(n은 자연수) 개의 훈련 데이터를 선택하는 단계;
    (b) 상기 n 개의 훈련 데이터에 연관되는 특성값들 중 d(d는 자연수) 개의 특성값을 선택하는 단계;
    (c) 상기 n 개의 훈련 데이터를 입력 데이터로 이용하고 상기 d 개의 특성값의 조합을 분기점으로서 이용하여 상기 n 개의 훈련 데이터의 훈련도를 분류하기 위한 의사결정트리를 생성하는 단계;
    (d) 상기 (a) 단계, 상기 (b) 단계 및 상기 (c) 단계를 k(k는 자연수) 회 반복함으로써 k 개의 의사결정트리를 생성하는 단계; 및
    (e) 상기 k 개의 의사결정트리 중 상기 n 개의 훈련 데이터가 상기 정답률에 따라 미리 부여된 훈련도를 기준으로 가장 높은 순도(purity)를 갖도록 분류하는 의사결정트리를 상기 훈련도 계산 모델로 생성하는 단계
    를 포함하는 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 방법.
  3. 제2항에 있어서,
    상기 (a) 단계는,
    상기 훈련 데이터 집합 내에서 중복을 허용하여 임의적으로 n 개의 훈련 데이터를 선택하는 단계이고,
    상기 (b) 단계는,
    상기 n 개의 훈련 데이터에 연관되는 특성값들 중 중복을 허용하지 않고 임의적으로 d 개의 특성값을 선택하는 단계인 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 방법.
KR1020200009451A 2020-01-23 2020-01-23 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 장치 및 방법 KR102092684B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200009451A KR102092684B1 (ko) 2020-01-23 2020-01-23 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200009451A KR102092684B1 (ko) 2020-01-23 2020-01-23 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102092684B1 true KR102092684B1 (ko) 2020-03-24

Family

ID=70004419

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200009451A KR102092684B1 (ko) 2020-01-23 2020-01-23 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102092684B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102273867B1 (ko) * 2020-11-27 2021-07-06 주식회사 솔리드웨어 비지도학습방법론에 기인한 지도학습모델 생성 방법 및 그 장치와, 이를 이용한 비지도학습모델 해석 방법 및 그 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101725301B1 (ko) * 2016-08-01 2017-04-11 주식회사 그로비스인포텍 보안 취약점 훈련 시스템
KR20190022431A (ko) * 2017-03-13 2019-03-06 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 랜덤 포레스트 모델의 훈련 방법, 전자장치 및 저장매체
KR20190119867A (ko) * 2018-04-13 2019-10-23 한국전자통신연구원 제어시스템 분야의 실시간 사이버 보안 훈련 제공 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101725301B1 (ko) * 2016-08-01 2017-04-11 주식회사 그로비스인포텍 보안 취약점 훈련 시스템
KR20190022431A (ko) * 2017-03-13 2019-03-06 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 랜덤 포레스트 모델의 훈련 방법, 전자장치 및 저장매체
KR20190119867A (ko) * 2018-04-13 2019-10-23 한국전자통신연구원 제어시스템 분야의 실시간 사이버 보안 훈련 제공 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
대한민국 등록특허 제10-1534194호에는 침입자 행동패턴을 반영한 사이버보안 교육훈련시스템 및 방법이 제공된다. 구체적으로, 대상특허는 복수의 훈련 참여자 단말기들의 미션수행 결과를 수집하여, 수집결과에 따라 서로 다른 단계의 사이버보안 교육훈련이 이루어지도록 차별화된 사이버보안 교육훈련용 콘텐츠를 제공하는 서버의 구성을 포함하고 있다. 그러나, 대상특허는 미리 획득된 훈련생들(trainees)의 훈련 데이터 집합을 이용하여 랜덤 포레스트(random forest) 기법에 기반한 훈련도 계산 모델을 생성하고, 특정한 훈련생의 훈련 데이터를 훈련도 계산 모델에 입력함으로써 특정한 훈련생에 관한 복수의 사이버 보안 분야 각각의 훈련도를 계산하는 구성에 대해서는 어떠한 내용도 개시, 암시 또는 시사하지 못하고 있다.
학회지 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102273867B1 (ko) * 2020-11-27 2021-07-06 주식회사 솔리드웨어 비지도학습방법론에 기인한 지도학습모델 생성 방법 및 그 장치와, 이를 이용한 비지도학습모델 해석 방법 및 그 장치
WO2022114363A1 (ko) * 2020-11-27 2022-06-02 주식회사 솔리드웨어 비지도학습방법론에 기인한 지도학습모델 생성 방법 및 그 장치와, 이를 이용한 비지도학습모델 해석 방법 및 그 장치

Similar Documents

Publication Publication Date Title
Abroshan et al. Phishing happens beyond technology: The effects of human behaviors and demographics on each step of a phishing process
Diallo et al. Minding morality: ethical artificial societies for public policy modeling
Halcrow et al. Grale: Designing networks for graph learning
Demertzis et al. A hybrid network anomaly and intrusion detection approach based on evolving spiking neural network classification
KR20190070702A (ko) 텍스트 마이닝 기반 보안 이벤트 자동 검증 시스템 및 방법
WO2017165399A1 (en) Automated assessement and granding of computerized algorithms
Olsen et al. Increasing validity of simulation models through metamorphic testing
US11013978B2 (en) In-game strategic insight with real-time heat map generation and historical heat maps
CN110958263B (zh) 网络攻击检测方法、装置、设备及存储介质
KR102192949B1 (ko) 인공신경망을 이용한 창업 기업의 분석 방법 및 장치
Iliou et al. Detection of advanced web bots by combining web logs with mouse behavioural biometrics
KR102092684B1 (ko) 랜덤 포레스트 기법을 이용한 사이버 보안 훈련 장치 및 방법
WO2023126217A1 (en) Graph neural network ensemble learning
CN111986763A (zh) 疾病数据分析方法、装置、电子设备及存储介质
Park et al. Show me your account: detecting MMORPG game bot leveraging financial analysis with LSTM
Grace et al. A graphical causal model for resolving species identity effects and biodiversity–ecosystem function correlations: comment
De Maria et al. Verification of temporal properties of neuronal archetypes modeled as synchronous reactive systems
Yerlekar et al. A multinomial technique for detecting fake news using the Naive Bayes Classifier
Thanapongtharm et al. Application of spatial risk assessment integrated with a mobile app in fighting against the introduction of African swine fever in pig farms in Thailand: development study
Guttman et al. Play for Real (ism)-using games to predict human-AI interactions in the real world
Velasco Philosophy and phylogenetics
Hajdu et al. Use of artificial neural networks to identify fake profiles
Lytvynov et al. Corporate networks protection against attacks using content-analysis of global information space
KR102092683B1 (ko) 퍼지 로직에 기반하여 사용자의 훈련도를 평가하는 장치 및 방법
Alharby et al. Simulating permissionless blockchains: Distribution fitting, tool support, and a case study

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction