KR20200006036A - Scanning triggered based on data changes available on the network - Google Patents

Scanning triggered based on data changes available on the network Download PDF

Info

Publication number
KR20200006036A
KR20200006036A KR1020197027383A KR20197027383A KR20200006036A KR 20200006036 A KR20200006036 A KR 20200006036A KR 1020197027383 A KR1020197027383 A KR 1020197027383A KR 20197027383 A KR20197027383 A KR 20197027383A KR 20200006036 A KR20200006036 A KR 20200006036A
Authority
KR
South Korea
Prior art keywords
indication
scanning
query
network
scanning query
Prior art date
Application number
KR1020197027383A
Other languages
Korean (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 KR20200006036A publication Critical patent/KR20200006036A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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

Abstract

이벤트 기반 쿼리를 위한 시스템은 입력 인터페이스 및 프로세서를 포함한다. 입력 인터페이스는 외부 시스템으로부터 표시를 수신하도록 구성된다. 프로세서는 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하고; 스캐닝 쿼리를 수행하도록 구성된다. The system for event based query includes an input interface and a processor. The input interface is configured to receive an indication from an external system. The processor determines a scanning query based at least in part on the indication; Configured to perform a scanning query.

Description

네트워크에서 이용 가능한 데이터 변경에 기초하여 트리거된 스캐닝Scanning triggered based on data changes available on the network

인터넷에 연결된 자산(asset)(예를 들어, 컴퓨터, 모바일 디바이스, 서버 시스템, 클라이언트 시스템, 사물 인터넷 디바이스 등)에는 인터넷과 통신하는 컴퓨팅 시스템이 포함된다. 인터넷에 연결된 자산에는 일반적으로 하나 이상의 공개적으로 어드레싱 가능한 통신 포트가 있어, 인터넷에 연결된 디바이스가 자산에 쿼리(query)할 수 있다. 일부 디바이스는 하나 이상의 공개적으로 액세스 가능한 포트를 통해 다양한 연결 유형(예를 들어, 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol, HTTP) 연결, 보안 하이퍼텍스트 전송 프로토콜(secure hypertext transfer protocol, HTTPS) 연결, 파일 전송 프로토콜(file transfer protocol, FTP) 연결, 보안 파일 전송 프로토콜(secure file transfer protocol, FTPS) 연결, 텔넷 연결, 보안 쉘(secure shell, SSH) 연결 등)을 허용한다. 인터넷에 연결된 자산은 다양한 구성 옵션을 포함하여 광범위한 소프트웨어를 실행하는 다양한 상이한 유형의 하드웨어 디바이스가 될 수 있으며, 보안 취약점에 대한 무수한 가능성을 창출한다. 통상적인 시스템 관리자는 그의 또는 그녀의 감시 하에 모든 시스템의 모든 세부 사항을 숙지하지 못할 수 있으므로, 시스템 취약점이 감지되지 않고 수정되지 않을 수 있는 문제가 생긴다. 시스템 변경이 발생하는 경우(예를 들어, 네트워크에서 이용 가능한 데이터에 의해 표시된 시스템 변경), 시스템 관리자는 변경된 시스템에 취약점이 없다(예를 들어, 시스템 수정으로 모든 취약점을 수정하는 데 성공했다, 시스템 변경으로 인해 새로운 취약점이 생성되지 않았다, 새로 발견된 취약점은 관련이 없다 등)고 확신하기 어려울 수 있다.Assets connected to the Internet (eg, computers, mobile devices, server systems, client systems, Internet of Things devices, etc.) include computing systems that communicate with the Internet. Assets connected to the Internet typically have one or more publicly addressable communication ports, so that devices connected to the Internet can query the asset. Some devices use a variety of connection types (e.g., hypertext transfer protocol (HTTP) connections, secure hypertext transfer protocol (HTTPS) connections, file transfers) through one or more publicly accessible ports. File transfer protocol (FTP) connections, secure file transfer protocol (FTPS) connections, telnet connections, secure shell (SSH) connections, etc.). Assets connected to the Internet can be a variety of different types of hardware devices running a wide range of software, including a variety of configuration options, creating myriad possibilities for security vulnerabilities. A typical system administrator may not be aware of all the details of every system under his or her supervision, resulting in problems that system vulnerabilities are not detected and cannot be fixed. If a system change occurs (e.g., a system change indicated by data available on the network), the system administrator is not vulnerable to the changed system (e.g., system modifications have successfully fixed all the vulnerabilities). Changes did not create new vulnerabilities, new discovered vulnerabilities are irrelevant, etc.).

본 발명의 다양한 실시예가 다음의 상세한 설명 및 첨부 도면에 개시된다.
도 1은 네트워크 시스템의 일 실시예를 도시하는 블록도이다.
도 2는 네트워크 시스템의 일 실시예를 도시하는 블록도이다.
도 3은 스캐닝 시스템의 일 실시예를 도시하는 블록도이다.
도 4는 트리거된 스캐닝에 대한 프로세스의 일 실시예를 도시하는 흐름도이다.
도 5는 표시(indication)에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다.
도 6은 스캐닝 쿼리를 수행하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다.
도 7은 네트워크 상태 디스플레이를 제공하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
1 is a block diagram illustrating one embodiment of a network system.
2 is a block diagram illustrating one embodiment of a network system.
3 is a block diagram illustrating one embodiment of a scanning system.
4 is a flow diagram illustrating one embodiment of a process for triggered scanning.
5 is a flow diagram illustrating one embodiment of a process for determining a scanning query based at least in part on an indication.
6 is a flow diagram illustrating one embodiment of a process for performing a scanning query.
7 is a flow diagram illustrating one embodiment of a process for providing a network status display.

본 발명은 프로세스; 장치; 시스템; 물질의 조성; 컴퓨터 판독 가능한 저장 매체 상에 구현된 컴퓨터 프로그램 제품; 및/또는 프로세서에 결합된 메모리에 저장되고/되거나 제공된 명령을 실행하도록 구성된 프로세서와 같은 프로세서를 포함하여, 다양한 방식으로 구현될 수 있다. 본 명세서에서, 이러한 구현 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술로 지칭될 수 있다. 일반적으로, 개시된 프로세스의 단계의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 언급하지 않는 한, 태스크를 수행하도록 구성된 것으로서 설명된 프로세서 또는 메모리와 같은 컴포넌트는 주어진 시간에 태스크를 수행하도록 일시적으로 구성된 일반적인 컴포넌트 또는 태스크를 수행하도록 제조된 특정 컴포넌트로 구현될 수 있다. 본 명세서에서 사용된 용어 '프로세서'는 컴퓨터 프로그램 명령과 같은 데이터를 처리하도록 구성된 하나 이상의 디바이스, 회로, 및/또는 프로세싱 코어를 지칭한다.The present invention is a process; Device; system; Composition of the substance; A computer program product implemented on a computer readable storage medium; And / or a processor, such as a processor configured to execute instructions stored and / or provided in memory coupled to the processor. In this specification, such an implementation or any other form that the invention may take may be referred to as a technology. In general, the order of the steps of the disclosed process may be varied within the scope of the present invention. Unless stated otherwise, a component, such as a processor or memory, described as being configured to perform a task may be implemented as a generic component that is temporarily configured to perform a task at a given time or a specific component that is manufactured to perform a task. The term processor, as used herein, refers to one or more devices, circuits, and / or processing cores configured to process data, such as computer program instructions.

