KR102689032B1 - Cyber attack route recommendation method of electronic apparatus - Google Patents
Cyber attack route recommendation method of electronic apparatus Download PDFInfo
- Publication number
- KR102689032B1 KR102689032B1 KR1020220094930A KR20220094930A KR102689032B1 KR 102689032 B1 KR102689032 B1 KR 102689032B1 KR 1020220094930 A KR1020220094930 A KR 1020220094930A KR 20220094930 A KR20220094930 A KR 20220094930A KR 102689032 B1 KR102689032 B1 KR 102689032B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- attack
- edge
- vulnerability
- weight
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000000694 effects Effects 0.000 claims abstract description 36
- 230000015654 memory Effects 0.000 claims description 17
- 230000008602 contraction Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000007123 defense Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
도착 노드로의 접근 가능성, 작전 요소 및 개별 노드의 취약점을 기초로 시작 노드부터 도착 노드까지의 토폴로지를 생성하고, 토폴로지에 포함되는 노드의 노드 가중치를 계산하고, 토폴로지 및 요망 효과를 기초로 공격 그래프를 생성하고, 공격 그래프에 포함되는 엣지의 엣지 가중치를 계산하고, 노드 가중치 및 엣지 가중치를 기초로, 시작 노드부터 도착 노드까지의 적어도 하나의 최단 경로를 확인하는 전자 장치 및 그의 동작 방법을 제공한다.Create a topology from the start node to the destination node based on the accessibility to the destination node, operational elements, and vulnerabilities of individual nodes, calculate the node weights of nodes included in the topology, and create an attack graph based on the topology and desired effects. Provides an electronic device and method of operating the same that generate, calculate the edge weight of the edge included in the attack graph, and check at least one shortest path from the start node to the destination node based on the node weight and the edge weight. .
Description
본 개시는 전자 장치의 사이버 공격 경로 추천 방법에 관한 것이다.This disclosure relates to a method for recommending a cyber attack route for an electronic device.
최근 사이버 공격방어에서 방어 우선순위와 방어확률, 공격당할 확률 등을 분석하는 방법으로 공격 그래프 방법이 적용되고 있다. 공격 그래프는 공격 시나리오를 기반으로 보유한 자산과 장치들의 데이터를 분석하여 적절한 방어대응책을 마련하기 위한 방법으로 사용되고 있다. Recently, in cyber attack defense, the attack graph method has been applied as a method of analyzing defense priority, defense probability, and probability of being attacked. The attack graph is used as a method to prepare appropriate defense measures by analyzing data from assets and devices based on attack scenarios.
본 발명은 사이버 환경에서 최적의 공세적 대응 방책과 무기를 추천하고 결정하기 위해 적의 네트워크정보, 취약점 정보, 환경 정보를 기반으로 최적의 공격 그래프를 자동으로 생성하고 이를 통해 효과적인 공격 방법, 루트, 무기 등을 추천하기 위한 방법 및 장치이다. 본 발명의 기술은 노드간의 취약점간 전제조건을 기반으로 노드간 연결 가중치를 계산할 수 있는 방법을 이용하여 최적 공격 경로를 명확하게 분석할 수 있다. 요망효과에 따라 기밀성, 무결성, 가용성 값의 가중치가 변경되게 되는데 이를 반영할 수 있도록 공격 유형, 취약점의 전제조건에 따른 가중치를 포함하여 엣지 점수값을 계산할 수 있어 공격 목적 달성에 더 최적화된 공격 경로를 탐색하고 공격 방책을 수립할 수 있다. The present invention automatically generates an optimal attack graph based on the enemy's network information, vulnerability information, and environmental information in order to recommend and determine the optimal offensive response plan and weapon in a cyber environment, thereby creating effective attack methods, routes, weapons, etc. This is a method and device for recommending. The technology of the present invention can clearly analyze the optimal attack path by using a method that can calculate the connection weight between nodes based on preconditions between vulnerabilities between nodes. The weight of the confidentiality, integrity, and availability values changes depending on the desired effect. To reflect this, the edge score value can be calculated including the weight according to the attack type and vulnerability prerequisites, creating a more optimized attack path to achieve the attack purpose. You can explore and establish attack plans.
본 발명이 이루고자 하는 기술적 과제는 상기된 바와 같은 과제로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The technical problem to be achieved by the present invention is not limited to the problems described above, and other technical problems can be inferred from the following examples.
일 실시예에 따라, 전자 장치의 사이버 공격 경로 추천 방법에 있어서, 도착 노드로의 접근 가능성, 작전 요소 및 개별 노드의 취약점을 기초로 시작 노드부터 상기 도착 노드까지의 토폴로지를 생성하는 단계; 상기 토폴로지에 포함되는 노드의 노드 가중치를 계산하는 단계; 상기 토폴로지 및 요망 효과를 기초로 공격 그래프를 생성하고, 상기 공격 그래프에 포함되는 엣지의 엣지 가중치를 계산하는 단계; 및 상기 노드 가중치 및 상기 엣지 가중치를 기초로, 상기 시작 노드부터 상기 도착 노드까지의 적어도 하나의 최단 경로를 확인하는 단계를 포함할 수 있다.According to one embodiment, a method for recommending a cyber attack path for an electronic device includes: generating a topology from a starting node to the destination node based on accessibility to the destination node, operational elements, and vulnerabilities of individual nodes; calculating node weights of nodes included in the topology; generating an attack graph based on the topology and desired effects, and calculating edge weights of edges included in the attack graph; and confirming at least one shortest path from the start node to the destination node based on the node weight and the edge weight.
일 실시예에 따라, 사이버 공격 경로 추천을 위한 전자 장치로서, 도착 노드까지의 접근 가능성, 작전 요소 및 취약점을 기초로 시작 노드부터 도착 노드까지의 토폴로지를 생성하고, 상기 토폴로지에 포함되는 노드의 노드 가중치를 계산하고, 상기 토폴로지 및 요망 효과를 기초로 공격 그래프를 생성하고, 상기 공격 그래프에 포함되는 엣지의 엣지 가중치를 계산하고, 상기 노드 가중치 및 상기 엣지 가중치를 기초로, 시작 노드부터 도착 노드까지의 적어도 하나의 최단 경로를 확인하는 프로세서를 포함할 수 있다.According to one embodiment, an electronic device for cyber attack route recommendation, which generates a topology from a starting node to a destination node based on accessibility to the destination node, operational elements, and vulnerabilities, and nodes of nodes included in the topology. Calculate weights, create an attack graph based on the topology and desired effects, calculate edge weights of edges included in the attack graph, and based on the node weight and the edge weight, from the start node to the destination node. It may include a processor that checks at least one shortest path.
일 실시예에 따라, 컴퓨터로 읽을 수 있는 기록매체는 상술한 동작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 비일시적 기록매체를 포함할 수 있다. According to one embodiment, the computer-readable recording medium may include a non-transitory recording medium on which a program for executing the above-described operation method on a computer is recorded.
기타 실시예들의 구체적인 사항은 상세한 설명 및 도면들에 포함된다.Details of other embodiments are included in the detailed description and drawings.
본 발명에 따르면, 효과적으로 적의 정보를 분석하고, 최적화된 공격 경로를 자동으로 찾아낼 수 있어 지능화되고 자동화된 공세적 대응 방책 및 무기를 추천 받고 의사결정권자의 결정을 지원할 수 있다. According to the present invention, it is possible to effectively analyze enemy information and automatically find an optimized attack path, so that intelligent and automated offensive response measures and weapons can be recommended and decision makers can be supported in their decisions.
또한 본 발명에 따르면, 접근 가능성과 무기 보유 여부에 따라 효율적으로 최적의 공격 그래프를 생성할 수 있어 효율적인 공세적 방책을 결정할 수 있다. In addition, according to the present invention, an optimal attack graph can be efficiently generated depending on accessibility and weapon possession, and an efficient offensive strategy can be determined.
또한 본 발명에 따르면, 지휘관의 요망 효과를 기반으로 공격 그래프의 노드 또는 엣지의 값들을 산출할 수 있도록 설계되어 있어 요망 효과에 가장 적합한 공격 그래프를 생성하므로 효과적인 공세적 방책을 수립할 수 있다.In addition, according to the present invention, it is designed to calculate the values of nodes or edges of the attack graph based on the commander's desired effect, thereby generating an attack graph that is most suitable for the desired effect, so that effective offensive measures can be established.
발명의 효과는 이상에서 언급한 효과만으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있다.The effect of the invention is not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the claims.
도 1 은 본 개시에 따른 전자 장치를 나타낸다.
도 2 는 본 개시에 따른 방법의 개념도를 나타낸다.
도 3 은 본 개시에 따른 공격그래프 자동생성부의 일 실시예를 나타낸다.
도 4 는 본 개시에 따른 방법의 일 실시예를 나타낸다.
도 5 는 본 개시에 따른 네트워크 토폴로지의 일 실시예를 나타낸다.
도 6 은 본 개시에 따른 공격 그래프의 일 실시예를 나타낸다.
도 7 은 본 개시에 따른 공격 그래프의 일 실시예를 나타낸다. 1 shows an electronic device according to the present disclosure.
Figure 2 shows a conceptual diagram of a method according to the present disclosure.
Figure 3 shows an example of an automatic attack graph generation unit according to the present disclosure.
Figure 4 shows one embodiment of a method according to the present disclosure.
Figure 5 shows one embodiment of a network topology according to the present disclosure.
Figure 6 shows an example of an attack graph according to the present disclosure.
7 shows an example of an attack graph according to the present disclosure.
본 개시에 기술된 실시예는 본 개시를 제한하는 것이 아니라 예시하는 것이고, 통상의 기술자는 첨부된 청구범위에 의해 정의된 본 개시의 범주를 벗어나지 않으면서, 다수의 대안적인 실시예를 설계할 수 있다. 실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The embodiments described in this disclosure are illustrative rather than limiting, and those skilled in the art may design many alternative embodiments without departing from the scope of the disclosure as defined by the appended claims. there is. The terms used in the embodiments are general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but this may vary depending on the intention or precedent of a person working in the art, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the relevant description. Therefore, the terms used in this disclosure should be defined based on the meaning of the term and the overall content of this disclosure, rather than simply the name of the term.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 반대되는 기재가 존재하지 않는 한, 단수는 물론 복수를 모두 포함한다. As used herein, the singular expressions singular and plural include both the singular and the plural, unless the context clearly states otherwise.
본 명세서 전체에서 어떤 부분이 어떤 구성요소들 또는 어떤 단계들을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 어떤 부분이 구성요소들 또는 단계들을 반드시 모두 포함해야 하는 것은 아니고, 청구범위 또는 명세서 전체에 열거된 것 이외의 구성요소 또는 단계가 포함되는 것을 배제하는 것도 아니며, 단지 이들을 더 포함할 수 있음을 의미한다. Throughout the specification, when a part is said to “include” certain elements or certain steps, this does not necessarily mean that any part must include all of the elements or steps, unless specifically stated to the contrary, and is not included in the claims. Additionally, it does not exclude the inclusion of components or steps other than those listed throughout the specification, but only means that they may be further included.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 서수를 포함하는 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 문맥상 명세서의 일 부분에서 일 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 명세서의 다른 부분에서 제2 구성요소로 명명될 수 있고, 반대로 제2 구성요소도 명세서의 다른 부분에서 제1 구성요소로 명명될 수 있다.Additionally, terms containing ordinal numbers, such as first, second, etc., used in this specification may be used to describe various components, but the components should not be limited by terms containing the ordinal numbers. The above terms are used in context only to distinguish one element from another element in one part of the specification. For example, without departing from the scope of the present invention, a first element may be referred to as a second element in other parts of the specification, and conversely, the second element may also be referred to as a first element in other parts of the specification. It can be.
본 명세서에서 "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.In this specification, terms such as “mechanism,” “element,” “means,” and “configuration” may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of software routines in connection with a processor, etc.
본 명세서(특히 청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 재배열되어 행해질 수 있고, 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 통상의 기술자는 본 명세서에 개시된 실시예에 설계 조건 및 팩터에 따라 다양한 수정, 조합 및 변경을 부가하여 특허청구범위 또는 그 균등물의 범주에 속하는 새로운 실시예를 구성할 수 있다.In this specification (particularly in the claims), the use of the term “above” and similar referential terms may refer to both the singular and the plural. In addition, when a range is described, it includes individual values within the range (unless there is a statement to the contrary), which is the same as describing each individual value constituting the range in the detailed description. Lastly, unless the order of the steps constituting the method is clearly stated or stated to the contrary, the steps may be rearranged and performed in an appropriate order, and are not necessarily limited to the order of description of the steps. The use of any examples or illustrative terms (e.g., etc.) is merely for illustrating the technical idea in detail, and the scope is not limited by the examples or illustrative terms unless limited by the claims. A person skilled in the art can add various modifications, combinations, and changes to the embodiments disclosed in this specification according to design conditions and factors to construct new embodiments that fall within the scope of the patent claims or their equivalents.
본 개시에서 "토폴로지"는 "네트워크 토폴로지"를 의미할 수 있으며, 컴퓨터 네트워크의 요소들(링크, 노드 등)을 물리적으로 연결해 놓은 것, 또는 그 연결 방식을 지칭할 수 있다. In the present disclosure, “topology” may mean “network topology” and may refer to the physical connection of elements (links, nodes, etc.) of a computer network, or the connection method.
본 개시에서 "요망 효과"는 본 개시에 따른 방법의 사용자가 적군, 목표 노드 또는 목표 네트워크에서 발생시키고자 하는 부정적인 효과를 의미할 수 있다. 예를 들어, 요망 효과는 "약화(Degrade)", "와해(Denial)", "파괴(Destroy)", "기만(Deceive)", "위조(Disrupt)" 또는 "변조(Manipulate)" 등을 포함할 수 있다.In the present disclosure, “desired effect” may mean a negative effect that a user of the method according to the present disclosure wishes to generate in an adversary, a target node, or a target network. For example, the desired effect could be "Degrade", "Denial", "Destroy", "Deceive", "Disrupt", or "Manipulate". It can be included.
이하에서는 도면을 참조하여 본 개시의 실시예를 설명한다.Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
도 1 은 본 개시의 적어도 하나의 실시예를 실행하는데 사용될 수 있는 전자 장치(100)의 예시적이고 단순화된 블록도를 나타낸다. 다양한 실시예에서, 전자 장치(100)는 본 개시에서 서술된 임의의 시스템 또는 방법을 구현하는데 사용될 수 있다. 예를 들어, 전자 장치(100)는 데이터 서버, 웹 서버, 휴대용 컴퓨팅 디바이스, 개인용 컴퓨터, 태블릿 컴퓨터, 워크스테이션, 휴대폰, 스마트 폰(smart phone) 또는 아래에서 서술되는 임의의 다른 디바이스를 포함하는 임의의 전자 장치로서 사용되도록 구성될 수 있다.1 illustrates an example, simplified block diagram of an
전자 장치(100)는 메모리(120) 및 메모리(120)와 통신하도록 구성될 수 있는 하나 이상의 캐시 메모리 및 메모리 제어기를 갖는 하나 이상의 프로세서(110)를 포함할 수 있다. 추가적으로, 전자 장치(100)는 하나 이상의 포트(예컨대, USB(Universal Serial Bus), 헤드폰 잭, 라이트닝(Lightning) 커넥터, 썬더볼트(Thunderbolt) 커넥터 등)를 통해 전자 장치(100)에 연결될 수 있는 다른 디바이스를 포함할 수 있다. 전자 장치(100)에 연결될 수 있는 디바이스는 광섬유 커넥터를 수용하도록 구성되는 복수의 포트를 포함할 수 있다. 도시된 전자 장치(100)의 구성은 디바이스의 바람직한 실시예를 예시할 목적으로 특정 예시로서만 의도된다. 도시된 전자 장치(100)에는 본 실시예들과 관련된 구성요소들만이 도시되어 있다. 따라서, 전자 장치(100)에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다.
프로세서(110)는 전자 장치(100)가 본 개시에서 서술된 임의의 실시예의 단계 또는 기능을 제공하도록 하기 위해 이용될 수 있다. 예를 들어, 프로세서(110)는 전자 장치(100) 내의 메모리(120)에 저장된 프로그램들을 실행함으로써, 전자 장치(100)를 전반적으로 제어한다. 프로세서(110)는 전자 장치(100) 내에 구비된 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.
메모리(120)는 전자 장치(100) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 메모리(120)는 전자 장치(100)에서 프로세서(110)를 통해 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 또한, 메모리(120)는 본 개시의 적어도 하나의 실시예의 기능을 제공할 수 있는 기본 프로그래밍 및 데이터 구조를 저장하는 것은 물론, 본 개시의 실시예의 기능을 제공할 수 있는 애플리케이션들(프로그램, 코드 모듈, 명령어), 드라이버들 등을 저장할 수 있다. 메모리(120)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다. The
본 개시에 따른 방법 및 각 단계는 전자 장치(100) 또는 프로세서(110)가 수행할 수 있지만, 설명을 간단히 하기 위하여 아래부터는 프로세서(110)가 본 개시에 따른 방법 및 각 단계의 수행 주체임을 전제하여 설명한다.The method and each step according to the present disclosure can be performed by the
도 2 는 본 개시에 따른 방법의 개념도를 나타낸다. 일 실시예에서, 프로세서(110)는 도착 노드로의 접근 가능성, 작전 요소 및 개별 노드의 취약점을 기초로 시작 노드부터 도착 노드까지의 토폴로지를 생성하고, 토폴로지에 포함되는 노드의 노드 가중치를 계산하고, 토폴로지 및 요망 효과를 기초로 공격 그래프를 생성하고, 공격 그래프에 포함되는 엣지의 엣지 가중치를 계산하고, 노드 가중치 및 엣지 가중치를 기초로, 시작 노드부터 도착 노드까지의 적어도 하나의 최단 경로를 확인할 수 있다. Figure 2 shows a conceptual diagram of a method according to the present disclosure. In one embodiment,
도 2 에 나타난 정보수집부(220), 공격 그래프 자동 생성부(230), 공격 그래프 분석부(250), 공세적 방책 추천부(251), 무기추천부(252) 및 공격경로추천부(253)는 전자 장치(100) 또는 프로세서(110)에 포함될 수 있다. The
토폴로지 또는 접근가능경로기반 토폴로지(210)는 시작 노드로부터 도착 노드로까지 접근 또는 도달할 수 있는 하나 이상의 경로를 포함할 수 있다. 토폴로지 또는 접근가능경로기반 토폴로지(210)의 구체적인 실시예에 대해서는 이후 도 5 와 관련하여 설명한다.The topology or reachable path-based
일 실시예에서, 정보수집부(220)는 작전 요소, 무기정보 및 입력정보 등의 정보를 수집할 수 있다. In one embodiment, the
표 1은 정보수집부(220)가 수집할 수 있는 정보를 나타낸다. 정보수집부(220)는 사용자 또는 다른 전자 장치로부터 입력정보를 입력 받을 수 있다. 정보식별_ID는 입력정보의 식별자를 포함할 수 있다. 요망효과정보는 요망효과에 대한 정보를 포함할 수 있다. 무기정보는 사용자 또는 아군이 적군 또는 적군 네트워크를 공격하기 위해 활용할 수 있는 무기를 포함할 수 있다. 작전요소정보는 아군이 적군 또는 적군 네트워크를 공격하기 위해 활용할 수 있는 무기, 공격팀, 지원무기, 지원팀 등의 자원을 포함할 수 있다. 사용자입력정보는 사용자가 입력할 수 있는 추가 정보를 포함할 수 있다. 취약점 간 전제조건은 네트워크 취약점 간의 전제조건을 포함할 수 있다. 예를 들어, 취약점 A를 이용한 공격을 위해 취약점 B를 먼저 이용하여 공격해야 할 수 있다. 이러한 경우, 취약점 B가 취약점 A의 전제조건일 수 있다.Table 1 shows information that the
정보수집부(220)는 입력정보 이외에도 다른 장치, 네트워크 또는 데이터베이스로부터 수집정보를 수집할 수 있다. 수집정보식별_ID는 수집정보의 식별자를 의미할 수 있다. 네트워크 정보는 적군 네트워크에 관한 정보를 포함할 수 있다. 네트워크접근위치 정보는 적군 네트워크로 접근할 수 있는 노드 또는 적군 네트워크에 포함되는 하나 이상의 노드 및 그 연결관계를 포함할 수 있다. CVSS_SCORE 정보는 CVSS(Common Vulnerability Scoring System)에서 정의하는 하나 이상의 취약점에 대한 점수를 포함할 수 있다. 취약점정보는 적군, 목표 노드, 또는 시작 노드로부터 목표 노드로의 경로에 포함되는 하나 이상의 노드에 대한 취약점에 관한 정보를 포함할 수 있다. 자산정보는 적군 네트워크에 포함되는 노드에 대한 정보를 포함할 수 있다. 접근가능성정보는 적군 네트워크에 포함되는 하나 이상의 노드로부터 다른 노드로 접근 가능한지에 관한 정보 또는 연결관계를 포함할 수 있다. 공격유형정보는 취약점에 대한 공격유형에 관한 정보를 포함할 수 있다.The
공격 그래프 자동 생성부(230)는 접근가능경로기반 토폴로지(210) 및 정보수집부(220)가 수집한 정보를 기초로 공격 그래프 또는 최적 공격 그래프 모델(240)을 생성할 수 있다. 공격 그래프 또는 최적 공격 그래프 모델(240)은 시작 노드로부터 도착 노드까지의 하나 이상의 경로 및 각 경로에 포함되는 경유지 노드를 포함할 수 있다. 공격 그래프 또는 최적 공격 그래프 모델(240)에 포함되는 개별 노드에는 노드 가중치 또는 노드 랭크(nodeRank)가 부여될 수 있다. 공격 그래프 또는 최적 공격 그래프 모델(240)에 포함되는 개별 엣지에는 엣지 가중치가 부여될 수 있다. 특히, 엣지 가중치는 요망 효과에 기초하여 부여될 수 있다. 노드 가중치 또는 엣지 가중치를 부여하는 방법에 관하여는 이후에 자세히 설명한다.The automatic attack
공격 그래프 분석부(250)는 공격 그래프 또는 최적 공격 그래프 모델(240)에서 적어도 하나의 최단 경로를 확인할 수 있다. 공격 그래프 분석부(250)는 공세적방책추천부(251), 무기추천부(252) 및 공격경로추천부(253)를 포함할 수 있다. 공격경로추천부(253)는 시작 노드로부터 도착 노드에 도달할 수 있는 최적 또는 최단 경로를 추천할 수 있다. 공세적방책추천부(251) 및 무기추천부(252)는 공격경로추천부(253)에 따른 공격을 실행하기 위해 필요한 작전요소 및 무기 등을 추천할 수 있다.The attack
도 3 은 본 개시에 따른 공격 그래프 자동 생성부(350)이 공격 그래프를 생성하기 위해 필요한 요소들을 나타낸다. 공격 그래프 자동 생성부(350)는 전자 장치(100) 또는 프로세서(110)에 포함될 수 있다. 공격 그래프 자동 생성부(350)는 요망 효과(310), 무기 정보(320), 수집정보(330) 및 접근 가능한 네트워크 토폴로지 정보(340)를 기초로, 공격 그래프를 생성할 수 있다. 즉, 프로세서(110)는 토폴로지에 포함되는 노드의 노드 가중치를 계산하고, 토폴로지 및 요망 효과를 기초로 공격 그래프를 생성하고, 공격 그래프에 포함되는 엣지의 엣지 가중치를 계산할 수 있다. Figure 3 shows the elements necessary for the automatic attack
공격 그래프에 포함되는 각 엣지의 엣지 가중치(edge_score)는 다음 수학식을 이용하여 계산될 수 있다.The edge weight (edge_score) of each edge included in the attack graph can be calculated using the following equation.
위 수학식에서, AL은 접근 위치(Access Location) 지표, AT는 공격 유형(Attack Type) 지표를 의미한다. CIA는 CIA(Confidentiality, Integrity and Availability) 지표를 의미한다. CCI는 취약점 연관성(CVE Correlation Index) 지표를 나타낸다. CVE는 공통 취약점 및 익스포저(Common Vulnerabilities and Exposure)를 의미한다. w1 내지 w4는 각 지표에 대한 가중치를 의미하여, 각 가중치는 필요에 따라 사용자가 미리 설정할 수 있다.In the above equation, AL refers to the Access Location indicator and AT refers to the Attack Type indicator. CIA stands for CIA (Confidentiality, Integrity and Availability) indicator. CCI stands for vulnerability correlation index (CVE Correlation Index). CVE stands for Common Vulnerabilities and Exposure. w1 to w4 mean weights for each indicator, and each weight can be set in advance by the user as needed.
일 실시예에서, 프로세서(110)는 엣지의 양 끝 노드 각각의 CVSS(Common Vulnerability Scoring System) 공격 벡터(Attack Vector)를 기초로 엣지 가중치를 확인할 수 있다. 구체적으로, 프로세서(110)는 엣지의 양 끝 노드 각각의 CVSS(Common Vulnerability Scoring System) 공격 벡터(Attack Vector)를 기초로 접근 위치 지표(AL)을 계산할 수 있다.In one embodiment, the
접근 위치 지표는 다음 수학식을 이용하여 계산될 수 있다.The approach location indicator can be calculated using the following equation.
위 수학식에서, NodeiALweight 및 NodejALweight은 각각 노드 i의 접근 위치 가중치 및 노드 j의 접근 위치 가중치를 의미한다. 접근 위치 가중치는 각 노드를 접근할 수 있는 방법에 따라 정의될 수 있다. 접근 위치 가중치는 CVSS의 공격 벡터(Attack Vector) 가중치를 기초로 다음 표 2를 이용하여 정의될 수 있다.In the above equation, Node i ALweight and Node j ALweight mean the access position weight of node i and the access position weight of node j, respectively. The access location weight can be defined according to the method by which each node can be accessed. The access location weight can be defined using the following Table 2 based on the attack vector weight of CVSS.
표 2 는 CVSS 버전에 따라, CVSS에 정의된 공격 벡터 가중치를 나타낸다. CVSS 3.0 이상의 버전을 이용한다고 가정하였을때, 예를 들어, 노드 i가 외부 네트워크를 통해 접근 가능하다면, NodeiALweight은 0.85일 수 있다. 다른 예를 들어, 노드 i가 인접한 외부 네트워크에서만 접근 가능하다면, NodeiALweight은 0.62일 수 있다. 다른 예를 들어, 노드 i가 로컬 네트워크 또는 내부 네트워크 에서만 접근 가능하다면, NodeiALweight은 0.55일 수 있다. 다른 예를 들어, 노드 i가 물리적 방법으로만 접근 가능하다면, NodeiALweight은 0.20일 수 있다.Table 2 shows the attack vector weights defined in CVSS, depending on the CVSS version. Assuming that CVSS 3.0 or higher is used, for example, if node i is accessible through an external network, Node i ALweight may be 0.85. For another example, if node i is accessible only from a nearby external network, Node i ALweight may be 0.62. For another example, if node i is accessible only from the local network or internal network, the Node i ALweight may be 0.55. For another example, if node i is only accessible by physical means, Node i ALweight may be 0.20.
따라서 예를 들어, 노드 i가 인접 네트워크에서만 접근 가능하고, 노드 j는 로컬 네트워크에서만 접근 가능하다면, 이 경우의 접근 위치 가중치는 0.62 * 0.55 = 0.341이 될 수 있다.Therefore, for example, if node i is accessible only from the adjacent network and node j is accessible only from the local network, the access location weight in this case can be 0.62 * 0.55 = 0.341.
일 실시예에서, 프로세서(110)는 엣지의 양 끝 노드에 관한 적어도 하나의 공격 유형의 발생 확률을 기초로 엣지 가중치를 확인할 수 있다. 구체적으로, 프로세서(110)는 엣지의 양 끝 노드에 관한 적어도 하나의 공격 유형의 발생 확률을 기초로 공격 유형 지표(AT)를 계산할 수 있다. In one embodiment, the
공격 유형은 사이버 자산에 대한 취약점을 공격 방법에 따라 분류한 것일 수 있다. 공격 유형은 다음의 유형으로 분류될 수 있으나, 필요에 따라 다른 분류 방법이 사용될 수도 있다. 예를 들어, 공격 유형에는 DoS(Denial of Service), 코드 실행(Code Execution), 오버플로우(Overflow), 메모리 커럽션(Memory Corruption), XSS(Cross Site Scripting), 디렉토리 순회(Directory Traversal), HTTP 응답 스플리팅(HTTP response Splitting), 우회(Bypass Something), 권한 획득(Gain Privileges), CSRF(Cross Site Request Forgery), 파일 삽입(File Inclusion) 등이 포함될 수 있다.The attack type may be a classification of vulnerabilities to cyber assets according to the attack method. Attack types can be classified into the following types, but other classification methods may be used as needed. For example, attack types include Denial of Service (DoS), Code Execution, Overflow, Memory Corruption, Cross Site Scripting (XSS), Directory Traversal, and HTTP. This may include HTTP response Splitting, Bypass Something, Gain Privileges, Cross Site Request Forgery (CSRF), File Inclusion, etc.
공격 유형 지표는 다음 수학식을 이용하여 계산될 수 있다. The attack type indicator can be calculated using the following equation:
위 수학식에서, numberofattacki는 공격 유형 i에 해당하는 취약점들에 대한 공격이 발생한 횟수를 의미하고, 는 전체 공격 횟수를 의미한다. 공격 유형 별 취약점들에 대해 발생한 공격 횟수는 다음 표 3과 같이 공개된 자료를 이용하여 수집될 수 있다.In the above equation, numberofattack i means the number of attacks on vulnerabilities corresponding to attack type i, means the total number of attacks. The number of attacks that occurred for vulnerabilities by attack type can be collected using publicly available data as shown in Table 3 below.
예를 들어, DoS 공격 유형에 대한 공격 유형 지표는, DoS 공격 유형의 발생 횟수인 1,836을 위 표에 나타난 모든 공격 횟수의 총합인 14,318로 나눈 0.1287일 수 있다.For example, the attack type indicator for the DoS attack type may be 0.1287, which is divided by 1,836, the number of occurrences of the DoS attack type, by 14,318, the total number of attacks shown in the table above.
일 실시예에서, 프로세서(110)는 엣지의 양 끝 노드 중 제1 노드의 취약점이 엣지의 양 끝 노드 중 제2 노드의 취약점의 전제조건인지 여부를 기초로 엣지 가중치를 확인할 수 있다. 구체적으로, 프로세서(110)는 엣지의 양 끝 노드 중 제1 노드의 취약점이 엣지의 양 끝 노드 중 제2 노드의 취약점의 전제조건인지 여부를 기초로 취약점 연관성 지표(CCI)를 확인할 수 있다.In one embodiment, the
취약점 연관성 지표는 다음 수학식을 이용하여 확인될 수 있다. The vulnerability correlation indicator can be confirmed using the following equation.
위 수학식에서, ci,j = c(vi,vj)이고, vi, vj 는 각각 노드 i 및 노드 j의 취약점을 의미한다. c(vi,vj)는 노드 i의 취약점 vi가 노드 j의 취약점 vj의 전제조건인지 여부에 따라 미리 설정될 수 있다. 예를 들어, c(vi,vj)는 다음 표에 따라 설정될 수 있다. In the above equation, c i,j = c(v i ,v j ), and v i and v j mean the vulnerabilities of node i and node j, respectively. c(v i ,v j ) can be set in advance depending on whether node i's vulnerability v i is a prerequisite for node j's vulnerability v j . For example, c(v i ,v j ) can be set according to the following table.
예를 들어, 노드 i의 취약점 vi가 노드 j의 취약점 vj의 전제조건이지만, 노드 j의 취약점 vj가 노드 i의 취약점 vi의 전제조건은 아닌 경우, c(vi,vj) = 3 이 될 수 있다.For example, if node i's vulnerability v i is a prerequisite for node j's vulnerability v j , but node j's vulnerability v j is not a prerequisite for node i's vulnerability v i , c(v i ,v j ) = It can be 3.
노드 i의 취약점 vi가 노드 j의 취약점 vj의 전제조건인지는 미리 분석될 수 있으며, 전제조건 여부를 결정할 때는 취약점 번호, 유형, 서비스, 연결 방식, 사전 권한, 사후 권한 여부 또는 CVSS의 가능성 데이터가 고려될 수 있다.Whether node i's vulnerability v i is a prerequisite for node j's vulnerability v j can be analyzed in advance, and when determining whether it is a prerequisite, the vulnerability number, type, service, connection method, pre-authorization, post-authorization, or possibility of CVSS are considered. data can be taken into account.
일 실시예에서, 프로세서(110)는 요망 효과에 관한 적어도 하나의 공격 유형에 해당하는 적어도 하나의 취약점의 기밀성 영향(Confidentiality Impact), 무결성 영향(Integrity Impact) 및 가용성 영향(Availability Impact)을 기초로 엣지 가중치를 확인할 수 있다. 구체적으로, 프로세서(110)는 요망 효과에 관한 적어도 하나의 공격 유형에 해당하는 적어도 하나의 취약점의 기밀성 영향(Confidentiality Impact), 무결성 영향(Integrity Impact) 및 가용성 영향(Availability Impact)을 기초로 CIA 지표(CIA)를 확인할 수 있다. In one embodiment,
CIA 지표는 다음 수학식을 이용하여 확인할 수 있다.The CIA indicator can be checked using the following equation.
위 수학식에서, CVSSconfidentiality, CVSSintegrity 및 CVSSavailability는 각각 CVSS에 정의된 기밀성 영향(Confidentiality Impact), 무결성 영향(Integrity Impact) 및 가용성 영향(Availability Impact)을 의미한다. 또한, REconfidentiality, REintegrity 및 REavailability는 기밀성, 무결성 및 가용성 영향에 대한 가중치를 의미한다. In the above equation, CVSS confidentiality , CVSS integrity , and CVSS availability mean Confidentiality Impact, Integrity Impact, and Availability Impact defined in CVSS, respectively. Additionally, RE confidentiality , RE integrity , and RE availability mean weights for confidentiality, integrity, and availability impacts.
기밀성, 무결성 및 가용성 영향은 각 영향의 크기에 따라 CVSS의 버전 별로 다음 표에 따라 설정될 수 있다. Confidentiality, integrity, and availability impacts can be set according to the following table for each version of CVSS, depending on the magnitude of each impact.
예를 들어, CVSS 3.0 이상의 버전을 사용하는 경우, 특정한 취약점의 기밀성 영향이 높은 경우, 해당 취약점의 CVSSconfidentiality는 0.56일 수 있다.For example, when using CVSS 3.0 or higher, if the confidentiality impact of a particular vulnerability is high, the CVSS confidentiality of that vulnerability may be 0.56.
일 실시예에서, 프로세서(110)는 요망 효과에 관한 적어도 하나의 공격 유형 각각에 해당하는 적어도 하나의 취약점의 기밀성 영향의 평균, 무결성 영향의 평균 및 가용성 영향의 평균을 기초로 엣지 가중치를 확인할 수 있다. 구체적으로, 프로세서(110)는 요망 효과에 관한 적어도 하나의 공격 유형 각각에 해당하는 적어도 하나의 취약점의 기밀성 영향의 평균, 무결성 영향의 평균 및 가용성 영향의 평균을 기초로 기밀성, 무결성 및 가용성 영향에 대한 가중치인 REconfidentiality, REintegrity 및 REavailability를 계산할 수 있다.In one embodiment,
기밀성 영향에 대한 가중치(REconfidentiality)는 아래 수학식을 이용하여 계산될 수 있다. The weight for confidentiality impact (RE confidentiality ) can be calculated using the equation below.
위 수학식에서, ACI(ATi)는 특정한 요망 효과에 연관된 n개의 공격 유형(Attack Type) 중 i번째 공격 유형에 해당하는 취약점들의 기밀성 영향의 평균(Average of CI)을 의미한다. 공격 유형은 표 3에 나타난 공격 유형들 중 하나일 수 있다. 예를 들어, 요망 효과 중 파괴(Destroy)에 연관된 공격 유형이 DoS(Denial of Service) 및 코드 실행(Code Execution)의 2가지 유형이라면, n은 2가 된다.In the above equation, ACI(AT i ) means the average of the confidentiality impact (Average of CI) of vulnerabilities corresponding to the ith attack type among n attack types associated with a specific desired effect. The attack type may be one of the attack types shown in Table 3. For example, if the attack types related to Destroy among the desired effects are two types, DoS (Denial of Service) and Code Execution, n is 2.
특정 공격 유형에 해당하는 취약점들의 기밀성 영향의 평균은 다음 수학식을 이용하여 계산될 수 있다.The average confidentiality impact of vulnerabilities corresponding to a specific attack type can be calculated using the following equation:
위 수학식에서, CVE(CI)k는 특정한 공격 유형에 해당하는 m개의 취약점 중 k번째 취약점(CVE)의 기밀성 영향(Confidentiality Impact, CI)을 의미한다. In the above equation, CVE(CI) k means the Confidentiality Impact (CI) of the kth vulnerability (CVE) among m vulnerabilities corresponding to a specific attack type.
무결성 영향에 대한 가중치(REintegrity)는 아래 수학식을 이용하여 계산될 수 있다. The weight for integrity impact (RE integrity ) can be calculated using the equation below.
위 수학식에서, AII(ATi)는 특정한 요망 효과에 연관된 n개의 공격 유형(Attack Type) 중 i번째 공격 유형에 해당하는 취약점들의 무결성 영향의 평균(Average of II)을 의미한다. 공격 유형은 표 3에 나타난 공격 유형들 중 하나일 수 있다. In the above equation, AII(AT i ) means the average of the integrity impact (Average of II) of vulnerabilities corresponding to the ith attack type among n attack types associated with a specific desired effect. The attack type may be one of the attack types shown in Table 3.
특정 공격 유형에 해당하는 취약점들의 무결성 영향의 평균은 다음 수학식을 이용하여 계산될 수 있다.The average integrity impact of vulnerabilities corresponding to a specific attack type can be calculated using the following equation:
위 수학식에서, CVE(II)k는 특정한 공격 유형에 해당하는 m개의 취약점 중 k번째 취약점(CVE)의 무결성 영향(Integrity Impact, II)을 의미한다. In the above equation, CVE(II) k means the integrity impact (II) of the kth vulnerability (CVE) among m vulnerabilities corresponding to a specific attack type.
가용성 영향에 대한 가중치(REavailability)는 아래 수학식을 이용하여 계산될 수 있다. The weight for availability impact (RE availability ) can be calculated using the equation below.
위 수학식에서, ACI(ATi)는 특정한 요망 효과에 연관된 n개의 공격 유형(Attack Type) 중 i번째 공격 유형에 해당하는 취약점들의 가용성 영향의 평균(Average of AI)을 의미한다. 공격 유형은 표 3에 나타난 공격 유형들 중 하나일 수 있다. In the above equation, ACI(AT i ) means the average of the availability impact of vulnerabilities corresponding to the ith attack type among n attack types associated with a specific desired effect (Average of AI). The attack type may be one of the attack types shown in Table 3.
특정 공격 유형에 해당하는 취약점들의 가용성 영향의 평균은 다음 수학식을 이용하여 계산될 수 있다.The average availability impact of vulnerabilities corresponding to a specific attack type can be calculated using the following equation:
위 수학식에서, CVE(AI)k는 특정한 공격 유형에 해당하는 m개의 취약점 중 k번째 취약점(CVE)의 가용성 영향(Availability Impact)을 의미한다. In the above equation, CVE(AI) k means the availability impact of the kth vulnerability (CVE) among m vulnerabilities corresponding to a specific attack type.
일 실시예에서, 프로세서(110)는 토폴로지에 포함되는 노드의 취약점에 관한 CVSS 점수 및 작전 요소에 관한 점수를 기초로 노드 가중치를 계산할 수 있다. 구체적으로, 공격 그래프에 포함되는 노드 가중치(nodeRank)는 다음의 수학식을 이용하여 계산될 수 있다. In one embodiment, the
위 수학식에서, VulScore는 해당 노드가 갖는 취약점의 점수일 수 있다. 예를 들어, VulScore는 CVSS의 BaseVector 점수일 수 있다. 또한, OperationScore는 작전 요소에 대한 점수일 수 있다. OperationScore는 공격무기, 공격팀, 지원무기, 지원팀 등을 고려하여 미리 정의될 수 있다. v 및 o는 각 점수에 대한 가중치를 의미할 수 있고, 미리 정의될 수 있다. v 및 o는 0 이상 1 이하의 값일 수 있다.In the above equation, VulScore may be the score of the vulnerability of the node. For example, VulScore could be the BaseVector score of CVSS. Additionally, OperationScore may be a score for an operational element. OperationScore can be predefined considering attack weapons, attack team, support weapons, support team, etc. v and o may mean a weight for each score and may be predefined. v and o may be values between 0 and 1.
도 4 는 본 개시에 따른 방법의 일 실시예를 나타낸다. 각 단계의 순서가 논리적으로 명백이 모순되지 않는 한, 도 4 에 나타난 각 단계는 순서가 뒤바뀔 수 있다. 일 실시예에서, 프로세서(110)는 단계 S410에 따라 시작노드 S와 도착노드 G를 선정할 수 있다. 프로세서(110)는 단계 S411에 따라 시작노드 S부터 도착노드 G까지의 접근 가능성을 분석할 수 있다. 시작노드 S부터 도착노드 G까지는 바로 접근 가능할 수도 있고, 하나 이상의 경유지 노드를 거쳐서 접근 가능할 수도 있다. Figure 4 shows one embodiment of a method according to the present disclosure. As long as the order of each step is not clearly logically contradictory, the steps shown in Figure 4 may be reversed. In one embodiment, the
프로세서(110)는 단계 S412에 따라, 작전 요소 및 취약점을 로드할 수 있다. 예를 들어, 작전 요소 및 취약점은 별도의 데이터베이스로부터 로드하거나, 사용자의 입력으로부터 획득될 수 있다.
프로세서(110)는 단계 S413에 따라, 접근가능성기반 토폴로지를 생성할 수 있다. 접근가능성기반 토폴로지의 실시예는 도 5에 나타나 있다.The
프로세서(110)는 단계 S414에 따라, 토폴로지 내 모든 노드의 노드 가중치(nodeRank)를 계산할 수 있다. 노드 가중치의 계산은 수학식 12를 이용할 수 있다.The
프로세서(110)는 단계 S415에 따라, 사용자로부터 요망 효과를 입력 받을 수 있다. 이후, 프로세서(110)는 단계 S416에 따라 입력 받은 요망 효과를 기초로 토폴로지 내 포함되는 모든 노드 사이의 엣지에 대해 엣지 가중치(edge score)를 계산할 수 있다. The
프로세서(110)는 단계 S417에 따라, 토폴로지, 노드 가중치 및 엣지 가중치를 기초로 공격 그래프를 생성할 수 있다. 공격그래프의 실시예는 도 6 및 도 7 에 나타나 있다. The
프로세서(110)는 단계 S418에 따라, 공격 그래프에서 최적 혹은 최단 경로를 생성하는 작업을 실행할 수 있다. 구체적으로, 프로세서(110)는 k-shortest 알고리즘을 기반으로 k개의 최적 경로 공격 그래프를 생성할 수 있다. The
우선, 프로세서(110)는 단계 S419에 따라, 반복문을 초기화할 수 있다. AGn은 최적 경로의 순번을 나타낸다. 프로세서(110)는 AGn을 1로 초기화할 수 있다. k는 최적 경로의 총 개수를 나타낸다. k는 사용자에 의해 설정될 수 있다. 프로세서(110)는 k=n으로 초기화하여 n개의 최적 경로 공격 그래프를 생성할 수 있다. First, the
프로세서(110)는 단계 S420에 따라, AGn번째 최적 경로 공격 그래프를 탐색할 수 있다. 이 때, 최적 혹은 최단 경로 탐색 알고리즘은 다익스트라(Djakstra) 알고리즘 또는 CCH(Customizable Contraction Hierarchies) 알고리즘 등의 알려진 최단 경로 탐색 알고리즘이 이용될 수 있다. 이후 프로세서(110)는 단계 S421에 따라, 최적 경로 AGn을 생성할 수 있다.The
프로세서(110)는 단계 S422에 따라, AGn의 값을 1 증가시키고, 단계 S423에 따라, AGn이 k를 초과하는지 확인할 수 있다. AGn이 k를 초과하지 않는 경우, 프로세서(110)는 다시 단계 S420으로 돌아가서 단계 S420 내지 단계 S423을 반복할 수 있다. AGn이 k를 초과하는 경우, k개의 최적 혹은 최단 경로 공격 그래프가 생성된 것이므로, 프로세서(110)는 반복문을 종료하고 단계 S424에 따라 최적 경로 공격 그래프 셋을 도출할 수 있다. 마지막으로, 프로세서(110)는 단계 S425에 따라 최적 혹은 최단 경로 공격 그래프를 최단거리 또는 rank 순으로 정렬할 수 있다. 즉, 프로세서(110)는 다익스트라 알고리즘 또는 CCH 알고리즘을 이용하여 기 설정된 순위의 최단 경로를 확인할 수 있다. The
이 때, 최단 경로 또는 최적 경로란 노드 가중치 및 엣지 가중치를 기초로 계산된 값이 가장 작거나 가장 큰 경로를 의미할 수 있다. 예를 들어, 최단 경로 또는 최적 경로란 노드 가중치 및 엣지 가중치의 합계, 곱 또는 가중 합계가 가장 작은 경로 또는 가장 큰 경로를 의미할 수 있다.At this time, the shortest path or optimal path may mean a path with the smallest or largest value calculated based on the node weight and edge weight. For example, the shortest path or optimal path may mean the path in which the sum, product, or weighted sum of node weights and edge weights is the smallest or the largest.
구체적으로, 단계 S419 내지 단계 S423는 다음 표에 나타난 알고리즘에 따라 실행될 수 있다.Specifically, steps S419 to S423 may be executed according to the algorithm shown in the following table.
// 시작 노드로부터 도착 노드까지의 최단 경로를 결정
A[0] = CCH or Dijkstra(Graph, source, sink);
// 잠재적 k번째 최단 경로를 저장할 세트를 초기화
B = [];
for k from 1 to K:
// 분기 노드는 첫 번째 노드부터 이전 k-최단 경로의 마지막 노드에 인접한 노드까지로 설정됨
for i from 0 to size(A[k-1]) - 2:
// 분기 노드는 이전 k-최단 경로인 k-1 번째 경로로부터 획득됨
spurNode = A[k-1].node(i);
// 이전 k-최단 경로의 시작 노드부터 분기 노드까지의 시퀀스
rootPath = A[k-1].nodes(0, i);
for each path p in A:
if rootPath == p.nodes(0, i):
// 동일한 루트 경로를 공유하는 이전 최단 경로들의 일부인 엣지를 제거
remove p.edge(i,i + 1) from Graph;
for each node rootPathNode in rootPath except spurNode:
remove rootPathNode from Graph;
// 분기 노드로부터 도착지 노드까지의 분기 경로를 확인
spurPath = CCH or Dijkstra(Graph, spurNode, sink);
// 전체 경로는 루트 경로와 분기 경로를 이어서 생성됨
totalPath = rootPath + spurPath;
// 잠재적 k-최단 경로를 힙에 저장
if (totalPath not in B):
B.append(totalPath);
// 제거된 엣지와 노드를 다시 복원.
restore edges to Graph;
restore nodes in rootPath to Graph;
if B is empty:
// 분기 경로가 남지 않은 경우의 조치
break;
// 잠재적 k-최단 경로를 가중치에 따라 정렬
B.sort();
// 가장 낮은 가중치를 갖는 경로가 k-최단 경로가 됨
A[k] = B[0];
// 힙에서 첫 번째 경로를 pop 함
B.pop();
return A;function GenerateAG_KShortestPath(Graph, source, sink, K):
// Determine the shortest path from the start node to the destination node
A[0] = CCH or Dijkstra(Graph, source, sink);
// initialize a set to store the potential k shortest path
B = [];
for k from 1 to K:
// branch nodes are set from the first node to the node adjacent to the last node of the previous k-shortest path
for i from 0 to size(A[k-1]) - 2:
// The branch node is obtained from the k-1th path, which is the previous k-shortest path.
spurNode = A[k-1].node(i);
// Sequence from start node to branch node of previous k-shortest path
rootPath = A[k-1].nodes(0, i);
for each path p in A:
if rootPath == p.nodes(0, i):
// Remove edges that are part of previous shortest paths that share the same root path
remove p.edge(i,i + 1) from Graph;
for each node rootPathNode in rootPath except spurNode:
remove rootPathNode from Graph;
// Check the branch path from the branch node to the destination node
spurPath = CCH or Dijkstra(Graph, spurNode, sink);
// The full path is created by concatenating the root path and branch path.
totalPath = rootPath + spurPath;
// Store potential k-shortest paths in heap
if (totalPath not in B):
B.append(totalPath);
// Restore removed edges and nodes.
restore edges to graph;
restore nodes in rootPath to Graph;
if B is empty:
// Action when no branch path remains
break;
// Sort potential k-shortest paths according to their weights
B.sort();
// The path with the lowest weight becomes the k-shortest path
A[k] = B[0];
// Pop the first path from the heap
B.pop();
return A;
도 5 는 본 개시에 따른 접근가능성 기반 토폴로지 또는 네트워크 토폴로지(500)의 일 실시예를 나타낸다. 프로세서(110)는 도 5 에 나타난 토폴로지를 생성할 수 있다. FIG. 5 illustrates an embodiment of an accessibility-based topology or
프로세서(110)는 시작 노드 A(510)로부터 노드 B(551), 노드 C(552) 및 노드 D(553)가 접근 가능(520)하다고 확인할 수 있다. 이 때, 프로세서(110)는 접근 가능한 노드 B(552), 노드 C(552) 및 노드 D(553) 각각에 대한 취약점 Vb(531), Vc(532) 및 Vd(533)를 확인할 수 있다. The
프로세서(110)는 표 1에 따른 정보 등을 활용하여 노드 B(552) 및 노드 C(552) 각각의 취약점 Vb(531) 및 Vc(532)에 대한 무기를 보유(540)하고 있음을 확인할 수 있다.The
다음으로, 프로세서(110)는 노드 B(551), 노드 C(552) 및 노드 D(553)로부터 노드 E(591) 및 노드 F(592)가 접근 가능(561, 562)하다고 확인할 수 있다. 프로세서(110)는 노드 E(591) 및 노드 F(592) 각각에 대한 취약점 Ve(571) 및 Vf(572)를 확인할 수 있다.Next, the
프로세서(110)는 표 1에 따른 정보 등을 활용하여 노드 F(592)의 취약점 Vf(572)에 대한 무기를 보유(580)하고 있음을 확인할 수 있다.The
도 6 및 도 7은 본 개시에 따른 공격 그래프(600, 700)의 일 실시예를 나타낸다. 프로세서(110)는 시작 노드 S로부터 도착 노드 G까지의 접근 가능성 기반 토폴로지를 기초로 도 6에 나타난 공격 그래프(600)를 생성할 수 있다. 각 노드에는 노드 가중치(nodeRank)가, 각 엣지에는 엣지 가중치(edge score)가 부여될 수 있다. 공격 그래프(600)에 포함되는 모든 노드의 노드 가중치는 수학식 12를 이용하여 계산될 수 있고, 공격 그래프(600)에 포함되는 모든 엣지의 엣지 가중치는 수학식 1을 이용하여 계산될 수 있다.Figures 6 and 7 show one embodiment of
프로세서(110)는 도 4 또는 표 6에 나타난 방법 또는 알고리즘을 이용하여 공격 그래프(600)의 시작 노드 S로부터 도착 노드 G까지의 하나 이상의 최적 혹은 최단 경로를 확인할 수 있다. The
예를 들어, 프로세서(110)는 도 7 에 나타난 것와 같이 첫 번째 최단 경로인 [S, V1, G] 및 두 번째 최단 경로인 [S, B2, V6, G]의 경로를 확인할 수 있고, 도 7 에 나타난 것과 같이 최적 혹은 최단 경로 공격 그래프(700)를 생성할 수 있다.For example, the
도 8 은 일 실시예에 따른 전자 장치(100)의 동작 방법을 나타낸다. 도 8 의 동작 방법의 각 단계는 도 1 의 전자 장치(100)에 의해 수행될 수 있으므로, 도 1 과 중복되는 내용에 대해서는 설명을 생략한다.FIG. 8 shows a method of operating the
단계 S810에서, 전자 장치(100)는 도착 노드로의 접근 가능성, 작전 요소 및 개별 노드의 취약점을 기초로 시작 노드부터 도착 노드까지의 토폴로지를 생성할 수 있다.In step S810, the
단계 S820에서, 전자 장치(100)는 토폴로지에 포함되는 노드의 노드 가중치를 계산할 수 있다.In step S820, the
전자 장치(100)는 토폴로지에 포함되는 노드의 취약점에 관한 CVSS 점수 및 작전 요소에 관한 점수를 기초로 노드 가중치를 계산할 수 있다.The
단계 S830에서, 전자 장치(100)는 토폴로지 및 요망 효과를 기초로 공격 그래프를 생성하고, 공격 그래프에 포함되는 엣지의 엣지 가중치를 계산할 수 있다.In step S830, the
전자 장치(100)는 엣지의 양 끝 노드 각각의 CVSS(Common Vulnerability Scoring System) 공격 벡터(Attack Vector)를 기초로 엣지 가중치를 확인할 수 있다.The
전자 장치(100)는 엣지의 양 끝 노드에 관한 적어도 하나의 공격 유형의 발생 확률을 기초로 엣지 가중치를 확인할 수 있다.The
전자 장치(100)는 엣지의 양 끝 노드 중 제1 노드의 취약점이 엣지의 양 끝 노드 중 제2 노드의 취약점의 전제조건인지 여부를 기초로 엣지 가중치를 확인할 수 있다.The
전자 장치(100)는 요망 효과에 관한 적어도 하나의 공격 유형에 해당하는 적어도 하나의 취약점의 기밀성 영향(Confidentiality Impact), 무결성 영향(Integrity Impact) 및 가용성 영향(Availability Impact)을 기초로 엣지 가중치를 확인할 수 있다.The
전자 장치(100)는 요망 효과에 관한 적어도 하나의 공격 유형 각각에 해당하는 적어도 하나의 취약점의 기밀성 영향의 평균, 무결성 영향의 평균 및 가용성 영향의 평균을 기초로 엣지 가중치를 확인할 수 있다.The
단계 S840에서, 전자 장치(100)는 노드 가중치 및 엣지 가중치를 기초로, 시작 노드부터 도착 노드까지의 적어도 하나의 최단 경로를 확인할 수 있다.In step S840, the
전자 장치(100)는 다익스트라 알고리즘 또는 CCH(Customizable Contraction Hierarchies) 알고리즘을 이용하여 기 설정된 순위의 최단 경로를 확인할 수 있다.The
이상 설명된 본 개시에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치 또는 전자 장치는 본 개시에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present disclosure described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium or non-transitory recording medium. The computer-readable recording medium or non-transitory recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the computer-readable recording medium or non-transitory recording medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the computer software field. Examples of computer-readable recording media or non-transitory recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. Includes magneto-optical media and hardware devices specifically configured to store and perform program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device or electronic device may be configured to operate as one or more software modules to perform processing according to the present disclosure, and vice versa.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어, 소프트웨어, 또는 이들의 조합들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 데이터 처리 또는 이들의 조합 등을 위하여 종래 기술을 채용할 수 있다. This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented as various numbers of hardware, software, or combinations thereof that execute specific functions. For example, embodiments include integrated circuit configurations such as memory, processing, logic, look-up tables, etc. that can execute various functions under the control of one or more microprocessors or other control devices. can be hired. Similar to how the components can be implemented as software programming or software elements, the present embodiments include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java), assembler, etc. Functional aspects may be implemented as algorithms running on one or more processors. Additionally, this embodiment may employ conventional technologies for electronic environment setting, signal processing, data processing, or a combination thereof.
Claims (10)
도착 노드로의 접근 가능성, 작전 요소 및 개별 노드의 취약점을 기초로 시작 노드부터 상기 도착 노드까지의 토폴로지를 생성하는 단계;
상기 토폴로지에 포함되는 노드의 노드 가중치를 계산하는 단계;
상기 토폴로지 및 요망 효과를 기초로 공격 그래프를 생성하고, 상기 공격 그래프에 포함되는 엣지의 엣지 가중치를 계산하는 단계; 및
상기 노드 가중치 및 상기 엣지 가중치를 기초로, 상기 시작 노드부터 상기 도착 노드까지의 적어도 하나의 최단 경로를 확인하는 단계를 포함하되,
상기 엣지 가중치를 계산하는 단계는,
상기 엣지의 양 끝 노드 각각의 CVSS(Common Vulnerability Scoring System) 공격 벡터(Attack Vector)에 기초한 접근 위치 지표, 상기 엣지의 양 끝 노드에 관한 적어도 하나의 공격 유형의 발생 확률에 기초한 공격 유형 지표, 상기 엣지의 양 끝 노드 중 제1 노드의 취약점이 상기 엣지의 양 끝 노드 중 제2 노드의 취약점의 전제조건인지 여부에 기초한 취약점 연관성 지표, 및 상기 요망 효과에 관한 적어도 하나의 공격 유형에 해당하는 적어도 하나의 취약점의 기밀성 영향(Confidentiality Impact), 무결성 영향(Integrity Impact) 및 가용성 영향(Availability Impact)에 기초한 CIA(Confidentiality, Integrity and Availability) 지표를 기초로 상기 엣지 가중치를 확인하는 단계를 포함하는, 사이버 공격 경로 추천 방법.In the method of recommending a cyber attack route for an electronic device,
generating a topology from a starting node to the destination node based on accessibility to the destination node, operational factors, and vulnerabilities of individual nodes;
calculating node weights of nodes included in the topology;
generating an attack graph based on the topology and desired effects, and calculating edge weights of edges included in the attack graph; and
Confirming at least one shortest path from the start node to the destination node based on the node weight and the edge weight,
The step of calculating the edge weight is,
An access location indicator based on the CVSS (Common Vulnerability Scoring System) attack vector of each end node of the edge, an attack type indicator based on the probability of occurrence of at least one attack type for both end nodes of the edge, A vulnerability correlation indicator based on whether the vulnerability of the first node among the nodes at both ends of the edge is a prerequisite for the vulnerability of the second node among the nodes at both ends of the edge, and at least one attack type corresponding to the desired effect Cyber, comprising the step of checking the edge weight based on the Confidentiality, Integrity and Availability (CIA) indicator based on the Confidentiality Impact, Integrity Impact and Availability Impact of one vulnerability How to recommend attack routes.
상기 엣지 가중치를 계산하는 단계는,
상기 요망 효과에 관한 적어도 하나의 공격 유형 각각에 해당하는 적어도 하나의 취약점의 기밀성 영향의 평균, 무결성 영향의 평균 및 가용성 영향의 평균을 기초로 상기 CIA 지표를 확인하는 단계를 포함하는,
사이버 공격 경로 추천 방법.According to paragraph 1,
The step of calculating the edge weight is,
Identifying the CIA indicator based on the average confidentiality impact, average integrity impact, and average availability impact of at least one vulnerability corresponding to each of the at least one attack type with respect to the desired effect,
How to recommend cyber attack routes.
상기 노드 가중치를 계산하는 단계는,
상기 토폴로지에 포함되는 노드의 취약점에 관한 CVSS 점수 및 상기 작전 요소에 관한 점수를 기초로 상기 노드 가중치를 계산하는 단계를 포함하는,
사이버 공격 경로 추천 방법.According to paragraph 1,
The step of calculating the node weight is,
Comprising the step of calculating the node weight based on the CVSS score regarding the vulnerability of the node included in the topology and the score regarding the operational element,
How to recommend cyber attack routes.
상기 적어도 하나의 최단 경로를 확인하는 단계는,
다익스트라 알고리즘 또는 CCH(Customizable Contraction Hierarchies) 알고리즘을 이용하여 기 설정된 순위의 최단 경로를 확인하는 단계를 포함하는, 사이버 공격 경로 추천 방법.According to paragraph 1,
The step of checking the at least one shortest path includes:
A method of recommending a cyber attack path, including the step of checking the shortest path of a preset rank using Dijkstra's algorithm or CCH (Customizable Contraction Hierarchies) algorithm.
적어도 하나의 프로그램이 저장된 메모리; 및
상기 적어도 하나의 프로그램을 실행함으로써,
도착 노드까지의 접근 가능성, 작전 요소 및 개별 노드의 취약점을 기초로 시작 노드부터 도착 노드까지의 토폴로지를 생성하고,
상기 토폴로지에 포함되는 노드의 노드 가중치를 계산하고,
상기 토폴로지 및 요망 효과를 기초로 공격 그래프를 생성하고, 상기 공격 그래프에 포함되는 엣지의 엣지 가중치를 계산하고,
상기 노드 가중치 및 상기 엣지 가중치를 기초로, 시작 노드부터 도착 노드까지의 적어도 하나의 최단 경로를 확인하는 프로세서를 포함하되,
상기 프로세서는,
상기 엣지의 양 끝 노드 각각의 CVSS 공격 벡터에 기초한 접근 위치 지표, 상기 엣지의 양 끝 노드에 관한 적어도 하나의 공격 유형의 발생 확률에 기초한 공격 유형 지표, 상기 엣지의 양 끝 노드 중 제1 노드의 취약점이 상기 엣지의 양 끝 노드 중 제2 노드의 취약점의 전제조건인지 여부에 기초한 취약점 연관성 지표, 및 상기 요망 효과에 관한 적어도 하나의 공격 유형에 해당하는 적어도 하나의 취약점의 기밀성 영향, 무결성 영향 및 가용성 영향에 기초한 CIA 지표를 기초로 상기 엣지 가중치를 확인하는,
전자 장치.As an electronic device,
a memory in which at least one program is stored; and
By executing the at least one program,
Create a topology from the start node to the destination node based on the accessibility to the destination node, operational elements, and vulnerabilities of individual nodes,
Calculate the node weight of the node included in the topology,
Generating an attack graph based on the topology and desired effects, calculating edge weights of edges included in the attack graph,
A processor that determines at least one shortest path from a starting node to a destination node based on the node weight and the edge weight,
The processor,
An access location indicator based on the CVSS attack vector of each end node of the edge, an attack type indicator based on the probability of occurrence of at least one attack type regarding both end nodes of the edge, and a first node among both end nodes of the edge A vulnerability relevance indicator based on whether the vulnerability is a prerequisite for a vulnerability in a second node of the edge nodes, and confidentiality impact, integrity impact, and Checking the edge weights based on CIA metrics based on availability impacts,
Electronic devices.
상기 사이버 공격 경로 추천 방법은,
도착 노드까지의 접근 가능성, 작전 요소 및 개별 노드의 취약점을 기초로 시작 노드부터 도착 노드까지의 토폴로지를 생성하는 단계;
상기 토폴로지에 포함되는 노드의 노드 가중치를 계산하는 단계;
상기 토폴로지 및 요망 효과를 기초로 공격 그래프를 생성하고, 상기 공격 그래프에 포함되는 엣지의 엣지 가중치를 계산하는 단계; 및
상기 노드 가중치 및 상기 엣지 가중치를 기초로, 시작 노드부터 도착 노드까지의 적어도 하나의 최단 경로를 확인하는 단계를 포함하되,
상기 엣지 가중치를 계산하는 단계는,
상기 엣지의 양 끝 노드 각각의 CVSS 공격 벡터에 기초한 접근 위치 지표, 상기 엣지의 양 끝 노드에 관한 적어도 하나의 공격 유형의 발생 확률에 기초한 공격 유형 지표, 상기 엣지의 양 끝 노드 중 제1 노드의 취약점이 상기 엣지의 양 끝 노드 중 제2 노드의 취약점의 전제조건인지 여부에 기초한 취약점 연관성 지표, 및 상기 요망 효과에 관한 적어도 하나의 공격 유형에 해당하는 적어도 하나의 취약점의 기밀성 영향, 무결성 영향 및 가용성 영향에 기초한 CIA 지표를 기초로 상기 엣지 가중치를 확인하는 단계를 포함하는,
비일시적 기록 매체.It is a non-transitory computer-readable recording medium that records a program for executing a cyber attack path recommendation method for electronic devices on a computer,
The cyber attack route recommendation method is,
generating a topology from the starting node to the destination node based on the accessibility to the destination node, operational factors, and vulnerabilities of individual nodes;
calculating node weights of nodes included in the topology;
generating an attack graph based on the topology and desired effects, and calculating edge weights of edges included in the attack graph; and
Confirming at least one shortest path from a starting node to a destination node based on the node weight and the edge weight,
The step of calculating the edge weight is,
An access location indicator based on the CVSS attack vector of each end node of the edge, an attack type indicator based on the probability of occurrence of at least one attack type regarding both end nodes of the edge, and a first node among both end nodes of the edge a vulnerability relevance indicator based on whether the vulnerability is a prerequisite for a vulnerability in a second node of the edge nodes, and confidentiality impact, integrity impact, and Verifying the edge weight based on a CIA metric based on availability impact,
Non-transitory recording medium.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220094930A KR102689032B1 (en) | 2022-07-29 | 2022-07-29 | Cyber attack route recommendation method of electronic apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220094930A KR102689032B1 (en) | 2022-07-29 | 2022-07-29 | Cyber attack route recommendation method of electronic apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20240016765A KR20240016765A (en) | 2024-02-06 |
KR102689032B1 true KR102689032B1 (en) | 2024-07-29 |
Family
ID=89858533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220094930A Active KR102689032B1 (en) | 2022-07-29 | 2022-07-29 | Cyber attack route recommendation method of electronic apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102689032B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101893253B1 (en) * | 2016-07-14 | 2018-08-29 | 국방과학연구소 | Apparatus and Method for estimating automated network penetration path based on network reachability |
KR102153926B1 (en) * | 2017-08-10 | 2020-09-10 | 한국전자통신연구원 | Apparatus for enhancing network security and method for the same |
-
2022
- 2022-07-29 KR KR1020220094930A patent/KR102689032B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20240016765A (en) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nguyen et al. | sfuzz: An efficient adaptive fuzzer for solidity smart contracts | |
KR102226257B1 (en) | Method and device for writing service data to a blockchain system | |
JP4732874B2 (en) | Software behavior modeling device, software behavior monitoring device, software behavior modeling method, and software behavior monitoring method | |
Çeker et al. | Deception-based game theoretical approach to mitigate DoS attacks | |
US9021584B2 (en) | System and method for assessing danger of software using prioritized rules | |
KR20210074891A (en) | Method and apparatus for predicting attack target based on attack graph | |
CN105760787B (en) | System and method for the malicious code in detection of random access memory | |
US8301433B2 (en) | Software behavior modeling apparatus, software behavior monitoring apparatus, software behavior modeling method, and software behavior monitoring method | |
JP6404273B2 (en) | System and method for performing anti-virus scanning of files in a virtual machine | |
WO2016022720A2 (en) | Method and apparatus of identifying a transaction risk | |
US20160239661A1 (en) | Information processing apparatus, information processing method, and program | |
JP2019145925A (en) | Method for verifying transaction in blockchain network, and node for constituting the network | |
CN108416039A (en) | A kind of data query method and system | |
JP7355118B2 (en) | Risk analysis result display device, method, and program | |
CN113138836A (en) | Escape-proof honeypot system based on Docker container and method thereof | |
JP6282217B2 (en) | Anti-malware system and anti-malware method | |
JP2020028092A (en) | Attack detection device, attack detection system, attack detection method, and attack detection program | |
US9838420B2 (en) | System and method for distributing most effective antivirus records to user devices | |
JP2024163229A (en) | Analytical device, analytical method, and analytical program | |
Zhang et al. | A scalable double oracle algorithm for hardening large active directory systems | |
CN112748862B (en) | Method, electronic device and computer program product for managing a disk | |
KR102689032B1 (en) | Cyber attack route recommendation method of electronic apparatus | |
CN103677746A (en) | Instruction recombining method and device | |
CN113518086A (en) | Network attack prediction method, device and storage medium | |
CN116663005B (en) | Method, device, equipment and storage medium for defending composite Lesu virus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20220729 |
|
PA0201 | Request for examination | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20231030 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20240718 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20240723 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20240724 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |