KR102108376B1 - 검사 네트워크에서 컴퓨터 시스템의 컴퓨터를 검사하기 위한 검사 시스템 - Google Patents

검사 네트워크에서 컴퓨터 시스템의 컴퓨터를 검사하기 위한 검사 시스템 Download PDF

Info

Publication number
KR102108376B1
KR102108376B1 KR1020177021475A KR20177021475A KR102108376B1 KR 102108376 B1 KR102108376 B1 KR 102108376B1 KR 1020177021475 A KR1020177021475 A KR 1020177021475A KR 20177021475 A KR20177021475 A KR 20177021475A KR 102108376 B1 KR102108376 B1 KR 102108376B1
Authority
KR
South Korea
Prior art keywords
test
test object
entity
virtual
simulation server
Prior art date
Application number
KR1020177021475A
Other languages
English (en)
Other versions
KR20170108029A (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 KR20170108029A publication Critical patent/KR20170108029A/ko
Application granted granted Critical
Publication of KR102108376B1 publication Critical patent/KR102108376B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Software Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 개시는 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100)에 관한 것으로, 여기서 테스트 네트워크는 컴퓨터 시스템의 컴퓨터를 테스트하기 위한 테스트 엔티티(103)를 포함하고, 여기서 특정 컴퓨터(101)는 테스트 오브젝트(101)이고, 여기서 테스트 시스템(100)은: 테스트 오브젝트(101)를 에뮬레이션하도록 구성된 시뮬레이션 서버(105); 및 시뮬레이션 서버(105)를 제어하기 위한 제어 엔티티(107)로서, 여기서 제어 엔티티(107)는 테스트 오브젝트(101)를 에뮬레이션하기 위해 가상 테스트 오브젝트(109)를 생성할 것을 시뮬레이션 서버(105)에 명령하도록 구성되고, 여기서 제어 엔티티(107)는 특정 컴퓨터(101) 대신에 시뮬레이션 서버(105)에 의해 생성된 가상 테스트 오브젝트(109)를 테스트할 것을 테스트 엔티티(103)에 명령하도록 더 구성되는, 제어 엔티티(107)를 포함한다.

Description