본 발명의 하나 이상의 실시예에 대한 상세한 설명이 본 발명의 원리를 도시하는 첨부 도면과 함께 아래에 제공된다. 본 발명은 이러한 실시예와 관련하여 설명되지만, 본 발명은 임의의 실시예에 제한되지 않는다. 본 발명의 범위는 청구항에 의해서만 제한되며, 본 발명은 다수의 대안, 수정, 및 균등물을 포함한다. 본 발명의 완전한 이해를 제공하기 위해 다수의 특정 세부 사항이 다음의 설명에서 설명된다. 이러한 세부 사항은 예시를 위해 제공되며, 본 발명은 이러한 특정 세부 사항의 일부 또는 전부 없이 청구항에 따라 실시될 수 있다. 명료함을 위해, 본 발명과 관련된 기술 분야에서 공지된 기술 재료는 본 발명이 불필요하게 불명료하게 되지 않도록 상세하게 설명되지 않았다.DETAILED DESCRIPTION A detailed description of one or more embodiments of the invention is provided below in conjunction with the accompanying drawings which illustrate the principles of the invention. Although the invention is described in connection with such embodiments, the invention is not limited to any embodiment. The scope of the invention is limited only by the claims, and the invention includes many alternatives, modifications, and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the present invention. These details are provided for the purpose of illustration and the invention may be practiced according to the claims without some or all of these specific details. For clarity, technical materials known in the art related to the present invention have not been described in detail so as not to unnecessarily obscure the present invention.

이벤트 기반 쿼리를 위한 시스템은 외부 시스템으로부터 표시를 수신하기 위한 입력 인터페이스, 및 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하고 스캐닝 쿼리를 수행하는 프로세서를 포함한다. 일부 실시예에서, 이벤트 기반 쿼리를 위한 시스템은 프로세서에 결합되고 프로세서에 명령을 제공하도록 구성된 메모리를 포함한다.The system for event-based queries includes an input interface for receiving an indication from an external system, and a processor that determines a scanning query and performs the scanning query based at least in part on the indication. In some embodiments, the system for event based queries includes a memory coupled to the processor and configured to provide instructions to the processor.

일부 실시예에서, 이벤트 기반 쿼리를 위한 시스템은 외부 시스템으로부터의 표시에 응답하여 스캔을 수행하기 위한 시스템을 포함한다. 일부 실시예에서, 외부 시스템으로부터의 표시는 변경의 표시를 포함한다. 다양한 실시예에서, 외부 시스템으로부터의 표시는 수동으로 결정된 표시, 자동 표시, 취약점 표시, 공개된 뉴스 기사로부터 결정된 표시, 인터넷 게시물로부터 결정된 표시, 기존 운영 코드에 대한 심각한 위협 또는 '제로 데이(zero-day)' 취약점의 공개 릴리스 또는 공개물, 기존 운영 코드에 대한 심각한 위협 또는 '제로 데이' 취약점의 제한된 비공개 릴리스 또는 공개물, 경계 게이트웨이 프로토콜(border gateway protocol, BGP) 경로 변경 표시, 도메인 네임 시스템(Domain Name System, DNS) 변경 표시, 인터넷 프로토콜(internet protocol, IP) 어드레스 변경 표시, 지역 인터넷 레지스트리(Regional Internet Registry, RIR) 변경 표시, 회사 합병, 인수, 또는 매각 표시, 변경된 시스템의 표시, 변경된 서비스의 표시, 또는 임의의 다른 적절한 표시를 포함한다. 일부 실시예에서, 이벤트 기반 쿼리를 위한 시스템은 외부 시스템으로부터 표시를 수신하고, 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정한다. 일부 실시예에서, 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하는 것은 표시(예를 들어, 어드레스, 어드레스에 대한 포트, 및 사용할 스캔 유형을 포함함)에 의해 표시된 스캔을 결정하는 것을 포함한다. 일부 실시예에서, 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하는 것은 스캐닝 쿼리를 확장하는 것(예를 들어, 추가 어드레스, 포트, 및/또는 스캔 유형을 결정)을 포함한다. 그 다음에, 이벤트 기반 쿼리를 위한 시스템은 스캔을 수행한다. 일부 실시예에서, 이벤트 기반 쿼리를 위한 시스템은 네트워크 상태 디스플레이를 제공한다. 다양한 실시예에서, 네트워크 상태 디스플레이는 이력적으로 적절하게 구성된 시스템(예를 들어, 표시가 수신되기 전에 적절하게 구성된 것으로 알려진 시스템), 이력적 취약점, 스캔으로부터 결정된 적절하게 구성된 시스템, 스캔으로부터 결정된 취약점, 또는 임의의 다른 적절한 네트워크 상태 디스플레이 정보를 포함한다.In some embodiments, the system for event based queries includes a system for performing a scan in response to an indication from an external system. In some embodiments, the indication from the external system includes an indication of the change. In various embodiments, an indication from an external system may be a manually determined indication, an automatic indication, a vulnerability indication, an indication determined from a published news article, an indication determined from an Internet post, a serious threat to existing operational code, or a 'zero-day'. public release or publication of the 'day' vulnerability, a serious threat to existing production code, or a restricted private release or publication of the 'zero day' vulnerability, border gateway protocol (BGP) redirection indication, domain name system ( Domain Name System (DNS) change indication, Internet protocol (IP) address change indication, Regional Internet Registry (RIR) change indication, company merger, acquisition, or sale indication, indication of changed system, changed service Or any other suitable indication. In some embodiments, the system for event-based queries receives an indication from an external system and determines a scanning query based at least in part on the indication. In some embodiments, determining the scanning query based at least in part on the indication includes determining the scan indicated by the indication (eg, including the address, the port for the address, and the type of scan to use). In some embodiments, determining the scanning query based at least in part on the indication includes extending the scanning query (eg, determining additional addresses, ports, and / or scan types). The system for event based queries then performs a scan. In some embodiments, the system for event based queries provides a network status display. In various embodiments, the network status display may be a historically properly configured system (eg, a system known to be properly configured before the indication is received), a historical vulnerability, a properly configured system determined from the scan, a vulnerability determined from the scan. Or any other suitable network status display information.

도 1은 네트워크 시스템의 일 실시예를 도시하는 블록도이다. 도시된 예에서, 네트워크 시스템은 인터넷에 연결된 자산을 스캐닝하기 위한 시스템을 포함한다. 네트워크 시스템은 네트워크(100)를 포함한다. 다양한 실시예에서, 네트워크(100)는 로컬 영역 네트워크, 광역 네트워크, 유선 네트워크, 무선 네트워크, 인터넷, 인트라넷, 저장 영역 네트워크, 또는 임의의 다른 적절한 통신 네트워크 중 하나 이상을 포함한다. 관리자 시스템(102) 및 스캐닝 시스템(104)은 네트워크(100)를 통해 통신한다. 관리자 시스템(102)은 관리자를 위한 시스템을 포함한다. 다양한 실시예에서, 관리자 시스템(102)은 관리자가 애플리케이션 시스템 상의 애플리케이션에 액세스하거나, 데이터베이스 시스템 상의 데이터에 액세스하거나, 스캐닝 시스템(104)에 스캔을 수행하도록 지시하거나, 네트워크 시스템(예를 들어, 네트워크 시스템(106))을 구성하거나, 네트워크 시스템으로부터 데이터를 수신하거나, 임의의 다른 적절한 목적을 위한 관리자를 위한 시스템을 포함한다. 일부 실시예에서, 관리자 시스템(102)은 클라이언트 시스템을 위한 관리자 시스템을 포함한다. 다양한 실시예에서, 클라이언트 시스템은 (예를 들어, 스캐닝 시스템(104)으로부터) 스캔을 요청하는 시스템, 스캔을 요청하는 시스템과 연관된 네트워크 시스템, 관리자 시스템(예를 들어, 관리자 시스템(102)), 또는 임의의 다른 적절한 클라이언트 시스템을 포함한다. 일부 실시예에서, 관리자 시스템(102)은 프로세서 및 메모리를 포함한다.1 is a block diagram illustrating one embodiment of a network system. In the example shown, the network system includes a system for scanning an asset connected to the Internet. The network system includes a network 100. In various embodiments, network 100 includes one or more of a local area network, a wide area network, a wired network, a wireless network, the Internet, an intranet, a storage area network, or any other suitable communication network. Manager system 102 and scanning system 104 communicate over network 100. Manager system 102 includes a system for administrators. In various embodiments, administrator system 102 may instruct an administrator to access an application on an application system, to access data on a database system, to instruct scanning system 104 to perform a scan, or to a network system (eg, a network). System 106, or includes a system for an administrator for receiving data from a network system or for any other suitable purpose. In some embodiments, manager system 102 includes a manager system for a client system. In various embodiments, the client system may be a system requesting a scan (eg, from scanning system 104), a network system associated with the system requesting a scan, an administrator system (eg, manager system 102), Or any other suitable client system. In some embodiments, manager system 102 includes a processor and a memory.

스캐닝 시스템(104)은 네트워크 시스템을 스캐닝하기 위한 시스템을 포함한다. 일부 실시예에서, 스캐닝 시스템(104)은 관리자 시스템(102)으로부터의 커맨드에 응답하여 네트워크 시스템을 스캐닝하기 위한 시스템을 포함한다. 일부 실시예에서, 스캐닝 시스템(104)은 네트워크 시스템 세트(예를 들어, 네트워크 시스템(106), 네트워크 시스템(108), 네트워크 시스템(110), 네트워크 시스템(112), 네트워크 시스템(114), 네트워크 시스템(116), 네트워크 시스템(118), 및 네트워크 시스템)을 스캐닝하기 위한 시스템을 포함한다. 일부 실시예에서, 네트워크 시스템을 스캐닝하는 것은 네트워크 시스템에 페이로드를 제공하고 응답이 수신되는지를 결정하는 것을 포함한다. 일부 실시예에서, 네트워크 시스템을 스캐닝하는 것은 수신된 응답에 적어도 부분적으로 기초하여 후속 프로브(probe)를 사용하여 네트워크 시스템을 스캐닝하는 것을 포함한다. 일부 실시예에서, 스캐닝 시스템(104)은 모든 액세스 가능한 포트 상의 모든 액세스 가능한 네트워크 시스템에 페이로드를 제공하고, 더 많은 정보에 액세스 가능함을 나타내는 임의의 수신된 응답에 대해 적절한 후속 프로브로 후속 조치를 취하기 위한 시스템을 포함한다. 일부 실시예에서, 스캐닝 시스템(104)은 프로세서 및 메모리를 포함한다. 도 1의 각각의 네트워크 시스템(예를 들어, 네트워크 시스템(106))은 인터넷에 연결된 시스템(예를 들어, 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 서버 시스템, 사물 인터넷 디바이스 등)을 포함한다. 일부 실시예에서, 네트워크 시스템은 외부 시스템을 포함한다. 일부 실시예에서, 외부 시스템은 클라이언트 시스템의 일부가 아닌 네트워크 시스템을 포함한다. 다양한 실시예에서, 도 1의 시스템은 8개, 13개, 197개, 2222개, 1백만개, 1억개, 또는 임의의 다른 적절한 개수의 네트워크 시스템을 포함한다.Scanning system 104 includes a system for scanning a network system. In some embodiments, scanning system 104 includes a system for scanning a network system in response to a command from manager system 102. In some embodiments, scanning system 104 is a set of network systems (eg, network system 106, network system 108, network system 110, network system 112, network system 114, network). System 116, network system 118, and network system). In some embodiments, scanning the network system includes providing a payload to the network system and determining if a response is received. In some embodiments, scanning the network system includes scanning the network system using subsequent probes based at least in part on the received response. In some embodiments, scanning system 104 provides payloads to all accessible network systems on all accessible ports and takes follow-up with appropriate subsequent probes for any received response indicating that more information is accessible. It includes a system for taking. In some embodiments, scanning system 104 includes a processor and a memory. Each network system (eg, network system 106) of FIG. 1 includes a system (eg, desktop computer, laptop computer, smartphone, tablet computer, server system, Internet of Things device, etc.) connected to the Internet. do. In some embodiments, the network system includes an external system. In some embodiments, the external system includes a network system that is not part of the client system. In various embodiments, the system of FIG. 1 includes 8, 13, 197, 2222, 1 million, 100 million, or any other suitable number of network systems.

