KR101918546B1 - 해킹 방어 경연 시스템 - Google Patents
해킹 방어 경연 시스템 Download PDFInfo
- Publication number
- KR101918546B1 KR101918546B1 KR1020170160352A KR20170160352A KR101918546B1 KR 101918546 B1 KR101918546 B1 KR 101918546B1 KR 1020170160352 A KR1020170160352 A KR 1020170160352A KR 20170160352 A KR20170160352 A KR 20170160352A KR 101918546 B1 KR101918546 B1 KR 101918546B1
- Authority
- KR
- South Korea
- Prior art keywords
- contest
- server
- module
- key
- contest server
- Prior art date
Links
- 230000007123 defense Effects 0.000 title claims abstract description 84
- 238000012544 monitoring process Methods 0.000 claims abstract description 70
- 238000011156 evaluation Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims description 25
- 238000012795 verification Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 10
- 230000005856 abnormality Effects 0.000 claims description 5
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Entrepreneurship & Innovation (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 해킹 방어 경연 시스템에 관한 것으로서, 더욱 상세하게는 복수의 해킹 방어 경연 참여자가 자신의 단말기를 통해 경연서버의 취약점을 분석하여 공격할 때, 이에 대해 자동으로 평가를 하여 평가점수를 도출하는 해킹 방어 경연 시스템에 관한 것이다.
Description
본 발명은 해킹 방어 경연 시스템에 관한 것으로서, 더욱 상세하게는 복수의 해킹 방어 경연 참여자가 자신의 단말기를 통해 경연서버의 취약점을 분석하여 공격할 때, 이에 대해 자동으로 평가를 하여 평가점수를 도출하는 해킹 방어 경연 시스템에 관한 것이다.
인터넷 기술이 발달하고, 가전, 센서 등 우리 주변의 사물까지 네트워크에 연결되어 사물 주변의 환경 정보, 사물 자체의 정보도 공유될 수 있는 사물인터넷(IoT) 기술이 보급되면서 인터넷에 연결되는 기기들이 급속히 늘어나고 있다.
이와 같이 인터넷에 연결되는 디지털 장치 들이 증가하면서, 이에 대한 제어권한을 탈취하거나, 혹은 바이러스 등으로 디지털 장치의 시스템을 변조하거나, 혹은 이에 저장된 정보 등을 유출하는 해킹사고 등의 위협이 크게 증대되었다.
이와 같은 해킹은 시스템의 취약점을 찾아내 이를 공략하여 이루어지는 것으로, 시스템의 보안을 유지하기 위해서는 이와 같은 취약점을 분석하고 이를 방어하는 기술에 대한 연구가 이루어져야 한다. 이와 같은 취약점 분석 및 방어기술 개발 역량을 강화하고 기술 교류의 장으로서 보안 컨퍼런스 및 해킹 방어 경연 대회 등이 열리고 있다.
일반적으로 해킹 방어 경연 대회는 CTF(Capture the Flag)의 형식으로 열리는데, 이는 문제로 출제된 프로그램의 보안을 뚫고 취약점을 공략해 그 안에 숨겨진 깃발 값을 찾는 방식으로 진행된다.
이와 같은 해킹 방어 경연 대회는 경연참여자가 자신의 단말기를 통해 출제된 프로그램의 취약점을 분석하고, 이를 공략하기 위한 코드를 작성하는 방식으로 진행된다.
이와 같은 해킹 방어 경연 대회를 진행하기 위해서 경연참여자들이 공략할 문제가 저장된 서버와 경연참여자들을 평가하는 서버 등으로 구성된 시스템을 구성할 필요성이 있다.
더욱이 최근에는 인공지능의 발달로 상기와 같은 해킹 방어 경연 대회에서 경연참가자들이 직접 프로그램의 취약점 분석 및 공격코드 작성을 하지 않고, 인공지능 등을 통해 자동으로 취약점을 분석하고, 공격코드를 작성하고, 취약점을 보완하는 패치를 작성하도록 하는 기술이 주목 받고 있어, 이에 대응할 수 있는 경연 시스템 개발의 필요성이 있다.
본 발명은 복수의 해킹 방어 경연 참여자가 자신의 단말기를 통해 경연서버의 취약점을 분석하여 공격할 때, 이에 대해 자동으로 평가를 하여 평가점수를 도출하는 해킹 방어 경연 시스템을 제공하는 것을 그 목적으로 한다.
상기와 같은 과제를 해결하기 위하여 본 발명은, 해킹방어경연을 수행하는 해킹방어경연시스템으로서, 경연을 위한 취약점이 포함된 바이너리(CB: Challenge Binary)를 포함하여 1 이상의 경연참여자가 자신의 단말기를 통하여 공격코드를 입력하여 공격할 수 있는 해킹방어경연서버; 및 상기 해킹방어경연서버 및 상기 경연참여자의 단말기로부터 경연의 진행에 필요한 정보를 수신하고, 상기 정보에 기초하여 제어를 수행하는 평가/모니터링서버; 를 포함하는, 해킹방어경연시스템을 제공한다.
본 발명의 일 실시예에서는, 상기 해킹방어경연서버는, 2 이상의 경연서버모듈을 포함하고, 상기 경연참여자의 단말기는 각각 상기 2 이상의 경연서버모듈 중 하나에 할당되고, 상기 경연서버모듈은 각각, 상기 취약점이 포함된 바이너리를 포함하는 CB모듈; 상기 평가/모니터링서버의 제어를 받아 상기 경연서버모듈을 제어하는 경연서버관리데몬; 및 상기 경연서버모듈의 상태정보를 수집하는 경연서버모니터링데몬; 을 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 CB모듈은, 상기 취약점이 포함된 바이너리가 저장되어 실행되는 CB실행부; 및 상기 취약점이 포함된 바이너리에 의해 보안이 유지되는 키가 저장되는 키저장부; 를 포함하고, 상기 CB모듈은 접속한 참여자 단말기의 요청에 따라 상기 취약점이 포함된 바이너리를 전송하고, 상기 접속한 참여자 단말기로부터 수신한 공격코드가 취약점을 공격할 수 있는 코드에 해당하는 경우 상기 보안이 유지되는 키를 상기 접속한 참여자 단말기로 송신할 수 있다.
본 발명의 일 실시예에서는, 상기 평가/모니터링서버는, 상기 해킹방어경연서버에 대한 모니터링 및 관리를 수행하는 관리부; 및 상기 경연참여자가 전송한 키 및 패치CB를 평가하여 점수를 부여하는 평가부;를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 관리부는, 기설정된 주기마다 키를 갱신하는 키갱신관리모듈; 상기 경연서버모듈의 상태정보를 모니터링 하고 상기 경연서버모듈의 동작을 관리하는 경연서버관리모듈; 및 상기 CB모듈의 상기 취약점이 포함된 바이너리에 대한 관리를 수행하는 CB관리모듈; 을 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 키갱신관리모듈은, 기설정된 주기마다 키를 갱신하여 상기 2 이상의 경연서버모듈로 각각으로 갱신된 상기 키를 전송하고, 상기 2 이상의 경연서버모듈로 전송된 상기 키는 서로 상이할 수 있다.
본 발명의 일 실시예에서는, 상기 CB관리모듈은 상기 경연이 시작될 때, 상기 2 이상의 경연서버모듈로 동일한 1 이상의 상기 취약점이 포함된 바이너리를 송신하고, 상기 참여자단말기는 타인에게 할당된 경연서버모듈에도 공격코드를 전송하고 상기 공격코드가 유효한 경우, 상기 타인에게 할당된 경연서버모듈로부터 상기 키를 수신할 수 있다.
본 발명의 일 실시예에서는, 상기 경연서버관리모듈은, 기설정된 주기마다 상기 경연서버모듈의 CB 및 키 파일의 정보를 포함한 상태정보를 모니터링하고, 상기 상태정보에 이상이 있는 경우, 이상을 유발하는 해당 경연서버모듈에 페널티 조치를 취할 수 있다.
본 발명의 일 실시예에서는, 상기 페널티 조치는, 상기 해당 경연서버모듈을 기설정된 시간 동안 사용불가 상태로 제어하는 조치; 및 상기 해당 경연서버모듈에 대한 경연참여자의 점수를 감점하는 조치; 중 어느 하나 이상을 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 평가부는, 상기 경연참여자가 전송한 상기 키의 유효성을 검증하는 키검증부; 상기 경연참여자가 전송한 상기 패치CB의 유효성을 검증하는 패치CB검증부; 및 상기 키 및 상기 패치CB의 유효성 검증 여부에 기초하여 상기 경연참여자에게 점수를 부여하는 점수관리부; 를 포함할 수 있다.
본 발명의 일 실시예에서는, 상기 CB관리모듈은 상기 경연이 시작될 때, 상기 2 이상의 경연서버모듈로 동일한 1 이상의 상기 취약점이 포함된 바이너리를 송신하고, 상기 CB관리모듈은, 상기 키검증부에서 상기 경연참여자가 전송한 키의 유효성이 검증되고, 상기 경연참여자가 전송한 상기 패치CB의 유효성이 검증되는 경우에, 상기 경연참여자가 전송한 상기 패치CB로 상기 경연참여자의 단말기가 할당된 상기 경연서버모듈의 상기 패치CB에 상응하는 기저장된 상기 CB모듈을 전송한 상기 패치CB로 업데이트하고, 상기 경연참여자는 타인에게 할당된 경연서버모듈에도 공격코드를 전송하고 상기 공격코드가 유효한 경우, 상기 타인에게 할당된 경연서버모듈로부터 상기 키를 수신할 수 있다.
본 발명의 일 실시예에 따르면 자동으로 취약점을 찾고 패치 하는 프로그램을 이용한 해킹 방어 경연을 수행할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 경연참여자가 공격 및 방어를 수행함에 있어서 이를 자동으로 평가하여 점수를 부여하는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 경연참여자가 부정적인 수법으로 비정상상황을 유도하는 경우 이를 모니터링 하고 상기 경연참여자에게 페널티 조치를 취할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 바이너리의 취약점을 공격하여 취득할 수 있는 키를 기설정된 주기마다 갱신하여 노출된 키가 향후 재사용되지 않도록 하는 효과를 발휘할 수 있다.
도 1은 본 발명의 일 실시예에 따른 해킹방어경연시스템을 개략적으로 도시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 해킹방어경연시스템을 통한 해킹 방어 경연에서 참여자의 해킹 과정을 개략적으로 도시하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 해킹방어경연서버의 내부 구조를 개략적으로 도시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 해킹방어경연의 진행과정을 개략적으로 도시하는 도면이다.
도 5 내지 도 7은 본 발명의 일 실시예에 따른 해킹방어경연에서 복수의 참여자의 공격 및 방어 과정을 개략적으로 도시하는 도면이다.
도 8은 본 발명의 일 실시예에 따른 평가/모니터링서버의 내부 구조를 개략적으로 도시하는 도면이다.
도 9는 본 발명의 일 실시예에 따른 키갱신관리모듈의 키갱신과정을 개략적으로 도시하는 도면이다.
도 10은 본 발명의 일 실시예에 따른 경연서버관리모듈의 경연서버관리과정을 개략적으로 도시하는 도면이다.
도 11은 본 발명의 일 실시예에 있어서, 컴퓨팅 장치의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 해킹방어경연시스템을 통한 해킹 방어 경연에서 참여자의 해킹 과정을 개략적으로 도시하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 해킹방어경연서버의 내부 구조를 개략적으로 도시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 해킹방어경연의 진행과정을 개략적으로 도시하는 도면이다.
도 5 내지 도 7은 본 발명의 일 실시예에 따른 해킹방어경연에서 복수의 참여자의 공격 및 방어 과정을 개략적으로 도시하는 도면이다.
도 8은 본 발명의 일 실시예에 따른 평가/모니터링서버의 내부 구조를 개략적으로 도시하는 도면이다.
도 9는 본 발명의 일 실시예에 따른 키갱신관리모듈의 키갱신과정을 개략적으로 도시하는 도면이다.
도 10은 본 발명의 일 실시예에 따른 경연서버관리모듈의 경연서버관리과정을 개략적으로 도시하는 도면이다.
도 11은 본 발명의 일 실시예에 있어서, 컴퓨팅 장치의 내부 구성의 일례를 설명하기 위한 블록도이다.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 해킹방어경연시스템을 개략적으로 도시하는 도면이다.
도 1을 참조하면 본 발명의 일 실시예에 따른 해킹방어경연시스템은 1 이상의 참여자단말기(100.N)가 해킹방어경연서버(1000) 및 평가/모니터링서버(2000)와 연결되어 구성된다.
상기 해킹방어경연서버(1000)는 경연을 위한 취약점이 포함된 바이너리(CB: Challenge Binary)를 포함하여 1 이상의 경연참여자가 공격코드를 입력하여 공격할 수 있다.
상기 해킹방어경연서버(1000)는 상기 1 이상의 경연참여자의 참여자단말기(100.N)에 의해 경연 동안 공격과 방어가 이루어지고, 이를 위해 상기 해킹방어경연서버(1000)는 복수의 경연참여자 각각에 할당되는 복수의 경연서버모듈을 포함하여 대응될 수 있다.
상기 평가/모니터링서버(2000)는 상기 해킹방어경연서버(1000) 및 상기 경연참여자의 참여자단말기(100.N)로부터 경연의 진행에 필요한 정보를 수신하고, 상기 정보에 기초하여 제어를 수행한다.
본 발명의 일 실시예에 따르면 상기 평가/모니터링서버(2000)는 상기 해킹방어경연서버(1000)를 모니터링 하여 상기 해킹방어경연서버(1000)에서 공격 및 방어가 정상적으로 이루어지도록 관리하고, 상기 해킹방어경연서버(1000)를 모니터링 하여 이상동작이 이루어지는지 여부를 확인할 수 있다.
또한 상기 평가/모니터링서버(2000)는 경연참여자의 참여자단말기(100.N) 각각과 연결되어, 상기 경연참여자의 공격 및 방어에 대해 검증 및 평가를 수행할 수 있다. 이와 같이 상기 평가/모니터링서버(2000)가 상기 경연참여자에 대한 평가를 자동으로 수행하여 실시간으로 점수를 도출하고 이를 관중 등에게 제공하는 효과를 발휘할 수 있다.
도 2는 본 발명의 일 실시예에 따른 해킹방어경연시스템을 통한 해킹 방어 경연에서 참여자의 해킹 과정을 개략적으로 도시하는 도면이다.
본 발명의 일 실시예에 따른 해킹방어경연은 CTF(Capture the Flag) 방식으로 진행될 수 있다. 상기 해킹방어경연서버(1000)는 내부에 CB가 저장된 CB모듈을 포함하고, 상기 경연참여자의 참여자단말기(100.N)는 상기 CB를 분석하여 상기 CB의 취약점을 공략하게 된다.
도 2를 참조하면 본 발명의 일 실시예에 따른 경연참여자단말기는 상기 CB모듈로부터 CB를 다운로드 한다.
이후 상기 참여자단말기(100.N)는 상기 CB를 분석하고, 상기 CB의 취약점을 공격할 수 있는 공격코드(Exploit)을 생성한다.
상기 참여자단말기(100.N)는 생성된 공격코드를 상기 CB모듈에 입력하고, 상기 공격코드를 입력 받은 CB는상기 취약점이 공략되어, 보안을 유지해야 할 키를 상기 참여자단말기(100.N)로 전송하게 된다.
이와 같이 상기 참여자단말기(100.N)는 상기 CB모듈의 CB의 취약점을 분석하고, 이를 공격할 수 있는 공격코드를 통해 키를 획득함으로써 상기 CB의 공략에 성공하게 된다.
도 3은 본 발명의 일 실시예에 따른 해킹방어경연서버의 내부 구조를 개략적으로 도시하는 도면이다.
도 3을 참조하면 본 발명의 일 실시예에 따른 상기 해킹방어경연서버(1000)는 1 이상의 경연서버모듈(1000.N)을 포함할 수 있다.
상기 해킹방어경연서버(100)는 상기 경연참여자 수와 동일한 수의 경연서버모듈(1000.N)을 포함하여 상기 참여자단말기(100.N)와 일대일로 대응되는 것이 바람직하다.
본 발명의 일 실시예에 따르면 상기 경연서버모듈(1000.N)은 상기 참여자단말기(100.N)와 일대일로 대응되고, 상기 참여자단말기(100.N)마다 각각 경연서버모듈(1000.N)이 지정되어 상기 참여자단말기(100.N)은 지정된 상기 경연서버모듈(1000.N)에 대해 공격을 수행하고, 타 참여자단말기(100.N)로부터의 공격을 방어하도록 지정된 상기 경연서버모듈(1000.N)의 CB를 패치 한다.
예를 들어 도 3의 참여자단말기#1(100.1)은 경연서버모듈#1(1000.1)을 자신의 경연서버모듈로 지정 받고, 상기 경연서버모듈#1(1000.1)의 CB를 분석하여 공격하고, 상기 경연서버모듈#1(1000.1) 뿐만 아니라 타 경연참여자의 경연서버모듈#2(1000.2) 등을 공격할 수도 있다. 이와 마찬가지로 타 경연참여자의 참여자단말기#2(100.2) 역시 상기 경연서버모듈#1(1000.1)을 공격할 수 있기 때문에, 상기 참여자단말기#1(100.1)은 자신의 경연서버모듈#1(1000.1)의 CB의 취약점을 보완하는 패치를 수행하여 상기 참여자단말기#2(100.2)로부터의 공격을 방어할 수 있도록 한다.
본 발명의 일 실시예에 따른 상기 경연 경연서버모둘(1000.N)은 CB모듈(1100), 경연서버관리데몬(1200) 및 경연서버모니터링데몬(1300)을 포함한다.
상기 CB모듈(1100)은 경연을 위한 취약점이 포함된 바이너리(CB: Challenge Binary)를 포함한다. 이를 위해 상기 CB모듈(1100)은 CB실행부(1110) 및 키저장부(1120)를 포함할 수 있다.
상기 CB실행부(1110)는 상기 CB가 저장되어 실행된다. 상기 CB는 해킹방어경연을 위하여 취약점이 포함되어 있다. 상기 CB는 외부로부터의 보안을 유지하여 저장된 키를 보호하는 역할을 수행한다. 하지만 취약점을 포함하고 있어, 상기 취약점을 공략할 수 있는 명령어를 입력 받는 경우 저장된 키를 외부로 전송하게 된다. 이를 통해 경연참여자의 참여자단말기(100.N)는 상기 CB를 분석하여 상기 취약점을 공격할 수 있는 공격코드(Exploit)를 생성하여 입력하는 방식으로 키를 획득할 수 있고, 상기 키를 인증 받음으로써 공격이 성공했음을 확인 받고 경연점수를 획득할 수 있다.
상기 키저장부(1120)는 상기 CB가 보호할 키가 저장된다. 상기 키저장부(1120)는 상기 CB실행부(1110)의 실행에 의해 내부에 저장된 키가 보호된다. 본 발명의 일 실시예에 따르면 상기 키저장부(1120)에 저장되는 키는 평가/모니터링서버(2000)로부터 전송 받을 수 있다. 바람직하게는 상기 키는 상기 평가/모니터링서버(2000)로부터 기설정된 주기마다 수신하여 갱신할 수 있다.
본 발명의 일 실시예에 따르면 상기 경연서버모듈(1000.N)은 1 이상의 CB모듈(1100)을 포함할 수 있다. 만약 상기 경연서버모듈(1000.N)이 2 이상의 CB모듈(1100)을 포함하는 경우, 상기 CB모듈(1100) 각각은 서로 다른 취약점을 포함하는 바이너리가 저장되어, 경연참여자가 복수의 CB를 공격할 수 있다.
상기 경연서버관리데몬(1200)은 상기 평가/모니터링서버(2000)의 제어를 받아 상기 경연서버모듈(1000.N)을 제어한다.
상기 경연서버관리데몬(1200)은 상기 경연서버모듈(1000.N)의 CB모듈(1100)을 관리하고, 상기 평가/모니터링서버(2000)로부터 제어명령을 수신하여 상기 CB모듈의 CB 및 키를 관리한다.
본 발명의 일 실시예에 따르면 상기 경연서버관리데몬(1200)은 상기 평가/모니터링서버(2000)의 키 갱신명령에 따라 상기 CB모듈(1100)의 키저장부(1120)에 저장된 키를 갱신하고, CB 업데이트명령에 따라 상기 CB모듈(1100)의 CB를 업데이트한다.
또한, 본 발명의 일 실시예에 따르면 상기 경연서버관리데몬(1200)은 상기 평가/모니터링서버(2000)의 제어명령에 따라 상기 경연서버모듈(1000.N)로의 접근 및 상기 경연서버모듈(1000.N)의 연산을 일시적으로 정지시켜, 상기 경연서버모듈(1000.N)이 비정상동작 시 전체 네트워크로의 영향을 방지하고, 이상을 유발한 해당 경연서버모듈(1000.N)을 사용할 수 없도록 하는 페널티를 부여할 수 있다.
상기 경연서버모니터링데몬(1300)은 상기 경연서버모듈(1000.N)의 상태정보를 수집한다.
상기 경연서버모니터링데몬(1300)은 상기 경연서버모듈(1000.N)의 CPU, 메모리, 네트워크 등이 정상동작 하는지 확인하여 이상 발생 시 조치를 취할 수 있도록 한다. 또한, 상기 경연서버모니터링데몬(1300)은 상기 참여자단말기(100.N)가 상기 경연서버모듈(1000.N)에 접근하여 경연을 진행하는 상황을 모니터링 함으로써 경연의 관람객 등이 경연의 진행상황 등을 확인할 수 있도록 한다.
도 4는 본 발명의 일 실시예에 따른 해킹방어경연의 진행과정을 개략적으로 도시하는 도면이다.
도 4를 참조하면 본 발명의 일 실시예에 따른 해킹방어경연시스템을 이용한 해킹방어경연은 크게 취약점도출단계 및 타서버공격단계로 나눌 수 있다.
취약점도출단계에서는 우선 평가/모니터링서버(2000)가 각각의 경연서버모듈(1000)로 키를 전송하여 경연의 준비를 한다(S1010).
이후 경연참여자의 참여자단말기#1(100.1)은 자신에게 배정된 경연서버모듈#1(1000.1)로부터 취약점이 포함된 CB를 다운로드 한다(S1110).
상기 참여자단말기#1(100.1)은 다운로드 한 상기 CB를 분석하고(S1120), 상기 CB의 취약점을 공격할 수 있는 공격코드를 생성한다(S1130).
이 후, 상기 참여자단말기#1(100.1)은 자신에게 배정된 경연서버모듈#1(1000.1)로 상기 공격코드를 입력한다(S1140). 상기 공격코드를 입력 받은 상기 경연서버모듈#1(1000.1)은 상기 공격코드를 실행한다(S1150). 상기 공격코드는 상기 경연서버모듈#1(1000.1)의 CB의 취약점을 공격하게 되어, 상기 경연서버모듈#1(1000.1)이 저장하고 있는 키를 상기 참여자단말기#1(100.1)로 전송하게 된다(S1160).
상기 공격코드를 통해 키를 전송 받은 경우 상기 참여자단말기#1(100.1)는 상기 공격코드의 유효성 및 취약점의 존재가 확인되었으므로, 상기 취약점을 보완하여 상기 공격코드를 방어할 수 있는 패치CB를 생성한다(S1210).
바람직하게는 상기 참여자단말기#1(100.1)는 상기 경연참여자가 준비한 지능형 프로그램에 의하여 상기와 같이 CB를 다운로드 하고(S1110), CB를 분석하고(S1120), 그에 대한 공격코드를 생성하고(S1130), 공격코드를 입력하고(S1140), 패치CB를 생성하는 단계(S1210)를 자동으로 수행한다.
이후 상기 참여자단말기#1(100.1)는 상기 평가/모니터링서버(2000)로 생성한 상기 CB 및 상기 경연서버모듈#1(1000.1)로부터 전송 받은 키를 전송한다(S1220). 상기 평가/모니터링서버(2000)는 우선 전송 받은 상기 키를 검증한다(S1230). 본 발명의 일 실시예에 따르면 상기 평가/모니터링서버(2000)는 상기 S1010단계에서 전송한 키와 대조하는 방법으로 상기 키의 유효성을 검증할 수 있다. 상기 키의 유효성이 검증된 경우, 상기 평가/모니터링서버(2000)는 상기 패치CB(1240)의 유효성을 검증한다(S1240).
이 후, 상기 평가/모니터링서버(2000)는 상기 키의 유효성 및 패치CB의 유효성 검증 결과에 기초하여 평가점수를 도출하고, 상기 평가점수를 상기 참여자단말기#1(100.1)의 점수에 반영한다(S1250). 이와 같이 본 발명의 일 실시예에 따르면 상기 평가/모니터링서버(2000)가 평가점수를 도출하고 반영함으로써 자동으로 참여자단말기#1(100.1)를 평가하는 효과를 발휘할 수 있다.
이 후, 상기 평가/모니터링서버(2000)는 상기 패치CB를 상기 경연서버모듈#1(1000.1)로 전송하여 상기 경연서버모듈#1(1000.1)의 CB를 패치CB로 업데이트 한다(S1260). 이와 같이 상기 참여자단말기#1(100.1)가 생성한 패치CB를 상기 참여자단말기#1(100.1)에 배정된 경연서버모듈#1(1000.1)로 전송하여 업데이트 함으로써, 상기 참여자단말기#1(100.1)가 자신의 경연서버모듈#1(1000.1)을 방어할 수 있도록 한다.
타서버공격단계에서는, 상기 참여자단말기#1(100.1)는 상기 취약점도출단계에서 생성한 공격코드를 자신의 경연서버모듈#1(1000.1)이 아닌 타 참여자의 경연서버모듈#2(1000.2)로 입력한다(S2140).
상기 공격코드를 입력 받은 상기 경연서버모듈#2(1000.2)는, 상기 공격코드를 실행하고(S2150), 상기 공격코드가 공격하는 CB의 취약점에 대한 보완이 되지 않은 경우, 상기 공격코드에 의해 상기 참여자단말기#1(100.1)로 저장된 키를 전송한다(S2160).
상기 경연서버모듈#2(1000.2)로부터 키를 획득한 상기 참여자단말기#1(100.1)는 상기 평가/모니터링서버(2000)로 획득한 상기 키를 전송한다(S2220). 상기 평가/모니터링서버(2000)는 전송 받은 상기 키를 검증한다(S2230). 본 발명의 일 실시예에 따르면 상기 평가/모니터링서버(2000)는 상기 S1230 단계와 동일한 방법으로 상기 키의 유효성을 검증할 수 있다.
이 후, 상기 평가/모니터링서버(2000)는 상기 키의 유효성 검증 결과에 기초하여 평가점수를 도출하고, 상기 평가점수를 상기 참여자단말기#1(100.1)의 점수에 반영한다(S2250). 이와 같이 본 발명의 일 실시예에 따르면 상기 평가/모니터링서버(2000)가 평가점수를 도출하고 반영함으로써 자동으로 참여자단말기#1(100.1)를 평가하는 효과를 발휘할 수 있다.
도 5 내지 도 7은 본 발명의 일 실시예에 따른 해킹방어경연에서 복수의 참여자의 공격 및 방어 과정을 개략적으로 도시하는 도면이다.
도 5 내지 도 7은 본 발명의 일 실시예 중 경연참여자가 셋인 경우를 도시하고 있다.
도 5를 참조하면 참여자단말기#1(100.1)은 상기 CB를 분석하여 취약점을 공격할 수 있는 공격코드를 생성한 후, 자신의 경연서버모듈#1(1000.1)에 상기 공격코드를 입력하여 키를 전송 받는다.
상기 참여자단말기#1(100.1)은 자신의 경연서버모듈#1(1000.1) 뿐만 아니라 타 참여자의 경연서버모듈#2(1000.2) 및 경연서버모듈#3(1000.3)에도 상기 공격코드를 입력하여, 타 경연서버모듈의 키를 전송 받는다.
이와 같이 가장 먼저 공격코드를 생성하여 공격을 수행한 참여자단말기#1(100.1)은 세 경연서버모듈(1000) 모두로부터 키를 전송 받아 높은 점수를 획득할 수 있다.
상기 참여자단말기#1(100.1)는 이후 평가/모니터링서버(2000)로 상기 취약점을 보완한 패치CB를 전송하고, 상기 평가/모니터링서버(2000)는 해당 참여자단말기#1(100.1)에 상응하는 경연서버모듈#1(1000.1)의 CB모듈(1100.1)에 패치CB를 업데이트한다.
도 6을 참조하면 두 번째로 공격코드를 생성한 참여자단말기#2(100.2)는 자신의 경연서버모듈#2(1000.2) 뿐만 아니라 다른 경연서버모듈#1(1000.1) 및 경연서버모듈#3(1000.3) 모두에 공격코드를 입력하여 공격을 시도한다.
이 때 상기 경연서버모듈#2(1000.2) 및 경연서버모듈#3(1000.3)은 상기 취약점에 의해 상기 참여자단말기#2(100.2)로 키를 전송하지만, 상기 경연서버모듈#1(1000.1)은 참여자단말기#1(100.1)에 의해 작성된 취약점이 보완된 패치CB가 업데이트 되어 있기 때문에, 키를 전송하지 않는다.
따라서 상기 참여자단말기#2(100.2)는 두 경연서버모듈(1000)로부터만 키를 전송 받아 점수를 획득하게 된다.
이후 상기 참여자단말기#2(100.2) 역시 상기 평가/모니터링서버(2000)로 상기 취약점을 보완한 패치CB를 전송하고, 상기 평가/모니터링서버(2000)는 상기 경연서버모듈#2(1000.2)의 CB모듈(1100.2)에 패치CB를 업데이트한다.
마지막으로 공격코드를 생성한 참여자단말기#3(100.3) 역시 자신의 경연서버모듈#3(1000.3)을 포함하여 다른 경연서버모듈#1(1000.1) 및 경연서버모듈#2(1000.2)에 공격코드를 입력하여 공격을 시도한다.
하지만 상기 경연서버모듈#1(1000.1) 및 상기 경연서버모듈#2(1000.2)는 각각의 참여자단말기(100.1)(100.2)에 의해 취약점을 보완한 패치CB가 업데이트 되어 있어 상기 참여자단말기#3(100.3)에 키를 전송하지 않고, 상기 경연서버모듈#3(1000.3)만이 키를 전송하게 된다.
즉, 가장 늦게 공격코드를 생성한 참여자단말기#3(100.3)은 하나의 경연서버모듈(1000)로부터만 키를 전송 받아 낮은 점수를 획득하게 된다.
이와 같이 각각의 참여자단말기(100)는 CB의 취약점을 분석하여 상기 취약점을 공격하는 공격코드를 생성하여 공격하고, 상기 취약점을 보완한 패치CB를 생성하여 방어를 수행함으로써 경연을 진행하고, 이에 따라 차등적으로 점수를 획득하게 된다.
도 8은 본 발명의 일 실시예에 따른 평가/모니터링서버의 내부 구조를 개략적으로 도시하는 도면이다.
도 8을 참조하면 본 발명의 일 실시예에 따른 평가/모니터링서버(2000)는 관리부(2100), 평가부(2200), 모니터링부(2300) 및 관리자부(2400)를 포함할 수 있다.
상기 관리부(2100)는 상기 해킹방어경연서버(1000)에 대한 모니터링 및 관리를 수행한다. 이를 위해 상기 관리부(2100)는 키갱신관리모듈(2110), 경연서버관리모듈(2120) 및 CB관리모듈(2130)을 포함할 수 있다.
상기 키갱신관리모듈(2110)은 기설정된 주기마다 키를 갱신한다. 상기 키갱신관리모듈(2110)이 기설정된 주기마다 키를 갱신함으로써, 노출된 키가 향후 재사용되는 것을 방지하고, 저장된 키에 문제가 생긴 경우, 새로 키를 입력함으로써 문제를 해결할 수 있다. 이를 위해 상기 키갱신관리모듈(2110)은 상기 경연서버모듈(1000.N)의 경연서버관리데몬(1200)을 통해 CB모듈(1100)에 저장된 키를 갱신할 수 있다.
상기 경연서버관리모듈(2120)은 상기 경연서버모듈(1000.N)의 상태정보를 모니터링 하고 상기 경연서버모듈(1000.N)의 동작을 관리한다. 상기 경연서버관리모듈(2120)은 상기 경연서버모듈(1000.N)의 경연서버모니터링데몬(1300)이 수집한 정보를 통해 상기 경연서버모듈(1000.N)의 상태를 모니터링 하고, 상기 경연서버모듈(1000.N)의 경연서버관리데몬(1200)에 제어명령을 송신하여 관리한다.
이 때, 상기 경연서버관리모듈(2120)은 상기 경연서버모듈(1000)의 상태정보에 이상이 있는 경우, 이상을 유발하는 해당 경연서버모듈에 페널티 조치를 취할 수 있다.
상기 CB관리모듈(2130)은 상기 취약점이 포함된 바이너리에 대한 관리를 수행한다. 상기 CB관리모듈(2130)은 상기 경연서버모듈(1000.N)에 저장된 CB에 대한 관리를 수행한다. 이를 위해 상기 CB관리모듈(2130)은 상기 경연서버모듈(1000.N)의 경연서버관리데몬(1200)을 통해 CB모듈(1100)에 저장된 CB의 위/변조 여부를 검사하고, 참여자단말기(100.N)에서 생성한 패치CB를 업데이트 하여 상기 경연서버모듈(1000.N)의 CB에 문제가 발생하지 않도록 한다.
상기 평가부(2200)는 경연참여자가 공격을 수행하여 획득한 키 및 상기 경연참여자가 생성한 취약점을 보완할 수 있는 패치CB를 수신하고, 상기 경연참여자가 전송한 키 및 패치CB를 평가하여 점수를 부여한다. 이를 위해 상기 평가부(2200)는 키검증부(2210), 패치CB검증부(2220) 및 점수관리부(2230)를 포함할 수 있다.
상기 키검증부(2210)는 상기 경연참여자가 전송한 상기 키의 유효성을 검증한다. 상기 경연참여자의 참여자단말기(100.1)는 공격코드를 통해 획득한 키를 상기 평가부(2200)로 전송하고, 상기 키검증부(2210)는 상기 참여자단말기(100.1)가 전송한 상기 키가 상기 경연서버모듈(1000.N)로부터 획득한 키인지 여부를 확인한다. 이를 위해 본 발명의 일 실시예에서는 상기 키검증부(2210)는 상기 참여자단말기(100.1)로부터 전송 받은 키와 상기 관리부(2100)의 키갱신관리모듈(2110)의 키정보를 비교함으로써 상기 키의 유효성을 검증할 수 있다.
상기 패치CB검증부(2220)는 상기 경연참여자가 전송한 상기 패치CB의 유효성을 검증한다. 상기 패치CB검증부(2220)는 상기 경연참여자의 참여자단말기(100.1)가 경연서버모듈(1000.N)의 CB를 분석하여 취약점을 보완할 수 있도록 작성한 패치CB를 검증한다. 이와 같은 검증단계는 상기 패치CB를 분석하여 취약점의 보완 여부를 검사할 수도 있고, 혹은 가상머신에서 상기 패치CB를 구동하여 상기 패치CB의 동작을 점검할 수도 있다.
상기 점수관리부(2230)는 상기 키 및 상기 패치CB의 유효성 검증 여부에 기초하여 상기 경연참여자에게 점수를 부여한다. 상기 점수관리부(2230)는 상기 키검증부(2210) 및 상기 패치CB검증부(2220)의 유효성 검증 결과를 수신하고, 이에 기초하여 상기 키 및 상기 패치CB를 제출한 참여자단말기(100.N)의 점수를 도출하고, 이를 상기 경연참여자의 점수로 반영한다. 상기 점수관리부(2230)는 이를 위해 평가항목 별 점수부여기준을 내부의 메모리에 저장하거나, 혹은 외부로부터 로딩하여 상기 참여자단말기(100.N)의 점수를 도출할 수 있다.
상기 모니터링부(2300)는 경연의 진행상황을 모니터링 하여 표시한다. 이를 위해 상기 모니터링부(2300)는 전체현황모니터링부(2310) 및 개별현황모니터링부(2320)를 포함하고, 외부디스플레이모듈(5000)등과 연결되어 경연의 진행상황을 경연관람자 등에게 표시할 수 있다.
상기 전체현황모니터링부(2310)는 상기 점수관리부(2230)로부터 점수정보를 수신하여, 경연참여자들의 점수 현황을 모니터링 할 수 있다. 또한, 상기 CB관리모듈(2130)로부터 패치CB 업데이트 정보를 수신하여, 각 경연서버모듈(1000.N)의 패치CB 업데이트 현황을 모니터링 할 수 있다. 이와 같이 전체현황모니터링부(2310)의 모니터링 결과를 상기 외부디스플레이모듈(5000)을 통해 표시함으로써 경연의 관람객 등이 경연참여자의 순위 등을 확인할 수 있는 효과를 발휘할 수 있다.
상기 개별현황모니터링부(2320)는 상기 참여자단말기(100.N) 및 경연서버모듈(1000.N)의 네트워크 구성 및 패킷 흐름을 포함한 상태정보를 모니터링 할 수 있다. 이와 같이 상기 개별현황모니터링부(2320)의 모니터링 결과를 상기 외부디스플레이모듈(5000)을 통해 표시함으로써 경연의 관람객 등이 각 참여자단말기(100.N) 및 각 경연서버모듈(1000.N)의 상세한 경연 진행 상황을 확인할 수 있는 효과를 발휘할 수 있다.
상기 관리자부(2400)는 경연관리자가 경연을 관리할 수 있도록 한다. 이를 위해 상기 관리자부(2400)는 외부의 관리자단말기(4000) 등과 연결되어 정보를 교환할 수 있다.
상기 관리자부(2400)는 경연을 위한 해킹방어경연서버(1000)의 정책을 설정하고, 상기 해킹방어경연을 위한 정책을 설정할 수 있다. 상기 해킹방어경연서버(1000)의 정책은 상기 해킹방어경연서버의 경연서버모듈(1000.N)의 수, 각 경연서버모듈(1000.N)의 CB모듈(1100)의 수 등을 설정할 수 있다. 상기 해킹방어경연을 위한 정책은 CB 등록 및 점수관리, 페널티 관리 등을 설정할 수 있다.
본 발명의 일 실시예에 따르면 상기 평가/모니터링서버(2000)는 데이터베이스부(3000)와 연결될 수 있다. 상기 데이터베이스부(3000)는 경연 진행에 필요한 정보를 저장할 수 있다.
본 발명의 일 실시예에 따르면 상기 데이터베이스부(3000)는 경연의 진행에 필요한 CB, 키의 갱신이력, 참여자단말기(100.1)의 평가점수기록 등의 정보를 저장하여, 상기 평가/모니터링서버(2000)의 동작에 필요한 정보를 조회할 수 있도록 한다.
도 9은 본 발명의 일 실시예에 따른 키갱신관리모듈의 키갱신과정을 개략적으로 도시하는 도면이다.
도 9을 참조하면 본 발명의 일 실시예에 따른 키갱신관리모듈(2110)은 기설정된 주기마다 키를 갱신하여 상기 해킹방어경연서버(1000)로 갱신된 상기 키를 전송한다.
이 때, 상기 키갱신관리모듈(2110)은 상기 기설정된 주기마다 상기 해킹방어경연서버(1000)의 경연서버모듈(1000.N) 각각에 키를 전송한다. 전송하는 상기 키는 경연서버모듈(1000.N)각각에 따라 상이한 키를 전송하는 것이 바람직하다.
이와 같이 상기 기설정된 주기마다 상기 경연서버모듈(1000.N) 각각에 키를 갱신하여 전송함으로써, 경연참여자가 획득한 키를 재사용하거나, 혹은 상기 키가 노출된 경우에도 키를 갱신하여 이를 악용하는 것을 방지하도록 한다.
바람직하게는, 상기 키갱신관리모듈(2110)은 키를 갱신할 때 마다 상기 데이터베이스부(3000)에 키를 저장함으로써 상기 키의 갱신 목록을 작성한다. 이와 같이 키의 갱신 목록을 유지함으로써 상기 참여자단말기(100)가 키를 획득하여 평가/모니터링서버로 전송하였으나, 상기 평가/모니터링서버가 키를 전송 받기 전에 키가 갱신된 경우에도, 상기 키의 갱신 목록을 통해 상기 참여자단말기(100)가 획득한 키의 유효성을 검증할 수 있도록 한다.
도 10은 본 발명의 일 실시예에 따른 경연서버관리모듈의 경연서버관리과정을 개략적으로 도시하는 도면이다.
도 10을 참조하면 본 발명의 일 실시예에 따른 경연서버관리모듈(2120)은 기설정된 주기마다 상기 해킹방어경연서버(1000)의 경연서버모듈(1000.N)의 CB 및 키 파일의 정보를 포함한 상태정보를 모니터링하고, 상기 상태정보에 이상이 있는 경우, 해당 경연서버모듈에 페널티 조치를 취한다.
상기 경연서버관리모듈(2120)은 상기 경연서버모듈(1000.N)의 CB모듈(1100)에 저장된 CB 및 키를 모니터링 한다. 더욱 상세하게는 상기 경연서버관리모듈(2120)은 상기 CB모듈(1100)에 저장된 CB의 변경 또는 삭제, 프로세스 종료 등 경연에 문제를 야기할 수 있는 행위의 발생 여부의 모니터링 및/또는 해킹방어경연서버(1000)의 각 네트워크 인터페이스의 송수신 상태의 모니터링을 수행한다.
상기 경연서버관리모듈(2120)은 모니터링 결과 상기 경연서버모듈(1000.N) 및/또는 네트워크의 상태정보에 이상이 있는 경우, 상태를 원상복구 시킨다.
더욱 상세하게는 상기 경연서버모듈(1000.N)에서 CB의 변경 또는 삭제, 프로세스 종료 등의 문제가 발생한 경우 상기 경연서버모듈(1000.N)을 리셋 한다. 혹은 네트워크에 비정상적 트래픽을 유발하는 인터페이스가 발생하는 경우, 상기 인터페이스를 기설정된 시간 동안 사용불가 상태로 제어한다.
상기 경연서버관리모듈(2120)은 모니터링 결과 이상이 발생한 경우, 상기 이상을 유발하는 참여자단말기(100.N) 혹은 경연서버모듈(1000.N)에 페널티 조치를 취할 수 있다. 더욱 상세하게는 상기 경연서버관리모듈(2120)은 상기 경연서버모듈(1000.N)을 기설정된 시간 동안 사용불가 상태로 제어하거나, 상기 해당 경연서버모듈(1000.N)에 대한 경연참여자의 점수를 감점하거나, 혹은 두 조치를 모두 취할 수 있다.
이와 같이 경연에 문제를 야기할 수 있는 행위를 주기적인 모니터링을 통해 감시하고, 이에 대한 조치를 취하고, 문제를 유발하는 참여자의 점수를 감점하는 등의 대응을 통해 경연을 원활하게 진행할 수 있는 효과를 발휘할 수 있다.
도 11은 본 발명의 일 실시예에 있어서, 컴퓨팅 장치의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 11에 도시한 바와 같이, 컴퓨팅 장치(11000)은 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/O subsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅 장치(11000)은 사용자단말기 혹은 상담매칭서비스제공시스템에 해당될 수 있다.
메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅 장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.
이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.
주변장치 인터페이스(11300)는 컴퓨팅 장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅 장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
입/출력 서브시스템(11400)은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템(11400)은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템(11400)을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.
전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.
통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅 장치와 통신을 가능하게 할 수 있다.
또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅 장치와 통신을 가능하게 할 수도 있다.
이러한 도 11의 실시예는, 컴퓨팅 장치(11000)의 일례일 뿐이고, 컴퓨팅 장치(11000)는 도 11에 도시된 일부 컴포넌트가 생략되거나, 도 11에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅 장치는 도 11에도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(1160)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅 장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
본 발명의 일 실시예에 따르면 자동으로 취약점을 찾고 패치 하는 프로그램을 이용한 해킹 방어 경연을 수행할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 경연참여자가 공격 및 방어를 수행함에 있어서 이를 자동으로 평가하여 점수를 부여하는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 경연참여자가 부정적인 수법으로 비정상상황을 유도하는 경우 이를 모니터링 하고 상기 경연참여자에게 페널티 조치를 취할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 바이너리의 취약점을 공격하여 취득할 수 있는 키를 기설정된 주기마다 갱신하여 노출된 키가 향후 재사용되지 않도록 하는 효과를 발휘할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (11)
- 삭제
- 삭제
- 해킹방어경연을 수행하는 해킹방어경연시스템으로서,
경연을 위한 취약점이 포함된 바이너리(CB: Challenge Binary)를 포함하여 1 이상의 경연참여자가 자신의 단말기를 통하여 공격코드를 입력하여 공격할 수 있는 해킹방어경연서버; 및
상기 해킹방어경연서버 및 상기 경연참여자의 단말기로부터 경연의 진행에 필요한 정보를 수신하고, 상기 정보에 기초하여 제어를 수행하는 평가/모니터링서버; 를 포함하고,
상기 해킹방어경연서버는,
2 이상의 경연서버모듈을 포함하고,
상기 경연참여자의 단말기는 각각 상기 2 이상의 경연서버모듈 중 하나에 할당되고,
상기 경연서버모듈은 각각,
상기 취약점이 포함된 바이너리를 포함하는 CB모듈;
상기 평가/모니터링서버의 제어를 받아 상기 경연서버모듈을 제어하는 경연서버관리데몬; 및
상기 경연서버모듈의 상태정보를 수집하는 경연서버모니터링데몬; 을 포함하고,
상기 CB모듈은,
상기 취약점이 포함된 바이너리가 저장되어 실행되는 CB실행부; 및
상기 취약점이 포함된 바이너리에 의해 보안이 유지되는 키가 저장되는 키저장부; 를 포함하고,
상기 CB모듈은 접속한 참여자 단말기의 요청에 따라 상기 취약점이 포함된 바이너리를 전송하고, 상기 접속한 참여자 단말기로부터 수신한 공격코드가 취약점을 공격할 수 있는 코드에 해당하는 경우 상기 보안이 유지되는 키를 상기 접속한 참여자 단말기로 송신하는, 해킹방어경연시스템.
- 해킹방어경연을 수행하는 해킹방어경연시스템으로서,
경연을 위한 취약점이 포함된 바이너리(CB: Challenge Binary)를 포함하여 1 이상의 경연참여자가 자신의 단말기를 통하여 공격코드를 입력하여 공격할 수 있는 해킹방어경연서버; 및
상기 해킹방어경연서버 및 상기 경연참여자의 단말기로부터 경연의 진행에 필요한 정보를 수신하고, 상기 정보에 기초하여 제어를 수행하는 평가/모니터링서버; 를 포함하고,
상기 해킹방어경연서버는,
2 이상의 경연서버모듈을 포함하고,
상기 경연참여자의 단말기는 각각 상기 2 이상의 경연서버모듈 중 하나에 할당되고,
상기 경연서버모듈은 각각,
상기 취약점이 포함된 바이너리를 포함하는 CB모듈;
상기 평가/모니터링서버의 제어를 받아 상기 경연서버모듈을 제어하는 경연서버관리데몬; 및
상기 경연서버모듈의 상태정보를 수집하는 경연서버모니터링데몬; 을 포함하고,
상기 평가/모니터링서버는,
상기 해킹방어경연서버에 대한 모니터링 및 관리를 수행하는 관리부; 및
상기 경연참여자가 전송한 키 및 패치CB를 평가하여 점수를 부여하는 평가부; 를 포함하는, 해킹방어경연시스템.
- 청구항 4에 있어서,
상기 관리부는,
기설정된 주기마다 키를 갱신하는 키갱신관리모듈;
상기 경연서버모듈의 상태정보를 모니터링 하고 상기 경연서버모듈의 동작을 관리하는 경연서버관리모듈; 및
상기 CB모듈의 상기 취약점이 포함된 바이너리에 대한 관리를 수행하는 CB관리모듈; 을 포함하는, 해킹방어경연시스템.
- 청구항 5에 있어서,
상기 키갱신관리모듈은,
기설정된 주기마다 키를 갱신하여 상기 2 이상의 경연서버모듈로 각각으로 갱신된 상기 키를 전송하고,
상기 2 이상의 경연서버모듈로 전송된 상기 키는 서로 상이한, 해킹방어경연시스템.
- 청구항 5에 있어서,
상기 CB관리모듈은 상기 경연이 시작될 때, 상기 2 이상의 경연서버모듈로 동일한 1 이상의 상기 취약점이 포함된 바이너리를 송신하고,
상기 경연참여자의 단말기는 타인에게 할당된 경연서버모듈에도 공격코드를 전송하고 상기 공격코드가 유효한 경우, 상기 타인에게 할당된 경연서버모듈로부터 상기 키를 수신할 수 있는, 해킹방어경연시스템.
- 청구항 5에 있어서,
상기 경연서버관리모듈은,
기설정된 주기마다 상기 경연서버모듈의 CB 및 키 파일의 정보를 포함한 상태정보를 모니터링하고,
상기 상태정보에 이상이 있는 경우, 이상을 유발하는 해당 경연서버모듈에 페널티 조치를 취할 수 있는, 해킹방어경연시스템.
- 청구항 8에 있어서,
상기 페널티 조치는,
상기 해당 경연서버모듈을 기설정된 시간 동안 사용불가 상태로 제어하는 조치; 및
상기 해당 경연서버모듈에 대한 경연참여자의 점수를 감점하는 조치; 중 어느 하나 이상을 포함하는, 해킹방어경연시스템.
- 청구항 5에 있어서,
상기 평가부는,
상기 경연참여자가 전송한 상기 키의 유효성을 검증하는 키검증부;
상기 경연참여자가 전송한 상기 패치CB의 유효성을 검증하는 패치CB검증부; 및
상기 키 및 상기 패치CB의 유효성 검증 여부에 기초하여 상기 경연참여자에게 점수를 부여하는 점수관리부; 를 포함하는, 해킹방어경연시스템.
- 청구항 10에 있어서,
상기 CB관리모듈은 상기 경연이 시작될 때, 상기 2 이상의 경연서버모듈로 동일한 1 이상의 상기 취약점이 포함된 바이너리를 송신하고
상기 CB관리모듈은, 상기 키검증부에서 상기 경연참여자가 전송한 키의 유효성이 검증되고, 상기 경연참여자가 전송한 상기 패치CB의 유효성이 검증되는 경우에, 상기 경연참여자가 전송한 상기 패치CB로 상기 경연참여자의 단말기가 할당된 상기 경연서버모듈의 상기 패치CB에 상응하는 기저장된 상기 CB모듈을 전송한 상기 패치CB로 업데이트하고,
상기 경연참여자는 타인에게 할당된 경연서버모듈에도 공격코드를 전송하고 상기 공격코드가 유효한 경우, 상기 타인에게 할당된 경연서버모듈로부터 상기 키를 수신할 수 있는, 해킹방어경연시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170160352A KR101918546B1 (ko) | 2017-11-28 | 2017-11-28 | 해킹 방어 경연 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170160352A KR101918546B1 (ko) | 2017-11-28 | 2017-11-28 | 해킹 방어 경연 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101918546B1 true KR101918546B1 (ko) | 2018-11-14 |
Family
ID=64328230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170160352A KR101918546B1 (ko) | 2017-11-28 | 2017-11-28 | 해킹 방어 경연 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101918546B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200018947A (ko) * | 2018-08-13 | 2020-02-21 | 한국과학기술원 | 분산 버전 관리 시스템 기반 공격방어 형식의 해킹 플랫폼 제공 시스템 및 이를 이용한 해킹 대회 제공 방법 |
CN111209089A (zh) * | 2020-02-28 | 2020-05-29 | 杭州师范大学 | 一种基于Docker容器的CTF竞赛在线环境类题目安全部署方法 |
KR102384717B1 (ko) * | 2020-11-12 | 2022-04-11 | 한국과학기술원 | 오픈 커뮤니티 기반 해킹 플랫폼의 제공 방법 및 이를 이용하는 제공 시스템 |
CN116248411A (zh) * | 2023-03-21 | 2023-06-09 | 广西塔易信息技术有限公司 | 一种awd攻防平台 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014021959A (ja) * | 2012-07-18 | 2014-02-03 | We Are Engineering Kk | 情報セキュリティゲームシステム、情報セキュリティゲーム装置、及び情報セキュリティゲームプログラム |
-
2017
- 2017-11-28 KR KR1020170160352A patent/KR101918546B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014021959A (ja) * | 2012-07-18 | 2014-02-03 | We Are Engineering Kk | 情報セキュリティゲームシステム、情報セキュリティゲーム装置、及び情報セキュリティゲームプログラム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200018947A (ko) * | 2018-08-13 | 2020-02-21 | 한국과학기술원 | 분산 버전 관리 시스템 기반 공격방어 형식의 해킹 플랫폼 제공 시스템 및 이를 이용한 해킹 대회 제공 방법 |
KR102152989B1 (ko) | 2018-08-13 | 2020-09-07 | 한국과학기술원 | 분산 버전 관리 시스템 기반 공격방어 형식의 해킹 플랫폼 제공 시스템 및 이를 이용한 해킹 대회 제공 방법 |
CN111209089A (zh) * | 2020-02-28 | 2020-05-29 | 杭州师范大学 | 一种基于Docker容器的CTF竞赛在线环境类题目安全部署方法 |
CN111209089B (zh) * | 2020-02-28 | 2023-08-22 | 杭州师范大学 | 一种ctf竞赛在线环境类题目安全部署方法 |
KR102384717B1 (ko) * | 2020-11-12 | 2022-04-11 | 한국과학기술원 | 오픈 커뮤니티 기반 해킹 플랫폼의 제공 방법 및 이를 이용하는 제공 시스템 |
CN116248411A (zh) * | 2023-03-21 | 2023-06-09 | 广西塔易信息技术有限公司 | 一种awd攻防平台 |
CN116248411B (zh) * | 2023-03-21 | 2024-02-23 | 广西塔易信息技术有限公司 | 一种awd攻防平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101918546B1 (ko) | 해킹 방어 경연 시스템 | |
CN109918915B (zh) | 一种基于双体系结构可信计算平台的动态度量方法 | |
US20140157415A1 (en) | Information security analysis using game theory and simulation | |
US11599632B2 (en) | Method to prevent root level access attack and measurable SLA security and compliance platform | |
US20190156039A1 (en) | Determine Malware Using Firmware | |
US20120324557A1 (en) | System and method for remote integrity verification | |
US10867048B2 (en) | Dynamic security module server device and method of operating same | |
KR101918547B1 (ko) | 취약점 패치의 검증이 가능한 해킹 방어 경연 시스템 | |
US20140082732A1 (en) | System and Method for Bidirectional Trust Between Downloaded Applications and Mobile Devices Including a Secure Charger and Malware Scanner | |
CN104320389A (zh) | 一种基于云计算的融合身份保护系统及方法 | |
CN112528257A (zh) | 安全调试方法、装置、电子设备及存储介质 | |
CN110334522A (zh) | 启动度量的方法及装置 | |
CN109657448A (zh) | 一种获取Root权限的方法、装置、电子设备及存储介质 | |
KR102102932B1 (ko) | 취약점 패치의 최적화 평가가 이루어지는 해킹 방어 경연 시스템 | |
US20180337916A1 (en) | Device controller security system | |
CN112115483A (zh) | 对核电dcs工程师站进行保护的可信计算应用方法 | |
Inguva et al. | Source code review of the Hart InterCivic voting system | |
CN110311917A (zh) | 主机度量方法及装置 | |
KR102102936B1 (ko) | 참여자의 부정행위에 페널티를 부과할 수 있는 해킹 방어 경연 시스템 | |
US10580004B2 (en) | System and method of identifying new devices during a user's interaction with banking services | |
US10523688B1 (en) | Computing system attestation | |
CN111756746B (zh) | 一种网络攻防比赛动态Flag防作弊应用方法 | |
Genç et al. | A critical security analysis of the password-based authentication honeywords system under code-corruption attack | |
Gligor | Dancing with the adversary: a tale of wimps and giants | |
CN118503956B (zh) | 一种软件保护系统、方法、存储介质、设备及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |