KR20200006521A - 분산 스캐닝 - Google Patents

분산 스캐닝 Download PDF

Info

Publication number
KR20200006521A
KR20200006521A KR1020197027384A KR20197027384A KR20200006521A KR 20200006521 A KR20200006521 A KR 20200006521A KR 1020197027384 A KR1020197027384 A KR 1020197027384A KR 20197027384 A KR20197027384 A KR 20197027384A KR 20200006521 A KR20200006521 A KR 20200006521A
Authority
KR
South Korea
Prior art keywords
scanning
network
work
node
scan
Prior art date
Application number
KR1020197027384A
Other languages
English (en)
Inventor
매튜 크레닝
매튜 앤더슨
피터 디킨슨
코리 프레드릭스
존 홀리만
앤드류 시델
Original Assignee
익스팬스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 익스팬스 인코포레이티드 filed Critical 익스팬스 인코포레이티드
Publication of KR20200006521A publication Critical patent/KR20200006521A/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

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

Abstract

네트워크를 스캐닝하기 위한 시스템은 인터페이스 및 프로세서를 포함한다. 인터페이스는 네트워크 어드레스 세트를 스캐닝하라는 표시를 수신하도록 구성된다. 프로세서는 이용 가능한 스캐닝 노드 세트를 결정하고, 이용 가능한 스캐닝 노드 세트를 사용하여 네트워크 어드레스 세트를 스캐닝하기 위한 작업 계획을 결정하도록 구성된다. 작업 계획은 하나 이상의 작업 부분을 포함한다. 프로세서는 하나 이상의 작업 부분의 작업 부분에 대해, 이용 가능한 스캐닝 노드 세트의 스캐닝 노드를 선택하고 작업 부분을 스캐닝 노드에 제공하도록 구성된다.

Description