도 2는 네트워크 시스템의 일 실시예를 도시하는 블록도이다. 일부 실시예에서, 네트워크 시스템(200)은 도 1의 네트워크 시스템(예를 들어, 네트워크 시스템(106))을 포함한다. 도시된 예에서, 네트워크 시스템(200)은 프로세서(202), 데이터 스토리지(204), 및 네트워크 인터페이스(206)를 포함한다. 일부 실시예에서, 네트워크 시스템(200)은 인터넷에 연결된 자산(예컨대, 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 서버 시스템, 사물 인터넷 디바이스, 또는 임의의 다른 적절한 인터넷에 연결된 자산)을 포함한다. 다양한 실시예에서, 프로세서(202)는 명령을 실행하고, 데이터를 처리하고, 커맨드에 응답하는 등의 프로세서를 포함한다. 다양한 실시예에서, 프로세서(202)는 범용 프로세서, 마이크로컨트롤러, 병렬 처리 시스템, 프로세서의 클러스터, 또는 임의의 다른 적절한 프로세서를 포함한다. 다양한 실시예에서, 데이터 스토리지(204)는 데이터 저장, 프로세서(202)에 대한 명령 저장, 구성 정보 저장, 또는 임의의 다른 적절한 정보 저장을 위한 데이터 스토리지를 포함한다. 다양한 실시예에서, 데이터 스토리지(204)는 휘발성 메모리, 비휘발성 메모리, 자기 메모리, 광학 메모리, 상 변화 메모리, 반도체 메모리, 디스크 메모리, 테이프 메모리, 또는 임의의 다른 적절한 메모리 중 하나 이상을 포함한다. 네트워크 인터페이스(206)는 네트워크와 통신하기 위한 네트워크 인터페이스를 포함한다. 도시된 예에서, 네트워크 인터페이스(206)는 네트워크 통신 정보(208) 및 복수의 포트(예를 들어, 포트(210))를 포함한다. 다양한 실시예에서, 네트워크 통신 정보는 네트워크 통신 소프트웨어, 네트워크 통신 설정, 네트워크 통신 데이터, 또는 임의의 다른 적절한 네트워크 통신 정보를 포함한다. 복수의 포트는 물리적 포트(예를 들어, 케이블을 네트워크 시스템(200)에 연결하기 위한 플러그) 또는 가상 포트(예를 들어, 가상 포트 번호로 식별되는 가상 통신 채널)를 포함한다. 일부 실시예에서, 네트워크 인터페이스(206)는 네트워크 어드레스(예를 들어, 외부 네트워크 어드레싱 권한에 의해 할당된 네트워크 어드레스)를 포함한다. 일부 실시예에서, 네트워크 시스템(200)과의 통신은 포트 번호와 함께 네트워크(200)의 네트워크 어드레스를 표시함으로써 특정된다. 일부 실시예에서, 네트워크 인터페이스(206)의 일부 포트는 통신을 위해 구성되고 일부는 통신에 응답하지 않도록 구성된다. 일부 실시예에서, 일부 포트는 하나 이상의 특정 통신 프로토콜(예를 들어, HTTP, FTP, SSH 등)과 연관된다. 일부 실시예에서, 네트워크 인터페이스(206)는 통신 사양의 세트에 따라 구성된 통신 소프트웨어의 세트를 실행하는 네트워크 하드웨어의 세트(예를 들어, 모뎀)를 포함한다.2 is a block diagram illustrating one embodiment of a network system. In some embodiments, network system 200 includes the network system (eg, network system 106) of FIG. 1. In the example shown, network system 200 includes a processor 202, a data storage 204, and a network interface 206. In some embodiments, network system 200 includes assets connected to the Internet (eg, desktop computers, laptop computers, smartphones, tablet computers, server systems, Internet of Things devices, or any other suitable Internet-connected asset). . In various embodiments, processor 202 includes a processor for executing instructions, processing data, responding to commands, and the like. In various embodiments, processor 202 includes a general purpose processor, microcontroller, parallel processing system, cluster of processors, or any other suitable processor. In various embodiments, data storage 204 includes data storage for data storage, instruction storage for processor 202, configuration information storage, or any other suitable information storage. In various embodiments, data storage 204 includes one or more of volatile memory, nonvolatile memory, magnetic memory, optical memory, phase change memory, semiconductor memory, disk memory, tape memory, or any other suitable memory. Network interface 206 includes a network interface for communicating with a network. In the example shown, network interface 206 includes network communication information 208 and a plurality of ports (eg, port 210). In various embodiments, network communication information includes network communication software, network communication settings, network communication data, or any other suitable network communication information. The plurality of ports includes a physical port (eg, a plug for connecting a cable to the network system 200) or a virtual port (eg, a virtual communication channel identified by a virtual port number). In some embodiments, network interface 206 includes a network address (eg, a network address assigned by an external network addressing authority). In some embodiments, communication with network system 200 is specified by indicating the network address of network 200 along with the port number. In some embodiments, some ports of network interface 206 are configured for communication and some are configured not to respond to the communication. In some embodiments, some ports are associated with one or more specific communication protocols (eg, HTTP, FTP, SSH, etc.). In some embodiments, network interface 206 includes a set of network hardware (eg, a modem) that executes a set of communication software configured according to a set of communication specifications.

