KR102113587B1 - 임무 기반의 게임-실행형 사이버 교육 시스템 및 방법 - Google Patents

임무 기반의 게임-실행형 사이버 교육 시스템 및 방법 Download PDF

Info

Publication number
KR102113587B1
KR102113587B1 KR1020187011555A KR20187011555A KR102113587B1 KR 102113587 B1 KR102113587 B1 KR 102113587B1 KR 1020187011555 A KR1020187011555 A KR 1020187011555A KR 20187011555 A KR20187011555 A KR 20187011555A KR 102113587 B1 KR102113587 B1 KR 102113587B1
Authority
KR
South Korea
Prior art keywords
mission
virtual
student
cyber
environment
Prior art date
Application number
KR1020187011555A
Other languages
English (en)
Other versions
KR20180056756A (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 서케이든스 코퍼레이션
Publication of KR20180056756A publication Critical patent/KR20180056756A/ko
Application granted granted Critical
Publication of KR102113587B1 publication Critical patent/KR102113587B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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
    • G06Q50/20Education
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

임무 기반의 사이버 교육 플랫폼으로서, 이것은 공격 지향형 참가자와 방어 지향형 참가자들 모두가 실제 또는 가상의 상대방을 상대로 게임 기반의 가상 환경에서 자신의 기술을 테스트할 수 있도록 한다. 상기 시스템은 분리 및 제어형의 설정에서 교육훈련을 수행하기 위한 현실적인 가상 환경을 구축한다. 동적 구성에 의해 실제 및/또는 가상 머신들, 소프트웨어 리소스, 도구 및 네트워크 구성 요소들의 조합을 사용하여 고유의 임무를 지원한다. 게임 엔진은 참가자가 엔진에 이용 가능한 선택적인 옵션들을 기반으로 하여 시나리오를 재생하려고 시도하는 경우 변하는 방식으로 동작한다. 기술 격차/강점을 파악하고 각 교육 참가자의 성과를 측정하기 위해 점수 및 순위표가 사용된다. 플레이어에 대한 상세한 수행 평가는 임무의 종료 시 제공되며 사용자 프로필/교육 기록에 저장된다.

Description

임무 기반의 게임-실행형 사이버 교육 시스템 및 방법
본 발명은 임무 기반의 게임-실행형 사이버 교육 시스템 및 방법에 관한 것이다.
정보 시스템 기술과 인터넷에 대한 의존도의 증가와 함께, 사이버 공격의 수가 걱정스러운 비율로 증가하고 있다. 설상가상으로, 그러한 사이버 위협은 소비자, 사업체 및 행정 단체들에 대해 일상적으로 영향을 미치면서 그 복잡성이 증가하는 방향으로 계속해서 진화하고 있다. 정부 및 사기업에 걸쳐서 해킹 시도는 증가 추세에 있다. 미국 국토안보부에 의해 제공되는 사이버 위협 정보에 따르면, 미 국방성은 매일 천만 번의 해킹을 받고 있다고 보고하고 있으며, 유타 주는 이천만 번의 해킹 시도를 받고 있고, 또한 에너지 회사인 BP는 매일 오만 번 정도의 해킹시도를 처리하고 있다고 알려지고 있다. 그러나 이것들은 정보 시스템들이 겪고 있는 일상적인 위협들에 대한 단지 하나의 작은 예일 뿐이다. 더욱 놀라운 것은, 이러한 공격들의 대부분이 매년 성공적으로 이루어지고 있어 수십억 달러의 비용이 낭비되게 하고 있다는 점이다.
사이버 공격은 계속 증가하고 더욱 정교해지고 있으므로, 산업계 및 행정기관의 정보 시스템들을 보호하기 위한 보안 시스템과 고도로 훈련된 전문가에 대한 수요는 매우 빠르게 증가하고 있다. 이러한 고속으로 성장하는 사이버 보안 위협 환경은 중요 시스템들과 민감한 정보를 보호하기 위해 필요한 전문성을 갖는 전문인력의 부족과 결합하여 공적 및 사적 분야에 있어 심각한 보안 위험성을 제기하고 있는 실정이다.
불행하게도, 현재의 교육훈련 방법들은 그러한 위협과 싸우기 위해 필요한 교육을 제공하고 최신형으로 유지하도록 격심하게 도전받고 있다. 이러한 고도로 복잡한 보안 교육은 전통적으로 교실 환경에서 이루어지거나, 아니면 실시간 상의 보안 위협이 발생할 때 그 보안 위협을 평가하는 실황(라이브) 시스템에 대해 접속 권한을 갖는 컨설턴트에 의해 제공되어 왔다. 이러한 기존 방식의 교육훈련 방법론들과 기법들은 재빠르게 변화하는 보안 위협들을 따라잡을 수 없을 뿐만 아니라 관련 인력을 신속하게 교육할 수도 없는 것이다. 기존의 교육 프로그램들을 더욱 복잡하게 하는 것은, 실생활에서의 사이버 위협 시나리오들은 그 교육이 도입된 직후에 바로 새로운 위협에 의해 구식이 되어버린다는 점이다.
현재의 교육 시스템은 따라서, 훈련을 위한 특정 대상을 염두에 두고 제작되며 관련 직원 및 학생에 대해 전용으로 한다. 예를 들어, 이러한 대상 중 일부는 건강관리, 사이버 보안, 전력 그리드망 인프라 구조 등을 포함할 수 있다. 현재의 교육 시스템은 하드웨어/소프트웨어로 맞춤형(customized)으로 이루어져서, 대상 산업의 교육 요구들을 충족하도록 구축된다. 최근의 시스템들은 본질에 있어 대체로 정적으로서 일단 대상 산업에 대해 구성되고 나면, 수정은 교육 요구와 기술 변경에 따라서 수동으로 이루어진다.
교육이 필요한 각각의 산업 대상에 초점을 맞춰 제작된 이러한 수동형 커스텀화(customization)는 교육 시스템 개발 및 지원의 전반적인 비용을 증가시키므로, 이러한 현재 기술수준의 교육을 절대적으로 필요로 하는 대부분의 업무에 대해 현재 교육 시스템은 비싸고 또한 너무 비용이 많이 들게 된다. 이러한 기존의 교육 시스템은 교육이 필요한 각각의 특정 산업 분야에서 학생의 교육 요구와 빠른 속도의 기술 진화를 따라잡기 위해서는 광범위한 수동형의 수정 및 지속적인 커스텀화가 필요할 것이다. 이러한 급변하는 기술 발전은 교육 시스템을 빠르게 쓸모없게 만들 뿐만 아니라, 새로운 학생들, 새로운 시스템들 및 새로운 운영 방법들의 지속적인 흐름에 따라가기 위한 수정이 필요하게 한다.
또한, 컴퓨터 실행형 교육훈련 시스템이 개발되고 있는 이러한 상황에서조차도, 이러한 시스템들은 여전히 유사한 문제점을 겪고 있다. 이 시스템들은 많은 수의 학생을 교육하는 데 사용할 수는 있지만 그 교육 시스템은 유연하지 못하며 제한된 교육 혜택을 제공한다. 예를 들어, 기존의 교육 시스템은 고정된 교육 세션을 구현하도록 설계되어 있다. 즉, 이러한 교육 시스템에는 하나 또는 다수의 사전에 설계된 또는 고정형의 교육 애플리케이션들이 포함된다. 상기 교육 시스템은 단순히 그러한 하나의 고정형의 교육 애플리케이션을 실행하거나 작은 세트의 고정형 애플리케이션들 중의 하나를 선택한다. 따라서 학생들은 동일한 교육 환경을 반복해서 보게 된다. 운영자가 다른 교육 세션이나 환경을 학생에게 제시하고자 한다면, 완전히 새로운 교육 애플리케이션이 그 교육 시스템에 구축되고 로드되어야 할 것이다.
Brueckner at al.(이하 'Brueckner'라 함)의 미국 특허 출원 공보 제 2009/0208910 호는, 위에 언급된 문제로 고통받는 선행 기술 교육 시스템의 예이다. Brueckner는 가상 컴퓨터 환경에서와 같이 컴퓨터 네트워크 교육 연습의 자동 실행 및 평가를 공개한다. Brueckner의 교육 환경에는 제어 / 모니터링 시스템, 공격 시스템 및 대상 시스템이 포함된다. 교육 환경은 하나 이상의 컴퓨터 시스템으로 구성된다. 제어 / 모니터링 시스템은 공격 시스템과 대상 시스템 모두에 통신 가능하게 결합되며, 공격 시스템은 대상 시스템의 공격에 참여하도록 구성된다. 교육생 장치를 사용하는 교육생은 공격하는 동안 대상 시스템을 보호하거나 달리 관리해야 한다. 공격 시스템은 교육생이 취한 행동에 자동으로 응답할 수 있으며, 전술적인 훈련이 끝나면 훈련 과정에서 수집 한 데이터를 토대로 훈련 성과를 평가할 수 있다.
그러나 Brueckner의 시스템은 규칙을 기반으로 하는 교육생의 행동에 대한 상대방의 반응을 생성하는 "상태-기반"교육 시스템이며, 반응은 다른 규칙이 충족되는지 여부에 따라 학생 행동에 다른 응답이 생성된다는 점에서 오직 동적이다. 특히 Brueckner는 "상태-기반"시스템, 예를 들면, 미리 정의된 상태와 사전 정의된 규칙을 사용하여 상태 기반 교육 시나리오를 가상 시스템 내부의 실제 작업에 매핑되는 규칙이 있는 상태 시스템을 개시한다. 일 실시 예에서, 주 제어 루프는 자동 참여 제어기에 의해 취해질 대응 행동을 결정할 때 규칙을 사용하는 상태 기계를 제공한다. 물론 현실 세계에서 사이버 위협은 항상 진화하고 있고 사이버 위협 행위자는 항상 전술을 변화시키고 있는데 이때 교육생은 비슷한 조건으로 훈련을 받아야 한다.
Brueckner는 또한 교육 환경과 관련하여 다양한 시나리오를 구현할 수 있는 구성을 공개한다. 그러나, 다양한 교육 시나리오는 참가하는 평가자 또는 자동으로 참가하는 컨트롤러에 의해 정의된 다음, 구현을 위해 제어 / 모니터링 시스템에 저장될 수 있다. 특히, 상이한 교육 시나리오는 교육 엔진에 의해 제공되는 가상 환경에 관련하여 구현된다. 교육 엔진은 가상 컴퓨터의 가상 네트워크에서 구축된다. 따라서 Brueckner는 다른 시나리오들이나 게임들에서의 플레이어를 개시하는 동안 Brueckner는 서로 다른 가상 네트워크와 같이 완전히 다른 교육 환경과 관련된 다양한 시나리오를 제시하지 않는다. 위에서 상세히 설명한 바와 같이, 교육생은 다양한 시나리오와 관련하여 뿐만 아니라 다양한 시스템과 관련하여 훈련할 수 있어야 한다.
이러한 "고정형의 교육 세션들로부터 선택"하는 구성은, 학생이 하나 또는 다수의 특정 과제들을 실행 또는 구현하는 교육 세션을 생성하는 기존의 교육 세션의 목표와 부합한다. 과제 기반의 교육에 따라서 그 교육은 특정 과제에 대해 학생을 훈련하고 그 과제의 수행의 숙달도를 높이기 위해 사용된다. 그러나 현실 세계에서 각각의 사이버 위협은 매우 상이하다. 따라서 특정 작업을 수행할 수 있는 학생의 능력은 사이버 위협에 대처하기 위해 그 작업을 언제 수행할지 또는 다른 작업들이나 기술과 결합하여 그것을 어떻게 사용할지를 그 학생이 이해하도록 도움을 주는 데에는 불충분하다.
급변하는 사이버 위협의 위험성과 전 세계의 해커들로부터의 끊임없는 공격을 감안하면, 사이버 공격, 테러 및 사이버 범죄에 신속하게 대응하고 이것들을 막을 수 있는 방법에 대해 전문가들을 훈련하는 데에 요구되는 수준의 복잡성을 갖는 폐쇄적이고 제어된 네트워크 환경을 제공하는 동적 가상(dynamic virtual) 네트워크 교육훈련 시스템 및 방법이 필요하다.
본 발명의 일 측면은 사이버 교육 시스템이다. 일 실시 예에서, 사이버 교육 시스템에 의해 구현되는 교육은 과제 기반형(task-based)이라기보다는 임무 기반형(mission-based)이다. 일 실시 예에 있어, 상기 사이버 교육 시스템에 의해 구현되는 교육은 게임으로서도 구현된다.
일 실시 예에서, 상기 시스템은 상이한 리소스를 갖는 상이한 환경을 포함하고 상이한 임무들을 갖는 거의 무한한 다양성의 교육훈련 시스템의 구성을 생성하는 데이터베이스들, 도구(tool)들 및 애플리케이션 프로그래밍 인터페이스들(Application Programming Interfaces: API)의 코어 세트를 포함한다.
상기 시스템은, (1) 사이버 위협, 전력 그리드, 커스텀 시스템 등과 같은 다수의 시나리오 환경 유형들; (2) 어떤 환경 유형에 각각 전용되는 다수의 고유 리소스 및 임무 데이터베이스들; (3) 모든 환경 유형에 공통적인 도구들 및 리소스들의 핵심 세트; (4) 환경 유형의 선택, 전용 데이터베이스의 사용 및 고유의 환경의 구성; (5) 호스트 기반 및 네트워크 기반 센서 모두의 이용; 및/또는 (6) 적어도 두 명의 실제 학생들 간의 또는 실제의 학생과 인공 지능(AI) 컴퓨터화 플레이어 간의 게임 플레이를 구현 및/또는 관리하도록 구성된 게임 엔진 및 가상 이벤트 관리자(Virtual Event Manager: VEM)로 구성될 수도 있다.
일 실시 예에서, 본 발명은 "공격(offensive)" 및 "방어(defensive)" 지향의 참가자 양자가 정교한 상대방에 대항하여 일정 게임 환경에서 자신들의 기술을 테스트할 수 있게 하는 동적 시나리오-기반의 교육훈련 플랫폼을 포함한다.
일 실시 예에서, 상기 교육은 현실적인 가상 환경 내의 AI 상대와 해킹 시뮬레이션을 결합하는 게임 환경의 체계 내에서 발생한다. 상기 게임 환경은 통제된 환경 내에서 현실적인 상황별 교육을 용이하게 하는 다이내믹하고 및 고도로 상호 작용적인 시나리오를 제공한다. 이러한 독특한 시스템 기술, 시뮬레이션 및 게임 인터페이스를 사용하여 인력 교육을 통해 산업계 및 행정기관의 정보 기술 개체들에 필요한 사이버 보안 전문기술에 필요한 기술 역량을 신속하게 개발하는 것을 촉진한다.
게다가, 대부분의 조직들은 그 기능에 지장을 가져오는 것에 대한 위험성 또는 잠재적인 취약점 또는 악의적인 이식체가 외부 침투 테스트 팀 및 그 도구들에 의해 침투되는 것을 포함하여 다양한 이유를 들어 그들의 생산 네트워크에 대해 침투 테스트를 수행하는 것을 회피하고 싶어한다. 토폴로지 맵(topology map), 구성요소 리스트, 호스트 유형 및 구성과 같은 필수 네트워크 요소 및 구성 요소를 캡처함으로써, 확장 가능한 가상화 환경은 프로덕션 네트워크의 주요 측면을 에뮬레이트(emulate) 할 수 있다. 복수의 가상 기계장치들로 구성된 이러한 가상 환경은 하드웨어 구성 요소의 수 및 관련 유지 관리 비용을 줄임으로써 고정된 하드웨어 구성보다 더 효율적이다. 따라서 침입 테스트 및 관련 활동이 가상적인 환경상에서 훨씬 더 높은 빈도로, 안전하고 분리된 방식으로 수행될 수 있으며, 발견된 취약성, 약점, 강점 및 영향에 대해 학습 된 교훈은 체계적이고 통제된 방식으로 생산 네트워크에 적용될 수 있다.
대안적인 실시 예에서, 산업 제어 시스템의 일부와 같은 특정 목표 지향형 하드웨어 장치는 가상 네트워크 요소 및 구성 요소와 공존하여 목표로 하는 생산 네트워크를 적절하게 에뮬레이팅 하는 확장 가능한 가상화 된 물리적 환경을 총괄적으로 형성하도록 요구될 수도 있다.
상기 개시된 시스템의 다른 측면들 및 구성 요소들은 다음을 포함할 수도 있다:
(1) 사이버 보안 교육 및 연습 환경설정(practice settings)에 사용되는, AI 엔진에 의해 구현되는 AI 상대방. AI 엔진은 교육 참가자가 고유하게 구성된 시스템 네트워크 시뮬레이션에 대해 반응하는 방식에 따라 각각의 게임을 고유하게 만든다.
(2) 상기 시스템은 분리되고 제어된 설정에서 훈련을 수행하기 위한 현실적인 가상 환경을 구축한다. 상기 시스템은, (a) 각각의 사이버 교육 임무에 관한 고유의 가상 환경; (b) 클라우드 기반의 컴퓨팅, 네트워크, 및 저장 리소스를 활용하여 교육 시뮬레이션의 규모를 확장하기 위한 가상 환경의 사용; (c) 임무 중 학생 활동을 평가함에 있어 호스트 기반 센서와 네트워크 기반 센서의 양자의 사용; 및 (d) 특정 목표 또는 생산 환경을 에뮬레이팅 하는 것에 필요한 고유 컨트롤러들, 프로세서들 및 주변 장치들과 같은 특정 하드웨어 구성 요소의 사용의 구축을 용이하게 할 수도 있다.
(3) 공격형 및 방어형 사이버 교육훈련 임무의 구현.
(4) 기술 격차/강점을 확인하고 게임을 하는 각 참가자에 대해 성능을 측정하기 위한 점수(scoring) 및 순위 판(leader board).
(5) 사이버 보안 교육을 참가자들에게 더 매력적으로 만드는 시각화 및 멀티미디어 자극과 같은 게임.
(6) 각 임무에 대해 고유한 교육 목표를 갖는 임무 중심의 시나리오 기반 교육 환경. 새로운 임무들은 기술적 언어(description language)로만 구성되어 교육 환경에 공급될 수 있으며, 이것은 임무를 실행하는 필요한 컴퓨팅, 네트워크, 저장소 요구 사항, 도구들, 센서들, 위협(threats) 및 완화(mitigations)와 함께 환경을 구성할 것이다.
(7) 상기 시스템은 하나 또는 다수의 학생들에게 제공되는 각각의 임무에 대해 고유한 컴퓨팅 및 네트워크 환경이 제공되는 다양한 산업 및 교육 요구를 지원하도록 구성될 수 있다.
(8) 교육 시나리오를 분리하고 제어하기 위한 폐쇄형 네트워크 환경.
(9) 가상 머신(machine)(및 어떤 경우에는 실제 장치들), 소프트웨어 리소스(resource), 도구(tool) 및 네트워크 구성요소들의 조합을 사용하여 고유의 임무를 지원하는 동적 구성이 모든 임무에 대해 구성된다.
(10) 적어도 하나의 실제의 학생(학생) 및 하나의 AI 학생을 포함하는 임무들(missions).
(11) 둘 또는 다수의 실제의 공격형 학생이 하나 또는 다수의 수비형 학생과 게임하거나 또는 둘 또는 다수의 수비형 학생이 하나 또는 다수의 공격형 학생을 상대로 게임을 하는 것을 가능하게 하는 팀 플레이. 공격형 또는 수비형 학생은 인간이나 AI일 수도 있다.
(12) 임무 중 그들이 취할 역할에 대한 학생의 선택. 학생들은 그 학생이 어떻게 하고 있는지를 추적하기 위해 포인트와 관련되는 목표를 각각 가지고 공격적 또는 방어적 역할을 수행할 수도 있다.
(13) 임무에 참여하여, 실시간으로, 학생들을 안내하고, 환경설정을 수정하며, 목표 및 시나리오 상황에서 플레이어에게 도전 의식을 북돋는 기능과 함께 각 임무를 모니터하는 지도강사(trainer).
(14) 새로운 리소스들이 이용 가능해 짐에 따른 리소스들에 대한 동적인 업데이트(dynamic updates) 및 새로운 요건들이 정의되는 것에 따른 임무에 대한 동적 업데이트.
(15) 임무 중 학생으로부터 메시지 또는 질의를 수신하고 또한 힌트 또는 팁과 같은 지능형 응답을 제공할 수 있는 AI 고문(advisor).
선행 기술에 비교하여 본 발명의 다른 목적, 특징 및 이점들은, 첨부된 도면과 함께 고려하여 이해할 때, 후술하는 도면의 상세한 설명으로부터 명백하게 이해될 것이다.
도 1은 본 발명에 따라 구현될 수 있는 다양한 유형의 임무 시나리오들을 도식적으로 예시한다.
도 2는 상이한 대상 산업들과 관련되는 본 발명의 교육 시스템의 개요를 도식적으로 예시한다.
도 3은 본 발명의 교육 시스템에 의해 구현될 수 있는 다양한 사용자 역할을 예시한다.
도 4는 본 발명에 따른 교육 시스템의 구성의 일 실시 예를 도시한다.
도 5는 본 발명에 따른 다양한 방법들의 흐름도를 예시한다.
도 6은 본 발명에 따른 시스템의 임무 오케스트레이션 구성의 일 실시 예를 도시한다.
도 7은 본 발명의 교육 시스템에 의해 구현되는 공격형 임무 구성의 일 실시 예를 도시한다.
도 8은 본 발명에 따른 교육 임무를 위한 하나의 가상 환경을 예시한다.
도 9는 본 발명에 따른 교육 임무를 위한 또 다른 가상 환경을 예시한다.
도 10은 본 발명의 교육 시스템에 의해 구현되는 임무 환경의 다른 실시 예를 도시한다.
도 11은 본 발명에 따른 교육 시스템에 의해 구현되는 공격형 임무 환경의 또 다른 일 실시 예를 예시한다.
도 12는 본 발명에 따른 교육 시스템에 의해 구현되는 수비형 임무 환경의 일 실시 예를 도시한다.
이하의 설명에서, 본 발명에 대한 더 완전한 설명을 제공하기 위해 다수의 특정 세부 사항이 설명된다. 그러나 당해 기술분야의 전문가에게는 본 발명이 이들 특정 세부 사항 없이도 실시될 수 있다는 것이 명백할 것이다. 다른 사례들에서, 공지된 특징들은 본 발명을 모호하게 하지 않도록 상세하게 기술되지 않는다.
개관
본 발명은 하나 또는 다수의 학생에게 동적으로 구성된 폐쇄형 네트워크-환경의 교육을 제공하기 위한 시스템, 방법 및 장치의 다양한 실시 예들을 포함한다. 여기서 상기 시스템은 게임 형식의 교육을 제공하기 때문에 학생들을 참가자 또는 플레이어(player)라고 칭할 수도 있다.
본 개시의 일 측면은 시나리오 기반의 또는 시나리오 지향형 임무들이 정의되고 구현되는 구성 가능한, 가상 컴퓨팅의 사이버 위협 교육 환경을 생성하도록 구성되는 시스템에 관한 것이다. 시나리오는 컴퓨터 호스트의 가상 네트워크, 위협 또는 위협 행위자, 임무 목적, 교육 목표 및 도구로 구성되어 하나의 임무 교육 세션을 구성한다. 상기한 임무는 하나 또는 다수의 작업을 통해 교육 목표를 달성하기 위해 하나 또는 다수의 플레이어들에게 도전하게끔 하는 상황과 환경을 제공하는 시나리오를 구현하는 게임 기반의 활동이다.
다수의 산업 대상들을 지원 가능하고 급격한 기술 변화에 보조를 맞출 수 있는 동적 교육 시스템의 사용을 최적화하기 위하여, 본 시스템에는 복수의 교육 환경 리소스들과 임무 데이터베이스 세트들을 갖는 모든 유형의 교육에 공통적인 코어 시스템 플랫폼 리소스들의 커널(kernel)이 포함될 수도 있는데, 여기서 하나의 대상 산업에 대해 각 세트가 사용된다. 도 1 및 2 참조.
상기 시스템은, 특정한 방식으로 배열되고 하나의 또는 고유의 목적들을 갖는 환경 리소스의 고유 세트를 각각 갖는 상이한 임무를 구성하며, 이로써 모든 학생 교육 세션이 고유 임무로서 구성 가능하다. 이러한 방식으로, 상기 시스템은 가상의 폐쇄형 네트워크 환경 내에서 특정 유형의 산업 또는 활동에 있어 학생을 위한 특정한 교육 시나리오를 용이하게 하는 실시간 리소스들, 도구들 및 서비스들의 동적 세트로써 해당 학생의 환경을 고유하게 구성한다.
학생들은 해커, 사이버 공격 오퍼레이터, 사이버 방어자, 또는 교육 강사와 같은 대상 산업 또는 기능에서 업무를 에뮬레이팅(emulate) 하는 고유의 역할을 수행한다. 임무에 따라 역할들은 바뀔 수도 있다. 상기 역할들은 수많은 다른 임무들에 사용되는 미리 정의된 역할들의 하나 또는 다수의 데이터베이스에 의해 선택되거나 정의될 수도 있다. 역할들은 특정 세트의 임무의 현실적인 특성을 더욱 향상시키도록 실제 조직을 본보기로 하여 맞춤형(customized) 그룹으로 정의될 수도 있다. 특정 임무에 사용되는 일단의 역할들의 일례가 도 3에 예시되어 있다.
교육 시나리오 및 해당 임무들은 적어도 하나의 실제 학생이 또 다른 실제 학생 또는 AI 학생과 경쟁하는 게임 세션으로서 구현된다. 상기 시스템의 다른 실시 예는 팀 플레이를 허용하며, 여기서는 둘 또는 다수의 실제의 공격형 학생들이 AI 방어형 학생 또는 하나 또는 다수의 실제의 방어형 학생들이 AI 공격형 학생 또는 하나 또는 다수의 실제의 공격형 학생들을 상대로 경기를 할 수 있다.
본 명세서에 사용된 것과 같은, "공격적/공격형(offensive)"이라는 용어는 정보보안("InfoSec") 전문가에 의한 대상 정보시스템("InfoSys")의 침투 테스트를 위해 일반적으로 수행되는 활동의 유형을 지칭할 수도 있다. 또한, "방어적/방어형(defensive)"이라는 용어는 InfoSys의 보호를 위해 정보보증(Information Assurance: "IA") 전문가가 일반적으로 수행하는 활동의 유형을 지칭할 수도 있다.
어떤 팀 플레이에서, 각각의 학생은 고유 세트의 목표들을 갖는 특정한 역할을 수행할 수도 있다. 예를 들어, 일 실시 예에서, 공격형 학생이 해커(hacker)의 역할을 할 수 있는 반면, 방어형 학생이 해커가 전력 그리드에 액세스하려고 시도하는 전력 인프라 운영자의 역할을 수행할 수도 있다. 또 다른 실시 예에서는, 한 학생이 네트워크 관리자의 역할을 맡을 수도 있는 반면에, AI 상대방은 백엔드(backend) 시스템에 액세스하기 위해 목표하는 웹 사이트에 해킹을 시도하는 테러리스트의 역할을 수행할 수도 있다.
게임형 임무의 목적은 미리 정의된 시간제한 내에서 다수의 목표를 완료하는 것일 수 있다. 일 실시 예에서, 게임들 또는 임무들은 점수가 매겨진다. 임무 중 학생들이 얻은 점수 및 기타 기준에 입각하여, 학생의 점수가 매겨지고 그것이 교육 강사/관찰자들이 임무 결과를 모니터할 수 있는 순위 판에 기록되어 그 학생이 다른 학생에 대해 어떻게 평가되는지가 열거될 수도 있다.
상기 시스템은 모든 교육 시스템들에 대해 유지되는 커널(kernel)을 이용하여 비용을 최소화하면서 대상 산업에 대해 무한히 유연한 교육 시스템의 신속한 전개를 가능하게 한다.
전반적 시스템 구성 및 방법론
본 발명에 따른 시스템 구성의 일 실시 예가 도 4에 예시된다. 상기 시스템(20)은 게임 서버 (22), 가상 이벤트 관리자(Virtual Event Manager: VEM)(28), 인공지능(AI) 엔진(30), 하나 또는 다수의 사용자 또는 플레이어들 또는 학생 스테이션들(32), 다양한 게임 센서들(34), 및 하나 또는 다수의 관찰자 또는 교육강사 스테이션들/인터페이스들(36)을 포함한다. 이하에서 상세히 설명되는 바와 같이, VEM(28)은 게임 서버(22)와 협력하여 가상으로 구현되는 관련 리소스를 갖는 환경(26) 또는 임무 인스턴스(mission instance)를 생성한다.
플레이어 또는 학생 스테이션(32)은 컴퓨팅 스테이션 또는 단말을 포함할 수도 있다. 바람직하게는, 상기 플레이어 스테이션(32)은 프로세서, 기계로 판독 가능한 코드("소프트웨어")와 같은 데이터를 저장하기 위한 적어도 하나의 메모리 장치, 적어도 하나의 비디오 디스플레이 장치, 하나 또는 다수의 사용자 입력 장치들(키보드, 마우스, 조이스틱, 터치 스크린, VR/AR 헤드셋 등과 같은), 및 시스템의 다른 구성 요소와의 통신을 용이하게 하는 적어도 하나의 통신 인터페이스(무선 또는 유선)를 포함 할 수도 있다. 플레이어 스테이션(32)은, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터 등을 포함할 수도 있다. 플레이어 스테이션(32)은 게임 서버(22)에 관련되는 얇거나 두꺼운 클라이언트로서 구성되어도 좋다.
게임 서버(22)는 적어도 하나의 프로세서, 소프트웨어와 같은 데이터를 저장하는 적어도 하나의 메모리 장치, 및 시스템의 다른 구성 요소와의 통신을 용이하게 하는 적어도 하나의 통신 인터페이스로 구성되는 컴퓨팅 장치를 포함할 수도 있다. 게임 서버(22)는, 바람직하게는, 플레이어 스테이션(32) 및 VEM(28)과 같은 다른 장치로부터 데이터 또는 입력을 수신하고, 플레이어 스테이션(32) 및 VEM(28)과 같은 다른 장치로 출력하기 위한 다양한 데이터를 생성한다. 일 실시 예에 있어, 상기 게임 서버(22)는 사용자 관리 및 인증(authentication)(플레이어 인증과 같은), 재생 이력(playback history), 득점(scoring) 및 순위 게시판(leader board)을 처리하고, 또한 플레이어와 VEM(28)(및 그의 관련 백엔드 서비스) 간의 임무 정보 인터페이스로서의 기능을 수행한다.
VEM(28)은, 바람직하게는, 컴퓨팅 서버와 같은 컴퓨팅 장치상에서 소프트웨어로 구현된다(예를 들어, 게임 서버(22) 및 VEM(28)(후술하는 AI 엔진뿐만 아니라) 양자는 같은 컴퓨팅 장치/서버에 소프트웨어로 구현되어도 좋다). 이 서버는 게임 서버(22)와 동일하거나 상이할 수도 있다. VEM(28)은, 바람직하게는, 게임 서버가 임무 관련 가상 환경을 생성, 모니터 및 파기하기 위해 활용하는 가상화 관리 플랫폼을 포함하거나 구현한다. VEM(28)은 기본적인 오케스트레이션(orchestration) 서비스를 활용하여 능동적인 임무 관리를 수행한다. VEM(28)은 플레이어 수행 및 임무 제어에 관련한 피드백을 포함하여 게임 서버(22)가 임무에 인터페이스 할 수 있도록 하는 인터페이스들을 제공한다. VEM(28)은 게임 서버(22)를 통해 플레이어 선택에 기초하여 적절한 콘텐츠를 생성하기 위해 그것이 활용하는 하나 또는 다수의 임무 콘텐츠/구성 데이터베이스와 인터페이스 한다.
일 실시 예에서, VEM (28)은 교육 환경을 포함하여 필요한 교육 시나리오를 생성하기 위해 다양한 제어 및 에이전트 메커니즘을 구현한다. 일 실시 예에서, 이러한 제어 및 에이전트 메커니즘은, 도 6에 도시된 예에서와 같이, 임무 오케스트레이션 마스터(Mission Orchestration Master), 임무 오케스트레이션 에이전트(Mission Orchestration Agent), 로그 서버(Log Server) 및 하나 또는 다수의 컬렉터(Collector) 또는 로그 에이전트(log Agents)들을 포함할 수도 있다.
상기 임무 오케스트레이션 마스터는 네트워크 및 서비스 구성을 포함하여 환경 내에서의 임무 오케스트레이션 에이전트에 대한 모든 소프트웨어 및 구성 파라미터들을 호스팅하는 마스터이다.
임무 오케스트레이션 에이전트는 임무 환경 내의 모든 머신(machines) 상에서 작동하는 에이전트 서비스(예를 들어, 각각의 시스템을 동적으로 구성 및 모니터하기 위해 필요한 요청들 및 응답들을 처리하도록 개발된 전문화 소프트웨어 요소)이며, 컨트롤러는 로컬 네트워킹 및 서비스들을 구성하기 위해 이들 에이전트들과 인터페이스 한다. 그것은 패키지를 설치하고, 마스터에서 파일을 복사하여 임의의 명령들이 마스터 서비스로부터 동작하도록 할 수 있다. 그것은 또한, 사용자 진행 상황을 모니터하고, AI 기반의 상대방 응답들을 가능하게 하며, 시스템 건전성을 확인하는 게임중(in-game) 인터페이스를 제공한다.
NxLog와 같은 로그 서버는 TCP를 통해 에이전트 로그를 수신하고, 로그의 발신 IP를 포함하는 태그를 부가하여, 그것들을 단일 텍스트 파일에 저장한다. 이러한 로그들은 별도의 머신에 전달되거나, 데이터베이스에 저장되거나, 그리고/또는 영구적인 저장을 위하여 VEM으로 오프로드(offloaded) 될 수도 있다.
컬렉터(Collector) 또는 로그 에이전트(Log Agents)는 환경 내의 다른 모든 머신 상에서 실행되고 관리 네트워크를 경유해 서버에 로그를 전달한다. 최근에, 에이전트는 /dev/log(syslog)를 수신하고(listen), 임무 에이전트의 로그 파일을 미행한다(tail). 또한, Nxlog는 윈도우 이벤트 로그 및 로그 파일의 안전한 전송을 지원할 수 있다.
AI 엔진(30)은 또한, 바람직하게는, 컴퓨팅 서버와 같은 컴퓨팅 플랫폼상에서 실행되는 소프트웨어를 포함한다. AI 엔진(30)은, 바람직하게는, 게임 서버 (22)와 인터페이스 함으로써, 상기 AI 엔진(30)은 게임 서버(22)에 의해 구현되는 임무에 관한 데이터 또는 정보를 획득한다. 이 데이터는, 예를 들어, 게임 중 특정 학생 입력 또는 액션들에 대한 정보, 게임 상태 및 기타 광범위한 다양한 정보를 포함할 수도 있다. 일 실시 예에서, AI 엔진(30)은 AI 게임내(in-game) 또는 임무내(in-mission) 어드바이저를 실행한다. 이러한 어드바이저는 플레이어 스테이션(32)을 통해 학생으로부터 메시지 또는 질의를 수신한다. 상기 AI 게임내 어드바이저는, 바람직하게는, 자연어 인식(natural language recognition)을 사용하여 질의를 처리하고 응답을 제공한다. 가장 바람직하게는, AI 게임내 어드바이저는 학습 요소를 가지며, 예를 들면, 과거의 메시지와 응답을 기반으로 그의 구성을 수정하여 새 구성을 생성한다. AI 엔진(30)은 또한 AI 상대방을 구현한다. AI 상대방은, 바람직하게는, 학생에 대항하는 임무를 수행하는데 사용하기 위해 게임 엔진(22)에 행동/응답을 제공한다. AI 상대방은 또한, 바람직하게는, 상기 AI 상대방이 학생의 행동에 기초하는 것과 같이, 시간 경과에 따라 행동 및 응답들을 변경하는 것을 가능하게 하는 학습 요소를 갖는다.
센서(들)(34)는 플레이어 스테이션(32)을 통해 학생 입력을 모니터하는 것과 같이, 게임/임무의 양태들을 모니터하는 다양한 장치 또는 요소들(실제 또는 가상의)을 포함할 수도 있다. 센서(들)(34)는 이러한 정보를 얻기 위해 게임 서버(34)와 연결될 수도 있다. 센서(들)(34)는, 예를 들어, 게임 서버(34) 또는 다른 장치에 출력을 제공할 수도 있다.
상기 시스템(20)은, 바람직하게는, 하나 또는 다수의 관찰자(observer) 또는 교육강사(trainer) 인터페이스들(36)을 포함한다. 이러한 인터페이스들(36)은 교육강사가 플레이어 스테이션(32)을 효과적으로 미러링(mirroring) 할 수 있게 한다. 각각의 교육강사 인터페이스(36)는 플레이어 스테이션과 통신하여 플레이어의 활동의 실시간 보기(real time view)를 제공한다. 인터페이스(36)는 게임 서버(22) 및 VEM(28)에 대한 인터페이스를 포함하며, 이로써 게임 플레이에 관한 정보가 실시간으로 관찰자에게 미러링 되거나 제공될 수도 있고, 관찰자는 시스템(22)과 상호작용이 가능하다. 상기 인터페이스는 관찰자가 게임 플레이를 (예컨대, 비디오 디스플레이를 통해서) 볼 수 있고 (예컨대, 키보드 등과 같은 입력 장치를 통해서) 입력을 제공할 수도 있는 스테이션 또는 단말에 의해 용이하게 동작될 수도 있다.
전술한 바와 같이, 상기 시스템(20)은, 도 5에 도시된 바와 같은, 교육 시나리오를 형성하는데 사용될 수 있는 가상 리소스들(도구, 네트워크 구성 요소 등)의 데이터베이스와 같은 다수의 데이터베이스를 포함한다. 상이한 시나리오들이 가상 리소스들의 세트로부터 생성될 수도 있고 그리고/또는 다른 시나리오들이 가상 리소스들의 세트를 변경함으로써 생성될 수도 있다. 마찬가지로, 다양한 시나리오들에서 상이한 임무들을 만들 수도 있다. 본 명세서에서 언급된 바와 같이, 가상 리소스들은 교육 환경을 형성하기 위해 물리적 디바이스들과 함께 사용되거나 연결될 수도 있다(예를 들어, 하나의 교육 환경은 가상 환경뿐만 아니라 시스템/환경으로 어드레스 되는 물리적 라우터 장치, 또는 서버, 컴퓨터, 허브, 스위치, 브리지, 모뎀, 액세스 포인트, 중계기, 게이트웨이, 방화벽, 멀티플렉서, 어댑터, 데이터 저장 장치 등과 같은 다른 물리적 장치들을 포함할 수도 있다).
교육 방법의 일 실시 예가 도 5를 참조하여 기술될 것이다. 단계 S1에 도시된 바와 같이, 하나의 임무가 설계 또는 개발된다. 이것은, 예를 들어, 이용 가능한 임무 리소스들(전술한 것과 같은, 도구, 환경 구성요소 등)로부터 하나의 임무를 개발하기 위한 임무 편집기 인터페이스(mission editor interface)(VEM(28)에서 동작하는 소프트웨어와 같은)를 통해서, VEM(28)과 인터페이스 하기 위한 교육강사 인터페이스들(36) 중의 하나를 사용하여 시스템(20)의 교육강사 또는 오퍼레이터에 의해 수행될 수도 있다.
일 실시 예에서, 임무의 개발은 복수의 과정들을 포함할 수도 있다. 도시된 바와 같이, 과정 S1A에서, 임무 설계자는 다양한 교육 목표를 선택할 수도 있다. 과정 S1B에서, 임무 설계자는 다양한 핵심 역량을 지정하거나 식별할 수도 있다. 이 역량들은 플레이어가 그 임무를 완료하는 데 필요한 최소 수준의 역량을 지정할 수도 있으며, 이에 따라 임무의 복잡성을 결정할 수도 있다. 과정 S1C에서, 임무 설계자는 방어 임무를 위한 위협 또는 위협 행위자 또는 공격 임무를 위한 알려진 취약성을 갖는 목표 세트를 지정한다. 과정 S1D에서, 임무 설계자는 임무 편집기를 사용하여 임무 환경을 개발한다. 이는 임무 리소스 데이터베이스로부터 이용 가능한 다양한 도구, 네트워크 장치 등으로부터 임무 설계자를 선택하는 것을 포함할 수도 있다. 임무의 정의는 적용 가능한 경우에는 기존 임무의 많은 부분을 활용(leverage)할 수도 있다. 과정 S1E에서, 임무 설계자는 임무 목표들을 선택한다. 선택되거나 제공된 정보 또는 기준으로부터 임무가 설계된다. 그때, 이러한 임무는 VEM과 관련된 임무 데이터베이스에 저장될 수도 있다.
과정 S2에서, 플레이어 또는 교육강사는 임무 데이터베이스로부터 어떤 임무를 선택할 수도 있다(예를 들어, 플레이어는 임무들의 리스트로부터 선택하거나 또는 교육강사가 플레이어를 위해 하나의 임무를 선택할 수도 있다). 일 실시 예에서, 임무는 핵심 역량 세트를 요구할 수도 있다. 따라서, 플레이어는 지정된 임무를 수행할 자격이 있기 위해서는 지정된 수준의 핵심 역량에 대해 테스트하거나 자격을 요구할 수도 있다. 일 실시 예에서, 예를 들어, 플레이어는 그 플레이어의 핵심 역량 수준을 테스트하기 위해 플레이어 스테이션을 통해 구현되는 짧은 테스트가 요구될 수도 있다. 다른 실시 예에서, 플레이어의 레벨은 플레이어 파일에 저장될 수 있고, 특정 임무에 대한 최소한의 핵심 역량 수준에 대해 검사될 수도 있다. 이와 관련하여, 바람직한 실시 예에서, 플레이어는 (게임 서버에 또는 게임 서버와 연관된 데이터베이스에 저장되는 것처럼) 연관된 플레이어 프로필을 갖는다. 플레이어는, 바람직하게는, 시스템에 로그인하여 자기 자신을 식별하고 자신의 플레이어 파일을 자신의 활동과 연관시킨다. 본 명세서에 언급된 바와 같이, 임무 점수와 같은 플레이어의 활동과 관련된 정보는, 바람직하게는, 플레이어의 신원과 관련되어 저장된다.
과정 S3에서, 임의의 지정된 기준이 충족된다고 가정하면, 선택된 임무가 실행된다. 일 실시 예에서, 이것은 게임 서버가 선택된 임무에 대하여 플레이어 또는 교육강사로부터 입력을 수신하는 동작을 포함하고, 과정 S3A에서는, 게임 서버가 VEM에 그 선택에 대해 통지하는 동작을 포함한다. 과정 S3B에서, 이어서 VEM은 관련된 임무 데이터베이스에 저장된 임무에 관한 정보 및 연계된 임무 리소스 데이터베이스에 저장된 다양한 선택된 임무 리소스들에 관한 데이터를 사용하여 게임 서버에 대한 임무 환경을 설정 가능하게 한다.
일 실시 예에서, 각각의 임무는 가상의 서로 연결된 시스템, 도구, 네트워크 및 장치들의 계획으로 이루어진다. VEM은 가상화 된 백엔드 하드웨어 인프라에 기본 임무 계획을 전개하고 그 가상 시스템이 성공적으로 시작되고 서로 연결되도록 보장한다. 실행중인 각각의 임무 환경은 다른 플레이어가 동시에 실행중인 다른 임무들과는 완전히 분리되도록 설정된다.
각각의 계획(blueprint)에는 각 플레이의 시작 시점에 파라미터들의 랜덤화(randomization)를 가능케 하는 일정 범위의 파라미터들이 포함되어 있다. 임무를 예시화하는 시점에, 임무/게임의 특성을 결정하기 위해 몇몇 변수들이 선택되고, 이어서 VEM은 특정 임무 인스턴스를 생성한다. 이것은 동일한 임무를 반복적으로 시도할 경우 플레이어에게 가변성을 허용한다.
임무의 실행은 또한 임무의 구성에 의존한다. 예를 들어, 여기에 지시된 바와 같이, 두 명의 플레이어가 공격형 및 방어형 역할에서 서로에 대해 상대하여 플레이 할 수도 있다. 이것은 게임 서버가 첫 번째 플레이어 스테이션에서는 첫 번째 공격형 플레이어와, 그리고 두 번째 플레이어 스테이션에서는 두 번째 방어형 플레이어와 상호작용하는 것이 필요하다. 다른 실시 예들에 있어, 다수의 플레이어들이 유사한 방식으로 할 수도 있다. 여기에 또한 지시된 것과 같이, 플레이어는 AI 상대와 플레이 할 수도 있다. 이러한 구성에서는 AI 엔진(30)의 AI 상대방은 특정 임무에 관련하여 가능하게 된다.
일단 임무가 가능하게 되면, 단계 S4에서 임무 환경에 관한 정보가 플레이어(들)에게 표시되고, 플레이어들은 입력을 제공하기 시작한다. AI 상대와 플레이 하는 경우에는, 또다시 AI 엔진(30)은 임무 및 플레이어의 동작에 관한 정보를 게임 서버로부터 수신하고 그에 따라 응답한다.
바람직하게는, 후술하는 바와 같이, 플레이어의 행동은 과정 S5에서와 같이 득점된다. 바람직하게는, 플레이어는 임무 완수를 위한 단지 순위 또는 점수보다는 행동에 대한 가점 또는 점수를 받는다. 이러한 방식으로, 다수의 행동에 걸쳐서 그 플레이어의 역량이 평가될 수도 있다.
플레이 중, 플레이어 행위 및 응답과 같은 임무 활동들이 추적/기록되어(tracked/logged), 평가 과정 중 재생(replay)의 일부가 되도록 한다. 본 명세서에서 지시된 바와 같이, 이러한 정보는 하나 또는 다수의 임무 로그(mission log)에 저장될 수도 있다.
과정 S6에서, 일단 그 임무가 완료되면, 플레이어는 저장된 임무 플레이 로그로부터 그 임무를 재생할 수도 있다. 이를 통해 플레이어는 자신의 행동을 검토해보고, 실수를 고려하여, 학습한 교훈을 기록할 수 있다.
과정 S7에서, 임무에 대한 플레이 로그는 추가적인 검토 및 분석을 위하여 또는 추후 검토를 위하여 내보내기(exporting) 할 수도 있다. 예를 들어, 플레이어는 어떤 임무를 수행할 수 있고, 교육강사는 나중에 그 임무에 대한 임무 기록을 내보내고, 그 플레이어에 대한 추가 훈련 등을 결정하는 것의 일부로서 그 플레이어의 행동을 검토할 수도 있다.
이하, 본 발명의 추가적인 세부 사항이 기술된다.
임무 오케스트레이션 (Mission Orchestration)
도 6은 임무 오케스트레이션 구성의 일 실시 예를 예시한다. 오케스트레이션 마스터(Orchestration Master)는 VEM(위에서 식별된)의 하위 구성요소이다. 다른 구성들도 가능하다는 것을 이해할 것이다. 도 6에 도시된 실시 예에서, 솔트스탁(Saltstack) 사에 의해 제공되는 것과 같은 제3자의 가상 컴퓨팅 통신/관리 체계를 사용하여, 임무 오케스트레이션 서비스는 교육 환경 내의 서비스뿐만 아니라 오케스트레이션 컨트롤러(Orchestration Controller: OC)를 관리할 책임이 있다. 상기한 OC는 가상 환경 내에 존재하며 각 환경에 고유한 것이다. 오케스트레이션 마스터(OM)는, 일 실시 예에서 VEM의 하위 구성 요소로서, 가상 환경의 외부에 존재하며, 다수의 OC들을 관리하는 역할을 수행한다.
환경 생성시, OM은 그 테스트 환경에 대해 필요한 구성 파일들로 OC에 덧붙인다(populate). OC는 환경 내의 관리 네트워크를 경유하여 임무 오케스트레이션(mission orchestration) 서비스와 로컬 DHCP 서비스를 실행한다. OC는 임무 오케스트레이션 마스터와 임무 오케스트레이션 에이전트를 모두 동작시킨다. OC는 전체적인 임무별 가상 환경을 위한 마스터 구성 및 통신 포인트로서의 역할을 한다. 구성 및 모니터링 명령들은 OC에서 임무 환경을 구성하는 가상 시스템에서 실행중인 개별 에이전트로 전송된다.
OC 상의 임무 오케스트레이션 에이전트는 명령-및-제어(command-and-control)뿐만 아니라 구성 파일 업데이트를 용이하게 하기 위해 그의 마스터로서 OM과 접촉한다. OC는 로컬 테스트 환경을 제어하기 위해 마스터 서비스를 실행한다. 테스트 가상 머신(virtual machine)들은 관리 네트워크의 OC에서 DHCP 주소를 획득하도록 미리 구성된다. 상기 테스트 가상 머신들은 또한 임무 오케스트레이션 에이전트로 미리 구성되며, 그것들의 임무 오케스트레이션 마스터로서 OC와 접촉한다.
OC가 (그 OM으로부터의) 환경 구성 파일로써 최신 정보 상태 일 때, 모든 로컬 환경 가상 머신을 업데이트 한다. OC는 테스트 환경에 필요한 소프트웨어 패키지로 구성된 데이터 저장소로부터의 읽기 전용 파일 시스템을 안전하게 탑재한다. 이들 패키지에는 환경 내에서 실행되는 커스텀 소프트웨어 및 표준 패키지(즉, CentOS 및 Ubuntu 소프트웨어 저장소의 미러링) 모두가 포함된다. 상기 소프트웨어는 초기 구성 과정 동안 테스트 환경 가상 머신들에 이용 가능하다.
임무 퍼블리셔(Mission Publisher) 서비스는 상기 제공된 환경 구성 파일들을 임무 오케스트레이션 환경으로 변환하는 OM 상에서 동작한다. 여기에는 네트워크 및 서비스 구성 파일뿐 아니라 가상 머신 기술(예컨대, Ravello 계획 및 ESXi 디자인)이 포함된다. 네트워크 파일은 테스트 네트워크뿐만 아니라 게이트웨이들 및 DNS 서버들과 같은 테스트 네트워크와 관련된 특징들을 정의한다. 서비스 파일은 테스트 환경 내의 가상 머신들 상에서 실행될 것에 대해 서비스 및 구성 세부사항을 정의한다. 아래에 설명되는 것과 같이, 일 실시 예에서, 네트워크는 IP 주소, 호스트 이름, 오픈 포트 및 주요 서비스들, 해당 호스트에서 실행되는 기능과 같은 특정한 구성 세부사항들을 갖는 인간이 읽을 수 있는 데이터 직렬화(human readable data serialization) 언어 파일(예컨대, YAML 파일) 및 다이어그램(Visio® 다이어그램과 같은)에 의해 정의된다. 이 다이어그램은 네트워크 구성 요소를 YAML 파일에 정의된 것과 같은 속성을 갖는 게임 객체로서 시각적으로 배치하도록 사용된다. 물론 다른 파일 형식을 사용할 수도 있다.
네트워크 기반 및 호스트 기반의 소프트웨어 센서들이 시스템에 내장되어 학생 임무 중의 다양한 시스템 속성, 상태 및 실시간 활동을 모니터한다. 예를 들어, 호스트 기반의 시스템 소프트웨어 센서들은 시스템 작동과 동시에 실행되는 시스템에 의해 생성되는 로그 데이터를 모니터하는 애플리케이션들, 시스템 작동 중에 실행되는 프로세스에 의해 캡처 되는 상태 정보, 및 하나 또는 다수의 시스템 상태 변경을 검출하는 백그라운드 센서 과정들을 포함한다.
NXLog와 같은 오픈 소스 다중-플랫폼(open source multiple platform) 로그 관리 기능이 환경 내에서 실행되어 OC 및 테스트 환경 가상 머신으로부터 로그를 수집 및 오프로드 한다. 상기 시스템은, Syslog (여러 소프트웨어 구성 요소로부터의 로그 메시지들을 종합하기 위한 공통 로깅 인터페이스를 제공하는)와 같은, 하나 또는 다수의 정보의 로그들을 생성하고, 솔트 로그들(salt logs: 솔트 오케스트레이션 명령 및 응답의 정보를 캡처 및 기록하는)이 수집되고, 태그 되어, 관리 네트워크를 통해 OC 및 OM으로 전송되며, 여기서 이것들은 장기간의 저장을 위해 기록보관(archived)이 된다. 도 6 참조.
시스템 임무 퍼블리셔 서비스(System Mission Publisher Service)
가상 머신 설명(Virtual Machine Description)
가상 머신 설명은 하기의 세부사항을 포함한다:
(1) 머신 명칭(Machine name);
(2) 제어 네트워크 인터페이스 MAC; 및
(3) 임의의 데이터 네트워크 인터페이스 MAC, IP/MASK, static 또는 DHCP.
이러한 세부사항들은 VirtualComponents.NetworkConf 클래스로 변환되고, 이것은 나중에 network.yaml configuration.Network Configuration 과 결합 된다.
네트워크 구성은 사람이 읽을 수 있는 데이터 직렬화 포맷의 YAML 파일인데, 이것은 그들의 네트워크들뿐만 아니라 그것들의 게이트웨이들, 스태틱 경로들, DNS 서버들, 및 DHCP 서버들을 정의한다. 네트워크 파일의 샘플은 다음과 같다:
표 1:
networks:
- network: 192.168.1.0/24
domain_name_servers:
- 172.16.0.16
routes:
- dest: 0.0.0.0/0
gateway: 192.168.1.5
- network: 172.16.0.0/24
domain_name_servers:
- 172.16.0.16
routes:
- dest: 0.0.0.0/0
gateway: 172.16.0.16
- dest: 172.16.10.0/24
gateway: 172.16.0.15
- network: 172.16.10.0/24
domain_name_servers:
- 172.16.0.16
routes:
- dest: 0.0.0.0/0
gateway: 172.16.10.15
이 파일은 읽혀지고 가상 머신 설명 데이터와 결합 되어 데이터 네트워크 인터페이스들의 네트워크 구성을 위해 사용되는 솔트 필러 파일(salt pillar file)들을 생성한다.
서비스 구성(Service Configuration)
서비스 구성은 YAML 파일이며, 이것은 가상 머신 명칭들에 해당하는 서비스와 구성 정보를 정의한다. 지원되는 서비스들에는 후속 부분에서 기술되는 서비스 플러그인(plugin)들뿐만 아니라 임의의 내장된 솔트 상태 기능들이 포함된다. 서비스 구성에는 두 개의 섹션이 있으며 첫 번째 '구성'은 사용 가능한 서비스들과 그들의 특정 구성들을 정의하고, 두 번째 '서비스들'은 어떤 서비스가 어떤 가상 머신들에 설치되어야 하는지를 정의한다. 서비스 구성은 테스트 환경 내에서 또는 환경들에 걸쳐 재사용 가능할 수도 있다. 서비스 구성의 일부는 다음과 같다:
표 2:
configurations:
firewall-rules:
service: firewalld
name: firewalld
salt:
enable: True
zones:
external:
- interfaces:
- 172.16.0.10
- port_fwd:
- 80:80:tcp:192.168.0.11
- masquerade: True
apache:
service: apache
name: apache.vhosts.standard
salt:
enable: True
sites:
dvwa.com:
template_file: salt://apache/vhosts/standard.tmpl
managedtgz:
- target: /var/www/dvwa.com
targetdir: /var/www/
source: salt://www_sites/dvwa.tgz
services:
internal_server:
- nfs-server
- internal-server-firewall
- bad-password
- no-selinux
webserver:
- webserver-fw
- mysql
- php
- apache
- apacheaccess
- nfs-client
- bad-password
- apache-sudoers
firewall:
- firewall-rules
client1:
- john-the-ripper
서비스 구성은 또한 구성 변환을 지원한다. 이것의 예시적인 이용은 서비스 구성 파일의 일반 텍스트 비밀번호(plaintext password)를 솔트(salt) 사용자 관리 상태에 의해 사용될 수 있는 해싱(hashed) 된 비밀번호로 변환하는 것이다. 이 경우 서비스 구성은 다음과 같이 보일 수 있다:
표 3:
bad-password:
service: users
name: users
transform:
- userconf
- root:
password: R00tp@ssw0rd
- testuser:
password: ncc1701d
상기 '변환' 태그는 다음 입력 데이터를 읽을 때 'userconf' 변환을 수행하도록 임무 퍼블리셔(Mission Publisher)에 통지한다(이 변환 방법은 임무 데이터베이스에서 공통 구성 구문(common configuration syntax)의 이용을 가능하게 하는 일반 시스템 구성 정보를 시스템 특정의 구성 명령으로 변환하기 위해 사용된다). 상위 레벨 프로그래밍 언어인 Python을 사용하여, 다음 함수가 publisher.servicetransformation 모듈에 정의된다.
함수는 다음과 같다:
표 4:
def userconf(netconf, *users):
import crypt
ret = {}
for i in users:
for name, data in i.iteritems():
ret[name] = []
if 'password' in data:
pw = crypt.crypt(data['password'],
crypt.mksalt(crypt.METHOD_SHA512))
data['password'] = pw
ret[name].append(pw)
ret[name] = data
return {'cfg': ret}
이 함수는 salt 사용자 상태에 의해 이해되는 사전 구조를 리턴하여 사용자 명칭을 구성하고 패스워드를 설정한다. 이것은 더 확장될 수도 있고, 아니면 또 다른 함수가 사전에서 어떤 암호를 무작위로 할당하도록 쓰여질 수도 있다.
변환의 또 다른 예는 데이터 네트워크 내의 DHCP 서버에 대한 정적 IP 어드레스 맵핑들로 MAC을 구성하는 것이다. 이러한 변환은 가상 머신 설명과 네트워크 구성 모두를 사용한다. 이것은 MAC 주소가 가상 환경 내에서 무작위로 할당 될 수 있기 때문에 필요하다.
임무 구성의 예 - DOS
도 7을 참조하여 임무 구성의 일례가 설명된다.
학생은 특정 임무에 관해서 테스트 되고, 다른 모든 학생들에 대해서 점수와 순위가 매겨진다. 가상 환경 내에서 가상 머신들은 복수의 운영 시스템들 및 애플리케이션들 중 하나를 실행하도록 구성되며, 여기서 각각의 가상 머신은 특정 웹 사이트, 기업 서버 등을 에뮬레이팅(emulate) 한다. 학생은 선택한 임무에 따라 해커 또는 방어자의 역할을 수행한다. 하나 또는 다수의 학생들이 하나 또는 다수의 가상 (AI) 및/또는 실제 상대와 대결을 할 수도 있다.
특정 실시 예에서, 본 발명은 개인들이 게임 인터페이스를 사용하여 현실적인 가상 환경에 있는 다른 참가자 또는 고수준의 자동화 된 상대방에 대해 자신의 능력을 테스트하는 것을 가능하게 한다.
상기 시스템의 또 다른 측면은 현실적인 산업 및 정부 웹 사이트, 서버 및 정보 시스템에 의해 사용되는 다른 소프트웨어로 완성된 실제의 네트워크 환경을 시뮬레이션하기 위하여 서버 기반의 환경 내에서 가상 머신들을 구성하는 동작을 포함한다.
상기 개시된 시스템 인프라 구조의 측면들은 임무 생성과 기록, 및 임무 선택에 입각한 배치 가능한 가상 환경을 포함하며, 여기서 가상 환경에는 방화벽, NIDS, 바이러스 백신 및 데스크톱과 서버의 조합(도 8에 예시된 것과 같은)과 같은 보안 구성요소의 사용이 포함된다.
고유의 가상 환경들이 다음의 것들에 대해 구성된다: 각각의 임무; 자동화 된 기능을 환경에 적용하는 능력; 결과의 검증 및 기록; 임무 선택에 기초하여 배치 된 자동 공격 또는 방어 지능; 진행 상황 및 제약 사항에 관한 피드백(예를 들면, 각각의 임무 목표를 달성하기 위한 시간); 사용자가 Nmap, Security Onion, Wireshark 등을 포함하여, 임무에서 활용할 수 있는 도구들; 연습의 제3자 시각화(3rd visualization); 포스트 이벤트 재생을 위한 사용자 활동의 기록화(logging); 및 학생 수행 결과 비교를 위한 순위 게시판.
상기 개시된 시스템이 일단 구성되고 나면, 학생에게는 3D 게임 인터페이스와 같은 몰입형 게임 인터페이스가 제공되며, 여기서 하나 또는 다수의 방어 및 공격형 임무 옵션들이 선택될 수 있다. 각 임무에는 임무, 환경 및 목표에 관한 상세한 설명; 공격/수비 가시성(visibility)에 따른 적절한 환경 자산의 시각적 표시; 및 터미널 및 취약 애플리케이션과 같은 환경 자산에 대한 현실적인 액세스가 포함된다.
몰입형의 게임 기반 교육 환경에서, 상기 시스템은 학생들을 흥미로운 게임 안으로 입장하도록 제시함(인공지능 어드바이저가 플레이어(들)를 맞이하여 임무에 대한 전후사정 설명을 제공하고 또한 그들의 도움이 왜 중요한지를 설명하는 것과 같이, 사이버 군대에 참여하도록 초대하는 것과 같은)과 아울러 초기 지시사항을 제공한다. 일단 학생이 임무를 선택하면, 환경이 구성되고 사용 가능한 자산의 시각적 표현이 접속 자격 인증과 함께 표시된다.
임무가 시작되면, 학생에게는 리소스에 대한 접속, 진행/온라인 도움에 관한 피드백, 및 행위 기록이 제공된다. 예를 들어, 학생이 힌트나 조언을 구하는 AI 고문에게 메시지나 질의를 보낼 수도 있다.
해당 임무가 완료되거나 종료될 때, 시스템은 결과를 기록하고, 보고를 하며, 학생의 실수에 대해 피드백을 제공한다. 일 실시 예에서, 시스템은 교육 강사가 플레이중인 모든 임무들을 볼 수 있게 하는 교육 강사의 역할을 포함한다. 강사는 학생을 선택하여 그 임무를 관찰하고 참여할 수도 있다. 강사는 채팅을 통해 학생에게 코멘트를 삽입하고 파라미터를 변경하여 해당 임무를 더 쉽거나 어렵게 만들 수도 있다. 강사는 또한 임무 중에 조언을 제공하거나 질문에 답하고, 학생이 잘 수행했거나 또는 평가 단계에서 제시된 피드백처럼 수행할 필요가 있다는 것들에 대한 교육 기록에 코멘트를 할 수 있다.
상기 개시된 시스템의 다른 측면은 라이브 게임플레이의 관중 시각화 및 임무/학생 당 이력 결과의 보고/시각화를 이용하는 강사들에 대한 임무 모니터링을 포함한다.
시스템의 게임 플레이 측면에 있어, 시나리오들은 진보된 대항 공격/방어 전략, 공격 벡터(exploitation vectors) 및 복잡한 네트워크 설정들을 포함한다. 추가로, 상기 시스템은 학생을 특정 기술 역량에 초점을 두어 훈련하는 게임용 기술로서 스캐폴딩(scaffolding) 기법(예컨대, 교육 과정의 일부로서 AI 또는 강사 지원 및 상호 작용)을 사용한다. 게임 레벨은 사전 정의된 중요한 교육 목표를 달성하기 위해 구조화(structured) 및 자유-플레이(free-play)의 조합을 사용한다. 학생들은 상기 목표의 성취에 있어 그들을 안내하기 위한 부과제(subtasks) 또는 힌트가 제공된다. 게다가, 부과제들의 합격/불합격에 대한 게임 중의 피드백이 제공된다. 후속하는 레벨들은 이전의 레벨에서 학습한 지식을 토대로 구축되고 그 지식을 확장시킨다.
시스템의 다른 측면들에 있어서, 임무 관리(Mission Administration) 요소는 하기의 역할을 제공한다:
(1) 모든 역할, 작업, 목표를 포함하는, 임무 프로파일들, 및 해당 임무를 수용하는데 필요한 가상 환경의 정의뿐만 아니라 그 임무를 정의하는 전체적인 파라미터들의 생성.
(2) 임무 관리 및 가상 환경 관리 사이의 오케스트레이션을 포함하여, 임무 프로파일과 학생의 행동에 기초하여 적절한 AI 작업을 실행하고, 해당 임무 내에서의 모든 활동을 기록하고, 임무 중 피드백을 제공하고, 그리고 모든 학생 수행에 점수를 매기는 임무의 실행.
(3) 모든 학생에 걸쳐서 임무 통계의 제출을 포함하여, 임무 이력 분석의 생성. 게임 플레이 데이터 이력은 또한 게임 중의 AI 로직에 의해 활용되어 시간 경과에 따라 그 전략을 학습하고 적응하도록 할 것이다. 이것은 같은 임무를 반복적으로 플레이 할 때 게임 플레이가 변화하게끔 한다. 게임 플레이 데이터 저장소는 새로운 학생 전술 및 기술을 식별하기 위해 스캔될 수도 있다.
(4) 모든 임무에 걸쳐서 학생 통계의 제시를 포함하여 학생 이력 분석의 생성. 일 실시 예에서, 학생은 학생 프로파일을 생성하고 그의 프로파일과 관련된 로그인을 사용하여 시스템에 액세스를 한다. 학생의 활동은 그의 행동, 수행된 기술/과제들 등을 기록하는 것과 같이 모니터링 된다. 이 정보는 해당 학생에 관한 교육기록으로 내보낼 수 있는 데이터 파일에 저장된다. 이 기록은 능력 향상 및 퇴보를 포함하여 학생의 성과를 검토하는 데 사용할 수 있는 그 학생에 대한 지속적인 기록으로서 역할을 한다.
상기 개시된 시스템의 가상 환경 관리의 측면에 있어, 완전히 구현된 환경이 각각의 임무에 대해 제공된다. 가상 환경은 그 교육 경험을 산업계 또는 정부 기관 네트워크 환경 및 정보 시스템의 현실적인 표현으로 만들기 위하여 모든 주요 구성 요소들을 망라한다. 도 9에 예시된 바와 같이, 상기한 환경은 다음을 포함할 수도 있다:
(1) 원하는 취약점을 노출시키기 위한 적절한 소프트웨어와 서버 및 데스크톱의 결합;
(2) 소기업에서 전형적으로 발견되는 보안 구성요소들: 방화벽, IDS 등; 및/또는
(3) 대다수의 예상되는 임무에 대해 상이한 보안 제한사항을 갖는 하나 또는 다수의 서브넷(subnets).
AI 상대방
전술한 바와 같이, 임무 상대방은 AI 상대방을 포함할 수도 있다(이 AI 상대방은 하나 또는 다수의 공격형의 라이브 상황의 학생에 대한 방어형 상대방 또는 하나 또는 다수의 라이브 상황의 방어형 학생들에 대한 공격형 상대방을 포함할 수도 있음). 일 실시 예에서, AI 상대방은 운영상 중요한 어떤 것이 특정한 교육 시나리오 내에서 변경되었는지를 판단하기 위한, 로그, 네트워크 메시지, 데이터베이스 및 데이터베이스 상태 등과 같은, 실시간으로 그 시스템의 모든 측면들을 분석(parsing)하는데 초점을 맞춘 애플리케이션들 및 프로세스들의 세트를 포함한다. AI 상대방은 오케스트레이션 에이전트와 상호 작용하여 정보를 획득하고 작업상의 변경을 행한다. 예를 들어, 시스템의 AI 요소가 사이버 위협 시나리오에서 데이터 변경 및 예상치 못한 메시지들의 세트를 감지하면, 그것은 지식 데이터베이스에서 그러한 시나리오의 영향을 추론하고 가능한 모든 근본 원인을 판단하려고 시도한다. 상기 AI 요소는, 그 원인에 대해 범위를 좁히기 위해 추가적인 데이터를 수집하면서, 강사와 학생에게 메시지들(게임중 어드바이저 기능을 통해 메시지를 표시하는 것과 같은 힌트, 팁 또는 경고들과 같은)을 제공하거나, 잠재적인 틈(breach)을 해결하기 위한 시도로 교육 시나리오 내의 가상 환경에 자동으로 변경을 가하거나, 추가 정보를 수집하기 위해 가상 환경의 추가적인 측면들을 분석하거나, 또는 아무것도 하지 않고 계속 모니터할 수도 있다. 이런 방식으로, AI 상대방에 대한 하나 또는 다수의 실제 학생들 간의 게임 플레이는 실제 시나리오를 모방(에뮬레이팅)하는데, 여기서 AI 상대방은 하나 또는 다수의 가능한 사이버 위협들 또는 시스템 이상이 감지되면 전형적인 관리자가 취하게 될 행동들을 취한다. 건강관리 교육, 전력 그리드 인프라 교육, 맞춤형 조직 네트워크 교육 등과 같은 다른 구성에서는, AI 요소의 지식 데이터베이스는 당면한 교육 및 교육 시나리오와 관련된 구체적인 세부 사항을 포함하고 있다.
AI 어드바이저 (AI Advisor)
AI 어드바이저는 자연어 처리(Natural Language Processing: NLP)를 사용하여 사용자 질문을 이해하고 적절한 응답을 제공한다. AI 어드바이저는 게임 서버와 인터페이스하여 임무의 맥락을 이해하고 Q & A 정보를 기록한다. UI는 AI 어드바이저와 상호 작용하여 질문을 하고 답변을 받는다.
관찰자/교육강사(Observer/Trainer)
강사는 모든 플레이어들을 볼 수 있고, 필요에 따라 특정 플레이어 상호작용을 드릴 다운(drill down)할 수 있다. 강사는 실시간으로 그들의 행동들을 볼 수 있게 하는 플레이어 데스크톱의 복사형 화면(mirrored view)을 획득할 수 있다.
점수 기록, 분석 및 재생(Scoring, Analysis and Replays)
일 실시 예에 있어, 게임 또는 임무는 (게임 서버가 게임 플레이 활동/행동을 모니터링 하고 또한 특정 기준에 기초하여 포인트를 수여하는 것과 같은 것을 통해) 점수가 기록된다. 포인트는 하나의 작업을 완료하는 데 필요한 기술의 복잡성, 한 작업을 완료하는 데 걸리는 시간 및/또는 기타의 기준을 포함하는, 소정의 기준들에 입각하여, 특정 임무 과업들에 할당될 수도 있다. 임무 수행 중 학생들이 얻는 포인트 및 기타 기준들(시간, 발견 방지, 비-임무의 특정 목표 및 자산들의 식별과 같은)에 기초하여, 학생은 임무 점수를 획득한다. 학생의 점수는 그 학생이 강하거나 약한 영역들과 같이 학생의 적성을 평가하기 위해 강사에 의해 활용될 수도 있고, 따라서 그 학생을 위한 추가 교육 또는 특정 기술에 대한 다른 교육을 맞춤형으로 하도록 강사가 활용할 수도 있다.
일 실시 예에서, 플레이어 점수는 교사/관찰자들이 임무 결과를 모니터하고 그 학생이 다른 학생들에 대해 어떻게 순위가 매겨지는지 모니터링 할 수 있는 순위표 상에 나열될 수도 있다. 플레이어는 특정 임무와 관련하여 일정 수준의 포인트를 달성하는 것에 대해 가상의 배지(badge)를 획득할 수도 있다(예컨대, 어떤 특정 임무는 총 1000점의 가능한 점수를 받을 수 있으며, 적어도 950점을 얻은 플레이어만 해당 임무에 대해 전문 방어자 배지를 받을 수 있을 것임). 다른 실시 예에서는, 다수의 임무들에 걸쳐 어떤 총합계 점수를 달성하는 플레이어들에게만 배지가 수여될 수도 있다. 플레이어는 일정 기간 동안의 그의 성과 등에 대해 배지 또는 어떠한 상태 수준이 수여될 수도 있다. 그러한 포인트 또는 배지들은, 더 어려운 임무에 대해 플레이어에게 자격을 주는 것을 포함하여, 플레이어의 기술 역량을 인증하는 데 사용될 수도 있다(예를 들면, 플레이어의 포인트는 플레이어의 역량을 어떤 레벨로 설정하기 위해, 따라서 소정의 최소 레벨의 기술적 역량을 요구하는 임무들에 대해 자격을 부여하기 위해 사용될 수도 있다).
사이버-전사 교육 POC를 위한 임무의 예
임무의 설계
4가지의 임무의 예가 아래에 설명된다. 훨씬 더 복잡한 임무가 시스템에 의해 지원된다는 점에 유의하여야 할 것이다. 상기한 임무의 예들 중의 2개는 사이버 전사를 AI 주도의 방어에 대항하려는 공격형의 학생으로 예시한다. 마지막 2개의 예는 사이버 전사를 AI 주도의 방어를 좌절시키기 위해 플레이하는 방어형 학생으로 예시한다.
임무의 하이라이트(Highlights of the missions)
(1) 브리핑 비디오는 각 임무에 관한 소개로 학생에게 제시된다.
(2) 순위 게시판에서는 다수의 시도 및 각 시도에 대한 점수가 추적된다. 순위 게시판은 평균 점수와 최고 점수를 또한 추적한다.
(3) 임무들은 용이함(Easy), 보통(Medium), 어려움(Hard) 모드들을 가질 수 있는데, 여기서는 AI 상대방의 공격성, 임무 목표 및 환경의 복잡성과 같은 항목들이 모드 선택에 근거하여 수정된다.
(4) 사용자가 임무를 선택하면, 리소스가 할당되고, 가상 환경이 자동으로 생성되어 구성된다. AI 요소는 구성의 일부로 추가된다.
(5) 다른 실시 예들은 카운트다운을 하는 점수와 일정 지속 기간을 갖는 임무를 지원한다.
공격형 임무의 예 1
개요
이 임무에서, 학생으로도 알려진 사이버-전사는 기업 내부망에 위치한 머신으로부터 파일을 훔치는 임무가 부여된다. 이 임무는 학생이 외부로 향하는 애플리케이션 서버에서 발판을 마련하고 이전의 사회 공학(social-engineering)으로부터 획득한 일단의 자격증명을 이용하여 내부망으로 들어가는 것을 요구한다.
도 10은 공격형 임무 1, 즉 내부 서버로부터의 데이터 절도를 위한 데이터 네트워크의 설명을 도시한다.
아래는 도 10에 예시된 임무를 위해 각 머신 상에서 개시될 관련 서비스뿐만 아니라 네트워크 구성에 대한 설명이다. 달리 언급되지 않는 한, 모든 네트워크 마스크는 /24이다.
VEM 컨트롤러는 salt-마스터 및 nxlog 서버를 실행한다; 다른 모든 머신들은 salt-minion 및 nxlog 에이전트를 실행한다. 방화벽은 DMZ의 웹서버가 내부 네트워크상의 파일 서버에 접속하는 것을 허락하는 특정한 권한을 포함한다.
웹 서버는 내부 서버로부터 기원하는 NFS 마운트를 갖는다. 학생이라고도 지칭되는 해당 학생은 로컬 섀도우 파일(local shadow file) 상의 암호 크래커(password cracker) 또는 원격 무차별 대입공격 도구(remote brute force tool)를 사용한다. 로그인이 성공하면 대상 파일(xmas_gift.txt)이 홈 디렉토리에 저장된다.
표 7:
Figure 112018040569221-pct00001
세부사항
외부로 향하는 목표 시스템은 회사 웹 사이트를 에뮬레이트하도록 시스템에 의해 자동으로 구성된다. 사이버-전사는 에뮬레이팅 된 시스템에서 취약한 애플리케이션을 식별하고, 기본 파일 시스템에 대해 액세스 권한을 부여하는 SQL 주입 공격을 수행하며, 또한 백도어(backdoor)를 투입해야 한다. 이어서, 사이버-전사는 훔친 자격 증명을 사용하여 RDP를 통해 타협한 애플리케이션 서버로부터 내부 네트워크 상의 대상 머신에 액세스하여 중요한 데이터 파일에 액세스한다.
학생 과제 설명(Student Task Descriptions):
1. 코드 실행을 제공하는 취약한 애플리케이션을 결정한다.
2. 백도어 청취자 또는 리버스 쉘(reverse shell)로써 투입용 SQL 코드를 작성한다.
3. SQL 코드를 투입한다.
4. 공개 시스템에 대해 액세스 권한을 획득한다.
5. 제공된 자격증명을 사용하여 내부 네트워크상의 머신에 액세스한다.
6. 공격자 머신으로 파일을 추출한다.
과제 설명에 대한 과제 득점(바람직하게는, 일 세트의 포인트들이 난이도에 기초하여 각 임무 목표에 할당되며; 이 포인트들은 사용자 이력에서 추적되고 그 학생이 얼마나 많이 플레이 했는지 또한 어떤 난이도 수준인지에 대한 지표로서 사용된다.
1. 15점
2. 20점
3. 20점
4. 5점
5. 5점
6. 10점
시스템 구성
1. 3개의 네트워크 세그먼트들, 즉 공개, DMZ 및 내부 네트워크가 자동으로 구성된다.
2. 하나의 방화벽이 DMZ에 대한 외부 액세스를 제한하기 위해 "3-레그(three-legged)" 모델을 이용하여 시스템에 의해 자동으로 구성된다.
3. Kali Linux는 학생(공격자), Linux 방화벽, Linux 웹 애플리케이션 서버, Windows 2012 웹 애플리케이션 서버, 및 Windows 7 내부 목표에 대해 구성된다.
4. 아파치 w/php 및 sql은 권한이 부여된 사용자로서 동작중인 시스템에 의해 구성된다.
상세한 디자인
시스템은 하기와 같이 임무를 자동으로 구성하고 설정한다:
1. SQL 주입을 위한 Maria DB
2. 웹 사이트로 Webform 생성.
3. 시스템은 학생이 방화벽 외부로부터 도구(툴)들을 다운로드 하는 경우 크래커 툴 및 다른 툴이 존재하는 경우 시뮬레이션 된 레포(repo)를 자동으로 설정.
4. 시스템은 방화벽 외부의 머신 상의 쉘(shell)을 학생에게 제공.
임무(Mission)
1. Webform을 통해 리버스 쉘을 SQL 투입함. 성공은 그 리버스 쉘이 접속을 착수할 때이다.
2. 크래커 툴을 다운로드 - 넷캣(netcat) 또는 유사한 툴에 대한 지식이 필요함. 처음에 그것을 로컬 웹 서버에 복사한다.
3. 개방된 텔넷(telnet) 포트를 갖는 컴퓨터를 식별한다. 크래커 툴을 사용하여 그것을 해킹한다.
4. 피해자에게 텔넷하여 'Christmas Present'- gift.txt 라는 파일을 추출한다. 처음에는 그 콘텐츠를 자르고-붙일(cut-n-paste) 수 있을 것이다. 그것들은 그것을 추출할 필요가 없을 것이다. 현재는 telnet이 처음에 사용자를 배치 할 장소에 위치할 것이다.
성공은 하기와 같이 시스템에 의해 정의된다:
1. 그것들이 파일을 추출할 때(콘텐츠를 복사함)
2. 각각의 개별 스텝에 대한 점수
공격형 임무 2(Offensive Mission 2)
개요
이 임무에서, 사이버-전사(학생으로도 지칭됨)는 시스템상에서 분산형의 서비스 거부 공격을 시작한다.
도 11은 공격 임무 2 (DOS 공격)의 네트워크 연결에 대해 설명을 도시한다.
아래는 각각의 머신 상에서 개시되는 관련 서비스들뿐만 아니라 네트워크 구성에 대한 설명이다. 달리 명시되지 않는 한 모든 네트워크 마스크는 /24이다.
표 8:
Figure 112018040569221-pct00002
세부사항
사이버-전사에게는 목표 시스템에 대한 서비스 거부 공격을 개시할 3개의 머신들이 제공된다. 학생은 멀티 쓰레드(multi-thread) 방식으로 사용 가능한 머신을 활용하는 DoS 스크립트를 작성해야 한다. 전반적으로, 사이버-전사는 X 분 동안 서비스를 거부해야 하는데, 여기서 X는 구성 가능한 파라미터이다.
과제의 설명:
1. DoS 공격에 사용하기 위한 머신 및 환경 준비
2. 스크립트 생성
3. 공격의 실행 및 유지
각 과제 설명에 관한 과제 점수
1. 15점
2. 30점
3. 30점
상세 디자인
시스템은 다음과 같이 임무를 자동으로 구성하고 설정한다:
1. 화이트하우스(Whitehouse) 웹사이트가 스크랩 되어 실행 중인 상태에서 학생에 대하여 웹 서버가 구성된다.
2. 스핀 사이클을 수행함으로써 큰 요청들(large requests)을 시뮬레이션 하는 시스템에 의해 작업자 프로세스가 생성된다. 이것은 양식 처리(form processing)를 시뮬레이션하기 위한 것이다.
3. 큰 바이너리 파일이 시스템에 의해 제공된다.
4. 시스템이 CPU, 메모리, 네트워크를 모니터하고, 네트워크 진입을 제어한다.
5. 포트(80)를 개방한다.
6. 그들이 공격하는 환경(단순형/고급형)과 일치하도록 서버들을 제공한다.
7. 옵션으로서, 웹 서버의 로드 밸런싱 된 세트가 시스템에 의해 구성된다.
8. 학생은 복수의 공격 시스템들(DDoS)을 사용한다.
간단한 임무(simple Mission)
1. 큰 바이너리 파일 (2015 예산)을 다운로드 한다. 학생이 이 큰 파일을 다운로드 한 경우에만 시스템에서 DDOS를 수행할 것이다.
2. wget 도구를 통해서와 같은, 단일한 컴퓨터/머신에 대한 다수의 데이터 액세스
고급형 임무(Advance Mission)
시스템은 CPU 및 네트워크 트래픽과 충돌하는 대규모 데이터베이스 요청을 수반하는 폼을 웹 사이트 상에서 제공하는 것과 같은 임의의 임무에 더욱 복잡성을 더할 수도 있다.
학생의 성공은 다음과 같은 경우에 정의된다:
1. 학생이 CPU, 메모리 및 네트워크를 모니터할 수 있을 경우.
2. 임계 값 - 80%에 도달한 다음 또는 사용자가 원하는 공격 벡터를 개시했음을 인증하는 것에 입각하여 그것을 죽일 때.
수비형 임무 1
개요
이 임무에서, 학생으로도 지칭되는 사이버-전사(cyber-warrior)는 가능성 있는 데이터 유출(data exfiltration)을 진단하고 그것을 찾아서 차단할 것이다.
도 12는 유출 시나리오에 대한 데이터 네트워크를 도시한다. 명료성을 위해 관리 네트워크를 생략하였지만 다른 모든 시나리오의 그것과 일치한다.
각각의 머신 상에서 개시될 관련 서비스뿐만 아니라 네트워크 구성에 관한 설명은 아래와 같다. 달리 명시되지 않는 한, 모든 네트워크 마스크는 /24이다. 방화벽 노드는 서로에 대해 내부 네트워크 라우팅 서브넷(routing subnets)들에 대한 라우터로서 역할을 수행한다.
표 9:
Figure 112018040569221-pct00003
세부 사항
사이버-전사는 로그를 스캔하고, HTTP.sys의 취약성과 관련된 데이터 유출 문제가 있음을 암시하는 오류 코드를 식별하고, 영향을 받은 시스템을 식별하고, 유출 코드를 찾아서 그것을 제거해야만 한다.
작업 설명
1. 스캔 로그들
2. 취약성에 대해 서버들을 스캔한다
3. 취약점 개선
4. 유출 코드를 찾아서 차단한다
각각의 과제 설명에 관한 것으로서의 과제 점수(task scoring)
1. 10점
2. 10점
3. 15점
4. 15점
필요한 환경 및 툴
상세한 설계
시스템은 다음과 같이 임무를 자동으로 구성하고 설정한다:
1. 3개의 서브넷들이 다중 시스템으로 구성된다
2. 하나 또는 다수의 시스템들이 데이터를 유출하고 있다
3. 시뮬레이팅 된 웹 서버 및 트래픽 생성
4. 네트워크는 포트(80) 및 다른 유출 트래픽(outbound traffic)으로 설정된다
5. 학생이 머신들 하나의 콘솔에 떨어뜨려 진다
6. 트래픽 젠(traffic gen)은 단순한 wget 루프이다. 그 중 하나는 불량 웹사이트이다.
간단한 임무 버전:
1. 비-표준 포트에 대한 하나의 유출을 검출한다
고급형 임무 버전:
1. 복수의 유출(Multiple ex-filtrations)
2. netcat(포트 80에서)을 사용하여 서서히 데이터를 내보내는 시스템 중 하나를 취한다
3. 단지 한번의 킬(kill)만으로는 충분하지 않도록 유출 과정을 자동 재시동(restart)이 가능하게 한다
4. 침투 프로세스 및 그 위치의 추가적인 난독화(obfuscation)
임무
1. 방어자는 3 개의 서브넷 모두에서 트래픽을 모니터하고 비정상을 찾아야 한다.
2. 방어자는 다음을 수행해야만 한다: 네트워크 스캔; 모든 3 개의 서브넷에 대한 로그인; Snort/Tcpinfo와 같은 패킷 모니터링을 통한 유출 트래픽의 격리; 유출 폐쇄; 사용자 식별.
성공: 방어자가 유출을 확인하고 그것을 폐쇄하며; 그리고 방어자가 사용자를 식별한다.
방어형 임무 2
개요
이 임무에서, 학생이라고도 지칭되는 사이버-전사는 머신 클러스터 내의 슬레이브 상에서 잘못 구성된 NFS를 식별하고 '트로이 목마(Trojan)' 프로그램을 제거해야만 한다.
세부 사항
일단 AI 공격자가 잘못 구성된 NFS를 악용하여 상기 트로이 목마를 심어두면, 사이버-전사는 클러스터 내의 머신들을 스캔하여 잘못된 구성을 갖는 슬레이브를 발견할 것이다. 그 다음, 잘못된 구성을 수정하여 취약점을 차단할 것이다. 이어서, 트로이 목마를 찾아서 그것을 제거한다.
과제 설명
1. 클러스터의 잘못된 구성을 스캔
2. NFS 구성
3. 트로이 목마를 찾아서 그것을 제거
각각의 작업 설명에 관한 과제 점수
1. 10점
2. 5점
3. 15점
필요한 환경 및 도구
상세 설계
시스템은 다음과 같이 임무를 자동으로 구성하고 설정한다:
1. 다수의 서브넷들을 가진 NFS 환경 - A, B, C. A는 NFS를 가지며, B는 NFS를 사용하고, C는 그렇지 않다.
2. 루트에 의해 소유되고 모두에 의해 실행 가능한 트로이 - 표시자 프로세스(Trojan indicator process)를 심는다. 트로이 목마가 아닌 다른 파일들도 필요하다.
3. 다중의 잘못된 배치(multiple misconfigurations)
4. 학생은 Admin 쉘로 떨어진다.
학생의 임무
1. 누가 허가된 서브넷 외부로 보내기를 하는지 파악하는 것이 필요하다.
2. N 개의 모든 NFS 서버들을 찾고 텍스트 파일로 명칭들을 나열한다.
3. 정확한 허가(permissions)를 확인한다. 잘못된 구성에 *를 입력하고 방어자가 그것을 찾도록 한다.
4. 악성 파일에 로그인하여 그것을 해결하고 config를 수정하고 NFS를 재시작 한다.
5. 실행중인 트로이 목마를 찾는다. 아마도 이것은 NFS 구성을 죽이지 않는다면 그것을 다시 변경한다.
성공
1. 방어자가 모든 잘못 구성된 NFS 서버를 식별하였음.
2. 방어자가 구성을 수정했음.
3. 방어자가 트로이 목마 프로그램을 발견하여 그것을 무효화시켰음.
전술한 장치의 구성 및 그 방법은 단지 본 발명의 원리의 응용에 대해 설명하기 위한 것이며 다른 많은 실시 예들 및 변형들이 특허청구범위에 정의된 것과 같은 본 발명의 정신과 범위를 벗어나지 않고도 이루어질 수 있다는 것을 이해하여야 할 것이다.

Claims (35)

  1. 적어도 하나의 학생들에게 사이버 위협 인공 지능 상대에 대해 임무에 입각한 게임 방식의 사이버 위협 교육훈련을 제공하는 시스템에 있어서,
    프로세서, 비디오 디스플레이 및 사용자 입력 장치를 포함하는 적어도 하나의 학생 스테이션;
    적어도 하나의 프로세서 및 메모리를 포함하는 시스템 서버로서, 적어도 하나의 학생 스테이션과 하나 또는 다수의 횟수로 통신하는 시스템 서버;
    상기 시스템 서버와 관련하여 선택 가능한 사이버 위협 임무들이 저장된 적어도 하나의 데이터베이스로서, 각각의 선택 가능한 임무는 상기 임무를 위한 가상 사이버 임무 환경을 정의하는 임무 데이터를 포함하고, 상기 가상 사이버 임무 환경은 가상의 네트워크 및 하나 또는 다수의 가상의 장치들 및 하나 또는 다수의 가상 도구들을 포함하는 선택 가능한 사이버 위협 임무들이 저장된 적어도 하나의 데이터베이스;
    선택 가능한 사이버 위협 교육 임무의 상기 데이터베이스로부터 선택된 사이버 위협 교육 임무의 입력을 수신하도록 구성되는 게임 서버를 구현하도록 상기 메모리에 저장되고 상기 시스템 서버의 상기 프로세서에 의해 실행 가능한 비-일시적인 기계로 판독 가능한 코드;
    상기 게임 서버에 의해 지시된 선택된 사이버 위협 교육 임무에 응답하여, 상기 선택된 사이버 위협 교육 임무를 게임으로서 구현하는 데에 상기 게임 서버에 의해 사용될 가상의 네트워크, 하나 또는 다수의 가상 장치들 및 하나 또는 다수의 가상 도구들(툴)을 포함하는 상기 임무 데이터에 의해 정의되는 상기 가상 사이버 임무 환경을 생성하도록 구성되는 가상 이벤트 관리자를 구현하도록, 상기 메모리에 저장되고 상기 시스템 서버의 상기 프로세서에 의해 실행될 수 있는 비-일시적인 기계로 판독 가능한 코드;
    상기 적어도 하나의 학생 스테이션이 상기 가상 사이버 임무 환경에 관한 정보를 상기 적어도 하나의 학생에게 디스플레이 하고, 상기 적어도 하나의 학생에 의해 상기 학생 스테이션의 상기 적어도 하나의 사용자 입력 장치에 입력을 수신하도록 구성되며, 상기 입력은 상기 가상 사이버 임무 환경에서 학생 행동들을 생성하기 위한 상기 적어도 하나의 가상 도구의 사용에 관한 적어도 하나 이상의 입력을 포함하는 상기 게임 서버;
    상기 적어도 하나의 학생에 대해 상기 사이버 위협 인공 지능 상대방을 구현하도록 구성되는 인공 지능 엔진을 구현하되, 상기 인공 지능 엔진은 상기 게임 서버와 통신하여 상기 사이버 위협 교육 임무를 하는 동안 상기 학생의 행동들을 포함한 시스템 메시지 및 행동 정보를 수신하고, 상기 시스템 메시지 및 동작 정보를 실시간으로 분석하여 상기 시스템의 상태에 대한 변화를 결정하고, 상기 학생 스테이션에 의해 상기 적어도 하나의 학생에게 표시되는 상대 행동들을 생성하도록, 상기 인공 지능 엔진은 상기 인공 지능 엔진에 의해 생성된 상기 상대 행동들을 상기 학생 행동들에 적어도 부분적으로 기초하여 시간에 따라 변화시키도록 하는 학습 구성 요소를 갖는, 상기 메모리에 저장되고 상기 시스템 서버의 상기 프로세서에 의해 실행될 수 있는 비-일시적인 기계로 판독 가능한 코드;를 포함하는 시스템.
  2. 제1항에 있어서, 상기 사이버 위협 인공 지능 상대는 공격 플레이어로서 역할을 하는 상기 학생에 대해 수비형 상대를 포함하거나 수비 플레이어로서 역할을 하는 상기 학생에 대해 공격형 상대를 포함하는 것인 시스템.
  3. 삭제
  4. 제1항에 있어서, 상기 가상 이벤트 관리자는 임무 오케스트레이션 관리자 및 적어도 하나의 임무 오케스트레이션 에이전트를 구현하고, 상기 적어도 하나의 임무 오케스트레이션 에이전트는 상기 가상 사이버 임무 환경에서 실행되는 것인 시스템.
  5. 제1항에 있어서, 상기 가상 사이버 임무 환경은 실제의 네트워크 환경을 시뮬레이팅 하는 가상 네트워크 환경을 포함하는 것인 시스템.
  6. 제1항에 있어서, 상기 가상 도구는 하나 또는 다수의 가상 통신 장치들, 가상 컴퓨팅 장치들, 가상 방화벽들, 및 가상 소프트웨어 리소스들을 포함하는 것인 시스템.
  7. 제1항에 있어서, 지도 강사에게 상기 학생의 행동들에 관한 실시간 정보가 제공되는 적어도 하나의 훈련된 관찰자 인터페이스를 더 포함하는 것인 시스템.
  8. 삭제
  9. 제1항에 있어서, 상기 게임 서버는 상기 교육 임무 동안에 학생 행동에 기초하여 게임 점수를 생성하도록 구성되고, 상기 게임 점수는 상기 교육 임무 중에 다수의 학생 행동들의 결과로서 생성되는 다수의 행동 점수들의 총합을 포함하는 것인 시스템.
  10. 제1항에 있어서, 상기 가상 이벤트 관리자는 상기 교육 임무 동안의 활동들을 캡처하고 기록하도록 더 구성되는 것인 시스템.
  11. 제10항에 있어서, 상기 가상 이벤트 관리자는 상기 가상 사이버 임무 환경 내에서 복수의 컬렉터 에이전트를 구현하고, 상기 컬렉터 에이전트는 교육 임무 활동의 로그 파일을 생성하는 로그 서버에 보고되는 상기 가상 사이버 임무 환경 내의 활동 정보를 수집하는 것인 시스템.
  12. 제9항에 있어서, 상기 사이버 위협 교육 임무는 다수의 임무 목표들을 갖고, 상기 게임 점수는 상기 다수의 임무 목표들의 성공적인 완료에 종속되는 것인 시스템.
  13. 삭제
  14. 삭제
  15. 제1항에 있어서, 상기 게임 서버의 상기 프로세서에 의해 실행되는 상기 기계로 판독 가능한 코드는 하나 또는 다수의 학생 게임 점수에 기초하여 학생의 하나 또는 다수의 순위 게시판들을 생성하도록 더 구성되는 것인 시스템.
  16. 삭제
  17. 삭제
  18. 제1항에 있어서, 상기 인공 지능 엔진은 가상의 게임중 어드바이저를 구현하도록 구성되며, 상기 어드바이저는 상기 교육 임무 중에 도움을 요청하는 학생에 자동 응답을 제공하도록 구성되는 것인 시스템.
  19. 제18항에 있어서, 상기 응답은 상기 학생 스테이션에서 상기 학생에게 디스플레이 되는 힌트를 포함하는 것인 시스템.
  20. 삭제
  21. 제1항에 있어서, 상기 인공 지능 엔진은 지식 데이터베이스를 포함하고 상기 인공 지능 엔진은 상기 지식 데이터베이스를 이용하여 상기 상태 정보에 기초한 상기 상대 행동들을 생성하는 것을 특징으로 하는 시스템.
  22. 제1항에 있어서, 상기 상대 행동들은 상기 가상의 임무 이벤트 관리자를 통해 상기 가상 사이버 임무 환경으로의 하나 또는 다수의 변화들을 포함하는 시스템.
  23. 삭제
  24. 제1항에 있어서, 상기 임무의 구성은 임무 편집기를 사용하는 교육 강사에 의해 수정가능한 시스템.
  25. 제24항에 있어서, 상기 임무 편집기는 가상 사이버 임무 환경을 형성하는 하나 또는 다수의 가상 장치들 및 하나 또는 다수의 가상 도구들의 편집을 허용하는 시스템.
  26. 제24항에 있어서, 상기 각각의 선택 가능한 임무는 하나 또는 다수의 임무 목표, 목표 감지 방법, 및 목표 점수를 정의하는 데이터를 포함하는 시스템.
  27. 제26항에 있어서, 상기 임무 목표는 위협 또는 위협 행위자에 대처하거나 또는 공격형 사이버 행동을 수행하는 것을 포함하는 시스템.
  28. 제27항에 있어서, 상기 위협 또는 위협 행위자는 알려진 취약점들이 있는 목표 세트와 관련하여 구현되는 시스템.
  29. 제27항에 있어서, 상기 인공 지능 상대는 상기 위협 행위자를 구현하고, 상기 위협 행위자는 상기 가상 사이버 임무 환경 내에서 상기 위협을 수행하는 시스템.
  30. 제1항에 있어서, 상기 선택된 사이버 위협 임무는 연관된 핵심 역량 수준을 가지며, 상기 시스템은 상기 핵심 역량 수준에서 테스트되거나 상기 핵심 역량 수준을 충족시키는 저장된 핵심 역량 수준을 갖는 경우에만 상기 임무를 상기 학생에게 제시하도록 구성되는 시스템.
  31. 제1항에 있어서, 상기 선택된 사이버 위협 임무는 연관된 난이도를 가지고, 상기 난이도는 상기 사이버 위협 인공 지능 상대방의 공격적 수준을 구현하기 위해 상기 인공 지능 엔진에 의해 이용되는 시스템.
  32. 제1항에 있어서, 상기 인공 지능 엔진이 상기 시스템의 상기 상태에서의 변화를 검출하려 할 때, 상기 인공 지능 엔진은 향후 시스템의 상태에 응답하고 그 응답을 생성하는데 사용하기 위해 지식 데이터베이스를 동적으로 업데이트하는 시스템.
  33. 삭제
  34. 삭제
  35. 삭제
KR1020187011555A 2015-09-24 2016-09-23 임무 기반의 게임-실행형 사이버 교육 시스템 및 방법 KR102113587B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562232423P 2015-09-24 2015-09-24
US62/232,423 2015-09-24
PCT/US2016/053430 WO2017053789A1 (en) 2015-09-24 2016-09-23 Mission-based, game-implemented cyber training system and method

Publications (2)

Publication Number Publication Date
KR20180056756A KR20180056756A (ko) 2018-05-29
KR102113587B1 true KR102113587B1 (ko) 2020-05-22

Family

ID=58387458

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187011555A KR102113587B1 (ko) 2015-09-24 2016-09-23 임무 기반의 게임-실행형 사이버 교육 시스템 및 방법

Country Status (9)

Country Link
US (4) US10056005B2 (ko)
EP (1) EP3352868A4 (ko)
JP (2) JP6818033B2 (ko)
KR (1) KR102113587B1 (ko)
AU (2) AU2016327973B2 (ko)
BR (1) BR112018006011A2 (ko)
CA (1) CA2999487A1 (ko)
SG (1) SG10202106750YA (ko)
WO (1) WO2017053789A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220050698A (ko) * 2020-10-16 2022-04-25 주식회사 스틸리언 공방전 방식으로 해킹 테스트를 수행하는 방법 및 그 방법을 위한 관리서버
US11666817B2 (en) 2015-09-24 2023-06-06 Circadence Corporation Mission-based, game-implemented cyber training system and method

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112018006011A2 (pt) * 2015-09-24 2018-10-30 Circadence Corporation sistema e método de treinamento cibernético implementado por jogo com base em missões
US10672289B2 (en) 2015-09-24 2020-06-02 Circadence Corporation System for dynamically provisioning cyber training environments
US10532281B2 (en) * 2015-10-30 2020-01-14 Wipro Limited Data center transformation systems and methods
US20190303583A1 (en) * 2016-06-07 2019-10-03 Jophiel Pty. Ltd. Cyber security system and method
US10523635B2 (en) * 2016-06-17 2019-12-31 Assured Information Security, Inc. Filtering outbound network traffic
SE1750885A1 (en) * 2017-07-05 2019-01-06 Irisity Ab Publ Method for apply gamification techniques to a security system
WO2019040613A1 (en) * 2017-08-24 2019-02-28 Circadence Corporation DYNAMIC SUPPLY SYSTEM FOR CYBER-TRAINING ENVIRONMENTS
US10757132B1 (en) * 2017-09-08 2020-08-25 Architecture Technology Corporation System and method for evaluating and optimizing training effectiveness
CN107707415B (zh) * 2017-11-23 2021-03-19 成都知道创宇信息技术有限公司 一种基于SaltStack的服务器配置自动监控与告警方法
US11258795B2 (en) * 2018-03-12 2022-02-22 Prevade, LLC Cybersecurity training system and process
US11709946B2 (en) 2018-06-06 2023-07-25 Reliaquest Holdings, Llc Threat mitigation system and method
US11108798B2 (en) 2018-06-06 2021-08-31 Reliaquest Holdings, Llc Threat mitigation system and method
US20210306361A1 (en) * 2018-10-11 2021-09-30 Nippon Telegraph And Telephone Corporation Analysis apparatus, analysis system, analysis method and program
US11257393B2 (en) 2018-10-26 2022-02-22 Circadence Corporation Method and system for evaluating individual and group cyber threat awareness
US10576380B1 (en) * 2018-11-05 2020-03-03 Sony Interactive Entertainment LLC Artificial intelligence (AI) model training using cloud gaming network
KR102238200B1 (ko) * 2019-03-13 2021-04-08 주식회사 승진교육 게임 요소를 포함하는 교육 서비스 제공 방법 및 시스템
US11475790B2 (en) * 2019-06-28 2022-10-18 Fortinet, Inc. Gamified network security training using dedicated virtual environments simulating a deployed network topology of network security products
US11488493B2 (en) * 2019-09-12 2022-11-01 EC-Council International Limited Multi-dimensional cybersecurity skills assessment method and system
KR102118588B1 (ko) * 2019-12-19 2020-06-03 주식회사 유니온플레이스 전용 인공 지능 시스템
CN111437608B (zh) * 2020-03-24 2023-09-08 腾讯科技(深圳)有限公司 基于人工智能的游戏对局方法、装置、设备及存储介质
US20210329022A1 (en) * 2020-04-17 2021-10-21 Cerner Innovation, Inc. Systems, methods, and storage media for conducting security penetration testing
KR102186127B1 (ko) * 2020-05-11 2020-12-03 (주)케이엔비씨 해킹 방지용 모의 훈련 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
KR102367862B1 (ko) * 2020-06-24 2022-02-25 주식회사 하이 Adhd 아동을 위한 일상 과업 수행 지원 장치 및 그 방법
CN111898133A (zh) * 2020-07-23 2020-11-06 昆山领创信息科技有限公司 一种基于自动化的渗透测试装置和方法
US11393353B2 (en) * 2020-09-30 2022-07-19 Ui Labs Industrial operations security training systems and methods
CN112837573A (zh) * 2021-01-11 2021-05-25 广东省交通运输高级技工学校 游戏化教学平台及方法
CN112783781B (zh) * 2021-01-28 2024-06-04 网易(杭州)网络有限公司 游戏测试方法、装置、电子设备及存储介质
CN113262494A (zh) * 2021-05-13 2021-08-17 网易(杭州)网络有限公司 游戏中的任务处理方法、装置及电子设备
CN114464038A (zh) * 2021-12-24 2022-05-10 中国海洋石油集团有限公司 一种融合型三维井控多岗位协同演练系统及方法
CN115394140A (zh) * 2022-08-19 2022-11-25 北京创奇视界科技有限公司 一种面向复杂装备体系对抗的智能博弈训练与仿真装置
CN116911202B (zh) * 2023-09-11 2023-11-17 北京航天晨信科技有限责任公司 一种基于多粒度仿真训练环境的智能体训练方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090208910A1 (en) * 2008-02-19 2009-08-20 Architecture Technology Corporation Automated execution and evaluation of network-based training exercises
JP2014021959A (ja) 2012-07-18 2014-02-03 We Are Engineering Kk 情報セキュリティゲームシステム、情報セキュリティゲーム装置、及び情報セキュリティゲームプログラム
KR101534194B1 (ko) * 2014-12-08 2015-07-08 한국인터넷진흥원 침입자 행동패턴을 반영한 사이버보안 교육훈련시스템 및 방법

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG72948A1 (en) * 1999-04-30 2003-02-18 Junglebyte Pte Ltd Provision of educational material over a communications network
AU2001271351A1 (en) 2000-06-21 2002-01-02 Applied Systems Intelligence, Inc. Method and system for providing an intelligent goal-oriented user interface to data and services
US7319992B2 (en) 2000-09-25 2008-01-15 The Mission Corporation Method and apparatus for delivering a virtual reality environment
JP2005010919A (ja) 2003-06-17 2005-01-13 Canon Inc 情報処理装置及び情報処理方法及びプログラム並びに記憶媒体
US7837543B2 (en) * 2004-04-30 2010-11-23 Microsoft Corporation Reward-driven adaptive agents for video games
US20110029892A1 (en) 2004-10-14 2011-02-03 Cerulean Studios System and Method For Integrating Advanced Multimedia Features Within An Instant Messaging Environment
MX2007006147A (es) * 2004-11-24 2008-01-14 Dynamic Animation Systems Inc Ambiente de entrenamiento de instructor principal e interfases con eso.
US8250654B1 (en) 2005-01-27 2012-08-21 Science Applications International Corporation Systems and methods for implementing and scoring computer network defense exercises
US8266320B1 (en) 2005-01-27 2012-09-11 Science Applications International Corporation Computer network defense
US20070066403A1 (en) * 2005-09-20 2007-03-22 Conkwright George C Method for dynamically adjusting an interactive application such as a videogame based on continuing assessments of user capability
US8005879B2 (en) 2005-11-21 2011-08-23 Sap Ag Service-to-device re-mapping for smart items
US8554536B2 (en) 2006-05-24 2013-10-08 Verizon Patent And Licensing Inc. Information operations support system, method, and computer program product
KR20090015421A (ko) * 2007-08-08 2009-02-12 소프트포럼 주식회사 피싱 게임 운영시스템 및 그 방법 그리고 이를 실행하기위한 프로그램을 기록한 기록매체
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US8099272B2 (en) 2007-12-12 2012-01-17 Verizon Patent And Licensing Inc. Multi-layered model for survivability analysis of network services
WO2009128905A1 (en) * 2008-04-17 2009-10-22 Siemens Energy, Inc. Method and system for cyber security management of industrial control systems
US20090319906A1 (en) 2008-06-18 2009-12-24 Eads Na Defense Security And Systems Solutions Inc Systems and methods for reconstitution of network elements in a simulated network
US9384678B2 (en) 2010-04-14 2016-07-05 Thinkmap, Inc. System and method for generating questions and multiple choice answers to adaptively aid in word comprehension
US9116733B2 (en) 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
JP5009405B2 (ja) * 2010-09-02 2012-08-22 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法、及びプログラム
WO2012047857A2 (en) * 2010-10-04 2012-04-12 Mind Over Matter Ai, Llc. Coupling of rational agents to quantum processes
US20150229664A1 (en) 2014-02-13 2015-08-13 Trevor Tyler HAWTHORN Assessing security risks of users in a computing network
US9373267B2 (en) 2011-04-08 2016-06-21 Wombat Security Technologies, Inc. Method and system for controlling context-aware cybersecurity training
US10749887B2 (en) 2011-04-08 2020-08-18 Proofpoint, Inc. Assessing security risks of users in a computing network
US9558677B2 (en) 2011-04-08 2017-01-31 Wombat Security Technologies, Inc. Mock attack cybersecurity training system and methods
JP5103544B1 (ja) * 2011-06-14 2012-12-19 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法、及びプログラム
US9786193B2 (en) * 2011-09-01 2017-10-10 L-3 Communications Corporation Adaptive training system, method and apparatus
JP2014133147A (ja) * 2011-12-27 2014-07-24 Square Enix Co Ltd ゲームシステム
US8845437B2 (en) * 2012-04-30 2014-09-30 Microsoft Corporation Gaming challenges which use leaderboards that rank challenge participants
JP2013236687A (ja) 2012-05-11 2013-11-28 We Are Engineering Kk コンピュータゲーム
WO2015063715A2 (en) * 2013-11-01 2015-05-07 Cybergym Control Ltd Cyber defense
US9636586B2 (en) 2014-02-19 2017-05-02 International Business Machines Corporation Game adjustments through crowdsourcing
US9697355B1 (en) 2015-06-17 2017-07-04 Mission Secure, Inc. Cyber security for physical systems
US10083624B2 (en) 2015-07-28 2018-09-25 Architecture Technology Corporation Real-time monitoring of network-based training exercises
BR112018006011A2 (pt) 2015-09-24 2018-10-30 Circadence Corporation sistema e método de treinamento cibernético implementado por jogo com base em missões
US10238948B2 (en) 2015-09-24 2019-03-26 Circadence Corporation Mission-based, game-implemented cyber training system and method
US10672289B2 (en) * 2015-09-24 2020-06-02 Circadence Corporation System for dynamically provisioning cyber training environments
US10692533B2 (en) 2015-10-07 2020-06-23 Google Llc Storyline experience
US10395554B2 (en) * 2017-02-28 2019-08-27 Information Systems Audit and Control Association, Inc. Scoring of user operations performed on a computer in a computerized learning system
US20190005831A1 (en) * 2017-06-28 2019-01-03 Aquinas Learning, Inc. Virtual Reality Education Platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090208910A1 (en) * 2008-02-19 2009-08-20 Architecture Technology Corporation Automated execution and evaluation of network-based training exercises
JP2014021959A (ja) 2012-07-18 2014-02-03 We Are Engineering Kk 情報セキュリティゲームシステム、情報セキュリティゲーム装置、及び情報セキュリティゲームプログラム
KR101534194B1 (ko) * 2014-12-08 2015-07-08 한국인터넷진흥원 침입자 행동패턴을 반영한 사이버보안 교육훈련시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11666817B2 (en) 2015-09-24 2023-06-06 Circadence Corporation Mission-based, game-implemented cyber training system and method
KR20220050698A (ko) * 2020-10-16 2022-04-25 주식회사 스틸리언 공방전 방식으로 해킹 테스트를 수행하는 방법 및 그 방법을 위한 관리서버
KR102393656B1 (ko) * 2020-10-16 2022-05-04 주식회사 스틸리언 공방전 방식으로 해킹 테스트를 수행하는 방법 및 그 방법을 위한 관리서버

Also Published As

Publication number Publication date
AU2019268206B2 (en) 2021-08-05
JP6818033B2 (ja) 2021-01-20
US20190005839A1 (en) 2019-01-03
US10056005B2 (en) 2018-08-21
SG10202106750YA (en) 2021-08-30
US20220084431A1 (en) 2022-03-17
EP3352868A4 (en) 2019-02-13
US20170140660A1 (en) 2017-05-18
KR20180056756A (ko) 2018-05-29
JP2018535802A (ja) 2018-12-06
BR112018006011A2 (pt) 2018-10-30
AU2016327973B2 (en) 2019-09-26
EP3352868A1 (en) 2018-08-01
JP2021073486A (ja) 2021-05-13
AU2016327973A1 (en) 2018-04-26
CA2999487A1 (en) 2017-03-30
US20200219410A1 (en) 2020-07-09
WO2017053789A1 (en) 2017-03-30
US10515564B2 (en) 2019-12-24
US11189188B2 (en) 2021-11-30
AU2019268206A1 (en) 2020-01-02

Similar Documents

Publication Publication Date Title
KR102113587B1 (ko) 임무 기반의 게임-실행형 사이버 교육 시스템 및 방법
US11666817B2 (en) Mission-based, game-implemented cyber training system and method
Vykopal et al. Lessons learned from complex hands-on defence exercises in a cyber range
Leune et al. Using capture-the-flag to enhance the effectiveness of cybersecurity education
Yamin et al. Serious games as a tool to model attack and defense scenarios for cyber-security exercises
Ficco et al. Leaf: An open-source cybersecurity training platform for realistic edge-IoT scenarios
EP3600582A1 (en) Mission-based, game-implemented cyber training system and method
Marsa-Maestre et al. Design and evaluation of a learning environment to effectively provide network security skills
Kuo et al. Cyber attack and defense training: Using emulab as a platform
Cai Using case studies to teach cybersecurity courses
Luh et al. PenQuest reloaded: A digital cyber defense game for technical education
Ernits et al. A live virtual simulator for teaching cybersecurity to information technology students
Russo et al. Cyber range and cyber defense exercises: Gamification meets university students
Chaskos Cyber-security training: a comparative analysis of cyberranges and emerging trends
Crichlow A study on Blue Team’s OPSEC failures
Weitl-Harms et al. Cyber Security Operations Educational Gamification Application Listing
Huhtakangas Xamk cyber range: design of concept for cyber training environment
LaVan The use of tabletop games as a training tool for teaching cybersecurity
Hembroff et al. The Development of a computer & network security education interactive gaming architecture for high school age students
Kuchar et al. From Playground to Battleground: Cyber Range Training for Industrial Cybersecurity Education
Agrianidis Information Security Training and Serious Games
Shope Effective cyber situation awareness (CSA) assessment and training final report
Ariffin et al. Cyber Defense Competition and Information Security: The Red Teaming Exercise Implementation to Resolve Skills and Techniques with Cyber Range Concept

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right