분산 스캐닝
인터넷에 연결된 자산(예를 들어, 컴퓨터, 모바일 디바이스, 서버 시스템, 클라이언트 시스템, 사물 인터넷 디바이스 등)에는 인터넷과 통신하는 컴퓨팅 시스템이 포함된다. 인터넷에 연결된 자산에는 일반적으로 하나 이상의 공개적으로 어드레싱 가능한 통신 포트가 있어, 인터넷에 연결된 디바이스가 자산에 쿼리(query)할 수 있다. 일부 디바이스는 하나 이상의 공개적으로 액세스 가능한 포트를 통해 다양한 연결 유형(예를 들어, HTTP 연결, HTTPS 연결, FTP 연결, FTPS 연결, 텔넷 연결, SSH 연결 등)을 허용한다. 인터넷에 연결된 자산은 다양한 구성 옵션을 포함하여 광범위한 소프트웨어를 실행하는 다양한 상이한 유형의 하드웨어 디바이스가 될 수 있으며, 보안 취약점에 대한 무수한 가능성을 창출한다. 통상적인 시스템 관리자는 그의 또는 그녀의 감시 하에 모든 시스템의 모든 세부 사항을 숙지하지 못할 수 있으므로, 시스템 취약성이 감지되지 않고 수정되지 않을 수 있는 문제가 생긴다. 광범위한 네트워크 어드레스를 스캔하면 다른 방법으로는 이용할 수 없는 이해를 제공할 수 있다; 그러나, 스캔을 수행하기 위해 많은 양의 컴퓨팅 성능과 통신 대역폭을 필요로 할 수 있다. 단일 컴퓨터가 스캔을 제대로 수행하지 못할 수 있다.
본 발명의 다양한 실시예가 다음의 상세한 설명 및 첨부 도면에 개시된다.
도 1은 네트워크 시스템의 일 실시예를 도시하는 블록도이다.
도 2는 네트워크 스캐닝 시스템의 일 실시예를 도시하는 블록도이다.
도 3은 네트워크 스캐닝 시스템의 일 실시예를 도시하는 블록도이다.
도 4는 네트워크 시스템의 일 실시예를 도시하는 블록도이다.
도 5는 네트워크 스캐닝 제어기의 일 실시예를 도시하는 블록도이다.
도 6은 스캐닝 노드의 일 실시예를 도시하는 블록도이다.
도 7은 네트워크를 스캐닝하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다.
도 8은 작업 계획을 결정하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다.
도 9는 필요한 경우 작업 부분 결과에 기초하여 작업 계획을 수정하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다.
본 발명은 프로세스; 장치; 시스템; 물질의 조성; 컴퓨터 판독 가능한 저장 매체 상에 구현된 컴퓨터 프로그램 제품; 및/또는 프로세서에 결합된 메모리에 저장되고/되거나 제공된 명령을 실행하도록 구성된 프로세서와 같은 프로세서를 포함하여, 다양한 방식으로 구현될 수 있다. 본 명세서에서, 이러한 구현 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술로 지칭될 수 있다. 일반적으로, 개시된 프로세스의 단계의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 언급하지 않는 한, 태스크를 수행하도록 구성된 것으로서 설명된 프로세서 또는 메모리와 같은 컴포넌트는 주어진 시간에 태스크를 수행하도록 일시적으로 구성된 일반적인 컴포넌트 또는 태스크를 수행하도록 제조된 특정 컴포넌트로 구현될 수 있다. 본 명세서에서 사용된 용어 '프로세서'는 컴퓨터 프로그램 명령과 같은 데이터를 처리하도록 구성된 하나 이상의 디바이스, 회로, 및/또는 프로세싱 코어를 지칭한다.
본 발명의 하나 이상의 실시예에 대한 상세한 설명이 본 발명의 원리를 도시하는 첨부 도면과 함께 아래에 제공된다. 본 발명은 이러한 실시예와 관련하여 설명되지만, 본 발명은 임의의 실시예에 제한되지 않는다. 본 발명의 범위는 청구항에 의해서만 제한되며, 본 발명은 다수의 대안, 수정, 및 균등물을 포함한다. 본 발명의 완전한 이해를 제공하기 위해 다수의 특정 세부 사항이 다음의 설명에서 설명된다. 이러한 세부 사항은 예시를 위해 제공되며, 본 발명은 이러한 특정 세부 사항의 일부 또는 전부 없이 청구항에 따라 실시될 수 있다. 명료함을 위해, 본 발명과 관련된 기술 분야에서 공지된 기술 재료는 본 발명이 불필요하게 불명료하게 되지 않도록 상세하게 설명되지 않았다.
네트워크를 스캐닝하기 위한 시스템은 네트워크 어드레스 세트를 스캐닝하라는 표시를 수신하는 인터페이스, 및 이용 가능한 스캐닝 노드 세트 결정하고, 스캐닝 노드 세트를 사용하여 네트워크 어드레스 세트를 스캐닝하기 위한 작업 계획을 결정하고 - 작업 계획은 하나 이상의 작업 부분을 포함함 -, 하나 이상의 작업 부분의 각각의 작업 부분에 대해, 스캐닝 노드 세트의 스캐닝 노드를 선택하고, 작업 부분을 스캐닝 노드에 제공하고, 스캐닝 노드로부터 스캐닝 결과를 수신하는 프로세스를 포함한다. 일부 실시예에서, 시스템은 프로세서에 결합되고 프로세서에 명령을 제공하도록 구성된 메모리를 추가로 포함한다.
일부 실시예에서, 네트워크 스캐닝을 위한 시스템은 네트워크 상의 일부 또는 모든 컴퓨터를 스캐닝함으로써 네트워크에 관한 정보를 결정하기 위한 시스템을 포함한다. 일부 실시예에서, 네트워크 스캐닝을 위한 시스템은 네트워크의 완전한 외부 뷰를 결정함으로써 네트워크 보안을 개선하기 위한 시스템을 포함한다. 다양한 실시예에서, 네트워크 스캐닝을 위한 시스템은 조직과 연관된 디바이스, 디바이스 상의 개방 포트, 디바이스 상에서 실행되는 서비스, 다수의 디바이스가 연관되었음을 나타내는 정보, 디바이스 구성 정보, 디바이스 암호화 정보, 디바이스 네트워크 셋팅, 또는 임의의 다른 적절한 정보를 스캐닝한다. 일부 실시예에서, 네트워크 스캐닝 시스템은 인터넷의 일부를 스캐닝한다. 일부 실시예에서, 네트워크 스캐닝 시스템은 전체 인터넷을 스캐닝한다. 일부 실시예에서, 네트워크 스캐닝을 위한 시스템이 큰 네트워크(예를 들어, 전체 인터넷)를 스캐닝하라는 요청을 수신할 때, 스캐닝은 분산 시스템을 사용하여 수행된다. 일부 실시예에서, 분산 시스템은 마스터 시스템(예를 들어, 네트워크 스캐닝 제어기) 및 하나 이상의 슬레이브 시스템(예를 들어, 스캐닝 노드)을 포함한다. 일부 실시예에서, 마스터 시스템은 요청된 스캔 및 이용 가능한 스캐닝 노드 세트에 기초하여 작업 계획을 결정하고, 요청된 스캔을 달성하기 위해 작업 계획의 일부를 이용 가능한 스캐닝 노드에 제공하고, 스캐닝 노드로부터 수신된 결과를 결합하여 완전한 스캔 결과를 생성한다.
도 1은 네트워크 시스템의 일 실시예를 도시하는 블록도이다. 일부 실시예에서, 도 1의 네트워크 시스템은 네트워크 스캐닝을 위한 시스템을 포함한다. 도시된 예에서, 도 1은 네트워크(100)를 포함한다. 다양한 실시예에서, 네트워크(100)는 로컬 영역 네트워크, 광역 네트워크, 유선 네트워크, 무선 네트워크, 인터넷, 인트라넷, 저장 영역 네트워크, 또는 임의의 다른 적절한 통신 네트워크 중 하나 이상을 포함한다. 관리자 시스템(102) 및 네트워크 스캐닝 시스템(104)은 네트워크(100)를 통해 통신한다. 관리자 시스템(102)은 관리자를 위한 시스템을 포함한다. 다양한 실시예에서, 관리자 시스템(102)은 관리자가 애플리케이션 시스템 상의 애플리케이션에 액세스하거나, 데이터베이스 시스템 상의 데이터에 액세스하거나, 네트워크 스캐닝 시스템(104)에 네트워크 스캐닝 프로세스를 수행하도록 지시하거나, 네트워크 시스템(예를 들어, 네트워크 시스템(106))을 구성하거나, 네트워크 스캐닝 시스템으로부터 데이터를 수신하거나, 임의의 다른 적절한 목적을 위한 관리자를 위한 시스템을 포함한다. 일부 실시예에서, 관리자 시스템(102)은 프로세서 및 메모리를 포함한다. 네트워크 스캐닝 시스템(104)은 네트워크를 스캐닝하기 위한 시스템을 포함한다. 일부 실시예에서, 네트워크 스캐닝 시스템(104)은 관리자 시스템(102)으로부터의 커맨드에 응답하여 네트워크 시스템과 연관된 데이터를 스캐닝하기 위한 시스템을 포함한다. 일부 실시예에서, 네트워크 스캐닝 시스템(104)은 네트워크 시스템 세트(예를 들어, 네트워크 시스템(106), 네트워크 시스템(108), 네트워크 시스템(110), 네트워크 시스템(112), 네트워크 시스템(114), 네트워크 시스템(116), 네트워크 시스템(118), 및 네트워크 시스템(120))와 연관된 데이터를 스캐닝하기 위한 시스템을 포함한다. 일부 실시예에서, 네트워크 시스템 세트와 연관된 스캐닝 데이터는 네트워크 시스템 세트와 연관된 이전에 저장된 데이터를 분석하는 것을 포함한다. 일부 실시예에서, 네트워크 시스템의 세트와 연관된 데이터를 스캐닝하는 것은 네트워크 시스템의 세트 중 하나 이상의 네트워크 시스템에 페이로드를 제공하고, 응답이 수신되는 경우에 수신된 응답을 분석하는 것을 포함한다. 일부 실시예에서, 네트워크 스캐닝 시스템(104)은 프로세서 및 메모리를 포함한다. 도 1의 각각의 네트워크 시스템(예를 들어, 네트워크 시스템(106))은 인터넷에 연결된 시스템(예를 들어, 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 서버 시스템, 사물 인터넷 디바이스 등)을 포함한다. 다양한 실시예에서, 도 1의 시스템은 8개, 13개, 197개, 2222개, 1백만개, 1억개, 또는 임의의 다른 적절한 개수의 네트워크 시스템을 포함한다. 일부 실시예에서, 도 1의 각각의 네트워크 시스템은 인터넷 어드레스와 연관된다. 일부 실시예에서, 인터넷 어드레스는 IP(예를 들어, 인터넷 프로토콜) 어드레스를 포함한다. 도시된 예에서, 네트워크 스캐닝 시스템(104)은 중앙 집중식 네트워크 스캐닝 시스템을 포함한다(예를 들어, 스캐닝할 어드레스를 결정하고, 스캐닝하고, 스캔 결과를 분석하는 것을 포함하는 네트워크 스캐닝의 요소는 모두 네트워크 스캐닝 시스템(104)에 의해 수행된다).
도 2는 네트워크 스캐닝 시스템의 일 실시예를 도시하는 블록도이다. 일부 실시예에서, 도 2의 네트워크 스캐닝 시스템은 도 1의 네트워크 스캐닝(104)을위한 시스템을 포함한다. 도시된 예에서, 네트워크 스캐닝 시스템(200)은 네트워크 스캐닝 제어기(202), 네트워크 스캔 데이터베이스(203), 네트워크(204), 및 복수의 스캐닝 노드(예를 들어, 스캐닝 노드(206), 스캐닝 노드(208), 스캐닝 노드(210), 스캐닝 노드(212), 스캐닝 노드(214), 스캐닝 노드(216), 및 스캐닝 노드(218))를 포함한다. 네트워크 스캐닝 제어기(202)는 (예를 들어, 사용자 또는 관리자 시스템으로부터) 네트워크 어드레스 세트를 스캐닝하라는 표시를 수신하기 위한 시스템을 포함한다. 네트워크 스캐닝 제어기(202)는 복수의 스캐닝 노드에 의해 수행될 스캔 부분을 결정하고, 스캐닝 노드가 요청된 스캔의 일부를 각각 수행하도록 지시하고, 스캐닝 노드 각각으로부터 결과를 다시 수신하고, 결과를 네트워크 스캔 데이터베이스(예를 들어, 네트워크 스캔 데이터베이스(203))에 제공하고, 현재 결과와 이전 결과(예를 들어, 역시 네트워크 스캔 데이터베이스(203)에 저장된 이전 결과) 사이의 차이를 결정하고, 요청자에게 결과의 표시, 결과, 또는 결과의 요약을 제공한다. 일부 실시예에서, 네트워크 스캐닝 제어기(202)는 클라우드 컴퓨팅 하드웨어를 사용하여 구현된 시스템을 포함한다. 일부 실시예에서, 네트워크 스캐닝 제어기(202)는 스캐닝 노드 세트(예를 들어, 스캐닝 노드(208) 및 스캐닝 노드(216))의 표시를 수신하기 위한 시스템을 포함한다. 일부 실시예에서, 스캐닝 노드는 스캐닝을 위한 네트워크 시스템을 포함한다. 네트워크 스캐닝 제어기(202)는 네트워크 스캐닝 결과를 저장하기 위해 네트워크 스캔 데이터베이스(203)와 통신한다. 네트워크 스캐닝 제어기(202)는 네트워크(204)를 사용하여 복수의 스캐닝 노드와 통신한다. 다양한 실시예에서, 네트워크(204)는 로컬 영역 네트워크, 광역 네트워크, 유선 네트워크, 무선 네트워크, 인터넷, 인트라넷, 저장 영역 네트워크, 또는 임의의 다른 적절한 통신 네트워크 중 하나 이상을 포함한다. 다양한 실시예에서, 네트워크 스캐닝 제어기(202)와 통신하는 1개, 2개, 4개, 7개, 11개, 25개, 92개, 297개, 1001개, 또는 임의의 다른 적절한 수의 스캐닝 노드가 있다. 일부 실시예에서, 스캐닝 노드는 서로로부터 그리고 네트워크 스캐닝 제어기(202)로부터 물리적으로 원격에 위치된다. 일부 실시예에서, 스캐닝 노드는 클라우드 컴퓨팅 하드웨어를 사용하여 구현된다. 일부 실시예에서, 스캐닝 노드는 네트워크 스캐닝 제어기(202)와 상이한 시스템(예를 들어, 상이한 클라우드 컴퓨팅 하드웨어)을 사용하여 구현된다. 일부 실시예에서, 스캐닝 노드는 네트워크 스캐닝 제어기(202)와의 연관성을 식별하기 위해 공개적으로 볼 수 있는 정보를 포함하지 않는다.
도 3은 네트워크 스캐닝 시스템의 일 실시예를 도시하는 블록도이다. 일부 실시예에서, 도 3의 네트워크 스캐닝 시스템은 도 1의 네트워크 스캐닝을 위한 시스템(104)을 포함한다. 도시된 예에서, 네트워크 스캐닝 시스템(300)은 네트워크 스캐닝 제어기(302), 네트워크 스캔 데이터베이스(303), 네트워크(304), 익명화 시스템(305), 및 복수의 스캐닝 노드(예를 들어, 스캐닝 노드(306), 스캐닝 노드(308), 스캐닝 노드(310), 스캐닝 노드(312), 스캐닝 노드(314), 스캐닝 노드(316), 및 스캐닝 노드(318))를 포함한다. 네트워크 스캐닝 제어기(302)는 (예를 들어, 사용자 또는 관리자 시스템으로부터) 네트워크 어드레스 세트를 스캐닝하라는 표시를 수신하기 위한 시스템을 포함한다. 네트워크 스캐닝 제어기(302)는 복수의 스캐닝 노드에 의해 수행될 스캔 부분을 결정하고, 스캐닝 노드가 요청된 스캔의 일부를 각각 수행하도록 지시하고, 스캐닝 노드 각각으로부터 결과를 다시 수신하고, 결과를 네트워크 스캔 데이터베이스(예를 들어, 네트워크 스캔 데이터베이스(303))에 제공하고, 현재 결과와 이전 결과(예를 들어, 역시 네트워크 스캔 데이터베이스(303)에 저장된 이전 결과) 사이의 차이를 결정하고, 요청자에게 결과의 표시, 결과, 또는 결과의 요약을 제공한다. 일부 실시예에서, 네트워크 스캐닝 제어기(302)는 클라우드 컴퓨팅 하드웨어를 사용하여 구현된 시스템을 포함한다. 일부 실시예에서, 네트워크 스캐닝 제어기(302)는 스캐닝 노드 세트(예를 들어, 스캐닝 노드(308) 및 스캐닝 노드(316))의 표시를 수신하기 위한 시스템을 포함한다. 일부 실시예에서, 스캐닝 노드는 스캐닝을 위한 네트워크 시스템을 포함한다. 네트워크 스캐닝 제어기(302)는 네트워크 스캐닝 결과를 저장하기 위해 네트워크 스캔 데이터베이스(303)와 통신한다. 네트워크 스캐닝 제어기(302)는 익명화 시스템(306)을 통해 복수의 스캐닝 노드와 통신한다. 다양한 실시예에서, 익명화 시스템(306)은 익명화 가상 사설 네트워크, 터널링 시스템, 또는 임의의 다른 적절한 익명화 시스템을 포함한다. 익명화 시스템(305)은 스캔 타겟 시스템이 복수의 스캐닝 시스템 뒤의 스캐닝 제어기를 식별하는 것을 어렵게 한다. 익명화 시스템(305)은 네트워크(304)를 사용하여 복수의 스캐닝 노드와 통신한다. 다양한 실시예에서, 네트워크(304)는 로컬 영역 네트워크, 광역 네트워크, 유선 네트워크, 무선 네트워크, 인터넷, 인트라넷, 저장 영역 네트워크, 또는 임의의 다른 적절한 통신 네트워크 중 하나 이상을 포함한다. 다양한 실시예에서, 네트워크 스캐닝 제어기(302)와 통신하는 1개, 2개, 4개, 7개, 11개, 25개, 92개, 297개, 1001개, 또는 임의의 다른 적절한 수의 스캐닝 노드가 있다. 일부 실시예에서, 스캐닝 노드는 서로로부터 그리고 네트워크 스캐닝 제어기(302)로부터 물리적으로 원격에 위치된다. 일부 실시예에서, 스캐닝 노드는 클라우드 컴퓨팅 하드웨어를 사용하여 구현된다. 일부 실시예에서, 스캐닝 노드는 네트워크 스캐닝 제어기(302)와 상이한 시스템(예를 들어, 상이한 클라우드 컴퓨팅 하드웨어)을 사용하여 구현된다. 일부 실시예에서, 스캐닝 노드는 네트워크 스캐닝 제어기(302)와의 연관성을 식별하기 위해 공개적으로 볼 수 있는 정보를 포함하지 않는다.
도 4는 네트워크 시스템의 일 실시예를 도시하는 블록도이다. 일부 실시예에서, 네트워크 시스템(400)은 도 1의 네트워크 시스템(예를 들어, 네트워크 시스템(106))을 포함한다. 도시된 예에서, 네트워크 시스템(400)은 프로세서(402), 데이터 스토리지(404), 및 네트워크 인터페이스(406)를 포함한다. 일부 실시예에서, 네트워크 시스템(400)은 인터넷에 연결된 자산(예컨대, 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 서버 시스템, 사물 인터넷 디바이스, 또는 임의의 다른 적절한 인터넷에 연결된 자산)을 포함한다. 다양한 실시예에서, 프로세서(402)는 명령을 실행하고, 데이터를 처리하고, 커맨드에 응답하는 등의 프로세서를 포함한다. 다양한 실시예에서, 프로세서(402)는 범용 프로세서, 마이크로컨트롤러, 병렬 처리 시스템, 프로세서의 클러스터, 또는 임의의 다른 적절한 프로세서를 포함한다. 다양한 실시예에서, 데이터 스토리지(404)는 데이터 저장, 프로세서(402)에 대한 명령 저장, 구성 정보 저장, 또는 임의의 다른 적절한 정보 저장을 위한 데이터 스토리지를 포함한다. 다양한 실시예에서, 데이터 스토리지(404)는 휘발성 메모리, 비휘발성 메모리, 자기 메모리, 광학 메모리, 상 변화 메모리, 반도체 메모리, 디스크 메모리, 테이프 메모리, 또는 임의의 다른 적절한 메모리 중 하나 이상을 포함한다. 네트워크 인터페이스(406)는 네트워크와 통신하기 위한 네트워크 인터페이스를 포함한다. 도시된 예에서, 네트워크 인터페이스(406)는 네트워크 통신 정보(408) 및 복수의 포트(예를 들어, 포트(410))를 포함한다. 다양한 실시예에서, 네트워크 통신 정보는 네트워크 통신 소프트웨어, 네트워크 통신 설정, 네트워크 통신 데이터, 또는 임의의 다른 적절한 네트워크 통신 정보를 포함한다. 복수의 포트는 물리적 포트(예를 들어, 케이블을 네트워크 시스템(400)에 연결하기 위한 플러그) 또는 가상 포트(예를 들어, 가상 포트 번호로 식별되는 가상 통신 채널)를 포함한다. 일부 실시예에서, 네트워크 인터페이스(406)는 네트워크 어드레스(예를 들어, 외부 네트워크 어드레싱 권한에 의해 할당된 네트워크 어드레스)를 포함한다. 일부 실시예에서, 네트워크 시스템(400)과의 통신은 포트 번호와 함께 네트워크(400)의 네트워크 어드레스를 표시함으로써 특정된다. 일부 실시예에서, 네트워크 인터페이스(406)의 일부 포트는 통신을 위해 구성되고(예를 들어, 개방 포트를 포함함), 일부는 통신에 응답하지 않도록 구성된다. 일부 실시예에서, 개방 포트 구성 정보는 네트워크 통신 정보(408)에 저장된다. 일부 실시예에서, 일부 포트는 하나 이상의 특정 통신 서비스(예를 들어, 하이퍼텍스트 송신 프로토콜(hypertext transmission protocol, HTTP), 파일 전송 프로토콜(file transfer protocol, FTP), 보안 쉘(secure shell, SSH) 등)와 연관된다. 일부 실시예에서, 서비스를 포트와 연관시키는 구성 정보는 네트워크 통신 정보(408)에 저장된다. 일부 실시예에서, 네트워크 통신 정보(408)는 암호화 정보(예를 들어, 공개 SSH 키, 인증서 등)를 포함한다. 일부 실시예에서, 네트워크 통신 정보(408)는 네트워크 시스템 네임 또는 네임들(예를 들어, 호스트 네임, 도메인 네임, 호스트 네임 세트, 호스트 네임 패턴 등)을 포함한다. 일부 실시예에서, 네트워크 통신 정보는 서비스 또는 서비스 세트와 연관된 텍스트 정보(예를 들어, 환영 텍스트, 연결 거절 텍스트, 서비스 미지원 텍스트, 파일 미발견 텍스트, 또는 임의의 다른 적절한 텍스트 정보)를 포함한다. 일부 실시예에서, 네트워크 인터페이스(406)는 통신 사양의 세트에 따라 구성된 통신 소프트웨어의 세트를 실행하는 네트워크 하드웨어의 세트(예를 들어, 모뎀)를 포함한다.
도 5는 네트워크 스캐닝 제어기의 일 실시예를 도시하는 블록도이다. 일부 실시예에서, 네트워크 스캐닝 제어기(500)는 도 2의 네트워크 스캐닝 제어기(202)를 포함한다. 일부 실시예에서, 네트워크 스캐닝 제어기(500)는 서버 시스템을 포함한다. 도시된 예에서, 네트워크 스캐닝 제어기(500)는 프로세서(502), 데이터 스토리지(504), 및 네트워크 인터페이스(506)를 포함한다. 다양한 실시예에서, 프로세서(502)는 명령을 실행하고, 데이터를 처리하고, 커맨드에 응답하는 등의 프로세서를 포함한다. 다양한 실시예에서, 프로세서(502)는 범용 프로세서, 마이크로컨트롤러, 병렬 처리 시스템, 프로세서의 클러스터, 또는 임의의 다른 적절한 프로세서를 포함한다. 일부 실시예에서, 프로세서(502)는 네트워크 스캐너(508)를 포함한다. 다양한 실시예에서, 네트워크 스캐너(508)는 계층적 스캐닝 시스템 기능을 구현하는 소프트웨어 및/또는 하드웨어를 포함한다. 일부 실시예에서, 네트워크 스캐너(508)는 작업 계획을 결정하기 위한 네트워크 스캐너를 포함한다. 일부 실시예에서, 작업 계획은 스캔 명령 세트를 포함한다. 일부 실시예에서, 작업 계획은 이용 가능한 스캐닝 노드 세트를 사용하여 네트워크 어드레스 세트를 스캐닝하기 위한 작업 계획을 포함한다. 일부 실시예에서, 작업 계획은 스캐닝할 네트워크 어드레스 및 포트 세트를 포함한다. 일부 실시예에서, 작업 계획은 네트워크 디바이스와 상호 작용하기 위한 하나 이상의 페이로드 및 후속 프로브(probe)를 포함한다. 일부 실시예에서, 작업 계획은 하나 이상의 작업 부분을 포함한다. 일부 실시예에서, 작업 부분은 분할 가능하고 독립적으로 실행 가능한 작업 부분(예를 들어, 병렬로 실행될 수 있고 서로 의존하지 않는 작업 부분)을 포함한다. 다양한 실시예에서, 데이터 스토리지(504)는 데이터 저장, 프로세서(502)에 대한 명령 저장, 구성 정보 저장, 또는 임의의 다른 적절한 정보 저장을 위한 데이터 스토리지를 포함한다. 다양한 실시예에서, 데이터 스토리지(504)는 휘발성 메모리, 비휘발성 메모리, 자기 메모리, 광학 메모리, 상 변화 메모리, 반도체 메모리, 디스크 메모리, 테이프 메모리, 또는 임의의 다른 적절한 메모리 중 하나 이상을 포함한다. 도시된 예에서, 데이터 스토리지(504)는 네트워크 디바이스에 제공하기 위한 페이로드를 저장하기 위한 페이로드 데이터베이스(510)를 포함한다. 일부 실시예에서, 페이로드는 응답을 유도하기 위해 네트워크 디바이스를 프로빙하기 위한 작은 데이터 패킷을 포함한다. 데이터 스토리지(504)는 네트워크 디바이스와 상호 작용하기 위한 후속 프로브를 저장하기 위한 후속 프로브 데이터베이스(512)를 추가로 포함한다. 일부 실시예에서, 후속 프로브는 네트워크 디바이스에 관한 정보를 결정하기 위해 네트워크 디바이스와 상호 작용하기 위한 소프트웨어를 포함한다. 일부 실시예에서, 후속 프로브 데이터베이스(512)는 후속 프로브 세트를 포함하며, 후속 프로브 각각은 네트워크 디바이스에 대한 데이터를 검색하기 위한 특정 방식(예를 들어, 보안 HTTP(HTTPS) 연결 설정 및 암호화된 웹 페이지 다운로드)으로 네트워크 디바이스와 상호 작용하도록 설계된다. 일부 실시예에서, 후속 프로브가 네트워크 디바이스로부터 데이터를 수신하는 데 성공할 것으로 결정되면 후속 프로브는 네트워크 디바이스와 상호 작용하기 위해 사용된다. 데이터 저장 디바이스(504)는 (예를 들어, 페이로드 또는 후속 프로브를 사용하여) 네트워크 디바이스와 상호 작용한 결과 수신된 네트워크 정보를 저장하기 위한 네트워크 정보 데이터베이스(514)를 추가로 포함한다. 일부 실시예에서, 네트워크 정보는 (예를 들어, 스토리지 서버, 상이한 계층적 스캐닝 시스템, 클라우드 스토리지 등에) 원격으로 저장된다. 도시된 예에서, 네트워크 인터페이스(506)는 네트워크를 통해 원격 시스템과 상호 작용하기 위한 네트워크 인터페이스를 포함한다. 다양한 실시예에서, 네트워크 인터페이스(506)는 페이로드를 제공하거나, 후속 프로브를 위한 통신을 실행하거나, 네트워크 정보를 수신하거나, 또는 임의의 다른 적절한 목적을 위한 네트워크 인터페이스를 포함한다. 일부 실시예에서, 네트워크 인터페이스(506)는 고 대역폭 통신을 위해 구성된 네트워크 인터페이스를 포함한다. 일부 실시예에서, 네트워크 인터페이스(506)는 작업 계획의 작업 부분을 스캐닝 노드에 제공하기 위한 네트워크 인터페이스를 포함한다. 일부 실시예에서, 네트워크 인터페이스(506)는 스캐닝 노드로부터 작업 부분 결과를 수신하기 위한 네트워크 인터페이스를 포함한다.
도 6은 스캐닝 노드의 일 실시예를 도시하는 블록도이다. 일부 실시예에서, 스캐닝 노드(600)는 도 2의 스캐닝 노드(예를 들어, 스캐닝 노드(208))를 포함한다. 일부 실시예에서, 스캐닝 노드(600)는 클라이언트 시스템을 포함한다. 도시된 예에서, 스캐닝 노드(600)는 프로세서(602), 데이터 스토리지(604), 및 네트워크 인터페이스(606)를 포함한다. 다양한 실시예에서, 프로세서(502)는 명령을 실행하고, 데이터를 처리하고, 커맨드에 응답하는 등의 프로세서를 포함한다. 다양한 실시예에서, 프로세서(602)는 범용 프로세서, 마이크로컨트롤러, 병렬 처리 시스템, 프로세서의 클러스터, 또는 임의의 다른 적절한 프로세서를 포함한다. 일부 실시예에서, 프로세서(602)는 네트워크 스캐너(608)를 포함한다. 다양한 실시예에서, 네트워크 스캐너(608)는 계층적 스캐닝 시스템 기능을 구현하는 소프트웨어 및/또는 하드웨어를 포함한다. 다양한 실시예에서, 데이터 스토리지(604)는 데이터 저장, 프로세서(602)에 대한 명령 저장, 구성 정보 저장, 또는 임의의 다른 적절한 정보 저장을 위한 데이터 스토리지를 포함한다. 다양한 실시예에서, 데이터 스토리지(604)는 휘발성 메모리, 비휘발성 메모리, 자기 메모리, 광학 메모리, 상 변화 메모리, 반도체 메모리, 디스크 메모리, 테이프 메모리, 또는 임의의 다른 적절한 메모리 중 하나 이상을 포함한다. 도시된 예에서, 데이터 스토리지(604)는 네트워크 디바이스에 제공하기 위한 페이로드를 저장하기 위한 페이로드 데이터베이스(610)를 포함한다. 일부 실시예에서, 페이로드는 응답을 유도하기 위해 네트워크 디바이스를 프로빙하기 위한 작은 데이터 패킷을 포함한다. 데이터 스토리지(604)는 네트워크 디바이스와 상호 작용하기 위한 후속 프로브를 저장하기 위한 후속 프로브 데이터베이스(612)를 추가로 포함한다. 일부 실시예에서, 후속 프로브는 네트워크 디바이스에 관한 정보를 결정하기 위해 네트워크 디바이스와 상호 작용하기 위한 소프트웨어를 포함한다. 일부 실시예에서, 후속 프로브 데이터베이스(612)는 후속 프로브 세트를 포함하며, 후속 프로브 각각은 네트워크 디바이스에 대한 데이터를 검색하기 위한 특정 방식(예를 들어, 보안 HTTP(HTTPS) 연결 설정 및 암호화된 웹 페이지 다운로드)으로 네트워크 디바이스와 상호 작용하도록 설계된다. 일부 실시예에서, 후속 프로브가 네트워크 디바이스로부터 데이터를 수신하는 데 성공할 것으로 결정되면 후속 프로브는 네트워크 디바이스와 상호 작용하기 위해 사용된다. 데이터 저장 디바이스(604)는 (예를 들어, 페이로드 또는 후속 프로브를 사용하여) 네트워크 디바이스와 상호 작용한 결과 수신된 네트워크 정보를 저장하기 위한 네트워크 정보 데이터베이스(614)를 추가로 포함한다. 일부 실시예에서, 네트워크 정보는 (예를 들어, 스토리지 서버, 상이한 계층적 스캐닝 시스템, 클라우드 스토리지 등에) 원격으로 저장된다. 도시된 예에서, 네트워크 인터페이스(606)는 네트워크를 통해 원격 시스템과 상호 작용하기 위한 네트워크 인터페이스를 포함한다. 다양한 실시예에서, 네트워크 인터페이스(606)는 페이로드를 제공하거나, 후속 프로브를 위한 통신을 실행하거나, 네트워크 정보를 수신하거나, 또는 임의의 다른 적절한 목적을 위한 네트워크 인터페이스를 포함한다. 일부 실시예에서, 네트워크 인터페이스(606)는 고 대역폭 통신을 위해 구성된 네트워크 인터페이스를 포함한다.
일부 실시예에서, 네트워크 스캐너(608)는 네트워크 스캐닝 제어기(예를 들어, 도 2의 네트워크 스캐닝 제어기(204) 또는 도 3의 네트워크 스캐닝 제어기(302))에 의해 제공된 명령에 따라 네트워크 스캔을 실행한다. 일부 실시예에서, 명령은 작업 부분(예를 들어, 스캐닝 작업의 작업 부분)을 포함한다. 다양한 실시예에서, 명령은 하나 이상의 인터넷 어드레스, 하나 이상의 포트, 하나 이상의 페이로드, 하나 이상의 후속 프로브, 또는 임의의 다른 적절한 스캔 명령을 포함한다.
도 7은 네트워크를 스캐닝하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예에서, 도 7의 프로세스는 도 2의 네트워크 스캐닝 제어기(204)에 의해 실행된다. 도시된 예에서, 700에서, 네트워크 어드레스 세트를 스캐닝하라는 표시가 수신된다. 702에서, 이용 가능한 스캐닝 노드 세트가 결정된다. 704에서, 이용 가능한 스캐닝 노드 세트를 사용하여 네트워크 어드레스 세트를 스캐닝하기 위한 작업 계획이 결정되며, 여기서 작업 계획은 하나 이상의 작업 부분을 포함한다. 706에서, 작업 부분이 선택된다. 708에서, 스캐닝 노드가 선택된다. 일부 실시예에서, 스캐닝 노드는 작업 부분에 적어도 부분적으로 기초하여 선택된다. 다양한 실시예에서, 스캐닝 노드는 무작위로 선택된 스캐닝 노드, 의사 난수적으로 선택된 스캐닝 노드, 스캐닝 노드 리스트에서 다음 스캐닝 노드, 프로세서 부하가 가장 적은 스캐닝 노드, 최근에 선택되지 않은 스캐닝 노드, 작업 부분의 어드레스를 가장 최근에 스캔한 스캐닝 노드, 미리 결정된 리스트에 따라 작업 부분의 어드레스를 스캐닝하는 다음 스캐닝 노드, 물리적 위치에 적어도 부분적으로 기초하여 선택된 스캐닝 노드, 또는 임의의 다른 방식으로 선택된 스캐닝 노드를 포함한다. 710에서, 작업 부분은 스캐닝 노드에 제공된다. 712에서, 작업 부분 결과가 스캐닝 노드로부터 수신된다. 714에서, 작업 부분 결과가 스캐닝된다. 일부 실시예에서, 작업 부분 결과는 네트워크 스캐닝 제어기에 의해 저장된다. 일부 실시예에서, 작업 부분 결과는 저장을 위해 네트워크 스캔 데이터베이스에 제공된다. 716에서, 작업 계획은 필요한 경우 작업 부분 결과에 따라 수정된다. 다양한 실시예에서, 작업 계획은 추가 어드레스를 스캐닝하거나, 추가 포트를 스캐닝하거나, 추가 스캔 유형을 실행하거나, 추가 후속 프로브를 실행하거나, 또는 임의의 다른 적절한 방식으로 수정된다. 718에서, (예를 들어, 작업 계획의) 작업 부분이 더 있는지가 결정된다. 작업 부분이 더 있다고 결정되면, 제어는 706으로 넘어간다. 작업 부분이 더 있지 않다고 결정되는 경우, 프로세스는 종료된다.
도 8은 작업 계획을 결정하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예에서, 도 8의 프로세스는 도 7의 704를 구현한다. 도시된 예에서, 800에서, 스캔을 위한 스캐닝 커맨드 세트가 결정된다. 다양한 실시예에서, 스캐닝 커맨드는 쉘 커맨드, 페이로드, 후속 프로브, 또는 임의의 다른 적절한 스캐닝 커맨드를 포함한다. 일부 실시예에서, 스캐닝 커맨드는 스캐닝하라는 수신된 표시의 일부를 포함한다(예를 들어, 스캐닝하라는 표시는 스캔을 위한 스캐닝 커맨드를 나타낸다). 일부 실시예에서, 스캐닝 커맨드는 스캔하라고 표시된 커맨드에 적어도 부분적으로 기초하여 결정된다(예를 들어, 추가적인 스캐닝 커맨드는 스캔하라고 표시된 커맨드 이후에 결정되고, 스캐닝하라는 커맨드가 수정되는 등이다). 802에서, 스캔을 위한 포트 세트가 결정된다. 일부 실시예에서, 스캐닝할 포트는 스캐닝하라는 수신된 표시의 일부를 포함한다(예를 들어, 스캐닝하라는 표시는 스캔을 위한 포트를 나타낸다). 일부 실시예에서, 포트는 스캔하라고 표시된 커맨드에 적어도 부분적으로 기초하여 결정된다(예를 들어, 추가 포트는 스캔하라고 표시된 커맨드 이후에 결정되고, 포트가 수정되는 등이다). 804에서, 작업 부분 크기가 결정된다. 다양한 실시예에서, 작업 부분 크기는 미리 결정된 작업 부분 크기, 이용 가능한 스캐닝 노드 수, 스캐닝할 어드레스 수, 스캐닝할 어드레스 분포, 스캐닝할 어드레스와 연관된 물리적 위치, 이력 스캐닝 데이터, 현재 및 이력 조직 네트워크 풋프린트, 또는 임의의 다른 적절한 인자 중 하나 이상에 적어도 부분적으로 기초하여 결정된다. 806에서, 작업 부분 크기를 스캐닝하기 위한 네트워크 어드레스 세트의 일부가 선택된다. 다양한 실시예에서, 연속적인 네트워크 어드레스 세트가 선택되고/되거나, 불연속적인 네트워크 어드레스 세트가 선택되고/되거나, 무작위적 네트워크 어드레스 세트가 선택되고/되거나, 의사 난수의 네트워크 어드레스 세트가 선택되고/되거나, 공통의 조직 소유권을 갖는 네트워크 어드레스 세트 또는 공통 네트워크 관리가 선택되고/되거나, 여러 개의 고유한 게이트웨이 디바이스 및/또는 트래픽 집중기가 있는 네트워크 어드레스 세트가 선택되고/되거나, 또는 임의의 다른 적절한 방법으로 네트워크 어드레스 세트가 선택된다. 808에서, 작업 계획의 작업 부분은 네트워크 커맨드 세트를 사용하여 포트 세트의 일부를 스캐닝하라는 명령을 포함하여 생성된다. 810에서, 어드레스가 더(예를 들어, 작업 부분에 할당되지 않은 스캐닝할 네트워크 어드레스 세트가 더) 있는지 여부가 결정된다. 어드레스가 더 있다고 결정되는 경우, 제어는 806으로 넘어간다. 더 이상 어드레스가 없는 것으로 결정되는 경우, 프로세스는 종료된다.
도 9는 필요한 경우 작업 부분 결과에 기초하여 작업 계획을 수정하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예에서, 도 9의 프로세스는 도 7의 716을 구현한다. 도시된 예에서, 900에서, 작업 부분이 이전에 보여진 모든 결과를 포함하는지 여부가 결정된다. 일부 실시예에서, 이전에 보여진 결과는 이전에 보여진 디바이스 또는 서비스, 또는 응답이 없는 이전에 보여진 어드레스 또는 포트를 포함한다. 작업 부분 결과가 이전에 보여진 모든 결과를 포함하는 것으로 결정되는 경우, 프로세스는 종료된다(예를 들어, 작업 계획의 수정이 이루어지지 않는다). 작업 부분 결과가 이전에 보여진 모든 결과를 포함하지 않는 것이 결정되는 경우, 제어는 902로 넘어간다. 902에서, 작업 부분 결과가 이전에 온라인 디바이스인지 또는 서비스가 오프라인인지 여부가 결정된다. 이전에 온라인인 디바이스 또는 서비스가 오프라인 상태가 아니라고 결정되는 경우, 제어는 908로 넘어간다. 이전에 보여진 온라인 디바이스 또는 서비스가 오프라인 상태라고 결정되는 경우, 제어는 904로 넘어간다. 904에서, 하나 이상의 상이한 스캐닝 노드를 사용한 스캔의 재시도가 작업에 추가된다. 예를 들어, 스캔이 이전에 지정된 스캔과 상이한 선택된 스캐닝 노드에 할당된 상이한 작업 부분에 스캔이 추가되어 결과 스캔이 동일한 소스에서 시작된 것으로 나타나지 않는다. 다양한 실시예에서, 재시도는 무작위로 선택된 스캐닝 노드, 이전에 온라인인 디바이스 또는 서비스를 가장 최근에 스캔한 스캐닝 노드, 이전에 온라인인 디바이스가 오프라인으로 되었는지 여부를 결정하는 경우에만 사용되는 예비 스캐닝 노드, 또는 임의의 다른 적절한 스캐닝 노드를 사용하여 행해진다. 906에서, 하나 이상의 주변 스캔 위치가 작업에 추가된다. 일부 실시예에서, 하나 이상의 주변 스캔 위치를 스캐닝하는 것은 이동된 디바이스 또는 서비스를 찾을 수 있다. 일부 실시예에서, 근처 스캔 위치는 근처 어드레스를 포함한다. 일부 실시예에서, 근처 스캔 위치는 근처 포트를 포함한다. 908에서, 작업 부분 결과가 새로운 디바이스 또는 서비스를 나타내는지 여부가 결정된다. 작업 부분 결과가 새로운 디바이스 또는 서비스를 나타내지 않는 것으로 결정되는 경우, 프로세스는 종료된다. 작업 부분 결과가 새로운 디바이스 또는 서비스를 나타내는 것으로 결정되는 경우, 제어는 910으로 넘어간다. 910에서, 하나 이상의 후속 스캔이 작업에 추가된다. 일부 실시예에서, 후속 스캔은 새로 발견된 디바이스 또는 서비스에 대한 추가 정보를 수집하기 위한 스캔을 포함한다. 일부 실시예에서, 후속 스캔은 후속 프로브를 포함한다.
전술한 실시예가 이해의 명확성을 위해 일부 상세히 설명되었지만, 본 발명은 제공된 세부 사항에 제한되지 않는다. 발명을 구현하는 많은 대안이 있다. 개시된 실시예는 예시적이고 제한적인 것이 아니다.