도 3은 스캐닝 시스템의 일 실시예를 도시하는 블록도이다. 일부 실시예에서, 스캐닝 시스템(300)은 도 1의 스캐닝 시스템(104)을 포함한다. 일부 실시예에서, 스캐닝 시스템(300)은 서버 시스템을 포함한다. 도시된 예에서, 네트워크 시스템(300)은 프로세서(302), 데이터 스토리지(304), 및 네트워크 인터페이스(306)를 포함한다. 다양한 실시예에서, 프로세서(302)는 명령을 실행하고, 데이터를 처리하고, 커맨드에 응답하는 등의 프로세서를 포함한다. 다양한 실시예에서, 프로세서(302)는 범용 프로세서, 마이크로컨트롤러, 병렬 처리 시스템, 프로세서의 클러스터, 또는 임의의 다른 적절한 프로세서를 포함한다. 일부 실시예에서, 프로세서(302)는 네트워크 스캐너(308)를 포함한다. 다양한 실시예에서, 네트워크 스캐너(308)는 계층적 스캐닝 시스템 기능을 구현하는 소프트웨어 및/또는 하드웨어를 포함한다. 양한 실시예에서, 데이터 스토리지(304)는 데이터 저장, 프로세서(302)에 대한 명령 저장, 구성 정보 저장, 또는 임의의 다른 적절한 정보 저장을 위한 데이터 스토리지를 포함한다. 다양한 실시예에서, 데이터 스토리지(304)는 휘발성 메모리, 비휘발성 메모리, 자기 메모리, 광학 메모리, 상 변화 메모리, 반도체 메모리, 디스크 메모리, 테이프 메모리, 또는 임의의 다른 적절한 메모리 중 하나 이상을 포함한다. 도시된 예에서, 데이터 스토리지(304)는 네트워크 디바이스에 제공하기 위한 페이로드를 저장하기 위한 페이로드 데이터베이스(310)를 포함한다. 일부 실시예에서, 페이로드는 응답을 유도하기 위해 네트워크 디바이스를 프로빙하기 위한 작은 데이터 패킷을 포함한다. 데이터 스토리지(304)는 네트워크 디바이스와 상호 작용하기 위한 후속 프로브를 저장하기 위한 후속 프로브 데이터베이스(312)를 추가로 포함한다. 일부 실시예에서, 후속 프로브는 네트워크 디바이스에 관한 정보를 결정하기 위해 네트워크 디바이스와 상호 작용하기 위한 소프트웨어를 포함한다. 일부 실시예에서, 후속 프로브 데이터베이스(312)는 후속 프로브 세트를 포함하며, 후속 프로브 각각은 네트워크 디바이스에 대한 데이터를 검색하기 위한 특정 방식(예를 들어, 보안 HTTP(HTTPS) 연결 설정 및 암호화된 웹 페이지 다운로드)으로 네트워크 디바이스와 상호 작용하도록 설계된다. 일부 실시예에서, 후속 프로브가 네트워크 디바이스로부터 데이터를 수신하는 데 성공할 것으로 결정되면 후속 프로브는 네트워크 디바이스와 상호 작용하기 위해 사용된다. 데이터 저장 디바이스(304)는 (예를 들어, 페이로드 또는 후속 프로브를 사용하여) 네트워크 디바이스와 상호 작용한 결과 수신된 네트워크 정보를 저장하기 위한 네트워크 정보 데이터베이스(314)를 추가로 포함한다. 일부 실시예에서, 네트워크 정보는 (예를 들어, 스토리지 서버, 상이한 계층적 스캐닝 시스템, 클라우드 스토리지 등에) 원격으로 저장된다. 도시된 예에서, 네트워크 인터페이스(306)는 네트워크를 통해 원격 시스템과 상호 작용하기 위한 네트워크 인터페이스를 포함한다. 다양한 실시예에서, 네트워크 인터페이스(306)는 페이로드를 제공하거나, 후속 프로브를 위한 통신을 실행하거나, 네트워크 정보를 수신하거나, 또는 임의의 다른 적절한 목적을 위한 네트워크 인터페이스를 포함한다. 일부 실시예에서, 네트워크 인터페이스(306)는 고 대역폭 통신을 위해 구성된 네트워크 인터페이스를 포함한다.3 is a block diagram illustrating one embodiment of a scanning system. In some embodiments, scanning system 300 includes scanning system 104 of FIG. 1. In some embodiments, scanning system 300 includes a server system. In the example shown, network system 300 includes a processor 302, data storage 304, and a network interface 306. In various embodiments, processor 302 includes a processor for executing instructions, processing data, responding to commands, and the like. In various embodiments, processor 302 includes a general purpose processor, microcontroller, parallel processing system, cluster of processors, or any other suitable processor. In some embodiments, processor 302 includes a network scanner 308. In various embodiments, network scanner 308 includes software and / or hardware that implements hierarchical scanning system functionality. In various embodiments, data storage 304 includes data storage for data storage, instruction storage for processor 302, configuration information storage, or any other suitable information storage. In various embodiments, data storage 304 includes one or more of volatile memory, nonvolatile memory, magnetic memory, optical memory, phase change memory, semiconductor memory, disk memory, tape memory, or any other suitable memory. In the example shown, data storage 304 includes a payload database 310 for storing payload for providing to a network device. In some embodiments, the payload includes small data packets for probing the network device to elicit a response. Data storage 304 further includes a subsequent probe database 312 for storing subsequent probes for interacting with the network device. In some embodiments, subsequent probes include software for interacting with the network device to determine information about the network device. In some embodiments, subsequent probe database 312 includes a subsequent set of probes, each subsequent probe having a specific manner for retrieving data for a network device (eg, secure HTTP (HTTPS) connection establishment and encrypted web). Page is designed to interact with network devices). In some embodiments, the subsequent probe is used to interact with the network device if it is determined that the subsequent probe will succeed in receiving data from the network device. The data storage device 304 further includes a network information database 314 for storing network information received as a result of interacting with the network device (eg, using a payload or subsequent probe). In some embodiments, network information is stored remotely (eg, storage servers, different hierarchical scanning systems, cloud storage, etc.). In the example shown, network interface 306 includes a network interface for interacting with a remote system via a network. In various embodiments, network interface 306 includes a network interface for providing payload, for performing communications for subsequent probes, for receiving network information, or for any other suitable purpose. In some embodiments, network interface 306 includes a network interface configured for high bandwidth communication.

