KR101547080B1 - 동적 컴퓨터 네트워크와의 통신을 위한 브릿지 - Google Patents

동적 컴퓨터 네트워크와의 통신을 위한 브릿지 Download PDF

Info

Publication number
KR101547080B1
KR101547080B1 KR1020147022812A KR20147022812A KR101547080B1 KR 101547080 B1 KR101547080 B1 KR 101547080B1 KR 1020147022812 A KR1020147022812 A KR 1020147022812A KR 20147022812 A KR20147022812 A KR 20147022812A KR 101547080 B1 KR101547080 B1 KR 101547080B1
Authority
KR
South Korea
Prior art keywords
network
location
computing device
computer network
module
Prior art date
Application number
KR1020147022812A
Other languages
English (en)
Other versions
KR20140124777A (ko
Inventor
웨인 스미스
Original Assignee
해리스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 해리스 코포레이션 filed Critical 해리스 코포레이션
Publication of KR20140124777A publication Critical patent/KR20140124777A/ko
Application granted granted Critical
Publication of KR101547080B1 publication Critical patent/KR101547080B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2539Hiding addresses; Keeping addresses anonymous
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • 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/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Abstract

컴퓨터 네트워크(100)에서 제 1 컴퓨팅 디바이스(101)로부터 제 2 컴퓨터 네트워크(124)에서 제 2 컴퓨팅 디바이스로 데이터를 통신하기 위한 방법은 복수의 참값(120)을 컴퓨터 네트워크(100)에서의 제 1 위치(105)에서 동적으로 수정하는 단계를 포함한다. 참값은 복수의 식별 파라미터를 정확하게 나타낸다. 이들 참값은 식별 파라미터를 부정확하게 나타내는 거짓값(122)으로 변환된다. 이어서, 식별 파라미터는 거짓값을 참값으로 다시 변환시키도록 브릿지(115) 제 2 위치에서 수정된다. 제 1 위치의 위치는 이러한 프로세스의 부분으로서 동적으로 변한다. 식별 파라미터의 동적 수정은 네트워크에서 데이터의 통신을 방해하지 않고 수정될 수 있는 미션 플랜에 따라 발생한다.

Description

동적 컴퓨터 네트워크와의 통신을 위한 브릿지{BRIDGE FOR COMMUNICATING WITH A DYNAMIC COMPUTER NETWORK}
본 발명의 장치는 컴퓨터 네트워크 보안, 그리고 더 구체적으로 네트워크 중 적어도 하나가 악의적인 공격에 방어하도록 동적으로 전환할 수 있는 두 개 이상의 네트워크 사이에 통신하기 위한 시스템에 관한 것이다.
현재 사이버 인프라의 주된 취약점은 정적이라는 특성이다. 자산은 영구적이거나 드물게 변하는 신원확인을 받아들이고, 적들이 네트워크를 조사하고, 맵핑하고 취약점을 이용할 거의 비제한적인 시간을 허용한다. 부가적으로, 이들 고정된 개체 사이를 오고가는 데이터가 캡처되고 속성화될 수 있다. 사이버 보안에 대한 현재의 접근은 고정자산 주위에 방화벽 및 침입 검출 시스템과 같은 기술을 위치시키고, 도중에 데이터를 보호하도록 암호화를 사용한다. 그러나, 이러한 전통적인 접근은 공격자에게 고정된 목표를 제공하기 때문에 근본적으로 결함을 갖고 있다. 오늘날 세계적으로 연결된 통신 인프라에서, 정적 네트워크는 취약한 네트워크이다.
방위고등연구계획국(DARPA) 정보 보증(IA) 프로그램은 동적 네트워크 방어의 영역에서 최초 연구를 수행했다. 기법은 네트워크를 관찰하는 어떤 장래의 적들을 혼동시키려는 목적을 위해 미리-지정된 네트워크 집단에 공급하는 인터넷 프로토콜(IP) 어드레스 공간을 동적으로 재할당하는 정보 보증 프로그램에 따라 개발되었다. 이러한 기법은 동적인 네트워크 어드레스 변환(DYNAT)으로 불린다. DYNAT 기술의 개요는 적들의 지능을 방해하는 동적인 접근(2001)으로 명명되고 DARPA에 의해 공개된 논문에 제시되었다.
본 발명의 목적은 컴퓨터 네트워크 보안, 그리고 더 구체적으로 네트워크 중 적어도 하나가 악의적인 공격에 방어하도록 동적으로 전환할 수 있는 두 개 이상의 네트워크 사이에 통신하기 위한 시스템을 제공하는 것이다.
본 발명의 실시예는 컴퓨터 네트워크에서 데이터를 통신하는 방법에 관한 것이다. 그 방법은 제 1 컴퓨팅 디바이스로부터 제 2 컴퓨팅 디바이스로 컴퓨터 네트워크 상의 데이터를 통신하는 단계를 포함한다. 그 데이터는 제 1 및 제 2 컴퓨팅 디바이스 중 하나 또는 둘 모두와 연관된 하나 이상의 식별 파라미터를 포함한다. 그 방법은 복수의 참값을 컴퓨터 네트워크의 제 1 위치에서 동적으로 수정하는 단계로 계속된다. 참값은 복수의 식별 파라미터를 정확하게 나타낸다. 이들 참값은 식별 파라미터를 부정확하게 나타내는 거짓값으로 변환된다. 이어서, 데이터 통신에 포함된 식별 파라미터는 컴퓨터 네트워크의 제 2 위치에서 동적으로 수정된다. 제 2 위치에서의 수정은 거짓값의 참값으로의 변환을 포함한다. 특히, 컴퓨터 네트워크 내의 제 1 및/또는 제 2 위치의 위치 역시 이러한 프로세스의 일부분으로서 동적으로 변한다.
본 발명의 또 다른 측면에 따르면, 그 방법은 미션 플랜에 따라서 제 1 및 제 2 위치에서 식별 파라미터의 동적 수정을 수행하는 단계를 더 포함할 수 있다. 그러한 실시예에서, 그 방법은 제 1 및/또는 제 2 위치에서 수행된 동적 조작을 변경하기 위해 미션 플랜을 (제 1 미션 플랜과 다른) 제 2 미션 플랜으로 변경하는 단계를 더 포함한다. 미션 플랜을 제 2 미션 플랜으로 변경하는 이러한 프로세스는 네트워크에서 데이터의 통신을 방해하지 않고 수행된다. 다중 미션 플랜은 사용자에 의해 정의될 수 있고 그들이 네트워크 디바이스에 접근가능하도록 저장될 수 있다. 따라서, 사용자는 네트워크의 보안을 유지하는데 필요하거나 원하는 바와 같이 하나의 미션 플랜에서 다른 미션 플랜으로 변할 수 있다.
본 발명은 또한 제 1 컴퓨터 네트워크에 포함된 제 1 컴퓨팅 디바이스로부터 제 2 컴퓨터 네트워크에 포함된 제 2 컴퓨팅 디바이스로 데이터를 통신하기 위한 방법에 관한 것이다. 그 방법은 제 1 컴퓨터 네트워크 상의 데이터 통신을 송신하는 것에 의해 시작할 수 있다. 그 데이터 통신은 제 1 및 제 2 컴퓨팅 디바이스 중 적어도 하나와 연관된 참값을 특정하는 식별 파리미터의 제 1 그룹을 포함할 수 있다. 그런 후에 프로세스는 제 1 컴퓨터 네트워크에서 제 1 위치의 식별 파라미터의 제 1 그룹의 제 1 세트를 동적으로 수정하는 것에 의해 계속된다. 동적인 수정은 거짓 정보를 특정하도록 제 1 세트를 변환하는 단계를 포함한다. 이러한 변환은 브릿지 위치로 데이터 통신을 재송신하기 전에 수행된다. 브릿지 위치에서, 프로세스는 참 정보를 특정하기 위해 제 1 세트를 변환하도록 제 1 세트를 동적으로 수정하는 것에 의해 계속된다. 브릿지 위치에서 참 정보를 특정하도록 제 1 세트를 변환한 후에, 그 방법은 브릿지 위치로부터 제 2 컴퓨터 네트워크로 데이터 통신을 송신하는 것에 의해 계속된다. 그 방법은 컴퓨터 네트워크 내의 제 1 위치의 위치를 동적으로 변경하는 단계를 더 포함한다.
본 발명은 컴퓨터 네트워크 보안, 그리고 더 구체적으로 네트워크 중 적어도 하나가 악의적인 공격에 방어하도록 동적으로 전환할 수 있는 두 개 이상의 네트워크 사이에 통신하기 위한 시스템을 제공한다.
실시예는 동일한 도면부호가 도면에 걸쳐 동일한 아이템을 나타내는, 다음의 도면을 참조하여 설명될 것이고, 여기서:
도 1은 본 발명을 이해하기에 유용한 컴퓨터 네트워크의 실시예이다.
도 2는 식별 파라미터의 특정 조작을 수행하도록 본 발명에 사용될 수 있는 모듈의 실시예이다.
도 3은 도 1에서 네트워크를 특징화하도록 돕기 위해 사용될 수 있는 툴을 이해하기에 유용한 도면이다.
도 4는 도 1에서 모듈용 동적인 설정을 선택하도록 사용될 수 있는 그래픽 유저 인터페이스의 대화상자 실시예이다.
도 5는 도 1에서 각각의 모듈과 연관된 활성 상태와 바이패스 상태의 시퀀스를 선택하도록 사용될 수 있는 그래픽 유저 인터페이스의 대화상자의 실시예이다.
도 6은 미션 플랜이 도 1의 네트워크에서 복수의 모듈에 전달될 수 있는 방식을 이해하기에 유용한 도표이다.
도 7은 도 6에 도시된 바와 같이 미션 플랜을 선택하고 미션 플랜을 모듈로 전달하도록 사용될 수 있는 그래픽 유저 인터페이스의 대화상자의 실시예이다.
도 8은 도 1에서 모듈의 동작을 이해하기에 유용한 흐름도이다.
도 9는 미션 플랜을 생성하고 로딩하는 것에 관련해서 네트워크 제어 소프트웨어 어플리케이션(NCSA)의 동작을 이해하기에 유용한 흐름도이다.
도 10은 도 1에서 모듈을 실행하도록 사용될 수 있는 컴퓨터 아키텍처의 블록도이다.
도 11은 도 1에서 네트워크 관리 컴퓨터(NAC)를 실행하도록 사용될 수 있는 컴퓨터 아키텍처의 블록도이다.
도 12는 도 1에서 브릿지의 동작을 이해하기에 유용한 흐름도이다.
도 13은 수정될 수 있는 식별 파라미터의 유형 중 일부를 이해하기에 유용한 표이다.
본 발명은 첨부된 도면을 참조하여 설명된다. 도면은 축척에 따라 그려지지 않고 단지 즉각적으로 본 발명을 도시하도록 제공된다. 본 발명의 여러 측면은 도시를 위해 예시적인 어플리케이션을 참조하여 아래에 설명된다. 여러 특정 세부사항, 관계, 및 방법이 본 발명의 완전한 이해를 제공하도록 제시된다는 것이 이해되어야만 한다. 그러나, 해당 기술분야의 통상의 기술자는 본 발명이 하나 이상의 특정 세부사항 없이 또는 다른 방법으로 실시될 수 있다는 것을 용이하게 인지할 수 있다. 다른 실시예에서, 공지된 구조 또는 동작은 본 발명을 모호하게 하는 것을 피하도록 구체적으로 도시되지 않는다. 본 발명은 일부 작동이 다른 순서로 그리고/또는 다른 작동 또는 이벤트와 동시에 발생할 수 있기 때문에, 작동 또는 이벤트의 도시된 순서에 의해 한정되지 않는다. 또한, 모든 도시된 작동 또는 이벤트가 본 발명에 따른 방법론을 실행하도록 요구되는 것은 아니다.
여기에 사용된 용어는 특정 실시예를 설명하는 목적만을 위한 것이고 본 발명을 제한하도록 의도되지 않는다는 것이 인지되어야만 한다. 여기에 사용된 바와 같이, 단수형 "어(a)", "언(an)" 및 "상기(the)"는 문맥이 달리 명백히 지시하지 않는다면, 복수형도 포함하도록 의도된다. 또한, 용어 "포함하는(including)", "포함하다(includes)", "갖는(having)", "가지다(has)", "함께(with)", 또는 그들의 변형이 구체적인 설명 및/또는 청구항에서 사용되는 한에는, 그러한 용어는 용어 "포함하는(comprising)"과 유사한 방식으로 포함하도록 의도된다.
또한, 달리 정의되지 않는다면, 여기에 사용된 모든 용어(기술적 과학적 용어를 포함)는 본 발명이 속하는 해당기술분야의 당업자에 의해 공통으로 이해될 바와 동일한 의미를 가진다. 공통으로 사용된 사전에 정의된 이들과 같은 용어는 해당 기술의 문맥에서 그들의 의미에 일치하는 의미를 갖는 바와 같이 해석되어야만하고 여기에 강조해서 정의되지 않는다면 이상적이거나 과도하게 형식적인 관점에서 해석되지 않아야 한다.
식별 애자일 컴퓨터 네트워크
이제 도 1에 대해 언급하면서, 복수의 컴퓨팅 디바이스를 포함하는 예시적인 네트워크(100)의 도표가 도시되어 있다. 컴퓨팅 디바이스는 클라이언트 컴퓨터(101-103), 네트워크 관리 컴퓨터(NAC)(104), 서버(111, 112), 네트워크 허브(108, 109), 라우터(110), 및 브릿지(115)를 포함할 수 있다. 클라이언트 컴퓨터는 종래의 태블릿, 노트북, 랩탑 또는 데스크탑 컴퓨터와 같은 네트워크 서비스를 요구할 수 있는 임의 유형의 컴퓨팅 디바이스일 수 있다. 라우터(110)는 컴퓨터 네트워크 사이에 데이터 패킷을 포워드하는 종래의 라우팅 디바이스일 수 있다. 허브(108, 109)는 해당 기술분야에 공지된 바와 같은 종래의 허브 디바이스(예, 이더넷 허브)이다. 서버(111, 112)는 클라이언트 컴퓨터(101-103)에 의해 사용된 다양한 컴퓨팅 서비스를 제공할 수 있다. 예를 들어, 서버(111, 112)는 클라이언트 컴퓨터(101-103)에 의해 사용된 컴퓨터 파일의 공유된 저장을 위한 위치를 제공하는 파일 서버일 수 있다.
네트워크(100)용 통신 미디어는 유선, 무선 또는 그 둘 모두일 수 있으나, 단순함을 위해 그리고 본 발명을 모호하게 하는 것을 피하기 위해 유선 네트워크로 여기에 설명될 수 있다. 네트워크는 통신 프로토콜을 사용하여 데이터를 통신할 수 있다. 해당 기술분야에 공지된 바와 같이, 통신 프로토콜은 네트워크를 통해 데이터를 통신하도록 사용된 포맷 및 룰을 정의한다. 도 1에서 네트워크는 현재 공지되거나 미래에 공지될 임의 통신 프로토콜 또는 프로토콜의 조합을 사용할 수 있다. 예를 들어, 네트워크는 그러한 통신에 적합한 공지된 이더넷 프로토콜을 사용할 수 있다. 대안적으로, 네트워크는 인터넷 프로토콜 스위트(종종 TCP/IP로 언급됨), SONET/SDH, 또는 비동기 전송 모드(ATM) 통신 프로토콜과 같은, 다른 프로토콜을 이용할 수 있다. 일부 실시예에서, 하나 이상의 이들 통신 프로토콜은 조합해서 사용될 수 있다. 하나의 네트워크 토폴로지가 도 1에 도시됨에도, 본 발명은 이점에서 제한되지 않는다. 대신에, 버스 네트워크, 스타 네트워크, 링 네트워크 또는 메쉬 네트워크와 같은 임의 유형의 적합한 네트워크 토폴로지가 사용될 수 있다.
본 발명은 일반적으로 데이터가 제 1 컴퓨팅 디바이스로부터 제 2 컴퓨팅 디바이스로 전달되는 컴퓨터 네트워크(예, 컴퓨터 네트워크(100)에서)에서 데이터를 통신하기 위한 방법에 관한 것이다. 네트워크 내의 컴퓨팅 디바이스는 다중 식별 파라미터로 표현된다. 여기에 사용된 어구 "식별 파라미터"는 인터넷 프로토콜(IP) 어드레스, 미디어 액세스 제어(MAC) 어드레스, 포트 등과 같은 아이템을 포함할 수 있다. 그러나, 본 발명은 이 점에서 한정되지 않고, 식별 파라미터는 또한 네트워크 노드를 특징화하기에 유용한 다양한 다른 정보를 포함할 수 있다. 여기에 고려되는 다양한 유형의 식별 파라미터가 아래에 더 구체적으로 논의된다. 본 발명은 네트워크 내의 하나 이상의 컴퓨팅 디바이스를 위한 그러한 식별 파라미터 중 하나 이상을 조작하기 위한 이동 목표 기술(MTT)의 사용을 포함한다. 이러한 기법은 그러한 컴퓨팅 디바이스의 통신 패턴 및 네트워크 어드레스를 가장한다. 여기에 설명된 바와 같은 식별 파라미터의 조작은 네트워크에서 데이터 통신과 관련해서, 즉, 데이터가 네트워크에서 제 1 컴퓨터(예, 클라이언트 컴퓨터(101))로부터 네트워크에서 제 2 컴퓨터(예, 클라이언트 컴퓨터(102))로 통신될 때 일반적으로 수행된다. 따라서, 조작되는 식별 파라미터는 소스 컴퓨팅 디바이스(데이터가 발생된 디바이스) 및 목적지 컴퓨팅 디바이스(데이터가 보내지고 있는 디바이스)의 이들을 포함할 수 있다. 통신되는 식별 파라미터의 세트는 식별 파라미터 세트(IDP 세트)로 여기에 언급된다. 이러한 개념이 IDP 세트(120)가 데이터 패킷(미도시)의 일부분으로서 클라이언트 컴퓨터(101)에 의해 송신되는 것을 나타내는, 도 1에 도시된다.
본 발명에 따른 프로세스는 컴퓨터 네트워크 내의 제 1 위치에서 소스 및/또는 목적지 컴퓨팅 디바이스의 하나 이상의 식별 파라미터를 특정하는 데이터 패킷 또는 데이터그램에 포함된 값을 선택적으로 수정하는 단계를 포함한다. 식별 파라미터는 미션 플랜에 따라서 수정된다. 일반적으로 그러한 수정이 수행되는 위치는 모듈(105-107, 113, 114) 중 하나의 위치와 일치할 것이다. 도 1에 대해 다시 한 번 더 언급하면서, 모듈(105, 106, 107, 113, 114)이 그러한 네트워크에서 노드를 포함하는 다양한 컴퓨팅 디바이스 사이의 네트워크에 개재된다는 것이 관찰될 수 있다. 이들 위치에서, 모듈 인터셉트 데이터 패킷 통신은 식별 파라미터의 필요한 조작을 수행하고, 송신 경로를 따라 데이터 패킷을 재송신한다. 대안적인 실시예에서, 모듈(105, 106, 107, 113, 114)은 유사한 기능을 수행할 수 있지만, 컴퓨팅 디바이스 중 하나 이상으로 직접적으로 일체화될 수 있다. 예를 들어, 모듈은 클라이언트 컴퓨터(101, 102, 103), 서버(111, 112), 허브(108, 109)에 그리고/또는 라우터(110) 내에 일체화될 수 있다.
모듈(105)의 기능 블록도의 실시예가 도 2에 도시된다. 모듈(106-107, 113, 114)은 유사한 기능 블록도를 가질 수 있지만, 본 발명이 이 점에서 한정되지 않는다는 것이 이해되어야만 한다. 도 2에 도시된 바와 같이, 모듈(105)은 각각이 각각의 네트워크 인터페이스 디바이스(204, 205)에 대응할 수 있는 적어도 두 개의 데이터 포트(201, 202)를 가진다. 포트(201)에 수신된 데이터는 네트워크 인터페이스 디바이스(204)에서 처리되고 입력 버퍼(210)에 임시 저장된다. 프로세서(215)는 입력 버퍼(210)에 포함된 입력 데이터 패킷에 접근하고 여기에 설명된 바와 같은 식별 파라미터의 임의 필요한 조작을 수행한다. 수정된 데이터 패킷은 출력 버퍼(212)로 통과되고 이어서 네트워크 인터페이스 디바이스(205)를 사용하여 포트(202)로부터 송신된다. 유사하게, 포트(202)에 수신된 데이터는 네트워크 인터페이스 디바이스(205)에서 처리되고 입력 버퍼(208)에 임시 저장된다. 프로세서(215)는 입력 버퍼(208)에 포함된 입력 데이터 패킷에 접근하고 여기에 설명된 바와 같은 식별 파라미터의 임의 필요한 조작을 수행한다. 수정된 데이터 패킷은 출력 버퍼(206)로 통과되고 이어서 네트워크 인터페이스 디바이스(204)를 사용하여 포트(201)로부터 송신된다. 각각의 모듈에서, 식별 파라미터의 조작은 메모리(218)에 저장된 미션 플랜(220)에 따라 프로세서(215)에 의해 수행된다.
모듈은 그것이 양방향으로 동작하도록 바람직하게 구성된다는 것이 도 2로부터 이해될 것이다. 그러한 실시예에서, 모듈은 특정 데이터 패킷의 소스에 따라서, 다른 수정 기능을 실행할 수 있다. 각각의 모듈에서 동적인 수정 기능은 특정 데이터 패킷의 소스 컴퓨팅 디바이스에 따라 미션 플랜에서 특정될 수 있다. 모듈은 임의의 적합한 수단에 의해 데이터 패킷의 소스를 결정할 수 있다. 예를 들어, 데이터 패킷의 소스 어드레스는 이러한 목적을 위해 사용될 수 있다.
네트워크(100) 내의 선택된 모듈에서, 프로세서(215)는 참 식별 파라미터 값 대신에 사용될 하나 이상의 거짓 식별 파라미터 값을 판단할 것이다. 프로세서는 하나 이상의 참 식별 파라미터 값을 의사 랜덤 함수에 의해 바람직하게 특정되는 하나 이상의 거짓 식별 파라미터 값으로 변환할 것이다. 이러한 변환에 이어서, 모듈은 송신 경로를 따라서 수정된 패킷 또는 데이터그램을 네트워크의 다음의 노드로 포워드할 것이다. 통신 경로에서 이어지는 포인트에서, 그러한 네트워크 통신을 모니터링하고 있는 적들은 네트워크 상에 통신하는 컴퓨팅 디바이스의 식별에 관한 거짓 또는 부정확한 정보를 발견할 것이다.
바람직한 실시예에서, 의사 랜덤 함수에 의해 특정된 거짓 식별 파라미터는 하나 이상의 트리거 이벤트의 발생에 따라서 변화된다. 트리거 이벤트는 프로세서(215)가 참 식별 파라미터가 변환되는 거짓 식별 파라미터 값의 새로운 세트를 발생시키도록 의사 랜덤 함수를 사용하게 한다. 따라서, 트리거 이벤트는 여기에 설명된 거짓 식별 파라미터의 동적인 변화에 관한 토대로서 역할한다. 트리거 이벤트는 아래에 더 구체적으로 논의된다. 그러나 식별 파라미터에 관한 거짓값의 새로운 세트를 선택하기 위한 트리거 이벤트가 시간의 통과 및/또는 특정 네트워크 이벤트의 발생에 기반할 수 있다는 것이 언급되어야만 한다. 트리거 이벤트는 또한 사용자 명령어에 의해 시작될 수 있다.
위에 설명된 식별 파라미터의 변환은 사이버 공격을 막는 목적을 위해 컴퓨터 네트워크(100)를 전환시키는 하나의 방식을 제공한다. 바람직한 실시예에서, 프로세서(215)에 의해 실행된 미션 플랜(220)은 또한 컴퓨터 네트워크가 전환할 수 있는 방식의 특정 다른 측면을 제어할 것이다. 예를 들어, 미션 플랜은 식별 파라미터의 동적 선택이 조작된다는 것을 특정할 수 있다. 동적인 선택은 어느 식별 파라미터가 수정을 위해 선택되는지의 선택, 및/또는 선택되는 그러한 식별 파라미터의 수를 포함할 수 있다. 이러한 가변적인 선택 프로세스는 컴퓨터 네트워크(100)에 대해 침투하거나 습득하려는 적들의 노력을 더 막을 수 있도록 사용될 수 있는 추가된 불특정성 또는 변동성의 특성을 제공한다. 이러한 기법의 실시예로서, 제 1 시간 기간 동안, 모듈이 각각의 데이터 패킷의 목적지 IP 어드레스 및 목적지 MAC 어드레스를 수정할 수 있다는 것을 고려한다. 제 2 시간 기간 동안 모듈은 각각의 데이터 패킷에서 소스 IP 어드레스 및 소스 호스트 네임을 조작할 수 있다. 시간의 제 3 기간 동안 모듈은 소스 포트수 및 소스 사용자 네임을 조작할 수 있다. 식별 파라미터의 선택에서 변화는 동시에 발생할 수 있다(모든 선택된 식별 파라미터는 동시에 변화된다). 대안적으로, 식별 파라미터의 선택에서의 변화는 비동기로 발생할 수 있다(선택된 식별 파라미터의 그룹은 개별 식별 파라미터가 선택된 식별 파라미터의 그룹으로부터 추가되거나 제거됨에 따라 증분적으로 변한다).
의사 랜덤 함수는 바람직하게 거짓값으로 조작되거나 변환될 식별 값의 선택을 결정하도록 사용된다. 달리 말해서, 모듈은 의사 랜덤 함수에 의해 선택된 식별 파라미터만을 변환할 것이다. 바람직한 실시예에서, 의사 랜덤 함수에 의해 특정된 식별 파라미터의 선택은 트리거 이벤트의 발생에 따라 변화된다. 트리거 이벤트는 프로세서(215)가 거짓 식별 파라미터로 변환될 식별 파라미터의 새로운 선택을 발생시키도록 의사 랜덤 함수를 사용하게 한다. 따라서, 트리거 이벤트는 여기에 설명된 식별 파라미터의 선택의 동적인 변화를 위한 토대로서 역할한다. 특히, 식별 파라미터의 값은 또한 의사 랜덤 알고리즘에 따라 변화될 수 있다.
그 모듈은 또한 사이버 공격을 막는 목적을 위해 컴퓨터 네트워크를 전환하는 제 3의 방법을 유리하게 제공할 수 있다. 구체적으로, 각각의 모듈에 로딩된 미션 플랜은 식별 파라미터의 수정 또는 변환이 발생할 수 있는 네트워크 내의 위치를 동적으로 변하게 할 수 있다. 클라이언트 컴퓨터(101)로부터 클라이언트 컴퓨터(102)로 보내진 IDP 세트(120)에서 식별 파라미터의 수정이 모듈(105)에서 발생할 수 있다는 것을 고려한다. 이러한 조건은 IDP 세트(120)가 새로운 또는 수정된 IDP 세트(122)로 변환되도록 IDP 세트(120)에 포함된 식별 파라미터가 모듈(105)에서 조작되는 도 1에 도시된다. IDP 세트(122)에서 식별 파라미터의 적어도 일부는 IDP 세트(120)에서 식별 파라미터에 비해 다르다. 그러나 그러한 변환이 발생하는 위치는 또한 바람직하게 미션 플랜에 의해 제어된다. 따라서, IDP 세트(120)의 조작은 예를 들어, 모듈(105)에서가 아닌 모듈(113, 114)에서 때때로 발생할 수 있다. 식별 파라미터의 조작이 발생하는 위치를 선택적으로 변경하는 이러한 능력은 컴퓨터 네트워크의 전환 능력에 더 중요한 특성을 부가한다.
식별 파라미터가 수정되는 위치에서 동적인 변화는 각각의 모듈의 동작 상태를 선택적으로 제어하는 것에 의해 용이해진다. 그 목적을 위해, 각각의 모듈의 동작 상태는 바람직하게 (1) 데이터가 현재의 미션 플랜에 따라 처리되는 활성 상태, 및 (2) 모듈이 존재하지 않았던 것처럼 패킷이 모듈을 통해 흐를 수 있는 바이패스 상태를 포함한다. 동적인 수정이 수행되는 위치는 선택적으로 특정 모듈이 활성 상태에 있게 하고 특정 모듈이 대기 상태에 있게 하는 것에 의해 제어된다. 위치는 조정된 방식으로 모듈의 현재 상태를 동적으로 변경하는 것에 의해 동적으로 변화될 수 있다.
미션 플랜은 식별 파라미터가 조작될 컴퓨터 네트워크(100) 내의 위치를 결정하기 위한 미리 정해진 시퀀스를 포함할 수 있다. 식별 파라미터가 조작될 위치는 트리거 이벤트에 의해 지시된 때에 시퀀스를 따라 변할 것이다. 예를 들어, 트리거 이벤트는 여기에 설명된 바와 같은 조작을 위한 새로운 위치로의 변이 또는 식별 파라미터의 변환을 야기할 수 있다. 따라서, 트리거 이벤트는 식별 파라미터가 수정되는 위치에서 변화의 발생을 위한 토대로서 역할하고, 미리 정의된 시퀀스는 어디에 새로운 위치가 있을지를 결정한다.
앞서 언급한 것으로부터, 데이터 패킷이 거짓 식별 파라미터를 포함하도록 모듈에서 수정된다는 것이 인지될 것이다. 컴퓨터 네트워크 내의 일부 포인트에서, 식별 파라미터를 참값으로 복원하는 것이 필요하고, 그래서 식별 파라미터는 특정 네트워크 프로토콜에 따라 의도된 기능을 적절하게 수행하도록 사용될 수 있다. 따라서, 본 발명은 또한 제 2 위치(즉, 제 2 모듈)에서 미션 플랜에 따라 식별 파라미터에 대해 할당된 값을 동적으로 수정하는 것을 포함한다. 제 2 위치에서 수정은 식별 파라미터를 수정하도록 제 1 위치에서 사용된 프로세스의 역을 핵심적으로 포함한다. 따라서 제 2 위치에서 모듈은 거짓값 식별 파라미터를 그들의 참값으로 다시 복구하거나 변환할 수 있다. 이러한 작동을 달성하기 위해, 제 2 위치에서 모듈은 적어도 (1) 변환될 식별 파라미터 값의 선택, 및 (2) 거짓값에서 참값으로의 선택된 식별 파라미터의 정확한 변환을 결정할 수 있어야만 한다. 사실상, 이러한 프로세스는 식별 파라미터 선택 및 그러한 식별 파라미터에 영향을 준 변화를 결정하도록 사용된 의사 랜덤 프로세스 또는 프로세스들의 역을 포함한다. 역 변환 단계는 도 1에 도시되고, 여기서 IDP 세트(122)는 모듈(106)에서 수신되고, IDP 세트(122)에서 식별 파라미터 값이 원래의 값 또는 참값으로 다시 변환되거나 조작된다. 이러한 시나리오에서, 모듈(106)은 식별 파라미터 값을 IDP 세트(120)의 것으로 다시 변환한다.
특히, 모듈은 그것이 수신하는 각각의 데이터 통신에 적용하기 위한 적절한 변환 또는 조작을 결정하는 일부 방식을 가져야만 한다. 바람직한 실시예에서, 이러한 결정은 수신된 데이터 통신 내에 포함된 적어도 소스 어드레스 식별 파라미터를 검토하는 것에 의해 수행된다. 예를 들어, 소스 어드레스 식별 파라미터는 소스 컴퓨팅 디바이스의 IP 어드레스를 포함할 수 있다. 소스 컴퓨팅 디바이스의 참 식별이 알려지면, 모듈은 어떤 조치를 취할지를 결정하기 위해 미션 플랜(또는 미션 플랜으로부터 유도된 정보)을 참고한다. 예를 들어, 이들 조치는 특정 참 식별 파라미터 값을 거짓 식별 파라미터 값으로 변환하는 것을 포함할 수 있다. 대안적으로, 이러한 변화는 거짓 식별 파라미터 값을 참 식별 파라미터 값으로 다시 변환하는 것을 포함할 수 있다.
특히, 수신된 데이터 통신에 포함된 소스 어드레스 식별 파라미터 정보가 거짓값으로 변화되는 예가 있을 것이다. 이러한 환경에서, 데이터 통신을 수신하는 모듈은 데이터 통신의 소스의 식별을 즉시 결정할 수 없을 것이다. 그러나, 통신을 수신했던 모듈은 그러한 예에서 소스 컴퓨팅 디바이스를 여전히 식별할 수 있다. 이것은 특정 시간 동안 사용 시에 모든 그러한 거짓 소스 어드레스 식별 파라미터 값을 목록화하는 룩-업-테이블(LUT)과 거짓 소스 어드레스 식별 파라미터 값을 비교하는 것에 의해 수신 모듈에서 달성된다. LUT는 또한 거짓 소스 어드레스 값에 대응하는 참 소스 어드레스 식별 파라미터 값의 목록을 포함한다. LUT는 미션 플랜에 의해 직접적으로 제공될 수 있거나 미션 플랜 내에 포함된 정보에 의해 발생될 수 있다. 둘 중 어느 한 경우에, 참 소스 어드레스 식별 파라미터 값의 식별화는 LUT로부터 쉽게 결정될 수 있다. 참 소스 어드레스 식별 파라미터가 결정되면, 그때 데이터 통신을 수신했던 모듈은 식별 파라미터에 어떤 조작이 요구되는지를 (미션 플랜에 기반해서) 결정하도록 이러한 정보를 사용할 수 있다.
특히, 미션 플랜은 또한 식별 파라미터가 참값으로 복구되는 제 2 위치에서의 변화를 특정할 수 있다. 예를 들어, 식별 파라미터가 모듈(105)을 포함하는 제 1 위치에서 동적으로 수정되는 것을 가정한다. 미션 플랜은 참값에 대한 식별 파라미터의 복구가 설명된 바와 같이 모듈(106)에서 발생하는 것을 특정할 수 있지만, 대신에 동적인 수정이 모듈(113, 114)에서 발생하는 것을 대안적으로 특정할 수 있다. 일부 실시예에서, 그러한 조작이 발생하는 위치는 미리 정의된 시퀀스에 따라 미션 플랜에 의해 동적으로 결정된다. 미리 정의된 시퀀스는 식별 파라미터의 조작이 발생하는 위치 또는 모듈의 시퀀스를 결정할 수 있다.
다른 위치에서 동적 수정을 포함하는 변이는 바람직하게 트리거 이벤트에 따라 발생한다. 따라서, 미리 정의된 시퀀스는 데이터 조작이 발생하는 위치의 패턴 또는 시퀀스를 결정하고, 트리거 이벤트는 하나의 위치로부터 다음으로의 변이를 야기하기 위한 토대로서 역할한다. 트리거 이벤트는 아래에 더 구체적으로 논의되지만; 트리거 이벤트가 시간의 통과, 사용자 제어, 및/또는 특정 네트워크 이벤트의 발생에 기반할 수 있다는 것이 언급되어야만 한다. 제 2 위치(즉, 식별 파라미터가 참값으로 되돌아가는 곳)의 선택에 대한 제어는 제 1 위치에 관해 위에 설명된 바와 같이 동일한 방식으로 영향받을 수 있다. 특히, 둘 이상의 모듈의 동작 상태는 활성 상태와 바이패스 상태 사이에 토글링될 수 있다. 식별 파라미터의 조작은 활성 동작 상태를 갖는 모듈에서만 발생할 것이다. 바이패스 동작 상태를 갖는 모듈은 수정 없이 데이터 패킷을 단순히 통과시킬 것이다.
대안적인 방법 역시 식별 파라미터의 조작이 발생할 위치를 제어하도록 사용될 수 있다. 예를 들어, 네트워크 관리자는 미션 플랜에서 식별 파라미터가 참값에서 거짓값으로 변환될 수 있는 여러 가능한 모듈을 정의할 수 있다. 트리거 이벤트의 발생 시에, 새로운 위치는 의사 램덤 함수를 사용하고, 의사 랜덤 함수를 위한 시드 값으로 트리거 시간을 사용하는 것에 의해 여러 모듈 가운데로부터 선택될 수 있다. 각각의 모듈이 동일한 최초 시드 값을 사용하여 동일한 의사 랜덤 함수를 실행한다면 그때 각각의 모듈은 동일한 의사 랜덤 값을 계산할 것이다. 트리거 시간은 GPS 시간 또는 시스템 클록 시간과 같은, 클록 시간에 기반해서 결정될 수 있다. 이 방식으로, 각각의 모듈은 그것이 현재 식별 파라미터의 조작이 발생해야만 하는 활성 위치인지 여부를 독립적으로 결정할 수 있다. 유사하게, 네트워크 관리자는 미션 플랜에서 동적인 조작이 식별 파라미터를 정확한 값 또는 참값으로 되돌리는 여러 가능한 모듈을 정의할 수 있다. 어느 모듈이 이러한 목적으로 위해 사용되는가에 대한 선택 역시 여기에 설명된 바와 같이 트리거 시간 및 의사 랜덤 함수에 따라 결정될 수 있다. 식별 파라미터 조작이 발생할 위치 또는 모듈을 결정하기 위한 다른 방법 역시 가능하다. 따라서, 본 발명은 여기에 설명된 특정 방법으로 한정되는 것으로 의도되지 않는다.
특히, 식별 함수가 조작되는 제 1 및/또는 제 2 위치의 위치를 변경하는 것은 네트워크 통신 경로를 따라 제 1 및 제 2 위치 사이의 물리적 거리를 변경하는 것을 종종 초래할 것이다. 제 1 및 제 2 위치 사이의 거리는 거리 벡터로서 여기에 언급된다. 거리 벡터는 제 1 및 제 2 위치 사이의 통신 경로에 따른 실제 물리적 거리일 수 있다. 그러나, 제 1 및 제 2 위치 사이의 통신 경로에 존재하는 네트워크 노드의 수를 나타내는 바와 같이 거리 벡터를 생각하는 것이 유용하다. 네트워크 내의 제 1 및 제 2 위치에 대해 다른 위치를 동적으로 선택하는 것은 제 1 및 제 2 위치 사이의 노드의 수를 변경하는 효과를 가질 수 있다는 것이 인지될 것이다. 예를 들어, 도 1에서 식별 파라미터의 동적인 수정은 모듈(105, 106, 107, 113, 114) 중 선택된 하나에서 실행된다. 동적 수정을 각각 실행하도록 실제로 사용된 모듈은 앞서 설명된 바와 같이 결정된다. 모듈(105)이 식별 파라미터를 거짓값으로 변환하도록 사용되고 모듈(106)이 그들을 참값으로 다시 변환하도록 사용된다면, 그때 모듈(105, 106) 사이에 세 개의 네트워크 노드(108, 110, 109)가 있다. 그러나 모듈(113)이 거짓값으로 변환하도록 사용되고 모듈(114)이 식별 파라미터를 참값으로 다시 변환하도록 사용된다면, 그때 모듈(113, 114) 사이에 단지 하나의 네트워크 노드(110)만이 있다. 따라서, 동적 수정이 발생하는 위치의 위치를 동적으로 변경하는 것은 거리 벡터를 동적으로 변경할 수 있다는 것이 인지될 수 있다. 이러한 거리 벡터의 변경은 여기에 설명된 바와 같이 네트워크 전환 또는 수정에 가변성의 추가된 특성을 제공한다.
본 발명에서, 식별 파라미터 값의 조작, 식별 파라미터의 선택, 및 이들 식별 파라미터가 있는 위치가 전환 파라미터로서 각각 정의된다. 변경이 이들 세 개의 전환 파라미터 중 하나에서 발생할 때마다, 네트워크 전환이 발생했다고 말해질 수 있다. 언제든 이들 세 개의 전환 파라미터 중 하나가 변경되면, 네트워크 전환이 발생했다고 말할 수 있다. 컴퓨터 네트워크(100)에 침투하려는 적들의 노력을 가장 효과적으로 방해하기 위해서, 네트워크 전환은 바람직하게 앞서 설명된 바와 같이 의사 램덤 프로세스에 의해 제어된다. 해당 기술분야의 당업자는 혼돈 프로세스 역시 이러한 기능을 수행하도록 사용될 수 있다는 것을 인지할 것이다. 혼돈 프로세스는 의사 랜덤 함수에 비해 기술적으로 다르지만, 본 발명의 목적을 위해, 둘 중 어느 하나가 사용될 수 있고, 두 개는 동일한 것으로 간주된다. 일부 실시예에서, 동일한 의사 램덤 프로세스는 전환 파라미터 중 두 개 이상을 동적으로 변경하도록 사용될 수 있다. 그러나, 본 발명의 바람직한 실시예에서, 두 개 이상의 다른 의사 랜덤 프로세스가 이들 전환 파라미터 중 둘 이상이 다른 것들과 독립적으로 수정되도록 사용된다.
트리거 이벤트
위에 언급된 바와 같이, 전환 파라미터의 각각에 대한 동적 변경은 적어도 하나의 트리거에 의해 제어된다. 트리거는 변경이 여기에 설명된 동적 수정에 관련하여 발생하는 것을 야기하는 이벤트이다. 달리 말해서, 트리거는 네트워크가 이전 시간에서(즉, 트리거의 발생 전에)와 다른 새로운 방식으로 전환하도록 한다는 것이 언급될 수 있다. 예를 들어, 시간의 제 1 기간 동안, 미션 플랜이 IP 어드레스가 값 A로부터 값 B로 변경될 수 있게 할 수 있지만, 대신에 트리거 이벤트 후에, IP 어드레스는 값 A에서 값 C로 변경될 수 있다. 유사하게, 시간의 제 1 기간 동안 미션 플랜은 IP 및 MAC 어드레스가 수정되게 할 수 있지만; 대신에 트리거 이벤트 후에, 미션 플랜은 MAC 어드레스 및 사용자 이름이 수정되게 할 수 있다. 제 3 실시예로서, 시간의 제 1 기간 동안 ID 세트(120)가 모듈(105)에 도달할 때 미션 플랜이 식별 파라미터가 변경되게 할 수 있지만; 대신에 트리거 이벤트 후에, ID 세트(120)가 모듈(113)에 도달할 때 식별 파라미터가 변경되게 할 수 있다.
가장 단순한 형태로 트리거는 활성화되거나 또는 단순한 타이밍 스킴에 기반한 사용자가 될 수 있다. 그러한 실시예에서, 각각의 모듈에서 클록 시간은 트리거로서 역할할 수 있다. 예를 들어, 트리거 이벤트는 매 60초 시간 간격의 만료에서 발생하는 바와 같이 정의될 수 있다. 그러한 배열에 있어서, 전환 파라미터 중 하나 이상이 미리 결정된 클록 시간에 따라 매 60초마다 변할 수 있다. 일부 실시예에서, 모든 전환 파라미터는 변경이 동기화되도록 동시에 변할 수 있다. 약간 더 복합한 실시예에서, 시간-기반 트리거 배열 역시 사용될 수 있지만, 다른 고유한 트리거 시간 간격이 각각의 전환 파라미터에 대해 선택될 수 있다. 따라서, 거짓 식별 파라미터 값은 시간 간격 X에서 변경될 수 있고, 식별 파라미터의 선택은 시간 간격 Y에 따라 변할 수 있으며, 그러한 변화가 수행되는 위치는 시간 간격 Z에서 발생할 수 있고, 여기서 X, Y 및 Z는 다른 값이다.
트리거 메커니즘으로서 클록 시간에 의존하는 본 발명의 실시예에서, 포켓이 인식되지 않은 식별 파라미터로 인해 손실되거나 떨어지지 않는다는 것을 보장하도록 다양한 모듈(105, 106, 107, 113, 114)에서 클록 사이에서와 같이 동기화를 제공하는 것이 유리하다는 것이 인지될 것이다. 동기화 방법은 공지되어 있고 임의 적합한 동기화 메커니즘이 이러한 목적을 위해 사용될 수 있다. 예를 들어, 모듈은 GPS 클록 시간과 같은 매우 정확한 시간 기준을 사용하는 것에 의해 동기화될 수 있다. 대안적으로, 고유한 무선 동기화 신호가 중심 제어 시설로부터 모듈의 각각으로 전파될 수 있다.
트리거의 다른 유형 역시 본 발명으로 가능하다. 예를 들어, 트리거 이벤트는 잠재적인 네트워크 보안 위협의 발생 또는 검출에 기반할 수 있다. 본 발명의 실시예에 따라서, 잠재적 네트워크 보안 위협이 네트워크 보안 소프트웨어 스위트에 의해 식별될 수 있다. 대안적으로, 포켓이 네트워크 전환의 현재 상태에 모순되는 하나 이상의 식별 파라미터를 포함하는 모듈(105, 106, 107, 113, 114)에서 데이터 포켓의 수신 시에 잠재적 네트워크 보안 위협이 식별될 수 있다. 네트워크 보안 위협을 식별하기 위한 토대에 상관없이, 그러한 위협의 존재는 트리거 이벤트로서 역할할 수 있다. 네트워크 보안 위협에 기반한 트리거 이벤트는 위에 설명된 시간 기반 트리거에 의해 야기된 이들과 동일한 네트워크 전환의 유형을 야기할 수 있다. 예를 들어, 거짓 식별 파라미터, 식별 파라미터의 선택 및 식별 파리미터 변환의 위치는 네트워크 보안 위협이 검출되는 경우를 제외하고 안정적으로(즉, 변경되지 않고) 유지될 수 있다. 그러한 배열은 예를 들어, 잦은 네트워크 전환이 요구되지 않는 컴퓨터 네트워크에서 선택될 수 있다.
대안적으로, 시간 기반 트리거 이벤트는 네트워크 보안에 대한 잠재적 위협에 기반해서 트리거 이벤트와 조합될 수 있다. 그러한 실시예에서, 보안 위협에 기반한 트리거 이벤트는 시간 기반 트리거에 비해 네트워크 전환에 대해 다른 효과를 가질 수 있다. 예를 들어, 보안 위협 기반 트리거 이벤트는 그러한 네트워크 보안 위협에 더 공격적으로 대응하도록 네트워크 전환에서 전략적이거나 방어적인 변경을 야기할 수 있다. 그러한 측정의 정밀한 특징은 위협의 특징에 의존할 수 있지만, 다양한 응답을 포함할 수 있다. 예를 들어, 다른 의사 랜덤 알고리즘이 선택되고, 그리고/또는 각각의 IDP 세트(120)에서 조작을 위해 선택된 식별 파라미터의 수가 증가될 수 있다. 이미 시간 기반 트리거를 이용하는 시스템에서, 응답은 또한 네트워크 전환의 빈도가 증가하는 것을 포함할 수 있다. 따라서, 더 잦은 변경이 (1)거짓 식별 파라미터 값, (2)각각의 IDP 세트에서 변화될 식별 파라미터의 선택, 및/또는 (3)식별 파라미터가 변경되는 제 1 및 제 2 위치의 위치에 대해서 이루어질 수 있다. 따라서, 여기에 설명된 네트워크 전환은 잠재적 네트워크 보안 위협을 식별하고 동일한 것에 응답하기 위한 방법을 제공한다.
미션 플랜
본 발명의 바람직한 실시예에 따라서, 여기에 설명된 네트워크 전환은 미션 플랜에 따라 제어된다. 미션 플랜은 네트워크 및 보안 모델의 문맥 내의 기동성을 정의하고 제어하는 개념이다. 그러한 바와 같이, 미션 플랜은 네트워크 관리 컴퓨터(NAC)(104)로부터 각각의 모듈(105-107, 113-114)로 통신되는 데이터 파일로서 표현될 수 있다. 그런 후에 미션 플랜이 식별 파라미터의 조작을 제어하고 네트워크에서 다른 모듈의 작동으로 활동을 조정하도록 각각의 모듈에 의해 사용된다.
바람직한 실시예에 따라서, 미션 플랜은 네트워크가 잠재적 적들을 방해하도록 전환하는 방식을 업데이트하거나 변경하도록 네트워크 관리자에 의해 때때로 수정될 수 있다. 그러한 바와 같이, 미션 플랜은 네트워크 관리자에게 네트워크 전환이 네트워크 내에 발생하는 시간, 위치 및 방식에 대한 완벽한 제어를 용이하게 하는 툴을 제공한다. 그러한 업데이트 능력은 네트워크 관리자가 현재의 동작 조건에 컴퓨터 네트워크의 거동을 맞추고 네트워크에 침입하려는 적들 노력을 더 효과적으로 방해하도록 한다. 다중 미션 플랜은 사용자에 의해 정의될 수 있고 그들이 네트워크 내의 모듈에 접근가능하도록 저장될 수 있다. 예를 들어, 다중 미션 플랜은 NAC(104)에 저장될 수 있고 필요에 따라 모듈에 전달될 수 있다. 대안적으로, 복수의 미션 플랜은 각각의 모듈 상에 저장될 수 있고 네트워크의 보안을 유지하는데 필요하거나 요구되는 바와 같이 활성화될 수 있다. 예를 들어, 네트워크 관리자가 적들이 네트워크에 대한 현재의 미션 플랜을 발견했다고 결정하거나 의심한다면, 관리자는 미션 플랜을 변경하기를 바랄 수 있다. 효과적인 보안 절차 역시 미션 플랜이 주기적으로 변경되는 것을 지시할 수 있다.
미션 플랜을 생성하는 프로세스는 네트워크(100)를 모델링하는 것에 의해 시작할 수 있다. 모델의 생성은 네트워크 커맨드 센터에서 컴퓨터 또는 서버 상에 실행하는 네트워크 제어 소프트웨어 어플리케이션(NCSA)에 의해 용이해진다. 예를 들어, 도 1에 도시된 실시예에서, NCSA는 NAC(104) 상에 실행할 수 있다. 네트워크 모델은 바람직하게 네트워크(100)에 포함된 다양한 컴퓨팅 디바이스 사이의 데이터 연결 및/또는 관계를 정의하는 정보를 포함한다. NCSA는 그러한 관계 데이터의 진입을 용이하게 하는 적합한 인터페이스를 제공할 것이다. 일 실시예에 따라서, NCSA는 미션 플랜을 정의하도록 사용될 수 있는 표에 데이터의 진입을 용이하게 할 수 있다. 그러나, 바람직한 실시예에서, 그래픽 유저 인터페이스는 이러한 프로세스를 용이하게 하도록 사용된다. 이제 도 3에 대해 언급하면서, NCSA는 네트워크 토포그래피 모델 생성 툴을 포함할 수 있다. 툴은 네트워크의 다양한 구성요소의 각각 사이의 관계를 정의하는데 있어서 네트워크 관리자를 돕도록 사용된다. 네트워크 토포그래피 툴은 관리자가 커서(304)를 사용하는 것에 의해 네트워크 구성요소(302)를 드래그 및 드롭할 수 있는 작업공간(300)을 제공한다. 네트워크 관리자는 또한 다양한 네트워크 구성요소(302) 사이의 데이터 연결(306)을 생성할 수 있다. 이러한 모델링 프로세서의 일부분으로서, 네트워크 관리자는 모듈(105-107, 113, 114)을 포함하는, 다양한 네트워크 구성요소에 관한 네트워크 어드레스 정보를 제공할 수 있다.
일단 네트워크가 모델링되면, 그것은 다양한 모듈(105-107, 113, 114)이 거동하고 서로 상호작용하는 방식을 정의하도록 네트워크 관리자에 의해 저장되고 사용될 수 있다. 이제 도 4에 대해 언급하면서, NCSA는 미션 플랜을 더 전개하도록 사용될 수 있는 대화상자(400)를 발생시킬 수 있다. 드롭-다운 메뉴(432)는 대화상자(400)에서의 설정이 적용될 특정 모듈(예, 모듈(105))을 선택하도록 사용될 수 있다. 대안적으로, 네트워크 관리자는 대화상자(400)에서의 설정이 네트워크(예, 메뉴(432)에서 "모두"를 선택하는 것에 의해) 내의 모든 모듈에 적용되도록 의도된다는 것을 나타내도록 드롭-다운 메뉴(432)를 사용할 수 있다. 식별 파라미터의 고정된 세트가 모듈의 각각에서 항상 수정될 것인지, 또는 조작되는 식별 파라미터의 세트가 동적으로 변경되어야만 하는지를 특정하는 것에 의해 계속할 수 있다. 모듈에서 조작될 식별 파라미터의 선택 또는 세트가 동적으로 변경되도록 의도된다면, 네트워크 관리자는 그 선호를 나타내도록 체크-박스(401)에 표시할 수 있다. 체크-박스(401)가 표시되지 않는다면, 그것은 변경될 식별 파라미터의 세트가 시간에 걸쳐 변하지 않을 고정된 세트인 것을 나타낼 것이다.
대화상자(400)는 사용자가 미션 플랜을 생성하는 목적을 위해 작업하길 원하는 특정 식별 파라미터를 선택하는 것을 허용하는 탭(402, 404, 406)을 포함한다. 이러한 개시의 목적을 위해, 대화상자(400)는 단지 세 개의 식별 파라미터의 동적인 변화를 용이하게 한다. 구체적으로, 이들은 IP 어드레스, MAC 어드레스 및 포트 어드레스를 포함한다. 더 많거나 더 적은 식별 파라미터가 추가적인 탭을 제공하는 것에 의해 동적으로 변경될 수 있지만, 언급된 세 개의 식별 파라미터가 본 발명의 개념을 설명하기에 충분하다. 도 4에서, 사용자는 식별 파라미터의 IP 어드레스 유형으로 작업하도록 탭(402)을 선택했다. 탭(402) 내에, 다양한 사용자 제어(408-420)는 선택된 모듈 내의 IP 어드레스의 동적인 변화에 관련한 세부사항을 특정하도록 제공된다. 더 많은 또는 더 적은 제어가 IP 어드레스 유형의 동적인 조작을 용이하게 하도록 제공될 수 있고, 도시된 제어는 단지 그 개념을 이해하는데 독자를 돕도록 제공된다. 도시된 실시예에서, 네트워크 관리자는 표시된 체크-박스(408): IP 어드레스 호핑을 가능하게 함을 선택하는 것(예, 마우스와 같은 포인팅 디바이스로)에 의해 IP 어드레스의 동적인 변화를 가능하게 할 수 있다. 유사하게, 네트워크 관리자는 소스 어드레스, 목적지 어드레스 또는 둘 모두가 변경되어야 하는지 여부를 나타낼 수 있다. 이러한 실시예에서, 소스 및 목적지 어드레스 박스(410, 412)가 모두 표시되어, 어드레스의 두 타입 모두가 변경되어야만 함을 나타낸다. 소스 및 목적지 어드레스에 관해 허용된 값의 범위는 리스트 박스(422, 424)에서 관리자에 의해 특정될 수 있다.
거짓 IP 어드레스 값을 선택하도록 사용된 특정 의사 랜덤 프로세스는 의사 랜덤 프로세스를 선택하는 것에 의해 특정된다. 이러한 선택은 박스(414, 415)에서 특정된다. 다른 의사 랜덤 프로세스는 가변적인 참 무질서도에 대한 다른 레벨의 복잡성을 가지며, 관리자는 네트워크(100)의 필요에 가장 적합한 프로세스를 선택할 수 있다.
대화상자(400)는 또한 네트워크 관리자가 IP 어드레스 식별 파라미터의 동적인 변화를 위해 사용될 트리거 유형을 설정하도록 허용한다. 이러한 실시예에서, 사용자는 박스(416)를 선택하고, 시간 기반 트리거가 새로운 거짓 IP 어드레스 값으로 변이할 때를 결정하도록 사용되어야 함을 나타낸다. 게다가, 체크박스(418)는 시간 기반 트리거가 주기적 기반으로 발생하는 것을 나타내도록 선택된다. 슬라이더(420)는 주기적 시간 기반 트리거의 빈도를 결정하도록 사용자에 의해 조절될 수 있다. 도시된 실시예에서, 트리거 빈도는 시간 당 6개의 트리거 발생(매 10분마다 트리거)과 시간 당 120개의 트리거 발생(매 30초마다 트리거) 사이에 조절될 수 있다. 이러한 실시예에서, 선택은 다른 유형의 트리거에도 역시 이용가능하다. 예를 들어, 대화상자(402)는 네트워크 관리자가 이벤트 기반 트리거를 선택할 수 있는 체크 박스(428, 430)를 포함한다. 여러 가지 다른 특정 이벤트 유형이 그러한 이벤트-기반 트리거를 위한 토대를 형성하도록 선택될 수 있다(예, 이벤트 유형 1, 이벤트 유형 2 등). 이들 이벤트 유형은 다양한 잠재적 컴퓨터 네트워크 보안 위협의 검출을 포함할 수 있다. 도 4에서, 탭(404, 406)은 탭(402)과 유사하지만, 그 안의 제어는 IP 어드레스보다는 MAC 어드레스 및 포트 값의 동적인 변화에 맞춰진다. 추가적인 탭은 식별 파라미터의 다른 유형의 동적인 변화를 제어하도록 제공될 수 있다.
미션 플랜은 또한 식별 파라미터가 수정되는 위치를 동적으로 변경하기 위한 플랜을 특정할 수 있다. 일부 실시예에서, 이러한 가변적인 위치 특징은 언제 각각의 모듈이 활성 상태 또는 바이패스 상태에 있지를 정의하는 시퀀스를 제어하는 것에 의해 용이해진다. 따라서, 미션 플랜은 이러한 시퀀스를 특정하는 일부 수단을 유리하게 포함한다. 본 발명의 일부 실시예에서, 이것은 트리거 이벤트의 발생에 의해 나누어지는 정의된 시간 간격 또는 시간 슬롯의 사용을 포함할 수 있다.
이제 도 5에 관해 언급하면서, 대화상자(500)는 위치 시퀀스 및 타이밍 정보의 조율 및 진입을 용이하게 하도록 NCSA에 의해 제공될 수 있다. 대화상자(500)는 시간 기점(506) 내에 포함될 시간 슬롯(5041-504n)의 수를 선택하도록 제어(502)를 포함할 수 있다. 도시된 실시예에서, 네트워크 관리자는 정의된 타이밍 기점 당 4개의 시간 슬롯을 가진다. 대화상자(500)는 또한 네트워크(100)에 모든 모듈을 포함할 수 있는 표(503)를 포함할 수 있다. 나열된 각각의 모듈에 대해, 표는 하나의 타이밍 기점(506)에 대해 이용가능한 시간 슬롯(5041-5044)의 도식적 표현을 포함한다. 식별 파라미터가 조작되는 위치에 대한 동적 제어가 각각의 모듈이 활성 또는 바이패스 동작 상태에 있는지 여부에 의해 결정된다는 것을 상기한다. 따라서, 그래픽 유저 인터페이스 내에서, 사용자는 커서(508)를 이동할 수 있고 특정 모듈이 각각의 시간 슬롯 동안 활성 또는 바이패스 모드에 있는지 여부를 특정하도록 선택할 수 있다. 도시된 실시예에서, 모듈(105)은 시간 슬롯(5041, 5043) 동안 활성이지만, 시간 슬롯(5042, 5044) 동안 바이패스 모드에 있다. 역으로, 모듈(113)은 시간 슬롯(5042, 5044) 동안 활성이지만, 시간 슬롯(5041, 5043) 동안 바이패스 모드에 있다. 도 1에 대해 참조하면서, 이것은 식별 파라미터의 조작이 시간 슬롯(5041, 5043) 동안 모듈(105)과 연관된 위치에서 발생하지만, 대신에 시간 슬롯(5042, 5044) 동안 모듈(113)에서 발생한다는 것을 의미한다.
도 5에 도시된 실시예에서, 네트워크 관리자는 모듈(114)이 항상 활성 모드에서 동작하도록 선택한다(즉, 모듈(114)은 모든 타임 슬롯 동안 활성이다). 따라서, 클라이언트 컴퓨터(101)로부터 클라이언트 컴퓨터(103)로 송신된 데이터 통신에 대해, 데이터 패킷은 모듈(105, 113)에서 교대로 조작될 것이지만, 항상 모듈(114)에서 조작될 것이다. 최종으로, 이러한 실시예에서, 네트워크 관리자는 시간 슬롯(5041-5044) 동안 바이패스 모드에서 모듈(106, 107)을 유지하도록 선택한다. 따라서, 어떠한 식별 파라미터의 조작도 정의된 시간 슬롯 중 어느 것 동안 이들 모듈에서 수행되지 않을 것이다. 일단 모듈 타이밍이 대화상자(500)에서 정의되면, 네트워크 관리자는 업데이트된 미션 플랜의 일부로서 변화를 저장하도록 버튼(510)을 선택할 수 있다. 미션 플랜은 다양한 형태로 저장될 수 있다. 일부 실시예에서, 미션 플랜은 모듈의 거동을 조절하도록 각각의 모듈에 의해 사용될 수 있는 단순한 표 또는 다른 유형의 정의된 데이터 구조로서 저장될 수 있다.
미션 플랜의 분포 및 로딩
여기에 개시된 바와 같은 미션 플랜의 분포 및 로딩이 이제 더 구체적으로 설명될 것이다. 도 1로 다시 한 번 더 언급하면서, 모듈(105-107, 113, 114)이 하나 이상의 위치에서 네트워크(100)에 걸쳐 분포된다는 것이 발견될 수 있다. 모듈은 그러한 위치에서 통신을 차단하고, 필요한 조작을 수행하며, 네트워크 내의 다른 컴퓨팅 디바이스로 데이터를 보내도록 통신 경로 내에 일체화된다. 앞서 언급된 배열로, 여기에 설명된 모듈의 임의 필요한 유지(예, 미션 플랜을 업데이트하기 위한 유지)는 모듈이 교체되거나 재프로그램되는 한편 네트워크 통신을 방해할 잠재성을 가질 것이다. 그러한 방해는 네트워크 서비스의 신뢰성 및 이용가능성이 필수적인 많은 상황에서 바람직하지 않다. 예를 들어, 방해받지 않는 네트워크 동작은 군대, 긴급 서비스 및 비지니스에 의해 사용된 컴퓨터 네트워크에 대해 필수적일 수 있다.
방해받지 않는 네트워크 동작을 보장하도록, 각각의 모듈은 바람직하게 여러 동작 상태를 가진다. 이들 동작 상태는 (1)모듈이 전원차단되고 어떠한 패킷도 처리하지 않는 오프 상태, (2)모듈이 미션 플랜에 따라서 소프트웨어 스크립트를 설치하는 초기화 상태, (3)데이터가 현재 미션 플랜에 따라 처리되는 활성 상태, 및 (4) 모듈이 존재하지 않는 것처럼 패킷이 모듈을 통해 흐를 수 있는 바이패스 상태를 포함한다. 모듈은 그것이 활성 상태 또는 바이패스 상태에 있을 때, 모듈이 네트워크 관리자에 의해 제공되는 업데이트된 미션 플랜을 수신하고 로드할 수 있도록 구성된다. 모듈 동작 상태는 예를 들어, NAC(104) 상에 실행하는 NCSA에 의해 네트워크 관리자에 의해 수동으로 제어될 수 있다. 예를 들어, 사용자는 그래픽 유저 인터페이스 제어 패널의 사용을 통해 다양한 모듈에 대한 동작 상태를 선택할 수 있다. 네트워크의 동작 상태를 제어하기 위한 명령어는 네트워크(100)에 걸쳐 전달되거나, 임의 다른 적합한 수단에 의해 전달될 수 있다. 예를 들어, 분리된 유선 또는 무선 네트워크(미도시)가 그러한 목적을 위해 사용될 수 있다.
미션 플랜은 각각의 모듈의 물리적 위치에서 직접적으로 로드될 수 있거나, 또는 그것은 NCSA로부터 모듈로 전달될 수 있다. 이러한 개념은 통신 매체(606)를 통해 NCSA(602)로부터 모듈(105-107, 113, 114)의 각각으로 전달되는 미션 플랜(604)을 나타내는, 도 6에 도시된다. 도시된 실시예에서, NCSA 소프트웨어 어플리케이션은 네트워크 관리자에 의해 동작되는 NAC(104) 상에 실행한다. 통신 매체는 일부 실시예에서 컴퓨터 네트워크(100)를 사용하는 대역내 시그널링을 포함할 수 있다. 대안적으로, 대역외 네트워크(예, 분리된 무선 네트워크)가 NCSA로부터 각각의 모듈로 업데이트된 미션 플랜을 전달하도록 통신 매체(606)로서 사용될 수 있다. 도 7에 도시된 바와 같이, NCSA는 여러 미션 플랜(702) 중 하나의 선택을 용이하게 하도록 대화상자(700)를 제공할 수 있다. 이들 미션 플랜(702)의 각각은 NAC(104) 상에 저장될 수 있다. 네트워크 관리자는 그들이 미션 플랜 전송 버튼(704)을 활성화할 수 있은 후에, 여러 미션 플랜(702) 중 하나로부터 선택할 수 있다. 대안적으로, 복수의 미션 플랜이 각각의 모듈에 전달될 수 있고 그곳에 저장될 수 있다. 둘 중 어느 하나의 시나리오에서, 사용자는 정의된 미션 플랜 중 하나를 활성화하도록 선택할 수 있다.
미션 플랜을 보내는 명령어에 응답해서, 선택된 미션 플랜이 모듈로 전달되는 한편 그들은 여기에 설명된 바와 같이 식별 파라미터의 동적인 수정을 능동적으로 수행하도록 구성된 활성 상태에 있다. 그러한 배열은 네트워크가 분명하게 그리고 식별 파라미터를 조작하지 않고 동작하는 동안 시간을 최소화한다. 그러나, 업데이트된 미션 플랜 역시 모듈로 전달될 수 있는 한편 그들은 바이패스 모드에 있고, 이러한 접근은 특정 경우에 요구될 수 있다.
일단 미션 플랜이 모듈에 의해 수신되면, 그것은 모듈 내의 메모리 위치에 자동으로 저장된다. 그런 후에, 모듈은 바이패스 상태에 진입하게 될 수 있고, 여전히 그러한 상태 동안에, 모듈은 새로운 미션 플랜과 연관된 데이터를 로드할 수 있다. 바이패스 상태로 진입하고 새로운 미션 플랜 데이터를 로드하는 이러한 프로세스는 미션 플랜의 수신에 응답해서 자동으로 발생할 수 있고, 또는 네트워크 관리자에 의해 제어된 NCSA 소프트웨어로부터의 명령어에 응답해서 발생할 수 있다. 새로운 미션 플랜은 바람직하게 식별 파라미터 값이 변경되는 방식으로 변화를 포함한다. 일단 새로운 미션 플랜이 로드되면, 모듈(105-107, 113, 114)은 데이터 통신 에러가 발생하지 않는다는 것을 보장하도록 동기화된 방식으로 바이패스 모드로부터 활성 모드로 변이될 수 있다. 미션 플랜은 언제 모듈이 활성 모드로 되돌아가야할지 시간을 특정할 수 있거나, 또는 네트워크 관리자가 다양한 모듈로 명령어를 전달하도록 NCSA를 사용하여, 그들이 활성 모드로 진입하도록 지시할 수 있다. 미션 플랜을 업데이트하는 앞서 언급한 프로세스는 네트워크 보안 절차에서의 변화가 컴퓨터 네트워크(100)에 부착된 다양한 컴퓨팅 디바이스 사이의 통신을 방해하지 않고 발생하도록 유리하게 허용한다.
각각의 모듈(105, 106, 107, 113, 114)에서 다양한 식별 파라미터의 동적인 조작은 각각의 모듈(105-107, 113, 114) 상에 실행하는 어플리케이션 소프트웨어에 의해 바람직하게 제어된다. 그러나, 어플리케이션 소프트웨어의 거동은 미션 플랜에 의해 바람직하게 제어된다.
이제 도 8에 대해 언급하면서, 각각의 모듈(105-107, 113, 114)의 동작을 요약하는 흐름도가 제공된다. 혼동을 피하도록, 프로세스는 단일 방향으로의 통신에 대해 설명된다. 예를 들어 모듈(105)의 경우에, 단일 방향은 클라이언트 컴퓨터(101)로부터 허브(108)로 송신된 데이터를 포함할 수 있다. 그러나 실제로, 모듈(105-107, 113, 114)이 양방향으로 동작하는 것이 바람직하다. 프로세스는 모듈의 전원이 켜질 때 단계(802)에서 시작하고 여기에 설명된 방법을 실행하도록 모듈 어플리케이션 소프트웨어가 시작되는 단계(804)로 이어진다. 단계(806)에서, 미션 플랜이 모듈 내의 메모리 위치로부터 로드된다. 이 점에서, 모듈은 데이터를 처리하기 시작할 준비가 되고 그것이 모듈의 입력 데이터 버퍼로부터 데이터 패킷에 접근하는 단계(808)에서 그렇게 하도록 진행한다. 단계(810)에서, 모듈은 그것이 동작의 바이패스 모드에 있는지 여부를 결정하도록 확인한다. 그렇다면, 단계(808)에 접근된 데이터 패킷은 데이터 패킷의 임의 수정 없이 단계(812)에서 재송신된다. 모듈이 바이패스 모드에 있지 않다면, 그때 그것은 동작의 활성 모드에 있어야만 하고 단계(814)로 계속해야만 한다. 단계(814)에서, 모듈은 데이터 패킷이 발생된 소스 노드의 식별을 결정하도록 데이터 패킷을 판독한다. 단계(816)에서, 그것은 소스 노드가 유효한지 여부를 결정하도록 패킷을 검토한다. 특정된 소스 노드는 특정된 소스 노드가 현재 유효한지 여부를 결정하도록 유효 노드의 목록과 비교될 수 있다. 그것이 유효 노드가 아니라면 그때 패킷은 단계(818)에서 폐기된다. 단계(820)에서 프로세스는 트리거 이벤트가 발생되었는지 여부를 결정하도록 확인한다. 트리거 이벤트의 발생은 사용할 거짓 식별 값의 선택에 영향을 줄 것이다. 따라서, 단계(822)에서, 모듈은 트리거 정보, 클록 시간 및 미션 플랜 중 하나 이상에 기반해서 사용할 거짓 식별 값을 결정한다. 그런 후에 모듈은 그것이 데이터 패킷의 식별 파라미터를 조작하는 단계(826)로 계속된다. 일단 조작이 완성되면, 데이터 패킷은 모듈의 출력 포트로부터 인접한 노드로 재송신된다. 단계(830)에서, 모듈이 전원을 차단하도록 명령되는지 여부에 대해 결정이 이루어진다. 그렇다면, 프로세스는 단계(832)에서 종료한다. 단계(808)에서 프로세스는 계속하고 다음 데이터 패킷은 모듈의 입력 데이터 버퍼로부터 접근된다.
이제 도 9에 대해 언급하면서, 동적인 컴퓨터 네트워크를 관리하도록 여기에 설명된 방법을 요약하는 흐름도가 제공되어 있다. 프로세스는 단계(902)에서 시작하고 네트워크 모듈이 생성되는 단계(904)로 이어진다(예, 도 3에 관련해서 도시되고 설명된 바와 같음). 단계(906)에서, 새로운 미션 플랜이 생성될지 여부에 대한 결정이 이루어진다. 그렇다면, 새로운 미션 플랜이 단계(908)에서 생성되고 프로세스는 새로운 미션 플랜이 선택되는 단계(910)로 이어진다. 대안적으로, 단계(906)에서 요구되는 미션 플랜이 이미 생성된다면, 그때 방법은 기존 미션 플랜이 선택되는 단계(910)로 직접적으로 이어질 수 있다. 단계(912)에서, 미션 플랜은 미션 플랜이 메모리 위치에 저장되는 모듈(예, 모듈(105-107, 113, 114)로 전달된다. 네트워크 관리자가 새로운 미션 모델을 실행할 준비가 될 때, 명령어는 여기에 설명된 바와 같이 모듈이 대기 모드에 진입하도록 하는 단계(914)로 보내진다. 모듈이 대기 모드에 있는 반면에, 미션 플랜은 단계(916)에 로드된다. 미션 플랜의 로딩은 미션 플랜이 모듈 상에 실행하는 어플리케이션 소프트웨어의 동작을 제어하도록 사용될 수 있도록 각각의 모듈에서 발생한다. 특히, 미션 플랜은 어플리케이션 소프트웨어가 식별 파라미터의 동적 조작을 수행하는 방식을 제어하도록 사용된다. 단계(918)에서, 미션 모듈은 각각의 미션 모듈이 미션 플랜에 따라 식별 파라미터의 조작을 수행하는 활성 동작 모드로 다시 진입하도록 한다. 단계(914, 916, 918)는 네트워크 관리자로부터 보내진 특정 명령어에 응답해서 발생할 수 있거나, 또는 단계(912)에서 미션 플랜을 수신하는 것에 응답해서 각각의 모듈에서 자동으로 발생할 수 있다. 단계(918) 후에, 모듈은 로딩되는 미션 플랜에 따라서 처리를 수행하는 것을 계속한다. 단계(920)에서, 프로세스는 사용자가 미션 플랜을 변화시킬 요구를 나타내는지 여부를 결정하도록 확인하는 것에 의해 계속하고; 그렇다면, 프로세스는 단계(906)로 되돌아가서, 그것이 위에 설명된 바와 같이 이어진다. 사용자 또는 네트워크 관리자가 기존 미션 플랜을 변화시키기를 원하는 어떠한 표시도 없다면, 그때 프로세스는 단계(922)에서 그것이 종료하도록 지시되었는지 여부를 결정한다. 그렇다면, 프로세스는 단계(924)에서 종료한다. 어떠한 종료 지시도 수신되지 않으면, 프로세스는 단계(920)로 되돌아가서 이어진다.
이제 도 10에 대해 언급하면서, 여기에 설명된 식별 파라미터의 조작을 수행하도록 사용될 수 있는 예시적인 모듈(1000)의 컴퓨터 아키텍처를 나타내는 블록도가 제공된다. 모듈(1000)은 버스(1022)를 통해 서로 통신하는, 중앙 처리 장치(CPU)와 같은 프로세서(1012), 메인 메모리(1020) 및 정적 메모리(1018)를 포함한다. 컴퓨터 시스템(1000)은 모듈의 상태를 나타내도록 액정 디스플레이 또는 LCD와 같은, 디스플레이 유니트(1002)를 더 포함할 수 있다. 모듈(1000)은 또한 모듈이 두 개의 분리된 데이터 라인 상에 동시에 데이터를 수신하고 송신하는 것을 허용하는 하나 이상의 네트워크 인터페이스 디바이스(1016, 1017)를 포함할 수 있다. 두 개의 네트워크 인터페이스 포트는 각각의 모듈이 네트워크 상의 두 개의 분리된 컴퓨팅 디바이스로부터 수신된 데이터 패킷을 동시에 차단하고 재송신하도록 구성되는 도 1에 도시된 배열을 용이하게 한다.
메인 메모리(1020)는 여기에 설명된 하나 이상의 방법론, 과정, 또는 기능을 실행하도록 구성된 하나 이상의 명령어(1008)의 세트(예, 소프트웨어 코드)가 저장되는 컴퓨터 판독가능한 저장 매체(1010)를 포함한다. 명령어(1008)는 또한 모듈에 의한 실행 동안 정적 메모리(1018), 및/또는 프로세서(1012) 내에 완전히 또는 적어도 부분적으로 잔류할 수 있다. 정적 메모리(1018) 및 프로세서(1012)는 또한 기계-판독가능한 매체를 구성할 수 있다. 본 발명의 다양한 실시예에서 네트워크 환경에 연결된 네트워크 인터페이스 디바이스(1016)는 명령어(1008)를 사용하여 네트워크를 통해 통신한다.
이제 도 11에 대해 언급하면서, 본 발명에 따라서 예시적인 네트워크 관리 컴퓨터(NAC)(114)가 도시되어 있다. NAC는 서버 컴퓨터, 클라이언트 사용자 컴퓨터, 개인용 컴퓨터(PC), 태블릿 PC, 랩탑 컴퓨터, 데스크탑 컴퓨터, 제어 시스템 또는 (순차적이거나 그렇지 않으면) 그 디바이스에 의해 취해질 작동을 특정하는 명령어의 세트를 실행할 수 있는 임의 다른 디바이스를 포함하는 다양한 유형의 컴퓨팅 시스템 및 디바이스를 포함할 수 있다. 또한, 단일 컴퓨터가 도 11에 도시되는 반면에, 어구 "NAC"는 여기에 논의된 방법론 중 임의 하나 이상을 수행하는 명령어의 세트(또는 다중 세트)를 개별적으로 또는 결합해서 실행하는 컴퓨팅 디바이스의 임의 수집을 포함하도록 의도되어야만 한다.
이제 도 11에 대해 언급하면서, NAC(104)는 버스(1122)를 통해 서로 통신하는, 중앙 처리 장치(CPU)와 같은 프로세서(1112), 디스크 드라이브 유니트(1106), 메인 메모리(1120) 및 정적 메모리(1118)를 포함한다. NAC(104)는 비디오 디스플레이(예, 액정 디스플레이 또는 LCD), 평판 패널, 솔리드 스테이트 디스플레이, 또는 음극선관(CRT)와 같은 디스플레이 유니트(1102)를 더 포함할 수 있다. NAC(104)는 사용자 입력 디바이스(1104)(예, 키보드), 커서 제어 디바이스(1114)(예, 마우스) 및 네트워크 인터페이스 디바이스(1116)를 포함할 수 있다.
디스크 드라이브 유니트(1106)는 여기에 설명된 방법론, 과정, 또는 기능 중 하나 이상을 실행하도록 구성된 하나 이상의 명령어(1108)(예, 소프트웨어 코드)의 세트가 저장되는 컴퓨터-판독가능한 저장 매체(1110)를 포함한다. 명령어(1108)는 또한 실행 동안 메인 메모리(1120), 정적 메모리(1118) 내에, 그리고/또는 프로세서(1112) 내에 완벽하게 또는 적어도 부분적으로 잔류할 수 있다. 메인 메모리(1120) 및 프로세서(1112)는 또한 기계-판독가능한 매체를 구성할 수 있다.
해당 기술분야의 당업자는 도 10에 도시된 모듈 아키텍처, 및 도 11에서의 NAC 아키텍처 각각이 여기에 설명된 방법을 수행하도록 각각 사용될 수 있는 컴퓨팅 디바이스의 단지 하나의 가능한 실시예를 나타낸다는 것을 인지할 것이다. 그러나, 본 발명은 이 점에서 한정되지 않고 임의 다른 적합한 컴퓨팅 디바이스 아키텍처 역시 한정 없이 사용될 수 있다. 특수용도의 집적 회로, 프로그램 가능한 논리 배열, 및 다른 하드웨어 디바이스를 포함하지만 그들로 한정되지 않는 전용 하드웨어 실행이 여기에 설명된 방법을 실행하도록 비슷하게 구성될 수 있다. 광범위하게 다양한 실시예의 장치 및 시스템을 포함할 수 있는 어플리케이션은 다양한 전자 및 컴퓨터 시스템을 포함한다. 일부 실시예는 모듈 사이의 그리고 그들을 통해 전달되는 관련된 제어 및 데이터 신호를 갖는 두 개 이상의 특정 상호연결된 하드웨어 디바이스에서, 또는 특수용도의 집적 회로의 일부분으로서 기능을 실행할 수 있다. 따라서, 예시적인 시스템은 소프트웨어, 펌웨어, 및 하드웨어 실행에 적용가능하다.
본 발명의 다양한 실시예에 따라서, 여기에 설명된 방법은 컴퓨터-판독가능한 저장 매체에서 소프트웨어 프로그램으로서 저장되고 컴퓨터 프로세서 상에 작동하도록 구성된다. 또한, 소프트웨어 실행은 또한 여기에 설명된 방법을 실행하도록 구성될 수 있는, 분산 처리, 부품/객체 분산 처리, 병렬 처리, 가상 기계 처리를 포함할 수 있지만, 그들로 한정되지 않는다.
컴퓨터 판독가능한 저장 매체(1010, 1110)가 단일 저장 매체이도록 도 10 및 도 11에 도시되는 한편, 용어 "컴퓨터 판독가능한 저장 매체"는 하나 이상의 명령어의 세트를 저장하는 단일 매체 또는 다중 매체(예, 중앙집중 또는 분산 데이터베이스, 및/또는 연관된 캐시 및 서버)를 포함하는 것으로 이해되어야 한다. 용어 "컴퓨터 판독가능한 저장 매체"는 또한 기계에 의한 실행 동안 명령어의 세트를 저장, 인코딩 또는 실어나를 수 있고 기계가 본 개시의 방법론 중 임의 하나 이상을 수행하게 할 수 있는 임의 매체를 포함하는 것으로 이해되어야만 한다.
용어 "컴퓨터 판독가능한 매체"는 따라서 하나 이상의 판독 전용(비휘발성) 메모리, 랜덤 액세스 메모리, 또는 다른 재기록가능한(휘발성) 메모리; 디스크 또는 테이프와 같은 자기 광학 또는 광학 매체를 하우징하는 메모리 카드 또는 다른 패키지와 같은 솔리드 스테이트 메모리를 포함하지만 그들로 한정되지 않는 것으로 이해되어야만 한다. 따라서, 본 개시는 여기 나열된 바와 같이 컴퓨터 판독가능한 매체 중 임의 하나 이상을 포함하고 여기의 소프트웨어 실행이 저장되는 인식된 등가물 및 계승 매체를 포함하는 것으로 간주된다.
동적인 네트워크 외부의 컴퓨팅 디바이스와의 통신
식별 파라미터의 동적인 조작을 위해 여기 설명된 방법이 네트워크(100) 내에 잘 동작할 수 있는 반면에, 그들은 네트워크(100) 외부의 컴퓨터와 통신하는 것에 대한 일부 문제를 나타낸다. 예를 들어, 네트워크(100)의 외부의 컴퓨터는 식별 파라미터를 조작하기 위한 작업에서 동적인 프로세스를 인식하지 못한다. 따라서, 네트워크(100) 외부의 컴퓨터와의 통신은 적합한 조치가 취해지지 않는다면 방해받는 경향이 있다. 따라서, 네트워크(100)는 네트워크(100)에 진입하거나 그것을 떠나는 통신을 처리하도록 배열되는 적어도 하나의 브릿지(115)를 유리하게 포함한다. 브릿지는 네트워크(100) 내의 컴퓨팅 디바이스와 네트워크(100) 외부의 컴퓨팅 디바이스 사이의 그러한 통신이 에러 없이 발생할 수 있다는 것을 보장한다.
브릿지(115)는 도 2에 도시된 바와 같은 모듈의 것과 유사한 기능 블록도를 갖는 컴퓨팅 디바이스이다. 브릿지(115)는 또한 도 10에 도시된 것과 유사한 컴퓨터 아키텍처를 가질 수 있다. 브릿지(115)에 의해 수행된 작업은 모듈(105-107, 113, 114)에 의해 수행된 이들과 유사하다. 브릿지는 네트워크(100)로부터 데이터 통신을 수신할 것이고 제 2 네트워크(124)로 그러한 데이터 통신을 재송신하기 전에 미션 플랜에 따라 식별 파라미터를 조작할 것이다. 일부 실시예에서, 그러한 조작은 다시 거짓 식별 파라미터의 참 식별 파라미터로의 변환을 포함할 것이고, 참 식별 파라미터는 미션 플랜에 포함된 정보에 기반해서 결정된다. 제 2 네트워크가 식별 파라미터 정보를 동적으로 수정하지 않는 그러한 배열이면 충분하다.
대안적인 실시예에서, 제 2 네트워크(124)는 네트워크(100)와 유사한 방식으로 동작하는 동적인 네트워크이다. 그러한 바와 같이, 제 2 네트워크는 고유한 미션 플랜(제 2 미션 플랜)을 가질 수 있다. 이 경우에, 브릿지는 제 1 네트워크로부터 데이터 통신에서의 식별 파라미터를 수신할 것이고, 거짓값을 갖는 이들 식별 파라미터의 제 1 세트를 대신해 참값을 가지도록 변환할 것이다. 제 2 네트워크(124)에 대한 미션 플랜은 완전히 다른 동적인 네트워크를 특정할 수 있다. 예를 들어, 제 2 네트워크에 대한 미션 플랜은 수정될 다른 식별 파라미터, 다른 트리거 타이밍 등을 특정할 수 있다. 따라서, 브릿지는 제 1 네트워크로부터 메시지를 수신하고, 제 1 네트워크(100)의 미션 플랜에 일치하는 제 1 세트에서의 거짓값을 정정하고, 그런 후에 제 2 네트워크의 미션 플랜에 일치하는 제 2 세트에서 동일한(또는 다른) 식별 파라미터를 동적으로 수정할 필요가 있을 것이다. 일단 식별 파라미터의 제 2 세트가 거짓값으로 적절하게 변환되면, 데이터 통신은 제 2 네트워크로 송신된다.
제 1 세트가 제 1 네트워크와 연관된 제 1 미션 플랜에 따라 결정되고, 제 2 세트가 제 2 네트워크와 연관된 제 2 미션 플랜에 따라 결정된다는 것이 인지될 수 있다. 유사하게, 상기 제 1 세트에 포함된 거짓 정보는 제 1 미션 플랜에 따라서 결정되고 제 2 세트에 포함된 거짓 정보는 제 2 미션 플랜에 따라 결정된다. 식별 파라미터의 제 1 세트는 식별 파라미터의 제 2 세트에 비해 동일하거나 다를 수 있다. 또한, 제 1 및 제 2 세트가 데이터 통신에 포함된 식별 파라미터의 전부 또는 일부를 포함할 수 있다는 것이 인지되어야만 한다. 데이터 통신은 일반적으로 복수의 식별 파라미터를 포함하는 패킷 데이터 통신일 것이다. 브릿지는 제 2 네트워크(124)로부터 데이터 통신을 수신할 것이고, 제 1 네트워크, 제 2 네트워크 또는 그들 모두의 미션 플랜에 따라 그러한 데이터 통신에서 식별 파라미터를 조작할 것이다. 예를 들어, 브릿지는 복수의 제 2 식별 파라미터를 포함할 수 있는 제 2 데이터 네트워크로부터 제 2 데이터 통신을 수신할 수 있다. 제 2 식별 파라미터는 제 2 네트워크가 식별 파라미터를 동적으로 수정하는지 여부에 따라 거짓 정보를 특정거나 그렇지 않을 수 있다. 제 2 네트워크가 식별 파라미터를 동적으로 수정하지 않는다면, 그때 브릿지만이 거짓 정보를 특정하는 복수의 제 2 식별 파라미터의 세트를 동적으로 변환하기 위해 제 1 네트워크와 연관된 미션 플랜을 사용할 필요가 있다.
제 2 네트워크가 식별 파라미터를 동적으로 수정하면, 그때 브릿지는 복수의 제 2 식별 파라미터의 제 1 세트(거짓값을 갖음)를 참값으로 변환하기 위해 제 2 네트워크와 연관된 미션 플랜을 사용할 필요가 있다. 이러한 단계는 바람직하게 브릿지가 복수의 제 2 식별 파라미터의 제 2 세트를 거짓값으로 변환하기 위해 제 1 네트워크와 연관된 미션 플랜을 사용하기 전에 수행된다. 제 1 및 제 2 세트는 동일하거나 다를 수 있고, 각각의 네트워크에 대한 미션 플랜에 의해 각각의 경우에 결정될 것이다. 유사하게, 식별 파라미터를 거짓값으로 변환하기 위해 수행된 변환은 동일하거나 다를 수 있고, 각각의 네트워크와 연관된 미션 플랜에 따를 것이다. 그런 후에, 브릿지는 그러한 데이터 통신을 네트워크(100)에 재송신할 것이다.
일부 실시예에서, 네트워크(100, 124)에 대한 거짓 식별 파라미터는 의사 램덤 프로세스에 따라 결정된다. 그 경우에, 의사 랜덤 프로세스 및/또는 의사 랜덤 프로세스에 대한 시드 값은 연관된 네트워크에 대한 미션 플랜에 의해 결정될 수 있다. 유사하게, 조작될 식별 파라미터의 선택은 의사 랜덤 프로세스에 의해 결정될 수 있고, 프로세스 및/또는 그러한 프로세스를 위한 시드 값은 각각의 네트워크와 연관된 미션 플랜에 의해 각각 결정된다. 브릿지는 모듈을 참조하여 위에 설명된 바와 같이 하나 이상의 트리거 이벤트의 발생에 따라 조작되도록 거짓 식별 파라미터 값 및/또는 식별 파라미터의 선택에 변화를 줄 것이다. 모듈과 달리, 브릿지(115)는 제 1 및 제 2 네트워크에 대해 발생하는 트리거 이벤트에 대해 그러한 작업을 수행할 필요가 있을 것이다.
하나 이상의 미션 플랜과 연관된 동적 동작을 잠재적으로 관리할 필요를 제외하고, 브릿지(115)의 동작은 모듈의 것과 유사하다. 여전히, 브릿지(115)의 동작이 모듈(105-107, 113, 114)의 동작에 비해 다르다는 것이 인지될 수 있다. 예를 들어, 모듈과 달리, 식별 파라미터 조작이 수행되는 위치는 브릿지(115)의 경우에 변하지 않는다. 대신에, 브릿지는 네트워크(100) 외부의 컴퓨팅 디바이스와 링크를 형성하기 때문에 네트워크(100)에서 적어도 하나의 모듈이 활성 모드에 있을 때 브릿지(115)는 항상 활성 모드에 있을 것이다.
이제 도 12에 대해 언급하면서, 브릿지(115)의 동작을 요약하는 흐름도가 제공되어 있다. 프로세스는 브릿지가 전원공급될 때 단계(1202)에서 시작하고 브릿지 어플리케이션 소프트웨어가 여기에 설명된 방법을 실행하도록 시작되는 단계(1204)로 이어진다. 단계(1206)에서, 하나 이상의 미션 플랜은 브릿지 내의 메모리 위치로부터 로드된다. 브릿지가 식별 파라미터의 동적 조작에 맞물리지 않는 네트워크에 연결된다면, 그때 단일 미션 플랜만이 요구된다. 그러나, 브릿지가 여기에 설명된 바와 같이 각각이 식별 파라미터를 동적으로 수정하는 두 개 이상의 네트워크를 연결하면, 그때 하나 이상의 미션 플랜이 단계(1206)에 로드될 것이다. 제 1 미션 플랜은 제 1 네트워크의 동적 전환을 정의할 수 있고 제 2 미션 플랜은 제 2 네트워크의 동적 전환을 정의할 수 있다. 이 점에서, 브릿지는 데이터를 처리하기 시작할 준비가 되고 단계(1208)에서 그렇게 하도록 진행하며, 여기서 그것은 브릿지의 입력 데이터 버퍼로부터 데이터 패킷에 접근한다. 단계(1210)에서, 브릿지는 동작의 바이패스 모드에 있는지를 결정하도록 확인한다. 그렇다면, 단계(1208)에 접근된 데이터 패킷은 데이터 패킷의 임의 수정 없이 단계(1212)에서 재송신된다. 브릿지가 바이패스 모드에 있지 않다면, 그때 그것은 동작의 활성 모드에 있어야만 하고 단계(1214)로 이어진다.
단계(1214)에서, 브릿지는 데이터 패킷이 발생된 소스 노드, 및 목적지 노드의 식별을 결정하도록 데이터 패킷을 판독한다. 단계(1216)에서, 브릿지는 소스 노드가 유효한지를 결정하도록 데이터 패킷을 시험한다. 이것은 유효한 소스 노드의 현재 목록과 데이터 패킷에서 특정된 소스 노드를 비교하는 것에 의해 달성될 수 있다. 소스 노드 정보가 유효하지 않다면 그때 패킷은 단계(1218)에서 폐기된다. 단계(1220)에서 프로세스는 트리거 이벤트가 발생했는지 여부를 결정하도록 확인한다. 이것은 트리거 이벤트의 발생이 적절한 거짓 식별값의 계산에 현저한 영향을 줄 수 있기 때문에 중요한 단계이다. 브릿지가 두 개 이상의 미션 플랜을 사용한다면, 이러한 단계는 트리거 이벤트가 둘 중 어느 하나의 미션 플랜에 대해 발생했는지 여부를 결정하는 것을 포함한다. 특히, 각각의 미션 플랜은 다른 트리거 이벤트를 포함할 수 있다.
수신된 데이터의 소스 및 목적지 어드레스 정보는 브릿지가 데이터 통신 내에 포함된 식별 파라미터를 적절하게 조작하는 법을 결정하도록 허용하기 위해 요구되기 때문에 중요하다. 일단 이러한 정보가 결정되면, 브릿지는 그때 거짓 식별 파라미터의 선택/값을 결정하는 단계(1222)로 계속된다. 그런 후에 프로세스는 브릿지가 하나 이상의 미션 플랜에 따라 데이터 패킷의 식별 파라미터를 조작하는 단계(1226)로 이어진다. 일단 조작이 완료되면, 데이터 패킷은 브릿지의 출력 포트로부터 인접한 노드로 단계(1228)에서 재송신된다. 단계(1230)에서, 브릿지가 전원차단되도록 명령되었는지 여부에 대한 결정이 이루어진다. 그렇다면, 프로세스는 단계(1232)에서 종료하고; 그렇지 않으면, 프로세스는 단계(1208)로 되돌아 간다. 단계(1208)에서, 프로세스가 이어지고 다음 데이터 패킷이 브릿지의 입력 데이터 버퍼로부터 접근된다. 위에 설명된 바와 같이, 단계(1216)에서 수행된 조작의 유형은 데이터 통신의 소스 및 목적지, 및 동적으로 전환되는 하나 이상의 네트워크가 있는지 여부에 따를 것이다.
변화될 수 있는 식별 파라미터의 유형
이제 도 13에 대해 언급하면서, 모듈(105-107, 113, 114)에 의해 그리고/또는 브릿지(115)에 의해 조작될 수 있는 식별 파라미터의 일부의 목록이 제공되어 있다. 도 13에 열거된 파라미터의 각각은 TCP/IP 통신 프로토콜을 사용하여 네트워크에 포함된 데이터 통신에 포함된다. 도 13에 열거된 정보 유형의 대부분은 해당 기술분야의 당업자에게 공지되어 있다. 그러나, 정보의 각각의 유형 및 식별 파라미터로서 그것의 용도에 관한 간략한 설명이 여기에 제공된다. 또한 각각의 식별 파라미터가 조작될 수 있는 방식의 간략한 설명이 제공되어 있다.
IP 어드레스. IP 어드레스는 컴퓨터 네트워크에 참여하는 각각의 컴퓨팅 디바이스에 할당된 수치 식별자이고 여기서 네트워크는 공지된 통신용 인터넷 프로토콜을 사용한다. IP 어드레스는 32비트 또는 128비트수 일 수 있다. 본 발명의 목적을 위해, IP 어드레스수는 무작위로 선택된 거짓값으로 변경될 수 있다(예, 의사 랜덤수 발생기를 사용). 대안적으로, 거짓 IP 어드레스 값은 거짓값의 미리결정된 목록으로부터 무작위로 선택될 수 있다(예, 미션 플랜에 의해 특정된 목록). 소스 및 목적지 IP 어드레스는 데이터 패킷의 TCP 헤더부에 포함된다. 따라서, 이들 값의 조작은 IP 헤더 정보를 변경하는 패킷 조작 기법을 사용하는 것에 의해 단순히 변경하는 것에 의해 수행된다. 패킷이 제 2 모듈(조작될 수 있는 위치)에 도달할 때, 거짓 IP 어드레스 값은 참값으로 다시 변환된다. 제 2 모듈은 거짓값에 기반해 참 IP 어드레스 값을 유도하도록 동일한 의사 랜덤 프로세스(또는 그것의 역)를 사용한다.
MAC 어드레스. MAC 어드레스는 제조자에 의해 네트워크 인터페이스 디바이스에 할당되고 온보드 ROM에 저장된 고유값이다. 본 발명의 목적을 위해, 소스 및/또는 목적지 MAC 어드레스는 무작위로 선택된 거짓값으로 변경될 수 있다(예, 의사 난수 발생기를 사용). 대안적으로, 거짓 MAC 값은 미리 결정된 거짓값의 목록(예, 미션 플랜에 의해 특정된 목록)으로부터 무작위로 선택될 수 있다. 소스 및 목적지 MAC 어드레스는 데이터 패킷의 IP 헤더부에 포함된다. 따라서, 이들 값의 조작은 단순히 각각의 패킷의 이더넷 헤더 정보를 변경하는 것에 의해 수행된다. 패킷이 제 2 모듈(조작될 수 있는 위치)에 도달할 때, 거짓 MAC 어드레스 값은 그들의 참값으로 다시 변환된다. 패킷을 수신하는 모듈은 거짓값에 기반해서 참 MAC 어드레스 값을 유도하도록 동일한 의사 랜덤 프로세스(또는 그것의 역)를 사용할 것이다.
네트워크/서브넷. 일부 실시예에서, IP 어드레스는 단일 식별 파라미터로서 간주될 수 있다. 그러나, IP 어드레스는 일반적으로 네트워크 프리픽스 부분 및 호스트수 부분을 포함하는 적어도 두 개의 부분을 포함하는 것으로 정의된다. 네트워크 프리픽스 부분은 데이터 패킷이 전달될 네트워크를 식별한다. 호스트수는 근거리 통신망(LAN) 내의 특정 노드를 식별한다. 서브 네트워크(때때로 서브넷으로 언급됨)는 IP 네트워크의 논리부이다. 네트워크가 두 개 이상의 서브 네트워크로 나누어지는 곳, IP 어드레스의 호스트수 섹션의 일부는 서브넷수를 특정하도록 사용된다. 본 발명의 목적을 위해, 네트워크 프리픽스, 서브넷수 및 호스트수는 각각 분리된 식별 파라미터이도록 간주될 수 있다. 따라서, 이들 식별 파라미터의 각각은 의사 랜덤 방식으로 다른 것들과 독립적으로 별개로 조작될 수 있다. 게다가, 데이터 패킷이 소스 IP 어드레스 및 목적지 IP 어드레스를 포함할 것임이 인지될 것이다. 따라서, 네트워크 프리픽스, 서브넷수 및 호스트수는 의사 랜덤 방식으로 조작될 수 있는 총 여섯 개의 다른 가변적인 식별 파라미터에 대해 소스 IP 어드레스 및/또는 목적지 IP 어드레스에서 조작될 수 있다. 포켓을 수신하는 모듈은 거짓값에 기반해서 참 네트워크/서브넷 정보값을 유도하도록 발생 노드와 동일한 의사 랜덤 프로세스(또는 그러한 프로세스의 역)를 사용할 것이다.
TCP 시퀀스. TCP 세션의 반대편 측면 상의 서로 통신하는 두 개의 클라이언트 컴퓨터는 각각 TCP 시퀀스수를 유지할 것이다. 시퀀스수는 각각의 컴퓨터가 얼마나 많은 데이터를 전달했는지를 추적하도록 허용한다. TCP 시퀀스수는 세션 동안 전달되는 각각의 패킷의 TCP 헤더부에 포함된다. TCP 세션의 시작에서, 최초 시퀀스수 값은 무작위로 선택된다. 본 발명의 목적을 위해, TCP 시퀀스수는 의사 랜덤 프로세스에 따라 식별 파라미터로서 조작될 수 있다. 예를 들어, TCP 시퀀스수는 무작위로 선택된 거짓값으로 변경될 수 있다(예, 의사 랜덤수 발생기를 사용). 패킷이 네트워크의 다른 모듈(동적으로 변경될 위치)에서 수신될 때, TCP 시퀀스수는 의사 랜덤 프로세스의 역을 사용하여, 거짓값으로부터 참값으로 다시 변환될 수 있다.
포트수. TCP/IP 포트수는 데이터 패킷의 TCP 또는 UDP 헤더부에 포함된다. TCP/IP 통신 프로토콜에서 사용된 바와 같은 포트는 해당 기술분야에 공지되어 있으므로 구체적으로 여기에 설명되지 않을 것이다. 포트 정보는 데이터 패킷의 TCP 헤더부 내에 포함된다. 따라서, 포트 정보의 조작은 단순히 참 포트값을 거짓 포트값으로 변경하는 TCP 헤더 정보를 수정하는 것에 의해 달성된다. 여기 논의된 다른 식별 파라미터와 같이, 포트수 정보는 제 1 모듈에서 의사 랜덤 프로세스에 따라 거짓값으로 조작되거나 변환될 수 있다. 포트 정보는 나중에 의사 랜덤 프로세스의 역을 사용하여 제 2 모듈에서 거짓값에서 참값으로 변환될 수 있다.
본 발명은 하나 이상의 실행에 대해 도시되고 설명됨에도, 등가적 대안 및 수정이 본 명세서 및 첨부된 도면의 독해 및 이해 시에 해당기술분야의 당업자에게 발생할 것이다. 덧붙여, 본 발명의 특정 특징이 여러 실행 중 하나에 대해서만 개시되는 반면에, 그러한 특징은 임의 주어진 또는 특정 어플리케이션에 대해 바람직하고 유리할 수 있는 바와 같이 다른 실행의 하나 이상의 다른 특징과 결합될 수 있다. 따라서, 본 발명의 사상 및 범위는 위에 설명된 실시예 중 어느 하나에 의해 한정되어서는 안 된다. 그보다는, 본 발명은 다음의 청구항 및 그들의 균등물에 따라 정의되어야만 한다.

Claims (10)

  1. 제 1 컴퓨터 네트워크에 포함된 제 1 컴퓨팅 디바이스로부터, 제 2 컴퓨터 네트워크에 포함된 제 2 컴퓨팅 디바이스로 데이터를 통신하기 위한 방법으로서,
    상기 제 1 컴퓨터 네트워크 상의 데이터 통신을 송신하는 단계, 상기 데이터 통신은 상기 제 1 컴퓨팅 디바이스 및 상기 제 2 컴퓨팅 디바이스 중 적어도 하나와 연관된 참값을 특정하는 제 1 복수의 식별 파라미터를 포함하고;
    브릿지 위치에 상기 데이터 통신을 재송신하기 전에 거짓 정보를 특정하도록 제 1 세트를 변환하기 위해, 상기 제 1 컴퓨터 네트워크에서의 제 1 위치에서 상기 제 1 복수의 식별 파라미터의 상기 제 1 세트를 동적으로 수정하는 단계, 상기 거짓 정보는 상기 네트워크를 모니터링하는 적에 의해 관찰가능한 식별 파라미터 데이터를 특정하지만, 상기 제 1 컴퓨팅 디바이스 및 상기 제 2 컴퓨팅 디바이스 중 적어도 하나에 대한 부정확한 정보를 특정하고;
    참 정보를 특정하기 위해 상기 제 1 세트를 변환하도록 상기 브릿지 위치에서 상기 제 1 세트를 동적으로 수정하는 단계;
    상기 브릿지 위치에서 참 정보를 특정하도록 상기 제 1 세트를 변환한 후에, 상기 브릿지 위치로부터 상기 제 2 컴퓨터 네트워크로 상기 데이터 통신을 송신하는 단계;
    상기 컴퓨터 네트워크 내의 상기 제 1 위치의 위치에서 동적 변경을 야기하기 위한 트리거 이벤트를 검출하는 단계; 및
    상기 트리거 이벤트의 검출에 응답해서, 상기 제 1 위치와 상기 브릿지 위치 사이의 거리 벡터를 변경하기 위해 의사랜덤 함수를 사용하는 것에 의해 상기 제 1 컴퓨터 네트워크 내의 상기 제 1 위치의 위치를 동적으로 변경하는 단계를 포함하고, 상기 의사랜덤 함수에 대한 시드값은 상기 트리거 이벤트의 발생 시간을 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    상기 제 2 컴퓨터 네트워크는 식별 파라미터를 동적으로 수정하지 않고, 그리고 상기 데이터 통신은 참 정보를 포함하는 상기 제 1 복수의 식별 파라미터의 전부와 함께 상기 브릿지로부터 상기 제 2 네트워크로 송신되는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서,
    상기 제 2 컴퓨터 네트워크는 식별 파라미터를 동적으로 수정하고, 그리고 상기 방법은 거짓 정보를 특정하기 위해 제 2 세트를 변환하도록 상기 복수의 식별 파라미터의 상기 제 2 세트를 상기 브릿지 위치에서 동적으로 수정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제 3항에 있어서,
    상기 제 1 세트는 제 1 미션 플랜에 따라 결정되고 그리고 상기 제 2 세트는 제 2 미션 플랜에 따라 결정되는 것을 특징으로 하는 방법.
  5. 제 4항에 있어서,
    상기 제 1 세트에 포함된 상기 거짓 정보는 상기 제 1 미션 플랜에 따라 결정되고 그리고 상기 제 2 세트에 포함된 상기 거짓 정보는 상기 제 2 미션 플랜에 따라 결정되는 것을 특징으로 하는 방법.
  6. 제 4항에 있어서,
    상기 제 1 세트는 상기 제 2 세트와 다른 것을 특징으로 하는 방법.
  7. 제 1항에 있어서,
    상기 제 1 컴퓨팅 디바이스와 상기 제 2 컴퓨팅 디바이스 중 적어도 하나와 연관된 제 2 복수의 식별 파라미터를 포함하는 상기 제 2 컴퓨터 네트워크의 상기 제 2 컴퓨팅 디바이스로부터 제 2 데이터 통신을 상기 브릿지 위치에서 수신하는 단계;
    거짓 정보를 특정하기 위해 상기 제 2 복수의 식별 파라미터의 제 1 세트를 변환하도록 상기 브릿지 위치에서 상기 제 2 복수의 식별 파라미터의 상기 제 1 세트를 동적으로 수정하는 단계; 및
    거짓 정보를 특정하도록 상기 제 2 복수의 식별 파라미터의 상기 제 1 세트를 변환한 후에, 상기 브릿지 위치로부터 상기 제 1 컴퓨터 네트워크로 상기 데이터 통신을 송신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서,
    참 정보를 특정하도록 상기 제 1 컴퓨터 네트워크에서의 제 3 위치에서 상기 제 2 복수의 식별 파라미터의 상기 제 1 세트를 동적으로 수정하는 단계 및
    상기 제 1 컴퓨터 네트워크 내의 상기 제 3 위치의 위치를 동적으로 변경하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제 1항에 있어서,
    상기 트리거 이벤트는 제 1 미션 플랜에 따라 결정되는 것을 특징으로 하는 방법.
  10. 제 1 컴퓨터 네트워크에 포함된 제 1 컴퓨팅 디바이스와 제 2 컴퓨터 네트워크에 포함된 제 2 컴퓨팅 디바이스 사이에 데이터를 통신하기 위한 브릿지로서, 상기 데이터는 상기 제 1 컴퓨팅 디바이스와 상기 제 2 컴퓨팅 디바이스 중 적어도 하나와 관련한 정보를 전달하도록 사용된 복수의 식별 파라미터값을 포함하고,
    상기 제 1 컴퓨팅 디바이스로부터 상기 제 2 컴퓨팅 디바이스로의 제 1 데이터 통신에서의 식별 파라미터 값의 제 1 세트가 거짓값에서 참값으로 변환되는 제 1 변환을 선택적으로 수행하고, 상기 거짓값은 상기 네트워크를 모니터링하는 적에 의해 관찰가능한 식별 파라미터 데이터를 특정하지만, 상기 제 1 컴퓨팅 디바이스 및 상기 제 2 컴퓨팅 디바이스 중 적어도 하나에 대한 부정확한 정보를 특정하고;
    상기 제 1 컴퓨터 네트워크에서 복수의 모듈과 협조해서 상기 제 1 변환의 적어도 하나의 특징을 동적으로 결정하고; 그리고
    상기 제 1 컴퓨터 네트워크 내의 상기 제 1 위치의 위치에서 동적 변경을 야기하기 위한 제 1 트리거 이벤트를 검출하도록 구성된 적어도 하나의 컴퓨터 프로세싱 디바이스를 포함하고,
    적어도 하나의 특징부는 상기 제 1 컴퓨터 네트워크와 연관된 제 1 미션 플랜에 따라 결정되고 그리고 상기 미션 플랜은 상기 제 1 네트워크 내의 위치를 동적으로 변경하는 것을 더 특정하고 식별 파라미터의 상기 제 1 세트는 상기 제 1 컴퓨팅 디바이스와 상기 제 2 컴퓨팅 디바이스 사이의 거리 벡터를 변경하기 위해 의사랜덤 함수를 사용하는 것에 의해 참값으로부터 거짓값으로 변환되고, 상기 의사랜덤 함수에 대한 시드값은 상기 제 1 트리거 이벤트의 발생 시간을 포함하는 것을 특징으로 하는 브릿지.
KR1020147022812A 2012-02-09 2013-01-30 동적 컴퓨터 네트워크와의 통신을 위한 브릿지 KR101547080B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/369,442 US8898795B2 (en) 2012-02-09 2012-02-09 Bridge for communicating with a dynamic computer network
US13/369,442 2012-02-09
PCT/US2013/023706 WO2013119429A1 (en) 2012-02-09 2013-01-30 Bridge for communicating with a dynamic computer network

Publications (2)

Publication Number Publication Date
KR20140124777A KR20140124777A (ko) 2014-10-27
KR101547080B1 true KR101547080B1 (ko) 2015-08-25

Family

ID=47679110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147022812A KR101547080B1 (ko) 2012-02-09 2013-01-30 동적 컴퓨터 네트워크와의 통신을 위한 브릿지

Country Status (7)

Country Link
US (1) US8898795B2 (ko)
EP (1) EP2813050B1 (ko)
KR (1) KR101547080B1 (ko)
CN (1) CN104106250B (ko)
CA (1) CA2861014C (ko)
TW (1) TWI479357B (ko)
WO (1) WO2013119429A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397196B2 (en) * 2017-02-28 2019-08-27 Cyber 2.0 (2015) Ltd. Port-scrambling-based networks
US10554683B1 (en) * 2016-05-19 2020-02-04 Board Of Trustees Of The University Of Alabama, For And On Behalf Of The University Of Alabama In Huntsville Systems and methods for preventing remote attacks against transportation systems

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734649A (en) 1996-05-31 1998-03-31 Bbn Corporation Data packet router
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
US6646989B1 (en) * 1998-06-29 2003-11-11 Lucent Technologies Inc. Hop-by-hop routing with node-dependent topology information
US6826616B2 (en) 1998-10-30 2004-11-30 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network
US6502135B1 (en) * 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
ATE441275T1 (de) 1998-10-30 2009-09-15 Virnetx Inc Netzwerkprotokol zur sicheren kommunikation mit gesicherter systemverfügbarkeit
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
US6934763B2 (en) * 2000-04-04 2005-08-23 Fujitsu Limited Communication data relay system and method of controlling connectability between domains
AU2001271267A1 (en) 2000-05-23 2001-12-03 Invicta Networks, Inc. Systems and methods for communication protection
US7757272B1 (en) * 2000-06-14 2010-07-13 Verizon Corporate Services Group, Inc. Method and apparatus for dynamic mapping
US7043633B1 (en) 2000-08-28 2006-05-09 Verizon Corporation Services Group Inc. Method and apparatus for providing adaptive self-synchronized dynamic address translation
US8677505B2 (en) * 2000-11-13 2014-03-18 Digital Doors, Inc. Security system with extraction, reconstruction and secure recovery and storage of data
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 (fi) * 2001-04-26 2003-01-31 Nokia Corp IP-tietoturva ja liikkuvat verkkoyhteydet
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
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 (ja) 2002-08-20 2006-07-05 日本電気株式会社 攻撃防御システムおよび攻撃防御方法
US7216359B2 (en) 2002-12-19 2007-05-08 International Business Machines Corporation Secure communication overlay using IP address hopping
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
WO2005029782A1 (ja) * 2003-09-22 2005-03-31 Sharp Kabushiki Kaisha 集線装置、中継制御方法、中継制御プログラム、中継制御プログラムを記録した記録媒体、情報処理装置、dhcpサーバ、dhcp処理方法、dhcp処理プログラム、dhcp処理プログラムを記録した記録媒体、および情報処理システム
US7382778B2 (en) 2004-01-05 2008-06-03 Tropos Networks, Inc. Link layer emulation
DE602004029507D1 (de) * 2004-03-03 2010-11-18 Nat Inst Inf & Comm Tech Layer 2 switch netzwerksystem
WO2005103958A1 (en) 2004-04-20 2005-11-03 The Boeing Company Apparatus and method for automatic web proxy discovery and configuration
PL1813088T3 (pl) * 2004-09-30 2011-03-31 France Telecom Sposób oraz system trasowania w sieciach komunikacyjnych między pierwszym węzłem a drugim węzłem
US9383750B2 (en) 2004-12-02 2016-07-05 Lockheed Martin Corporation System for predictively managing communication attributes of unmanned vehicles
US7984163B2 (en) 2005-01-13 2011-07-19 Flash Networks, Inc. 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
US7937756B2 (en) 2005-08-19 2011-05-03 Cpacket Networks, Inc. Apparatus and method for facilitating network security
JP4626811B2 (ja) 2005-09-29 2011-02-09 日本電気株式会社 ポートホッピング検出システム、ポートホッピング検出装置、ポートホッピング検出方法、及びプログラム
US8199677B1 (en) * 2005-12-14 2012-06-12 Rockwell Collins, Inc. Distance vector routing via multi-point relays
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 (ja) * 2006-07-07 2011-07-27 富士通株式会社 中継装置、経路制御方法、及び経路制御プログラム
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 (ja) 2007-01-17 2008-07-31 Alaxala Networks Corp ネットワークシステム、サーバ、ddnsサーバおよびパケット中継装置
US7853998B2 (en) 2007-03-22 2010-12-14 Mocana Corporation Firewall propagation
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
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
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 (zh) * 2008-02-28 2013-04-24 华为技术有限公司 实现服务访问的方法、设备及系统
US8572717B2 (en) 2008-10-09 2013-10-29 Juniper Networks, Inc. Dynamic access control policy with port restrictions for a network security appliance
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
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
US8495738B2 (en) 2011-10-21 2013-07-23 Lockheed Martin Corporation Stealth network node

Also Published As

Publication number Publication date
WO2013119429A1 (en) 2013-08-15
CN104106250B (zh) 2016-06-29
TW201346626A (zh) 2013-11-16
TWI479357B (zh) 2015-04-01
CA2861014A1 (en) 2013-08-15
CN104106250A (zh) 2014-10-15
US20130212687A1 (en) 2013-08-15
EP2813050A1 (en) 2014-12-17
KR20140124777A (ko) 2014-10-27
EP2813050B1 (en) 2019-01-02
US8898795B2 (en) 2014-11-25
CA2861014C (en) 2015-09-08

Similar Documents

Publication Publication Date Title
KR101581155B1 (ko) 섀도우 네트워킹 기법을 사용하여 네트워크에 대한 공격을 식별, 억제 그리고/또는 지연시키기 위한 시스템 및 방법
KR101532190B1 (ko) 네트워크 상태를 동적으로 변경하기 위한 시스템 및 방법
KR101723715B1 (ko) 컴퓨터 네트워크의 엔터프라이즈 미션 관리를 위한 시스템 및 방법
US8959573B2 (en) Noise, encryption, and decoys for communications in a dynamic computer network
KR101542028B1 (ko) 동적 컴퓨터 네트워크에서 데이터를 통신하기 위한 라우터
WO2013165779A1 (en) Systems and methods for implementing moving target technology in legacy hardware
KR101601586B1 (ko) 동적 컴퓨터 네트워크에서 데이터 통신용 스위치
KR101497292B1 (ko) 가변적인 식별 파라미터를 갖는 동적 컴퓨터 네트워크
US8935780B2 (en) Mission management for dynamic computer networks
KR101547080B1 (ko) 동적 컴퓨터 네트워크와의 통신을 위한 브릿지

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180807

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190806

Year of fee payment: 5