검사 네트워크에서 컴퓨터 시스템의 컴퓨터를 검사하기 위한 검사 시스템
본 개시는 테스트 네트워크에서 컴퓨터 시스템의 컴퓨터를 테스트하기 위한 테스트 시스템 및 테스트 네트워크에서 컴퓨터 시스템의 컴퓨터를 테스트하는 방법에 관한 것이다. 본 개시는 특히 통신 네트워크에서 테스트 또는 안전 테스트를 자동화하는 방법 및 테스트 오브젝트를 시뮬레이션하기 위한 시뮬레이션 서버(허니팟(Honeypot))에 관한 것이다.
서버, 라우터, 스위치 등과 같은 네트워크 요소의 상태를 모니터링하고, 예를 들어 그것의 적절한 구성 또는 소프트웨어 상태의 화제를 테스트하기 위해서는, 기본적으로 두 가지 방법이 확립되어 있다: 첫째, 모든 네트워크 요소에 대해 직접적인 액세스를 갖는 중앙 테스트 엔티티의 사용; 둘째, 이른바 에이전트, 즉 중앙 테스트 엔티티와 통신하는 모든 네트워크 요소에 대한 추가 소프트웨어 패키지의 사용. 그러나 안전성 및 복잡성과 관련한 문제가 모든 네트워크 요소에 대한 중앙 테스트 엔티티의 직접적인 액세스 또는 네트워크 요소에 대한 에이전트의 설치 중에 생긴다. 네트워크 요소에 대한 직접적인 액세스에 의해, 테스트 엔티티 또는 에이전트의 안전성이 중요한 데이터가 특정 상황 하에서 인식되고 조작될 수 있다. 각각의 네트워크 요소에 대한 에이전트의 설치는 또한 특히 복수의 컴퓨터 또는 서버를 갖는 대형 컴퓨터 시스템의 테스트 중에 매우 복잡한 요구사항을 부과한다.
본 개시의 목적은 컴퓨터 시스템의 컴퓨터의 간단하고 안전한 테스트를 위한 접근법을 확립하는 것이다.
전술한 목적은 독립항의 대상에 의해 달성된다. 추가 구현 형태의 이점은 종속항의 대상이다.
이하에서 설명되는 장치, 방법 및 시스템은 상이한 유형일 수 있다. 각각의 개별적으로 설명된 요소는 상이한 기술에 의해 생산될 수 있는 전자 컴포넌트와 같은 하드웨어 또는 소프트웨어 구성요소에 의해 실현될 수 있으며, 예를 들어 반도체 칩, ASIC, 마이크로프로세서, 디지털 신호 프로세서, 집적 전기 회로, 전기 광학 회로 및/또는 수동 컴포넌트를 포함할 수 있다.
이하에서 설명되는 장치, 방법 및 시스템은 컴퓨터 시스템의 컴퓨터의 소프트웨어 버전, 패치 버전 및 구성을 결정하는 데 사용될 수 있다. 패치는 본원에서는 보안 취약성을 수정하거나, 오류를 바로잡거나, 현재까지 이용 가능하지 않았던 기능을 업그레이드하기 위한, 최종 사용자 관점에서 소프트웨어 또는 데이터에 대한 업데이트된 수정 버전을 나타낸다. 이러한 업데이트는 복수의 결합된 패치를 포함하는 경우 일부 생산자에서는 서비스 팩이라고도 한다.
제 1 양상에 따르면, 본 개시는 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터를 테스트하기 위한 테스트 시스템에 관한 것으로, 여기서 테스트 네트워크는 컴퓨터 시스템의 컴퓨터를 테스트하기 위한 테스트 엔티티를 포함하고, 여기서 특정 컴퓨터는 테스트 오브젝트가고, 여기서 테스트 시스템은 다음의 특징부: 테스트 오브젝트를 에뮬레이션하도록 구성된 시뮬레이션 서버; 및 시뮬레이션 서버를 제어하기 위한 제어 엔티티로서, 여기서 제어 엔티티는 테스트 오브젝트를 에뮬레이션하기 위해 가상 테스트 오브젝트를 생성할 것을 시뮬레이션 서버에 명령하도록 구성되고, 여기서 제어 엔티티는 특정 컴퓨터 대신에 시뮬레이션 서버에 의해 생성된 가상 테스트 오브젝트를 테스트할 것을 테스트 엔티티에 명령하도록 더 구성되는, 제어 엔티티를 포함한다.
이러한 테스트 시스템은 컴퓨터 시스템의 컴퓨터에 대한 간단하고 안전한 테스트의 이점을 제공한다. 시뮬레이션 서버로, 테스트 오브젝트가 에뮬레이션될 수 있으므로, 실제 테스트 오브젝트 대신 가상 테스트 오브젝트가 테스트될 수 있다. 따라서, 실제 컴퓨터가 아니라 가상 테스트 오브젝트가 테스트될 것이므로, 컴퓨터에 직접 액세스하는 중에 존재하는 안전성 문제가 제거된다. 테스트 엔티티에서 안전성 위협이 생기면, 이는 실제 컴퓨터 그 자체가 아니라 시뮬레이션 서버 상의 가상 테스트 오브젝트에 타격을 준다. 시뮬레이션 서버는 테스트 엔티티로부터 컴퓨터를 봉쇄하고 "허니팟"을 형성한다, 즉 시뮬레이션 서버는 테스트 엔티티에서의 잠재적인 맬웨어 또는 바이러스가 실제 서버 대신에 시뮬레이션 서버를 공격하거나 그에 영향을 주도록 유도하기 위해 혼란시키는 수단으로서의 역할을 한다. 그렇게 함으로써, 컴퓨터 시스템의 테스트 중에 안전성이 증가한다.
또한, 이러한 시뮬레이션 서버는 고도의 복잡성없이 실현 가능하다. 각각의 컴퓨터는 시뮬레이션 서버에 의해 동일한 방식으로 테스트될 수 있으므로, 테스트 엔티티는 테스트 작업을 구현하기 위해 단지 시뮬레이션 서버와 통신하면 된다. 이는 예를 들어 에이전트의 구현 중에 개별 컴퓨터를 테스트하는 데 필요할, 테스트될 모든 컴퓨터에 대한 특정 소프트웨어 패키지의 설치에 대한 필요성을 제거한다. 컴퓨터의 테스트의 완료 후에, 시뮬레이션 서버 상의 가상 테스트 오브젝트는 다시 쉽게 삭제될 수 있고, 다음 가상 테스트 오브젝트가 시뮬레이션 서버 상에서 생성될 수 있다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 테스트 시스템은 테스트 오브젝트의 데이터를 수신하고 시뮬레이션 서버 상에서 수신된 데이터에 기초하여 테스트 오브젝트를 에뮬레이션하도록 구성된다.
이는 테스트 오브젝트가 테스트 오브젝트의 데이터에 기초하여 에뮬레이션될 수 있다는 이점을 제공하므로, 여기서 에뮬레이션하는 것과 관련 있는 데이터의 선택이 이루어질 수 있다. 따라서, 전체 테스트 오브젝트, 즉 모든 설치된 소프트웨어 및 모든 데이터를 갖는 컴퓨터가 복제될 필요는 없고, 대신에 데이터의 선택에 기초하여 에뮬레이션이 생성될 수 있으면 충분하다. 예를 들어, 컴퓨터는 현재 설치된 소프트웨어, 패치 및/또는 구성을 시뮬레이션 서버에 송신하여, 가상 테스트 오브젝트가 컴퓨터에 설치된 소프트웨어, 패치 및 구성을 복제할 수 있다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 테스트 오브젝트의 데이터는 다음의 정보: 테스트 오브젝트 상에 설치된 소프트웨어의 소프트웨어 상태, 테스트 오브젝트 상에 설치된 패치의 패치 상태, 테스트 오브젝트의 구성의 구성 상태 중 적어도 하나를 포함한다.
이는 컴퓨터의 에뮬레이션이 테스트 엔티티와 현재 관련 있는 데이터의 선택에 기초하여 생성될 수 있다는 이점을 제공한다. 컴퓨터는 현재 설치된 소프트웨어, 패치 및/또는 구성을 시뮬레이션 서버에 송신하여, 가상 테스트 오브젝트가 컴퓨터에 설치된 소프트웨어, 패치 및 구성을 복제할 수 있다. 선택은 테스트 엔티티의 제어에 의해 이루어질 수 있다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 테스트 시스템은 테스트 오브젝트과 테스트 시스템 사이의 직접 파일 전송에 의해, 또는 테스트 시스템의 사용자와의 상호 작용에 기초하여 테스트 오브젝트의 데이터를 수신하도록 구성된다.
이는 테스트 오브젝트의 데이터를 유연하게 시뮬레이션 서버로 가져올 수 있다는 이점을 제공한다. 첫째, 자동 파일 전송이 가능하며, 이는 테스트 오브젝트뿐만 아니라 시뮬레이션 서버에 의해 초기화될 수 있다. 둘째, 사용자와의 수동 상호 작용이 가능하므로, 테스트 시스템의 오퍼레이터는 예를 들어 이러한 종류의 컴퓨터에 대한 안전성 의심이 있는 경우 특수 컴퓨터를 테스트할 수 있다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 제어 엔티티는 새로운 테스트 오브젝트의 데이터가 시뮬레이션 서버 상에서 이용 가능한지를 일정한 간격으로 테스트하고, 데이터의 존재 시에, 새로운 테스트 오브젝트를 에뮬레이션하기 위해 가상 테스트 오브젝트를 생성하도록 시뮬레이션 서버에 명령하고, 가상 테스트 오브젝트를 테스트하도록 테스트 엔티티에 명령하도록 구성된다.
이는 시뮬레이션 서버 상에서 대응하는 가상 테스트 오브젝트를 에뮬레이션함으로써 컴퓨터 시스템의 컴퓨터가 연속적으로 테스트될 수 있다는 이점을 제공한다. 따라서, 단일 시뮬레이션 서버를 통해 많은 수의 테스트 오브젝트를 테스트하는 것이 가능하다. 따라서, 테스트 시스템이 효율적으로 구현되고, 많은 수의 테스트 오브젝트를 테스트하기 위한 비용이 낮다. 각각의 테스트 오브젝트에 대해, 동일한 방법이 또한 사용되어 가상 테스트 오브젝트를 생성할 수 있다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 제어 엔티티는 애플리케이션 프로그래밍 가능한 인터페이스를 통해 제어하기 위한 데이터 및 추가 파라미터를 수신하고, 새로운 테스트 오브젝트를 에뮬레이션하기 위해 가상 테스트 오브젝트를 생성하도록 시뮬레이션 서버에 명령하고, 가상 테스트 오브젝트를 테스트할 것을 테스트 엔티티에 명령하도록 구성된다.
이는 제어 엔티티가 사용자 특정적으로 프로그래밍되거나 조정될 수 있고 따라서 높은 유연성을 제공한다는 이점을 제공한다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 제어 엔티티는 테스트 엔티티로부터 가상 테스트 오브젝트의 테스트의 테스트 결과를 수신하도록 구성된다.
이는 제어 엔티티에서의 모든 테스트 결과가 이용 가능하고 쉽게 액세스 가능하다는 이점을 제공한다. 예를 들어, 제어 엔티티는 테스트 결과를 그래픽으로 처리하여 결과를 명확하게 디스플레이할 수 있다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 테스트 시스템은 제어 엔티티와 테스트 엔티티 사이의 제 1 테스트 인터페이스를 포함하며, 여기서 제 1 테스트 인터페이스는 애플리케이션 프로그래밍 가능한 인터페이스를 포함한다.
이는 테스트 엔티티가 제 1 테스트 인터페이스를 통해 제어되거나 프로그래밍될 수 있다는 이점을 제공한다. 따라서, 테스트 시스템은 예를 들어 상이한 생산자로부터 생산된 상이한 테스트 엔티티와 함께 사용될 수 있다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 테스트 시스템은 시뮬레이션 서버와 테스트 엔티티 사이의 제 2 테스트 인터페이스를 포함하며, 여기서 제 2 테스트 인터페이스는 시뮬레이션 서버 상에서 가상 테스트 오브젝트를 테스트하기 위해 테스트 엔티티에 의해 제공되는 플러그 인(Plug-In)을 로딩하도록 구성된다.
이는 테스트 엔티티가 제 2 테스트 인터페이스를 통해 시뮬레이션 서버 상의 가상 테스트 오브젝트의 테스트를 제어할 수 있다는 이점을 제공한다. 시뮬레이션 서버 상에서 일어나는 테스트 작업은 테스트 엔티티에 의해 제공되는 플러그 인을 통해 정의될 수 있다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 시뮬레이션 서버는 미리 결정된 소프트웨어 상태, 패치 상태 또는 구성 상태에 따라 테스트 엔티티에 의해 제공되는 플러그 인을 통해 가상 테스트 오브젝트를 스캔하도록 구성된다.
이는 컴퓨터 시스템의 컴퓨터의 소프트웨어 상태, 패치 상태 및/또는 구성의 쿼리가 빠르고 효율적으로 수행될 수 있다는 이점을 제공한다. 따라서, 통신 접속을 스위칭하기 위한 복수의 서버를 갖는 교환 센터 또는 라우팅 접속을 위한 복수의 프로세서 모듈을 갖는 라우터 등과 같은 대형 컴퓨터 시스템의 소프트웨어/패치/구성 상태에 대한 통찰이 빠르고 쉽게 획득될 수 있다.
이러한 제 1 양상에 따른 테스트 시스템의 일 실시예에서, 시뮬레이션 서버는 가상 테스트 오브젝트에 대해서만 그리고 가상 테스트 오브젝트의 테스트 기간 동안에만 유효한, 테스트 오브젝트에 대한 액세스 데이터를 갖는다.
이는 예를 들어 외부 공급자로부터 비롯될 수 있고 따라서 안전하지 않은 것으로 분류될 수 있는 테스트 시스템이 컴퓨터 또는 실제 테스트 오브젝트에 대한 직접적인 액세스를 획득하지 못하기 때문에 증가된 안전성의 이점을 제공한다. 액세스 데이터가 가상 테스트 오브젝트 상에서만 유효한 경우, 실제 테스트 오브젝트의 안전성은 해를 입을 수 없다. 액세스 데이터가 테스트 기간 동안에만 유효한 경우, 다른 시간에서의 오용이 배제될 수 있다.
이러한 제 2 양상에 따르면, 본 개시는 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터를 테스트하는 방법에 관한 것으로, 여기서 테스트 네트워크는 컴퓨터 시스템의 컴퓨터를 테스트하기 위한 테스트 엔티티를 포함하고, 여기서 특정 컴퓨터는 테스트 오브젝트가고, 방법은 다음의 단계: 시뮬레이션 서버 상에서 테스트 오브젝트를 에뮬레이션하기 위해 가상 테스트 오브젝트를 생성하는 단계; 특정 컴퓨터 대신에 시뮬레이션 서버 상에서 생성된 가상 테스트 오브젝트를 테스트하도록 테스트 엔티티에 명령하는 단계를 포함한다.
이러한 방법은 컴퓨터 시스템의 컴퓨터에 대한 간단하고 안전한 테스트의 이점을 제공한다. 테스트 오브젝트는 시뮬레이션 서버 상에서 가상 테스트 오브젝트의 생성으로 에뮬레이션될 수 있으므로, 실제 테스트 오브젝트 대신에 가상 테스트 오브젝트가 테스트될 수 있다. 따라서, 실제 컴퓨터가 아니라 가상 테스트 오브젝트가 테스트될 것이므로, 컴퓨터에 대한 직접적인 액세스 중에 존재하는 안전성 문제가 제거된다. 그렇게 함으로써, 방법은 컴퓨터 시스템의 테스트 중에 안전성을 증가시킨다.
또한, 그 방법으로, 각각의 컴퓨터는 시뮬레이션 서버에 의해 동일한 방식으로 테스트될 수 있다. 컴퓨터의 테스트의 완료 후에, 시뮬레이션 서버 상의 가상 테스트 오브젝트는 다시 쉽게 삭제될 수 있고, 다음 가상 테스트 오브젝트가 시뮬레이션 서버 상에서 생성되고 테스트될 수 있다. 따라서, 그 방법은 많은 노력을 기울이지 않고도 구현하기가 쉽다.
이러한 제 2 양상에 따른 방법의 일 실시예에서, 방법은 다음의 데이터: 테스트 오브젝트 상에 설치된 소프트웨어의 소프트웨어 상태, 테스트 오브젝트 상에 설치된 패치의 패치 상태, 테스트 오브젝트의 구성의 구성 상태 중 적어도 하나에 대해 가상 테스트 오브젝트를 스캔하는 단계를 더 포함한다.
이는 컴퓨터 시스템의 컴퓨터의 소프트웨어 상태, 패치 상태 및/또는 구성의 쿼리가 빠르고 효율적으로 수행될 수 있다는 이점을 제공한다. 따라서, 대형 컴퓨터 시스템의 소프트웨어/패치/구성 상태에 대한 통찰이 빠르고 쉽게 획득될 수 있다.
이러한 제 2 양상에 따른 방법의 일 실시예에서, 방법은 테스트 오브젝트의 데이터가 시뮬레이션 서버 상에서 이용 가능한지를 테스트하는 단계; 테스트 오브젝트의 데이터의 존재 시에: 테스트 오브젝트의 데이터에 기초하여 가상 테스트 오브젝트를 생성하도록 시뮬레이션 서버에 명령하는 단계; 가상 테스트 오브젝트를 테스트하도록 테스트 엔티티에 명령하는 단계; 가상 테스트 오브젝트의 테스트의 테스트 결과를 수신하는 단계; 및 시뮬레이션 서버 상에서 가상 테스트 오브젝트를 삭제하는 단계를 더 포함한다.
이는 방법이 이러한 단계의 도움으로 빠르고 복잡하지 않은 방식으로 실현될 수 있다는 이점을 제공한다. 테스트하고, 시뮬레이션 서버에 명령하고, 테스트 엔티티에 명령하고, 수신하고, 삭제하는 이러한 다섯 단계는 신속하게 테스트 결과를 획득하기 위해 임의의 개수의 테스트 오브젝트에 대해 특정 상황 하에서 연속적으로 또는 병렬로도 수행될 수 있다.
이러한 제 3 양상에 따르면, 개시는 시뮬레이션 서버에 의해 생성된 가상 테스트 오브젝트의 식별정보를 테스트 엔티티로 송신하도록 구성된 제 1 프로그램 모듈; 특정 컴퓨터 대신에 가상 테스트 오브젝트를 테스트할 것을 테스트 엔티티에 명령하도록 구성된 제 2 프로그램 모듈; 및 가상 테스트 오브젝트의 테스트 결과를 제어 엔티티로 송신할 것을 테스트 엔티티에 명령하도록 구성된 제 3 프로그램 모듈을 포함하는, 제 1 양상에 따른 테스트 시스템의 제어 엔티티와 테스트 네트워크에서의 테스트 엔티티 사이의 애플리케이션 프로그래밍 가능한 인터페이스에 대한 컴퓨터 프로그램에 관한 것이다.
이러한 컴퓨터 프로그램은 테스트 엔티티와의 애플리케이션 프로그래밍 가능한 인터페이스를 제공한다는 이점을 제공한다. 따라서, 임의의 테스트 엔티티가 테스트 시스템에서 사용될 수 있으며, 여기서 테스트 엔티티의 시뮬레이션 서버에 대한 적응은 애플리케이션 프로그래밍 가능한 인터페이스를 통해 일어난다/수행된다.
이러한 제 3 양상에 따른 방법의 일 실시예에서, 컴퓨터 프로그램은 다음의 데이터: 테스트 오브젝트 상에 설치된 소프트웨어의 소프트웨어 상태, 테스트 오브젝트 상에 설치된 패치의 패치 상태, 테스트 오브젝트의 구성의 구성 상태 중 적어도 하나에 대해 가상 테스트 오브젝트를 스캔할 것을 테스트 엔티티에 명령하도록 구성된 제 4 프로그램 모듈을 포함한다.
이는 컴퓨터 시스템의 컴퓨터의 소프트웨어 상태, 패치 상태 및/또는 구성의 쿼리가 애플리케이션 프로그래밍 가능한 인터페이스를 통해 빠르고 효율적으로 수행될 수 있다는 이점을 제공한다. 따라서, 테스트 엔티티의 필수 테스트 작업이 빠르고 쉽게 할당되고 수행될 수 있다.
추가 예시적인 실시예가 도면을 참조하여 설명되며:
도 1은 제 1 실시예에 따른 테스트 시스템(100)의 개략도를 도시하고;
도 2는 제 2 실시예에 따른 테스트 시스템(200)의 개략도를 도시하고;
도 3은 일 실시예에 따른 컴퓨터 시스템의 컴퓨터를 테스트하는 방법(300)의 개략도를 도시하고;
도 4는 일 실시예에 따른 제어 엔티티와 테스트 엔티티 사이의 애플리케이션 프로그래밍 가능한 인터페이스의 애플리케이션 프로그램(400)의 개략도를 도시한다.
다음의 상세한 설명에서, 본 개시의 일부를 형성하고, 본 개시가 배치될 수 있는 특정 양상이 예시로서 도시되는 첨부 도면이 참조된다. 본 개시의 개념으로부터 벗어나지 않으면서 다른 실시예가 사용될 수 있고 구조적 또는 논리적 변화가 이루어질 수 있음이 이해될 것이다. 따라서, 다음의 상세한 설명은 제한적인 의미로 받아 들여지지 않는다. 본원에 설명된 다양한 예시적인 양상의 특징은 달리 구체적으로 언급되지 않는 한, 서로 결합될 수 있음이 또한 이해될 것이다.
양상 및 실시예는 도면을 참조하여 설명되며, 여기서 동일한 참조 부호는 일반적으로 동일한 요소를 지칭한다. 다음의 설명에서는, 본 개시의 하나 이상의 양상에 대한 심층적인 이해를 제공하기 위한 설명을 위해 다수의 특정 세부 사항이 보여진다. 그러나, 당업자에게 있어서, 하나 이상의 양상 또는 실시예는 낮은 정도의 특정 세부 사항으로 구현될 수 있음은 명백할 수 있다. 다른 경우에, 공지된 구조 및 요소는 하나 이상의 양상 또는 실시예의 설명을 용이하게 하기 위해 개략적인 형태로 도시된다. 본 개시의 개념으로부터 벗어나지 않으면서 다른 실시예가 사용될 수 있고 구조적 또는 논리적 변화가 이루어질 수 있음이 이해될 것이다.
일 실시예의 특정 특징 또는 특정 양상이 여러 구현예 중 오직 하나에 대해 개시되었지만, 이러한 특징 또는 양상은 임의의 주어진 또는 특정 애플리케이션에 대해 바람직하고 유리할 수 있는 다른 구현예의 하나 이상의 다른 특징 또는 양상과 또한 결합될 수 있다. 또한, "포함하다(include)", "가지다(have)", "구비하는(with)" 또는 그의 다른 변형예가 상세한 설명 또는 청구 범위에서 사용되는 정도에 있어서, 이러한 용어는 "포함하다(comprise)"라는 용어와 유사한 방식으로 포괄적일 것이다. "연결된(coupled)"및 "접속된(connected)"이라는 용어는 파생물과 함께 사용되었을 수 있다. 이 용어들은 직접적인 물리적 또는 전기적 접촉을 하거나 서로 직접 접촉하지 않는지 여부에 관계없이 두 요소가 서로 협력하거나 상호작용함을 나타내기 위해 사용되었음을 이해해야 한다. 또한, "예시적인(exemplary)", "예를 들어(for example)"및 "예(e.g.)"라는 용어는 최상 또는 최적이라기 보다는 단지 예를 의미한다. 따라서, 다음의 설명은 제한적인 의미로 이해되어서는 안된다.
도 1은 제 1 실시예에 따른 테스트 시스템(100)의 개략도를 도시한다. 테스트 시스템(100)은 테스트 네트워크에서의 특정 컴퓨터 시스템의 특정 컴퓨터(101)의 테스트를 가능하게 한다, 즉 컴퓨터 시스템으로부터 선택된 특정 컴퓨터일 수 있고 테스트의 오브젝트가 된다. 또한, 특정 컴퓨터 시스템은 복수의 상이한 컴퓨터 시스템으로부터 선택될 수 있고 테스트의 오브젝트가 될 수 있다. 테스트 네트워크는 컴퓨터 시스템의 컴퓨터를 테스트하기 위한 테스트 엔티티(103)를 포함한다. 특정 컴퓨터(101)는 이에 테스트 오브젝트(101)이다.
테스트 시스템(100)은 제어 인터페이스(108)를 통해 연결되는 시뮬레이션 서버(105) 및 제어 엔티티(107)를 포함한다. 시뮬레이션 서버(105)는 테스트 오브젝트(101)를 에뮬레이션하는 것을 가능하게 한다. 제어 엔티티(107)는 시뮬레이션 서버(105)를 제어하는 것을 가능하게 한다. 제어 엔티티(107)는 테스트 오브젝트(101)를 에뮬레이션하기 위해 가상 테스트 오브젝트를 생성하도록 시뮬레이션 서버(105)에 명령하고, 특정 컴퓨터(101) 대신에 시뮬레이션 서버(105)에 의해 생성된 가상 테스트 오브젝트를 테스트하도록 테스트 엔티티(103)에 명령한다.
테스트 시스템(100)은 테스트 오브젝트와 테스트 시스템(100) 사이의 테스트 인터페이스(102)를 통해 테스트 오브젝트(101)의 데이터(111)를 수신하고, 수신된 데이터(111)에 기초하여 테스트 오브젝트(101)를 에뮬레이션한다. 테스트 오브젝트(101)의 데이터(111)는 테스트 오브젝트(101)에 설치된 소프트웨어의 소프트웨어 상태, 테스트 오브젝트(101)에 설치된 패치의 패치 상태, 테스트 오브젝트(101)의 구성의 구성 상태 또는 다른 데이터일 수 있다. 테스트 인터페이스(102)는 구성 데이터뿐만 아니라 테스트 시스템을 제어하기 위한 추가 파라미터가 전송될 수 있는 애플리케이션 프로그래밍 가능한 인터페이스일 뿐만 아니라, 간단한 파일 전송 인터페이스(FTP, SCP, SMPT 등의 프로토콜에 기초함)일 수 있다.
테스트 시스템(100)은 테스트 오브젝트(101)와 테스트 시스템(100) 사이의 직접 파일 전송에 의해 또는 테스트 시스템(100)의 사용자와의 상호 작용(도 1에 도시되지 않음)에 기초하여 테스트 오브젝트(101)의 데이터(111)를 수신할 수 있다. 테스트 시스템(100)이 테스트 오브젝트(101)의 데이터(111)를 수신하면, 제어 엔티티(107)는 새로운 테스트 오브젝트(101)를 에뮬레이션하기 위해 가상 테스트 오브젝트를 생성하도록 시뮬레이션 서버(105)에 명령하고 가상 테스트 오브젝트(109)를 테스트하도록 테스트 엔티티(103)에 명령한다. 제어 엔티티(101)는 테스트 엔티티로부터 가상 테스트 오브젝트의 테스트의 테스트 결과를 수신할 수 있다.
테스트 시스템(100)은 제어 엔티티(107)와 테스트 엔티티(103) 사이의 제 1 테스트 인터페이스(106)를 포함한다. 제 1 테스트 인터페이스(106)는 애플리케이션 프로그래밍 가능한 인터페이스일 수 있다. 테스트 시스템(100)은 시뮬레이션 서버(105)와 테스트 엔티티(103) 사이의 제 2 테스트 인터페이스(104)를 포함한다. 제 2 테스트 인터페이스(104)를 통해, 시뮬레이션 서버(105) 상의 가상 테스트 오브젝트(109)를 테스트하기 위해 테스트 엔티티(103)에 의해 제공되는 플러그 인이 로딩될 수 있다. 시뮬레이션 서버(105)는 미리 결정된 소프트웨어 상태, 패치 상태 또는 구성 상태에 따라 테스트 엔티티(103)에 의해 제공되는 플러그 인을 통해 가상 테스트 오브젝트를 스캔할 수 있다.
시뮬레이션 서버(105)는 테스트 오브젝트(101)에 대한 액세스 데이터를 갖는다. 이러한 액세스 데이터는 예를 들어 가상 테스트 오브젝트 상에서만 유효할 수 있다. 또한, 이들 액세스 데이터는 가상 테스트 오브젝트의 테스트 기간 동안만 유효할 수 있다.
도 2는 제 2 실시예에 따른 테스트 시스템(200)의 개략도를 도시한다. 테스트 시스템(200)은 도 1에서 상술한 테스트 시스템(100)에 대응할 수 있다. 테스트 인터페이스(102)는 테스트 오브젝트(101)와 테스트 시스템(200) 사이에 직접 구현될 수 있어서, 테스트 오브젝트 상에 생성된 파일(111a)이 파일 전송(T1)을 통해 테스트 시스템(200)으로 직접 송신될 수 있다. 테스트 인터페이스(102)는 테스트 오브젝트(101)와 테스트 시스템(200) 사이에 설치된 워크스테이션 컴퓨터를 통해 대안적으로 구동될 수 있어서, 테스트 오브젝트 상에 생성된 파일(111a)이 예를 들어 우선 제 1 파일 전송(T2a)에 의해 워크스테이션 컴퓨터(117)로, 그리고 그 다음에 예를 들어 제 2 파일 전송(T2b)에 의해 워크스테이션 컴퓨터(117)로부터 테스트 시스템(200)으로 송신될 수 있다. 사용자는 워크스테이션 컴퓨터(117) 상의 송신된 파일(111a)을 변경할 수 있어서, 테스트 시스템(200)상의 기존 파일(111)이 특정 환경에서 테스트 오브젝트(101) 상에서 생성된 파일(111a)과 다를 수 있다.
제어 엔티티(107)는 예를 들어 서버 상의 컴퓨터 상에 구현될 수 있다. 시뮬레이션 서버(105) 상에서도 구현될 수도 있어서, 제어 인터페이스(108)가 내부 인터페이스를 형성한다. 제어 엔티티(107)는 분리된 컴퓨터 또는 프로세서 상의 애플리케이션 소프트웨어(App), 예를 들어 시뮬레이션 서버(105)를 제어하기 위한 제어 컴퓨터로서 더 구현될 수 있다.
도 2에서, 가상 테스트 오브젝트(109)는 시뮬레이션 서버(105) 상에 생성된다는 것을 알 수 있다.
도 2는 미리 테스트 오브젝트(101)로부터 수신된 데이터(111)를 사용하여 테스트될 오브젝트(101)를 시뮬레이션하는 시뮬레이션 서버(105)에만 액세스하는 중앙 활성 테스트 엔티티(103)가 사용되는 테스트 시스템(200)을 도시한다. 이를 위해, 데이터(111a)가 테스트 오브젝트(101) 상에서 생성되고 시뮬레이션 서버 상으로 전송된다. 이는 테스트 오브젝트(101)와 시뮬레이션 서버(105) 사이의 직접 파일 전송(T1)을 통해 구현되거나 선택적 워크스테이션 컴퓨터(117)(T2a 및 T2b)를 사용하여 사용자를 통해 수동으로 개시될 수 있다. 제어 엔티티(107)는 새로운 데이터(111)가 시뮬레이션 서버 상에서 이용 가능한지를 규칙적인 간격으로 테스트한다(처리 단계 P1). 이런 경우라면, 가상 테스트 오브젝트(109)가 시뮬레이션 서버(105) 상에 생성되며, 시뮬레이션 서버는 테스트 오브젝트(101)의 데이터(111)를 사용하여 테스트 엔티티(103)를 위해 테스트 오브젝트(101)를 시뮬레이션한다(처리 단계 P2). 그 다음에, 제어 엔티티(107)는 테스트 엔티티(103)를 트리거하고 가상 테스트 오브젝트(109)를 테스트하도록 테스트 엔티티에 명령한다 (처리 단계 P3). 내부 테스트가 필요한 경우, 가상 테스트 오브젝트(109) 상에서만 유효하고 테스트 기간 동안만 유효한 액세스 데이터가 사용될 수 있다. 테스트의 완료 후에, 테스트 엔티티(103)는 제어 엔티티(107)를 위해 테스트 결과를 제공한다(처리 단계 P4). 그 후에, 제어 엔티티는 시뮬레이션 서버(105) 상에서 가상 테스트 오브젝트(109)의 실행을 종료한다(처리 단계 P5).
이러한 테스트 시스템(200)은 특히 복수의 테스트 오브젝트(101)가 테스트될 경우, 테스트 엔티티(103)의 테스트 오브젝트(101)로의 직접 액세스보다 다양한 이점을 제공한다. 많은 네트워크 요소에 대한 액세스를 필요로 하는 중앙 엔티티는 또한 예를 들어 테스트 엔티티(103)를 중앙 엔티티로서 사용하는 경우 안전성 위험과 관련되는데, 한편으로는 네트워크 기술적 관점에서 모든 네트워크 요소에 대한 액세스를 필요로 하고, 다른 한편으로는 또한 많은 경우에 테스트 오브젝트(101)의 액세스 데이터(예를 들어, 사용자 이름 및 패스워드)를 가져야만 하기 때문이다. 테스트 엔티티(103)가 위험에 노출될 경우, 공격자는 그에 따라 복수의 네트워크 요소에 액세스할 것이다. 이러한 위험은 본원에서 소개된 테스트 시스템에는 존재하지 않는데, 테스트 엔티티(103)가 네트워크 요소에 직접 액세스하지 않고, 시뮬레이션 서버(105) 및 제어 엔티티(107)를 포함하는 테스트 시스템(200)을 통해 액세스가 일어나기 때문이다.
테스트 시스템(200)의 일 실시예에서, 시뮬레이션 서버(105)는 컴퓨터의 네트워크 서비스, 전체 컴퓨터 네트워크, 또는 사용자의 행동을 시뮬레이션하는 허니팟, 즉 서버를 형성한다. 테스트 오브젝트(101)의 분리에 더해, 허니팟은 공격 패턴 및 공격자 행동에 대한 정보를 획득하기 위해 공격자에 대해 사용될 수 있다. 이러한 가상 서비스 또는 사용자에 대한 액세스가 일어나면, 모든 관련 액션이 기록될 수 있고 필요하다면 경고가 트리거될 수 있다. 귀중한 실제 네트워크 또는 컴퓨터 시스템은 허니팟 또는 시뮬레이션 서버(105)보다 더 안전하기 때문에 공격 시도로부터 가능한 한 면제된 채로 있게 된다. 시뮬레이션 서버(105)의 허니팟 서비스를 넘어서는 아이디어는 사용자 자신 또는 그의 통신 파트너에 의해 요구되는 서비스를 제공하지 않고, 따라서 정상적인 동작에서는 절대 어드레싱되지 않는 하나 이상의 허니팟을 네트워크에 설치하는 것이다. 실제 서버나 프로그램과 허니팟을 구별할 수 없고 모든 네트워크 컴포넌트에 대한 취약한 부분을 정기적으로 검사하는 공격자는 허니팟에 의해 제공되는 서비스를 조만간 사용할 것이고 따라서 허니팟에 의해 기록될 것이다. 사용되지 않는 시스템이므로, 그에 대한 모든 액세스는 가능성 있는 공격 시도로 평가된다. 따라서, 시뮬레이션 서버(105)는 컴퓨터 시스템의 컴퓨터를 테스트하는 것을 가능하게 하는 가상 테스트 오브젝트, 그리고 또한 동시에 컴퓨터 네트워크 상의 공격을 쫓아내고 기록하는 허니팟으로서의 역할을 한다.
테스트 엔티티(103)는 컴퓨터 시스템의 테스트가 일어나는 제조사 특정 서버일 수 있다. 예를 들어, 테스트 엔티티(103)는 네소스(Nessus) 서버를 포함할 수 있다. 네소스는 네트워크 및 보안 스캐너이다. 이는 클라이언트-서버 원리에 기초하는데, 이는 네소스 서버가 컴퓨터 상에서 시작되고 이후 로컬 또는 원격 컴퓨터로부터 하나 이상의 클라이언트에 접속할 수 있다는 것을 의미한다. 이는 SSL 인증서 및 암호로 보안된다. 서버가 시작될 때, 플러그 인이 자동으로 로딩된다. 이러한 플러그 인으로, 운영 체제의 다양한 보안 허점 또는 스캔될 호스트 상에서 구동 중인 서비스가 발견될 수 있다. 플러그 인은 네소스 특정 스크립팅 언어인 "NASL(Nessus Attack Scripting Language)"로 만들어졌다. 클라이언트 프로그램의 도움으로, 서버에 접속하여 세션(세션)을 만들 수 있는데, 이 세션에서 플러그 인, 타겟 호스트 및 다른 설정을 등록하거나 변경할 수 있다. 스캔이 호스트 상에서 수행되었으면, 네소스 클라이언트는 열려 있는 포트 및 발견된 안전성 허점에 대한 개요를 제공한다.
예를 들어, 테스트 엔티티(103)는 퀄리스(Qualys) 서버를 포함할 수 있다. 이러한 서버로, 컴퓨터 시스템이 스캔될 수 있다. 안전성 허점 또는 잠재적 위험이 발견되고, 안전성 허점을 수정하기 위해 적절한 패치가 제공될 수 있다. 퀄리스 서버로, 예를 들어 위험별로 또는 패치별로 대화형 스캔 보고서가 기록될 수 있다. 최고의 위험 및 악성 소프트웨어에 대해 웹사이트 및 앱이 테스트될 수 있다. 또한, SCAP(Security Content Automation Protocol) 또는 OWASP(Open Web Application Security Project)에 관한 보안에 대해 컴퓨터가 평가될 수 있다. SCAP는 자동화된 취약성 관리, 측정, 및 정책 준수 평가에 대한 특정 표준을 사용하는 방법이다. OWASP는 월드 와이드 웹(World Wide Web) 상에서 애플리케이션 및 서비스의 안전성을 향상시키는 것을 목표로 하는 표준화 조직이다.
도 3은 일 실시예에 따른 컴퓨터 시스템의 컴퓨터를 테스트하는 방법(300)의 개략도를 도시한다.
방법(300)으로, 테스트 네트워크에서의 특정 컴퓨터 시스템의 특정 컴퓨터(101)가 테스트될 수 있는데, 여기서 테스트 네트워크는 컴퓨터 시스템의 컴퓨터를 테스트하기 위한 테스트 엔티티(103)를 포함하고, 여기서 특정 컴퓨터(101)는 도 1 및 도 2에서 전술한 바와 같은 테스트 오브젝트(101)이다. 방법(300)은 다음의 단계: 예를 들어 도 1 및 도 2에서 상응하여 설명된 바와 같이, 시뮬레이션 서버(105) 상에서 테스트 오브젝트(101)를 에뮬레이션하기 위해 가상 테스트 오브젝트(109)를 생성하는 단계(301); 및 예를 들어 도 1 및 도 2에서 상응하여 설명된 바와 같이, 특정 컴퓨터(101) 대신에 시뮬레이션 서버(105) 상에서 생성된 가상 테스트 오브젝트(109)를 테스트하도록 테스트 엔티티(103)에 명령하는 단계를 포함한다.
방법(300)은 다음의 단계: 도 1 및 도 2에서 상응하게 설명된 바와 같이, 다음의 데이터: 테스트 오브젝트(101) 상에 설치된 소프트웨어의 소프트웨어 상태, 테스트 오브젝트(101) 상에 설치된 패치의 패치 상태, 테스트 오브젝트(101)의 구성의 구성 상태 중 적어도 하나에 대해 가상 테스트 오브젝트(109)를 스캔하는 단계를 더 포함할 수 있다.
방법(300)은 도 1 및 도 2에서 상술된 바와 같이 예를 들어 제어 엔티티(107) 상에서 구현될 수 있는 다음의 다섯 단계(P1, P2, P3, P4, P5): 테스트 오브젝트(101)의 데이터(111)가 시뮬레이션 서버(105) 상에서 이용 가능한지를 테스트하는 단계(P1); 테스트 오브젝트(101)의 데이터(111)의 존재 시에: 테스트 오브젝트(101)의 데이터(111)에 기초하여 가상 테스트 오브젝트(109)를 생성하도록(P2) 시뮬레이션 서버(105)에 명령하는 단계; 가상 테스트 오브젝트(109)를 테스트하도록(P3) 테스트 엔티티(103)에 명령하는 단계; 가상 테스트 오브젝트(109)의 테스트의 테스트 결과를 수신하는 단계(P4); 및 시뮬레이션 서버(105) 상에서 가상 테스트 오브젝트(109)를 삭제하는 단계(P5)를 더 포함할 수 있다.
도 4는 일 실시예에 따른 제어 엔티티와 테스트 엔티티 사이의 애플리케이션 프로그래밍 가능한 인터페이스의 애플리케이션 프로그램(400)의 개략도를 도시한다. 애플리케이션 프로그래밍 가능한 인터페이스는 도 1 및 2에서 상술한 바와 같이, 예를 들어 테스트 시스템 (100, 200)에서 제어 엔티티(107)와 테스트 엔티티(103) 사이의 테스트 인터페이스(106)일 수 있다.
컴퓨터 프로그램(400)은 제 1 프로그램 모듈(401), 제 2 프로그램 모듈(402), 및 제 3 프로그램 모듈(403)을 포함한다. 제 1 프로그램 모듈(401)은 시뮬레이션 서버(105)에 의해 생성된 가상 테스트 오브젝트(109)의 식별정보, 예를 들어 테스트 오브젝트(101)의 데이터를 가진 파일(111)의 어드레스를 테스트 엔티티(103)로 송신하도록 구성된다. 제 2 프로그램 모듈(402)은 특정 컴퓨터(101) 대신에 가상 테스트 오브젝트(109)를 테스트할 것을 테스트 엔티티(103)에 명령하도록 구성된다. 제 3 프로그램 모듈(403)은 예를 들어 이러한 목적을 위해 적용된 제어 엔티티(107)의 메모리에 보관하기 위해, 가상 테스트 오브젝트(109)의 테스트의 결과를 제어 엔티티(107)에 송신할 것을 테스트 엔티티(103)에 명령하도록 구성된다.
컴퓨터 프로그램(400)은 다음의 데이터: 테스트 오브젝트(101) 상에 설치된 소프트웨어의 소프트웨어 상태, 테스트 오브젝트(101) 상에 설치된 패치의 패치 상태, 테스트 오브젝트(101)의 구성의 구성 상태 중 적어도 하나에 대해 가상 테스트 오브젝트(109)를 스캔할 것을 테스트 엔티티(103)에 명령하도록 구성된 제 4 프로그램 모듈을 더 포함할 수 있다.
본 발명의 다른 양상은 디지털 컴퓨터의 내부 메모리에 직접 로딩될 수 있는 컴퓨터 프로그램 제품을 포함하고, 제품이 컴퓨터 상에서 구동되면 도 3에서 설명된 방법(300)이 실행될 수 있는 소프트웨어 코드 섹션을 포함한다. 컴퓨터 프로그램 제품은 컴퓨터 호환 가능한 매체 상에 저장될 수 있고, 다음의: 테스트 오브젝트를 에뮬레이션하기 위해 가상 테스트 오브젝트를 생성하도록 시뮬레이션 서버를 프롬프트하고; 특정 컴퓨터 대신에 시뮬레이션 서버 상에서 생성된 가상 테스트 오브젝트를 테스트하도록 테스트 엔티티에 명령하는 컴퓨터 판독 가능한 프로그램 수단을 포함한다.
컴퓨터는 PC, 예를 들어 컴퓨터 네트워크의 PC일 수 있다. 컴퓨터는 칩, ASIC, 마이크로 프로세서 또는 신호 프로세서로서 실현될 수 있고, 컴퓨터 네트워크에, 예를 들어 도 1 내지 도 2 중 하나에 설명된 바와 같은 컴퓨터 시스템에 배치될 수 있다.
본원에서 예시적으로 설명된 상이한 실시예의 특징은 달리 특별히 명시되지 않는 한 서로 결합될 수 있음을 이해해야 한다.
설명 및 도면에서 예시된 바와 같이, 접속된 것으로 도시된 개별 요소는 서로 직접 관련되지 않고; 중간 요소가 접속된 요소들 사이에 제공될 수 있다. 또한, 본 발명의 실시예는 개별 회로, 부분 집적 회로, 또는 완전 집적 회로 혹은 프로그래밍 수단으로 구현될 수 있음을 이해해야 한다. "예를 들어"라는 용어는 단지 예로서 의미가 있으며, 최선 또는 최적을 의미하는 것은 아니다. 본원에서 특정 실시예가 도시되고 설명되었지만, 본 개시의 개념을 벗어나지 않으면서 도시되고 설명된 실시예 대신에 다양한 대체 및/또는 유사 구현이 실현될 수 있음은 당업자에게 명백할 것이다.
100: 테스트 시스템
101: 특정 컴퓨터 시스템의 테스트 오브젝트 또는 특정 컴퓨터
102: 테스트 인터페이스
103: 테스트 엔티티
104: (시뮬레이션 서버와 테스트 엔티티 사이의) 제 2 테스트 인터페이스
105: 시뮬레이션 서버
106: (제어 엔티티와 테스트 엔티티 사이의) 제 1 테스트 인터페이스
107: 제어 엔티티
108: (제어 엔티티와 시뮬레이션 서버 사이의) 제어 인터페이스
109: 가상 테스트 오브젝트
111a: 테스트 오브젝트 상에서 생성된 테스트 오브젝트의 데이터
111: 시뮬레이션 서버 상에서 수신된 테스트 오브젝트의 데이터
117: 워크스테이션 컴퓨터
T1: 테스트 오브젝트과 시뮬레이션 서버 사이의 파일 전송
T2a: 테스트 오브젝트과 워크스테이션 컴퓨터 사이의 파일 전송
T2b: 워크스테이션 컴퓨터와 시뮬레이션 서버 사이의 파일 전송
300: 테스트하는 방법
301: 방법의 제 1 단계: 가상 테스트 오브젝트를 생성
302: 방법의 제 2 단계: 테스트 엔티티에 명령
400: 제어 엔티티와 테스트 엔티티 사이의 애플리케이션 프로그래밍 가능한 인터페이스에 대한 컴퓨터 프로그램
401: 제 1 프로그램 모듈
402: 제 2 프로그램 모듈
403: 제 3 프로그램 모듈