도 4는 트리거된 스캐닝에 대한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예에서, 도 4의 프로세스는 도 1의 스캐닝 시스템(104)에 의해 실행된다. 도시된 예에서, 400에서, 표시는 외부 시스템으로부터 수신된다. 일부 실시예에서, 표시는 변경 표시를 포함한다. 일부 실시예에서, 외부 시스템으로부터 수신된 표시는 수동으로 결정된 표시 (예를 들어, 사람에 의해 결정되고 시작된 표시)를 포함한다. 다양한 실시예에서, 수동으로 결정된 표시는 취약점의 표시, 공개된 뉴스 기사로부터 결정된 표시, 인터넷 게시물로부터 결정된 표시, 또는 임의의 다른 적절한 표시를 포함한다. 다양한 실시예에서, 수동으로 결정된 표시는 스캐닝 시스템 사용자, 관리자 시스템 사용자, 외부 시스템 사용자, 네트워크 시스템 사용자, 또는 임의의 다른 적절한 시스템 사용자에 의해 수동으로 결정된 표시를 포함한다. 일부 실시예에서, 외부 시스템으로부터 수신된 표시는 자동 표시(예를 들어, 외부 시스템 정보로부터 자동 프로세스에 의해 결정된 표시)를 포함한다. 다양한 실시예에서, 자동 표시는 경계 게이트웨이 프로토콜(예를 들어, BGP) 경로 변경의 표시, 도메인 네임 서버(예를 들어, DNS) 변경의 표시, 인터넷 프로토콜(예를 들어, IP) 변경의 표시, 또는 지역 인터넷 레지스트리(RIR) 변경의 표시, 회사 합병, 인수, 또는 매각 표시, 변경된 시스템의 표시, 변경된 서비스의 표시, 기존 운영 코드에 대한 심각한 위협 또는 '제로 데이' 취약점의 공개 릴리스 또는 공개물, 기존 운영 코드에 대한 심각한 위협 또는 '제로 데이' 취약점의 제한된 비공개 릴리스 또는 공개물, 또는 임의의 다른 적절한 자동 표시를 포함한다. 다양한 실시예에서, 표시는 하나 이상의 어드레스(예를 들어, 변경이 발생한 어드레스, 문제를 일으키는 어드레스, 비정상적인 동작을 경험하는 어드레스 등), 하나 이상의 포트(예를 들어, 스캐닝을 요구하는 포트, 스캐닝을 요구하는 서비스와 연관된 포트 등), 하나 이상의 스캔 유형(예를 들어, 스캐닝을 요구하는 서비스와 연관된 스캔 유형), 또는 임의의 다른 적절한 스캔 정보의 표시를 포함한다. 402에서, 스캐닝 쿼리는 표시에 적어도 부분적으로 기초하여 결정된다. 예를 들어, 변경된 BGP 경로 광고의 경우, 변경된 광고된 프리픽스에서 포트의 우선 순위 목록에 걸친 모든 IP 어드레스는 우선 순위가 높은 스캐닝을 위해 선택 될 수 있다. 네트워크 어플라이언스 제조업체 간 합병의 경우, 회사 자체와 연관된 모든 IP 및 해당 제품이 감지된 IP가 자동으로 다시 스캔된다. '제로 데이' 취약점에 대한 제한된 비공개 공개물의 경우, 제로 데이에 잠재적으로 취약한 시스템과 연관된 모든 IP는 실제로 제로 데이에 취약한지 테스트하기 위해 특정 파라미터를 사용하여 자동으로 다시 스캔된다. 다양한 실시예에서, 스캐닝 쿼리는 표시와 관련된 어드레스, 표시와 관련된 포트, 표시와 관련된 스캔 유형, 또는 임의의 다른 적절한 표시 정보에 적어도 부분적으로 기초한다. 일부 실시예에서, 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하는 것은 쿼리를 확장하는 것(예를 들어, 추가 어드레스, 추가 포트를 스캐닝하는 것을 포함하도록 쿼리를 확장하거나, 또는 표시에 직접 표시된 것을 지나서 추가적인 스캔 유형을 사용하는 것)을 포함한다. 예를 들어, 2개 이상의 다른 회사를 합병하여 새 회사를 구성하는 경우, 새 회사와 연관된 도메인을 갖는 IP는 주어진 포트 및 프로토콜 목록에 걸쳐 자동으로 스캔된다. 공개 제로 데이 취약점의 경우, 다시 스캔될 어드레스 세트가 재귀적으로 트리거된다 - 예를 들어, 먼저 제로 데이에 잠재적으로 취약한 IP 세트가 스캔되고, 뒤이어 제로 데이에 취약한 것으로 밝혀진 IP와 공개 암호화 키를 공유하는 IP 어드레스에 대한 확장된 쿼리가 이어진다. 404에서, 스캐닝 쿼리가 수행된다(예를 들어, 스캐닝 쿼리에 의해 표시된 바와 같이 하나 이상의 시스템이 스캔된다). 406에서, 쿼리 결과가 저장된다. 예를 들어, 스캐닝 쿼리의 결과는 데이터베이스에 저장된다. 데이터베이스는 시간에 따른 쿼리 결과를 저장하므로 상이한 시간에서의 스캔 결과를 비교할 수 있다. 408에서, 네트워크 상태 디스플레이가 제공된다. 일부 실시예에서, 네트워크 상태 디스플레이는 네트워크 취약점의 디스플레이를 포함한다. 일부 실시예에서, 네트워크 상태 디스플레이는 스캔 데이터와 이력 데이터의 비교를 포함한다.4 is a flow diagram illustrating one embodiment of a process for triggered scanning. In some embodiments, the process of FIG. 4 is executed by scanning system 104 of FIG. In the example shown, at 400, the indication is received from an external system. In some embodiments, the indication includes a change indication. In some embodiments, the indication received from the external system includes a manually determined indication (eg, an indication determined and initiated by a person). In various embodiments, the manually determined indication includes an indication of the vulnerability, an indication determined from a published news article, an indication determined from an Internet post, or any other suitable indication. In various embodiments, the manually determined indication includes an indication manually determined by a scanning system user, an administrator system user, an external system user, a network system user, or any other suitable system user. In some embodiments, the indication received from the external system includes an automatic indication (eg, an indication determined by the automatic process from external system information). In various embodiments, the automatic indication may include an indication of a border gateway protocol (eg, BGP) route change, an indication of a domain name server (eg, DNS) change, an indication of an internet protocol (eg IP) change, Or a representation of a regional Internet registry (RIR) change, a merger, acquisition, or sale of a company, a representation of a changed system, a representation of a changed service, a serious threat to existing operating code, or a public release or publication of a 'zero day' vulnerability, Includes severe threats to existing production code or limited private releases or publications of 'zero day' vulnerabilities, or any other suitable automatic indication. In various embodiments, the indication may include one or more addresses (e.g., addresses that have changed, addresses that cause problems, addresses experiencing abnormal behavior, etc.), one or more ports (e.g., ports that require scanning, scanning for A port associated with the requesting service, etc.), one or more scan types (eg, a scan type associated with a service requiring scanning), or any other suitable scan information. At 402, a scanning query is determined based at least in part on the indication. For example, for a modified BGP route advertisement, all IP addresses across the priority list of ports in the modified advertised prefix may be selected for high priority scanning. In the case of a merger between network appliance manufacturers, all IPs associated with the company itself and the IPs from which the products are detected are automatically rescanned. In the case of a limited, private publication of the 'zero day' vulnerability, all IPs associated with systems that are potentially vulnerable to zero day are automatically rescanned using specific parameters to test whether they are actually vulnerable to zero day. In various embodiments, the scanning query is based at least in part on an address associated with the indication, a port associated with the indication, a scan type associated with the indication, or any other suitable indication information. In some embodiments, determining the scanning query based at least in part on the indication includes expanding the query (eg, extending the query to include scanning additional addresses, additional ports, or directly displayed on the indication. Past use of additional scan types). For example, when merging two or more other companies to form a new company, IPs with domains associated with the new company are automatically scanned over a given list of ports and protocols. In the case of a public zero day vulnerability, the set of addresses to be rescanned is triggered recursively-for example, a set of potentially vulnerable IPs are first scanned for zero day, followed by sharing a public encryption key with an IP that is found to be vulnerable to zero day. This is followed by an extended query for the IP address. At 404, a scanning query is performed (eg, one or more systems are scanned as indicated by the scanning query). At 406, the query result is stored. For example, the results of scanning queries are stored in the database. The database stores query results over time, so you can compare scan results at different times. At 408, a network status display is provided. In some embodiments, the network status display includes a display of network vulnerabilities. In some embodiments, the network status display includes a comparison of scan data and historical data.