Claims (20)

  1. 네트워크를 스캐닝하기 위한 시스템에 있어서,
    인터페이스; 및
    프로세서;를 포함하고,
    상기 인터페이스는 네트워크 어드레스 세트를 스캐닝하라는 표시를 수신하도록 구성되고,
    상기 프로세서는
    이용 가능한 스캐닝 노드 세트를 결정하고;
    상기 이용 가능한 스캐닝 노드 세트를 사용하여 상기 네트워크 어드레스 세트를 스캐닝하기 위한 작업 계획을 결정하고 - 상기 작업 계획은 하나 이상의 작업 부분을 포함함 -;
    상기 하나 이상의 작업 부분 중의 작업 부분에 대해
    상기 이용 가능한 스캐닝 노드 세트 중의 스캐닝 노드를 선택하고;
    상기 작업 부분을 상기 스캐닝 노드에 제공하도록; 구성되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  2. 제1항에 있어서,
    상기 프로세서는 익명화 시스템을 통해 상기 스캐닝 노드와 통신하는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  3. 제1항에 있어서,
    상기 하나 이상의 작업 부분 중의 작업 부분은 상기 네트워크 어드레스 세트의 일부를 스캐닝하라는 명령을 포함하는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  4. 제1항에 있어서,
    상기 하나 이상의 작업 부분 중의 작업 부분은 포트 세트를 포함하는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  5. 제1항에 있어서,
    상기 하나 이상의 작업 부분 중의 작업 부분은 스캐닝 커맨드 세트를 포함하는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  6. 제1항에 있어서,
    상기 스캐닝 노드는 상기 하나 이상의 작업 부분 중의 작업 부분에 적어도 부분적으로 기초하여 선택되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  7. 제1항에 있어서,
    상기 스캐닝 노드는 상기 스캐닝 노드의 물리적 위치에 적어도 부분적으로 기초하여 선택되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  8. 제1항에 있어서,
    상기 스캐닝 노드는 최근에 선택되지 않은 스캐닝 노드에 적어도 부분적으로 기초하여 선택되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  9. 제1항에 있어서,
    상기 스캐닝 노드는 무작위로 또는 의사 난수적으로 선택되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  10. 제1항에 있어서,
    상기 프로세서는 작업 계획 결과를 저장을 위해 데이터베이스에 제공하도록 추가로 구성되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  11. 제1항에 있어서,
    상기 프로세서는 상기 스캐닝 노드로부터 스캐닝 결과를 수신하도록 추가로 구성되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  12. 제11항에 있어서,
    상기 프로세서는 스캐닝 결과에 적어도 부분적으로 기초하여 상기 작업 계획을 수정하도록 추가로 구성되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  13. 제12항에 있어서,
    상기 작업 계획을 수정하는 것은 하나 이상의 상이한 스캐닝 노드를 사용하여 상기 하나 이상의 작업 부분 중의 작업 부분의 스캔의 재시도를 추가하는 것을 포함하는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  14. 제12항에 있어서,
    상기 작업 계획을 수정하는 것은 하나 이상의 근처 스캔 위치를 상기 작업 부분에 추가하는 것을 포함하는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  15. 제12항에 있어서,
    상기 작업 계획을 수정하는 것은 나 이상의 후속 스캔을 상기 작업 부분에 추가하는 것을 포함하는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  16. 제1항에 있어서,
    상기 이용 가능한 스캐닝 노드 세트는 클라우드 컴퓨팅 하드웨어를 사용하여 구현되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  17. 제1항에 있어서,
    상기 이용 가능한 스캐닝 노드 세트는 상기 네트워크를 스캐닝하기 위한 시스템과는 상이한 시스템을 사용하여 구현되는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  18. 제1항에 있어서,
    상기 이용 가능한 스캐닝 노드 세트는 상기 네트워크를 스캐닝하기 위한 시스템과의 연관성을 식별하기 위해 공개적으로 볼 수 있는 정보를 포함하지 않는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 시스템.
  19. 네트워크를 스캐닝하는 방법에 있어서,
    네트워크 어드레스 세트를 스캐닝하라는 표시를 수신하는 단계;
    프로세서를 사용하여 이용 가능한 스캐닝 노드 세트를 결정하는 단계;
    상기 이용 가능한 스캐닝 노드 세트를 사용하여 상기 네트워크 어드레스 세트를 스캐닝하기 위한 작업 계획을 결정하는 단계 - 상기 작업 계획은 하나 이상의 작업 부분을 포함함 -;
    상기 하나 이상의 작업 부분 중의 작업 부분에 대해
    상기 이용 가능한 스캐닝 노드 세트 중의 스캐닝 노드를 선택하는 단계; 및
    상기 작업 부분을 상기 스캐닝 노드에 제공하는 단계;를 포함하는 것을 특징으로 하는 네트워크를 스캐닝하는 방법.
  20. 네트워크를 스캐닝하기 위한 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 프로그램 제품은 비일시적 컴퓨터 판독 가능 저장 매체에 구현되고,
    상기 컴퓨터 프로그램 제품은
    네트워크 어드레스 세트를 스캐닝하라는 표시를 수신하는 컴퓨터 명령;
    이용 가능한 스캐닝 노드 세트를 결정하는 컴퓨터 명령;
    상기 이용 가능한 스캐닝 노드 세트를 사용하여 상기 네트워크 어드레스 세트를 스캐닝하기 위한 작업 계획을 결정하는 컴퓨터 명령 - 상기 작업 계획은 하나 이상의 작업 부분을 포함함 -;
    상기 하나 이상의 작업 부분 중의 작업 부분에 대해
    상기 이용 가능한 스캐닝 노드 세트 중의 스캐닝 노드를 선택하는 컴퓨터 명령; 및
    상기 작업 부분을 상기 스캐닝 노드에 제공하는 컴퓨터 명령;을 포함하는 것을 특징으로 하는 네트워크를 스캐닝하기 위한 컴퓨터 프로그램 제품.