Claims (15)

  1. 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100)으로서,
    상기 테스트 네트워크는 컴퓨터 시스템의 컴퓨터를 테스트하기 위한 테스트 엔티티(103)를 포함하고, 상기 특정 컴퓨터(101)는 테스트 오브젝트(101)이고,
    상기 테스트 시스템(100)은:
    상기 테스트 오브젝트(101)를 에뮬레이션하도록 구성된 시뮬레이션 서버(105); 및
    상기 시뮬레이션 서버(105)를 제어하기 위한 제어 엔티티(107)를 포함하고,
    상기 제어 엔티티(107)는 상기 테스트 오브젝트(101)를 에뮬레이션하기 위해 가상 테스트 오브젝트(109)를 생성할 것을 상기 시뮬레이션 서버(105)에 명령하도록 구성되고, 상기 제어 엔티티(107)는 상기 특정 컴퓨터(101) 대신에 상기 시뮬레이션 서버(105)에 의해 생성된 상기 가상 테스트 오브젝트(109)를 테스트할 것을 상기 테스트 엔티티(103)에 명령하도록 더 구성되고,
    상기 테스트 시스템(100)은 상기 테스트 오브젝트(101)의 데이터(111)를 수신하고, 수신된 데이터(111)에 기초하여 시뮬레이션 서버(105) 상에서 상기 테스트 오브젝트(101)를 에뮬레이션하도록 구성되고,
    상기 테스트 시스템(100)은 상기 테스트 오브젝트(101)와 상기 테스트 시스템(100) 사이의 직접 파일 전송에 의해 상기 테스트 오브젝트(101)의 데이터(111)를 수신하도록 구성되고,
    상기 제어 엔티티(107)는 새로운 테스트 오브젝트(101)의 데이터(111)가 상기 시뮬레이션 서버(105) 상에서 이용 가능한지를 일정한 간격으로 테스트하고, 데이터(111)의 존재 시에, 상기 새로운 테스트 오브젝트(101)를 에뮬레이션하기 위해 가상 테스트 오브젝트(109)를 생성하도록 상기 시뮬레이션 서버(105)에 명령하고, 상기 가상 테스트 오브젝트(109)를 테스트할 것을 상기 테스트 엔티티(103)에 명령하도록 구성되는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100).
  2. 삭제
  3. 제 1 항에 있어서,
    상기 테스트 오브젝트(101)의 데이터(111)는:
    상기 테스트 오브젝트(101) 상에 설치된 소프트웨어의 소프트웨어 상태,
    상기 테스트 오브젝트(101) 상에 설치된 패치의 패치 상태,
    상기 테스트 오브젝트(101)의 구성(configuration)의 구성 상태
    중 적어도 하나의 정보를 포함하는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100).
  4. 삭제
  5. 제 1 항 또는 제 3 항에 있어서,
    상기 제어 엔티티(107)는 애플리케이션 프로그래밍 가능한 인터페이스를 통해 제어하기 위한 데이터(111) 및 추가 파라미터를 수신하고, 상기 새로운 테스트 오브젝트(101)를 에뮬레이션하기 위해 가상 테스트 오브젝트(109)를 생성하도록 상기 시뮬레이션 서버(105)에 명령하고, 상기 가상 테스트 오브젝트(109)를 테스트할 것을 상기 테스트 엔티티(103)에 명령하도록 구성되는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100).
  6. 제 1 항 또는 제 3 항에 있어서,
    상기 제어 엔티티(107)는 상기 테스트 엔티티(103)로부터 상기 가상 테스트 오브젝트(109)의 테스트의 테스트 결과를 수신하도록 구성되는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100).
  7. 제 1 항 또는 제 3 항에 있어서,
    상기 테스트 시스템은 상기 제어 엔티티(107)와 상기 테스트 엔티티(103) 사이의 제 1 테스트 인터페이스(106)를 포함하며, 상기 제 1 테스트 인터페이스(106)는 애플리케이션 프로그래밍 가능한 인터페이스를 포함하는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100).
  8. 제 1 항 또는 제 3 항에 있어서,
    상기 테스트 시스템은 상기 시뮬레이션 서버(105)와 상기 테스트 엔티티(103) 사이의 제 2 테스트 인터페이스(104)를 포함하며, 상기 제 2 테스트 인터페이스(104)는 상기 시뮬레이션 서버(105) 상에서 상기 가상 테스트 오브젝트(109)를 테스트하기 위해 상기 테스트 엔티티(103)에 의해 제공되는 플러그 인을 로딩하도록 구성되는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100).
  9. 제 8 항에 있어서,
    상기 시뮬레이션 서버(105)는 미리 결정된 소프트웨어 상태, 패치 상태 또는 구성 상태에 따라 상기 테스트 엔티티(103)에 의해 제공되는 상기 플러그 인을 통해 상기 가상 테스트 오브젝트(109)를 스캔하도록 구성되는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100).
  10. 제 1 항 또는 제 3 항에 있어서,
    상기 시뮬레이션 서버(105)는 상기 가상 테스트 오브젝트(109)에 대해서만 그리고 상기 가상 테스트 오브젝트(109)의 테스트 기간 동안에만 유효한, 상기 테스트 오브젝트(101)에 대한 액세스 데이터를 갖는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하기 위한 테스트 시스템(100).
  11. 테스트 시스템(100)에 의해 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하는 방법으로서,
    상기 테스트 네트워크는 컴퓨터 시스템의 컴퓨터를 테스트하기 위한 테스트 엔티티(103)를 포함하고, 상기 특정 컴퓨터(101)는 테스트 오브젝트(101)이고, 상기 테스트 시스템(100)은 시뮬레이션 서버(105) 및 제어 엔티티(107)를 포함하고,
    상기 방법은:
    상기 시뮬레이션 서버(105) 상에서 상기 테스트 오브젝트(101)를 에뮬레이션하기 위해 가상 테스트 오브젝트(109)를 생성하는 단계; 및
    상기 특정 컴퓨터(101) 대신에 상기 시뮬레이션 서버(105) 상에서 생성된 가상 테스트 오브젝트(109)를 테스트하도록, 상기 제어 엔티티(107)가 상기 테스트 엔티티(103)에 명령하는 단계를 포함하고,
    상기 시뮬레이션 서버(105) 상에서 가상 테스트 오브젝트(109)를 생성하고 상기 테스트 엔티티(103)에 명령하는 것은,
    상기 테스트 오브젝트(101)의 데이터(111)가 상기 시뮬레이션 서버(105) 상에서 이용 가능한지를 일정한 간격으로 테스트하는 것(P1) - 상기 데이터(111)는 상기 테스트 오브젝트(101)와 상기 테스트 시스템(100) 사이의 직접 파일 전송에 의해 전송됨 -;
    상기 테스트 오브젝트(101)의 데이터(111)의 존재 시에: 상기 테스트 오브젝트(101)의 데이터(111)에 기초하여 가상 테스트 오브젝트(109)를 생성하도록(P2) 상기 시뮬레이션 서버(105)에 명령하는 것;
    상기 가상 테스트 오브젝트(109)를 테스트하도록(P3) 상기 제어 엔티티(107)가 상기 테스트 엔티티(103)에 명령하는 것;
    상기 가상 테스트 오브젝트(109)의 테스트의 테스트 결과를 수신하는 것(P4); 및
    상기 시뮬레이션 서버(105) 상에서 상기 가상 테스트 오브젝트(109)를 삭제하는 것(P5)을 포함하는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하는 방법.
  12. 제 11 항에 있어서,
    상기 테스트 오브젝트(101) 상에 설치된 소프트웨어의 소프트웨어 상태,
    상기 테스트 오브젝트(101) 상에 설치된 패치의 패치 상태,
    상기 테스트 오브젝트(101)의 구성의 구성 상태
    중 적어도 하나의 데이터에 대해 상기 가상 테스트 오브젝트(109)를 스캔하는 단계를 더 포함하는, 테스트 네트워크에서 특정 컴퓨터 시스템의 특정 컴퓨터(101)를 테스트하는 방법.
  13. 삭제
  14. 테스트 네트워크에서 제 1 항 또는 제 3 항에 따른 테스트 시스템(100)의 제어 엔티티(107)와 테스트 엔티티(103) 사이의 애플리케이션 프로그래밍 가능한 인터페이스(113)에 대한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 기록 매체로서,
    시뮬레이션 서버(105)에 의해 생성된 가상 테스트 오브젝트(109)의 식별정보를 상기 테스트 엔티티(103)로 송신하도록 구성된 제 1 프로그램 모듈;
    특정 컴퓨터 대신(101)에 상기 가상 테스트 오브젝트(109)를 테스트할 것을 상기 테스트 엔티티(103)에 명령하도록 구성된 제 2 프로그램 모듈; 및
    상기 가상 테스트 오브젝트(109)의 테스트 결과를 상기 제어 엔티티(107)로 송신할 것을 상기 테스트 엔티티(103)에 명령하도록 구성된 제 3 프로그램 모듈을 포함하는, 컴퓨터 판독가능 기록 매체.
  15. 제 14 항에 있어서,
    테스트 오브젝트(101) 상에 설치된 소프트웨어의 소프트웨어 상태,
    상기 테스트 오브젝트(101) 상에 설치된 패치의 패치 상태,
    상기 테스트 오브젝트(101)의 구성의 구성 상태
    중 적어도 하나의 데이터에 대해 상기 가상 테스트 오브젝트(109)를 스캔할 것을 상기 테스트 엔티티(103)에 명령하도록 구성된 제 4 프로그램 모듈을 포함하는, 컴퓨터 판독가능 기록 매체.