도 5는 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예에서, 도 5의 프로세스는 도 4의 402를 구현한다. 도시된 예에서, 500에서, 표시와 관련된 어드레스가 결정된다. 다양한 실시예에서, 표시와 연관된 어드레스는 수정된 시스템의 어드레스, 문제가 있는 시스템의 어드레스, 공격 받는 시스템의 어드레스, 비정상적인 트래픽을 수신하는 시스템의 어드레스, 비정상적인 트래픽을 생성하는 시스템의 어드레스, 맬웨어 표시와 연관된 시스템 어드레스, 또는 임의의 다른 적절한 어드레스를 포함한다. 502에서, 표시와 연관된 포트가 결정된다. 다양한 실시예에서, 표시와 연관된 포트는 수정된 것으로 표시된 포트(예를 들어, 새로 닫힌 포트, 새로 열린 포트 등), 문제가 있는 서비스와 연관된 포트, 공격을 받고 있는 것으로 결정된 포트, 비정상적인 트래픽을 수신하는 포트, 비정상적인 트래픽을 생성하는 포트, 또는 임의의 다른 적절한 포트를 포함한다. 504에서, 표시와 연관된 스캔 유형이 결정된다. 다양한 실시예에서, 스캔 유형은 표시된 변경과 연관된 스캔 유형, 표시된 서비스와 연관된 스캔 유형, 브로드 스캔 유형, 맬웨어를 식별하기 위한 스캔 유형, 시스템 범위를 결정하기 위한 스캔 유형, 또는 임의의 다른 적절한 스캔 유형을 포함한다. 506에서, 스캐닝 쿼리를 위한 어드레스 세트는 표시와 연관된 어드레스에 적어도 부분적으로 기초하여 결정된다. 일부 실시예에서, 스캐닝 쿼리를 위한 어드레스 세트는 표시와 연관된 어드레스 및 다른 어드레스를 포함한다. 다양한 실시예에서, 스캐닝 쿼리를 위한 어드레스 세트는 표시와 연관된 어드레스 근처의 어드레스 세트, 표시와 관련된 어드레스와 동일한 네트워크 상의 어드레스 세트, 표시와 연관된 어드레스와 동일한 방식으로 구성된 어드레스 세트, 또는 임의의 다른 적절한 어드레스 세트를 포함한다. 508에서, 표시와 연관된 포트에 적어도 부분적으로 기초하여 스캐닝 쿼리를 위한 포트 세트가 결정된다. 일부 실시예에서, 스캐닝 쿼리를 위한 포트 세트는 표시와 연관된 포트 및 다른 포트를 포함한다. 다양한 실시예에서, 스캐닝 쿼리를 위한 포트 세트는 표시와 연관된 포트와 연관된 포트 세트, 표시와 연관된 포트 근처의 포트 세트, 표시와 관련된 포트 세트, 또는 임의의 다른 적절한 포트 세트를 포함한다. 510에서, 표시와 연관된 스캔 유형에 적어도 부분적으로 기초하여 스캐닝 쿼리를 위한 스캔 유형 세트가 결정된다. 일부 실시예에서, 스캐닝 쿼리를 위한 스캔 유형 세트는 표시와 연관된 스캔 유형 및 다른 스캔 유형을 포함한다. 다양한 실시예에서, 스캐닝 쿼리를 위한 스캔 유형 세트는 표시와 연관된 포트와 연관된 스캔 유형 세트, 표시와 연관된 스캔 유형과 유사한 스캔 유형 세트, 표시와 연관된 스캔 유형 세트, 또는 임의의 다른 적절한 스캔 유형 세트를 포함한다.5 is a flow diagram illustrating one embodiment of a process for determining a scanning query based at least in part on an indication. In some embodiments, the process of FIG. 5 implements 402 of FIG. 4. In the example shown, at 500, an address associated with the indication is determined. In various embodiments, the address associated with the indication may include the address of the modified system, the address of the system in question, the address of the system under attack, the address of the system receiving the abnormal traffic, the address of the system generating the abnormal traffic, the malware indication, and the like. An associated system address, or any other suitable address. At 502, a port associated with the indication is determined. In various embodiments, the port associated with the indication receives a port that has been marked as modified (eg, a newly closed port, a newly opened port, etc.), a port associated with the problem service, a port determined to be under attack, unusual traffic. Port for generating abnormal traffic, or any other suitable port. At 504, a scan type associated with the indication is determined. In various embodiments, the scan type is a scan type associated with the indicated change, a scan type associated with the indicated service, a broad scan type, a scan type for identifying malware, a scan type for determining system scope, or any other suitable scan type. It includes. At 506, an address set for a scanning query is determined based at least in part on an address associated with the indication. In some embodiments, the address set for the scanning query includes an address associated with the indication and another address. In various embodiments, an address set for a scanning query is an address set near an address associated with an indication, an address set on the same network as an address associated with an indication, an address set configured in the same manner as an address associated with an indication, or any other suitable address. Includes a set. At 508, a set of ports for a scanning query is determined based at least in part on the port associated with the indication. In some embodiments, the set of ports for the scanning query includes ports and other ports associated with the indication. In various embodiments, the set of ports for a scanning query includes a set of ports associated with a port associated with the indication, a set of ports near a port associated with the indication, a set of ports associated with the indication, or any other suitable port set. At 510, a scan type set for a scanning query is determined based at least in part on the scan type associated with the indication. In some embodiments, the scan type set for the scanning query includes the scan type and other scan types associated with the indication. In various embodiments, a set of scan types for a scanning query may comprise a set of scan types associated with a port associated with an indication, a set of scan types similar to the type of scan associated with an indication, a set of scan types associated with an indication, or any other suitable scan type set. Include.

도 6은 스캐닝 쿼리를 수행하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예에서, 도 6의 프로세스는 도 4의 404를 구현한다. 도시된 예에서, 600에서, 스캐닝 쿼리의 어드레스가 선택된다. 다양한 실시예에서, 어드레스는 제1 어드레스, 다음 어드레스, 무작위로 선택된 어드레스, 의사 난수로 선택된 어드레스, 또는 임의의 다른 적절한 어드레스를 포함한다. 602에서, 스캐닝 쿼리의 포트가 선택된다. 다양한 실시예에서, 포트는 제1 포트, 다음 포트, 무작위로 선택된 포트, 의사 난수로 선택된 포트, 또는 임의의 다른 적절한 포트를 포함한다. 604에서, 스캐닝 쿼리의 스캔 유형이 선택된다. 다양한 실시예에서, 스캔 유형은 제1 스캔 유형, 다음 스캔 유형, 무작위로 선택된 스캔 유형, 의사 난수로 선택된 스캔 유형, 또는 임의의 다른 적절한 스캔 유형을 포함한다. 606에서, 어드레스의 포트는 스캔 유형을 사용하여 스캔된다. 일부 실시예에서, 스캔 유형은 계층적 스캔을 포함하고 스캔 응답이 후속 프로브를 사용하는 스캐닝을 표시하는 경우 후속 프로브를 사용하는 스캐닝을 포함한다. 다양한 실시예에서, 스캔 유형은 어드레스의 포트, 다른 포트, 다른 어드레스, 또는 임의의 다른 적절한 스캔 타겟을 포함하는 임의의 적절한 수의 통신을 포함한다. 608에서, 스캔 유형이 더 있는지(예를 들어, 어드레스 상의 포트를 스캔하기 위해 더 많은 스캔 쿼리의 스캔 유형이 있는지)가 결정된다. 스캔 유형이 더 있다고 결정되는 경우, 제어는 604로 넘어간다. 스캔 유형이 더 이상 없다고 결정되는 경우, 제어는 610으로 넘어간다. 610에서, (예를 들어, 스캔할 어드레스에 대한 스캐닝 쿼리의) 포트가 더 있는지 여부가 결정된다. 포트가 더 있다고 결정되는 경우에, 제어는 602로 넘어간다. 포트가 더 이상 없다고 결정되는 경우에, 제어는 612로 넘어간다. 612에서, (예를 들어, 스캐닝 쿼리의) 어드레스가 더 있는지가 결정된다. 어드레스가 더 있다고 결정되는 경우, 제어는 600으로 넘어간다. 더 이상 어드레스가 없는 것으로 결정되는 경우, 프로세스는 종료된다.6 is a flow diagram illustrating one embodiment of a process for performing a scanning query. In some embodiments, the process of FIG. 6 implements 404 of FIG. 4. In the example shown, at 600, the address of the scanning query is selected. In various embodiments, the address comprises a first address, next address, randomly selected address, pseudo randomly selected address, or any other suitable address. At 602, a port of the scanning query is selected. In various embodiments, the port comprises a first port, next port, randomly selected port, pseudo randomly selected port, or any other suitable port. At 604, a scan type of the scanning query is selected. In various embodiments, the scan type includes a first scan type, a next scan type, a randomly selected scan type, a scan type selected as a pseudo random number, or any other suitable scan type. At 606, the port of the address is scanned using the scan type. In some embodiments, the scan type includes hierarchical scan and includes scanning using subsequent probes when the scan response indicates scanning using subsequent probes. In various embodiments, the scan type includes any suitable number of communications including ports of addresses, other ports, other addresses, or any other suitable scan target. At 608, it is determined whether there are more scan types (eg, if there are more scan types of more scan queries to scan ports on the address). If it is determined that there are more scan types, control passes to 604. If it is determined that the scan type is no longer, control passes to 610. At 610, it is determined whether there are more ports (e.g., of a scanning query for addresses to scan). If it is determined that there are more ports, control passes to 602. If it is determined that the port is no longer, control passes to 612. At 612, it is determined whether there are more addresses (eg, in a scanning query). If it is determined that there are more addresses, control passes to 600. If it is determined that there are no more addresses, the process ends.

