KR101723715B1 - Systems and methods for enterprise mission management of a computer network - Google Patents

Systems and methods for enterprise mission management of a computer network Download PDF

Info

Publication number
KR101723715B1
KR101723715B1 KR1020140152614A KR20140152614A KR101723715B1 KR 101723715 B1 KR101723715 B1 KR 101723715B1 KR 1020140152614 A KR1020140152614 A KR 1020140152614A KR 20140152614 A KR20140152614 A KR 20140152614A KR 101723715 B1 KR101723715 B1 KR 101723715B1
Authority
KR
South Korea
Prior art keywords
network
mission
mission plan
computer network
idp
Prior art date
Application number
KR1020140152614A
Other languages
Korean (ko)
Other versions
KR20150051918A (en
Inventor
웨인 비. 스미스
마가레트 엠. 네퍼
애슐리 엠. 코프만
Original Assignee
해리스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 해리스 코포레이션 filed Critical 해리스 코포레이션
Publication of KR20150051918A publication Critical patent/KR20150051918A/en
Application granted granted Critical
Publication of KR101723715B1 publication Critical patent/KR101723715B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0873Checking configuration conflicts between network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 컴퓨터 네트워크("CN")의 엔터프라이즈 미션 관리를 위한 시스템(100) 및 방법(1400)에 관한 것이다. 그 방법은 제 1 식별 파라미터("IDP")에 할당된 값이 CN의 제 1 노드에 의해 동적으로 수정되는 방식을 특정하는 제 1 미션 플랜("MP")에 따라 동작하도록 CN을 구성하는 단계; 새로운 MP가 CN 내에 실행될 필요가 있는지를 나타내는 트리거 이벤트를 검출하는 단계; 제 2 IDP에 할당된 값이 CN의 제 2 노드에 의해 동적으로 수정되는 방식을 특정하는 제 2 MP를 얻는 단계; 임의 충돌이 제 2 MP에 의해 정의된 제 2 노드의 동작과 제 1 MP에 의해 정의된 제 1 노드의 동작 사이에 존재하는지 여부를 결정하는 단계; 및 어떠한 충돌도 존재하지 않는다고 결정되면 제 2 MP에 따라 더 동작하도록 CN의 동작을 구성하는 단계를 포함한다.The present invention relates to a system (100) and method (1400) for enterprise mission management of a computer network ("CN"). The method includes configuring the CN to operate in accordance with a first mission plan ("MP") that specifies how the value assigned to the first identification parameter ("IDP") is dynamically modified by the first node of the CN ; Detecting a trigger event indicating whether a new MP needs to be executed within the CN; Obtaining a second MP specifying a manner in which the value assigned to the second IDP is dynamically modified by the second node of the CN; Determining whether an arbitrary conflict exists between the operation of the second node defined by the second MP and the operation of the first node defined by the first MP; And configuring the operation of the CN to further operate according to the second MP if it is determined that no conflicts exist.

Description

컴퓨터 네트워크의 엔터프라이즈 미션 관리를 위한 시스템 및 방법{SYSTEMS AND METHODS FOR ENTERPRISE MISSION MANAGEMENT OF A COMPUTER NETWORK}TECHNICAL FIELD [0001] The present invention relates to a system and a method for managing an enterprise mission of a computer network,

본 발명의 배열은 컴퓨터 네트워크 보안, 그리고 더 구체적으로 네트워크가 악의적인 공격에 대해 방어하도록 동적으로 전환가능한 컴퓨터 네트워크의 두 개 이상의 논리 세분 사이에 통신하기 위한 시스템에 관한 것이다. The arrangement of the present invention relates to computer network security, and more particularly to a system for communicating between two or more logical subdivisions of a computer network that is dynamically switchable to defend against malicious attacks.

현재 사이버 인프라의 주된 취약점은 정적 특성이다. 자산은 영구적이거나 드물게 변하는 신원확인을 받아들이고, 적들이 네트워크를 조사하고, 맵핑하고 취약점을 이용할 거의 무제한적인 시간을 허용한다. 부가적으로, 이들 고정된 개체 사이를 오고가는 데이터가 캡처되고 속성화될 수 있다. 사이버 보안에 대한 현재의 접근은 고정자산 주위에 방화벽 및 침입 검출 시스템과 같은 기술을 위치시키고, 도중에 데이터를 보호하도록 암호화를 사용한다. 그러나, 이러한 전통적인 접근은 공격자에게 고정된 목표를 제공하기 때문에 근본적으로 결함을 갖고 있다. 오늘날 세계적으로 연결된 통신 인프라에서, 정적 네트워크는 취약한 네트워크이다.Currently, the main vulnerability of cyber infrastructures is static. Assets accept permanent or infrequently changing identifications, allow virtually unlimited times for enemies to probe the network, map, and exploit vulnerabilities. Additionally, data coming and going between these fixed entities can be captured and attributes. Current approaches to cybersecurity use encryption to secure data such as firewalls and intrusion detection systems around fixed assets and to protect data on the way. However, this traditional approach is fundamentally flawed because it provides the attacker with fixed goals. In today's globally connected communications infrastructure, a static network is a weak network.

방위고등연구계획국("DARPA") 정보 보증("IA") 프로그램은 동적 네트워크 방어의 영역에서 최초 연구를 수행했다. 기법은 네트워크를 관찰하는 어떤 장래의 적들을 혼동시키려는 목적을 위해 미리-지정된 네트워크 집단에 공급하는 인터넷 프로토콜("IP") 어드레스 공간을 동적으로 재할당하는 IA 프로그램에 따라 개발되었다. 이러한 기법은 동적인 네트워크 어드레스 변환("DYNAT")으로 불린다. DYNAT 기술의 개요는 2001년에 발행된 "적들의 지능을 방해하는 동적인 접근"으로 명명된 DARPA에 의한 논문에 제시되었다. The Defense Advanced Research Projects Agency ("DARPA") Information Assurance ("IA") program conducted initial research in the area of dynamic network defense. Technique was developed in accordance with an IA program that dynamically reallocates Internet Protocol ("IP ") address space that feeds pre-specified network aggregates for the purpose of confusing any future observers of the network. This technique is called dynamic network address translation ("DYNAT"). The outline of the DYNAT technology is presented in a paper by DARPA entitled "Dynamic Approach to the Intelligence of the Enemies" published in 2001.

본 발명의 목적은 노드 동작이 동적으로 구성가능한 컴퓨터 네트워크의 엔터프라이즈 미션 관리를 위한 시스템 및 방법을 제공하는 것이다.It is an object of the present invention to provide a system and method for enterprise mission management of a computer network in which node operations are dynamically configurable.

본 발명의 실시예는 노드 동작이 동적으로 구성가능한 컴퓨터 네트워크의 엔터프라이즈 미션 관리를 위한 시스템 및 방법에 관한 것이다. 본 발명은 적어도 하나의 제 1 미션 플랜에 따라 동작하는 컴퓨터 네트워크를 구성하는 단계를 포함한다. 제 1 미션 플랜은 적어도 하나의 제 1 식별 파라미터("IDP")에 대해 할당된 값이 컴퓨터 네트워크의 적어도 하나의 제 1 노드에 의해 동적으로 수정되는 방식을 특정한다. 그런 후에, 제 1 트리거 이벤트는 새로운 미션 플랜이 컴퓨터 네트워크 내에서 실행될 필요가 있다는 것을 나타내는 컴퓨터 네트워크 내에서 검출된다. 제 1 트리거 이벤트는 컴퓨터 네트워크 내에서 전달되는 패킷의 내용, 컴퓨터 네트워크의 혼잡도, 컴퓨터 네트워크의 상태, 컴퓨터 네트워크 내의 사용자 활동, 및/또는 컴퓨터 네트워크에 대한 악의적 공격에 기반해서 검출될 수 있다.An embodiment of the present invention relates to a system and method for enterprise mission management of a computer network in which node operations are dynamically configurable. The invention comprises configuring a computer network operating according to at least one first mission plan. The first mission plan specifies how the assigned value for at least one first identification parameter ("IDP") is dynamically modified by at least one first node of the computer network. Then, the first trigger event is detected in the computer network indicating that the new mission plan needs to be executed within the computer network. The first trigger event may be detected based on the content of a packet delivered within the computer network, the congestion of the computer network, the state of the computer network, user activity within the computer network, and / or malicious attacks on the computer network.

트리거 이벤트에 응답해서, 제 2 미션 플랜이 얻어진다. 제 2 미션 플랜은 적어도 하나의 제 2 IDP에 할당된 값이 컴퓨터 네트워크의 적어도 하나의 제 2 노드에 의해 동적으로 수정되는 방식을 특정한다. 일부 시나리오에서, 제 2 미션 플랜은 새로운 미션의 요구사항과 컴퓨터 네트워크의 동작 측면을 분석하는 것으로부터의 결과에 기반해서 복수의 미리저장된 미션 플랜으로부터 미션 플랜을 선택하고; 새로운 미션의 요구사항과 컴퓨터 네트워크의 동작 측면을 분석하는 것으로부터의 결과에 기반해서 미션 플랜을 자동으로 발생시키거나: 또는 미션에 대한 동작의 개념, 컴퓨터 네트워크의 아키텍처, 컴퓨터 네트워크의 리소스 사이의 관계, 및 복수의 IDP와 연관된 효율성 등급 중 적어도 하나에 기반한 미션 플랜을 동적으로 발생시키는 것에 의해 얻어진다.In response to the trigger event, a second mission plan is obtained. The second mission plan specifies how the value assigned to at least one second IDP is dynamically modified by at least one second node of the computer network. In some scenarios, the second mission plan selects a mission plan from a plurality of pre-stored mission plans based on the results of analyzing the requirements of the new mission and the operational aspects of the computer network; Automatically generate a mission plan based on the results of analyzing the requirements of the new mission and the operational aspects of the computer network; or the relationship between the concept of operation on the mission, the architecture of the computer network, and the resources of the computer network , And an efficiency class associated with a plurality of IDPs.

다음으로, 제 2 미션 플랜에 의해 정의된 제 2 노드의 동작과 제 1 미션 플랜에 의해 정의된 제 1 노드의 동작 사이에 어떤 충돌이 존재하는지 여부에 대한 결정이 이루어진다. 어떠한 충돌도 제 1 및 제 2 미션 플랜에 의해 정의된 바와 같은 제 1 및 제 2 노드의 동작 사이에 존재하지 않는다고 결정되면, 그때 컴퓨터 네트워크의 동작이 제 2 미션 플랜에 따라 더 동작하도록 구성된다. 반대로, 충돌이 제 1 및 제 2 미션 플랜에 의해 정의된 바와 같이 제 1 및 제 2 노드의 동작 사이에 존재한다고 결정되면, 그때 제 2 미션 플랜은 제 3 미션 플랜을 얻도록 수정된다. 이어서, 임의 충돌이 제 3 미션 플랜에 의해 정의된 제 3 노드의 동작과 제 1 미션 플랜에 의해 정의된 제 1 노드의 동작 사이에 존재하는지 여부에 대한 결정이 이루어진다. 충돌이 제 1 및 제 3 미션 플랜에 의해 정의된 바와 같은 제 1 및 제 3 노드의 동작 사이에 존재한다고 결정되면, 그때 컴퓨터 네트워크의 동작이 제 3 미션 플랜에 따라 동작하도록 구성된다.Next, a determination is made as to whether there is any conflict between the operation of the second node defined by the second mission plan and the operation of the first node defined by the first mission plan. If it is determined that no conflicts exist between the operations of the first and second nodes as defined by the first and second mission plans, then the operation of the computer network is configured to further operate according to the second mission plan. Conversely, if it is determined that a conflict exists between the operations of the first and second nodes as defined by the first and second mission plans, then the second mission plan is modified to obtain the third mission plan. A determination is then made whether an arbitrary conflict exists between the operation of the third node defined by the third mission plan and the operation of the first node defined by the first mission plan. If it is determined that a collision exists between the operations of the first and third nodes as defined by the first and third mission plans, then the operation of the computer network is configured to operate in accordance with the third mission plan.

일부 시나리오에서, 그 방법은 또한 컴퓨터 네트워크가 활성 제 1 또는 제 2 미션 플랜에 따라 동작하는 것을 계속해야하는지 여부를 결정하는 단계를 포함할 수 있다. 컴퓨터 네트워크가 활성 제 1 또는 제 2 미션 플랜에 따라 동작하는 것을 계속하지 않아야 한다고 결정되면, 그때 동작은 컴퓨터 네트워크가 더 이상 제 1 또는 제 2 미션 플랜에 따라 동작하는 바와 같이 컴퓨터 네트워크를 재구성하고; 그리고/또는 제 1 또는 제 2 미션 플랜 대신에 제 3 미션 플랜에 따라 동작하도록 컴퓨터 네트워크를 재구성하도록 수행된다. In some scenarios, the method may also include determining whether the computer network should continue to operate in accordance with the active first or second mission plan. If it is determined that the computer network should not continue to operate in accordance with the active first or second mission plan, then the operation may include reconfiguring the computer network as the computer network is no longer operating in accordance with the first or second mission plan; And / or to reconfigure the computer network to operate in accordance with the third mission plan instead of the first or second mission plan.

본 발명은 컴퓨터 네트워크 보안, 그리고 더 구체적으로 네트워크가 악의적인 공격에 대해 방어하도록 동적으로 전환가능한 컴퓨터 네트워크의 두 개 이상의 논리 세분 사이에 통신하기 위한 시스템을 제공한다.The present invention provides a system for communicating between two or more logical subdivisions of a computer network security, and more specifically, a computer network that is dynamically switchable to defend against malicious attacks.

실시예는 다음의 도면을 참조하여 설명될 것이고, 동일한 도면 부호는 도면에 걸쳐 동일한 개체를 나타내며, 여기서:
도 1은 본 발명을 이해하기에 유용한 컴퓨터 네트워크의 실시예이다.
도 2는 IDP의 특정 조작을 수행하도록 본 발명에 사용될 수 있는 모듈의 실시예이다.
도 3은 미션 플랜을 수동으로 발생시키기 위한 예시적인 프로세스의 흐름도이다.
도 4는 도 1에서 네트워크를 특징화하는 것을 돕도록 사용될 수 있는 툴을 이해하기에 유용한 도면이다.
도 5는 도 1에서 모듈을 위한 동적 설정을 선택하도록 사용될 수 있는 그래픽 유저 인터페이스("GUI")의 실시예이다.
도 6은 도 1에서 각각의 모듈과 연관된 활성 상태와 바이패스 상태의 시퀀스를 선택하도록 사용될 수 있는 GUI의 실시예이다.
도 7은 미션 플랜을 자동으로 그리고 동적으로 발생시키기 위한 예시적인 프로세스의 흐름도이다.
도 8은 미션 플랜 충돌을 식별하고 해결하기 위한 예시적인 프로세스이다.
도 9는 미션 플랜이 도 1에서의 네트워크에서 복수의 모듈에 전달될 수 있는 방식을 이해하기에 유용한 다이어그램이다.
도 10은 도 9에 도시된 바와 같이 복수의 미션 플랜으로부터 미션 플랜을 선택하도록 사용될 수 있고 선택된 미션 플랜을 모듈에 전달하도록 사용될 수 있는 예시적인 GUI의 개략적인 도시이다.
도 11은 도 1에서 모듈의 동작을 이해하기에 유용한 흐름도이다.
도 12는 컴퓨터 네트워크의 전체 엔터프라이즈 거동을 이해하기에 유용한 개략적인 도시이다.
도 13은 엔터프라이즈 미션 관리를 이해하기에 유용한 개략적인 도시이다.
도 14는 동적 컴퓨터 네트워크의 엔터프라이즈 미션 관리를 위한 예시적인 방법의 흐름도이다.
도 15는 도 1에서 모듈을 실행하도록 사용될 수 있는 컴퓨터 아키텍처의 블록도이다.
도 16은 도 1에 도시된 네트워크 관리 컴퓨터("NAC")를 실행하도록 사용될 수 있는 컴퓨터 아키텍처의 블록도이다.
도 17은 본 발명을 이해하기에 유용한 컴퓨터 네트워크의 실시예이다.
도 18은 도 1에서 스위치의 동작을 이해하기에 유용한 흐름도이다.
도 19는 도 1에서 스위치의 동작을 이해하기에 유용한 흐름도이다.
도 20은 본 발명에 따라 데이터 패킷을 라우팅하기 위한 방법을 실행하도록 사용될 수 있는 스위치의 실시예이다.
도 21은 수정될 수 있는 IDP의 유형의 일부를 이해하기에 유용한 표이다.
BRIEF DESCRIPTION OF THE DRAWINGS Embodiments will be described with reference to the following drawings, wherein like reference numerals designate like elements throughout the views, wherein:
Figure 1 is an embodiment of a computer network useful for understanding the present invention.
Figure 2 is an embodiment of a module that may be used in the present invention to perform certain operations of an IDP.
Figure 3 is a flow diagram of an exemplary process for manually generating a mission plan.
Figure 4 is a diagram useful in understanding the tool that can be used to help characterize the network in Figure 1;
FIG. 5 is an embodiment of a graphical user interface ("GUI") that can be used to select dynamic settings for a module in FIG.
FIG. 6 is an embodiment of a GUI that can be used to select a sequence of active and bypass states associated with each module in FIG.
Figure 7 is a flow diagram of an exemplary process for automatically and dynamically generating a mission plan.
Figure 8 is an exemplary process for identifying and resolving mission plan conflicts.
Figure 9 is a diagram useful for understanding how a mission plan can be delivered to multiple modules in the network in Figure 1.
10 is a schematic illustration of an exemplary GUI that can be used to select a mission plan from a plurality of mission plans as shown in FIG. 9 and that can be used to communicate a selected mission plan to a module.
Figure 11 is a flow chart useful for understanding the operation of the module in Figure 1;
Figure 12 is a schematic illustration useful for understanding the overall enterprise behavior of a computer network.
Figure 13 is a schematic view useful for understanding enterprise mission management.
Figure 14 is a flow diagram of an exemplary method for enterprise mission management of a dynamic computer network.
15 is a block diagram of a computer architecture that may be used to execute modules in FIG.
16 is a block diagram of a computer architecture that may be used to execute the network management computer ("NAC") shown in FIG.
Figure 17 is an embodiment of a computer network useful for understanding the present invention.
18 is a flowchart useful in understanding the operation of the switch in Fig.
19 is a flowchart useful for understanding the operation of the switch in Fig.
Figure 20 is an embodiment of a switch that can be used to implement a method for routing data packets in accordance with the present invention.
Figure 21 is a table useful for understanding some of the types of IDPs that can be modified.

본 발명은 첨부된 도면을 참조하여 설명된다. 도면은 축척에 따라 그려지지 않고 그들은 단지 즉각적으로 본 발명을 도시하도록 제공된다. 본 발명의 여러 측면은 도시를 위해 예시적인 어플리케이션을 참조하여 아래에 설명된다. 다수의 특정 세부사항, 관계, 및 방법은 본 발명의 완전한 이해를 제공하도록 제시된다는 것이 이해될 수 있다. 그러나 해당 기술분야의 당업자는 본 발명이 특정 세부사항 중 하나 이상 없이 또는 다른 방법으로 실시될 수 있다는 것을 용이하게 인지할 것이다. 다른 실시예에서, 공지된 구조 또는 동작은 본 발명을 모호하게 하는 것을 회피하도록 구체적으로 도시되지 않는다. 본 발명은 일부 작동이 다른 순서로 그리고/또는 다른 작동 또는 이벤트와 동시에 발생할 수 있기 때문에 작동 또는 이벤트의 도시된 순서에 의해 한정되지 않는다. 또한, 모든 도시된 작동 또는 이벤트가 본 발명에 따른 방법론을 실행하도록 요구되는 것은 아니다. The invention is described with reference to the accompanying drawings. The drawings are not drawn to scale and they are provided only to illustrate the invention in an instant. Various aspects of the invention are described below with reference to exemplary applications for illustration. It is to be understood that a number of specific details, relationships, and methods are presented to provide a thorough understanding of the present invention. However, those skilled in the art will readily appreciate that the present invention may be practiced without one or more of the specific details, or in other ways. In other embodiments, well-known structures or acts are not specifically shown to avoid obscuring the present invention. The present invention is not limited by the illustrated order of operations or events, as some operations may occur in different orders and / or concurrently with other operations or events. Also, not all illustrated acts or events are required to practice the methodology in accordance with the present invention.

또한 여기에 사용된 용어가 특정 실시예를 설명하는 목적을 위한 것이고 본 발명을 한정하도록 의도되지 않는다는 것이 인지될 수 있다. 여기 사용된 바와 같이, 단수형 "어(a)", "언(an)" 및 "더(the)"는 문맥이 달리 명백하게 지시하지 않는다면, 복수형 역시 포함하도록 의도된다. 또한, 용어 "포함하는(including)", "포함하다(includes)", "갖는(having)", "갖다(has)", "함께(with)", 또는 그것의 변형이 상세한 설명 및/또는 청구항에 사용된다면, 그러한 용어는 용어 "포함하는(comprising)"과 유사한 방식으로 포함하도록 의도된다. It is also to be appreciated that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural, unless the context clearly dictates otherwise. It should also be understood that the terms " including, "" includes," " having ", "having "," with ", or variations thereof, As used in the claims, such term is intended to be included in a manner similar to the term " comprising ".

또한, 달리 정의되지 않는다면, 여기에 사용된 모든 용어(기술적이고 과학적인 용어를 포함)는 본 발명이 속하는 해당 기술분야의 당업자에 의해 흔히 이해되는 바와 동일한 의미를 가진다. 공통으로 사용된 사전에 정의된 이들과 같은 용어는 관련 기술의 문맥에서의 의미에 일치하는 의미를 갖는 바와 같이 해석될 수 있고 여기에 강조해서 그렇게 정의되지 않으면 이상화되거나 지나치게 형식적인 관점에서 해석되지 않는다는 것이 더 이해될 수 있다.
Also, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It is to be understood that such commonly used predefined terms such as these may be construed as having a meaning consistent with the meaning in the context of the relevant art and are not to be interpreted in idealized or overly formal terms It can be understood more.

식별 discrimination 애자일Agile 컴퓨터 네트워크  Computer network

이제 도 1에 대해 언급하면서, 복수의 컴퓨팅 디바이스를 포함하는 예시적인 컴퓨터 네트워크(100)의 다이어그램이 도시되어 있다. 컴퓨팅 디바이스는 클라이언트 컴퓨터(101-103), NAC(104), 서버(111, 112), 네트워크층2 스위치(108, 109), 층3 스위치(110), 및 브릿지(115)를 포함할 수 있다. 클라이언트 컴퓨터(101-103)는 종래의 태블릿, 노트북, 랩탑 또는 데스크탑 컴퓨터와 같은 네트워크 서비스를 요구할 수 있는 임의 유형의 컴퓨팅 디바이스일 수 있다. 층3 스위치(110)는 컴퓨터 네트워크 사이에 데이터 패킷을 라우팅하는 종래의 라우팅 디바이스일 수 있다. 층2 스위치(108, 109)는 해당 기술분야에 공지된 바와 같은 종래의 허브 디바이스(예, 이더넷 허브)이다. 서버(111, 112)는 클라이언트 컴퓨터(101-103)에 의해 사용된 다양한 컴퓨팅 서비스를 제공할 수 있다. 예를 들어, 서버(111, 112)는 클라이언트 컴퓨터(101-103)에 의해 사용된 컴퓨터 파일의 공유된 저장을 위한 위치를 제공하는 파일 서버일 수 있다.Referring now to FIG. 1, a diagram of an exemplary computer network 100 including a plurality of computing devices is shown. The computing device may include client computers 101-103, NAC 104, servers 111 and 112, network layer 2 switches 108 and 109, layer 3 switch 110, and bridge 115 . The client computers 101-103 may be any type of computing device that may require network services, such as conventional tablet, notebook, laptop or desktop computers. Layer 3 switch 110 may be a conventional routing device that routes data packets between computer networks. Layer 2 switches 108 and 109 are conventional hub devices (e. G., Ethernet hubs) as are known in the art. Servers 111 and 112 may provide various computing services used by client computers 101-103. For example, the server 111, 112 may be a file server that provides a location for shared storage of computer files used by the client computers 101-103.

컴퓨터 네트워크(100)용 통신 미디어는 유선, 무선 또는 그 둘 모두일 수 있으나, 단순함을 위해 그리고 본 발명을 모호하게 하는 것을 피하기 위해 유선 네트워크로 여기에 설명될 수 있다. 네트워크는 통신 프로토콜을 사용하여 데이터를 통신할 것이다. 해당 기술분야에 공지된 바와 같이, 통신 프로토콜은 네트워크를 통해 데이터를 통신하도록 사용된 포맷 및 룰을 정의한다. 도 1에서 컴퓨터 네트워크(100)는 현재 공지되거나 장래에 공지될 임의 통신 프로토콜 또는 프로토콜의 조합을 사용할 수 있다. 예를 들어, 컴퓨터 네트워크(100)는 그러한 통신에 적합한 공지된 이더넷 프로토콜을 사용할 수 있다. 대안적으로, 컴퓨터 네트워크(100)는 인터넷 프로토콜 스위트의 프로토콜(종종 전송 제어 프로토콜/인터넷 프로토콜("TCP/IP") 스위트로 언급됨), 동기식 광통신망/동기식 디지털 계층 구조("SONET/SDH") 기반 프로토콜, 또는 비동기 전송 모드("ATM") 통신 프로토콜과 같은, 다른 프로토콜을 이용할 수 있다. 일부 실시예에서, 이들 통신 프로토콜 중 하나 이상은 조합해서 사용될 수 있다. 하나의 네트워크 토폴로지가 도 1에 도시됨에도, 본 발명은 이점에서 제한되지 않는다. 대신에, 버스 네트워크, 스타 네트워크, 링 네트워크 또는 메쉬 네트워크와 같은 임의 유형의 적합한 네트워크 토폴로지가 사용될 수 있다.The communication media for the computer network 100 may be wired, wireless, or both, but may be described herein as a wired network for the sake of simplicity and to avoid obscuring the present invention. The network will communicate data using a communication protocol. As is known in the art, communication protocols define the formats and rules used to communicate data over a network. In FIG. 1, the computer network 100 may use any communication protocol or combination of protocols that are currently known or will be known in the future. For example, the computer network 100 may use a known Ethernet protocol suitable for such communications. Alternatively, the computer network 100 may include a protocol of the Internet Protocol Suite (often referred to as a Transmission Control Protocol / Internet Protocol ("TCP / IP") suite), a Synchronous Optical Network / Synchronous Digital Hierarchy ) Based protocols, or asynchronous transfer mode ("ATM") communication protocols. In some embodiments, one or more of these communication protocols may be used in combination. Although one network topology is shown in FIG. 1, the present invention is not limited in this respect. Instead, any type of suitable network topology may be used, such as a bus network, a star network, a ring network, or a mesh network.

본 발명은 일반적으로 데이터가 제 1 컴퓨팅 디바이스로부터 제 2 컴퓨팅 디바이스로 전달되는 컴퓨터 네트워크(예, 컴퓨터 네트워크(100)에서)에서 데이터를 통신하기 위한 방법에 관한 것이다. 네트워크 내의 컴퓨팅 디바이스는 다중 IDP로 표현된다. 여기에 사용된, 어구 "식별 파라미터 또는 IDP"는 IP 어드레스, 미디어 액세스 제어("MAC") 어드레스, 포트 넘버 등과 같은 아이템을 포함할 수 있다. 그러나, 본 발명은 이 점에서 한정되지 않고, IDP는 또한 네트워크 노드를 특징화하기에 유용한 다양한 다른 정보를 포함할 수 있다. 여기에 고려되는 다양한 유형의 IDP가 아래에 더 구체적으로 논의된다. 일부 시나리오에서, IDP는 데이터 패킷의 헤더 및/또는 테일러부에 포함된 이들 파라미터를 포함하고, 데이터 패킷의 페이로드부에 포함된 이들을 포함하지 않는다. 여전히, 실시예는 이러한 시나리오의 세부사항으로 한정되지 않는다.The present invention generally relates to a method for communicating data in a computer network (e.g., in computer network 100) in which data is transferred from a first computing device to a second computing device. Computing devices within a network are represented by multiple IDPs. As used herein, the phrase "identification parameter or IDP" may include items such as an IP address, a media access control ("MAC") address, a port number, However, the invention is not limited in this respect, and the IDP may also include various other information useful for characterizing the network node. The various types of IDP considered here are discussed in more detail below. In some scenarios, the IDP includes these parameters included in the header and / or tailor part of the data packet and does not include those contained in the payload part of the data packet. Still, the embodiment is not limited to the details of such scenarios.

본 발명의 배열은 컴퓨터 네트워크(100) 내의 하나 이상의 컴퓨팅 디바이스를 위한 그러한 IDP 중 하나 이상을 조작하기 위한 이동 타킷 기술("MTT")의 사용을 포함한다. 이러한 기법은 그러한 컴퓨팅 디바이스의 통신 패턴 및 네트워크 어드레스를 가장한다. 여기에 설명된 바와 같은 IDP의 조작은 컴퓨터 네트워크(100)에서 데이터 통신과 관련해서, 즉, 데이터가 네트워크에서 제 1 컴퓨터(예, 클라이언트 컴퓨터(101))로부터 네트워크에서 제 2 컴퓨터(예, 클라이언트 컴퓨터(102))로 통신될 때 일반적으로 수행된다. 따라서, 조작되는 IDP는 소스 컴퓨팅 디바이스(즉, 데이터가 발생된 디바이스) 및 목적지 컴퓨팅 디바이스(즉, 데이터가 보내질 디바이스)의 이들을 포함할 수 있다. 통신되는 IDP의 세트는 IDP 세트로 여기에 언급된다. 이러한 개념이 IDP 세트(120)가 데이터 패킷(미도시)의 일부분으로서 클라이언트 컴퓨터(101)에 의해 송신되는 것을 나타내는, 도 1에 도시된다. The arrangement of the present invention includes the use of a mobile target technology ("MTT") for manipulating one or more of such IDPs for one or more computing devices within the computer network 100. This technique masquerades the communication pattern and network address of such a computing device. The operation of the IDP as described herein may be used in connection with data communication in the computer network 100, that is, when data is transmitted from a first computer (e.g., client computer 101) (E.g., computer 102). Thus, the IDP that is manipulated may include those of the source computing device (i.e., the device from which the data was generated) and the destination computing device (i.e., the device from which the data is to be sent). The set of IDPs communicated is referred to herein as the IDP set. This concept is illustrated in FIG. 1, which illustrates that IDP set 120 is transmitted by client computer 101 as part of a data packet (not shown).

본 발명에 따른 프로세스는 컴퓨터 네트워크(100) 내의 제 1 위치에서 소스 컴퓨팅 디바이스 및/또는 목적지 컴퓨팅 디바이스의 하나 이상의 식별 파라미터를 특정하는 데이터 패킷 또는 데이터그램에 포함된 값을 선택적으로 수정하는 단계를 포함한다. IDP는 미션 플랜에 따라서 수정된다. 그러한 수정이 수행되는 위치는 컴퓨터 네트워크(100)의 하나의 모듈(105-107, 113, 114)의 위치와 일반적으로 일치할 것이다. 도 1에 대해 다시 한 번 더 언급하면서, 모듈(105-107, 113, 114)이 그러한 네트워크에서 노드를 포함하는 다양한 컴퓨팅 디바이스 사이의 컴퓨터 네트워크(100)에 개재된다는 것이 관찰될 수 있다. 이들 위치에서, 모듈(105-107, 113, 114) 인터셉트 데이터 패킷 통신은 IDP의 필요한 조작을 수행하고, 송신 경로를 따라 데이터 패킷을 재송신한다. 대안적인 실시예에서, 모듈(105-107, 113, 114)은 유사한 기능을 수행할 수 있지만, 컴퓨팅 디바이스 중 하나 이상에 직접적으로 일체화될 수 있다. 예를 들어, 모듈은 클라이언트 컴퓨터(101, 102, 103), 서버(111, 112), 층2 스위치(108, 109) 및/또는 층3 스위치(110)에 일체화될 수 있다.The process according to the present invention includes selectively modifying values contained in a data packet or datagram that specify one or more identification parameters of a source computing device and / or a destination computing device at a first location within the computer network 100 do. The IDP is modified according to the mission plan. The location at which such modification is performed will generally coincide with the location of one module 105-107, 113, 114 of the computer network 100. Referring again to FIG. 1, it can be observed that modules 105-107, 113 and 114 are interposed in a computer network 100 between various computing devices including nodes in such networks. At these locations, the modules 105-107, 113 and 114 intercept data packet communications perform the necessary operations of the IDP and retransmit the data packets along the transmission path. In an alternative embodiment, modules 105-107, 113, and 114 may perform similar functions, but may be integrated directly into one or more of the computing devices. For example, the module may be integrated into the client computers 101, 102 and 103, the servers 111 and 112, the layer 2 switches 108 and 109 and / or the layer 3 switch 110.

부가적으로, 컴퓨터 네트워크(100)는 층3 스위치(110)를 통해 연결된, 때때로 서브-네트워크 또는 서브넷으로 언급되는 다수의 논리 세분으로 나누어질 수 있다. 엔터프라이즈 네트워크는 외부 호스트에 보일 수 있는 것으로부터 네트워크의 토폴로지를 숨기고, 다른 네트워크 프로토콜을 사용하여 네트워크를 연결하며, 서브넷 레벨 상의 네트워크 어드레싱 스킴을 분리하여 관리하고, 제한된 데이터 연결로인한 서브넷을 가로지른 데이터 트래픽의 관리를 가능하게 하고, 그리고 그와 유사한 것을 포함하지만, 그들로 한정되지 않는 다양한 관리 또는 기술적 이유로 인해 다수의 서브넷으로 나누어질 수 있다. 서브넷팅은 해당 기술분야에 공지되어 있고 더 구체적으로 설명되지 않을 것이다.Additionally, the computer network 100 may be divided into a number of logical subdivisions, sometimes referred to as subnetworks or subnets, connected through a Layer 3 switch 110. The enterprise network can hide the topology of the network from what it can see on the external host, connect the network using other network protocols, manage the network addressing scheme on the subnet level separately, and manage data traffic across the subnet , And the like, but may be subdivided into multiple subnets for various administrative or technical reasons, including but not limited to these. The subnetting is well known in the art and will not be described in further detail.

도 1에 대해 다시 언급하면서, 컴퓨터 네트워크(100)는 두 개의 논리 네트워크, 즉 제 1 논리 네트워크(130) 및 제 2 논리 네트워크(132)로 나누어진다. 여기에 사용된 바와 같은, 어구 "논리 네트워크"는 컴퓨터 네트워크의 임의의 논리 세분을 말한다. 실시예에서, 논리 네트워크(130, 132)는 층3 스위치(110)를 통해 연결된다. 층3 스위치(110)는 논리 네트워크 사이에, 즉, 클라이언트 컴퓨터(101)로부터 클라이언트 컴퓨터(103)로 트래픽을 지향하는데 책임이 있다. 층3 스위치(110)는 또한 제 2 네트워크(124)에 결합된 컴퓨터 네트워크(100)에 연결된 임의의 호스트로부터 트래픽을 지향하는데 책임이 있다. 도 1에 도시된 실시예에서, 컴퓨터 네트워크(100)로부터 제 2 네트워크(124)로 라우팅된 트래픽은 브릿지(115)를 통해 통과한다. 위의 모듈에 대해서, 브릿지(115)의 기능성은 층3 스위치(110) 내에 일체화될 수 있다. Referring again to FIG. 1, the computer network 100 is divided into two logical networks: a first logical network 130 and a second logical network 132. As used herein, the phrase "logical network" refers to any logical subdivision of a computer network. In an embodiment, the logical networks 130 and 132 are connected via a layer 3 switch 110. Layer 3 switch 110 is responsible for directing traffic between logical networks, i.e., from client computer 101 to client computer 103. The Layer 3 switch 110 is also responsible for directing traffic from any host connected to the computer network 100 coupled to the second network 124. In the embodiment shown in FIG. 1, traffic routed from the computer network 100 to the second network 124 passes through the bridge 115. For the above modules, the functionality of bridge 115 may be integrated within layer 3 switch 110.