KR1020197027384A 2017-03-22 2017-12-08 분산 스캐닝 KR20200006521A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/466,735 US11102231B2 (en) 2017-03-22 2017-03-22 Distributed scanning
US15/466,735 2017-03-22
PCT/US2017/065430 WO2018174974A1 (en) 2017-03-22 2017-12-08 Distributed scanning

Publications (1)

Publication Number Publication Date
KR20200006521A true KR20200006521A (ko) 2020-01-20

Family

ID=63583770

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197027384A KR20200006521A (ko) 2017-03-22 2017-12-08 분산 스캐닝

Country Status (8)

Country Link
US (2) US11102231B2 (ko)
EP (2) EP4213445A1 (ko)
JP (1) JP2020510368A (ko)
KR (1) KR20200006521A (ko)
CN (1) CN110463154A (ko)
AU (1) AU2017404749A1 (ko)
CA (1) CA3053260A1 (ko)
WO (1) WO2018174974A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL263958B (en) * 2018-12-25 2020-05-31 Hayman Meir Method and system for identifying vulnerability levels in devices operated on a given network
CN114050940A (zh) * 2022-01-10 2022-02-15 北京华云安信息技术有限公司 一种资产漏洞探测方法、装置和电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212779A1 (en) * 2002-04-30 2003-11-13 Boyter Brian A. System and Method for Network Security Scanning
US7761918B2 (en) 2004-04-13 2010-07-20 Tenable Network Security, Inc. System and method for scanning a network
US20070005738A1 (en) 2005-06-29 2007-01-04 Microsoft Corporation Automated remote scanning of a network for managed and unmanaged devices
US8595839B2 (en) 2011-01-21 2013-11-26 International Business Machines Corporation Selecting one of a plurality of scanner nodes to perform scan operations for an interface node receiving a file request
US9043920B2 (en) * 2012-06-27 2015-05-26 Tenable Network Security, Inc. System and method for identifying exploitable weak points in a network
US9088606B2 (en) * 2012-07-05 2015-07-21 Tenable Network Security, Inc. System and method for strategic anti-malware monitoring
US9319424B2 (en) 2013-06-18 2016-04-19 Ccs-Inc. Methods and systems for complying with network security requirements
US9191409B2 (en) * 2013-11-25 2015-11-17 Level 3 Communications, Llc System and method for a security asset manager
US9729390B2 (en) 2015-04-22 2017-08-08 LARC Networks, Inc. Dead drop network architecture
US10129239B2 (en) * 2015-05-08 2018-11-13 Citrix Systems, Inc. Systems and methods for performing targeted scanning of a target range of IP addresses to verify security certificates
US9544327B1 (en) 2015-11-20 2017-01-10 International Business Machines Corporation Prioritizing security findings in a SAST tool based on historical security analysis
CN106161450B (zh) 2016-07-20 2019-12-20 上海携程商务有限公司 分布式https监控方法
US20180270109A1 (en) * 2017-03-15 2018-09-20 Microsoft Technology Licensing, Llc Management of network device configuration settings

Also Published As

Publication number Publication date
US20210367965A1 (en) 2021-11-25
CA3053260A1 (en) 2018-09-27
EP3602993A4 (en) 2020-10-14
US20180278626A1 (en) 2018-09-27
EP3602993A1 (en) 2020-02-05
EP3602993B1 (en) 2023-04-19
JP2020510368A (ja) 2020-04-02
US11102231B2 (en) 2021-08-24
EP4213445A1 (en) 2023-07-19
WO2018174974A1 (en) 2018-09-27
AU2017404749A1 (en) 2019-09-26
CN110463154A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
JP7304442B2 (ja) クラウドベースの認証、承認、及びユーザ管理サービスの発見及びマッピング
US20220321582A1 (en) Hierarchical scanning of internet connected assets
US10250677B1 (en) Decentralized network address control
US9942050B2 (en) Method and apparatus for bulk authentication and load balancing of networked devices
US20210367965A1 (en) Distributed scanning
US11526564B2 (en) Triggered scanning based on network available data change
US10834144B2 (en) Hub and agent communication through a firewall
US10749857B2 (en) Network mapping using a fingerprint
US11170011B2 (en) Triggered scanning using provided configuration information