KR1020177021475A 2015-01-30 2015-12-04 검사 네트워크에서 컴퓨터 시스템의 컴퓨터를 검사하기 위한 검사 시스템 KR102108376B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102015101388.6 2015-01-30
DE102015101388.6A DE102015101388A1 (de) 2015-01-30 2015-01-30 Prüfsystem zur Prüfung eines Computers eines Computersystems in einem Prüfnetzwerk
PCT/EP2015/078671 WO2016119953A1 (de) 2015-01-30 2015-12-04 Prüfsystem zur prüfung eines computers eines computersystems in einem prüfnetzwerk

Publications (2)

Publication Number Publication Date
KR20170108029A KR20170108029A (ko) 2017-09-26
KR102108376B1 true KR102108376B1 (ko) 2020-05-08

Family

ID=54834812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177021475A KR102108376B1 (ko) 2015-01-30 2015-12-04 검사 네트워크에서 컴퓨터 시스템의 컴퓨터를 검사하기 위한 검사 시스템

Country Status (8)

Country Link
US (1) US11061792B2 (ko)
EP (1) EP3251012B1 (ko)
JP (1) JP2018503922A (ko)
KR (1) KR102108376B1 (ko)
CN (1) CN107209711B (ko)
DE (1) DE102015101388A1 (ko)
ES (1) ES2812625T3 (ko)
WO (1) WO2016119953A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777764A (zh) * 2016-12-31 2017-05-31 佛山市幻云科技有限公司 存储仿真方法、系统及虚拟现实服务器
ES2795693T3 (es) * 2017-12-22 2020-11-24 Deutsche Telekom Ag Sistema de control de automatización para controlar una función de seguridad de una máquina remota
CN111708282B (zh) * 2020-04-30 2023-08-18 浙江口碑网络技术有限公司 仿真测试调度方法,仿真测试系统,装置以及电子设备
CN112882939B (zh) * 2021-02-26 2022-09-02 北京百度网讯科技有限公司 自动化测试方法、装置、电子设备及存储介质
CN113608822B (zh) * 2021-06-25 2024-04-26 天津津航计算技术研究所 一种双层解耦终端模拟器
CN113676368B (zh) * 2021-07-12 2022-07-19 交控科技股份有限公司 一种运用于ats网络性能测试的方法及装置
CN113515464B (zh) * 2021-09-14 2021-11-19 广州锦行网络科技有限公司 基于linux系统的蜜罐测试方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271469A (ja) * 2002-03-13 2003-09-26 Lac Co Ltd クライアント検査方法、クライアント検査装置、およびプログラム
JP2004504662A (ja) * 2000-07-14 2004-02-12 ヴィースィーアイエス インコーポレイテッド コンピュータ免疫システムおよびコンピュータシステムにおいて望ましくないコードを検出する方法
JP2005107803A (ja) * 2003-09-30 2005-04-21 Hitachi Ltd システム更新方法、および、それを実行するための計算機システム
WO2015011827A1 (ja) * 2013-07-26 2015-01-29 富士通株式会社 情報処理装置、フィルタリングシステム、フィルタリング方法、及びフィルタリングプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US20030056116A1 (en) * 2001-05-18 2003-03-20 Bunker Nelson Waldo Reporter
US6952779B1 (en) * 2002-10-01 2005-10-04 Gideon Cohen System and method for risk detection and analysis in a computer network
US8091117B2 (en) 2003-02-14 2012-01-03 Preventsys, Inc. System and method for interfacing with heterogeneous network data gathering tools
JP4577154B2 (ja) 2005-08-24 2010-11-10 セイコーエプソン株式会社 検証シミュレータ及び検証シミュレーション方法
US7747494B1 (en) * 2006-05-24 2010-06-29 Pravin Kothari Non-determinative risk simulation
CN101304340B (zh) * 2007-05-09 2011-09-21 华为技术有限公司 一种资源状态监控方法及装置以及通信网络
CN101309165B (zh) * 2007-05-14 2012-04-04 华为技术有限公司 信息报告的控制方法、装置和设备
US8515015B2 (en) * 2008-05-09 2013-08-20 Verizon Patent And Licensing Inc. Method and system for test automation and dynamic test environment configuration
US9245114B2 (en) * 2010-08-26 2016-01-26 Verisign, Inc. Method and system for automatic detection and analysis of malware
CN102075347B (zh) 2010-11-18 2013-11-20 北京神州绿盟信息安全科技股份有限公司 一种安全配置核查设备和方法以及采用该设备的网络系统
US9233764B2 (en) * 2011-06-02 2016-01-12 Thales Avionics, Inc. In-flight entertainment seat end simulator
US8881143B2 (en) * 2011-11-04 2014-11-04 Diwakar PRABHAKARAN Optimization framework for remotely executing a maintenance operation on a virtual machine
JP5935319B2 (ja) 2011-12-26 2016-06-15 富士通株式会社 回路エミュレーション装置、回路エミュレーション方法及び回路エミュレーションプログラム
US9485276B2 (en) * 2012-09-28 2016-11-01 Juniper Networks, Inc. Dynamic service handling using a honeypot
JP6135921B2 (ja) 2013-06-27 2017-05-31 日本精機株式会社 表示部材及び表示装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004504662A (ja) * 2000-07-14 2004-02-12 ヴィースィーアイエス インコーポレイテッド コンピュータ免疫システムおよびコンピュータシステムにおいて望ましくないコードを検出する方法
JP2003271469A (ja) * 2002-03-13 2003-09-26 Lac Co Ltd クライアント検査方法、クライアント検査装置、およびプログラム
JP2005107803A (ja) * 2003-09-30 2005-04-21 Hitachi Ltd システム更新方法、および、それを実行するための計算機システム
WO2015011827A1 (ja) * 2013-07-26 2015-01-29 富士通株式会社 情報処理装置、フィルタリングシステム、フィルタリング方法、及びフィルタリングプログラム