모듈(105)의 기능 블록도의 실시예가 도 2에 도시된다. 도 1의 모듈(106, 107, 113, 114)은 도 2에 도시된 것과 유사한 기능 블록도를 가질 수 있지만, 본 발명이 이 점에서 한정되지 않는다는 것이 이해되어야만 한다. 도 2에 도시된 바와 같이, 모듈(105)은 각각이 각각의 네트워크 인터페이스 디바이스(204, 205)에 대응할 수 있는 적어도 두 개의 데이터 포트(201, 202)를 가진다. 데이터 포트(201)에 수신된 데이터는 네트워크 인터페이스 디바이스(204)에서 처리되고 입력 버퍼(210)에 임시 저장된다. 프로세서(215)는 입력 버퍼(210)에 포함된 입력 데이터 패킷에 접근하고 여기에 설명된 바와 같은 IDP의 임의 필요한 조작을 수행한다. 수정된 데이터 패킷은 출력 버퍼(212)로 통과되고 이어서 네트워크 인터페이스 디바이스(205)를 사용하여 데이터 포트(202)로부터 송신된다. 유사하게, 데이터 포트(202)에 수신된 데이터는 네트워크 인터페이스 디바이스(205)에서 처리되고 입력 버퍼(208)에 임시 저장된다. 프로세서(215)는 입력 버퍼(208)에 포함된 입력 데이터 패킷에 접근하고 여기에 설명된 바와 같은 IDP의 임의 필요한 조작을 수행한다. 수정된 데이터 패킷은 출력 버퍼(206)로 통과되고 이어서 네트워크 인터페이스 디바이스(204)를 사용하여 데이터 포트(201)로부터 송신된다. 모듈(105)에서, IDP의 조작은 메모리(218)에 저장된 미션 플랜(220)에 따라 프로세서(215)에 의해 수행된다. An embodiment of a functional block diagram of module 105 is shown in Fig. It should be understood that modules 106, 107, 113 and 114 of FIG. 1 may have functional block diagrams similar to those shown in FIG. 2, but the invention is not limited in this respect. As shown in FIG. 2, the module 105 has at least two data ports 201, 202, each of which can correspond to a respective network interface device 204, 205. The data received at the data port 201 is processed at the network interface device 204 and temporarily stored in the input buffer 210. [ The processor 215 accesses the input data packets contained in the input buffer 210 and performs any necessary operations of the IDP as described herein. The modified data packet is passed to the output buffer 212 and then transmitted from the data port 202 using the network interface device 205. Similarly, data received at the data port 202 is processed at the network interface device 205 and temporarily stored in the input buffer 208. The processor 215 accesses the input data packets contained in the input buffer 208 and performs any necessary operations of the IDP as described herein. The modified data packet is passed to the output buffer 206 and then transmitted from the data port 201 using the network interface device 204. In module 105, the operation of the IDP is performed by the processor 215 in accordance with the mission plan 220 stored in the memory 218.

모듈(105)은 그것이 양방향으로 동작하도록 바람직하게 구성된다는 것이 도 2로부터 이해될 것이다. 그러한 실시예에서, 모듈(105)은 특정 데이터 패킷의 소스에 따라서, 다른 수정 기능을 실행할 수 있다. 모듈(105)에서 동적인 수정 기능은 특정 데이터 패킷의 소스 컴퓨팅 디바이스에 따라 미션 플랜에서 특정될 수 있다. 모듈(105)은 임의의 적합한 수단에 의해 데이터 패킷의 소스를 결정할 수 있다. 예를 들어, 데이터 패킷의 소스 어드레스는 이러한 목적을 위해 사용될 수 있다.It will be understood from FIG. 2 that module 105 is preferably configured to operate in both directions. In such an embodiment, the module 105 may perform other modification functions depending on the source of the particular data packet. The dynamic modification function in module 105 may be specified in the mission plan depending on the source computing device of the particular data packet. Module 105 may determine the source of the data packet by any suitable means. For example, the source address of a data packet may be used for this purpose.

동작 동안, 프로세서(215)는 참 IDP 값 대신에 사용될 하나 이상의 거짓 IDP 값을 판단할 것이다. 프로세서(215)는 하나 이상의 참 IDP 값을 의사랜덤 함수에 의해 바람직하게 특정되는 하나 이상의 거짓 IDP 값으로 변환할 것이다. 이러한 변환에 이어서, 모듈(105)은 송신 경로를 따라서 수정된 패킷 또는 데이터그램을 컴퓨터 네트워크(100)의 다음의 노드로 보낼 것이다. 통신 경로에서 이어지는 포인트에서, 그러한 네트워크 통신을 모니터링하는 적은 컴퓨터 네트워크(100) 상에 통신하는 컴퓨팅 디바이스의 식별에 관한 거짓 또는 부정확한 정보를 발견할 것이다.During operation, the processor 215 will determine one or more false IDP values to be used in place of the true IDP value. Processor 215 will convert one or more true IDP values to one or more false IDP values that are preferably specified by a pseudo-random function. Following this transformation, the module 105 will send the modified packet or datagram along the transmission path to the next node in the computer network 100. At a subsequent point in the communication path, a small computer monitoring such network communication will find false or inaccurate information regarding the identification of a computing device communicating on the network 100.

IDP 값은 통신 프로토콜에 의해 정의된 미리결정된 포맷을 가질 것이다. 예를 들어, IP 어드레스 및 MAC 어드레스는 각각 공지된 미리결정된 포맷을 가질 것이다. 공격자가 거짓 IDP로부터 참 IDP를 식별할 수 없는 것이 바람직하기 때문에, 거짓 IDP 값은 참 IDP와 동일한 포맷을 가질 수 있다. 달리 말해서, 거짓 IDP는 특정 네트워크 통신 프로토콜을 사용할 때 그러한 유형의 IDP에 대해 일반적으로 특정되는 정확한 특징 및 포매팅 모두를 가질 수 있다. 본 발명의 목적을 위해, IDP는 명백하게 송신될 수 있다고 기대된다(즉, 정보는 암호화되지 않을 것이다). 송신된 데이터 패킷에 포함된 참 및 거짓 IDP 모두에 대한 정확한 포맷을 유지하는 것에 의해서, 시스템은 네트워크 트래픽을 관찰하는 적이 송신된 IDP 값이 실제로 참인지 또는 거짓인지 여부를 효과적으로 결정할 수 없음을 보장한다.The IDP value will have a predetermined format defined by the communication protocol. For example, the IP address and the MAC address will each have a known predetermined format. A false IDP value may have the same format as a true IDP, since it is desirable that an attacker can not identify a true IDP from a false IDP. In other words, a fake IDP can have both exact features and formatting that are typically specified for that type of IDP when using a particular network communication protocol. For purposes of the present invention, it is expected that the IDP can be explicitly transmitted (i.e., the information will not be encrypted). By maintaining the correct format for both the true and false IDPs contained in the transmitted data packet, the system ensures that the observer of network traffic can not effectively determine whether the transmitted IDP value is actually TRUE or FALSE .

일부 시나리오에서, 의사랜덤 함수에 의해 특정된 거짓 IDP는 하나 이상의 리액티브 트리거 이벤트의 발생에 따라서 변화된다. 리액티브 트리거 이벤트는 프로세서(215)가 참 IDP가 변환되는 거짓 IDP 값의 새로운 세트를 발생시키도록 의사랜덤 함수를 사용하게 한다. 따라서, 리액티브 트리거 이벤트는 여기에 설명된 거짓 IDP의 동적인 변화에 관한 토대로서 역할한다. 리액티브 트리거 이벤트는 아래에 더 구체적으로 논의된다. 그러나 IDP에 관한 거짓값의 새로운 세트를 선택하기 위한 리액티브 트리거 이벤트가 적어도 하나의 미리정의된 룰에 기반할 수 있다는 것이 언급되어야만 한다. 룰은 적어도 하나의 리액티브 트리거 이벤트를 정의하는 문장을 포함한다. 이 점에서, 사용자 룰은 패킷 검사 기반 스킴, 혼잡도 기반 스킴, 휴리스틱 알고리즘 기반 스킴 및/또는 네트워크 기반 공격("NBA") 분석 기반 스킴을 실행할 수 있다. 열거된 스킴의 각각은 아래에 구체적으로 설명될 것이다. In some scenarios, a false IDP specified by a pseudo-random function changes in response to the occurrence of one or more reactive trigger events. The reactive trigger event causes the processor 215 to use a pseudo-random function to generate a new set of false IDP values for which a true IDP is to be converted. Therefore, the reactive trigger event serves as the basis for the dynamic change of the false IDP described here. Reactive trigger events are discussed in more detail below. It should be noted, however, that a reactive trigger event for selecting a new set of false values for an IDP may be based on at least one predefined rule. The rule includes a sentence that defines at least one reactive trigger event. At this point, the user rules may implement a packet inspection based scheme, a congestion based scheme, a heuristic algorithm based scheme, and / or a network based attack ("NBA") analysis based scheme. Each of the listed schemes will be described in detail below.

위에 설명된 IDP의 변환은 사이버 공격을 막는 목적을 위해 컴퓨터 네트워크(100)를 전환시키는 하나의 방식을 제공한다. 일부 시나리오에서, 프로세서(215)에 의해 실행된 미션 플랜(220)은 또한 컴퓨터 네트워크(100)가 전환할 수 있는 방식의 특정 다른 측면을 제어할 것이다. 예를 들어, 미션 플랜(220)은 IDP의 동적 선택이 조작된다는 것을 특정할 수 있다. 동적인 선택은 어느 IDP가 수정을 위해 선택되는지의 선택 및/또는 선택되는 그러한 IDP의 수를 포함할 수 있다. 이러한 가변적인 선택 프로세스는 컴퓨터 네트워크(100)에 대해 침투하거나 습득하려는 적의 노력을 더 막을 수 있도록 사용될 수 있는 추가된 불특정성 또는 변동성의 특성을 제공한다. 이러한 기법의 실시예로서, 제 1 시간 기간 동안, 모듈(105)이 각각의 데이터 패킷의 목적지 IP 어드레스 및 목적지 MAC 어드레스를 수정할 수 있다는 것을 고려한다. 제 2 시간 기간 동안, 모듈(105)은 각각의 데이터 패킷에서 소스 IP 어드레스 및 소스 호스트 네임을 조작할 수 있다. 시간의 제 3 기간 동안, 모듈(105)은 소스 포트 넘버 및 소스 사용자 네임을 조작할 수 있다. IDP의 선택에서 변화는 동시에 발생할 수 있다(즉, 모든 선택된 IDP는 동시에 변화된다). 대안적으로, IDP의 선택에서의 변화는 비동기로 발생할 수 있다(즉, 선택된 IDP의 그룹은 개별 IDP가 선택된 IDP의 그룹으로부터 추가되거나 제거됨에 따라 점차적으로 변한다).The conversion of the IDP described above provides one way to switch the computer network 100 for the purpose of preventing cyber attacks. In some scenarios, the mission plan 220 executed by the processor 215 will also control certain other aspects of the manner in which the computer network 100 can switch. For example, the mission plan 220 may specify that the dynamic selection of the IDP is to be manipulated. The dynamic selection may include the selection of which IDP is selected for modification and / or the number of such IDPs to be selected. This variant selection process provides additional unspecificity or variability characteristics that can be used to further block the enemy's effort to penetrate or acquire computer network 100. [ As an example of this technique, consider that during a first time period, the module 105 may modify the destination IP address and the destination MAC address of each data packet. During the second time period, the module 105 may manipulate the source IP address and the source host name in each data packet. During a third period of time, the module 105 may manipulate the source port number and the source user name. Changes in the selection of IDPs can occur simultaneously (i.e., all selected IDPs change simultaneously). Alternatively, changes in the selection of the IDP may occur asynchronously (i.e., the group of selected IDPs gradually changes as individual IDPs are added or removed from the selected group of IDPs).

의사랜덤 함수는 바람직하게 거짓값으로 조작되거나 변환될 식별 값의 선택을 결정하도록 사용된다. 달리 말해서, 모듈(105)은 의사랜덤 함수에 의해 선택된 IDP만을 변환할 것이다. 일부 시나리오에서, 의사랜덤 함수에 의해 특정된 IDP의 선택은 리액티브 트리거 이벤트의 발생에 따라 변화된다. 리액티브 트리거 이벤트는 프로세서(215)가 거짓 IDP로 변환될 IDP의 새로운 선택을 발생시키도록 의사랜덤 함수를 사용하게 한다. 따라서, 리액티브 트리거 이벤트는 여기에 설명된 IDP의 선택의 동적인 변화를 위한 토대로서 역할한다. 특히, IDP의 값은 또한 의사랜덤 알고리즘에 따라 변화될 수 있다.The pseudo-random function is preferably used to determine the choice of identification value to be manipulated or converted to a false value. In other words, the module 105 will only convert the IDPs selected by the pseudo-random function. In some scenarios, the selection of the IDP specified by the pseudo-random function changes with the occurrence of the reactive trigger event. The reactive trigger event causes the processor 215 to use a pseudo-random function to generate a new selection of the IDP to be converted to a false IDP. Thus, the reactive trigger event serves as the basis for the dynamic change of selection of the IDP described herein. In particular, the value of the IDP may also be varied according to a pseudo-random algorithm.

그 모듈(105)은 또한 사이버 공격을 막는 목적을 위해 컴퓨터 네트워크를 전환하는 제 3의 방법을 유리하게 제공할 수 있다. 구체적으로, 모듈(105)에 로딩된 미션 플랜(220)은 IDP의 수정 또는 변환이 발생할 수 있는 네트워크 내의 위치를 동적으로 변하게 할 수 있다. 클라이언트 컴퓨터(101)로부터 클라이언트 컴퓨터(102)로 보내진 IDP 세트(120)에서 IDP의 수정이 모듈(105)에서 발생할 수 있다는 것을 고려한다. 이러한 조건은 IDP 세트(120)가 새로운 또는 수정된 IDP 세트(122)로 변환되도록 IDP 세트(120)에 포함된 IDP가 모듈(105)에서 조작되는 도 1에 도시된다. IDP 세트(122)에서 IDP의 적어도 일부는 IDP 세트(120)에서의 IDP에 비해 다르다. 그러나 그러한 변환이 발생하는 위치는 또한 바람직하게 미션 플랜에 의해 제어된다. 따라서, IDP 세트(120)의 조작은 예를 들어, 모듈(105)에서 대신에 도 1의 모듈(113, 114)에서 때때로 발생할 수 있다. IDP의 조작이 발생하는 위치를 선택적으로 변경하는 이러한 능력은 컴퓨터 네트워크(100)의 전환 능력에 더 중요한 특성을 부가한다.The module 105 may also advantageously provide a third method of switching the computer network for the purpose of preventing cyber attacks. Specifically, the mission plan 220 loaded into the module 105 can dynamically change the location in the network where modification or translation of the IDP can occur. Consider that a modification of the IDP may occur in the module 105 in the IDP set 120 sent from the client computer 101 to the client computer 102. [ This condition is shown in FIG. 1 where the IDPs contained in the IDP set 120 are manipulated in the module 105 such that the IDP set 120 is transformed into a new or modified IDP set 122. At least a portion of the IDP in the IDP set 122 is different from the IDP in the IDP set 120. [ However, the location at which such conversion occurs is also preferably controlled by the mission plan. Thus, manipulation of the IDP set 120 may occasionally occur in modules 113 and 114 of FIG. 1 instead of, for example, module 105. FIG. This ability to selectively change the location at which the operation of the IDP occurs adds more importance to the ability of the computer network 100 to switch.

IDP가 수정되는 위치에서 동적인 변화는 도 1의 각각의 모듈(105-107, 113, 114)의 동작 상태를 선택적으로 제어하는 것에 의해 용이해진다. 그 목적을 위해, 도 1의 각각의 모듈(105-107, 113, 114)의 동작 상태는 바람직하게 (1) 데이터가 현재의 미션 플랜에 따라 처리되는 활성 상태, 및 (2) 모듈이 존재하지 않았던 것처럼 패킷이 모듈을 통해 흐를 수 있는 바이패스 상태를 포함한다. 동적인 수정이 수행되는 위치는 선택적으로 컴퓨터 네트워크(100)의 특정 모듈이 활성 상태에 있게 하고 컴퓨터 네트워크(100)의 특정 모듈이 대기 상태에 있게 하는 것에 의해 제어된다. 위치는 조정된 방식으로 모듈(105-107, 113, 114)의 현재 상태를 동적으로 변경하는 것에 의해 동적으로 변화될 수 있다. A dynamic change in the position at which the IDP is modified is facilitated by selectively controlling the operating state of each module 105-107, 113, 114 of FIG. For that purpose, the operational state of each module 105-107, 113, 114 of FIG. 1 is preferably (1) an active state in which data is processed according to the current mission plan, and (2) It includes a bypass state where packets can flow through the module as if it had not. The location at which the dynamic modification is performed is optionally controlled by having a particular module of the computer network 100 in an active state and having a particular module of the computer network 100 in a standby state. The location can be changed dynamically by dynamically changing the current state of the modules 105-107, 113, 114 in an adjusted manner.

미션 플랜(220)은 IDP가 조작될 컴퓨터 네트워크(100) 내의 위치를 결정하기 위한 미리 정해진 시퀀스를 포함할 수 있다. IDP가 조작될 위치는 때때로 리액티브 트리거 이벤트에 의해 지시된 미리 정해진 시퀀스를 따라 변할 것이다. 예를 들어, 리액티브 트리거 이벤트는 여기에 설명된 바와 같은 IDP의 조작 또는 변환을 위한 새로운 위치로의 천이를 야기할 수 있다. 따라서, 리액티브 트리거 이벤트는 IDP가 수정되는 위치에서 변화의 발생을 위한 토대로서 역할하고, 미리 정해진 시퀀스는 어디에 새로운 위치가 있을지를 결정한다.The mission plan 220 may include a predetermined sequence for determining the location within the computer network 100 where the IDP is to be operated. The location at which the IDP is manipulated will sometimes change along a predetermined sequence indicated by a reactive trigger event. For example, a reactive trigger event may cause a transition to a new location for manipulation or translation of an IDP as described herein. Thus, a reactive trigger event acts as a basis for the occurrence of a change in the location at which the IDP is modified, and the predetermined sequence determines where the new location will be.

앞서 언급한 것으로부터, 데이터 패킷이 거짓 IDP를 포함하도록 도 1의 모듈(105-107, 113, 114)에서 수정된다는 것이 인지될 것이다. 컴퓨터 네트워크(100) 내의 일부 포인트에서, IDP를 참값으로 복원하는 것이 필요하고, 그래서 IDP는 특정 네트워크 프로토콜에 따라 의도된 기능을 적절하게 수행하도록 사용될 수 있다. 따라서, 본 발명의 배열은 또한 제 2 위치(즉, 제 2 모듈)에서 미션 플랜(220)에 따라 IDP에 대해 할당된 값을 동적으로 수정하는 것을 포함한다. 제 2 위치에서 수정은 IDP를 수정하도록 제 1 위치에서 사용된 프로세스의 역을 핵심적으로 포함한다. 따라서 제 2 위치에서 모듈은 거짓값 IDP를 그들의 참값으로 다시 복구하거나 변환할 수 있다. 이러한 동작을 달성하기 위해, 제 2 위치에서 모듈은 적어도 (1) 변환될 IDP 값의 선택, 및 (2) 거짓값에서 참값으로의 선택된 IDP의 정확한 변환을 결정할 수 있어야만 한다. 사실상, 이러한 프로세스는 IDP 선택 및 그러한 IDP에 영향을 준 변화를 결정하도록 사용된 의사랜덤 프로세스 또는 프로세스들의 역을 포함한다. 역변환 단계는 도 1에 도시되고, 여기서 IDP 세트(122)는 모듈(106)에서 수신되고, IDP 세트(122)에서의 IDP 값은 원래 또는 참값으로 다시 변환되거나 조작된다. 이러한 시나리오에서, 모듈(106)은 IDP 값을 IDP 세트(120)의 것으로 다시 변환한다. From the foregoing, it will be appreciated that the data packet is modified in modules 105-107, 113, 114 of FIG. 1 to include a false IDP. At some point within the computer network 100, it is necessary to restore the IDP to a true value, so that the IDP can be used to properly perform the intended function according to the particular network protocol. Thus, the arrangement of the present invention also includes dynamically modifying the value assigned for the IDP according to the mission plan 220 in the second location (i.e., the second module). The modification at the second location essentially includes the inverse of the process used at the first location to modify the IDP. Thus, in the second position, the module can recover or convert the false value IDP back to their true value. To accomplish this, the module at the second location must be able to determine at least (1) the selection of the IDP value to be transformed and (2) the correct conversion of the selected IDP to a true value from a false value. In effect, this process includes the inverse of the pseudorandom process or processes used to determine the IDP selection and the changes that have affected such IDP. 1, where the IDP set 122 is received at the module 106 and the IDP value in the IDP set 122 is converted or manipulated back to its original or true value. In this scenario, the module 106 converts the IDP value back to that of the IDP set 120.

특히, 모듈은 그것이 수신하는 각각의 데이터 통신에 적용하기 위한 적절한 변환 또는 조작을 결정하는 일부 방식을 가져야만 한다. 일부 시나리오에서, 이러한 결정은 수신된 데이터 통신 내에 포함된 적어도 소스 어드레스 IDP를 검토하는 것에 의해 수행된다. 예를 들어, 소스 어드레스 IDP는 소스 컴퓨팅 디바이스의 IP 어드레스를 포함할 수 있다. 소스 컴퓨팅 디바이스의 참 식별이 알려지면, 모듈은 어떤 조치를 취할 필요가 있는지를 결정하기 위해 미션 플랜(또는 미션 플랜으로부터 유도된 정보)을 참고한다. 예를 들어, 이들 조치는 특정 참 IDP 값을 거짓 IDP 값으로 변환하는 것을 포함할 수 있다. 대안적으로, 이러한 변화는 거짓 IDP 값을 참 IDP 값으로 다시 변환하는 것을 포함할 수 있다.In particular, a module must have some way of determining the appropriate conversion or manipulation to apply to each data communication it receives. In some scenarios, this determination is performed by reviewing at least the source address IDP included in the received data communication. For example, the source address IDP may include the IP address of the source computing device. Once true identification of the source computing device is known, the module refers to the mission plan (or information derived from the mission plan) to determine what action needs to be taken. For example, these actions may include converting a particular true IDP value to a false IDP value. Alternatively, this change may include converting the false IDP value back to a true IDP value.

특히, 수신된 데이터 통신에 포함된 소스 어드레스 IDP 정보가 거짓값으로 변화되는 예가 있을 것이다. 이러한 환경에서, 데이터 통신을 수신하는 모듈은 데이터 통신의 소스의 식별을 즉시 결정할 수 없을 것이다. 그러나, 통신을 수신했던 모듈은 그러한 예에서 소스 컴퓨팅 디바이스를 여전히 식별할 수 있다. 이것은 특정 시간 동안 사용 시에 모든 그러한 거짓 소스 어드레스 IDP 값을 나열하는 룩-업-테이블("LUT")과 거짓 소스 어드레스 IDP 값을 비교하는 것에 의해 수신 모듈에서 달성된다. LUT는 또한 거짓 소스 어드레스 값에 대응하는 참 소스 어드레스 IDP 값의 목록을 포함한다. LUT는 미션 플랜(220)에 의해 직접적으로 제공될 수 있거나 미션 플랜(220) 내에 포함된 정보에 의해 발생될 수 있다. 둘 중 어느 한 경우에, 참 소스 어드레스 IDP 값의 식별화는 LUT로부터 쉽게 결정될 수 있다. 참 소스 어드레스 IDP가 결정되면, 그때 데이터 통신을 수신했던 모듈은 IDP에 어떤 조작이 요구되는지를 (미션 플랜에 기반해서) 결정하도록 이러한 정보를 사용할 수 있다.In particular, there will be an example in which the source address IDP information included in the received data communication is changed to a false value. In such an environment, the module receiving the data communication will not be able to immediately determine the identity of the source of the data communication. However, the module that received the communication may still be able to identify the source computing device in such an example. This is accomplished in the receiving module by comparing a false source address IDP value with a look-up-table ("LUT") listing all such false source address IDP values in use for a particular time. The LUT also contains a list of true source address IDP values corresponding to false source address values. The LUT may be provided directly by the mission plan 220 or may be generated by information included in the mission plan 220. In either case, the identification of the true source address IDP value can be easily determined from the LUT. Once the true source address IDP is determined, the module that has received the data communication at that time can use this information to determine what operation is required on the IDP (based on the mission plan).

특히, 미션 플랜(220)은 또한 IDP가 참값으로 복구되는 제 2 위치에서의 변화를 특정할 수 있다. 예를 들어, IDP가 모듈(105)을 포함하는 제 1 위치에서 동적으로 수정되는 것을 가정한다. 미션 플랜은 참값으로의 IDP의 복구가 설명된 바와 같이 모듈(106)에서 발생하는 것을 특정할 수 있지만, 대신에 동적인 수정이 모듈(113, 114)에서 발생하는 것을 대안적으로 특정할 수 있다. 일부 실시예에서, 그러한 조작이 발생하는 위치는 미리 정의된 시퀀스에 따라 미션 플랜에 의해 동적으로 결정된다. 미리 정의된 시퀀스는 IDP의 조작이 발생하는 위치 또는 모듈의 시퀀스를 결정할 수 있다. In particular, the mission plan 220 may also specify a change in the second location where the IDP is restored to a true value. For example, it is assumed that the IDP is dynamically modified at a first location that includes the module 105. The mission plan may specify that recovery of the IDP to a true value occurs in module 106 as described, but instead may alternatively specify that a dynamic modification occurs in module 113, 114 . In some embodiments, the location at which such an operation occurs is dynamically determined by the mission plan in accordance with a predefined sequence. The predefined sequence may determine the position or sequence of modules where the manipulation of the IDP occurs.

다른 위치에서 동적 수정을 포함하는 천이는 바람직하게 리액티브 트리거 이벤트에 따라 일어난다. 따라서, 미리 정의된 시퀀스는 데이터 조작이 발생하는 위치의 패턴 또는 시퀀스를 결정하고, 리액티브 트리거 이벤트는 하나의 위치로부터 다음으로의 천이를 야기하기 위한 토대로서 역할한다. 리액티브 트리거 이벤트는 아래에 더 구체적으로 논의되지만; 리액티브 트리거 이벤트가 적어도 하나의 미리 정의된 룰에 기반할 수 있다는 것이 언급되어야만 한다. 룰은 적어도 하나의 리액티브 트리거 이벤트를 정의하는 문장을 포함한다. 이 점에서, 사용자 룰은 패킷 검사 기반 스킴, 혼잡도 기반 스킴, 휴리스틱 알고리즘 기반 스킴 및/또는 NBA 분석 기반 스킴을 실행할 수 있다. 열거된 스킴의 각각은 아래에 구체적으로 설명될 것이다. 제 2 위치(즉, IDP가 참값으로 되돌아가는 곳)의 선택에 대한 제어는 제 1 위치에 관해 위에 설명된 바와 동일한 방식으로 영향받을 수 있다. 구체적으로, 둘 이상의 모듈의 동작 상태는 활성 상태와 바이패스 상태 사이에 토글링될 수 있다. IDP의 조작은 활성 동작 상태를 갖는 모듈에서만 발생할 것이다. 바이패스 동작 상태를 갖는 모듈은 수정 없이 데이터 패킷을 단순히 통과시킬 것이다. Transitions involving dynamic modification at other locations preferably occur in response to a reactive trigger event. Thus, the predefined sequence determines the pattern or sequence of locations where data manipulation occurs, and the reactive trigger event serves as a basis for causing transitions from one location to the next. Reactive trigger events are discussed in more detail below; It should be noted that the reactive trigger event may be based on at least one predefined rule. The rule includes a sentence that defines at least one reactive trigger event. At this point, the user rules may execute packet inspection based schemes, congestion based schemes, heuristic algorithm based schemes and / or NBA analysis based schemes. Each of the listed schemes will be described in detail below. Control over the selection of the second position (i.e., where the IDP returns to a true value) can be effected in the same manner as described above with respect to the first position. Specifically, the operating state of the two or more modules may be toggled between the active state and the bypass state. Operation of the IDP will only occur in modules with active operating states. A module with a bypass operating state will simply pass the data packet without modification.

대안적인 방법 역시 IDP의 조작이 발생할 위치를 제어하도록 사용될 수 있다. 예를 들어, 네트워크 관리자는 미션 플랜에서 IDP가 참값에서 거짓값으로 변환될 수 있는 여러 가능한 모듈을 정의할 수 있다. 리액티브 트리거 이벤트의 발생 시에, 새로운 위치는 의사랜덤 함수를 사용하고, 의사랜덤 함수를 위한 시드값으로 트리거 시간을 사용하는 것에 의해 여러 모듈 가운데로부터 선택될 수 있다. 각각의 모듈이 동일한 최초 시드 값을 사용하여 동일한 의사랜덤 함수를 실행한다면 그때 각각의 모듈은 동일한 의사랜덤 값을 계산할 것이다. 트리거 시간은 GPS 시간 또는 시스템 클록 시간과 같은, 클록 시간에 기반해서 결정될 수 있다. 이 방식으로, 각각의 모듈은 그것이 현재 IDP의 조작이 발생해야만 하는 활성 위치인지 여부를 독립적으로 결정할 수 있다. 유사하게, 네트워크 관리자는 미션 플랜에서 동적인 조작이 IDP를 정확한 또는 참값으로 되돌리는 여러 가능한 모듈을 정의할 수 있다. 어느 모듈이 이러한 목적을 위해 사용되는가에 대한 선택 역시 여기에 설명된 바와 같이 트리거 시간 및 의사랜덤 함수에 따라 결정될 수 있다. IDP 조작이 발생할 위치 또는 모듈을 결정하기 위한 다른 방법 역시 가능하다. 따라서, 본 발명은 여기에 설명된 특정 방법으로 한정되는 것으로 의도되지 않는다.Alternative methods can also be used to control where the manipulation of the IDP occurs. For example, a network administrator can define several possible modules in a mission plan where IDP can be converted from a true value to a false value. At the occurrence of a reactive trigger event, the new position can be selected from among the various modules by using a pseudo-random function and using the trigger time as the seed value for the pseudo-random function. If each module executes the same pseudorandom function using the same initial seed value, then each module will calculate the same pseudorandom value. The trigger time can be determined based on clock time, such as GPS time or system clock time. In this way, each module can independently determine whether it is the active location where the operation of the current IDP should occur. Similarly, a network administrator can define several possible modules in a mission plan where dynamic operations return the IDP to a true or true value. The choice of which module is used for this purpose can also be determined according to the trigger time and the pseudo-random function, as described herein. Other ways to determine the location or module where an IDP operation will occur are also possible. Accordingly, the present invention is not intended to be limited to the specific methods described herein.

특히, 식별 함수가 조작되는 제 1 및/또는 제 2 위치의 위치를 변경하는 것은 네트워크 통신 경로를 따라 제 1 및 제 2 위치 사이의 물리적 거리를 변경하는 것을 종종 초래할 것이다. 제 1 및 제 2 위치 사이의 거리는 거리 벡터로서 여기에 언급된다. 거리 벡터는 제 1 및 제 2 위치 사이의 통신 경로에 따른 실제 물리적 거리일 수 있다. 그러나, 제 1 및 제 2 위치 사이의 통신 경로에 존재하는 네트워크 노드의 수를 나타내는 바와 같이 거리 벡터를 생각하는 것은 유용하다. 네트워크 내의 제 1 및 제 2 위치에 대해 다른 위치를 동적으로 선택하는 것은 제 1 및 제 2 위치 사이의 노드의 수를 변경하는 효과를 가질 수 있다는 것이 인지될 것이다. 예를 들어, 도 1에서, IDP의 동적인 수정은 모듈(105, 106, 107, 113, 114) 중 선택된 하나에서 실행된다. 동적 수정을 각각 실행하도록 실제로 사용된 모듈은 앞서 설명된 바와 같이 결정된다. 모듈(105)이 IDP를 거짓값으로 변환하도록 사용되고 모듈(106)이 그들을 참값으로 다시 변환하도록 사용된다면, 그때 모듈(105, 106) 사이에 세 개의 네트워크 노드(108, 110, 109)가 있다. 그러나 모듈(113)이 거짓값으로 변환하도록 사용되고 모듈(114)이 IDP를 참값으로 다시 변환하도록 사용된다면, 그때 모듈(113, 114) 사이에 단지 하나의 네트워크 노드(110)만이 있다. 따라서, 동적 수정이 발생하는 위치의 위치를 동적으로 변경하는 것은 거리 벡터를 동적으로 변경할 수 있다는 것이 인지될 수 있다. 일부 시나리오에서, 거리 벡터는 전체 네트워크 거동에 따라 특정된 미션 플랜을 변경하는 가변값을 가진다. 거리 벡터의 이러한 변동은 여기에 설명된 바와 같이 네트워크 전환 또는 수정에 추가된 가변성의 특성을 제공한다. In particular, changing the location of the first and / or second location where the identification function is operated will often result in changing the physical distance between the first and second locations along the network communication path. The distance between the first and second positions is referred to herein as a distance vector. The distance vector may be an actual physical distance along the communication path between the first and second locations. However, it is useful to think of the distance vector as it indicates the number of network nodes that are in the communication path between the first and second locations. It will be appreciated that dynamically selecting different locations for the first and second locations in the network may have the effect of changing the number of nodes between the first and second locations. For example, in FIG. 1, a dynamic modification of the IDP is performed on a selected one of the modules 105, 106, 107, 113, 114. The modules actually used to execute each of the dynamic modifications are determined as described above. If the module 105 is used to convert the IDP to a false value and the module 106 is used to convert them back to true values then there are then three network nodes 108,101 and 109 between the modules 105,106. However, if module 113 is used to convert to a false value and module 114 is used to convert IDP back to true, then there is only one network node 110 between modules 113 and 114. Thus, it can be appreciated that dynamically changing the position of the location where dynamic correction occurs can dynamically change the distance vector. In some scenarios, the distance vector has a variable value that changes the mission plan specified according to the overall network behavior. This variation of the distance vector provides a variability characteristic added to the network transition or modification as described herein.

본 발명에서, IDP 값의 조작, IDP의 선택, 및 이들 IDP가 있는 위치가 전환 파라미터로서 각각 정의된다. 변경이 이들 세 개의 전환 파라미터 중 하나에서 발생할 때마다, 네트워크 전환이 발생했다고 말해질 수 있다. 언제든 이들 세 개의 전환 파라미터 중 하나가 변경되면, 네트워크 전환이 발생했다고 말할 수 있다. 컴퓨터 네트워크(100)에 침투하려는 적들의 노력을 가장 효과적으로 방해하기 위해서, 네트워크 전환은 바람직하게 앞서 설명된 바와 같이 의사랜덤 프로세스에 의해 제어된다. 해당 기술분야의 당업자는 혼돈 프로세스 역시 이러한 기능을 수행하도록 사용될 수 있다는 것을 인지할 것이다. 혼돈 프로세스는 의사랜덤 함수에 비해 기술적으로 다르지만, 본 발명의 목적을 위해, 둘 중 어느 하나가 사용될 수 있고, 그 두 개는 동일한 것으로 간주된다. 일부 실시예에서, 동일한 의사랜덤 프로세스는 전환 파라미터 중 두 개 이상을 동적으로 변경하도록 사용될 수 있다. 그러나, 일부 시나리오에서, 두 개 이상의 다른 의사랜덤 프로세스가 이들 전환 파라미터 중 둘 이상이 다른 것들과 독립적으로 수정되도록 사용된다.
In the present invention, the manipulation of the IDP value, the selection of the IDP, and the position at which these IDPs are defined are respectively defined as the switching parameters. Every time a change occurs in one of these three switching parameters, it can be said that a network switchover has occurred. At any time, if one of these three switching parameters is changed, it can be said that a network switchover has occurred. In order to most effectively hinder the enemy's efforts to penetrate the computer network 100, the network transition is preferably controlled by a pseudo-random process as described above. Those skilled in the art will appreciate that the chaos process may also be used to perform this function. Although the chaos process is technically different from the pseudo-random function, for the purposes of the present invention, either can be used, and the two are considered to be the same. In some embodiments, the same pseudo-random process may be used to dynamically change two or more of the conversion parameters. However, in some scenarios, two or more different pseudorandom processes are used such that two or more of these transition parameters are modified independently of the others.

리액티브Reactive 트리거trigger 이벤트 event

위에 언급된 바와 같이, 전환 파라미터의 각각에 대한 동적 변경은 적어도 하나의 리액티브 트리거에 의해 제어된다. 리액티브 트리거는 변경이 여기에 설명된 동적 수정에 관련하여 발생하도록 하는 순수하게 자발적이거나 또는 사용자에 의해 시작된 이벤트이다. 달리 말해서, 리액티브 트리거는 네트워크가 이전 시간에서(즉, 리액티브 트리거의 발생 전에)와 다른 새로운 방식으로 전환하게 한다는 것이 언급될 수 있다. 예를 들어, 시간의 제 1 기간 동안, 미션 플랜 또는 보안 모델이 IP 어드레스가 값 A로부터 값 B로 변경되게 할 수 있지만, 대신에 리액티브 트리거 이벤트 후에, IP 어드레스는 값 A에서 값 C로 변경될 수 있다. 유사하게, 시간의 제 1 기간 동안 미션 플랜 또는 보안 모델은 IP 어드레스 및 MAC 어드레스가 수정되게 할 수 있지만; 대신에 리액티브 트리거 이벤트 후에, 미션 플랜 또는 보안 모델은 MAC 어드레스 및 사용자 네임이 수정되게 할 수 있다. As mentioned above, the dynamic change for each of the switching parameters is controlled by at least one reactive trigger. A reactive trigger is a purely spontaneous or user-initiated event that causes a change to occur in connection with the dynamic modification described herein. In other words, it can be mentioned that the reactive trigger causes the network to switch to a different way from the previous time (that is, before the occurrence of the reactive trigger). For example, during the first period of time, the mission plan or security model may cause the IP address to change from value A to value B, but instead, after a reactive trigger event, the IP address may change from value A to value C . Similarly, during the first period of time, the mission plan or security model may cause the IP address and MAC address to be modified; Instead, after a reactive trigger event, the mission plan or security model may cause the MAC address and user name to be modified.

가장 단순한 형태로 리액티브 트리거는 패킷 검사 기반 스킴, 혼잡도 기반 스킴, 휴리스틱 알고리즘 기반 스킴 및/또는 NBA 분석 기반 스킴에 기반할 수 있다. 패킷 검사 기반 스킴은 패킷의 기원, 패킷의 목적지, 기원 또는 목적지 디바이스가 속하는 그룹, 및/또는 패킷에 포함된 페이로드의 유형을 식별하는 식별자를 얻도록 패킷을 분석하는 것을 포함할 수 있다. 패킷 검사 기반 스킴은 또한 코드 단어가 그 안에 포함되거나 그로부터 부재하는지 여부를 결정하도록 패킷을 분석하는 것을 포함할 수 있다. 그러한 패킷 검사를 얻기 위한 기법은 해당 기술분야에 공지되어 있다. 현재 공지되거나 또는 장래에 공지될 임의의 그러한 기법이 제한 없이 본 발명으로 사용될 수 있다. 일부 실시예에서, 리액티브 트리거 이벤트는 식별자의 값이 미리 정의된 값에 일치할 때 발생한다. In its simplest form, the reactive trigger may be based on a packet inspection based scheme, a congestion based scheme, a heuristic algorithm based scheme, and / or an NBA analysis based scheme. The packet inspection based scheme may include analyzing the packet to obtain the origin of the packet, the destination of the packet, the origin or group to which the destination device belongs, and / or an identifier that identifies the type of payload included in the packet. The packet inspection based scheme may also include analyzing the packet to determine whether the code word is contained within or out of it. Techniques for obtaining such packet inspection are known in the art. Any such technique that is currently known or will be known in the future can be used with the present invention without limitation. In some embodiments, a reactive trigger event occurs when the value of the identifier matches a predefined value.

패킷 검사 시나리오에서, 패킷에서 내용의 특정 유형의 포함은 트리거가 기반하는 타이밍 스킴을 선택하기 위한 트리거로서 또는 파라미터로서 역할한다. 예를 들어, 트리거 이벤트는 (a) 엔티티의 특정 사람(예, 군대의 사령관)이 엔티티의 다른 멤버에게 정보를 전달할 때, 및/또는 (b) 특정 코드 단어가 패킷 내에 포함될 때 발생하는 것으로 정의될 수 있다. 대안적으로 또는 부가적으로, 트리거 이벤트는 특정 패킷 검사 어플리케이션에 따라 선택된 타이밍 스킴에 의해 정의된 바와 같이 매 N 제 2 시간 간격의 만료에서 발생하는 바와 같이 정의될 수 있고, 여기서 N은 정수이다. 이 점에서, 일부 실시예에서 제 1 타이밍 스킴은 (a) 엔티티의 제 1 사람(예, 군대의 사령관)이 엔티티의 다른 멤버와의 통신 세션을 요청할 때 또는 (b) 특정 코드 단어가 패킷 내에 존재할 때 선택될 수 있다는 것이 이해될 수 있다. 제 2 다른 타이밍 스킴은 (a) 엔티티의 제 2 사람(예, 군대의 소령)이 엔티티의 다른 멤버와의 통신 세션을 요청할 때 또는 (b) 제 2 코드 단어가 패킷 내에 존재하는 등의 때에 선택될 수 있다. 본 발명의 실시예는 위에 제공된 실시예의 세부사항으로 한정되지 않는다. 이 점에서, 패킷에 포함된 다른 내용이 트리거 이벤트를 규정할 수 있다는 것이 이해될 수 있다. 예를 들어, 패킷의 페이로드가 민감하거나 기밀인 정보를 포함한다면, 그때 새로운 미션 플랜 또는 보안 모델이 언급된 정보의 민감도 또는 기밀도의 레벨에 따라 선택될 수 있다.In a packet inspection scenario, the inclusion of a particular type of content in a packet serves as a trigger or as a parameter to select a timing scheme on which the trigger is based. For example, a trigger event may be defined as occurring when (a) a particular person of an entity (eg, a military commander) transmits information to other members of an entity, and / or (b) . Alternatively or additionally, the trigger event may be defined as occurring at the expiration of every N second time intervals as defined by the timing scheme selected according to the particular packet inspection application, where N is an integer. In this regard, in some embodiments, a first timing scheme may be used when (a) the first person of the entity (e.g., the commander of the army) requests a communication session with another member of the entity, or (b) It can be understood that it can be selected when it exists. The second different timing scheme may be selected when (a) a second person of the entity (e.g., an army major) requests a communication session with another member of the entity, or (b) the second code word is present in the packet, . The embodiments of the present invention are not limited to the details of the embodiments provided above. In this regard, it can be appreciated that other contents contained in the packet may define the trigger event. For example, if the payload of a packet contains sensitive or confidential information, then a new mission plan or security model may be selected according to the level of sensitivity or confidentiality of the referred to information.

그러한 시간 기반 트리거 배열에 있어서, 전환 파라미터 중 하나 이상이 미리 정의된 클록 시간에 따라서 매 N(예, 60)초마다 변할 수 있다. 일부 실시예에서, 전환 파라미터의 전부가 변경이 동기화되도록 동시에 변경할 수 있다. 조금 더 복잡한 실시예에서, 시간 기반 트리거 배열 역시 사용될 수 있지만, 다른 고유한 트리거 시간 간격이 각각의 전환 파라미터에 대해 선택될 수 있다. 따라서, 거짓 IDP 값은 시간 간격 X에서 변경될 수 있고, IDP의 선택은 시간 간격 Y에 따라 변할 수 있으며, 그러한 변화가 수행되는 위치는 시간 간격 Z에서 발생할 수 있고, 여기서 X, Y 및 Z는 다른 값이다.In such a time-based trigger arrangement, one or more of the switching parameters may change every N (e.g., 60) seconds in accordance with a predefined clock time. In some embodiments, all of the switching parameters may be changed at the same time so that the changes are synchronized. In a more complex embodiment, a time-based trigger arrangement may also be used, but other unique trigger time intervals may be selected for each switching parameter. Thus, the false IDP value can be changed in time interval X, the choice of IDP can vary in time interval Y, and the position at which such a change is performed can occur in time interval Z, where X, Y, and Z are It is a different value.

트리거 메커니즘으로서 클록 시간에 의존하는 본 발명의 실시예에서, 인식되지 않은 IDP로 인해 패킷이 손실되거나 떨어지지 않는다는 것을 보장하도록 다양한 모듈(105, 106, 107, 113, 114)에서 클록 사이에서와 같이 동기화를 제공하는 것이 유리하다는 것이 인지될 것이다. 동기화 방법은 공지되어 있고 임의의 적합한 동기화 메커니즘이 이러한 목적을 위해 사용될 수 있다. 예를 들어, 모듈은 GPS 클록 시간과 같은 매우 정확한 시간 기준을 사용하는 것에 의해 동기화될 수 있다. 대안적으로, 고유한 무선 동기화 신호가 중앙 제어 시설로부터 각각의 모듈로 방송될 수 있다. In an embodiment of the invention that relies on clock time as a trigger mechanism, synchronization (as between clocks) in various modules 105, 106, 107, 113, 114 to ensure that packets are not lost or dropped due to unrecognized IDP Lt; RTI ID = 0.0 > a < / RTI > The synchronization method is well known and any suitable synchronization mechanism may be used for this purpose. For example, a module may be synchronized by using a very precise time reference, such as a GPS clock time. Alternatively, a unique wireless synchronization signal may be broadcast to each module from the central control facility.

혼잡도 기반 스킴은: 컴퓨터 네트워크 내의 혼잡도를 모니터링하고 추적하고; 현재 혼잡도와 임계값을 비교하며; 그리고 비교의 결과에 기반해서 복수의 미션 플랜/모델로부터 미션 플랜 또는 보안 모델을 선택하는 것을 포함할 수 있다. 일부 시나리오에서, 새로운 미션 플랜 또는 보안 모델은 현재의 혼잡도가 임계값과 같거나, 그보다 크거나 또는 그보다 작을 때 선택된다. 이 방식으로, 미션 플랜 또는 보안 모델 변경은 컴퓨터 네트워크 내의 혼잡도에서 변화에 기반해서 명백하게 불규칙한 시간 간격에서 발생한다. Congestion-based schemes include: monitoring and tracking congestion within a computer network; Compares current congestion and threshold; And selecting a mission plan or security model from the plurality of mission plans / models based on the result of the comparison. In some scenarios, a new mission plan or security model is selected when the current congestion is equal to, greater than, or less than the threshold. In this way, changes to the mission plan or security model occur at an apparently irregular time interval based on changes in congestion within the computer network.

휴리스틱 알고리즘 기반 스킴은 상태를 결정하도록 네트워크를 분석하는 것을 포함할 수 있다. 그러한 네트워크 분석은 트래픽 패턴(예, 사용자의 수), 프로토콜 패턴, 및/또는 하루의 특정 시간에서 네트워크의 엔트로피 패턴(즉, 누군가와 통신하는 누군가)을 모니터링하는 것을 포함할 수 있다. 트래픽 패턴은 네트워크 장비 사용(예, 프로세서의 사용) 및 네트워크 디바이스(예, 네트워크 서버)로부터 존재하는 연결의 수에 관한 정보를 수집하는 것에 의해 결정될 수 있다. 수집된 정보는 복수의 가능한 트래픽 패턴 중 어느 것이 컴퓨터 네트워크 내에서 현재 존재하는지를 식별하도록 미리 정의된 표 또는 매트릭스의 내용에 대해 비교될 수 있다. 적어도 이러한 비교 동작의 결과에 기반해서, 새로운 미션 플랜 또는 보안 모델이 컴퓨터 네트워크에서의 사용을 위해 복수의 미션 플랜 및/또는 보안 모델로부터 선택될 수 있다. The heuristic algorithm-based scheme may include analyzing the network to determine the state. Such network analysis may include monitoring an entropy pattern of the network (i.e., someone communicating with someone) at a particular time of day, a traffic pattern (e.g., the number of users), a protocol pattern, and / The traffic pattern can be determined by gathering information about the number of connections existing from network device use (e.g., processor usage) and network devices (e.g., network servers). The collected information may be compared against the contents of a predefined table or matrix to identify which of a plurality of possible traffic patterns are currently present in the computer network. Based on at least the results of such comparison operations, a new mission plan or security model may be selected from a plurality of mission plans and / or security models for use in a computer network.

일부 휴리스틱한 시나리오에서, 미션 플랜 및/또는 보안 모델은 그 안의 실제 트래픽의 양에서의 변화에도 불구하고 일정하고 하이 레벨의 트래픽이 컴퓨터 네트워크 내에서 유지되는 바와 같이 구성될 수 있다. 일정한 하이 레벨의 트래픽은 그 안의 실제 트래픽의 양에 따라서 네트워크의 잡음 레벨을 조절하는(즉, 증가시키거나 또는 감소시키는) 것에 의해 유지된다. 결과적으로, 임의의 소정 시간에서 실제 트래픽의 양과 트래픽 패턴의 유형은 가려진다.In some heuristic scenarios, the mission plan and / or the security model may be configured such that a constant, high level of traffic is maintained in the computer network, despite changes in the amount of actual traffic therein. A certain high level of traffic is maintained by adjusting (i.e., increasing or decreasing) the noise level of the network depending on the amount of actual traffic therein. As a result, at any given time, the amount of actual traffic and the type of traffic pattern are obscured.

프로토콜 패턴은 네트워크 리소스에 관련된 사용자 활동에 관한 정보를 수집하는 것에 의해 결정될 수 있다. 그러한 정보는 컴퓨터 네트워크의 적어도 하나의 사용자에 관한 사용자 활동의 이력, 사용자 활동이 시작하는 시간, 사용자 활동이 멈추는 시간, 사용자 활동이 경과된 시간, 및 컴퓨터 네트워크의 적어도 하나의 사용자에 의해 수행된 동시에 발생한 사용자 활동을 식별하는 정보를 포함할 수 있지만, 그들로 한정되지 않는다. 수집된 정보는 특정 프로토콜 패턴이 현재 존재하는지 여부를 결정하도록 분석될 수 있다. 특정 프로토콜 패턴이 현재 존재한다고 결정되면, 그때 새로운 미션 플랜 또는 보안 모델이 컴퓨터 네트워크에서 사용을 위해 복수의 미션 플랜/모델로부터 선택될 수 있다. 이 방식으로, 미션 플랜 또는 보안 모델 변화가 프로토콜 패턴에서의 변화(더 구체적으로, 사용자 활동에서의 변화)에 기반해서 명백하게 불규칙한 시간 간격에서 발생한다.The protocol pattern may be determined by gathering information about user activity related to network resources. Such information may include at least one of a history of user activity with respect to at least one user of the computer network, a time at which user activity begins, a time at which user activity ceases, a time at which user activity has elapsed, But are not limited to, information identifying user activity that has occurred. The collected information may be analyzed to determine whether a particular protocol pattern currently exists. If it is determined that a particular protocol pattern currently exists, then a new mission plan or security model may be selected from multiple mission plans / models for use in the computer network. In this way, changes in the mission plan or security model occur at an apparently irregular time interval based on changes in protocol patterns (more specifically, changes in user activity).

엔트로피 패턴은 누가 컴퓨터 네트워크를 통해 서로 통신하는지에 관한 정보를 수집하는 것에 의해 결정될 수 있다. 수집된 정보에 기반해서, 새로운 미션 플랜 또는 보안 모델이 컴퓨터 네트워크에서 사용을 위해 복수의 미션 플랜/모델로부터 선택된다. 이러한 시나리오에서, 미션 플랜 또는 보안 모델 변화는 통신 세션에 참여하는 단체의 변화에 기반해서 명백하게 불규칙한 시간 간격에서 발생한다.The entropy pattern can be determined by gathering information about who is communicating with each other through a computer network. Based on the collected information, a new mission plan or security model is selected from multiple mission plans / models for use in the computer network. In such a scenario, a change in the mission plan or security model occurs at an apparently irregular time interval based on changes in the organizations participating in the communication session.

NBA 분석은 NBA의 레벨, NBA의 유형, 및/또는 현재 컴퓨터 네트워크에 가해지는 NBA 공격의 수를 결정하는 목적을 위해 수행된다. 그러한 NBA 분석은 해당기술분야에 공지되어 있고, 그러므로 여기에 설명되지 않을 것이다. 또한, 그러한 NBA 분석은: 컴퓨터 네트워크 내의 공격 이벤트를 모니터링하고 추적하며; 그리고 NBA 공격의 레벨 및/또는 NBA 공격의 유형을 결정하는 목적을 위해 LUT 동작을 수행하는 것을 포함할 수 있다는 것이 이해될 수 있다. 현재 공지되거나 장래에 공지될 임의의 NBA 분석 기법은 제한 없이 본 발명으로 사용될 수 있다. NBA 분석이 완료되면, 새로운 미션 플랜 또는 보안 모델이 NBA 분석의 결과에 기반해서 컴퓨터 네트워크에서 사용을 위해 복수의 미션 플랜/모델로부터 선택될 수 있다. 예를 들면, NBA가 로우 레벨 NBA이고 그리고/또는 제 1 유형이라고 결정된다면, 그때 제 1 미션 플랜 또는 보안 모델이 복수의 미션 플랜 또는 보안 모델로부터 선택된다. 반대로, NBA가 하이 레벨 NBA이고 그리고/또는 제 2 유형이라고 결정된다면, 그때 제 2 다른 미션 플랜 또는 보안 모델이 복수의 미션 플랜 또는 보안 모델로부터 선택된다. 이러한 시나리오에서, 미션 플랜 또는 보안 모델 변화는 NBA 공격의 레벨 및/또는 NBA 공격의 유형에서의 변화에 기반해서 명백하게 불규칙한 시간 간격에서 발생한다. 부가적으로 또는 대안적으로, 동일하거나 다른 레벨 및/또는 유형의 두 개 이상의 NBA 공격이 현재 컴퓨터 네트워크에 가해질 때 새로운 미션 플랜 또는 보안 모델이 선택될 수 있다. 이러한 시나리오에서, 미션 플랜 또는 보안 모델 변화는 현재 수행되는 공격의 수에서의 변화에 기반해서 명백하게 불규칙한 시간 간격에서 발생한다.The NBA analysis is performed for the purpose of determining the level of the NBA, the type of NBA, and / or the number of NBA attacks on the current computer network. Such NBA analysis is well known in the art, and therefore will not be described here. Such an NBA analysis may also include: monitoring and tracking attack events within a computer network; And performing LUT operations for purposes of determining the level of NBA attacks and / or the type of NBA attacks. Any NBA analytical technique that is currently known or will be known in the future can be used with the present invention without limitation. Once the NBA analysis is complete, a new mission plan or security model can be selected from multiple mission plans / models for use in the computer network based on the results of the NBA analysis. For example, if the NBA is a low level NBA and / or determined to be of a first type, then the first mission plan or security model is selected from a plurality of mission plans or security models. Conversely, if the NBA is determined to be a high level NBA and / or a second type, then a second different mission plan or security model is selected from the plurality of mission plans or security models. In such a scenario, the mission plan or security model change occurs at an apparently irregular time interval based on changes in the level of NBA attacks and / or types of NBA attacks. Additionally or alternatively, a new mission plan or security model may be selected when two or more NBA attacks of the same or different level and / or type are currently applied to the computer network. In such a scenario, a mission plan or security model change occurs at an apparently irregular time interval based on changes in the number of attacks currently being performed.

본 발명의 실시예에서, NBA는 네트워크 보안 소프트웨어 스위트에 의해 식별될 수 있다. 대안적으로, NBA는 패킷이 네트워크 전환의 현재 상태에 불일치하는 하나 이상의 IDP를 포함하는 모듈(105, 106, 107, 113, 114)에서 데이터 패킷의 수신 시에 식별될 수 있다. NBA를 식별하기 위한 토대에 상관없이, 그러한 NBA의 존재는 위에 설명된 바와 같이 리액티브 트리거 이벤트로서 역할할 수 있다. In an embodiment of the invention, the NBA may be identified by a suite of network security software. Alternatively, the NBA may be identified upon receipt of a data packet in a module (105, 106, 107, 113, 114) in which the packet includes one or more IDPs that are inconsistent with the current state of the network transition. Regardless of the basis for identifying an NBA, the presence of such an NBA may serve as a reactive trigger event, as described above.

위에 설명된 스킴에 기반한 리액티브 트리거 이벤트는 동일한 네트워크 전환의 유형을 야기할 수 있다. 예를 들어, 거짓 IDP, IDP의 선택 및 IDP 변환의 위치는 다음 중 하나 이상이 검출되는 경우를 제외하고 안정적으로(즉, 변경되지 않고) 유지될 수 있다: 특정 기원 또는 목적지를 갖는 패킷; 패킷에 포함된 코드 단어; 패킷에 포함된 비밀 또는 기밀 정보; 특정 혼잡도; 특정 트래픽 패턴; 특정 프로토콜 패턴; 특정 엔트로피 패턴; 특정 레벨 및/또는 유형의 NBA; 및 컴퓨터 네트워크 상에 현재 가해지는 NBA의 특정 수. 그러한 배열은 예를 들어, 보안을 증가시키도록 잦은 네트워크 전환이 요구되지 않는 컴퓨터 네트워크에서 선택될 수 있다. A reactive trigger event based on the schemes described above may cause the same type of network transition. For example, the location of the false IDP, the selection of the IDP, and the location of the IDP conversion can be maintained stably (i.e., unchanged), except when one or more of the following are detected: a packet with a particular origin or destination; Code words included in the packet; Confidential or confidential information contained in the packet; Specific congestion; Specific traffic patterns; Specific protocol patterns; Specific entropy pattern; Certain levels and / or types of NBA; And the specific number of NBAs currently on the computer network. Such an arrangement may be chosen, for example, in a computer network where frequent network switching is not required to increase security.

대안적으로, 위에 설명된 스킴에 기반해서 리액티브 트리거 이벤트는 다른 유형의 네트워크 전환을 야기할 수 있다. 그러한 실시예에서, NBA 분석의 결과에 기반해서 트리거 이벤트는 패킷 검사 및/또는 휴리스틱 알고리즘의 결과에 기반해서 트리거 이벤트에 비해서 네트워크 전환에 다른 효과를 가질 수 있다. 예를 들어, NBA 기반 트리거 이벤트는 그러한 NBA에 더 공격적으로 대응하도록 네트워크 전환에서 전략적이거나 공격적인 변화를 야기할 수 있다. 그러한 측정의 정밀성은 위협의 성질에 달려 있으나, 다양한 응답을 포함할 수 있다. 예를 들어, 다른 의사랜덤 알고리즘이 선택될 수 있고, 그리고/또는 각각의 IDP 세트(120)에서 조작을 위해 선택된 IDP의 수는 증가될 수 있다. 또한, 응답은 네트워크 전환의 빈도를 증가시키는 것을 포함할 수 있다. 따라서, 더 잦은 변화가 (1) 거짓 IDP 값, (2) 각각의 IDP 세트에서 변화될 IDP의 선택, 및/또는 (3) IDP가 변화되는 제 1 및 제 2 위치의 위치에 대해서 이루어질 수 있다. 따라서, 여기에 설명된 네트워크 전환은 다양한 인자에 기반해서 순수하게 자발적인 방식으로 미션 플랜 또는 보안 모델을 변경하기 위한 방법을 제공하고, 그로써 보안을 증가시킨다.
Alternatively, based on the scheme described above, a reactive trigger event may cause another type of network transition. In such an embodiment, based on the results of the NBA analysis, the trigger event may have a different effect on the network transition than the trigger event based on the results of the packet inspection and / or heuristic algorithm. For example, NBA-based triggering events can cause strategic or aggressive changes in network conversions to respond more aggressively to those NBAs. The precision of such a measurement depends on the nature of the threat, but may include a variety of responses. For example, other pseudorandom algorithms may be selected and / or the number of IDPs selected for operation in each IDP set 120 may be increased. The response may also include increasing the frequency of network switching. Thus, more frequent changes can be made to (1) a false IDP value, (2) the selection of the IDP to be changed in each IDP set, and / or (3) . Thus, the network transition described herein provides a method for changing the mission plan or security model in a purely voluntary manner based on various factors, thereby increasing security.

미션mission 플랜 flan

여기에 설명된 네트워크 전환은 미션 플랜에 따라 제어된다. 미션 플랜은 네트워크 및 적어도 하나의 보안 모델에 관한 문맥 내의 기동성을 정의하고 제어하는 개념이다. 그러한 바와 같이, 미션 플랜은 도 1의 NAC(104)로부터 각각의 모듈(105-107, 113-114)로 통신되는 데이터 파일로서 표현될 수 있다. 그런 후에 미션 플랜이 IDP의 조작을 제어하고 네트워크에서 다른 모듈의 동작으로 활동을 조정하도록 각각의 모듈에 의해 사용된다.The network transition described here is controlled according to the mission plan. A mission plan is a concept that defines and controls the mobility within the context of a network and at least one security model. As such, the mission plan can be represented as a data file communicated from the NAC 104 of FIG. 1 to each module 105-107, 113-114. The mission plan is then used by each module to control the operation of the IDP and to coordinate activities with the operation of other modules in the network.

일부 시나리오에서, 미션 플랜은 다음의 소스측 정보를 포함하지만, 그것으로 한정되지 않는다: 디바이스 식별 정보; 거짓값으로 변경된 참값을 가져야하는 이들 IDP에 관한 IDP 식별 정보; 참 IDP 값; 거짓 IDP 값의 세트(예, FV1, FV2,...,FVX); 거짓 IDP 값의 세트의 각각의 거짓값을 사용할 때를 특정하는 타이밍 정보; 거짓 IDP 값의 세트를 위한 새로운 거짓값을 동적으로 발생시키기 위한 의사-랜덤 또는 혼돈 함수; 거짓 IDP 값의 세트에 대해 새로운 값을 발생시키기 위한 의사-랜덤 또는 혼돈 함수를 호출할 때를 특정하는 룰; 어느 IDP가 거짓값으로 변경된 참값을 가질지를 동적으로 선택할 때를 특정하는 룰; 선택될 IDP의 수 및 어느 IDP가 값 수정을 위해 선택되어야만 하는지를 특정하는 룰; IDP가 동시에(즉, 모든 선택된 IDP는 동시에 변경된다) 또는 비동시에(즉, 개별적인 IDP가 선택된 IDP의 그룹으로부터 추가되거나 제거됨에 따라 IDP의 그룹이 점차적으로 변한다) 변경될지 여부를 특정하는 룰; 및 IDP의 수정 또는 변환이 발생하는 컴퓨터 네트워크 내의 위치를 동적으로 변경하기 위한 룰. 미션 플랜은 또한 다음의 목적지측 정보를 포함할 수 있다: IDP의 거짓값을 참값으로 복구하기 위한 제 1 룰; 및 IDP 값의 수정 또는 복구가 발생하는 컴퓨터 네트워크 내의 위치를 동적으로 변경하기 위한 제 2 룰. 제 1 룰은 변환될 IDP 값 중 적어도 하나의 선택을 결정하기 위한 룰, 및/또는 거짓값에서 참값으로의 선택된 IDP의 정확한 변환(예, 적어도 하나의 LUT를 사용)을 위한 룰을 포함할 수 있지만, 그들로 한정되지 않는다. 본 발명의 실시예는 이 점에서 한정되지 않는다. 소스측 및 목적지측 정보는 대안적으로 적어도 두 개의 분리 미션 플랜에 포함될 수 있다.In some scenarios, the mission plan includes, but is not limited to, the following source-side information: device identification information; IDP identification information about these IDPs which should have a true value changed to a false value; True IDP value; A set of false IDP values (e.g., FV 1 , FV 2 , ..., FV X ); Timing information specifying when to use each of the false values of the set of false IDP values; A pseudo-random or chaotic function for dynamically generating a new false value for a set of false IDP values; A rule specifying when to call a pseudo-random or chaotic function to generate a new value for a set of false IDP values; A rule specifying when an IDP dynamically selects whether to have a true value changed to a false value; A rule specifying the number of IDPs to be selected and which IDP should be selected for value modification; A rule specifying whether the IDP is to be changed at the same time (i. E., All selected IDPs are changed at the same time) or non-simultaneously (i. E., The group of IDPs gradually changes as individual IDPs are added or removed from the selected group of IDPs); And a rule for dynamically changing the location in the computer network where the modification or conversion of the IDP occurs. The mission plan may also include the following destination-side information: a first rule for restoring the false value of the IDP to a true value; And a second rule for dynamically changing a location in the computer network where modification or recovery of the IDP value occurs. The first rule may include rules for determining the selection of at least one of the IDP values to be transformed and / or rules for correct conversion (e.g., using at least one LUT) of the selected IDP from a false value to a true value However, it is not limited to them. Embodiments of the present invention are not limited in this respect. Source side and destination side information may alternatively be included in at least two separate mission plans.

미션 플랜은 때때로 네트워크가 잠재적인 적을 방해하도록 전환하는 방식을 업데이트하거나 변경하기 위해 네트워크 관리자에 의해 수동으로 그리고/또는 NCSA에 의해 자동으로 수정될 수 있다. 그러한 바와 같이, 미션 플랜은 네트워크 관리자 및/또는 NCSA에 네트워크 전환이 네트워크 내에서 발생하는 시간, 장소, 및 방식에 대한 완벽한 제어를 위한 수단을 제공할 수 있다. 그러한 업데이트 능력은 네트워크 관리자 및/또는 NCSA가 컴퓨터 네트워크의 거동을 현재의 동작 조건으로 맞추고 네트워크에 침투하려는 적의 노력을 더 효과적으로 방해하는 것을 허용한다.Mission plans can sometimes be modified manually by the network administrator and / or automatically by the NCSA to update or change the way the network switches to interfere with potential enemies. As such, the mission plan can provide the network administrator and / or the NCSA with a means for complete control over the time, place, and manner in which the network transition occurs within the network. Such an update capability allows the network administrator and / or NCSA to adapt the behavior of the computer network to the current operating conditions and to more effectively interfere with the enemy's efforts to penetrate the network.

다중 미션 플랜은 사용자에 의해 수동으로 정의될 수 있고 그리고/또는 NCSA에 의해 자동으로 발생될 수 있다. 그런 후에 미션 플랜은 그들이 네트워크 내의 모듈에 접근가능하도록 저장될 수 있다. 예를 들어, 다중 미션 플랜은 NAC(104)에 저장될 수 있고 필요에 따라 모듈에 전달될 수 있다. 대안적으로, 복수의 미션 플랜은 각각의 모듈 상에 저장될 수 있고 네트워크의 보안을 유지하는데 필요하거나 요구되는 바와 같이 활성화될 수 있다. 예를 들어, 네트워크 관리자 및/또는 NCSA가 적이 네트워크에 대한 현재의 미션 플랜을 발견했다고 결정하거나 의심한다면, 관리자 및/또는 NCSA는 미션 플랜을 변경하기를 원할 수 있다. 효과적인 보안 절차 역시 미션 플랜이 주기적으로 변경되는 것을 지시할 수 있다.
The multi-mission plan can be manually defined by the user and / or automatically generated by the NCSA. The mission plan can then be stored so that they are accessible to modules within the network. For example, a multi-mission plan may be stored in the NAC 104 and delivered to the module as needed. Alternatively, a plurality of mission plans may be stored on each module and activated as needed or required to maintain security of the network. For example, if the network administrator and / or NCSA determines or suspects that the enemy has discovered the current mission plan for the network, the administrator and / or NCSA may want to change the mission plan. Effective security procedures can also indicate that the mission plan changes periodically.

미션mission 플랜의 수동 발생 Manual outbreak of plan

이제 도 3에 대해 언급하면서, 미션 플랜을 수동으로 발생시키기 위한 예시적인 프로세스(300)의 흐름도가 제공되어 있다. 도 3에 도시된 방법 단계의 순서는 예시적이다. 본 발명은 이러한 순서로 한정되지 않는다. 예를 들어, 단계(308-312)는 임의의 순차적 순서로 또는 대안적으로 병렬로 수행될 수 있다.Referring now to FIG. 3, a flow diagram of an exemplary process 300 for manually generating a mission plan is provided. The sequence of the method steps shown in FIG. 3 is exemplary. The present invention is not limited in this order. For example, steps 308-312 may be performed in any sequential order or alternatively in parallel.

미션 플랜을 발생시키는 프로세스는 단계(302)에 의해 도시된 바와 같이, 컴퓨터 네트워크(100)를 모델링하는 것에 의해 시작할 수 있다. 모델의 생성은 네트워크 커맨드 센터에서 컴퓨터 또는 서버 상에 실행하는 NCSA에 의해 용이해진다. 예를 들어, 도 1에 도시된 실시예에서, NCSA는 도 1의 NAC(104) 상에 실행할 수 있다. 네트워크 모델은 바람직하게 컴퓨터 네트워크(100)에 포함된 다양한 컴퓨팅 디바이스 사이의 데이터 연결 및/또는 관계를 정의하는 정보를 포함한다. NCSA는 그러한 관계 데이터의 진입을 용이하게 하는 적합한 인터페이스를 제공할 것이다. 일부 시나리오에서, NCSA는 미션 플랜을 정의하도록 사용될 수 있는 표에 데이터의 진입을 용이하게 할 수 있다. 그러나, 다른 시나리오에서, 그래픽 유저 인터페이스는 본 프로세스를 용이하게 하도록 사용된다.The process of generating the mission plan can be initiated by modeling the computer network 100, as shown by step 302. The creation of the model is facilitated by the NCSA running on the computer or server at the network command center. For example, in the embodiment shown in FIG. 1, the NCSA may execute on the NAC 104 of FIG. The network model preferably includes information defining data connections and / or relationships between various computing devices included in computer network 100. [ The NCSA will provide a suitable interface to facilitate the entry of such relationship data. In some scenarios, the NCSA can facilitate entry of data into a table that can be used to define a mission plan. However, in other scenarios, a graphical user interface is used to facilitate this process.

다음 단계(304)에서, 네트워크 관리자는 네트워크의 다양한 구성요소의 각각 사이의 관계를 정의하도록 사용자-소프트웨어 상호작용을 수행한다. 일부 시나리오에서, 이들 사용자-소프트웨어 상호작용은 NCSA에 의해 제공된 네트워크 토포그래피 모델 제너레이터("NTMG") 툴을 사용하여 달성된다. NTMG 툴은 네트워크의 다양한 구성요소의 각각 사이의 관계를 규정하는 것에서 네트워크 관리자를 돕도록 사용된다. NTMG 툴은 네트워크 관리자가 커서(404)를 사용하는 것에 의해 네트워크 구성요소(402)를 드래그 및 드롭할 수 있는 도 4에 도시된 바와 같은 작업공간(400)을 제공한다. 네트워크 관리자는 또한 다양한 네트워크 구성요소(402) 사이의 데이터 연결(406)을 생성할 수 있다. 이러한 모델링 프로세스의 부분으로서, 네트워크 관리자는 도 1의 모듈(105-107, 113, 114)을 포함하는 다양한 네트워크 구성요소에 관한 네트워크 어드레스 정보를 제공할 수 있다.In the next step 304, the network manager performs user-software interaction to define a relationship between each of the various components of the network. In some scenarios, these user-software interactions are accomplished using the Network Topography Model Generator ("NTMG") tool provided by NCSA. The NTMG tool is used to assist the network administrator in defining the relationships between each of the various components of the network. The NTMG tool provides a workspace 400 as shown in FIG. 4 in which a network administrator can drag and drop the network component 402 by using the cursor 404. The network manager may also create a data connection 406 between the various network components 402. As part of this modeling process, a network administrator may provide network address information for various network elements including modules 105-107, 113, and 114 of FIG.

네트워크가 모델링되면, 그것은 도 3의 단계(308)에 의해 도시된 바와 같은 시스템의 데이터 저장소에 저장될 수 있다. 그런 후에, 네트워크 관리자는 다양한 모듈(105-107, 113, 114)이 거동하고 서로 상호작용하는 방식을 정의하도록 저장된 정보를 사용한다. 이 점에서, NCSA는 미션 플랜을 더 전개하도록 네트워크 관리자에 의해 사용될 수 있는 GUI(예, 윈도우 또는 대화 상자)를 발생시킬 수 있다. 이러한 GUI의 예시적인 실시예(500)의 개략적인 도시가 도 5에 제공된다.Once the network is modeled, it may be stored in a data store of the system as shown by step 308 of FIG. The network administrator then uses the stored information to define how the various modules 105-107, 113, 114 will behave and interact with each other. At this point, the NCSA can generate a GUI (e.g., window or dialog box) that can be used by the network administrator to further deploy the mission plan. A schematic illustration of an exemplary embodiment 500 of such a GUI is provided in FIG.

도 5에 도시된 바와 같이, 드롭 다운 메뉴(532)는 GUI(500)에서의 설정이 적용될 특정 모듈(예, 도 1의 모듈(105))을 선택하도록 사용될 수 있다. 대안적으로, 네트워크 관리자는 GUI(500)에서의 설정이 네트워크 내의 모든 모듈에 적용되도록 의도된다(예, 드롭-다운 메뉴(532)에서 명령어 "올(All)"을 설정하는 것에 의해)는 것을 나타내는 드롭-다운 메뉴(532)를 사용할 수 있다. 그 프로세스는 IDP의 고정된 설정이 모듈의 각각에서 항상 수정될지 여부, 또는 조작되는 IDP의 설정이 동적으로 변경될지 여부를 특정하는 것에 의해 계속할 수 있다. 모듈에서 조작될 IDP의 선택 또는 설정이 동적으로 변경되도록 의도된다면, 네트워크 관리자는 그 선호를 나타내도록 체크 박스(501)를 표시할 수 있다. 체크-박스(501)가 표시되지 않는다면, 그때 변경될 IDP의 세트는 시간에 따라 변하지 않는 고정된 세트이다.5, the drop-down menu 532 may be used to select a particular module (e.g., module 105 of FIG. 1) to which the settings in the GUI 500 will be applied. Alternatively, the network administrator may determine that the settings in the GUI 500 are to be applied to all modules in the network (e.g., by setting the command "All" in the drop-down menu 532) A drop-down menu 532 may be used. The process can continue by specifying whether the fixed setting of the IDP is always modified in each of the modules, or whether the setting of the manipulated IDP is to be changed dynamically. If the selection or setting of the IDP to be manipulated in the module is intended to be changed dynamically, the network manager may display the checkbox 501 to indicate that preference. If the check-box 501 is not displayed, then the set of IDPs to be changed is a fixed set that does not change over time.

GUI(500)는 사용자가 미션 플랜을 생성하는 목적을 위해 작업하기를 원하는 특정 IDP를 선택하는 것을 허용하는 탭(502, 504, 506)을 포함한다. 본 개시의 목적을 위해, GUI(500)는 단지 세 개의 IDP의 동적 변화를 용이하게 한다. 구체적으로, 이들은 IP 어드레스, MAC 어드레스 및 포트 어드레스를 포함한다. 더 많거나 더 적은 IDP는 추가적인 탭을 제공하는 것에 의해 동적으로 변경될 수 있지만, 언급된 세 개의 IDP는 본 발명의 개념을 설명하기에 충분하다. 도 5에서, 사용자는 IDP의 IP 어드레스 유형과 작업할 수 있는 탭(502)을 선택했다. 탭(502) 내에서, 다양한 사용자 인터페이스 제어(508-520)는 선택된 모듈 내에 IP 어드레스의 동적 변화와 관련된 세부사항을 특정하도록 제공된다. 더 많거나 더 적은 제어는 IP 어드레스 유형의 동적 조작을 용이하게 하도록 제공될 수 있고, 도시된 제어는 단지 개념을 이해하는데 있어서 독자를 돕도록 제공된다. 도시된 실시예에서, 네트워크 관리자는 표시된 체크 박스(508): "IP 어드레스 호핑을 가능하게 함"을 선택하는 것(예, 마우스와 같은 포인팅 디바이스로)에 의해 IP 어드레스의 동적 변화를 가능하게 할 수 있다. 유사하게, 네트워크 관리자는 소스 어드레스, 목적지 어드레스 또는 둘 모두가 변경될지 여부를 나타낼 수 있다. 이러한 실시예에서, 소스 및 목적지 어드레스 박스(510, 512)는 모두 표시되고, 어드레스의 유형 모두가 변경되어야함을 나타낸다. 소스와 목적지 어드레스에 대해 허용된 값의 범위는 목록 박스(522, 524)에서 관리자에 의해 특정될 수 있다.GUI 500 includes tabs 502, 504, and 506 that allow the user to select a particular IDP that he or she desires to work with for the purpose of creating a mission plan. For purposes of this disclosure, the GUI 500 facilitates dynamic changes of only three IDPs. Specifically, they include an IP address, a MAC address, and a port address. More or fewer IDPs can be changed dynamically by providing additional tabs, but the three IDPs mentioned are sufficient to illustrate the concept of the present invention. In Figure 5, the user has selected a tab 502 to work with the IP address type of the IDP. Within the tab 502, the various user interface controls 508-520 are provided to specify the details associated with the dynamic change of the IP address in the selected module. More or fewer controls may be provided to facilitate dynamic manipulation of the IP address type, and the controls shown are provided only to assist the reader in understanding the concepts. In the illustrated embodiment, the network manager enables dynamic change of the IP address by selecting the marked check box 508: "Enable IP address hopping" (e.g., with a pointing device such as a mouse) . Similarly, the network manager may indicate whether the source address, the destination address, or both are to be changed. In this embodiment, both the source and destination address boxes 510 and 512 are displayed, indicating that both types of addresses should be changed. The range of allowed values for the source and destination addresses may be specified by the administrator in list boxes 522 and 524.

거짓 IP 어드레스 값을 선택하도록 사용된 특정 의사랜덤 프로세스는 의사랜덤 프로세스를 선택하는 것에 의해 특정된다. 이러한 선택은 박스(514, 515)에서 특정된다. 다른 의사랜덤 프로세스는 참 무작위성의 가변 정도에 대한 다른 레벨의 복잡성을 가질 수 있고, 관리자는 컴퓨터 네트워크(100)의 필요에 가장 적합한 프로세스를 선택할 수 있다.The particular pseudo-random process used to select a false IP address value is specified by selecting a pseudo-random process. This selection is specified in box 514, 515. Other pseudo-random processes may have different levels of complexity to varying degrees of true randomness, and an administrator may select the process that best suits the needs of computer network 100. [

GUI(500)는 또한 네트워크 관리자가 IP 어드레스 IDP의 동적 변화를 위해 사용될 트리거 유형을 설정하는 것을 허용한다. 이러한 실시예에서, 사용자는 박스(516)를 선택하고, 시간 기반 트리거는 언제 새로운 거짓 IP 어드레스 값으로 천이할지를 결정하기 위해 사용될지를 나타낸다. 게다가, 체크박스(518)는 시간 기반 트리거가 주기적 기반 상에 발생해야함을 나타내도록 선택된다. 슬라이더(520)는 주기적 시간 기반 트리거의 빈도를 결정하도록 사용자에 의해 조절될 수 있다. 도시된 실시예에서, 트리거 빈도는 시간당 6개의 트리거 발생(매 10분마다 트리거) 내지 시간당 120개의 트리거 발생(매 30초마다 트리거)으로 조절될 수 있다. 이러한 실시예에서, 선택은 다른 유형의 트리거에도 역시 이용가능하다. 예를 들어, 대화 상자(502)는 어느 네트워크 관리자가 이벤트 기반 트리거를 선택할지에 의한 체크 박스(528, 530)를 포함한다. 여러 다른 특정 이벤트 유형은 그러한 이벤트 기반 트리거(예, 이벤트 유형 1, 이벤트 유형 2 등)에 대한 토대를 형성하도록 선택될 수 있다. 이들 이벤트 유형은 다양한 잠재적 컴퓨터 네트워크 보안 위협의 검출을 포함할 수 있다. 도 5에서, 탭(504, 506)은 탭(502)과 유사하지만, 그 안의 제어는 IP 어드레스보다는 MAC 어드레스 및 포트 값의 동적 변화에 맞춰진다. 추가적인 탭은 IDP의 다른 유형의 동적 변화를 제어하도록 제공될 수 있다.The GUI 500 also allows the network administrator to set the trigger type to be used for dynamic change of the IP address IDP. In this embodiment, the user selects box 516 and indicates that the time-based trigger will be used to determine when to transition to a new false IP address value. In addition, a check box 518 is selected to indicate that a time based trigger should occur on the periodic basis. Slider 520 may be adjusted by the user to determine the frequency of the periodic time based trigger. In the illustrated embodiment, the trigger frequency can be adjusted to six trigger occurrences per hour (triggered every 10 minutes) to 120 trigger occurrences per hour (triggered every 30 seconds). In this embodiment, the selection is also available for other types of triggers as well. For example, the dialog box 502 includes check boxes 528 and 530 by which network manager to select the event based trigger. Several other specific event types may be selected to form the basis for such event-based triggers (e.g., event type 1, event type 2, etc.). These event types may include detection of various potential computer network security threats. In FIG. 5, tabs 504 and 506 are similar to tabs 502, but the controls therein are tailored to dynamic changes in MAC address and port value rather than IP address. Additional tabs can be provided to control other types of dynamic changes in the IDP.

도 3에 대해 다시 언급하면서, 프로세스(300)는 네트워크 관리자가 IDP가 수정되는 위치를 동적으로 변경하도록 플랜을 특정하는 단계(312)로 이어진다. 일부 실시예에서, 이러한 가변 위치 특징은 언제 각각의 모듈이 활성 상태 또는 바이패스 상태에 있을지를 규정하는 시퀀스를 제어하는 것에 의해 용이해진다. 따라서, NCSA는 이러한 시퀀스를 특정하는 일부 GUI 수단을 유리하게 포함한다. 본 발명의 일부 실시예에서, 이것은 트리거 이벤트의 발생에 의해 분리되는 규정된 시간 간격 또는 시간 슬롯의 사용을 포함할 수 있다. 네트워크 관리자에 의해 그러한 세부사항을 용이하게 하는 예시적인 GUI(600)의 개략적인 도시가 도 6에 제공된다.Referring again to FIG. 3, process 300 continues to step 312, where the network administrator specifies a plan to dynamically change the location at which the IDP is modified. In some embodiments, this variable position feature is facilitated by controlling the sequence that defines when each module is in the active or bypass state. Thus, the NCSA advantageously includes some GUI means for specifying such a sequence. In some embodiments of the invention, this may include the use of a prescribed time interval or time slot separated by the occurrence of a trigger event. A schematic illustration of an exemplary GUI 600 that facilitates such details by a network administrator is provided in FIG.

도 6에 도시된 바와 같이, GUI(600)는 위치 시퀀스와 타이밍 정보의 조정과 진입을 용이하게 하는 NCSA에 의해 제공될 수 있다. GUI(600)는 시간 기점(606) 내에 포함될 시간 슬롯(6041-604n)의 수를 선택하도록 제어(602)를 포함할 수 있다. 도시된 실시예에서, 네트워크 관리자는 타이밍 기점 당 4개의 시간 슬롯을 규정했다. GUI(600)는 또한 컴퓨터 네트워크(100)에서의 모든 모듈을 포함하는 표(603)를 포함할 수 있다. 열거된 각각의 모듈에 있어서, 표는 하나의 타이밍 기점(606)에 대해 이용가능한 시간 슬롯(6041-6044)의 그래픽적 표현을 포함한다. IDP가 조작되는 위치에 대한 동적 제어는 각각의 모듈이 활성 또는 바이패스 동작 상태에 있는지 여부에 의해 결정된다는 것을 상기한다. 따라서, GUI 내에서, 사용자는 커서(608)를 이동할 수 있고 특정 모듈이 각각의 시간 슬롯 동안 활성 또는 바이패스 모드에 있는지 여부를 특정하도록 선택하게 한다. 도시된 실시예에서, 모듈(105)은 시간 슬롯(6041, 6043) 동안 활성이지만, 시간 슬롯(6042, 6044) 동안 바이패스 모드에 있다. 반대로, 모듈(113)은 시간 슬롯(6042, 6044) 동안 활성이지만, 시간 슬롯(6041, 6043) 동안 바이패스 모드에 있다. 도 1을 참조해서, 이것은 IDP의 조작이 시간 슬롯(6041, 6043) 동안 모듈(105)과 연관된 위치에서 발생하지만, 대신에 시간 슬롯(6042, 6044) 동안 모듈(113)에서 발생한다는 것을 의미한다. As shown in FIG. 6, the GUI 600 may be provided by the NCSA to facilitate coordination and entry of position sequences and timing information. The GUI 600 may include a control 602 to select the number of time slots 604 1 - 604 n to be included within the time point 606. In the illustrated embodiment, the network manager has defined four time slots per timing origin. The GUI 600 may also include a table 603 that includes all the modules in the computer network 100. For each module listed, the table includes a graphical representation of the available time slots 604 1 -604 4 for one timing origin 606. It is recalled that the dynamic control of the position at which the IDP is operated is determined by whether each module is in an active or bypass operating state. Thus, within the GUI, the user can move the cursor 608 and have the user select to specify whether a particular module is in an active or bypass mode during each time slot. In the illustrated embodiment, module 105 is active during timeslots 604 1 and 604 3 , but in bypass mode during timeslots 604 2 and 604 4 . Conversely, module 113 is active during timeslots 604 2 and 604 4 , but is in bypass mode during timeslots 604 1 and 604 3 . 1, this occurs at the location associated with module 105 during time slots 604 1 and 604 3 , but instead occurs at module 113 during time slots 604 2 and 604 4 .

도 6에 도시된 실시예에서, 네트워크 관리자는 모듈(114)이 항상 활성 모드에서 동작하도록 택했다(즉, 모듈(114)은 모든 시간 슬롯 동안 활성이다). 따라서, 클라이언트 컴퓨터(101)로부터 클라이언트 컴퓨터(103)로 전송된 데이터 통신에 있어서, 데이터 패킷은 대안적으로 모듈(105, 113)에서 조작되지만, 항상 모듈(114)에서 조작될 것이다. 최종으로, 이러한 실시예에서, 네트워크 관리자는 모듈(106, 107)을 시간 슬롯(6041-6044) 동안 바이패스 모드에서 유지하는 것을 택했다. 따라서, 어떠한 IDP의 조작도 정의된 시간 슬롯 중 어느 하나 동안 이들 모듈에서 수행되지 않을 것이다.In the embodiment shown in FIG. 6, the network manager has chosen to have the module 114 always operate in the active mode (i.e., the module 114 is active during all time slots). Thus, in the data communication transmitted from the client computer 101 to the client computer 103, the data packet is alternatively manipulated in the module 105, 113, but will always be manipulated in the module 114. Finally, in this embodiment, the network manager has chosen to keep modules 106 and 107 in bypass mode for time slots 604 1 - 604 4 . Thus, no manipulation of any IDP will be performed in these modules for any of the defined time slots.

다시 도 3에 대해 언급하면서, 네트워크 관리자는 단계(314)에 의해 도시된 바와 같이, 업데이트된 미션 플랜의 부분으로서 변화를 저장할 수 있다. 예를 들어, 모듈 타이밍이 GUI(600)에 정의된다면, 네트워크 관리자는 업데이트된 미션 플랜의 부분으로서 변화를 저장하도록 도 6의 버튼(610)을 선택할 수 있다. 미션 플랜은 다양한 포맷으로 저장될 수 있다. 일부 실시예에서, 미션 플랜은 모듈의 거동을 제어하도록 각각의 모듈에 의해 사용될 수 있는 단순한 표 또는 다른 유형의 정의된 데이터 구조로서 저장될 수 있다. Referring again to FIG. 3, the network administrator may save the change as part of the updated mission plan, as shown by step 314. For example, if module timing is defined in the GUI 600, the network administrator may select the button 610 of FIG. 6 to store the change as part of the updated mission plan. Mission plans can be stored in a variety of formats. In some embodiments, the mission plan can be stored as a simple table or other type of defined data structure that can be used by each module to control the behavior of the module.

일부 시나리오에서, 기존 미션 모델은 동작 동안 필드에서 조작자에 의해 수동으로 수정될 필요가 있을 수 있다. 미션 모델은 미션이 동작하는 것을 허용하는 관계의 세트를 포함한다. 미션 모델은 (a) 무엇이 보호될 필요가 있는지를 변경하고; (b) 다른 종류의 통신을 허용하고; 그리고 (c) 미션 공격 레벨에 기반해서 보안 레벨을 변경하는지에 대해 수정될 필요가 있을 수 있다. 따라서, 미션 모델을 수정하기 위한 하나의 방법은: 미션 모델의 일부분을 선택하고; 그리고 새로운 미션 모델을 생성하는 것을 포함한다. 새로운 미션 모델은: 기존 미션 모델에 부가하고; 두 개 이상의 기존 미션 모델을 연결하거나 조합하고; 기존 미션 모델로부터 일부를 감산하며; 기존 미션 모델을 두 개 이상의 미션 모델로 분할하고; 기존 미션 모델의 파라미터를 수정하며; 미션 모델을 복사하고 미션 모델 사본을 수정하며; 그리고/또는 미션 모델을 제거하는 것에 의해 생성될 수 있다. 미션 모델은 일반적으로 기동성을 제어한다. 그러한 바와 같이, 미션 모델은 움직임의 전략, 언제 움직임을 환기할지 그리고 무슨 방법으로 할지에 관한 전략, 클로킹의 전략, 섀도우 네트워킹의 전략, 및/또는 통신 그룹의 전략을 특정하는 정보를 포함한다. 이들 전략 중 하나 이상이 새로운 미션 모델을 생성하도록 변경될 수 있다.
In some scenarios, an existing mission model may need to be manually modified by an operator in a field during operation. The mission model includes a set of relationships that allow the mission to operate. The mission model (a) changes what needs to be protected; (b) allow different kinds of communication; And (c) change the security level based on the mission attack level. Thus, one way to modify the mission model is to select a portion of the mission model; And creating a new mission model. New Mission Models: Added to existing mission models; Connect or combine two or more existing mission models; Subtract a portion from an existing mission model; Divide an existing mission model into two or more mission models; Modify the parameters of an existing mission model; Copy the mission model and modify the copy of the mission model; And / or removing the mission model. Mission models typically control mobility. As such, the mission model includes information that specifies a strategy of movement, a strategy of when to venture and how to do it, a strategy of cloaking, a strategy of shadow networking, and / or a strategy of a communication group. One or more of these strategies can be modified to create a new mission model.

미션mission 플랜의 자동 및 동적 발생 Automatic and dynamic occurrences of plans

일부 시나리오에서, 적어도 하나의 미션 플랜은 컴퓨터 네트워크(예, 도 1의 컴퓨터 네트워크(100))의 동작 동안 NCSA에 의해 동적으로 그리고 자동으로 발생된다. 미션 플랜의 동적 발생은 (1) 동작의 개념("CONOPS"),(2) 컴퓨팅 인프라 리소스 및 네트워크 자산, (3) 인프라 리소스와 네트워크 자산 사이의 관계, (4) 컴퓨터 네트워크 내의 검출된 활성, 및/또는 (5) IDP와 연관된 효율성 등급을 고려하는 것에 의해 달성된다.In some scenarios, at least one mission plan is generated dynamically and automatically by the NCSA during operation of the computer network (e.g., computer network 100 of FIG. 1). The dynamic generation of a mission plan is based on the concept of operation ("CONOPS"), (2) computing infrastructure resources and network assets, (3) the relationship between infrastructure resources and network assets, (4) And / or (5) an efficiency rating associated with the IDP.

미션 플랜을 동적으로 발생시키도록 NCSA에 의해 수행된 예시적인 자동 프로세스(700)의 흐름도가 도 7에 제공된다. 도 7에 도시된 방법 단계의 순서는 예시적이다. 본 발명은 이러한 순서에 한정되지 않는다. 예를 들어, 방법 단계 중 두 개 이상이 임의의 순차적 순서로 또는 대안적으로 병렬로 수행될 수 있다.A flow diagram of an exemplary automated process 700 performed by the NCSA to dynamically generate a mission plan is provided in FIG. The sequence of the method steps shown in FIG. 7 is exemplary. The present invention is not limited to this order. For example, two or more of the method steps may be performed in any sequential order or alternatively in parallel.

도 7에 도시된 바와 같이, 프로세스(700)는 단계(702)로 시작하고 단계(704)로 이어진다. 단계(704)에서, 미리 저장된 컴퓨터 네트워크 모델 및 연관된 구성요소 관계 정보는 NCSA에 의해 얻어진다. 다음으로, 단계(706)에서, NCSA는 적어도 하나의 미션 플랜이 적용될 컴퓨터 네트워크 모델의 모듈(예, 도 1의 모듈(105, 106, 107, 113, 114))을 선택하도록 동작을 수행한다.As shown in FIG. 7, the process 700 begins with step 702 and continues to step 704. In step 704, the pre-stored computer network model and associated component relationship information is obtained by the NCSA. Next, at step 706, the NCSA performs operations to select a module (e.g., module 105, 106, 107, 113, 114 of FIG. 1) of the computer network model to which at least one mission plan is to be applied.

그런 후에, 단계(708)에서, 수정될 적어도 하나의 IDP는 선택된 모듈의 각각에 대해 선택된다. 일부 시나리오에서, IDP(들)는 IP 어드레스, MAC 어드레스 및/또는 포트 넘버를 포함하지만, 그들로 한정되지 않는다. IDP(들)는 (1) CONOPS, (2) NCSA에 의해 앞서 검출되었던 컴퓨터 네트워크 상의 공격의 유형, 및/또는 (3) IDP와 연관된 효율성 등급에 기반해서 선택될 수 있다. 예를 들어, CONOPS 대상이 기밀 통신을 유지해야만 하고 컴퓨터 네트워크 상에 검출된 악의적 공격의 유형이 레벨 1 공격이라면, 그때 IDP(들)는 레벨 1의 효율성 등급을 갖는 IDP(들)를 포함한다(예, 단지 IP 어드레스). 반대로, CONOPS 대상이 기밀 통신을 유지해야만 하고 컴퓨터 네트워크 상에 검출된 악의적 공격의 유형이 레벨 2 공격이라면, 그때 IDP(들)는 레벨 2의 효율성 등급을 갖는 IDP(들)를 포함한다(예, IP 어드레스 및 포트 넘버). CONOPS 대상이 기밀 통신을 유지해야만 하고 컴퓨터 네트워크 상에 검출된 악의적 공격의 유형이 레벨 3 공격이라면, 그때 IDP(들)는 레벨 3의 효율성 등급을 갖는 IDP(들)를 포함한다(예, IP 어드레스 및 MAC 어드레스). CONOPS 대상이 기밀 통신을 유지해야만 하고 컴퓨터 네트워크 상에 검출된 악의적 공격의 유형이 레벨 4 공격이라면, 그때 IDP(들)는 레벨 4의 효율성 등급을 갖는 IDP(들)를 포함한다(예, IP 어드레스, MAC 어드레스, 및 포트 넘버). 본 발명의 실시예는 이러한 실시예의 세부사항으로 한정되지 않는다.Then, at step 708, at least one IDP to be modified is selected for each of the selected modules. In some scenarios, the IDP (s) include, but are not limited to, IP addresses, MAC addresses and / or port numbers. The IDP (s) may be selected based on (1) the CONOPS, (2) the type of attack on the computer network previously detected by the NCSA, and / or (3) the efficiency rating associated with the IDP. For example, if the CONOPS object must maintain confidential communications and the type of malicious attack detected on the computer network is a Level 1 attack, then the IDP (s) then include the IDP (s) with an efficiency rating of level 1 Yes, just an IP address). Conversely, if the CONOPS object must maintain confidential communication and the type of malicious attack detected on the computer network is a Level 2 attack, then the IDP (s) then include the IDP (s) with a level 2 efficiency rating IP address and port number). If the CONOPS object must maintain confidential communication and the type of malicious attack detected on the computer network is a level 3 attack then the IDP (s) then include the IDP (s) with a level 3 efficiency rating And MAC address). If the CONOPS object must maintain confidential communication and the type of malicious attack detected on the computer network is a Level 4 attack then the IDP (s) then include the IDP (s) with a level 4 efficiency rating , MAC address, and port number). The embodiments of the present invention are not limited to the details of these embodiments.

다음으로 단계(712)에서, IDP(들)가 동적으로 변경될지 여부에 관한 결정이 이루어진다. IDP(들)가 동적으로 변경되어야만 한다면, 그때 동적 변경에 관련된 세부사항이 특정되는 단계(714)를 수행한다. 이 점에서, 단계(714)는: 각각의 IDP에 대한 IDP 호핑이 동적으로 변경되는 것을 가능하게 하고; 소스 및/또는 목적지 IDP(들)가 변경될지 여부를 나타내며; 각각의 IDP에 대해 허용된 값의 범위를 특정하고; 각각의 IDP에 대해 발생된 거짓값에 사용될 의사랜덤 함수 또는 혼돈 함수를 선택하며; 및/또는 각각의 IDP에 대한 값의 동적 변화를 위해 사용될 트리거 유형을 설정하는 것을 포함한다. 이들 열거된 동작의 각각은 (1) CONOPS 대상 및/또는 (2) 컴퓨터 네트워크 내의 검출된 활동의 유형에 기반할 수 있다. 예를 들어, CONOPS 대상이 모든 통신 소스의 보안을 유지해야하고 레벨 1 공격이 검출된다면, 그때 소스 IDP만이 제 1 의사랜덤 함수에 기반해서 동적으로 수정되어야만 한다. 반대로, CONOPS 대상이 모든 통신 목적지의 보안을 유지해야하고 레벨 2 공격이 검출된다면, 그때 목적지 소스 IDP만이 제 2 다른 의사랜덤 함수에 기반해서 동적으로 수정되어야만 한다. CONOPS 대상이 모든 통신 소스/목적지의 보안을 유지해야하고 레벨 3 공격이 검출된다면, 그때 소스/목적지 IDP는 적어도 제 3 다른 의사랜덤 함수에 기반해서 동적으로 수정되어야만 한다. CONOPS 대상이 모든 통신 소스/목적지의 보안을 유지해야하고 레벨 4 공격이 검출되면, 그때 소스/목적지 IDP는 적어도 하나의 혼돈 함수에 기반해서 동적으로 수정되어야만 한다. 본 발명의 실시예는 이러한 실시예의 세부사항으로 한정되지 않는다.Next, at step 712, a determination is made as to whether the IDP (s) are to be dynamically changed. If the IDP (s) should be dynamically changed, then step 714 is performed in which the details associated with the dynamic change are specified. In this regard, step 714: enables the IDP hopping for each IDP to be changed dynamically; Indicates whether the source and / or destination IDP (s) are to be changed; Specifying a range of allowed values for each IDP; Selecting a pseudorandom function or a chaotic function to be used for the false value generated for each IDP; And / or setting a trigger type to be used for dynamic change of values for each IDP. Each of these enumerated actions may be based on (1) the type of activity detected in the CONOPS object and / or (2) the computer network. For example, if a CONOPS object must secure all communication sources and a level 1 attack is detected, then only the source IDP should be dynamically modified based on the first pseudo-random function. Conversely, if the CONOPS object must secure all communication destinations and a level 2 attack is detected, then only the destination source IDP should be dynamically modified based on the second different pseudo-random function. If a CONOPS object must secure all communication sources / destinations and a level 3 attack is detected, then the source / destination IDP must be dynamically modified based on at least a third different pseudo-random function. CONOPS If the target is to secure all communication sources / destinations and a level 4 attack is detected, then the source / destination IDP must be dynamically modified based on at least one chaotic function. The embodiments of the present invention are not limited to the details of these embodiments.

단계(714)를 완료할 시에, 추가적인 세부사항이 IDP가 수정될 수 있는 위치를 동적으로 변경하도록 특정되는 단계(716)가 수행된다. 이 점에서, 단계(716)는 선택된 모듈의 각각에 대한 시간 기점 내에 포함될 시간슬롯의 수를 선택하는 것을 포함한다. 이러한 선택은 위에 설명되는 거리 벡터에 기반할 수 있다. 일부 시나리오에서, 거리 벡터는 미션 플랜에 의해 특정된 전체 네트워크 거동에 따라 변하는 가변값을 가진다. 다음 단계(718)에서, 미션 플랜이 저장된다. 이어서, 프로세서(700)는 종료하거나 또는 다른 처리가 수행된다.Upon completion of step 714, step 716 is performed wherein the additional details are specified to dynamically change the location at which the IDP can be modified. In this regard, step 716 includes selecting the number of time slots to be included in the time base for each of the selected modules. This choice may be based on the distance vector described above. In some scenarios, the distance vector has a variable value that varies with the overall network behavior specified by the mission plan. At the next step 718, the mission plan is saved. The processor 700 then terminates or other processing is performed.

일부 시나리오에서, 미션 모델은 동작 동안 자동으로 수정될 필요가 있을 수 있다. 미션 모델은 미션이 동작하는 것을 허용하는 관계의 세트를 포함한다. 미션 모델은: (a) 보호될 필요가 있는 것을 변경하고; (b) 다른 종류의 통신을 허용하며; 그리고 (c) 미션 공격 레벨에 기반해서 보안 레벨을 변경하도록 수정될 필요가 있을 수 있다. 따라서, 미션 모델을 수정하기 위한 하나의 방법은: 미션 모델의 일부분을 선택하고; 그리고 새로운 미션 모델을 생성하는 것을 포함한다. 미션 모델은 기존 미션 모델에 추가하고; 두 개 이상의 기존 미션 모델을 연결하거나 조합하고; 기존 미션 모델로부터 일부를 감산하고; 기존 미션 모델을 두 개 이상의 미션 모델로 분할하며; 기존 미션 모델의 파라미터를 수정하고; 미션 모델을 복사하고 미션 모델 사본을 수정하며; 그리고/또는 미션 모델을 제거하는 것에 의해 생성될 수 있다. 미션 모델은 일반적으로 기동성을 제어한다. 그러한 바와 같이, 미션 모델은 움직임의 전략, 언제 움직임을 환기할지 그리고 무슨 방법으로 할지에 관한 전략, 클로킹의 전략, 섀도우 네트워킹의 전략, 및/또는 통신 그룹의 전략을 특정하는 정보를 포함한다. 이들 전략 중 하나 이상이 새로운 미션 모델을 생성하도록 수정될 수 있다.
In some scenarios, the mission model may need to be modified automatically during operation. The mission model includes a set of relationships that allow the mission to operate. The mission model is: (a) changing what needs to be protected; (b) allow different kinds of communication; And (c) to change the security level based on the mission attack level. Thus, one way to modify the mission model is to select a portion of the mission model; And creating a new mission model. Mission models are added to existing mission models; Connect or combine two or more existing mission models; Subtract a portion from an existing mission model; Divide an existing mission model into two or more mission models; Modify the parameters of an existing mission model; Copy the mission model and modify the copy of the mission model; And / or removing the mission model. Mission models typically control mobility. As such, the mission model includes information that specifies a strategy of movement, a strategy of when to venture and how to do it, a strategy of cloaking, a strategy of shadow networking, and / or a strategy of a communication group. One or more of these strategies can be modified to create a new mission model.

미션mission 플랜 충돌 분석 Plan collision analysis

둘 이상의 미션 플랜이 발생된다면, NCSA는 그들에 의해 정의된 모듈 동작 사이의 임의 충돌을 식별하고 해결하도록 동작을 수행한다. 일부 시나리오에서, 충돌 분석이 수행되고 그때마다 새로운 미션 플랜은 네트워크 관리자 및/또는 NCSA에 의해, 그리고 아래에 설명되는 바와 같이 새로운 미션 플랜의 분배 및 로딩 전에 발생된다.If more than one mission plan is generated, the NCSA performs operations to identify and resolve any conflicts between module operations defined by them. In some scenarios, a conflict analysis is performed and each time a new mission plan is generated by the network administrator and / or the NCSA and before the distribution and loading of the new mission plan, as described below.

미션 플랜 충돌을 식별하고 해결하기 위한 예시적인 프로세스(800)의 개략적인 도시가 도 8에 제공된다. 도 8에 도시되는 바와 같이, 프로세스(800)는 단계(802)로 시작하고 단계(804)로 이어진다. 단계(804)에서, 적어도 두 개의 미션 플랜이 데이터 저장소로부터 검색된다. 검색된 미션 플랜은 새롭게 발생된 미션 플랜(즉, 아직 분배되고 로딩되지 않은 것) 및/또는 미리 발생된 미션 플랜(즉, 미리 발생되었지만 분배되고 로딩되었거나 그렇지 않은 것)을 포함할 수 있지만 그들로 한정되지 않는다.A schematic illustration of an exemplary process 800 for identifying and resolving a mission plan conflict is provided in FIG. As shown in FIG. 8, process 800 begins with step 802 and continues to step 804. At step 804, at least two mission plans are retrieved from the data repository. The searched mission plan may include a newly generated mission plan (i.e., not yet distributed and unloaded) and / or a previously generated mission plan (i.e., previously generated but distributed and loaded or otherwise) It does not.

그런 후에 검색된 미션 플랜이 그들에 의해 정의된 네트워크 거동을 시뮬레이션하도록 단계(806)에서 사용된다. 예를 들어, 제 1 미션 플랜은: 제 1 소스 IP 어드레스의 참값이 제 1 미리 정해진 시간 기간 동안 모듈(105)에서 거짓값으로 수정되고; 거짓값이 제 1 의사랜덤 함수에 기반해서 거짓값의 규정된 세트로부터 선택되며; 그리고 거짓값이 매 10초마다 재선택되는 것을 특정한다. 제 2 미션 플랜은: 제 2 소스 IP 어드레스에 대한 참값이 시간의 제 1 미리결정된 기간과 적어도 부분적으로 중첩하는 시간의 제 2 정의된 기간 동안 모듈(105)에서 거짓값으로 수정되고; 거짓값이 제 2 의사랜덤 함수에 기반해서 거짓값의 정의된 세트로부터 동적으로 선택되며; 그리고 거짓값이 매 시간 재선택되는 것을 특정한다. 이 경우에, 모듈(105)의 동작은 제 1 및 제 2 미션 플랜에서 정의된 바와 같이 시뮬레이션된다.The retrieved mission plan is then used in step 806 to simulate the network behavior defined by them. For example, the first mission plan is: the true value of the first source IP address is modified to a false value in module 105 for a first predetermined time period; A false value is selected from a prescribed set of false values based on a first pseudorandom function; And specifies that a false value is reselected every 10 seconds. The second mission plan is modified to a false value in module 105 during a second defined period of time in which a true value for a second source IP address at least partially overlaps with a first predetermined period of time; A false value is dynamically selected from a defined set of false values based on a second pseudorandom function; And specifies that the false value is reselected every time. In this case, the operation of the module 105 is simulated as defined in the first and second mission plans.

시뮬레이션의 결과에 기반해서, 적어도 하나의 표, 차트, 또는 그래프가 미션 플랜을 실행하는 결과로서 모듈 거동에서 임의 충돌을 식별하도록 이어서 사용될 수 있는 단계(808)에서 발생된다. 예를 들어, 표, 차트 및/또는 그래프는 (1) 시간의 제 1 미리 정해진 기간 동안 항상 제 1 소스 IP 어드레스의 거짓값 및 (2) 시간의 제 2 미리 정해진 기간 동안 항상 제 2 소스 IP 어드레스의 거짓값을 나타내는 정보를 포함할 수 있지만, 그들로 한정되지 않는다. Based on the results of the simulation, at least one table, chart, or graph is generated in step 808 that may subsequently be used to identify any conflicts in the module behavior as a result of executing the mission plan. For example, a table, a chart, and / or a graph may include (1) a false value of a first source IP address always for a first predetermined period of time, and (2) a second source IP address But it is not limited to them.

다음에 단계(812)에서, 표(들), 차트(들) 및/또는 그래프(들)의 내용이 서로 비교된다. 이러한 비교의 결과에 기반해서, 단계(814)에서, 임의 충돌이 미션 플랜에 의해 정의된 모듈 거동 사이에 존재하는지 여부에 대한 결정이 이루어진다. 예를 들어, 일부 시나리오에서, 제 1 및 제 2 소스 IP 어드레스에 관한 거짓값이 시간의 제 1 및 제 2 미리결정된 기간의 중첩하는 기간 내의 임의의 주어진 시간에서 동일한지 여부에 대한 결정이 이루어진다.Next, at step 812, the contents of the table (s), chart (s) and / or graph (s) are compared with one another. Based on the results of this comparison, a determination is made, at step 814, whether any conflicts exist between module behaviors defined by the mission plan. For example, in some scenarios, a determination is made as to whether the false values for the first and second source IP addresses are the same at any given time in the overlapping periods of the first and second predetermined periods of time.

충돌이 미션 플랜에 의해 정의된 모듈 거동 사이에 존재하지 않는다는 결정이 이루어지면[814:아니오], 그때 미션 플랜 중 적어도 하나가 분배되고 로딩되는 단계(816)가 수행된다. 미션 플랜이 분배되고 로딩되는 방식이 아래에 구체적으로 설명될 것이다.If a determination is made that the conflict does not exist between the module behaviors defined by the mission plan [814: No], then at least one of the mission plans is distributed and loaded, step 816 is performed. The manner in which the mission plan is distributed and loaded will be described in detail below.

충돌이 미션 플랜에 의해 정의된 모듈 거동 사이에 존재한다는 결정이 이루어지면[814: 예], 그때 미션 플랜 중 적어도 하나가 수정되는 단계(818)가 수행된다. 그런 후에, 수정된 미션 플랜(들) 및/또는 수정되지 않은 미션 플랜(들)을 사용하여 프로세스(800)가 반복되는 단계(820)가 수행된다.
If a determination is made that the conflict exists between the module behaviors defined by the mission plan [814: YES], then at least one of the mission plans is modified (step 818). Thereafter, step 820 is repeated where the process 800 is repeated using the modified mission plan (s) and / or the unmodified mission plan (s).

미션mission 플랜의 분배 및 로딩 Distribution and loading of plans

여기에 설명된 바와 같은 미션 플랜의 분배 및 로딩이 이제 더 구체적으로 설명될 것이다. 도 1에 대해 다시 한 번 더 언급하면서, 모듈(105-107, 113, 114)이 하나 이상의 위치에서 컴퓨터 네트워크(100)에 걸쳐 분배된다는 것이 발견될 수 있다. 모듈은 그러한 위치에서 통신을 막고, 필요한 조작을 수행하고, 그리고 데이터를 네트워크 내의 다른 컴퓨팅 디바이스에 보내도록 통신 경로 내에 일체화된다. 앞서 언급한 배열로, 여기에 설명된 모듈의 임의 필요한 유지(예, 미션 플랜을 업데이트하기 위한 유지)는 네트워크 통신을 방해하는 잠재성을 가질 수 있는 반면에 모듈은 대체되거나 재프로그램된다. 네트워크 서비스의 신뢰성 및 이용가능성이 필수적인 많은 상황에서 그러한 방해는 바람직하지 않다. 예를 들어, 방해받지 않는 네트워크 동작은 군대, 긴급 서비스 및 비지니스에 의해 사용되는 컴퓨터 네트워크에 있어서 필수적일 수 있다.The distribution and loading of the mission plan as described herein will now be described in more detail. Referring again to FIG. 1, it can be seen that modules 105-107, 113, 114 are distributed across computer network 100 at one or more locations. The module is integrated into the communication path to prevent communication at such a location, perform necessary operations, and send the data to other computing devices in the network. With the arrangement described above, any necessary maintenance of the modules described herein (e.g., maintenance to update the mission plan) may have the potential to interfere with network communication, while the modules are replaced or reprogrammed. Such intervention is undesirable in many situations where the reliability and availability of network services is essential. For example, unobtrusive network operation may be essential for military networks, emergency services, and computer networks used by businesses.

방해받지 않는 네트워크 동작을 보장하기 위해, 각각의 모듈은 바람직하게 여러 동작 상태를 가진다. 이들 동작 상태는 (1)모듈이 전원차단되고 임의의 패킷을 처리하지 않는 오프 상태, (2)모듈이 미션 플랜에 따라 소프트웨어 스크립트를 인스톨하는 시작 상태, (3)데이터가 현재의 미션 플랜에 따라 처리되는 활성 상태, 및 (4)모듈이 존재하지 않는 것처럼 패킷이 모듈을 통해 흐를 수 있는 바이패스 상태를 포함한다. 모듈은 그것이 활성 상태 또는 바이 패스 상태에 있을 때, 모듈이 네트워크 관리자에 의해 제공된 업데이트된 미션 플랜을 수신하고 로딩할 수 있도록 구성된다. 모듈 동작 상태는 예를 들어, NAC(104) 상의 NCSA 실행에 의해 네트워크 관리자에 의해 수동으로 제어될 수 있다. 예를 들어, 사용자는 그래픽 유저 인터페이스 제어 패널의 사용을 통해 다양한 모듈에 대한 동작 상태를 선택할 수 있다. 대안적으로, 모듈 동작 상태는 예를 들어 NAC(104) 상의 NCSA 실행에 의해 자동으로 제어될 수 있다. 네트워크의 동작 상태를 제어하기 위한 명령어는 컴퓨터 네트워크(100)를 통해 전달되거나 또는 임의의 다른 적합한 수단에 의해 전달될 수 있다. 예를 들어, 분리 유선 또는 무선 네트워크(미도시)가 그러한 목적을 위해 사용될 수 있다.To ensure uninterrupted network operation, each module preferably has several operating states. These operating states include (1) an off state in which the module is powered off and not processing any packets, (2) a startup state in which the module installs software scripts according to the mission plan, (3) (4) a bypass state where packets may flow through the module as if no module were present. The module is configured to allow the module to receive and load the updated mission plan provided by the network administrator when it is in the active or bypass state. The module operational state can be manually controlled, for example, by the network administrator by NCSA execution on the NAC 104. For example, a user can select an operational state for various modules through use of a graphical user interface control panel. Alternatively, the module operating state may be automatically controlled, for example, by NCSA execution on the NAC 104. [ Commands for controlling the operational state of the network may be communicated through the computer network 100 or may be communicated by any other suitable means. For example, a separate wired or wireless network (not shown) may be used for such purposes.

미션 플랜은 각각의 모듈의 물리적 위치에서 직접적으로 로딩될 수 있고, 또는 그것은 NCSA로부터 모듈로 전달될 수 있다. 이 개념이 NCSA(902)로부터 통신 매체(906)를 통해 모듈(105-107)의 각각으로 전달되는 미션 플랜(904)을 나타내는 도 9에 도시된다. 도시된 실시예에서, NCSA 소프트웨어 어플리케이션은 NAC(104) 상에 실행한다. 통신 매체는 일부 실시예에서 컴퓨터 네트워크(100)를 사용하는 대역내 시그널링을 포함한다. 대안적으로, 대역외 네트워크(예, 분리 무선 네트워크)가 업데이트된 미션 플랜을 NCSA로부터 각각의 모듈로 전달하도록 통신 매체(906)로서 사용될 수 있다. The mission plan can be loaded directly from the physical location of each module, or it can be transferred from the NCSA to the module. This concept is shown in FIG. 9, which shows a mission plan 904 from NCSA 902 to each of modules 105-107 via communication medium 906. FIG. In the illustrated embodiment, the NCSA software application runs on the NAC 104. The communication medium includes in-band signaling using the computer network 100 in some embodiments. Alternatively, an out-of-band network (e.g., a separate wireless network) may be used as the communication medium 906 to convey the updated mission plan from the NCSA to each module.

NAC가 네트워크 관리자에 의해 제어되는 시나리오에서, NCSA는 도 10에 의해 도시된 바와 같이, 여러 미션 플랜(1002) 중 하나의 선택을 용이하게 하도록 GUI(1000)를 제공할 수 있다. 이들 미션 플랜(1002)의 각각은 NAC(104) 상에 저장될 수 있다. 네트워크 관리자는 여러 미션 플랜(1002) 중 하나로부터 선택할 수 있고, 그런 후에 "미션 플랜 보내기" 버튼(1004)을 활성화할 수 있다. 대략적으로, 복수의 미션 플랜이 각각의 모듈에 전달되고 그곳에 저장될 수 있다. 둘 중 어느 하나의 시나리오에서, 사용자는 정의된 미션 플랜 중 하나를 활성화하도록 선택할 수 있다. In a scenario where the NAC is controlled by the network administrator, the NCSA may provide the GUI 1000 to facilitate selection of one of the multiple mission plans 1002, as shown by FIG. Each of these mission plans 1002 may be stored on the NAC 104. The network administrator can select from one of the multiple mission plans 1002 and then activate the "send mission plan" button 1004. Approximately, a plurality of mission plans can be delivered to each module and stored there. In either scenario, the user can choose to activate one of the defined mission plans.

네트워크 기동성이 자동으로 제어되는 시나리오에서, NCSA는 위에 설명된 바와 같은 충돌 분석의 결과에 기반해서 복수의 미션 플랜으로부터 적어도 하나의 미션 플랜을 선택한다. 그런 후에, NCSA는 미션 플랜(들)을 보내도록 명령어를 발생시킨다.In scenarios where network mobility is automatically controlled, the NCSA selects at least one mission plan from a plurality of mission plans based on the results of the collision analysis as described above. Then, the NCSA generates an instruction to send the mission plan (s).

미션 플랜을 보내는 명령어에 응답해서, 선택된 미션 플랜은 모듈에 전달되는 반면에 그들은 여기에 설명된 바와 같이 IDP의 동적 수정을 활발하게 수행하도록 구성되는 활성 상태에 있다. 그러한 배열은 네트워크가 명백하게 그리고 IDP를 조작하지 않고 동작하는 동안의 시간을 최소화한다. 그러나, 업데이트된 미션 플랜은 또한 모듈에 전달될 수 있는 반면에 그들은 바이패스 모드에 있고, 이러한 접근은 특정 경우에 소망될 수 있다.In response to the command to send the mission plan, the selected mission plan is delivered to the module while they are in an active state configured to actively perform dynamic modification of the IDP as described herein. Such an arrangement minimizes the time during which the network is apparently operating without tampering with the IDP. However, the updated mission plan can also be passed to the module, while they are in bypass mode, and this approach can be desired in certain cases.

미션 플랜이 모듈에 의해 수신된다면, 그것은 모듈 내의 메모리 위치에 자동으로 저장된다. 그런 후에, 모듈은 바이패스 상태에 진입하도록 야기될 수 있는 반면에, 여전히 그 상태에서, 모듈은 새로운 미션 플랜과 연관된 데이터를 로딩할 수 있다. 바이패스 상태에 진입하고 새로운 미션 플랜 데이터를 로딩하는 이러한 프로세스는 미션 플랜의 수신에 응답해서 자동으로 발생할 수 있고, 또는 네트워크 관리자에 의해 제어된 NCSA 소프트웨어로부터의 명령어에 응답해서 발생할 수 있다. 새로운 미션 플랜은 바람직하게 IDP 값이 변화되는 방식으로 변화를 포함한다. 새로운 미션 플랜이 로딩되면, 모듈(105-107, 113, 114)은 데이터 통신 에러가 발생하지 않는다는 것을 보장하는 동기화된 방식으로 바이패스 모드로부터 활성 모드로 천이될 수 있다. 미션 플랜은 모듈이 활성 모드로 돌아가야할 때 시간을 특정할 수 있고, 또는 네트워크 관리자는 명령어를 다양한 모듈로 보내도록 NCSA를 사용할 수 있고, 그들을 활성 모드에 진입하도록 지향시킨다. 미션 플랜을 업데이트하는 앞서 언급한 프로세스는 네트워크 보안 절차에서의 변화가 컴퓨터 네트워크(100)에 부착된 다양한 컴퓨팅 디바이스 사이의 통신을 방해하지 않고 발생하는 것을 유리하게 허용한다. If a mission plan is received by the module, it is automatically stored in the memory location in the module. Thereafter, the module may be caused to enter the bypass state, while still in that state, the module may load data associated with the new mission plan. This process of entering the bypass state and loading new mission plan data may occur automatically in response to receiving the mission plan, or may occur in response to commands from the NCSA software controlled by the network administrator. The new mission plan preferably includes a change in such a way that the IDP value is changed. Once the new mission plan is loaded, the modules 105-107, 113, 114 may transition from the bypass mode to the active mode in a synchronized manner to ensure that no data communication errors occur. The mission plan can specify the time when the module should return to active mode, or the network administrator can use the NCSA to direct commands to various modules and direct them to enter active mode. The aforementioned process of updating the mission plan advantageously allows changes in the network security procedures to occur without interfering with communication between the various computing devices attached to the computer network 100. [

각각의 모듈(105, 106, 107, 113, 114)에서 다양한 IDP의 동적 조작은 바람직하게 각각의 모듈(105-107, 113, 114) 상에 실행하는 어플리케이션 소프트웨어에 의해 제어된다. 그러나, 어플리케이션 소프트웨어의 거동은 유리하게 미션 플랜에 의해 제어된다. The dynamic manipulation of the various IDPs in each of the modules 105, 106, 107, 113, 114 is preferably controlled by the application software executing on each of the modules 105-107, 113, 114. However, the behavior of the application software is advantageously controlled by the mission plan.

이제 도 11에 대해 언급하면서, 각각의 모듈(105-107, 113, 114)의 동작을 요약하는 흐름도가 제공되어 있다. 혼동을 피하도록, 프로세스(1100)는 단일 방향에서의 통신에 대해 설명된다. 예를 들어, 모듈(105)의 경우에, 단일 방향은 클라이언트 컴퓨터(101)로부터 허브(108)로 전송된 데이터를 포함할 수 있다. 그러나 실제에서, 모듈(105-107, 113, 114)이 양방향으로 동작하는 것이 바람직하다. 프로세스는 모듈이 전원공급될 때 단계(1102)에서 시작하고 모듈 어플리케이션 소프트웨어가 여기에 설명된 방법을 실행하도록 시작되는 단계(1104)로 이어진다. 단계(1106)에서, 미션 플랜은 모듈 내의 메모리 위치로부터 로딩된다. 이점에서, 모듈은 데이터를 처리하기 시작할 준비가 되고 단계(1108)에서 그렇게 하도록 진행하며, 여기서 그것은 모듈의 입력 데이터 버퍼로부터 데이터 패킷에 접근한다. 단계(1110)에서, 모듈은 그것이 동작의 바이패스 모드에 있는지 여부를 결정하도록 확인한다. 그렇다면, 단계(1108)에 접근된 데이터 패킷은 데이터 패킷의 임의 수정 없이 단계(1112)에서 재송신된다. 모듈이 바이패스 모드에 있지 않다면, 그때 그것은 동작의 활성 모드에 있어야만 하고 단계(1114)로 이어진다. 단계(1114)에서, 모듈은 어느 데이터 패킷이 발생했는지로부터 소스 노드의 식별을 결정하도록 데이터 패킷을 판독한다. 단계(1116)에서, 그것은 소스 노드가 유효한지 여부를 결정하도록 패킷을 검토한다. 특정된 소스 노드는 특정된 소스 노드가 현재 유효한지 여부를 결정하도록 유효 노드의 목록과 비교될 수 있다. 그것이 유효 노드가 아니라면 그때 패킷이 단계(1118)에서 폐기된다. 단계(1120)에서, 프로세스는 트리거 이벤트가 발생했는지 여부를 결정하도록 확인한다. 트리거 이벤트의 발생은 사용할 거짓 식별값의 선택에 영향을 줄 수 있다. 따라서, 단계(1122)에서, 모듈은 하나 이상의 트리거 정보, 클록 시간 및 미션 플랜에 기반해서 사용할 거짓 식별값을 결정한다. 그런 후에 모듈은 단계(1126)로 이어지고 여기서 그것은 데이터 패킷의 IDP를 조작한다. 조작이 완료하면, 데이터 패킷은 모듈의 출력 포트로부터 인접한 노드로 재송신된다. 단계(1130)에서, 모듈이 전원차단하도록 명령받는지 여부에 대한 결정이 이루어진다. 그렇다면, 프로세스는 단계(1132)에서 종료한다. 단계(1108)에서, 프로세스가 이어지고 다음 데이터 패킷이 모듈의 입력 데이터 버퍼로부터 접근된다.
Referring now to FIG. 11, a flowchart is provided that summarizes the operation of each module 105-107, 113, 114. To avoid confusion, process 1100 is described for communication in a single direction. For example, in the case of module 105, a single direction may include data sent from client computer 101 to hub 108. [ In practice, however, it is preferred that modules 105-107, 113 and 114 operate in both directions. The process begins at step 1102 when the module is powered up and continues to step 1104 where the module application software is started to execute the method described herein. At step 1106, the mission plan is loaded from the memory location in the module. At this point, the module is ready to begin processing the data and proceeds to do so in step 1108, where it accesses the data packet from the module's input data buffer. At step 1110, the module verifies that it is in the bypass mode of operation. If so, the data packet accessed at step 1108 is retransmitted at step 1112 without any modification of the data packet. If the module is not in bypass mode, then it must be in the active mode of operation and step 1114 is reached. In step 1114, the module reads the data packet to determine the identity of the source node from which data packet was generated. At step 1116, it examines the packet to determine whether the source node is valid. The specified source node may be compared to a list of valid nodes to determine whether the specified source node is currently valid. If it is not a valid node then the packet is discarded in step 1118. At step 1120, the process identifies whether a trigger event has occurred or not. The occurrence of a trigger event can affect the selection of a false identification value to use. Thus, at step 1122, the module determines a false identification value to use based on the one or more trigger information, the clock time, and the mission plan. The module then proceeds to step 1126, where it manipulates the IDP of the data packet. When the operation is completed, the data packet is retransmitted from the output port of the module to the adjacent node. At step 1130, a determination is made as to whether the module is commanded to power down. If so, the process ends at step 1132. At step 1108, the process continues and the next data packet is accessed from the module's input data buffer.

엔터프라이즈 Enterprise 미션mission 관리 management

전환 컴퓨터 네트워크의 전체 거동(예, 도 1의 컴퓨터 네트워크(100))은 컴퓨터 네트워크가 미션 CONOPS는 물론, 엔터프라이즈 CONOPS에 따라서 동작하는 바와 같이 엔터프라이즈 관점에서 관리된다. 이 점에서, 컴퓨터 네트워크의 전체 거동은 도 12에 도시된 바와 같이, 컴퓨터 네트워크 내에서 실행되는 미션 플랜으로 특정되는 모듈 거동의 합에 의해 정의된다. 따라서, NCSA는 컴퓨터 네트워크 아키텍처는 물론, 전체 엔터프라이즈 목적/룰/정책을 정의하는 다양한 층 사이의 관계의 분석에 기반해서 컴퓨터 네트워크의 엔드포인트 또는 엔드포인트 영역에 대한 미션 플랜의 분배 및 제어를 관리한다. 도 13에서와 같이, 층은 CONOPS 층, 네트워크 아키텍처층, 및 이동 타킷 기술 파라미터층을 포함할 수 있지만, 그들로 한정되지 않는다.The overall behavior of the switched computer network (e.g., computer network 100 of FIG. 1) is managed from an enterprise perspective as the computer network operates in accordance with the enterprise CONOPS, as well as the mission CONOPS. In this regard, the overall behavior of the computer network is defined by the sum of the module behaviors specified in the mission plan executed in the computer network, as shown in Fig. Thus, the NCSA manages the distribution and control of the mission plans to the endpoints or endpoint areas of the computer network, based on analysis of the relationships between the various layers that define the computer network architecture as well as the overall enterprise objectives / rules / policies . As in FIG. 13, the layer may include, but is not limited to, a CONOPS layer, a network architecture layer, and a move target technology parameter layer.

일부 시나리오에서, 그래픽 유저 인터페이스는 네트워크 관리자에 의해 사용되는 컴퓨터 시스템에 제공된다. 그래픽 유저 인터페이스는 컴퓨터 네트워크의 현재 전체 거동의 개략적인 도시를 나타내도록 일반적으로 구성된다. 개략적인 도시의 내용은 컴퓨터 네트워크의 거동이 변함에 따라서 동적으로 변한다. 예를 들어, 새로운 미션 플랜이 사용되거나 또는 오래된 미션이 비활성화 될 때, 개략적인 도시는 이러한 변화를 반영하도록 수정된다. 그래픽 유저 인터페이스는 또한 사용자가 각각의 노드에 의해 수행되는 동작을 보거나 실시간으로 또는 실질적으로 실시간으로 네트워크의 노드를 선택하는 것을 허용한다. 그래픽 유저 인터페이스는 사용자가 전체 네트워크의 거동 또는 네트워크의 적어도 하나의 노드를 선택적으로 수정하는 것을 허용하도록 위젯을 포함할 수 있다.In some scenarios, the graphical user interface is provided to a computer system used by a network administrator. The graphical user interface is generally configured to represent a schematic view of the current overall behavior of the computer network. The contents of the abstract city change dynamically as the behavior of the computer network changes. For example, when a new mission plan is used or an old mission is deactivated, the schematic city is modified to reflect this change. The graphical user interface also allows the user to view the operations performed by each node or to select nodes in the network in real time or substantially in real time. The graphical user interface may include a widget to allow the user to selectively modify the behavior of the entire network or at least one node of the network.

이제 도 14에 대해 언급하면서, 동적 컴퓨터 네트워크의 엔터프라이즈 미션 관리를 위한 예시적인 방법(1400)의 흐름도가 제공되어 있다. 방법(1400)은 단계(1402)로 시작하고 단계(1404-1406)로 이어지며, 여기서 추적 동작이 NCSA에 의해 수행된다. 추적 동작은 임의 주어진 시간에서 활성화하는 미션 플랜의 수를 추적하고; 그리고 모든 활성 미션 플랜의 "라이프 투 리브(life to live)"를 추적하는 것을 포함한다. Referring now to FIG. 14, a flow diagram of an exemplary method 1400 for enterprise mission management of a dynamic computer network is provided. The method 1400 begins at step 1402 and continues to steps 1404-1406 where the tracking operation is performed by the NCSA. The tracking operation tracks the number of mission plans to activate at any given time; And tracking the "life to live" of all active mission plans.

다음에 단계(1408)에서, NCSA는 컴퓨터 네트워크의 측면을 관찰하고 분석하는 동작을 수행한다(예, 도 1의 컴퓨터 네트워크(100)). 이들 동작은 새로운 미션 플랜이 분배될 필요가 있는 때를 결정하도록 수행된다. 따라서, 이들 동작은 다음의 동작 중 하나 이상을 포함할 수 있지만 그들로 한정되지 않는다: 패킷 검사 동작; 혼잡도 기반 동작; 네트워크 상태 기반 동작; 사용자 활성 기반 동작; 및 네트워크 공격 기반 동작.Next, at step 1408, the NCSA performs the operations of observing and analyzing aspects of the computer network (e.g., computer network 100 of FIG. 1). These operations are performed to determine when a new mission plan needs to be distributed. Accordingly, these operations may include but are not limited to one or more of the following operations: packet inspection operation; Congestion-based operation; Network state based operation; User active based operation; And network attack-based operations.

일부 시나리오에서, 패킷 검사 동작은 패킷의 기원, 패킷의 목적지, 기원 또는 목적지가 속하는 그룹, 및/또는 패킷에 포함된 페이로드의 유형을 식별하는 정보를 얻도록 패킷을 분석하고; 코드 단어가 그 안에 포함되는지 여부를 결정하도록 패킷을 분석하며; 매치가 존재하는지를 결정하도록 데이터 저장소에 저장된 정보와 패킷으로부터 얻어진 정보를 비교하고; 그리고/또는 트리거 이벤트가 비교의 결과에 기반해서 새로운 미션 플랜을 분배하도록 발생했는지 여부를 결정하는 것을 포함한다.In some scenarios, the packet inspection operation may analyze the packet to obtain information identifying the origin of the packet, the destination, origin or origin of the packet, the group to which the destination belongs, and / or the type of payload included in the packet; Analyze the packet to determine whether a code word is included therein; Compare the information stored in the data store with information obtained from the packet to determine if a match exists; And / or whether the trigger event has occurred to distribute a new mission plan based on the result of the comparison.

일부 시나리오에서, 혼잡도 기반 동작은 컴퓨터 네트워크 내의 혼잡도를 모니터링하고; 컴퓨터 네트워크 내의 혼잡도를 추적하고; 그리고/또는 트리거 이벤트가 새로운 미션 플랜을 분배하도록 발생했는지 여부를 결정하도록 임계값과 현재 혼잡도를 비교하는 것을 포함한다. In some scenarios, congestion-based operations monitor congestion within a computer network; Track congestion within a computer network; And / or comparing the threshold and the current congestion to determine whether the trigger event has occurred to distribute a new mission plan.

일부 시나리오에서, 네트워크 상태 기반 동작은: 컴퓨터 네트워크의 상태를 모니터링하고; 컴퓨터 네트워크의 상태를 추적하며; 그 상태를 결정하도록 컴퓨터 네트워크를 분석하고; 그리고 트리거 이벤트가 분석의 결과에 기반해서 새로운 미션 플랜을 분배하도록 발생했는지 여부를 결정하는 것을 포함한다.In some scenarios, network state based operations include: monitoring the state of the computer network; Track the state of the computer network; Analyze the computer network to determine its state; And determining whether the trigger event has occurred to distribute a new mission plan based on the results of the analysis.

일부 시나리오에서, 사용자 활동 기반 동작은: 컴퓨터 네트워크 내의 사용자 활동을 모니터링하고; 사용자 활동에 관한 정보를 수집하며; 특정 프로토콜 패턴이 존재하는지 여부를 결정하도록 수집된 정보를 분석하고; 그리고 트리거 이벤트가 분석의 결과에 기반해서 새로운 미션 플랜을 분배하도록 발생했는지 여부를 결정하는 것을 포함한다. In some scenarios, user activity based actions include: monitoring user activity within a computer network; Collects information about user activities; Analyze the collected information to determine whether a particular protocol pattern is present; And determining whether the trigger event has occurred to distribute a new mission plan based on the results of the analysis.

일부 시나리오에서, 네트워크 공격 기반 동작은: 컴퓨터 네트워크 내의 공격 이벤트를 모니터링하고; 컴퓨터 네트워크 내의 공격 이벤트를 추적하며; 컴퓨터 네트워크 상의 공격의 레벨 및/또는 공격의 유형을 결정하도록 LUT 동작을 수행하며; 그리고 트리거 이벤트가 LUT 동작의 결과에 기반해서 새로운 미션 플랜을 분배하도록 발생했는지 여부를 결정하는 것을 포함한다. In some scenarios, network attack-based actions include: monitoring attack events within a computer network; Track attack events within a computer network; Performing a LUT operation to determine the level of attack and / or type of attack on the computer network; And determining whether the trigger event has occurred to distribute a new mission plan based on the result of the LUT operation.

도 14에 대해 다시 언급하면서, 방법(1400)은 단계(1410)로 이어지고 여기서 NCSA는 엔터프라이즈 및 미션 CONOPS에 일치하는 새로운 미션 요구사항을 이해하고 정의하도록 동작을 수행한다. 이 점에서, NCSA는 새로운 미션 플랜(들)이 분배될 모듈을 결정한다. 이어서, 단계(1412, 1414)가 수행된다.Referring again to FIG. 14, the method 1400 continues to step 1410 where the NCSA performs operations to understand and define new mission requirements consistent with the enterprise and mission CONOPS. At this point, the NCSA determines which modules the new mission plan (s) will be distributed to. Subsequently, steps 1412 and 1414 are performed.

단계(1412)는 새로운 미션 요구사항 및 컴퓨터 네트워크의 동작 측면을 분석하는 것으로부터의 결과에 기반해서 복수의 미리 저장된 미션 플랜으로부터 새로운 미션 플랜을 선택하는 것을 포함한다. 예를 들어, 레벨 1 공격이 검출되면, 그때 제 1 미션 플랜이 선택된다. 반대로, 레벨 5 공격이 검출되면, 그때 제 2 다른 미션 플랜이 선택된다. Step 1412 includes selecting a new mission plan from a plurality of pre-stored mission plans based on results from analyzing new mission requirements and operational aspects of the computer network. For example, if a level 1 attack is detected, then the first mission plan is selected. Conversely, if a level 5 attack is detected, then a second different mission plan is selected.

단계(1414)는 새로운 미션 플랜을 발생시키고 저장하는 것을 포함한다. 새로운 미션 플랜은 위에 설명된 바와 같이 네트워크 관리자에 의해 수동으로 또는 NCSA에 의해 자동으로 발생될 수 있다. 모든 시나리오에서, 새로운 미션 플랜은 새로운 미션 요구사항 및 컴퓨터 네트워크의 동작 측면을 분석하는 것으로부터의 결과에 기반해서 발생될 수 있다. 예를 들어, 타이밍 스킴, 의사랜덤 함수 및/또는 미션 플랜을 위한 혼돈 함수는 단계(1408)에서 검출된 트리거 이벤트의 유형, 패킷에 포함된 내용, 컴퓨터 네트워크의 현재 혼잡도, 컴퓨터 네트워크의 현재 상태, 컴퓨터 네트워크 내의 사용자 활동의 유형, 컴퓨터 네트워크 상에 검출된 공격의 레벨, 및/또는 컴퓨터 네트워크 상에 검출된 공격의 유형에 적어도 부분적으로 기반해서 선택될 수 있다.Step 1414 includes generating and storing a new mission plan. The new mission plan can be generated manually by the network administrator or automatically by the NCSA as described above. In all scenarios, a new mission plan can be generated based on the results from analyzing the new mission requirements and the operational aspects of the computer network. For example, the chaotic function for the timing scheme, pseudorandom function and / or mission plan may be determined based on the type of trigger event detected in step 1408, the content contained in the packet, the current congestion of the computer network, May be selected based at least in part on the type of user activity within the computer network, the level of attack detected on the computer network, and / or the type of attack detected on the computer network.

새로운 미션 플랜이 선택되거나 발생되면, 단계(1416)는 NCSA에 의해 수행된다. 단계(1416)에서, NCSA는 새로운 미션 플랜에 의해 정의된 모듈 동작과 모든 활성 미션 플랜에 의해 정의된 모듈 동작 사이에 존재하는 임의 충돌을 식별하도록 위에 설명된 바와 같이, 충돌 분석을 수행한다. NCSA가 충돌이 존재한다고 결정하면[1418: 예], 그때 새로운 미션 플랜이 단계(1420)에 의해 도시되는 바와 같이 수정된다. 그런 후에, 충돌 분석이 수정된 미션 플랜을 사용하여 수행된다. NCSA가 충돌이 존재하지 않는다고 결정하면[1418: 아니오], 그때 새로운 미션 플랜이 컴퓨터 네트워크의 모듈(들)에 전달되는 단계(1422)가 수행되고, 여기서 미션 플랜은 메모리 위치에 저장된다. If a new mission plan is selected or generated, step 1416 is performed by the NCSA. At step 1416, the NCSA performs a conflict analysis, as described above, to identify any conflicts existing between the module operations defined by the new mission plan and the module operations defined by all active mission plans. If the NCSA determines that there is a conflict [1418: YES], then the new mission plan is modified as shown by step 1420. Then, the collision analysis is performed using the modified mission plan. If the NCSA determines that no conflicts exist, then step 1422 is performed where a new mission plan is passed to the module (s) of the computer network, where the mission plan is stored in the memory location.

네트워크 관리자 및/또는 NCSA가 새로운 미션 플랜을 실행할 준비가 될 때, 명령어는 모듈(들)이 여기에 설명된 바와 같이 대기 모드에 진입하게 하는 단계(1424)로 보내진다. 모듈(들)이 이러한 대기 모드에 진입하는 한편, 단계(1426)에서 미션 플랜이 로딩된다. 미션 플랜의 로딩은 미션 플랜이 모듈(들) 상에 실행하는 어플리케이션 소프트웨어의 동작을 제어하도록 사용될 수 있도록 모듈(들)에서 발생한다. 특히, 미션 플랜은 어플리케이션 소프트웨어가 IDP의 동적 조작을 수행하는 방식을 제어하도록 사용된다. 단계(1426)를 완료할 시에, 방법(1400)은 도 14b의 단계(1428)로 이어진다. When the network administrator and / or the NCSA is ready to execute a new mission plan, the command is sent to step 1424 to allow the module (s) to enter the idle mode as described herein. Module (s) enter this standby mode, while in step 1426 the mission plan is loaded. Loading of the mission plan occurs in the module (s) such that the mission plan can be used to control the operation of the application software executing on the module (s). In particular, the mission plan is used to control how the application software performs dynamic operations of the IDP. Upon completion of step 1426, the method 1400 continues to step 1428 of FIG. 14B.

단계(1428)에서, 모듈(들)은 모듈(들)이 미션 플랜에 따라서 IDP의 조작을 수행하는 활성 동작 모드에 다시 진입하게 된다. 단계(1424, 1426, 1428)는 네트워크 관리자로부터 보내진 특정 명령어에 응답해서 발생할 수 있고, 또는 단계(1422)에서 미션 플랜을 수신하는 것에 응답해서 모듈(들)에서 자동으로 발생할 수 있다.At step 1428, the module (s) enters the active mode of operation in which the module (s) performs the operation of the IDP according to the mission plan. Steps 1424, 1426 and 1428 may occur in response to a specific command sent from the network manager or may occur automatically in module (s) in response to receiving the mission plan at step 1422.

단계(1428)에서, 모듈(들)은 로딩되는 미션 플랜에 따라서 처리를 수행하는 것을 계속한다. 단계(1430)에서, 방법(400)은 활성 미션 플랜이 비활성 상태에 위치되어야 할 때를 그리고 그 여부를 결정하도록 컴퓨터 네트워크의 동작 측면을 관찰하고 분석하는 것에 의해 계속한다. 예를 들어, 네트워크 관리자 및/또는 NCSA는 적이 컴퓨터 네트워크에 관한 활성 미션 플랜을 발견했는지를 결정하거나 의심하면, 그때 컴퓨터 네트워크의 보안을 유지하도록 미션 플랜을 변경하는 것이 요구될 수 있다.At step 1428, the module (s) continues to perform processing according to the mission plan being loaded. At step 1430, the method 400 continues by observing and analyzing the operational aspects of the computer network to determine when and when an active mission plan should be placed in the inactive state. For example, if the network administrator and / or the NCSA determines or suspects that the enemy has found an active mission plan for the computer network, then it may be required to change the mission plan to keep the computer network secure.

NCSA가 활성 미션 플랜 중 어느 것도 비활성 상태에 놓여 있지 않아야 한다고 결정하면[1432: 아니오], 아래에 설명될 단계(1436)가 수행된다. 반대로, NCSA가 활성 미션 플랜이 비활성 상태에 놓여있어야 한다고 결정하면[1432: 예], 미션 플랜이 비활성 상태에 놓여 있는 단계(1432)가 수행된다(즉, 모듈(들)이 미션 플랜에 의해 정의된 동작을 수행하는 것을 정지하게 한다). 그런 후에, 방법(1400)이 종료하거나 다른 처리가 수행되는 단계(1436)가 수행된다(예, 방법(1400)은 단계(1404)로 되돌아간다). 다른 처리는 컴퓨터 네트워크의 보안을 유지하도록 의도되는 또 다른 미션 플랜에 따라 동작하도록 컴퓨터 네트워크를 재구성하는 것을 포함할 수 있다.If the NCSA determines that none of the active mission plans should be placed in the inactive state [1432: NO], step 1436, described below, is performed. Conversely, if the NCSA determines that the active mission plan should be placed in the inactive state 1432: Yes, the step 1432 where the mission plan is inactive is performed (i.e., the module (s) Thereby stopping performing the operation. Then, step 1436 is performed (e.g., method 1400 returns to step 1404) where method 1400 ends or another process is performed. Another process may involve reconfiguring the computer network to operate in accordance with another mission plan intended to secure the computer network.

이제 도 15에 대해 언급하면서, 여기에 설명된 IDP의 조작을 수행하도록 사용될 수 있는 예시적인 모듈(1500)의 컴퓨터 아키텍처를 나타내는 블록도가 제공되어 있다. 모듈(1500)은 버스(1522)를 통해 서로 통신하는 프로세서(1512)(중앙 처리 장치("CPU")와 같음), 메인 메모리(1520) 및 정적 메모리(1518)를 포함한다. 모듈(1500)은 모듈의 상태를 나타내도록 액정 디스플레이("LCD")와 같은 디스플레이 유니트(1502)를 더 포함할 수 있다. 모듈(1500)은 모듈이 두 개의 분리 데이터 라인 상에 동시에 데이터를 수신하고 송신하도록 허용하는 하나 이상의 네트워크 인터페이스 디바이스(1516, 1517) 역시 포함할 수 있다. 두 개의 네트워크 인터페이스 포트는 각각의 모듈이 네트워크 상의 두 개의 분리 컴퓨팅 디바이스로부터 수신된 데이터 패킷을 동시에 차단하고 재송신하도록 구성되는 도 1에 도시된 배열을 용이하게 한다. Referring now to FIG. 15, there is provided a block diagram illustrating a computer architecture of an exemplary module 1500 that may be used to perform the operations of an IDP described herein. Module 1500 includes a processor 1512 (such as a central processing unit ("CPU")), a main memory 1520 and a static memory 1518 that communicate with each other via a bus 1522. Module 1500 may further include a display unit 1502, such as a liquid crystal display ("LCD"), to indicate the status of the module. Module 1500 may also include one or more network interface devices 1516 and 1517 that allow the module to simultaneously receive and transmit data on two separate data lines. The two network interface ports facilitate the arrangement shown in Figure 1 in which each module is configured to simultaneously block and retransmit data packets received from two separate computing devices on the network.

메인 메모리(1520)는 여기에 설명된 방법론, 절차, 또는 기능 중 하나 이상을 실행하도록 구성된 하나 이상의 명령어(1508)의 세트(예, 소프트웨어 코드)가 저장되는 컴퓨터 판독가능한 저장매체(1510)를 포함한다. 명령어(1508)는 또한 모듈에 의한 실행 동안 정적 메모리(1518) 내에 그리고/또는 프로세서(1512) 내에 완전히 또는 적어도 부분적으로 잔류할 수 있다. 정적 메모리(1518) 및 프로세서(1512)는 또한 기계 판독가능한 매체를 구성할 수 있다. 본 발명의 다양한 실시예에서, 네트워크 환경에 연결된 네트워크 인터페이스 디바이스(1516)는 명령어(1508)를 사용하여 네트워크를 통해 통신한다.Main memory 1520 includes a computer readable storage medium 1510 that stores a set of one or more instructions 1508 (e.g., software code) configured to execute one or more of the methodologies, procedures, or functions described herein do. The instruction 1508 may also remain completely or at least partially within the static memory 1518 and / or within the processor 1512 during execution by the module. Static memory 1518 and processor 1512 may also constitute a machine-readable medium. In various embodiments of the invention, the network interface device 1516 coupled to the network environment communicates over the network using an instruction 1508.

이제 도 16에 대해 언급하면서, 본 발명의 배열에 따라 예시적인 NAC(104)가 도시되어 있다. NAC(104)는 서버 컴퓨터, 클라이언트 유저 컴퓨터, 개인용 컴퓨터("PC"), 태블릿 PC, 랩탑 컴퓨터, 데스크탑 컴퓨터, 제어 시스템 또는 (순차적이거나 그렇지 않으면) 디바이스에 의해 취해질 작업을 특정하는 명령어의 세트를 실행할 수 있는 임의의 다른 디바이스를 포함하는, 다양한 유형의 컴퓨팅 시스템 및 디바이스를 포함할 수 있다. 또한, 단일 컴퓨터가 도 16에 도시되어 있는 반면에, 어구 "NAC"는 여기 논의된 방법론 중 임의의 하나 이상을 수행하도록 명령어의 세트(또는 다중 세트)를 개별적으로 또는 결합하여 실행하는 컴퓨팅 디바이스의 임의의 집합을 포함하는 것으로 이해될 수 있다.Referring now to FIG. 16, an exemplary NAC 104 is shown in accordance with the arrangement of the present invention. NAC 104 may be a set of instructions that specify actions to be taken by a server computer, a client user computer, a personal computer ("PC"), a tablet PC, a laptop computer, a desktop computer, a control system, or (sequential or otherwise) And any other device capable of executing the program. In addition, while a single computer is shown in FIG. 16, the phrase "NAC" refers to a computing device that executes a set (or multiple sets) of instructions individually or in combination to perform any one or more of the methodologies discussed herein But may be understood to include any set.

이제 도 16에 대해 언급하면서, NAC(104)는 버스(1622)를 통해 서로 통신하는 프로세서(1612)(CPU와 같음), 디스크 드라이브 유니트(1606), 메인 메모리(1620) 및 정적 메모리(1618)를 포함한다. NAC(104)는 비디오 디스플레이(예, LCD), 플랫 패널, 솔리드 스테이트 디스플레이, 또는 음극선관("CRT")과 같은 디스플레이 유니트(1602)를 더 포함할 수 있다. NAC(104)는 유저 입력 디바이스(1604)(예, 키보드), 커서 제어 디바이스(1614)(예, 마우스) 및 네트워크 인터페이스 디바이스(1616)를 포함할 수 있다.Referring now to Figure 16, the NAC 104 includes a processor 1612 (such as a CPU), a disk drive unit 1606, a main memory 1620 and a static memory 1618, which communicate with each other via a bus 1622. [ . The NAC 104 may further include a display unit 1602 such as a video display (e.g., LCD), a flat panel, a solid state display, or a cathode ray tube ("CRT"). NAC 104 may include a user input device 1604 (e.g., a keyboard), a cursor control device 1614 (e.g., a mouse), and a network interface device 1616.

디스크 드라이브 유니트(1606)는 여기에 설명된 방법론, 절차, 또는 기능 중 하나 이상을 실행하도록 구성된 하나 이상의 명령어(1608)의 세트(예, 소프트웨어 코드)가 저장되는 컴퓨터 판독가능한 저장매체(1610)를 포함한다. 명령어(1608)는 또한 그것의 실행 동안 메인 메모리(1620), 정적 메모리(1618) 내에, 그리고/또는 프로세서(1612) 내에 완전히 또는 적어도 부분적으로 잔류할 수 있다. 메인 메모리(1620)와 프로세서(1612)는 또한 기계 판독가능한 매체를 구성할 수 있다. Disk drive unit 1606 includes a computer readable storage medium 1610 that stores a set of one or more instructions 1608 (e.g., software code) configured to execute one or more of the methodologies, procedures, . The instruction 1608 may also remain completely or at least partially within the main memory 1620, static memory 1618, and / or within the processor 1612 during its execution. Main memory 1620 and processor 1612 may also constitute a machine-readable medium.

해당 기술분야의 당업자는 도 15에 도시된 모듈 아키텍처 및 도 16에서의 NAC 아키텍처 각각이 여기에 설명된 방법을 수행하도록 각각 사용될 수 있는 컴퓨팅 디바이스의 단지 하나의 가능한 실시예를 나타낸다는 것을 인지할 것이다. 그러나, 본 발명은 이 점에서 한정되지 않고 임의의 다른 적합한 컴퓨팅 디바이스 아키텍처 역시 한정 없이 사용될 수 있다. 특수 용도의 집적 회로, 프로그래머블 로직 어레이, 및 다른 하드웨어 디바이스를 포함하지만, 그들로 한정되지 않는 전용 하드웨어 실행은 유사하게 여기에 설명된 방법을 실행하도록 구성될 수 있다. 폭넓게 다양한 실시예의 장치 및 시스템을 포함할 수 있는 어플리케이션은 다양한 전자 및 컴퓨터 시스템을 포함한다. 일부 실시예는 모듈 사이에 그리고 그들을 통해 전달되는 관련된 제어 및 데이터 신호를 갖는 두 개 이상의 특정 상호연결된 하드웨어 디바이스에서, 또는 특수 용도의 집적 회로의 부분으로서 기능을 실행할 수 있다. 따라서, 예시적인 시스템은 소프트웨어, 펌웨어, 및 하드웨어 실행에 적용가능하다.Those skilled in the art will recognize that the module architecture shown in Figure 15 and the NAC architecture in Figure 16 each represent only one possible embodiment of a computing device that can be used to perform the methods described herein . However, the invention is not limited in this respect, and any other suitable computing device architecture may also be used without limitation. Dedicated hardware implementations including, but not limited to, special purpose integrated circuits, programmable logic arrays, and other hardware devices may similarly be configured to execute the methods described herein. Applications that may include devices and systems of a wide variety of embodiments include various electronic and computer systems. Some embodiments may perform functions as two or more specific interconnected hardware devices having associated control and data signals transmitted between and through the modules, or as part of a special purpose integrated circuit. Thus, the exemplary system is applicable to software, firmware, and hardware implementations.

본 발명의 다양한 실시예에 따라서, 여기에 설명된 방법은 컴퓨터 판독가능한 저장매체에서 소프트웨어 프로그램으로서 저장되고 컴퓨터 프로세서 상에 동작하도록 구성된다. 또한, 소프트웨어 실행은 또한 여기에 설명된 방법을 실행하도록 구성될 수 있는 분산 처리, 구성요소/객체 분산 처리, 병렬 처리, 가상 기계 처리를 포함할 수 있지만, 그들로 한정되지 않는다.According to various embodiments of the present invention, the methods described herein are stored as a software program on a computer-readable storage medium and configured to operate on a computer processor. In addition, software execution may also include, but is not limited to, distributed processing, component / object distributed processing, parallel processing, virtual machine processing, which may be configured to execute the methods described herein.

컴퓨터 판독가능한 저장매체(1510, 1610)는 단일 저장매체인 것으로 도 15 및 도 16에 도시되는 반면에, 용어 "컴퓨터 판독가능한 저장매체"는 하나 이상의 명령어의 세트를 저장하는 단일 매체 또는 다중 매체(예, 중앙 또는 분산 데이터베이스, 및/또는 연관된 캐쉬 및 서버)를 포함하도록 취해질 수 있다. 용어 "컴퓨터 판독가능한 저장매체"는 또한 기계에 의한 실행 동안 명령어의 세트를 저장, 인코딩하거나 또는 실어나를 수 있고 기계가 본 개시의 방법론 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하도록 취해질 수 있다.15 and 16, which are single storage media, while the term "computer-readable storage medium" refers to a medium or medium that stores a set of one or more instructions, E.g., a central or distributed database, and / or associated caches and servers). The term "computer readable storage medium" may also be taken to include any medium that allows a machine to store, encode, or load a set of instructions during execution by the machine and cause the machine to perform any one or more of the methodologies of the present disclosure. .

따라서 용어 "컴퓨터 판독가능한 매체"는 하나 이상의 판독 전용(비휘발성) 메모리, 랜덤 액세스 메모리, 또는 다른 재기록가능한(휘발성) 메모리를 하우징하는 메모리 카드 또는 다른 패키지와 같은 솔리드 스테이트 메모리; 디스크 또는 테이프와 같은 자기 광학 또는 광학 매체를 포함하지만, 그들로 한정되지 않도록 취해질 수 있다. 따라서, 본 개시는 여기에 열거된 바와 같은 컴퓨터 판독가능한 매체 중 임의의 하나 이상을 포함하고 그리고 여기에 소프트웨어 실행이 저장되는 인지된 균등물 및 석세서 매체를 포함하는 것으로 간주된다.
Thus, the term "computer readable medium" includes solid state memory, such as a memory card or other package housing one or more read-only (non-volatile) memory, random access memory, or other rewritable (volatile) memory; Magnetic or optical media, such as a disk or a tape. Accordingly, the present disclosure encompasses any one or more of the computer-readable media as enumerated herein, and is intended to include perceived equivalents and media in which software executions are stored.

다른 논리 네트워크에 연결된 컴퓨팅 Computers connected to other logical networks 디바이스와의Device 통신 Communication

본 발명의 배열의 또 다른 측면을 설명하기 전에, 종래의 스위치의 동작을 고려하는 것이 유용하다. 종래의 스위치는 네트워크의 다중 세그먼트를 함께 연결한다. 이러한 기능을 수행하는 가장 단순한 디바이스는 "허브"로 불리고 물리층에서 동작한다. 허브는 데이터 패킷 상의 임의의 트래픽 관리 업무를 수행하는 것이 아니라 포트에 진입하는 모든 데이터 트래픽을 단순히 복사하고 그것을 모든 다른 포트로 전파한다. 층 2(또는 "네트워크") 스위치는 링크층까지 동작하고 스위치에 진입하는 패킷을 검사하고 링크층 패킷의 목적지 물리적 어드레스에 기반해서 적합한 포트에 각각의 패킷을 향하게 하는 능력을 가진다. 스위치는 모든 포트를 가로질러 전파하지 않고 목적지에 패킷을 보낼 수 있다는 점에서 허브와 다르다. 다층 스위치(예, 층3 스위치)는 네트워크층, 전송층, 및/또는 응용층까지 동작할 수 있고 IP 멀티캐스팅, IP 보안, 방화벽, 부하 균형, 보안 소켓층 암호화/해독, 및 그와 유사한 것과 상위층 프로토콜의 지식을 요구하는 작업을 수행할 수 있다. 상위층에서 동작하는 스위치는 라우터 및 브릿지 기능의 일부 또는 전부를 수행할 수 있다. 반대로, 라우터 및 브릿지는 또한 하위층 스위칭 기능을 수행할 수 있다.Before describing another aspect of the arrangement of the present invention, it is useful to consider the operation of a conventional switch. Conventional switches couple multiple segments of a network together. The simplest device to perform this function is called the "hub " and operates on the physical layer. The hub does not perform any traffic management tasks on data packets, but simply copies all data traffic entering the port and propagates it to all other ports. Layer 2 (or "network") switch has the ability to operate up to the link layer and inspect packets entering the switch and direct each packet to the appropriate port based on the destination physical address of the link layer packet. A switch is different from a hub in that it can send packets to its destination without propagating across all ports. A multi-layer switch (e.g., a Layer 3 switch) can operate up to the network layer, the transport layer, and / or the application layer and can be used for IP multicasting, IP security, firewall, load balancing, secure socket layer encryption / It is possible to perform tasks requiring knowledge of upper layer protocols. A switch operating in an upper layer may perform some or all of the router and bridge functions. Conversely, routers and bridges can also perform lower layer switching functions.

스위치는 특정 물리적 어드레스와 각각의 출력 포트를 상관시키는 것에 의해 다음 홉에 패킷을 보낸다. 위에 언급된 바와 같이, 스위치는 데이터 링크층에서 주로 동작한다. 데이터 링크층 메시지(즉, 데이터 패킷)가 데이터 패킷의 경로에서 "다음 홉"을 나타내는 물리적 어드레스에 전달된다. 물리적 어드레스의 예는 호스트 기계의 네트워크 인터페이스용 MAC 어드레스이다. MAC 어드레스는 어드레스 결정 프로토콜("ARP")과 같은 링크층 프로토콜을 사용하여 해결되고 그런 후에 이러한 정보는 신속한 참조를 위해 표에 저장된다(예, ARP 표). 특정 호스트를 목적지로 하는 패킷이 수신될 때, 스위치는 ARP 표 상의 목적지 MAC 어드레스를 검색하고, 그 MAC 어드레스와 연관된 포트를 위치시키고 패킷을 보낸다. 목적지 호스트를 위한 MAC 어드레스가 ARP 표에 열거되지 않는다면, 스위치는 모든 출력 포트 상에 ARP 폴링 메시지를 전파할 수 있다. 목적지 호스트가 스위치에 연결된다면, 그것은 답신으로 답할 것이고 스위치는 답신을 수신한 포트를 사용하여 호스트에 패킷을 보낼 것이다. 스위치는 또한 MAC 어드레스로의 장래 포워딩을 위해 ARP 표에 포트 및 네트워크 어드레스를 기록할 수 있다.The switch sends packets to the next hop by correlating each output port with a specific physical address. As mentioned above, the switch primarily operates in the data link layer. The data link layer message (i.e., data packet) is passed to the physical address representing the "next hop" in the path of the data packet. An example of a physical address is the MAC address for the network interface of the host machine. The MAC address is resolved using a link layer protocol such as an address determination protocol ("ARP") and then this information is stored in the table for quick reference (e.g., ARP table). When a packet destined for a particular host is received, the switch retrieves the destination MAC address on the ARP table, places the port associated with that MAC address, and sends the packet. If the MAC address for the destination host is not listed in the ARP table, the switch can propagate the ARP polling message on all output ports. If the destination host is connected to the switch, it will respond with a reply and the switch will send a packet to the host using the port that received the reply. The switch may also record the port and network address in the ARP table for future forwarding to the MAC address.

네트워크층 또는 위에 언급된 것에서 동작하는 다층 스위치는 패킷을 그들의 목적지에 보내기 위해 논리 어드레스(예, IP 어드레스)를 사용할 수 있다. 네트워크층 기능 및 위의 층 기능이 일반적으로 라우터에 의해 취급됨에도, 종래의 라우터와 층3(또는 네트워크층) 스위치 사이에 기능적인 차이는 거의 없다. 어느 경우에서든, 스위치(또는 라우터)는 논리 어드레스(즉, 네트워크층 또는 프로토콜 어드레스)를 갖는 특정 호스트를 목적지로 하는 데이터 패킷을 수신한다. 패킷을 수신한 후에, 네트워크층 스위치는 목적지 호스트로의 경로에서 다음 홉의 논리 및 물리 어드레스 모두를 결정하도록 라우팅 표와 패킷의 목적지 IP 어드레스를 비교할 것이다. 그런 후에 네트워크층 스위치는 패킷을 다음 홉에 전송한다. 층2 스위치에 의해 수신된 패킷에 비해 층3 스위치에 수신된 패킷 사이의 주요한 차이는 층3 스위치에 수신된 링크층 패킷의 목적지 어드레스(예, MAC 어드레스)가 스위치 그 자체의 것이라는 점이다. 위에 설명된 바와 같이, 링크층 패킷은 패킷의 경로의 다음 홉에 전달된다. 패킷을 수신하는 층3 스위치(또는 라우터)는 그 패킷의 다음 홉이고 네트워크층 어드레스(예, IP 어드레스) 또는 패킷에 포함된 다른 정보에 기반해서 패킷을 위한 다음 홉을 결정할 책임이 있다. 반대로, 패킷을 수신하는 층2 스위치는 링크층 목적지 어드레스를 판독하고 패킷을 다음 홉에 보내지만, 층2 스위치 자체는 목적지가 아니다.Multilayer switches operating at the network layer or those mentioned above may use logical addresses (e.g., IP addresses) to send packets to their destination. Although the network layer function and the layer function above are generally handled by the router, there is little functional difference between the conventional router and the Layer 3 (or network layer) switch. In either case, the switch (or router) receives a data packet destined for a particular host with a logical address (i.e., a network layer or protocol address). After receiving the packet, the network layer switch will compare the routing table with the destination IP address of the packet to determine both the logical and physical addresses of the next hop in the path to the destination host. The network layer switch then sends the packet to the next hop. The main difference between packets received at the Layer 3 switch versus packets received by the Layer 2 switch is that the destination address (e.g., MAC address) of the link layer packet received at the Layer 3 switch is that of the switch itself. As described above, the link layer packet is delivered to the next hop in the path of the packet. The Layer 3 switch (or router) that receives the packet is responsible for determining the next hop for the packet based on the next hop of the packet and based on the network layer address (e.g., IP address) or other information contained in the packet. Conversely, the Layer 2 switch receiving the packet reads the link layer destination address and sends the packet to the next hop, but the Layer 2 switch itself is not the destination.

이동 타킷 기술("MTT") 스위치는 임의의 소정 시간에서 적어도 하나의 미션 플랜에 따라 MTT 가능하게된 네트워크 동작을 위한 위에 설명된 바와 같은 패킷 포워딩을 수행할 수 있다. MTT 스위치는 MTT 가능하게된 트래픽을 위한 위에 설명된 스위치의 본연의 기능성을 수행할 수 있다. 일부 실시예에서, MTT 스위치는 또한 그러한 스위칭 동작을 적절하게 수행하는 방법을 결정하는 목적을 위해 MTT 가능하게된 트래픽과 종래의 데이터 트래픽 사이에 자동으로 구분하도록 배열될 수 있다. 미션 플랜은 MTT 가능하게된 네트워크 내의 데이터 트래픽의 IDP 상에 수행된 변환의 세트와 그러한 변환이 네트워크 내에서 수행되는 위치를 규정한다. 모듈로, MTT 가능하게된 스위치는 하나 이상의 미션 플랜으로 로딩될 수 있다. 부가적으로, MTT 스위치는 모듈의 기능을 수행할 수 있고 미션 플랜에 따라서 데이터 패킷의 IDP를 변환할 수 있다.The mobile target technology ("MTT") switch may perform packet forwarding as described above for MTT enabled network operations in accordance with at least one mission plan at any given time. The MTT switch can perform the inherent functionality of the switch described above for MTT enabled traffic. In some embodiments, the MTT switch may also be arranged to automatically distinguish between MTT enabled traffic and conventional data traffic for the purpose of determining how to properly perform such switching operations. The mission plan defines a set of transformations performed on the IDP of data traffic in the MTT enabled network and the location at which such transformations are performed within the network. As a module, an MTT enabled switch can be loaded into one or more mission plans. Additionally, the MTT switch can perform the functions of the module and convert the IDP of the data packet according to the mission plan.

현재의 스위치 기술은 위에 설명된 바와 같이, ARP 표에서 스위치 상의 특정 포트에 특정 물리적 어드레스를 "고정하는 것"에 의해 데이터를 보낸다. 결과적으로, 종래의 스위치는 IDP가 미션 플랜에 따라서 이동할 수 있기 때문에 MTT 가능하게된 트래픽을 처리할 수 없다. 예를 들어, 소스 및/또는 목적지 호스트의 IP 어드레스, 소스 및/또는 목적지 호스트의 MAC 어드레스, 또는 그들 모두는 스위치에 도달하기 전에 동적으로 수정될 수 있다. MTT 가능하게된 스위치는 미션 플랜에 따라서 동작하는 능력을 갖고 식별을 이동하여 스위치된 데이터 패킷을 정확하게 보낸다. 예를 들어, 패킷이 MTT 스위치에 도달할 때, 데이터 패킷의 IDP가 분석되고 목적지 호스트는 미션 플랜에 의해 구동되고 수정되는 동적인 ARP 표와 비교된다. Current switch technology sends data by "pinning " a particular physical address to a particular port on the switch in the ARP table, as described above. As a result, conventional switches can not handle MTT enabled traffic because the IDP can move according to the mission plan. For example, the IP address of the source and / or destination host, the MAC address of the source and / or destination host, or both may be dynamically modified before reaching the switch. An MTT enabled switch has the ability to operate in accordance with the mission plan and moves the identity to send the switched data packet correctly. For example, when a packet arrives at the MTT switch, the IDP of the data packet is analyzed and the destination host is compared to a dynamic ARP table driven and modified by the mission plan.

동적 ARP 표는 미션 플랜에 의해 구체화되고 그리고/또는 수정된다. 미션 플랜은 전체 네트워크를 통해 IDP의 조작에 관한 정보를 갖고 그러므로 패킷을 보낼 시에 사용을 위해 충분히 구체화된 ARP 표를 스위치에 공급할 수 있다. ARP 표의 이러한 동적인 수정은 다수의 방식으로 발생할 수 있다. 특정 실시예에서, ARP 표에서의 값은 그것이 스위치에 로딩될 때 미션 플랜에 의해 구체화된다. 그러한 시나리오에서, ARP 표 값은 매번 새로운 미션 플랜이 활성화될 때마다 재기록된다. 달리 말해서, ARP 표에서의 값은 미션 플랜에 따라서 네트워크에서 사용을 위해 현재 조작되는 바와 같은 IDP를 사용하여 패킷의 정확한 스위칭을 용이하게 하도록 변경된다. 다른 실시예에서, ARP 표에서 값 사이의 관계는 미션 플랜에 의해 업데이트된다. 예를 들어, 포트와 다양한 디바이스 어드레스 사이의 관계는 미션 플랜에 의해 업데이트될 수 있다. 각각의 시나리오에서, 스위치가 특정 시간에서 사용시에 조작된 IDP로 정확하게 기능하도록 미션 플랜은 ARP 표를 업데이트하거나 수정한다. 위에 설명된 바와 같이, IDP의 조작은 리액티브 트리거 이벤트에 기반해서 변경할 수 있다. 미션 플랜은 리액티브 트리거 이벤트의 특정 유형에 응답해서 어떠한 변화가 발생할지를 규정할 것이다. 그러므로 각각의 리액티브 트리거 이벤트는 동적 ARP 표에 대한 수정 또는 업데이트를 야기할 수 있다. The dynamic ARP table is materialized and / or modified by the mission plan. The mission plan has information about the operation of the IDP over the entire network and can therefore provide the switch with an ARP table that is sufficiently specific for use when sending packets. This dynamic modification of the ARP table can occur in a number of ways. In a particular embodiment, the value in the ARP table is specified by the mission plan when it is loaded on the switch. In such a scenario, the ARP table value is rewritten each time a new mission plan is activated. In other words, the value in the ARP table is changed to facilitate accurate switching of the packet using the IDP as currently operated for use in the network according to the mission plan. In another embodiment, the relationship between the values in the ARP table is updated by the mission plan. For example, the relationship between a port and various device addresses can be updated by a mission plan. In each scenario, the mission plan updates or modifies the ARP table so that the switch functions correctly with the manipulated IDP at the time of use at a particular time. As described above, the operation of the IDP can be changed based on the reactive trigger event. The mission plan will define what changes will occur in response to certain types of reactive trigger events. Therefore, each reactive trigger event can cause modification or update to the dynamic ARP table.

일부 시나리오에서, 스위치는 정적 그리고 MTT 가능하게된 네트워크 모두를 서비스하는 전용 포트를 포함한다. 사실상, 스위치는 정적 네트워크를 서비스하는 정적 포트 및 동적 네트워크를 서비스하는 MTT 포트로 나누어진다. 그러한 시나리오에서, 각각의 포트의 세트는 분리 ARP 표를 가질 수 있거나 또는 정적 섹션 및 MTT 섹션을 포함하는 ARP 표를 공유할 수 있다. MTT 가능하게된 포트를 서비스하는 ARP 표의 적어도 그 일부는 미션 플랜에 따라 결정되고 미션 플랜에 의해 규정된 미리결정된 리액티브 트리거 이벤트에 응답해서 변한다. 또 다른 실시예에서, 스위치는 MTT 가능하게된 트래픽을 식별할 수 있고 데이터 패킷의 IDP를 정적 IDP(즉, 참 IDP)로 변환한다. IDP가 변환된 후에, 스위치는 정적 ARP 표를 사용하는 종래의 스위칭 알고리즘을 사용하여 데이터 패킷을 처리할 수 있다. 그런 후에 스위치는 참 IDP를 포함한 패킷을 보낼 수 있고, 또는 거짓 IDP를 갖는 패킷을 보낼 수 있다. 거짓 IDP는 수신될 때 패킷에 포함된 이들과 동일할 수 있고, 또는 스위치는 거짓 IDP의 다른 세트를 포함하도록 IDP를 조작할 수 있다. 둘 중 어느 하나의 경우에서 패킷이 처리되는 방식은 위에 설명된 바와 같이 미션 플랜에 의해 결정될 수 있다.In some scenarios, the switch includes dedicated ports serving both static and MTT enabled networks. In effect, the switch is divided into a static port serving a static network and an MTT port serving a dynamic network. In such a scenario, each set of ports may have a separate ARP table or may share an ARP table that includes a static section and an MTT section. At least a portion of the ARP table serving the MTT enabled port is determined according to the mission plan and changes in response to a predetermined reactive trigger event defined by the mission plan. In yet another embodiment, the switch can identify MTT enabled traffic and convert the IDP of the data packet to a static IDP (i.e., a true IDP). After the IDP is converted, the switch can process the data packet using a conventional switching algorithm using a static ARP table. The switch can then send a packet with a true IDP, or a packet with a false IDP. A false IDP may be the same as those contained in the packet when received, or the switch may manipulate the IDP to include another set of false IDPs. The manner in which the packet is processed in either case can be determined by the mission plan as described above.

특정 실시예에서, 정적 그리고 동적 데이터 트래픽 모두는 동시에 네트워크에 존재할 수 있다. 그러므로, 정적 그리고 동적 트래픽 모두를 수용하는 능력은 중요하다. 예를 들어, 데이터는 데이터의 값 또는 중요도에 기반해서 정적이거나 또는 동적일 수 있다. 특정 미션 플랜에 따라 동작하는 호스트 컴퓨터는 특정 응용으로 또는 특정 서버로 송신된 데이터를 위한 MTT를 가능하게 할 수 있다. 반대로, 웹 브라우징 데이터 또는 다른 낮은 선호 데이터가 MTT를 가능하게 하지 않고 보내질 수 있다. 그러므로, 스위치를 포함하는 모든 네트워크 장비는 정적 그리고 동적 트래픽 모두를 동시에 수용할 수 있고 그리고 변환을 처리하고 동일한 네트워크를 통한 정적 패킷의 포워딩에 더해서 MTT 가능하게된 패킷의 포워딩을 충분히 할 수 있다.In certain embodiments, both static and dynamic data traffic may be present in the network at the same time. Therefore, the ability to accommodate both static and dynamic traffic is important. For example, the data may be static or dynamic based on the value or importance of the data. A host computer operating in accordance with a particular mission plan may enable MTT for data sent to a particular application or to a particular server. Conversely, web browsing data or other low preference data may be sent without enabling MTT. Therefore, all network equipment, including switches, can accommodate both static and dynamic traffic simultaneously, and can handle forwarding and forwarding of MTT-enabled packets in addition to forwarding static packets over the same network.

특정 실시예에서, 스위치는 다른 미션 플랜을 동작하는 다중 네트워크에 연결될 수 있다. 대안적으로, 스위치에 연결된 네트워크 중 하나 이상은 정적일 수 있다(즉, MTT 가능하지 않음). 이러한 상황에서, 스위치는 브릿지와 같이 작용할 수 있고 다른 미션 플랜을 동작하는 네트워크 사이에 또는 MTT 네트워크와 정적 네트워크 사이에 변환할 수 있다. 이들 네트워크 경계 사이에 동작하는 스위치는 각각의 네트워크를 위한 ARP 표를 가질 수 있고, 또는 각각의 섹션이 다른 네트워크에 대응하는 다중 섹션을 갖는 ARP 표를 가질 수 있다. 둘 중 어느 하나의 시나리에서, ARP 표는 미션 플랜에 따라 동적으로 구체화될 수 있다.In certain embodiments, the switch may be coupled to multiple networks operating other mission plans. Alternatively, one or more of the networks connected to the switch may be static (i.e., not MTT enabled). In this situation, the switch can act like a bridge and switch between networks operating other mission plans, or between the MTT network and the static network. A switch operating between these network boundaries may have an ARP table for each network, or each section may have an ARP table with multiple sections corresponding to different networks. In either scenario, the ARP table can be dynamically materialized according to the mission plan.

미션 플랜에 따라서 MTT 가능하게된 데이터 패킷을 포워딩하는 것에 더해서, MTT 스위치는 또한 특정 목적지에 패킷을 보내도록 사용되는 출력 포트를 의사랜덤하게 교호하는 것에 의해 미션 플랜에 기반한 스위칭 거동을 조작할 수 있다. 예를 들어, 스위치는 동일한 엔터프라이즈 광역 네트워크에서 또 다른 네트워크에 연결된 라우터로 유도하는 하나의 포트를 가질 수 있다. 스위치는 인터넷으로의 게이트웨이로 유도하는 제 2 포트를 가질 수 있다. 모든 경로는 동일한 목적지로 유도할 수 있고 스위치는 동일한 최종 목적지에 패킷을 전달할 때 경로 사이에 의사랜덤으로 교호할 수 있다. 대안적으로, 또는 그것에 더해서, 스위치는 네트워크 내에서 잡음을 생성하도록 일부 또는 모든 포트 상의 관련없는 패킷을 전파할 수 있다. 관련없는 패킷은 네트워크에 침투하려고 시도하는 개인 및 시스템을 혼동시키고 교란시키도록 암호화된 형태로 랜덤 데이터의 쓸모없는 비트를 포함할 수 있다. MTT 스위치는 하나 이상의 미션 플랜에 따라 이들 거동 또는 임의의 조합 사이에 교호할 수 있다.In addition to forwarding MTT enabled data packets according to the mission plan, the MTT switch can also manipulate the switching behavior based on the mission plan by pseudo-randomizing the output ports used to send packets to a particular destination . For example, a switch may have one port leading from the same enterprise wide area network to another router connected to another network. The switch may have a second port leading to a gateway to the Internet. All paths can be directed to the same destination, and switches can pseudo-randomly alternate between paths when forwarding packets to the same final destination. Alternatively, or in addition, the switch may propagate unrelated packets on some or all of the ports to produce noise in the network. Unrelated packets may contain useless bits of random data in an encrypted form to confuse and disturb the individuals and systems attempting to penetrate the network. MTT switches may alternate between these behaviors or any combination depending on one or more mission plans.

선택적으로, 스위치는 방화벽으로 기능하도록 필터링 룰의 세트를 더 적용할 수 있다. 특정 실시예에서, 스위치는 미션 플랜에 기반해서 MTT 가능하게된 트래픽을 식별할 수 있고 모든 다른 트래픽을 필터링할 수 있다. 다른 실시예에서, 스위치는 데이터 트래픽에서 변칙을 검출할 수 있다. 필터링 룰은 공격 트래픽을 유인하도록 네트워크 시스템의 거동을 모방할 수 있는 "허니팟" 서버에 MTT 가능하지 않게된 그리고/또는 변칙적인 패킷을 향하게 하도록 설계될 수 있다. 허니팟으로 MTT 가능하지 않게된 그리고/또는 변칙적인 패킷, 특히 공격 트래픽과 연관된 이들을 필터링하는 것에 의해, 네트워크 관리자는 공격을 방지하고, 네트워크 취약점을 분석하며, 그리고/또는 허용되지 않은 트래픽의 거동에 기반해서 공격에 대응하기 위한 신기술을 개발할 수 있다. 대안적으로, MTT 가능하지 않은 패킷은 바로 폐기되거나, 또는 종래의 방화벽 기법을 사용하여 필터링될 수 있다.Optionally, the switch may further apply a set of filtering rules to act as a firewall. In a particular embodiment, the switch can identify MTT enabled traffic based on the mission plan and filter all other traffic. In another embodiment, the switch may detect anomalies in the data traffic. The filtering rules may be designed to direct MTT-capable and / or anomalous packets to a "honeypot" server that can mimic the behavior of the network system to attract attack traffic. By filtering out MTT-not-enabled and / or anomalous packets associated with honeypots, especially those associated with attack traffic, network administrators can prevent attacks, analyze network vulnerabilities, and / or are based on the behavior of unauthorized traffic. You can develop new technologies to respond to attacks. Alternatively, packets that are not MTT-capable may be discarded immediately, or filtered using conventional firewall techniques.

여기에 설명된 MTT 스위치의 이러한 기능을 더 이해하도록, 도 17 및 다음의 실시예를 고려한다. 이제 도 17에 대해 언급하면서, 예시적인 네트워크(1700)가 제공된다. 네트워크는 호스트(1702), 모듈(1704), 스위치(1706, 1712), 라우터(1708, 1710), 및 호스트(1714)를 포함한다. 도 17에 도시된 바와 같이, 데이터 패킷은 IDP(120)로 보내진다. 하나의 예시적인 실시예에서, 모듈(1704)은 이전에 설명된 바와 같이 IDP(120)를 IDP(122)로 변환할 수 있다. 대안적인 실시예에서, 모듈(1704)은 호스트(1702) 또는 스위치(1706) 내에 있을 수 있다. 부가적으로, 라우터(1708, 1710), 스위치(1712), 및 호스트(1714)는 또한 모듈을 포함할 수 있다. 도 17이 하나의 방향으로 트래블링하는 데이터 패킷을 도시함에도, 해당 기술분야의 당업자는 데이터 트래픽이 공지된 이중화 기법을 사용하여 양 방향으로 흐를 수 있다는 것을 인지할 것이다.To further understand this function of the MTT switch described herein, Figure 17 and the following embodiment are considered. Referring now to FIG. 17, an exemplary network 1700 is provided. The network includes a host 1702, a module 1704, switches 1706 and 1712, routers 1708 and 1710, and a host 1714. As shown in FIG. 17, the data packet is sent to the IDP 120. In one exemplary embodiment, module 1704 may convert IDP 120 to IDP 122 as previously described. In an alternative embodiment, module 1704 may be in host 1702 or switch 1706. Additionally, routers 1708 and 1710, switch 1712, and host 1714 may also include modules. Although Figure 17 shows a data packet traveling in one direction, those skilled in the art will recognize that data traffic can flow in both directions using known duplication techniques.

제 1 실시예에서, 네트워크 세그먼트는 직렬로 연결된 세 개의 분리 부품을 포함한다: PC(1702), MTT 모듈(1704), 및 MTT 스위치(1706), PC(1702)는 스위치(1706)를 통해 동적 네트워크에 진입하는 데이터 스트림을 위한 소스 호스트이다. PC(1702)에 의해 송신된 데이터 스트림 상에 의사랜덤 변환을 수행할 수 있는 모듈(1704)이 PC(1702)와 스위치(1706) 사이에 연결된다. 데이터 스트림이 스위치(1706)에 도달할 때, 스트림 내의 데이터 패킷의 다양한 IDP(122)는 모듈(1704)에 의해 랜덤 방식으로 변환되는 것으로 나타난다. 더 구체적으로, IDP 값(120)의 일부는 미션 플랜에 따라서 거짓값(122)으로 의사랜덤하게 변환된다. MTT 가능하게된 스위치(1706)는 동일한 미션 플랜에 따라서 동작하고, 그러므로 다음 인터페이스로 데이터 스트림에서의 패킷을 적절하게 보낼 수 있는 상태로 남는다. 대안적인 구성에서, 모듈(1704)은 분리 부품일 필요가 없지만 위에 논의된 바와 같이 PC(1702) 내에 임베디드될 수 있다. In the first embodiment, the network segment includes three separate components connected in series: the PC 1702, the MTT module 1704, and the MTT switch 1706, the PC 1702, It is the source host for the data stream entering the network. A module 1704 is coupled between the PC 1702 and the switch 1706 that is capable of performing a pseudo-random transformation on the data stream transmitted by the PC 1702. When the data stream reaches the switch 1706, the various IDPs 122 of the data packets in the stream appear to be converted in a random manner by the module 1704. More specifically, a portion of the IDP value 120 is converted into a pseudo-random value 122 according to the mission plan. MTT enabled switch 1706 operates in accordance with the same mission plan and therefore remains in a state where it can properly send packets in the data stream to the next interface. In an alternative configuration, module 1704 need not be a separate component, but may be embedded within PC 1702 as discussed above.

제 2 실시예에서, 모듈(1704)은 스위치(1706) 내에 임베디드되고 스위치(1706) 자체는 미션 플랜에 따라 데이터 패킷 IDP(120)를 변환할 수 있다. 그러한 시나리오에서, 스위치는 MTT 가능하지 않게된 데이터 스트림을 수신할 수 있다, 즉, 데이터 패킷의 IDP(102)는 변환되지 않는다. 그런 후에 스위치는 그들이 네트워크로 보내지기 전에 거짓 IDP(122)를 특정하도록 IDP를 수정한다. 스위치(1706)에서 변환은 입력 포트 또는 출력 포트에서 발생할 수 있다. 달리 말해서, IDP(120)는 스위치가 어느 포트를 통해 패킷을 보낼지를 결정하기 전에 또는 후에 변환될 수 있다.In a second embodiment, the module 1704 is embedded within the switch 1706 and the switch 1706 itself can convert the data packet IDP 120 according to the mission plan. In such a scenario, the switch may receive a data stream that is no longer MTT enabled, i.e., the IDP 102 of the data packet is not translated. The switch then modifies the IDP to identify the false IDP 122 before they are sent to the network. At switch 1706, a conversion may occur at the input or output port. In other words, the IDP 120 may be translated before or after determining which port the switch will send the packet over.

제 3 실시예에서, MTT 스위치(1706)는 라우터(1708, 1710)에 연결된 네트워크로서 도 17에 재현된 다른 미션 플랜을 따라 동작하는 두 개의 네트워크를 연결한다. 명백함을 위해 그리고 본 발명을 모호하게 하는 것을 피하기 위해, 라우터(1708, 1710)에 부착된 네트워크는 미도시된다. 구체적으로, 네트워크 중 하나(예, 라우터(1708))는 MTT 가능하지 않은 정적 네트워크이다. 두 개의 네트워크 사이에 송신된 데이터 트래픽은 그것이 다른 네트워크에 보내질 수 있기 전에 스위치(1706)에 의해 변환되어야만 한다. 예를 들어, MTT 가능하게된 네트워크로부터 스위치에 도달하는 데이터 패킷의 IDP(122)는 정적 값(120)을 특정하도록 변환되어야만 한다. 반대로, 정적 네트워크로부터 스위치에 도달하는 데이터 패킷의 IDP는 현재 활성 미션 플랜에 따라 IDP를 특정하도록 변환되어야만 한다. In the third embodiment, MTT switch 1706 connects two networks operating along different mission plans represented in FIG. 17 as a network connected to routers 1708 and 1710. For clarity and to avoid obscuring the present invention, the network attached to routers 1708 and 1710 is not shown. Specifically, one of the networks (e.g., router 1708) is a static network that is not MTT capable. Data traffic transmitted between two networks must be transformed by switch 1706 before it can be sent to another network. For example, the IDP 122 of the data packet arriving at the switch from the MTT enabled network must be translated to specify the static value 120. Conversely, the IDP of the data packet arriving at the switch from the static network must be converted to specify the IDP according to the currently active mission plan.

제 4 실시예에서, MTT 스위치(1706)는 네트워크 A(즉, 라우터(1709)), B(즉, 라우터(1710)), C(즉, 라우터(1711)) 및 D(즉, 라우터(1708))를 연결한다. 네트워크 A, B, C는 하나 이상의 미션 플랜에 따라 동작하는 동적 MTT 가능하게된 네트워크이다. 네트워크 D는 MTT 가능하지 않게된 정적 네트워크이다. 데이터가 MTT 스위치(1706)에 수신될 때, 그것은 그들이 네트워크 A, B, 또는 C의 현재 상태에 대응하는(즉, 네트워크 A, B, 또는 C의 현재 미션 플랜에 따라 기대되는 것에 대응하는) 거짓 IDP를 갖는 MTT 가능하게된 데이터를 포함하는지 여부를 결정하도록 패킷을 평가한다. 그렇다면, 스위치(1706)는 적합한 목적지 네트워크로 데이터를 라우팅하도록 하나 이상의 미션 플랜을 사용하여 적합한 MTT 처리를 수행한다. 목적지 네트워크가 정적 네트워크라면(본 실시예에서, 네트워크 D, 라우터(1708)), 이러한 처리는 거짓 IDP의 세트(예를 들어, 패킷이 MTT 가능하게된 네트워크로부터 소싱된다면)를 참 IDP의 세트로 변환하는 것을 포함할 수 있다. 대안적으로, 그러한 처리는 MTT 가능하게된 소스 네트워크(예, 네트워크 A, 라우터(1709))에 대응하는 거짓 IDP의 제 1 세트를 MTT 가능하게된 목적지 네트워크(예, 네트워크 B, 라우터(1710))에 대응하는 거짓 IDP의 제 2 세트로 변환하는 것을 포함할 수 있다. 거짓 IDP의 제 1 및 제 2 세트는 동일한 IDP의 세트에 대해 거짓 그리고/또는 다른 거짓값이 구성되는 IDP의 다른 선택을 포함할 수 있다. 대안적으로, 스위치(1706)가 수신된 패킷이 임의 네트워크의 현재 상태에 대응하지 않는 변칙적인 MTT 데이터를 포함한다고 결정하면, 그때 수신된 패킷은 폐기되거나 또는 위에 설명된 바와 같은 "허니팟"에 보낼질 수 있다.In the fourth embodiment, MTT switch 1706 includes a network A (i.e., router 1709), B (i.e., router 1710), C (i.e., router 1711), and D ). Networks A, B, and C are dynamic MTT enabled networks that operate according to one or more mission plans. Network D is a static network that is no longer MTT enabled. When data is received at the MTT switch 1706, it indicates that they are false (corresponding to what is expected according to the current mission plan of network A, B, or C) that corresponds to the current state of network A, B, 0.0 > MTT < / RTI > enabled data with IDP. If so, switch 1706 performs suitable MTT processing using one or more mission plans to route data to the appropriate destination network. If the destination network is a static network (in this embodiment, network D, router 1708), then this process may be performed with a set of false IDPs (e.g., if the packet is sourced from the MTT enabled network) Lt; / RTI > Alternatively, such processing may be accomplished by sending a first set of false IDPs corresponding to the MTT enabled source network (e.g., network A, router 1709) to the MTT enabled destination network (e.g., network B, router 1710) To a second set of pseudo IDPs corresponding to < RTI ID = 0.0 > a < / RTI > The first and second sets of false IDPs may comprise different choices of IDPs for which false and / or other false values are constructed for the same set of IDPs. Alternatively, if switch 1706 determines that the received packet contains anomalous MTT data that does not correspond to the current state of any network, then the received packet is discarded or sent to a "honeypot " Can be.

위에 설명된 예시적인 구성은 한정하도록 의도되지 않는다. 또한, 실시예는 도 17에 도시된 네트워크 토폴로지로 한정되지 않는다. 위에 언급된 바와 같이, 스위치의 기능은 다른 네트워크 디바이스(예, 라우터 및 브릿지)로 확립될 수 있다. 부가적으로, 모듈 및 방화벽의 기능은 스위치, 라우터, 및/또는 브릿지로 병합될 수 있다. 네트워크 부품은 필요의 임의의 세트에 맞춰지는 동적 네트워크 시스템에 도달하도록 조합될 수 있다. The exemplary configurations described above are not intended to be limiting. Further, the embodiment is not limited to the network topology shown in Fig. As mentioned above, the function of the switch can be established with other network devices (e.g., routers and bridges). Additionally, the functions of modules and firewalls can be merged into switches, routers, and / or bridges. The network components can be combined to arrive at a dynamic network system tailored to any set of needs.

이제 도 18에 대해서 언급하면서, MTT 스위치의 동작을 더 도시하는 프로세스(1800)의 흐름도가 제공된다. 스위치가 전원공급될 때 프로세스는 단계(1802)에서 시작하고 스위치 응용 소프트웨어가 여기에 설명된 방법을 실행하도록 시작되는 단계(1804)로 이어진다. 단계(1806)에서, 하나 이상의 미션 플랜은 스위치 내의 메모리 위치로부터 로딩된다. ARP 표는 또한 미션 플랜에 따라서 구체화된다. 미션 플랜은 단일 동적 컴퓨터 네트워크 내의 복수의 네트워크 세그먼트의 동적 전환을 규정할 수 있다. 하나 이상의 미션 플랜은 모듈과 관련해서 위에 설명된 것과 유사한 방식으로 스위치에 로딩될 수 있다. 일부 시나리오에서, 미션 플랜은 스위치의 메모리에 로딩되고 활성화되며, 그로써 트리거 이벤트를 생성한다. 트리거 이벤트는 앞서 활성 ARP 표를 사용하여 처리되는 트리거 이벤트 전에 수신된 트래픽과, 새롭게 활성화된 ARP 표를 사용하여 처리된 트리거 이벤트 후에 수신된 트래픽을 구분하는 게이트처럼 작용한다. 이것은 여러 가지 방식으로 발생할 수 있다. 또 다른 실시예에서, 미션 플랜은 스위치가 활성이지 않을 때, 또는 네트워크의 MTT 동작이 가능하지 않게 된 때의 시간 동안 메모리에 로딩될 수 있다. 미션 플랜이 로딩되면, 스위치는 데이터를 처리하기 시작할 준비가 되고 그것이 스위치의 입력 데이터 버퍼로부터 데이터 패킷에 접근하는 단계(1808)에서 그렇게 하도록 처리한다.Referring now to FIG. 18, a flow diagram of process 1800 further illustrating the operation of the MTT switch is provided. When the switch is powered up, the process begins at step 1802 and continues to step 1804 where the switch application software is started to execute the method described herein. At step 1806, one or more mission plans are loaded from memory locations in the switch. The ARP table is also materialized according to the mission plan. The mission plan can define a dynamic transition of a plurality of network segments within a single dynamic computer network. One or more mission plans may be loaded into the switch in a manner similar to that described above with respect to the module. In some scenarios, the mission plan is loaded and activated in the memory of the switch, thereby generating a trigger event. The trigger event acts as a gate that separates the traffic received before the trigger event processed using the previously active ARP table and the traffic received after the trigger event processed using the newly activated ARP table. This can happen in several ways. In another embodiment, the mission plan may be loaded into memory for a time when the switch is not active, or when the MTT operation of the network becomes disabled. Once the mission plan is loaded, the switch is ready to begin processing the data and processes it in step 1808 to access the data packet from the switch's input data buffer.

단계(1810)에서, 스위치는 동작의 MTT 모드가 네트워크에서 가능해질지 여부를 결정하도록 확인한다. 아니라면(1810: 아니오), 단계(1808)에 접근된 데이터 패킷은 참 IDP 값을 포함하는 패킷의 적절한 포워딩을 보장하도록 배열된 정적 ARP 표를 사용하여 출력 포트로 단계(1812)에서 지향된다. 달리 말해서, 이러한 모드는 동작의 MTT 모드가 활성이지 않고 모든 IDP가 그들의 참값을 가지는 것으로 가정될 때 사용된다. 스위치는 종래의 스위치와 동일한 방식으로 데이터 패킷의 임의의 수정 없이 단계(1812)에서 적합한 출력 포트에 데이터 패킷을 전달한다. MTT 모드가 가능해지면(1810: 예), 그때 프로세스는 단계(1814)로 이어진다.In step 1810, the switch determines whether the MTT mode of operation is enabled in the network. If not (1810: NO), the data packet accessed at step 1808 is directed at step 1812 to the output port using a static ARP table arranged to ensure proper forwarding of packets containing a true IDP value. In other words, this mode is used when the MTT mode of operation is not active and all IDPs are assumed to have their true value. The switch conveys the data packet to the appropriate output port in step 1812 without any modification of the data packet in the same manner as a conventional switch. If the MTT mode is enabled (1810: YES), then the process continues to step 1814.

네트워크는 어떻게 네트워크에서의 IDP가 현재 조작되는지를 규정하는 일부 MTT 상태를 가질 것이다. 단계(1814)에서, 스위치는 미션 플랜 및 현재 MTT 상태에 기반해서 거짓 IDP 값의 현재 상태를 결정한다. 단계(1816)에서, 시스템은 MTT 상태를 변경할 수 있는 트리거 이벤트가 발생했는지 여부를 결정하도록 주기적으로 확인한다. 트리거 이벤트의 발생에 대해 확인하는 이러한 단계는 클록 신호에 기반해서 도시된 바와 같이 주기적으로 수행될 수 있고, 또는 그것은 박스(1815) 내에 포함된 프로세스 동안 언제든지 수행될 수 있다. 이것은 트리거 이벤트의 발생이 네트워크에서 현재 사용중인 적합한 식별값의 계산에 상당한 영향을 가질 수 있기 때문에 중요한 단계이다. 그런 후에 단계(1816)로부터의 정보 및 네트워크의 MTT 상태에 관한 임의의 다른 적절한 정보가 그때에 네트워크에 의해 사용 중인 임의의 MTT 조작의 현재 상태를 결정하도록 사용된다. 예를 들어, 단계(1814)에서 트리거 이벤트의 발생은 시스템이 업데이트된 상호 참조, 또는 그 시점에 사용중인 임의 거짓 IDP 값을 포함하는 LUT, 및 대응하는 참 IDP 값을 발생시키게 할 수 있다. 어느 IDP가 거짓인가에 관한 정보 및 그러한 IDP에 대한 참값은 앞서 설명된 바와 같이 의사랜덤 프로세스를 사용하여 결정될 수 있다. 도 18에 도시된 바와 같이, 트리거 이벤트는 처리 단계(1814, 1818, 1820, 1824, 1826, 1828) 중 어느 하나 동안 발생할 수 있고 그 때에 현재 MTT 상태(예, 거짓 IDP 값의 현재 상태)의 즉각적인 재결정을 트리거할 것이다.The network will have some MTT status that specifies how the IDP in the network is currently being operated. In step 1814, the switch determines the current state of the false IDP value based on the mission plan and the current MTT state. In step 1816, the system periodically checks to determine if a trigger event has occurred that may change the MTT state. This step of acknowledging the occurrence of a trigger event may be performed periodically, as shown based on the clock signal, or it may be performed at any time during the process contained within the box 1815. This is an important step because the occurrence of a trigger event can have a significant impact on the calculation of the appropriate identification value currently in use in the network. Then, the information from step 1816 and any other appropriate information regarding the MTT state of the network is then used to determine the current state of any MTT operations being used by the network. For example, the occurrence of a trigger event in step 1814 may cause the system to generate an updated cross-reference, or a LUT containing any false IDP values in use at that time, and a corresponding true IDP value. The information about which IDP is false and the true value for such IDP can be determined using a pseudo-random process as described above. As shown in FIG. 18, a trigger event may occur during any of the processing steps 1814, 1818, 1820, 1824, 1826, 1828 and at that time, an instantaneous (e.g., It will trigger recrystallization.

선택적으로, MTT IDP의 부인 방지가 단계(1814)에서 가능해질 수 있다. 부인 방지는 네트워크 관리자가 언제든지 동적 네트워크에 의해 사용된 MTT 식별을 발견하게 하는 보안 서비스이다. 결과적으로, 네트워크 소스와 목적지의 참 식별은 네트워크 트래픽의 IDP의 잠재적으로 의사랜덤 성질에도 불구하고 알 수 있고 책임을 거부하도록 "부인될" 수 없다. 하나의 실시예에서, 이것은 모든 거짓 식별의 단순한 로깅에 의해 달성될 수 있다. 그러므로, 로깅 기능이 수행되고 그로써 단계(1814)에서 결정된 모든 거짓 IDP가 예를 들어, 메모리에 기록된다. 대안적으로, 부인 방지는 의사랜덤 함수의 타임 스탬프된 기록 및 MTT 미션 플랜의 현재 상태와 연관된 시드값을 통해 달성될 수 있다. 이것은 네트워크 관리자가 의사랜덤 함수와 그 시간에 미션 플랜에 의해 사용된 시드값으로부터 네트워크 식별을 "재구성"하도록 네트워크의 동작 동안 언제든지 뒤돌아보도록 한다. Optionally, non-repudiation of the MTT IDP may be enabled at step 1814. Nonrepudiation is a security service that allows the network administrator to discover the MTT identification used by the dynamic network at any time. As a result, true identification of the network source and destination can be known despite the potentially pseudo-random nature of the IDP of the network traffic and can not be "denied" to deny responsibility. In one embodiment, this can be achieved by simple logging of all false identifications. Therefore, the logging function is performed and thereby all false IDPs determined in step 1814 are written to, for example, memory. Alternatively, non-repudiation can be achieved through timestamped recording of the pseudo-random function and seed values associated with the current state of the MTT mission plan. This allows the network administrator to look back at any time during the operation of the network to "reconfigure" the network identification from the pseudo-random function and the seed value used by the mission plan at that time.

단계(1818)에서, 스위치는 데이터 패킷이 발생된 소스 노드와 목적지 노드의 식별을 결정하도록 데이터 패킷을 판독한다. 수신된 데이터의 소스와 목적지 어드레스 정보는 그것이 스위치가 데이터 통신 내에 포함된 IDP를 적절히 조작하는 방법을 결정하는 것을 허용할 필요가 있기 때문에 중요하다. 단계(1820)에서, 스위치는 소스 노드가 유효한지 여부를 결정하도록 데이터 패킷을 검사한다. 이것은 현재 사용중인(예, 단계(1814)에서 결정된 바와 같음) 유효 소스 노드의 현재 목록과 데이터 패킷에 특정된 소스 노드를 비교하는 것에 의해 달성될 수 있다. 소스 노드 정보가 유효하지 않다면 그때 패킷은 단계(1822)에서 폐기된다. 단계(1824, 1826)는 더 구체적으로 아래에 논의되는 선택 단계이다.In step 1818, the switch reads the data packet to determine the identity of the source node and the destination node from which the data packet was generated. The source and destination address information of the received data is important because it needs to allow the switch to determine how to properly manipulate the IDP included in the data communication. In step 1820, the switch examines the data packet to determine if the source node is valid. This can be accomplished by comparing the current list of valid source nodes with the source node specified in the data packet (e.g., as determined in step 1814). If the source node information is not valid then the packet is discarded in step 1822. Steps 1824 and 1826 are more specifically the selection steps discussed below.

프로세스는 스위치가 적절한 출력 포트에 패킷을 향하게 하는 지점에서 단계(1828)로 이어진다. 이러한 단계는 바람직하게 거짓 IDP를 포함하는 패킷의 적절한 포워딩을 보장하는 적합한 작업을 포함한다. 더 구체적으로, 이러한 단계는 데이터 통신을 위한 다음 목적지가 거짓 IDP에 대응하는 참 정보에 따른, 그리고 미션 플랜에 따른 데이터 통신을 위한 정확한 경로임을 보장한다. 거짓 IDP에서의 정보는 참 IDP 값에 일치하지 않을 것이고, 그래서 적절한 조절이 거짓 정보를 수용하도록 이루어져야만 하는 반면에, 여전히 데이터 메시지의 적절한 포워딩을 보장한다는 것을 상기한다. 이러한 문제를 다루는 적어도 두 개의 가능한 방법이 있다. 일부 실시예에서, 단계(1828)는 참 IDP 값은 패킷에 포함된 임의 거짓 IDP에 대해 결정된 상호 참조 프로세스를 포함할 수 있다. 예를 들어, 단계(1814)에 발생된 LUT는 이러한 목적을 위해 사용될 수 있다. 참값이 그러한 IDP에 대해 결정되면, 스위치는 특정 패킷에 대한 정확한 출력 포트를 결정하도록 정적 ARP 표(즉, 단계(1812)에 사용된 동일한 표)를 사용할 수 있다. 그런 후에, 패킷은 정확한 출력 포트로 향해질 수 있다. 대안적으로, 동적 ARP 표는 단계(1828)에서 사용을 위해 발생될 수 있다. 동적 ARP 표는 데이터 패킷에 포함된 거짓 IDP 정보에 대응하는 정확한 출력 포트를 직접적으로 특정할 수 있다. 다른 방법 역시 가능하고 본 발명은 여기에 설명된 두 개의 접근으로 한정되도록 의도되지 않는다.The process continues from step 1828 to the point where the switch directs the packet to the appropriate output port. This step preferably includes appropriate work to ensure proper forwarding of packets including false IDPs. More specifically, this step ensures that the next destination for data communication is an accurate path for data communication according to the true information corresponding to the false IDP and according to the mission plan. Note that the information in the false IDP will not match the true IDP value, so that while appropriate adjustments must be made to accommodate false information, still ensure proper forwarding of the data message. There are at least two possible ways to address this problem. In some embodiments, step 1828 may include a cross-reference process determined for any false IDP included in the packet, the true IDP value. For example, the LUT generated in step 1814 may be used for this purpose. If a true value is determined for such an IDP, the switch may use a static ARP table (i.e., the same table used in step 1812) to determine the correct output port for a particular packet. After that, the packet can be directed to the correct output port. Alternatively, a dynamic ARP table may be generated for use in step 1828. The dynamic ARP table can directly identify the correct output port corresponding to the false IDP information contained in the data packet. Other methods are also possible and the invention is not intended to be limited to the two approaches described herein.

단계(1830)에서, 스위치가 전원 차단하도록 명령되었는지 여부에 대한 결정이 이루어진다. 그렇다면, 프로세스는 단계(1832)에서 종료하고; 그렇지 않으면, 프로세스는 (1808)로 돌아간다. 단계(1808)에서 프로세스가 이어지고 다음 데이터 패킷이 스위치의 입력 데이터 버퍼로부터 접근된다.At step 1830, a determination is made as to whether the switch has been commanded to power down. If so, the process ends at step 1832; Otherwise, the process returns to (1808). In step 1808 the process continues and the next data packet is accessed from the input data buffer of the switch.

위에 설명된 프로세스에서, 스위치는 거짓 IDP를 포함하는 데이터 패킷이 그럼에도 적절한 목적지 노드 또는 노드들로 전달됨을 보장하는 포워딩 작업을 수행한다. 그러한 기본적인 포워딩 기능을 수행하는 것에 더해서, 스위치는 또한 모듈에 대해서 위에 설명된 것과 유사한 방식으로 IDP의 동적인 조작을 수행하도록 구성될 수 있다. 다시 도 18에 대해 언급하면서, 선택 단계(1824)는 미션 플랜과 현재의 동적 네트워크 상태에 따라 IDP의 동적 조작을 포함할 수 있다. 단계(1824)에서 동작은 위에 설명된 바와 같이 도 1의 모듈(105-107, 113, 114)에 의해 수행된 IDP 조작과 유사할 수 있다. IDP의 그러한 조작의 완료 시에, 프로세스는 단계(1828)에 관련해서 위에 설명된 바와 같이 핵심적으로 계속할 수 있다. 포워딩 작업은 스위치에 의해 조작된 바와 같이 현재 IDP 값을 사용하여 수행될 수 있다. 특히, 단계(1824)에서의 조작 작업은 미션 플랜에 따라서 선택적으로 토글링 온 및 오프될 수 있다. 이러한 프로세스는 모듈에 관련해서 위에 설명된 바이패스 모드와 유사하고, IDP 조작이 수행되는 네트워크 내의 위치를 변경하는 것을 용이하게 할 수 있다. 동작의 이러한 바이패스 모드는 위에 설명된 바와 같이 단계(1810, 1812)에서 실행될 수 있다. 대안적으로, 단계(1824)는 개별적으로 바이패스될 수 있다. In the process described above, the switch performs a forwarding operation to ensure that a data packet containing a false IDP is still delivered to the appropriate destination node or nodes. In addition to performing such basic forwarding functions, the switch may also be configured to perform dynamic manipulation of the IDP in a manner similar to that described above for the module. Referring again to FIG. 18, the selection step 1824 may include dynamic manipulation of the IDP according to the mission plan and current dynamic network conditions. Operation at step 1824 may be similar to the IDP operation performed by module 105-107, 113, 114 of FIG. 1, as described above. Upon completion of such an operation of the IDP, the process may continue as described above with respect to step 1828, essentially as described above. The forwarding operation may be performed using the current IDP value as manipulated by the switch. In particular, the manipulation task in step 1824 can be toggled on and off selectively according to the mission plan. This process is similar to the bypass mode described above with respect to the module and may facilitate changing the location in the network where the IDP operation is performed. This bypass mode of operation may be performed at steps 1810 and 1812 as described above. Alternatively, step 1824 can be bypassed individually.

이제까지 설명된 바와 같은 프로세스에서, IDP가 조작되었지만, 포워딩 프로토콜은 정적이었다. 달리 말해서, 패킷의 포워딩에 대한 룰은 시간에 걸쳐 동일하게 남아있고 이러한 룰은 네트워크의 MTT 상태에서의 변경에 의해 영향받지 않는다. 패킷은 그들이 정적 ARP 표를 갖는 디폴트 포워딩 시나리오에서 보내짐에 따라 동일한 경로 또는 경로들을 따라 항상 라우팅된다. 이들 정적 라우팅 방법에 더해서, 본 발명의 배열은 동적 포워딩을 포함할 수 있다.In the process as described so far, the IDP was manipulated, but the forwarding protocol was static. In other words, the rules for packet forwarding remain the same over time, and these rules are not affected by changes in the MTT state of the network. The packets are always routed along the same path or paths as they are sent in the default forwarding scenario with a static ARP table. In addition to these static routing methods, the arrangement of the present invention may include dynamic forwarding.

동적 포워딩의 개념을 더 완전히 이해하기 위해서, 실시예를 고려하는 것이 유용하다. 도 18을 참조하여 위에 설명된 디폴트 포워딩 시나리오에서, 이러한 경로가 가장 짧은 수의 홉을 갖기 때문에 스위치(1706)는 서버(1714)를 목적지로 하는 패킷을 (인터넷 또는 일부 다른 공공 네트워크를 통해) 라우터(1710)로 향하게 한다. 그러나, 본 발명의 동적 포워딩 실시예에서, 각각의 스위치 및/또는 라우터의 포워딩 프로토콜은 패킷이 특정 스위치/라우터에 의해 포워딩되는 방식이 시간에 걸쳐(그리고 다른 조건 하에서) 변하도록 동적으로 수정될 수 있다. 포워딩에서의 그러한 변동은 미션 플랜으로 특정되는 정보에 대한 접근 없이 예측가능하지 않을 것이다. 따라서, 미션 플랜은 예를 들어, 때때로 서버(1714)를 목적지로 하는 패킷이 직접적으로 라우터(1710) 대신에 라우터(1708)로 향해짐을 특정할 수 있다. 그런 후에, 패킷은 인터넷(또는 임의의 다른 공공 네트워크)를 통해 스위치(1712)로 그리고 최종 목적지(예, 서버(1714))로 향해진다. 다른 시간에서, 동일한 서버를 목적지로 하는 패킷은 다른 경로를 가질 수 있다. 동적 포워딩을 포함하는 그러한 실시예에서, 네트워크(1700)를 통해 패킷이 취하는 경로는 네트워크 통신을 모니터링하려고 시도하는 적을 저지하도록 의사랜덤 방식으로 동적으로 변경된다고 언급될 수 있다. 이하에 설명된 동적 포워딩 방법은 임의의 적합한 기법을 사용하여 수행될 수 있고 모든 그러한 기법은 본 발명의 범위에 포함되도록 의도된다. 또한, 포워딩 프로토콜의 동적 수정은 단독으로, 또는 위에 설명된 바와 같이 IDP의 동적 수정과 관련해서 수행될 수 있다. In order to fully understand the concept of dynamic forwarding, it is useful to consider the embodiment. In the default forwarding scenario described above with reference to Figure 18, since this path has the shortest number of hops, the switch 1706 sends a packet destined for the server 1714 (via the Internet or some other public network) Gt; 1710 < / RTI > However, in the dynamic forwarding embodiment of the present invention, the forwarding protocol of each switch and / or router can be dynamically modified such that the manner in which the packet is forwarded by a particular switch / router changes over time (and under different conditions) have. Such a change in forwarding will not be predictable without access to the information specified in the mission plan. Thus, the mission plan may specify, for example, that a packet destined to the server 1714 from time to time is directed directly to the router 1708 instead of the router 1710. The packet is then directed through the Internet (or any other public network) to the switch 1712 and to the final destination (e.g., server 1714). At other times, packets destined for the same server may have different paths. In such an embodiment involving dynamic forwarding, it can be mentioned that the path taken by the packet over the network 1700 is dynamically changed in a pseudo-random manner to block the enemy attempting to monitor the network communication. The dynamic forwarding method described below can be performed using any suitable technique and all such techniques are intended to be included within the scope of the present invention. In addition, the dynamic modification of the forwarding protocol can be performed alone or in conjunction with dynamic modification of the IDP as described above.

여기에 설명된 동적 라우팅 방법이 위에 설명된 프로세스로 한정되지 않는다는 것이 이해되어야만 한다. 또 다른 실시예에서, 미션 플랜에 따라서 동작하는 스위치는 네트워크를 통해 다중 실행가능한 경로를 결정할 수 있다. 스위치는 미션 플랜에 의해 정의된 의사랜덤 알고리즘에 따라서 실행가능한 경로를 가로질러 통신을 분할하고 흩뿌릴 수 있다. 예를 들어, 도 17을 참조하여, 스위치(1706)는 두 개의 패킷으로 분할된 통신을 수신할 수 있다. 미션 플랜에 따라 동작할 때, 스위치(1706)는 라우터(1708)를 통해 하나의 패킷을 보낼 수 있고 다른 패킷은 라우터(1710)로 직접적으로 보낼 수 있다. 그런 후에 통신은 목적지(예, 서버(1714))에서 재조립된다. 그러한 실시예에서, 스위치(1706)는 데이터 패킷이 의사랜덤 함수에 따라서 트래블링하는 경로를 변경할 수 있다. 해당 기술분야의 당업자는 이러한 기법이 많은 스위치 및/또는 라우터를 포함하는 네트워크로 조정될 수 있다는 것을 인지할 것이다. It should be understood that the dynamic routing method described herein is not limited to the process described above. In yet another embodiment, a switch operating in accordance with a mission plan may determine multiple executable paths through the network. The switch can split and spread communications across the executable path according to the pseudo-random algorithm defined by the mission plan. For example, referring to FIG. 17, switch 1706 may receive communications split into two packets. When operating in accordance with a mission plan, switch 1706 may send one packet through router 1708 and another packet directly to router 1710. The communication is then reassembled at the destination (e.g., server 1714). In such an embodiment, switch 1706 may change the path that the data packet travels along with the pseudo-random function. Those skilled in the art will recognize that this technique can be tailored to a network comprising many switches and / or routers.

특히, 위에 설명된 동적 라우팅 프로세스는 또한 도 18에 관련해서 설명된 MTT 기능 중 하나 이상을 독립적으로 발생시킬 수 있다. 이제 도 19에 대해 언급하면서, 라우터에 의해 사용된 포워딩 프로토콜이 미션 플랜에 따라 변하는 하나의 실시예에 따른 스위치의 동작을 요약하는 흐름도가 제공되어 있다. 프로세스(1900)는 스위치가 전원공급될 때 단계(1902)에서 시작하고 스위치 어플리케이션 소프트웨어가 여기에 설명된 방법을 실행하도록 시작되는 단계(1904)로 이어진다. 단계(1906)에서, 하나 이상의 미션 플랜은 스위치 내의 메모리 위치로부터 로딩된다. 이 포인트에서, 스위치는 데이터를 처리하기 시작할 준비가 되고 단계(1908)에서 그렇게 하도록 진행하고, 여기서 그것은 스위치의 입력 데이터 버퍼로부터 수신된 데이터 패킷에 접근한다. 단계(1910)에서, 스위치가 동적 포워딩 모드에서 동작하는지 여부에 관한 결정이 이루어진다. 그렇지 않다면, 프로세스는 단계(1912)로 진행하고 데이터는 목적지 호스트로 경로에서 다음 홉과 연관된 디폴트 포트로 보내진다. 대안적으로, 스위치가 동적 포워딩 모드에 따라서 동작한다면[1910: 예], 프로세스는 박스(1913) 내에 포함된 단계(1914-1918)로 이어진다. In particular, the dynamic routing process described above may also independently generate one or more of the MTT functions described in connection with FIG. Referring now to FIG. 19, a flow diagram is provided that summarizes the operation of the switch in accordance with one embodiment in which the forwarding protocol used by the router varies according to the mission plan. Process 1900 begins at step 1902 when the switch is powered up and continues to step 1904 where the switch application software is started to execute the method described herein. At step 1906, one or more mission plans are loaded from memory locations in the switch. At this point, the switch is ready to begin processing the data and proceeds to do so in step 1908, where it accesses the data packet received from the input data buffer of the switch. In step 1910, a determination is made as to whether the switch is operating in a dynamic forwarding mode. Otherwise, the process proceeds to step 1912 and the data is sent to the destination host in the path to the default port associated with the next hop. Alternatively, if the switch operates in accordance with the dynamic forwarding mode [1910: YES], the process continues to steps 1914-1918 included in box 1913.

단계(1914)에서, 스위치는 목적지 노드에 도달하도록 데이터 패킷이 취할 수 있는 네트워크를 통해 실행가능한 경로의 세트를 결정한다. 이들 경로는 미션 플랜에 기반해서 결정될 수 있다. 예를 들어, 미션 플랜은 하나의 포인트에서 다른 것으로 갈 수 있도록 네트워크를 통해 데이터 패킷이 취할 수 있는 다수의 경로를 인식할 수 있다. 스위치는 이들 경로 중 어느 것이 현재 활성 미션 플랜에 따라 이용가능한지를 결정할 수 있다. 단계(1916)에서, 단일 경로는 미션 플랜에 의해 정의된 의사랜덤 선택 프로세스에 기반해서 패킷을 보내도록 선택된다. 리액티브 트리거 이벤트의 발생에 관한 확인 역시 단계(1915)에서 발생한다. 도 18에 관련해서 위에 논의된 바와 같이, 단계(1915)에서 결정된 리액티브 트리거 이벤트는 그 시간에 현재 MTT 상태(예, 거짓 IDP 값의 현재 상태)의 즉각적인 재결정을 트리거할 것이다. 경로가 선택되면, 데이터 패킷은 패킷을 위한 다음 목적지로서 특정된 인접한 노드를 향해 단계(1918)에서 출력 포트로 향해진다. 특정 실시예에서, 미션 플랜은 네트워크에서 추가적인 잡음을 발생시키도록 스위치를 향하게 할 수 있다. 이들 실시예에서, 단계(1918)는 또한 네트워크를 변칙적인 패킷으로 채우고 네트워크의 거동을 가리려는 노력에서 하나 이상의 추가적인 포트로 패킷을 보내는 것을 포함한다.In step 1914, the switch determines a set of executable paths over the network that the data packet can take to reach the destination node. These paths can be determined based on the mission plan. For example, a mission plan can recognize a number of paths a data packet can take over the network so that it can go from one point to another. The switch can determine which of these paths is available according to the currently active mission plan. In step 1916, the single path is selected to send packets based on the pseudorandom selection process defined by the mission plan. An acknowledgment as to the occurrence of the reactive trigger event also occurs in step 1915. As discussed above in connection with FIG. 18, the reactive trigger event determined at step 1915 will trigger an immediate redirection of the current MTT state (e.g., the current state of the false IDP value) at that time. If a path is selected, the data packet is directed to an output port in step 1918 toward an adjacent node specified as the next destination for the packet. In certain embodiments, the mission plan can direct the switch to generate additional noise in the network. In these embodiments, step 1918 also includes sending the packet to one or more additional ports in an effort to fill the network with anomalous packets and to dictate the behavior of the network.

단계(1920)에서, 스위치가 전원공급되지 않도록 명령되는지 여부에 관한 결정이 이루어진다. 그렇다면, 프로세스는 단계(1922)에서 종료하고; 그렇지 않으면, 프로세스는 (1908)로 돌아간다. 단계(1908)에서, 프로세스가 이어지고 다음 데이터 패킷이 라우터의 입력 데이터 버퍼로부터 접근된다. In step 1920, a determination is made as to whether the switch is commanded not to be powered. If so, the process ends at step 1922; Otherwise, the process returns to (1908). At step 1908, the process continues and the next data packet is accessed from the router's input data buffer.

이제 도 20에 대해 언급하면서, 스위치(2000)의 블록도가 도시된다. 스위치(200)는 적어도 두 개의 데이터 포트(2001, 2002)를 가진다. 데이터 포트(2001, 2002)의 각각은 각각의 네트워크 인터페이스 디바이스(2004, 2005)에 대응할 수 있다. 도 20에 도시된 바와 같이, 스위치(2000)는 복수의 데이터 포트를 가질 수 있고, 각각은 다른 네트워크 및/또는 컴퓨팅 디바이스에 연결한다. 포트(2001) 중 어느 하나에 수신된 데이터는 네트워크 인터페이스 디바이스(2004)에서 처리되고 입력 버퍼(2010)에 일시적으로 저장된다. 프로세서(2015)는 입력 버퍼(2010)에 포함된 입력 데이터 패킷에 접근하고 여기에 설명된 바와 같이 임의 필수적인 라우팅 절차를 수행한다(즉, 방향 2 프로세싱(2016)). 수정된 데이터 패킷은 출력 버퍼(2012)로 통과되고 이어서 네트워크 인터페이스 디바이스(2005)를 사용하여 포트(2002)로부터 송신된다. 유사하게, 포트(2002)에 수신된 데이터는 네트워크 인터페이스 디바이스(2005)에서 처리되고 입력 버퍼(2008)에 일시적으로 저장된다. 프로세서(2015)는 입력 버퍼(2008)에 포함된 입력 데이터 패킷에 접근하고 여기에 설명된 바와 같이 임의 필수적인 라우팅 절차를 수행한다(즉, 방향 1 프로세싱(2014)). 수정된 데이터 패킷은 출력 버퍼(2006)로 통과되고 이어서 네트워크 인터페이스 디바이스(2004)를 사용하여 포트(2001)로부터 송신된다. 각각의 모듈에서, 데이터 패킷의 동적 라우팅은 메모리(2018)에 저장된 미션 플랜(2020) 및/또는 하나 이상의 표(2022)에 따라 프로세서(2015)에 의해 수행된다. Referring now to FIG. 20, a block diagram of switch 2000 is shown. The switch 200 has at least two data ports 2001, 2002. Each of the data ports 2001 and 2002 may correspond to each of the network interface devices 2004 and 2005. As shown in FIG. 20, the switch 2000 may have a plurality of data ports, each of which connects to another network and / or a computing device. The data received in any one of the ports 2001 is processed in the network interface device 2004 and temporarily stored in the input buffer 2010. [ Processor 2015 accesses input data packets included in input buffer 2010 and performs any necessary routing procedures as described herein (i.e., direction 2 processing 2016). The modified data packet is passed to the output buffer 2012 and then transmitted from the port 2002 using the network interface device 2005. Similarly, the data received at port 2002 is processed at network interface device 2005 and is temporarily stored in input buffer 2008. Processor 2015 accesses input data packets contained in input buffer 2008 and performs any necessary routing procedures as described herein (i.e., direction 1 processing 2014). The modified data packet is passed to output buffer 2006 and then transmitted from port 2001 using network interface device 2004. In each module, dynamic routing of data packets is performed by the processor 2015 in accordance with the mission plan 2020 and / or one or more tables 2022 stored in memory 2018.

라우팅 기능(및 동적 라우팅 프로토콜을 잠재적으로 관리할 필요) 외에, 스위치(2000)의 동작은 많은 측면에서 모듈(105-107, 113, 114)의 것과 유사하다. 여전히, 스위치(2000)의 동작 역시 일부 방식에서 다르다는 것이 인지될 수 있다. 예를 들어, 모듈과 달리, 스위치는 네트워크가 활성일 때 적어도 종래의 포워딩 기능을 수행할 필요가 있기 때문에 결코 전체적으로 비활성이 아닐 것이다. 여전히, 스위치의 동작의 일부는 모듈과 유사한 방식으로 활성 모드와 비활성 모드 사이에 천이될 수 있다. 예를 들어, IDP의 동적 수정을 포함하는 스위치에 의해 수행된 변환 기능(도 18의 단계(1824))은 활성 모드와 비활성(바이패스) 모드 사이에 천이될 수 있다. 활성 모드에 있을 때, IDP의 동적 수정은 스위치에 의해 수행될 수 있다. 비활성 또는 바이패스 모드에 있을 때, 포워딩 기능이 여전히 활성임에도 IDP는 동적으로 수정되지 않는다. 특히, 미션 플랜은 IDP 조작이 수행되는 위치를 변경하도록 스위치를 사용할 수 있다(모듈에 대해서 위에 설명된 것과 유사한 방식으로). 그러한 작업은 도 17에 도시된 바와 같이 하나 이상의 스위치 및/또는 라우터에 의해 배타적으로 수행될 수 있고, 또는 모듈, 브릿지, 및 방화벽과 같은 다른 디바이스와 관련해서 수행될 수 있다. 스위치에 의해 사용된 미션 플랜은 새로운 미션 플랜이 로딩될 때의 시간 동안 정적 ARP 표가 활성화된 채로 남을 수 있는 종래의 포워딩 기능을 제외하고, 모듈에 대해서 여기에 설명된 것과 유사한 방식으로 업데이트될 수 있다. 대안적으로, 위에 설명된 바와 같이, 새로운 미션 플랜의 로딩 및 활성화는 트리거 이벤트가 발생하게 할 수 있고 그로써 트리거 이벤트 후에 입력 버퍼에 수신된 모든 데이터가 업데이트된 미션 플랜을 사용하여 처리될 것이다.In addition to the routing function (and the need to potentially manage the dynamic routing protocol), the operation of the switch 2000 is similar in many respects to that of the modules 105-107, 113, and 114. Still, it can be appreciated that the operation of the switch 2000 is also different in some ways. For example, unlike a module, a switch may never be entirely inactive because it needs to perform at least a conventional forwarding function when the network is active. Still, some of the operation of the switch can be transited between active and inactive modes in a manner similar to a module. For example, the conversion function (step 1824 of FIG. 18) performed by the switch including the dynamic modification of the IDP may transition between active and inactive (bypass) modes. When in the active mode, dynamic modification of the IDP can be performed by the switch. When in inactive or bypass mode, the IDP is not dynamically modified, even though the forwarding function is still active. In particular, the mission plan can use a switch (in a manner analogous to that described above for the module) to change the location at which the IDP operation is performed. Such work may be performed exclusively by one or more switches and / or routers, as shown in FIG. 17, or may be performed in connection with other devices such as modules, bridges, and firewalls. The mission plan used by the switch can be updated in a manner similar to that described herein for the module, except for the conventional forwarding function, which allows the static ARP table to remain active for the time when the new mission plan is loaded have. Alternatively, as described above, loading and activating a new mission plan may cause a trigger event to occur and thereby all data received in the input buffer after the trigger event will be processed using the updated mission plan.

스위치에 의해 조작될 IDP의 선택, 및 그들이 조작되는 방식은 모듈에 대해서 위에 설명된 접근과 유사할 수 있다. 예를 들어, IDP의 선택 및 거짓 IDP 값의 선택은 의사랜덤 또는 혼돈 프로세스에 의해 결정될 수 있다. 프로세스 및/또는 그러한 프로세스를 위한 시드값은 네트워크와 연관된 미션 플랜에 의해 각각 결정된다. 스위치(2000)는 모듈을 참조하여 위에 설명된 바와 같이 하나 이상의 트리거 이벤트의 발생에 따라 조작될 IDP 값 및/또는 IDP의 선택에 변화를 줄 것이다. 이들 트리거 이벤트는 시간의 함수로서 발생될 수 있고, 이벤트 또는 그들 모두의 발생에 의해 결정될 수 있다. 여기에 언급된 이벤트의 실시예는 위에 논의된 바와 같이, 사용자 명령어, 타이밍 간격, 및 잠재적 네트워크 보안 위협의 검출을 포함할 수 있다.
The choice of IDP to be operated by the switch, and the manner in which they are operated, may be similar to the approach described above for the module. For example, selection of IDP and selection of a false IDP value may be determined by a pseudo-random or chaotic process. The process and / or the seed value for such a process are each determined by a mission plan associated with the network. The switch 2000 will change the selection of the IDP value and / or the IDP to be manipulated in accordance with the occurrence of one or more trigger events as described above with reference to the module. These trigger events can be generated as a function of time and can be determined by the occurrence of an event or both of them. Embodiments of the events mentioned herein may include detection of user commands, timing intervals, and potential network security threats, as discussed above.

변동될 수 있는 Variable IDPIDP 의 유형Type of

이제 도 21에 대해 언급하면서, 모듈(105-107, 113, 114)에 의해 및/또는 브릿지(115)에 의해 조작될 수 있는 IDP의 일부의 목록이 제공되어 있다. 도 21에 나열된 파라미터의 각각은 TCP/IP 통신 프로토콜을 사용하는 네트워크에 포함된 데이터 통신에 포함된다. 도 21에 나열된 정보 유형의 대부분은 해당 기술분야의 당업자에게 공지되어 있다. 그러나, 정보의 각각의 유형에 관한 간략한 설명 및 IDP로서의 용도가 여기에 제공된다. 또한 각각의 IDP가 조작될 수 있는 방식의 간략한 논의가 제공된다.Referring now to FIG. 21, a list of portions of the IDP that can be operated by the modules 105-107, 113, 114 and / or by the bridge 115 is provided. Each of the parameters listed in FIG. 21 is included in the data communication included in the network using the TCP / IP communication protocol. Most of the types of information listed in Figure 21 are known to those skilled in the art. However, a brief description of each type of information and its use as an IDP is provided herein. There is also provided a brief discussion of the manner in which each IDP can be manipulated.

IP 어드레스. IP 어드레스는 네트워크가 공지된 통신용 인터넷 프로토콜을 사용하는 컴퓨터 네트워크에 참여하는 각각의 컴퓨팅 디바이스에 할당된 수치 식별자이다. IP 어드레스는 32 비트이거나 128 비트수일 수 있다. 본 발명의 목적을 위해, IP 어드레스 수는 무작위로 선택되는 거짓값으로 변경될 수 있다(예, 의사난수 발생기를 사용). 대안적으로, 거짓 IP 어드레스 값은 거짓값의 미리결정된 목록(예, 미션 플랜에 의해 특정된 목록)으로부터 무작위로 선택될 수 있다. 소스 및 목적지 IP 어드레스는 데이터 패킷의 헤더부에 포함된다. 따라서, 이들 값의 조작은 IP 헤더 정보를 변경하는 패킷 조작 기법을 사용하는 것에 의해 단순히 변경하는 것에 의해 수행된다. 패킷이 제 2 모듈(조작될 수 있는 위치)에 도달할 때, 거짓 IP 어드레스 값은 참값으로 다시 변환된다. 제 2 모듈은 거짓값에 기반해서 참 IP 어드레스 값을 유도하도록 동일한 의사랜덤 프로세스(또는 그것의 역)를 사용한다.IP address. The IP address is a numeric identifier assigned to each computing device participating in a computer network using a known Internet Protocol for communication network. The IP address may be 32 bits or 128 bits. For purposes of the present invention, the number of IP addresses may be changed to a randomly selected false value (e.g., using a pseudo-random number generator). Alternatively, the false IP address value may be randomly selected from a predetermined list of false values (e.g., a list specified by the mission plan). The source and destination IP addresses are included in the header portion of the data packet. Thus, manipulation of these values is performed by simply changing by using a packet manipulation technique that changes the IP header information. When the packet reaches the second module (operable position), the false IP address value is converted back to a true value. The second module uses the same pseudo-random process (or its inverse) to derive the true IP address value based on the false value.

MAC 어드레스. MAC 어드레스는 제조자에 의해 네트워크 인터페이스 디바이스에 할당되고 온보드 ROM에 저장된 고유값이다. 본 발명의 목적을 위해, 소스 및/또는 목적지 MAC 어드레스는 무작위로 선택된 거짓값으로 변경될 수 있다(예, 의사난수 발생기를 사용). 대안적으로, 거짓 MAC 값은 거짓값의 미리결정된 목록으로부터 무작위로 선택될 수 있다(예, 미션 플랜에 의해 특정된 목록). 소스 및 목적지 MAC 어드레스는 데이터 패킷의 헤더부에 포함된다. 따라서, 이들 값의 조작은 각각의 패킷의 이더넷 헤더 정보를 단순히 변경하는 것에 의해 수행된다. 패킷이 제 2 모듈(조작될 수 있는 위치)에 도달할 때, 거짓 MAC 어드레스 값은 그들의 참값으로 다시 변환된다. 패킷을 수신하는 모듈은 거짓값에 기반해서 참 MAC 어드레스 값을 유도하도록 동일한 의사랜덤 프로세스(또는 그것의 역)를 사용할 것이다. MAC address. The MAC address is a unique value assigned to the network interface device by the manufacturer and stored in on-board ROM. For purposes of the present invention, the source and / or destination MAC address may be changed to a randomly selected false value (e.g., using a pseudo-random number generator). Alternatively, the false MAC value may be randomly selected from a predetermined list of false values (e.g., a list specified by the mission plan). The source and destination MAC addresses are included in the header portion of the data packet. Thus, manipulation of these values is performed by simply changing the Ethernet header information of each packet. When the packet reaches the second module (the position where it can be manipulated), the false MAC address values are converted back to their true values. The module receiving the packet will use the same pseudo-random process (or its inverse) to derive the true MAC address value based on the false value.

네트워크/서브넷. 일부 실시예에서, IP 어드레스는 단일 IDP로서 생각할 수 있다. 그러나, IP 어드레스는 네트워크 프리픽스부와 호스트 넘버부를 포함하는 적어도 두 개의 부분을 포함하는 바와 같이 일반적으로 정의된다. 네트워크 프리픽스부는 데이터 패킷이 전달될 네트워크를 식별한다. 호스트 넘버는 근거리통신망("LAN") 내에 특정 노드를 식별한다. 서브 네트워크(때때로 서브넷으로 언급됨)는 IP 네트워크의 논리부이다. 네트워크가 두 개 이상의 서브 네트워크로 나누어지는 곳, IP 어드레스의 호스트 넘버 섹션의 일부는 서브넷 넘버를 특정하도록 사용된다. 본 발명의 목적을 위해, 네트워크 프리픽스, 서브넷 넘버 및 호스트 넘버 각각은 분리 IDP이도록 생각될 수 있다. 따라서, 이들 IDP의 각각은 의사랜덤 방식으로 다른 것들과 독립적으로 분리하여 조작될 수 있다. 게다가, 데이터 패킷이 소스 IP 어드레스 및 목적지 IP 어드레스를 포함할 것임이 인지될 것이다. 따라서, 네트워크 프리픽스, 서브넷 넘버 및 호스트수는 의사랜덤 방식으로 조작될 수 있는 총 6개의 다른 가변 IDP에 대해 소스 IP 어드레스 및/또는 목적지 IP 어드레스에서 조작될 수 있다. 패킷을 수신하는 모듈은 거짓값에 기반한 참 네트워크/서브넷 정보값을 유도하도록 발생 노드로서 동일한 의사랜덤 프로세스(또는 그러한 프로세스의 역)를 사용할 것이다. Network / Subnet. In some embodiments, the IP address can be thought of as a single IDP. However, the IP address is generally defined as including at least two portions including a network prefix portion and a host number portion. The network prefix portion identifies the network to which the data packet will be forwarded. The host number identifies a particular node within a local area network ("LAN"). A subnetwork (sometimes referred to as a subnet) is the logical part of an IP network. Where the network is divided into two or more subnetworks, a portion of the host number section of the IP address is used to specify the subnet number. For purposes of the present invention, each of the network prefix, subnet number, and host number may be considered to be a separate IDP. Thus, each of these IDPs can be manipulated separately in a pseudo-random manner independently of the others. In addition, it will be appreciated that the data packet will include a source IP address and a destination IP address. Thus, the network prefix, the subnet number, and the number of hosts can be manipulated at the source IP address and / or the destination IP address for a total of six different variable IDPs that can be manipulated in a pseudo-random manner. The module receiving the packet will use the same pseudo-random process (or the inverse of such process) as the originating node to derive the true network / subnet information value based on the false value.

TCP 시퀀스. TCP 섹션의 반대편 측면 상에 서로 통신하는 두 개의 클라이언트 컴퓨터는 각각 TCP 시퀀스 넘버를 유지할 것이다. 시퀀스 넘버는 각각의 컴퓨터가 그것이 얼마나 많은 데이터를 전달했는지를 추적하도록 허용한다. TCP 시퀀스 넘버는 세션 동안 전달된 각각의 패킷의 TCP 헤더부에 포함된다. TCP 세션의 시작에서, 최초 시퀀스 넘버 값은 무작위로 선택된다. 본 발명의 목적을 위해, TCP 시퀀스 넘버는 의사랜덤 프로세스에 따라 IDP로서 조작될 수 있다. 예를 들어, TCP 시퀀스 넘버는 무작위로 선택된 거짓값으로 변경될 수 있다(예, 의사난수 발생기를 사용). 패킷이 네트워크의 다른 모듈에 수신될 때(동적으로 변경되는 위치), TCP 시퀀스 넘버는 의사랜덤 프로세스의 역을 사용하여 거짓값에서 다시 참값으로 변환될 수 있다. TCP sequence. The two client computers that communicate with each other on the opposite side of the TCP section will each maintain a TCP sequence number. Sequence numbers allow each computer to track how much data it has delivered. The TCP sequence number is included in the TCP header portion of each packet transmitted during the session. At the beginning of a TCP session, the first sequence number value is randomly selected. For purposes of the present invention, the TCP sequence number may be manipulated as an IDP in accordance with a pseudo-random process. For example, the TCP sequence number can be changed to a randomly selected false value (eg, using a pseudo-random number generator). When a packet is received at another module in the network (where it is dynamically changed), the TCP sequence number can be converted from a false value back to a true value using the inverse of the pseudo-random process.

포트 넘버. TCP/IP 포트 넘버는 데이터 패킷의 TCP 또는 UDP 헤더부에 포함된다. TCP/IP 통신 프로토콜에 사용된 바와 같은 포트는 해당 기술분야에 공지되어 있고 그러므로 구체적으로 여기에 설명되지 않을 것이다. 포트 정보는 데이터 패킷의 TCP 헤더부 내에 포함된다. 따라서, 포트 정보의 조작은 참 포트값을 거짓 포트값으로 변경하도록 TCP 헤더 정보를 단순히 수정하는 것에 의해 달성된다. 여기에 논의된 다른 IDP에 있어서, 포트 넘버 정보는 제 1 모듈에서 의사랜덤 프로세스에 따라 거짓값으로 조작되거나 변환될 수 있다. 포트 정보는 추후에 의사랜덤 프로세스의 역을 사용하여, 제 2 모듈에서 거짓값에서 참값으로 변환될 수 있다.Port number. The TCP / IP port number is included in the TCP or UDP header portion of the data packet. The ports as used in the TCP / IP communication protocol are well known in the art and will therefore not be specifically described herein. The port information is included in the TCP header portion of the data packet. Thus, manipulation of port information is achieved by simply modifying the TCP header information to change the true port value to a false port value. In other IDPs discussed herein, the port number information may be manipulated or converted to a false value in the first module according to a pseudo-random process. The port information may later be converted from a false value to a true value in the second module, using the inverse of the pseudo-random process.

본 발명이 하나 이상의 실행에 대해서 도시되고 설명됨에도, 균등한 대안 및 수정이 본 명세서 및 첨부된 도면을 읽고 이해할 시에 해당 기술분야의 당업자에게 발생할 것이다. 덧붙여, 본 발명의 특정 특징이 여러 실행 중 하나에 대해서만 개시될 수 있는 반면에, 그러한 특징은 임의 소정 또는 특정 어플리케이션에 대해 소망되고 유리할 수 있는 바와 같이 다른 실행의 하나 이상의 다른 특징과 조합될 수 있다. 따라서, 본 발명의 사상 및 범위는 위에 설명된 실시예 중 어느 하나에 의해서 한정되지 않는다. 그보다는, 본 발명의 범위는 다음의 청구항 및 그들의 균등물에 따라 정의된다.
While the invention has been shown and described with respect to more than one implementation, it is evident that many alternatives and modifications will occur to those skilled in the art upon reading and understanding the present specification and the accompanying drawings. In addition, while certain features of the invention may be disclosed for only one of several acts, such a feature may be combined with one or more other features of another act as may be desired and advantageous for any given or particular application . Accordingly, the spirit and scope of the present invention are not limited by any of the above-described embodiments. Rather, the scope of the present invention is defined by the following claims and their equivalents.

Claims (10)

노드 동작이 동적으로 구성 가능한 컴퓨터 네트워크의 엔터프라이즈 미션 관리를 위한 방법으로서, 상기 방법은,
다수의 미션 플랜 중 적어도 하나의 제 1 미션 플랜에 따라 동작하도록 네트워크 관리 컴퓨터 (NAC)를 사용하여 상기 컴퓨터 네트워크를 구성하는 단계;
상기 컴퓨터 네트워크 내의 데이터를 통신하는 적어도 하나의 컴퓨팅 디바이스의 하드웨어 및 소프트웨어를 고유하게 식별하는 데이터 패킷에 포함되는 값을 갖는 다수의 식별 파라미터 중 적어도 하나의 제 1 식별 파라미터에 대해 할당된 값이 참값(true value)에서 거짓값(false value)으로 동적으로 수정되는 제 1 의사랜덤 프로세스를 상기 제 1 미션 플랜에 의해 특정하는 단계;
상기 제 1 미션 플랜에 기초하여 상기 컴퓨터 네트워크의 제 1 노드를 구성하는 제 1 컴퓨팅 디바이스에서 상기 제 1 의사랜덤 프로세스를 실행하는 단계;
상기 NAC에서, 새로운 미션 플랜이 상기 컴퓨터 네트워크 내에서 구현될 필요가 있다는 것을 나타내는 제 1 트리거 이벤트가 상기 컴퓨터 네트워크 내에서 발생하였는지 여부를 결정하는 단계;
상기 제 1 트리거 이벤트 발생의 결정에 대응하여, 상기 NAC에서 상기 제 1 미션 플랜 대신에 이용될 수 있는 다수의 미션 플랜 중 상기 제 1 미션 플랜과는 상이한 제 2 미션 플랜을 취득하고, 상기 다수의 식별 파라미터 중 적어도 하나의 제 2 식별 파라미터에 대해 할당된 값이 참값에서 거짓값으로 동적으로 수정되며, 상기 제 1 의사랜덤 프로세스와는 상이한 제 2 의사랜덤 프로세스를 특정하는 단계;
상기 NAC에서, 상기 제 2 미션 플랜에 의해 정의된 제 2 노드의 처리 연산과 상기 제 1 미션 플랜에 의해 정의된 상기 제 1 노드의 처리 연산 사이에 충돌이 존재하는지의 여부를 판정하는 단계;
상기 제 2 노드의 처리 연산과 상기 제 1 노드의 처리 연산 사이에 충돌이 존재하지 않는다고 판정이 되는 경우, 상기 NAC를 사용하여 상기 제 2 미션 플랜에 따라 더 동작하도록 상기 컴퓨터 네트워크의 동작을 구성하는 단계; 및
상기 제 2 미션 플랜에 의거한 상기 컴퓨터 네트워크의 제 2 노드를 갖는 제 2 컴퓨팅 디바이스에서 상기 제 2 의사랜덤 프로세스를 실행하는 단계;를 포함하며,
상기 다수의 식별 파라미터는 IP 주소, MAC 주소, 네트워크/서브넷, TCP 시퀀스 또는 포트 번호로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 방법.
A method for enterprise mission management of a computer network in which node operations are dynamically configurable,
Configuring the computer network using a network management computer (NAC) to operate in accordance with at least one first mission plan of the plurality of mission plans;
Wherein a value assigned for at least one first identification parameter of a plurality of identification parameters having a value contained in a data packet uniquely identifying the hardware and software of at least one computing device communicating data in the computer network is a true value identifying a first pseudo-random process dynamically modified from a true value to a false value by the first mission plan;
Executing the first pseudo-random process at a first computing device that constitutes a first node of the computer network based on the first mission plan;
Determining, in the NAC, whether a first trigger event has occurred in the computer network indicating that a new mission plan needs to be implemented in the computer network;
Acquiring a second mission plan different from the first mission plan among a plurality of mission plans available for the NAC in place of the first mission plan in response to the determination of the occurrence of the first trigger event, Identifying a second pseudo-random process different from the first pseudo-random process, wherein a value assigned to at least one second identification parameter of the identification parameter is dynamically modified from a true value to a false value;
Determining, in the NAC, whether a conflict exists between a processing operation of a second node defined by the second mission plan and a processing operation of the first node defined by the first mission plan;
And configuring the operation of the computer network to further operate according to the second mission plan using the NAC if it is determined that there is no conflict between the processing operation of the second node and the processing operation of the first node step; And
Executing the second pseudo-random process at a second computing device having a second node of the computer network based on the second mission plan,
Wherein the plurality of identification parameters are selected from the group consisting of an IP address, a MAC address, a network / subnet, a TCP sequence or a port number.
제 1 항에 있어서,
상기 제 1 트리거 이벤트는
상기 컴퓨터 네트워크 내에서 통신되는 패킷 콘텐츠의 적어도 하나에 기초하여 판정되는 것을 특징으로 하는 방법.
The method according to claim 1,
The first trigger event
Wherein the determination is based on at least one of packet content communicated within the computer network.
제 1항에 있어서,
상기 제 2 미션 플랜은 새로운 미션의 요구사항 및 상기 컴퓨터 네트워크의 동작 측면을 분석하는 것으로부터의 결과 중 적어도 하나에 기반해서 다수의 미리 저장된 미션 플랜으로부터 미션 플랜을 선택하는 것에 의해 얻어지는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the second mission plan is obtained by selecting a mission plan from a plurality of pre-stored mission plans based on at least one of the results of analyzing the requirements of the new mission and the operational aspects of the computer network Way.
삭제delete 제 1항에 있어서,
상기 제 2 미션 플랜은 미션을 위한 동작의 개념, 상기 컴퓨터 네트워크의 아키텍처, 상기 컴퓨터 네트워크의 리소스 사이의 관계, 및 다수의 식별 파라미터와 연관된 정도 중 적어도 하나에 기반해서 미션 플랜을 동적으로 발생시키는 것에 의해 얻어지는 것을 특징으로 하는 방법.
The method according to claim 1,
The second mission plan may comprise generating a mission plan dynamically based on at least one of a concept of an operation for a mission, an architecture of the computer network, a relationship between resources of the computer network, and an extent associated with a plurality of identification parameters ≪ / RTI >
제 1 항에 있어서,
상기 제 2 노드의 처리 연산과 상기 제 1 노드의 처리 연산 사이에 충돌이 존재한다고 판정되는 경우, 제 3 미션 플랜을 취득하기 위해 상기 제 2 미션 플랜을 수정하도록 상기 NAC를 동작하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
Operating the NAC to modify the second mission plan to obtain a third mission plan if it is determined that there is a conflict between the processing operation of the second node and the processing operation of the first node ≪ / RTI >
제 6 항에 있어서,
상기 NAC를 사용하여 상기 제 3 미션 플랜에 의해 정의된 제 3 노드의 연산과 상기 제 1 미션 플랜에 의해 정의된 상기 제 1 노드의 연산 사이에 충돌이 존재하는지 여부를 판정하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
The method according to claim 6,
Determining whether there is a conflict between the operation of the third node defined by the third mission plan and the operation of the first node defined by the first mission plan using the NAC; . ≪ / RTI >
제 7 항에 있어서,
상기 제 1 및 제 3 미션 플랜에 의해 정의된 제 1 및 제 3 노드의 연산 사이에 충돌이 존재하지 않는다고 판정되는 경우, 상기 제 3 미션 플랜에 따라 동작하도록 상기 컴퓨터 네트워크의 동작을 구성하기 위한 상기 NAC를 동작하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
8. The method of claim 7,
And to configure the operation of the computer network to operate in accordance with the third mission plan if it is determined that there is no conflict between the operations of the first and third nodes defined by the first and third mission plans. And operating the NAC.
제 1 항에 있어서,
상기 NAC를 사용하여, 상기 컴퓨터 네트워크가 상기 제 1 및 제 2 미션 플랜에 따라 동작을 계속해야 하는지의 여부를 판정하는 단계; 및
상기 제 1 및 제 2 미션 플랜에 따라 동작을 계속하지 않도록 판정되면, 상기 제 1 및 제 2 미션 플랜에 따라 상기 컴퓨터 네트워크가 더 이상 동작하지 않도록 상기 컴퓨터 네트워크를 재구성하기 위해 상기 NAC를 동작하는 단계; 를 더 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
Using the NAC, determining whether the computer network should continue to operate according to the first and second mission plans; And
Operating the NAC to reconfigure the computer network so that the computer network is no longer operating according to the first and second mission plans if it is determined not to continue operation according to the first and second mission plans ; ≪ / RTI >
다수의 컴퓨팅 디바이스로 구성된 컴퓨터 네트워크에 통신 가능하게 연결된 네트워크 관리 컴퓨터(NAC)를 구비하며,
상기 NAC는,
상기 컴퓨터 네트워크와 연계된 다수의 컴퓨팅 디바이스가 다수의 미션 플랜 중 제 1 미션 플랜에 따라 동작하도록 하며, 상기 제 1 미션 플랜은, 상기 컴퓨터 네트워크의 제 1 노드를 구비하는 다수의 컴퓨터 처리 디바이스 중의 적어도 하나에 의해, 상기 제 1 미션 플랜에 기초하여, 다수의 식별 파라미터 중 적어도 하나의 제 1 식별 파라미터에 대해 할당된 값이 참값(true value)에서 거짓값(false value)으로 동적으로 수정되는 제 1 의사랜덤 프로세스를 특정하고, 상기 다수의 식별 파라미터는 상기 컴퓨터 네트워크 내의 데이터를 통신하는 적어도 하나의 컴퓨팅 디바이스의 하드웨어 및 소프트웨어를 고유하게 식별하는 데이터 패킷에 포함되는 값을 갖도록 구성되며;
새로운 미션 플랜이 상기 컴퓨터 네트워크 내에서 구현될 필요가 있다는 것을 나타내는 제 1 트리거 이벤트가 상기 컴퓨터 네트워크 내에서 발생했다고 판정하도록 구성되며;
상기 제 1 트리거 이벤트의 발생의 판정에 응답하여, 상기 제 1 미션 플랜 대신에 이용될 수 있는 다수의 미션 플랜 중 상기 제 1 미션 플랜과는 상이한 제 2 미션 플랜을 취득하며, 상기 컴퓨터 네트워크의 제 2 노드를 구비하는 다수의 컴퓨터 처리 디바이스 중의 적어도 제 2 컴퓨터 처리 디바이스에 의해, 다수의 식별 파라미터 중 적어도 하나의 제 2 식별 파라미터에 대해 할당된 값이 참값에서 거짓값으로 동적으로 수정되며, 상기 제 1 의사랜덤 프로세스와는 상이한 제 2 의사랜덤 프로세스를 특정하도록 구성되며;
상기 제 2 미션 플랜에 의해 정의된 상기 제 2 노드의 연산과 상기 제 1 미션 플랜에 의해 정의된 상기 제 1 노드의 연산 사이에 충돌이 존재하는지의 여부를 판정하도록 구성되며; 그리고
상기 제 1 및 제 2 미션 플랜에 의해 정의된 바와 같은 상기 제 1 및 제 2 노드의 연산 사이에 충돌이 존재하지 않는다고 판정이 되면, 컴퓨터 네트워크의 동작이 상기 제 2 미션 플랜에 따라 더 동작하도록 구성되며;
상기 적어도 하나의 식별 파라미터는 IP 주소, MAC 주소, 네트워크/서브넷, TCP 시퀀스 또는 포트 번호로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 시스템.
A network management computer (NAC) communicatively coupled to a computer network comprised of a plurality of computing devices,
The NAC includes:
Wherein a plurality of computing devices associated with the computer network operate in accordance with a first of the plurality of mission plans, the first mission plan comprising at least one of a plurality of computer processing devices having a first node of the computer network One by one, based on the first mission plan, a value assigned for at least one first identification parameter of the plurality of identification parameters is dynamically modified from a true value to a false value, Wherein the plurality of identification parameters are configured to have a value contained in a data packet uniquely identifying the hardware and software of at least one computing device communicating data in the computer network;
Configured to determine that a first trigger event has occurred in the computer network indicating that a new mission plan needs to be implemented within the computer network;
Acquiring a second mission plan different from the first mission plan among a plurality of mission plans available in place of the first mission plan in response to the determination of the occurrence of the first trigger event, A value assigned to at least one second identification parameter of the plurality of identification parameters is dynamically modified from a true value to a false value by at least a second one of the plurality of computer processing devices having two nodes, A first pseudo random process different from the first pseudo random process;
Determine whether there is a conflict between the operation of the second node defined by the second mission plan and the operation of the first node defined by the first mission plan; And
Wherein the operation of the computer network is further configured to operate according to the second mission plan when it is determined that there is no conflict between the operations of the first and second nodes as defined by the first and second mission plans. ;
Wherein the at least one identification parameter is selected from the group consisting of an IP address, a MAC address, a network / subnet, a TCP sequence or a port number.
KR1020140152614A 2013-11-05 2014-11-05 Systems and methods for enterprise mission management of a computer network KR101723715B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/072,361 2013-11-05
US14/072,361 US9503324B2 (en) 2013-11-05 2013-11-05 Systems and methods for enterprise mission management of a computer network

Publications (2)

Publication Number Publication Date
KR20150051918A KR20150051918A (en) 2015-05-13
KR101723715B1 true KR101723715B1 (en) 2017-04-18

Family

ID=53007907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140152614A KR101723715B1 (en) 2013-11-05 2014-11-05 Systems and methods for enterprise mission management of a computer network

Country Status (4)

Country Link
US (1) US9503324B2 (en)
KR (1) KR101723715B1 (en)
CN (1) CN104618321B (en)
TW (1) TWI582636B (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10630774B2 (en) * 2014-03-27 2020-04-21 Hitachi Kokusai Electric Inc. Intra-formation network system, intra-formation network management method, and management apparatus
US9882807B2 (en) * 2015-11-11 2018-01-30 International Business Machines Corporation Network traffic classification
US11005809B2 (en) * 2016-03-29 2021-05-11 Motorola Solutions, Inc. Methods, devices, and systems for generating a plurality of network addresses for a plurality of communication devices
GB2570543B8 (en) * 2016-04-22 2021-12-08 Sophos Ltd Detecting triggering events for distributed denial of service attacks
US11165797B2 (en) 2016-04-22 2021-11-02 Sophos Limited Detecting endpoint compromise based on network usage history
US10938781B2 (en) 2016-04-22 2021-03-02 Sophos Limited Secure labeling of network flows
US11102238B2 (en) 2016-04-22 2021-08-24 Sophos Limited Detecting triggering events for distributed denial of service attacks
US10986109B2 (en) 2016-04-22 2021-04-20 Sophos Limited Local proxy detection
US11277416B2 (en) 2016-04-22 2022-03-15 Sophos Limited Labeling network flows according to source applications
ES2885767T3 (en) * 2016-08-02 2021-12-15 Maxcess Americas Inc Continuous web management system
US10547630B2 (en) * 2016-11-29 2020-01-28 Harris Corporation Systems and method for providing dynamic computer networks in which goal induced dynamic modifications to mission plans occur
EP3373553B1 (en) * 2017-03-09 2024-05-08 Argus Cyber Security Ltd System and method for providing cyber security to an in-vehicle network
US10560326B2 (en) * 2017-09-22 2020-02-11 Webroot Inc. State-based entity behavior analysis
US20190044812A1 (en) * 2018-09-13 2019-02-07 Intel Corporation Technologies for dynamically selecting resources for virtual switching
DE102019210223A1 (en) * 2019-07-10 2021-01-14 Robert Bosch Gmbh Device and method for attack detection in a computer network
US11765188B2 (en) * 2020-12-28 2023-09-19 Mellanox Technologies, Ltd. Real-time detection of network attacks
US20220239694A1 (en) * 2021-01-28 2022-07-28 Robert Bosch Gmbh System and method for detection and deflection of attacks on in-vehicle controllers and networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235755A1 (en) 2007-03-22 2008-09-25 Mocana Corporation Firewall propagation
US20090103726A1 (en) 2007-10-18 2009-04-23 Nabeel Ahmed Dual-mode variable key length cryptography system

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587872B2 (en) * 1994-06-20 2003-07-01 Faith Inc. Network system and network management method
IL117792A (en) * 1995-05-08 2003-10-31 Rafael Armament Dev Authority Autonomous command and control unit for mobile platform
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
US5757924A (en) 1995-09-18 1998-05-26 Digital Secured Networks Techolognies, Inc. Network security device which performs MAC address translation without affecting the IP address
US5793763A (en) 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5734649A (en) 1996-05-31 1998-03-31 Bbn Corporation Data packet router
US6128305A (en) * 1997-01-31 2000-10-03 At&T Corp. Architecture for lightweight signaling in ATM networks
US6052064A (en) 1997-10-30 2000-04-18 Motorola, Inc. Method and apparatus in a wireless messaging system for dynamic creation of directed simulcast zones
US6055236A (en) 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6154839A (en) 1998-04-23 2000-11-28 Vpnet Technologies, Inc. Translating packet addresses based upon a user identifier
US6646989B1 (en) 1998-06-29 2003-11-11 Lucent Technologies Inc. Hop-by-hop routing with node-dependent topology information
US6502135B1 (en) 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US6826616B2 (en) 1998-10-30 2004-11-30 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network
DE69943057D1 (en) 1998-10-30 2011-02-03 Virnetx Inc NETWORK PROTOCOL FOR PROTECTED COMMUNICATION
US6535511B1 (en) 1999-01-07 2003-03-18 Cisco Technology, Inc. Method and system for identifying embedded addressing information in a packet for translation between disparate addressing systems
US7240368B1 (en) 1999-04-14 2007-07-03 Verizon Corporate Services Group Inc. Intrusion and misuse deterrence system employing a virtual network
US6981146B1 (en) 1999-05-17 2005-12-27 Invicta Networks, Inc. Method of communications and communication network intrusion protection methods and intrusion attempt detection system
US7185075B1 (en) * 1999-05-26 2007-02-27 Fujitsu Limited Element management system with dynamic database updates based on parsed snooping
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US7007080B2 (en) * 1999-12-23 2006-02-28 Solution Inc Limited System for reconfiguring and registering a new IP address for a computer to access a different network without user intervention
US6934763B2 (en) 2000-04-04 2005-08-23 Fujitsu Limited Communication data relay system and method of controlling connectability between domains
CA2409231A1 (en) 2000-05-23 2001-11-29 Invicta Networks, Inc. Systems and methods for communication protection
US7089303B2 (en) 2000-05-31 2006-08-08 Invicta Networks, Inc. Systems and methods for distributed network protection
US7757272B1 (en) 2000-06-14 2010-07-13 Verizon Corporate Services Group, Inc. Method and apparatus for dynamic mapping
US8037530B1 (en) 2000-08-28 2011-10-11 Verizon Corporate Services Group Inc. Method and apparatus for providing adaptive self-synchronized dynamic address translation as an intrusion detection sensor
US7043633B1 (en) 2000-08-28 2006-05-09 Verizon Corporation Services Group Inc. Method and apparatus for providing adaptive self-synchronized dynamic address translation
US6826684B1 (en) 2000-08-28 2004-11-30 Verizon Corporate Services Group Inc. Sliding scale adaptive self-synchronized dynamic address translation
FR2814883A1 (en) * 2000-10-03 2002-04-05 Canon Kk METHOD AND DEVICE FOR DECLARING AND MODIFYING THE FUNCTIONALITY OF A NODE IN A COMMUNICATION NETWORK
US6978300B1 (en) * 2000-10-19 2005-12-20 International Business Machines Corporation Method and apparatus to perform fabric management
US8677505B2 (en) 2000-11-13 2014-03-18 Digital Doors, Inc. Security system with extraction, reconstruction and secure recovery and storage of data
US20030051026A1 (en) * 2001-01-19 2003-03-13 Carter Ernst B. Network surveillance and security system
US7739497B1 (en) 2001-03-21 2010-06-15 Verizon Corporate Services Group Inc. Method and apparatus for anonymous IP datagram exchange using dynamic network address translation
FI110464B (en) 2001-04-26 2003-01-31 Nokia Corp IP security and mobile network connections
US7085267B2 (en) 2001-04-27 2006-08-01 International Business Machines Corporation Methods, systems and computer program products for translating internet protocol (IP) addresses located in a payload of a packet
US20030097445A1 (en) * 2001-11-20 2003-05-22 Stephen Todd Pluggable devices services and events for a scalable storage service architecture
US6917974B1 (en) 2002-01-03 2005-07-12 The United States Of America As Represented By The Secretary Of The Air Force Method and apparatus for preventing network traffic analysis
US7114005B2 (en) 2002-02-05 2006-09-26 Cisco Technology, Inc. Address hopping of packet-based communications
US7712130B2 (en) 2002-03-22 2010-05-04 Masking Networks, Inc. Multiconfigurable device masking shunt and method of use
JP3794491B2 (en) 2002-08-20 2006-07-05 日本電気株式会社 Attack defense system and attack defense method
US7216359B2 (en) 2002-12-19 2007-05-08 International Business Machines Corporation Secure communication overlay using IP address hopping
US7603710B2 (en) * 2003-04-03 2009-10-13 Network Security Technologies, Inc. Method and system for detecting characteristics of a wireless network
US7853250B2 (en) * 2003-04-03 2010-12-14 Network Security Technologies, Inc. Wireless intrusion detection system and method
US20040255167A1 (en) 2003-04-28 2004-12-16 Knight James Michael Method and system for remote network security management
US7469279B1 (en) 2003-08-05 2008-12-23 Cisco Technology, Inc. Automatic re-provisioning of network elements to adapt to failures
US20050038708A1 (en) 2003-08-10 2005-02-17 Gmorpher Incorporated Consuming Web Services on Demand
US8934116B2 (en) 2003-09-22 2015-01-13 Sharp Kabushiki Kaisha Line concentrator and information processing system using the same, assigning transmitted data to all devices in the group of information processing devices
US7382778B2 (en) 2004-01-05 2008-06-03 Tropos Networks, Inc. Link layer emulation
DE602004029507D1 (en) 2004-03-03 2010-11-18 Nat Inst Inf & Comm Tech LAYER 2 SWITCH NETWORK SYSTEM
WO2005103960A1 (en) 2004-04-20 2005-11-03 The Boeing Company Apparatus and method for redirecting unresolvable addresses using a local care-of ip address
US8429393B1 (en) * 2004-09-30 2013-04-23 Rockwell Automation Technologies, Inc. Method for obscuring a control device's network presence by dynamically changing the device's network addresses using a cryptography-based pattern
ES2351668T3 (en) 2004-09-30 2011-02-09 France Telecom PROCEDURE AND SYSTEM OF ROUTING IN COMMUNICATIONS NETWORKS BETWEEN A FIRST NODE AND A SECOND NODE.
US9383750B2 (en) 2004-12-02 2016-07-05 Lockheed Martin Corporation System for predictively managing communication attributes of unmanned vehicles
WO2006075323A2 (en) 2005-01-13 2006-07-20 Flash Networks Ltd Method and system for optimizing dns queries.
US7996894B1 (en) 2005-02-15 2011-08-09 Sonicwall, Inc. MAC address modification of otherwise locally bridged client devices to provide security
US7526536B2 (en) * 2005-04-12 2009-04-28 International Business Machines Corporation System and method for port assignment management across multiple nodes in a network environment
US7937756B2 (en) 2005-08-19 2011-05-03 Cpacket Networks, Inc. Apparatus and method for facilitating network security
JP4626811B2 (en) 2005-09-29 2011-02-09 日本電気株式会社 Port hopping detection system, port hopping detection device, port hopping detection method, and program
US8626882B2 (en) * 2005-10-07 2014-01-07 GM Global Technology Operations LLC Reconfigurable communication for distributed embedded systems
JP3920305B1 (en) 2005-12-12 2007-05-30 株式会社日立コミュニケーションテクノロジー Packet transfer device
US8199677B1 (en) 2005-12-14 2012-06-12 Rockwell Collins, Inc. Distance vector routing via multi-point relays
US8522341B2 (en) 2006-03-31 2013-08-27 Sap Ag Active intervention in service-to-device mapping for smart items
US20070256078A1 (en) * 2006-04-28 2007-11-01 Falk Nathan B Resource reservation system, method and program product used in distributed cluster environments
US7890612B2 (en) 2006-05-08 2011-02-15 Electro Guard Corp. Method and apparatus for regulating data flow between a communications device and a network
JP4732257B2 (en) 2006-07-07 2011-07-27 富士通株式会社 Relay device, route control method, and route control program
JP4834493B2 (en) 2006-08-25 2011-12-14 アラクサラネットワークス株式会社 Network relay device and method for controlling network relay device
US8136162B2 (en) 2006-08-31 2012-03-13 Broadcom Corporation Intelligent network interface controller
US8189460B2 (en) 2006-12-28 2012-05-29 Cisco Technology, Inc. Method and system for providing congestion management within a virtual talk group
JP2008177714A (en) 2007-01-17 2008-07-31 Alaxala Networks Corp Network system, server, ddns server, and packet relay device
WO2008112663A2 (en) 2007-03-10 2008-09-18 Feeva Technology, Inc. Method and apparatus for tagging network traffic using extensible fields in message headers
US7853680B2 (en) 2007-03-23 2010-12-14 Phatak Dhananjay S Spread identity communications architecture
US8464334B1 (en) 2007-04-18 2013-06-11 Tara Chand Singhal Systems and methods for computer network defense II
US8301789B2 (en) 2007-06-18 2012-10-30 Emc Corporation Techniques for port hopping
US7836354B2 (en) 2007-07-02 2010-11-16 Verizon Patent And Licensing Inc. Method and system for providing automatic disabling of network debugging
US20090059788A1 (en) 2007-08-29 2009-03-05 Motorola, Inc. Method and Apparatus for Dynamic Adaptation of Network Transport
US7895348B2 (en) 2007-10-17 2011-02-22 Dispersive Networks Inc. Virtual dispersive routing
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US20090165116A1 (en) 2007-12-20 2009-06-25 Morris Robert P Methods And Systems For Providing A Trust Indicator Associated With Geospatial Information From A Network Entity
CN101521569B (en) 2008-02-28 2013-04-24 华为技术有限公司 Method, equipment and system for realizing service access
US8082220B2 (en) 2008-04-17 2011-12-20 Elbit Systems Ltd. Computing solutions to problems using dynamic association between abstract graphs
US7990877B2 (en) 2008-05-15 2011-08-02 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for dynamically runtime adjustable path computation
US8572717B2 (en) 2008-10-09 2013-10-29 Juniper Networks, Inc. Dynamic access control policy with port restrictions for a network security appliance
CN101754471A (en) * 2008-12-09 2010-06-23 中兴通讯股份有限公司 Method and device for switching work modes of wireless local area network access device
US9042549B2 (en) 2009-03-30 2015-05-26 Qualcomm Incorporated Apparatus and method for address privacy protection in receiver oriented channels
US8139504B2 (en) 2009-04-07 2012-03-20 Raytheon Bbn Technologies Corp. System, device, and method for unifying differently-routed networks using virtual topology representations
US8553849B2 (en) * 2009-06-17 2013-10-08 Avaya Inc. Personal identification and interactive device for internet-based text and video communication services
US20100333188A1 (en) 2009-06-29 2010-12-30 Politowicz Timothy J Method for protecting networks against hostile attack
US8934487B2 (en) * 2009-11-05 2015-01-13 Telefonaktiebolaget Lm Ericsson (Publ) Network topology concealment using address permutation
US8793792B2 (en) 2010-05-07 2014-07-29 Raytheon Company Time-key hopping
US9225656B2 (en) 2011-02-07 2015-12-29 Brocade Communications Systems, Inc. Quality of service in a heterogeneous network
US9202078B2 (en) 2011-05-27 2015-12-01 International Business Machines Corporation Data perturbation and anonymization using one way hash
US8769688B2 (en) 2011-09-23 2014-07-01 Universidad Politécnica de P.R. Simultaneous determination of a computer location and user identification
US8495738B2 (en) 2011-10-21 2013-07-23 Lockheed Martin Corporation Stealth network node
US8935780B2 (en) * 2012-02-09 2015-01-13 Harris Corporation Mission management for dynamic computer networks
US8819818B2 (en) * 2012-02-09 2014-08-26 Harris Corporation Dynamic computer network with variable identity parameters
US8844032B2 (en) 2012-03-02 2014-09-23 Sri International Method and system for application-based policy monitoring and enforcement on a mobile device
US20130298221A1 (en) 2012-05-01 2013-11-07 Harris Corporation Firewalls for filtering communications in a dynamic computer network
US9154458B2 (en) 2012-05-01 2015-10-06 Harris Corporation Systems and methods for implementing moving target technology in legacy hardware
US8959573B2 (en) 2012-05-01 2015-02-17 Harris Corporation Noise, encryption, and decoys for communications in a dynamic computer network
US9075992B2 (en) 2012-05-01 2015-07-07 Harris Corporation Systems and methods for identifying, deterring and/or delaying attacks to a network using shadow networking techniques

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235755A1 (en) 2007-03-22 2008-09-25 Mocana Corporation Firewall propagation
US20090103726A1 (en) 2007-10-18 2009-04-23 Nabeel Ahmed Dual-mode variable key length cryptography system

Also Published As

Publication number Publication date
KR20150051918A (en) 2015-05-13
US9503324B2 (en) 2016-11-22
TW201528033A (en) 2015-07-16
CN104618321A (en) 2015-05-13
US20150127790A1 (en) 2015-05-07
TWI582636B (en) 2017-05-11
CN104618321B (en) 2018-01-09

Similar Documents

Publication Publication Date Title
KR101723715B1 (en) Systems and methods for enterprise mission management of a computer network
KR101581155B1 (en) Systems and methods for identifying, deterring and/or delaying attacks to a network using shadow networking techniques
US8898782B2 (en) Systems and methods for spontaneously configuring a computer network
US8959573B2 (en) Noise, encryption, and decoys for communications in a dynamic computer network
KR101532190B1 (en) Systems and methods for dynamically changing network states
US20130298221A1 (en) Firewalls for filtering communications in a dynamic computer network
KR101542028B1 (en) Router for communicating data in a dynamic computer network
WO2013165779A1 (en) Systems and methods for implementing moving target technology in legacy hardware
KR101601586B1 (en) Switch for communicating data in a dynamic computer network
KR101497292B1 (en) Dynamic computer network with variable identity parameters
KR101547080B1 (en) Bridge for communicating with a dynamic computer network

Legal Events

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