도 7은 네트워크 상태 디스플레이를 제공하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예에서, 도 7의 프로세스는 도 4의 408을 구현하는 데 사용된다. 도시된 예에서, 700에서, 적절히 구성된 시스템 세트는 이력 데이터로부터 결정된다. 일부 실시예에서, 이력 데이터는 이전 스캔을 포함한다. 일부 실시예에서, 적절히 구성된 시스템은 취약점이 검출되지 않은 시스템을 포함한다. 다양한 실시예에서, 적절하게 구성된 시스템 세트는 클라이언트 네트워크의 서브세트, 스캐닝 쿼리의 어드레스의 서브세트, 모든 적절하게 구성된 시스템, 또는 임의의 다른 적절한 적절하게 구성된 시스템 세트를 포함한다. 702에서, 취약점 세트가 이력 데이터로부터 결정된다. 다양한 실시예에서, 취약점은 잘못 구성된 시스템, 액세스 가능하지 말아야 할 액세스 가능한 시스템, 새로 발견된 시스템 이용에 대한 취약점, 또는 임의의 다른 적절한 취약점을 포함한다. 704에서, 적절히 구성된 시스템 세트는 스캐닝 쿼리로부터(예를 들어, 가장 최근의 스캔 데이터로부터) 결정된다. 706에서, 취약점 세트는 스캐닝 쿼리로부터 결정된다. 708에서, 네트워크 상태 비교가 제공된다. 일부 실시예에서, 네트워크 상태 비교는 표시가 수신되기 전후의 네트워크 상태의 비교를 포함한다.7 is a flow diagram illustrating one embodiment of a process for providing a network status display. In some embodiments, the process of FIG. 7 is used to implement 408 of FIG. 4. In the example shown, at 700, a suitably configured system set is determined from historical data. In some embodiments, the historical data includes previous scans. In some embodiments, a properly configured system includes a system for which no vulnerability has been detected. In various embodiments, a suitably configured set of systems includes a subset of client networks, a subset of addresses of scanning queries, all suitably configured systems, or any other suitably configured system set. At 702, a set of vulnerabilities is determined from historical data. In various embodiments, the vulnerability includes a misconfigured system, an accessible system that should not be accessible, a vulnerability to using a newly discovered system, or any other suitable vulnerability. At 704, a properly configured set of systems is determined from a scanning query (eg, from the most recent scan data). At 706, a set of vulnerabilities is determined from a scanning query. At 708, network state comparison is provided. In some embodiments, the network state comparison comprises a comparison of network states before and after an indication is received.

전술한 실시예가 이해의 명확성을 위해 일부 상세히 설명되었지만, 본 발명은 제공된 세부 사항에 제한되지 않는다. 발명을 구현하는 많은 대안이 있다. 개시된 실시예는 예시적이고 제한적인 것이 아니다.Although the foregoing embodiments have been described in some detail for clarity of understanding, the invention is not limited to the details provided. There are many alternatives for implementing the invention. The disclosed embodiments are illustrative and not restrictive.

Claims (21)

이벤트 기반 쿼리를 위한 시스템에 있어서,
입력 인터페이스; 및
프로세서;를 포함하고,
상기 입력 인터페이스는
외부 시스템으로부터 표시를 수신하도록 구성되고,
상기 프로세서는
상기 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하고;
상기 스캐닝 쿼리를 수행하도록; 구성되는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
In the system for event-based queries,
Input interface; And
A processor;
The input interface is
Configured to receive an indication from an external system,
The processor is
Determine a scanning query based at least in part on the indication;
Perform the scanning query; System for event-based query, characterized in that configured.
제1항에 있어서,
상기 표시는 수동으로 결정된 표시를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 1,
And the indication includes a manually determined indication.
제2항에 있어서,
상기 표시는 취약점 표시를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 2,
The indication includes a vulnerability indication.
제2항에 있어서,
상기 표시는 공개된 뉴스 기사로부터 결정된 공개된 뉴스 기사 표시를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 2,
And the indication comprises a published news article representation determined from a published news article.
제2항에 있어서,
상기 표시는 인터넷 게시물로부터 결정된 인터넷 게시물 표시를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 2,
And the indication comprises an internet post indication determined from an internet post.
제1항에 있어서,
상기 표시는 자동 표시를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 1,
And the indication includes an automatic indication.
제6항에 있어서,
상기 표시는 BGP 경로 변경 표시를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 6,
And the indication includes a BGP route change indication.
제6항에 있어서,
상기 표시는 DNS 변경 표시를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 6,
And the indication includes a DNS change indication.
제6항에 있어서,
상기 표시는 IP 변경 표시를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 6,
And the indication includes an IP change indication.
제1항에 있어서,
상기 스캐닝 쿼리를 결정하는 것은 상기 표시와 연관된 어드레스를 결정하는 것을 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 1,
Determining the scanning query comprises determining an address associated with the indication.
제1항에 있어서,
상기 스캐닝 쿼리를 결정하는 것은 상기 표시와 연관된 포트를 결정하는 것을 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 1,
Determining the scanning query comprises determining a port associated with the indication.
제1항에 있어서,
상기 스캐닝 쿼리를 결정하는 것은 상기 표시와 연관된 스캔 유형을 결정하는 것을 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 1,
Determining the scanning query comprises determining a scan type associated with the indication.
제1항에 있어서,
상기 스캐닝 쿼리를 결정하는 것을 상기 스캐닝 쿼리를 확장하는 것을 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 1,
And extending the scanning query to determine the scanning query.
제13항에 있어서,
상기 스캐닝 쿼리를 확장하는 것은 상기 스캐닝 쿼리에 어드레스를 추가하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 13,
Extending the scanning query adds an address to the scanning query.
제13항에 있어서,
상기 스캐닝 쿼리를 확장하는 것은 상기 스캐닝 쿼리에 포트를 추가하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 13,
Extending the scanning query adds a port to the scanning query.
제13항에 있어서,
상기 스캐닝 쿼리를 확장하는 것은 상기 스캐닝 쿼리에 스캔 유형을 추가하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 13,
Extending the scanning query further comprises adding a scan type to the scanning query.
제1항에 있어서,
상기 스캐닝 쿼리를 수행하는 것은 하나 이상의 스캔 유형을 사용하여 하나 이상의 포트에서 클라이언트 시스템의 하나 이상의 어드레스를 스캔하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 1,
And performing the scanning query scans one or more addresses of a client system on one or more ports using one or more scan types.
제1항에 있어서,
상기 프로세서는 네트워크 상태 디스플레이를 추가로 제공하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 1,
The processor further provides a network status display.
제1항에 있어서,
상기 네트워크 상태 디스플레이는 상기 표시가 수신되기 전후의 네트워크 상태의 비교를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 시스템.
The method of claim 1,
And said network status display comprises a comparison of network status before and after said indication is received.
이벤트 기반 쿼리를 위한 방법에 있어서,
클라이언트 시스템으로부터 표시를 수신하는 단계;
프로세서를 사용하여, 상기 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하는 단계; 및
상기 스캐닝 쿼리를 수행하는 단계;를 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 방법.
In the method for event-based query,
Receiving an indication from a client system;
Using a processor, determining a scanning query based at least in part on the indication; And
And performing the scanning query.
이벤트 기반 쿼리를 위한 컴퓨터 프로그램 제품에 있어서,
상기 컴퓨터 프로그램 제품은 비일시적 컴퓨터 판독 가능 저장 매체에 구현되며,
상기 컴퓨터 프로그램 제품은
클라이언트 시스템으로부터 표시를 수신하는 컴퓨터 명령;
상기 표시에 적어도 부분적으로 기초하여 스캐닝 쿼리를 결정하는 컴퓨터 명령; 및
상기 스캐닝 쿼리를 수행하는 컴퓨터 명령;을 포함하는 것을 특징으로 하는 이벤트 기반 쿼리를 위한 컴퓨터 프로그램 제품.
In a computer program product for event-based queries,
The computer program product is embodied in a non-transitory computer readable storage medium,
The computer program product
Computer instructions for receiving an indication from a client system;
Computer instructions for determining a scanning query based at least in part on the indication; And
Computer instructions for performing the scanning query.
KR1020197027383A 2017-03-20 2017-12-08 Scanning triggered based on data changes available on the network KR20200006036A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/463,990 US10831838B2 (en) 2017-03-20 2017-03-20 Triggered scanning based on network available data change
US15/463,990 2017-03-20
PCT/US2017/065428 WO2018174973A1 (en) 2017-03-20 2017-12-08 Triggered scanning based on network available data change

Publications (1)

Publication Number Publication Date
KR20200006036A true KR20200006036A (en) 2020-01-17

Family

ID=63520147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197027383A KR20200006036A (en) 2017-03-20 2017-12-08 Scanning triggered based on data changes available on the network

Country Status (8)

Country Link
US (2) US10831838B2 (en)
EP (1) EP3602994A4 (en)
JP (1) JP2020511860A (en)
KR (1) KR20200006036A (en)
CN (1) CN110431819A (en)
AU (1) AU2017404748A1 (en)
CA (1) CA3053257A1 (en)
WO (1) WO2018174973A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111291382B (en) * 2020-01-22 2022-04-08 上海电子信息职业技术学院 Vulnerability scanning system
CN111444392B (en) * 2020-03-26 2023-04-25 杭州迪普科技股份有限公司 Vulnerability library access method, device and equipment

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088804A (en) * 1998-01-12 2000-07-11 Motorola, Inc. Adaptive system and method for responding to computer network security attacks
US6907533B2 (en) 2000-07-14 2005-06-14 Symantec Corporation System and method for computer security using multiple cages
US20030056116A1 (en) 2001-05-18 2003-03-20 Bunker Nelson Waldo Reporter
AU2002348415B2 (en) * 2001-10-25 2007-05-24 General Dynamics C4 Systems, Inc A method and system for modeling, analysis and display of network security events
US20030188194A1 (en) * 2002-03-29 2003-10-02 David Currie Method and apparatus for real-time security verification of on-line services
US20030212779A1 (en) * 2002-04-30 2003-11-13 Boyter Brian A. System and Method for Network Security Scanning
US7451488B2 (en) 2003-04-29 2008-11-11 Securify, Inc. Policy-based vulnerability assessment
US7444508B2 (en) 2003-06-30 2008-10-28 Nokia Corporation Method of implementing secure access
US8683031B2 (en) 2004-10-29 2014-03-25 Trustwave Holdings, Inc. Methods and systems for scanning and monitoring content on a network
US7784099B2 (en) * 2005-02-18 2010-08-24 Pace University System for intrusion detection and vulnerability assessment in a computer network using simulation and machine learning
US8806634B2 (en) * 2005-04-05 2014-08-12 Donald N. Cohen System for finding potential origins of spoofed internet protocol attack traffic
US20060291446A1 (en) 2005-06-24 2006-12-28 Donald Caldwell Systems, methods, and devices for managing routing
US8220050B2 (en) 2008-03-31 2012-07-10 Sophos Plc Method and system for detecting restricted content associated with retrieved content
US9009834B1 (en) 2009-09-24 2015-04-14 Google Inc. System policy violation detection
US8549650B2 (en) * 2010-05-06 2013-10-01 Tenable Network Security, Inc. System and method for three-dimensional visualization of vulnerability and asset data
RU2657170C2 (en) 2010-07-01 2018-06-08 Онапсис, Инк. Automated safety assessment of business-critical computer systems and resources
US10043011B2 (en) * 2011-01-19 2018-08-07 Rapid7, Llc Methods and systems for providing recommendations to address security vulnerabilities in a network of computing systems
US8966625B1 (en) * 2011-05-24 2015-02-24 Palo Alto Networks, Inc. Identification of malware sites using unknown URL sites and newly registered DNS addresses
US9049207B2 (en) 2012-04-11 2015-06-02 Mcafee, Inc. Asset detection system
US9015812B2 (en) 2012-05-22 2015-04-21 Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh Transparent control of access invoking real-time analysis of the query history
US8756698B2 (en) 2012-08-10 2014-06-17 Nopsec Inc. Method and system for managing computer system vulnerabilities
US20140181975A1 (en) 2012-11-06 2014-06-26 William Spernow Method to scan a forensic image of a computer system with multiple malicious code detection engines simultaneously from a master control point
US9749336B1 (en) * 2013-02-26 2017-08-29 Palo Alto Networks, Inc. Malware domain detection using passive DNS
EP3120286B1 (en) 2014-03-17 2019-07-17 Proofpoint, Inc. Behavior profiling for malware detection
US9942250B2 (en) * 2014-08-06 2018-04-10 Norse Networks, Inc. Network appliance for dynamic protection from risky network activities
US9699209B2 (en) 2014-12-29 2017-07-04 Cyence Inc. Cyber vulnerability scan analyses with actionable feedback
US10425430B2 (en) * 2016-04-22 2019-09-24 Expanse, Inc. Hierarchical scanning of internet connected assets
US20180097845A1 (en) * 2016-10-05 2018-04-05 Rapid Focus Security, Llc Self-Managed Intelligent Network Devices that Protect and Monitor a Distributed Network

Also Published As

Publication number Publication date
US20180268058A1 (en) 2018-09-20
AU2017404748A1 (en) 2019-09-26
US10831838B2 (en) 2020-11-10
EP3602994A4 (en) 2020-10-28
JP2020511860A (en) 2020-04-16
WO2018174973A1 (en) 2018-09-27
CN110431819A (en) 2019-11-08
US20200410016A1 (en) 2020-12-31
US11526564B2 (en) 2022-12-13
CA3053257A1 (en) 2018-09-27
EP3602994A1 (en) 2020-02-05

Similar Documents

Publication Publication Date Title
US9680860B1 (en) Endpoint-based man in the middle attack detection using multiple types of detection tests
US9503424B2 (en) Dynamic resolution of fully qualified domain name (FQDN) address objects in policy definitions
US9942270B2 (en) Database deception in directory services
US10476891B2 (en) Monitoring access of network darkspace
US10230691B2 (en) Systems, devices, and methods for improved domain name system firewall protection
US20230269140A1 (en) Dynamic segmentation management
WO2016081561A1 (en) System and method for directing malicious activity to a monitoring system
US20220321582A1 (en) Hierarchical scanning of internet connected assets
CN114402567A (en) Online detection of algorithmically generated domains
US11526564B2 (en) Triggered scanning based on network available data change
US11170011B2 (en) Triggered scanning using provided configuration information
KR20200006521A (en) Distributed scanning
US10749857B2 (en) Network mapping using a fingerprint