Also Published As

Publication number Publication date
CN107209711A (zh) 2017-09-26
EP3251012B1 (de) 2020-07-15
WO2016119953A1 (de) 2016-08-04
DE102015101388A1 (de) 2016-08-04
JP2018503922A (ja) 2018-02-08
ES2812625T3 (es) 2021-03-17
KR20170108029A (ko) 2017-09-26
EP3251012A1 (de) 2017-12-06
CN107209711B (zh) 2021-01-08
US11061792B2 (en) 2021-07-13
US20170371697A1 (en) 2017-12-28

Similar Documents

Publication Publication Date Title
KR102108376B1 (ko) 검사 네트워크에서 컴퓨터 시스템의 컴퓨터를 검사하기 위한 검사 시스템
Buza et al. CryPLH: Protecting smart energy systems from targeted attacks with a PLC honeypot
Jero et al. Beads: Automated attack discovery in openflow-based sdn systems
Vetterl et al. Honware: A virtual honeypot framework for capturing CPE and IoT zero days
Singh et al. Metasploit Penetration Testing Cookbook: Evade antiviruses, bypass firewalls, and exploit complex environments with the most widely used penetration testing framework
Putra et al. Infrastructure as code for security automation and network infrastructure monitoring
Holczer et al. The design and implementation of a PLC honeypot for detecting cyber attacks against industrial control systems
Gordeychik et al. SD-WAN Threat Landscape
Van Leeuwen et al. Empirical assessment of network-based moving target defense approaches
Widerberg Palmfeldt et al. Testing IoT Security: A comparison of existing penetration testing frameworks and proposing a generic framework
Rimoli et al. Semi-Automatic PenTest Methodology based on Threat-Model: The IoT Brick Case Study
CN114629683B (zh) 管理服务器的接入方法、装置、设备及存储介质
Cadiente et al. Applying Vulnerability Assessment and Penetration Testing (Vapt) and Network Enhancement on the Network Infrastructure of Journey Tech Inc
Kolehmainen Security of firmware update mechanisms within SOHO routers
Taylor Software-defined Networking: Improving Security for Enterprise and Home Networks
Radholm et al. Ethical Hacking of an IoT-device: Threat Assessment and Penetration Testing: A Survey on Security of a Smart Refrigerator
Giangiulio et al. Testing the Security of a Kubernetes Cluster in a Production Environment
Kloiber et al. Test-beds and guidelines for securing IoT products and for
Vasilakis Penetration testing in computer systems
Radholm et al. Ethical Hacking of an IoT-device: Threat Assessment andPenetration Testing
Hilding et al. Exploring Ethical Hacking by Identifying Vulnerabilities in Motorola BabyMonitor MBP855CONNECT (4855)
Pires Security for SDN environments with P4
Veshne Attack Surface Management: Principles for simplifying the complexity of OT security
Morfonios Kubernetes cybersecurity
Carter Security Analysis of a Beckhoff CX-9020 Programmable Logic Controller

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant