基于网络可用数据变化的触发扫描的制作方法

文档序号:19079945发布日期:2019-11-08 22:11阅读:215来源:国知局
基于网络可用数据变化的触发扫描的制作方法

与因特网连接的资产(例如,计算机,移动设备,服务器系统,客户端系统,物联网设备等)包括与因特网通信的计算系统。与因特网连接的资产通常包括一个或多个可公开寻址的通信端口,允许任何与因特网连接的设备查询该资产。一些设备允许一系列连接类型(例如,超文本传输协议(http)连接,安全超文本传输协议(https)连接,文件传输协议(ftp)连接,安全文件传输协议(ftps)连接,telnet连接,安全shell(ssh)连接等)通过一个或多个可公开访问的端口。与因特网连接的资产可以包括多种不同类型的硬件设备,这些设备运行多种软件,包括多种配置选项,为安全漏洞创造了无数的可能性。典型系统管理员可能不知道他或她监视下的每个系统的每个细节,从而产生系统漏洞可能无法被检测到且未被修复的问题。当系统发生改变时(例如,被网络可用数据所标示的系统改变),系统管理员可能很难完全确信系统中没有漏洞(例如,在修复所有漏洞时成功修复系统,系统改变没有产生新的漏洞,新发现的漏洞是不相关的等)。

附图说明

在以下具体实施例和附图中公开了本发明的多种示例。

图1是示出网络系统的示例的框图。

图2是示出网络系统的示例的框图。

图3是示出扫描系统的示例的框图。

图4是示出触发扫描过程的示例的流程图。

图5是示出至少部分地基于标示来确定扫描查询的过程的示例的流程图。

图6是示出执行扫描查询的过程的示例的流程图。

图7是示出提供网络状态显示的过程的示例的流程图。

具体实施例

本发明可以以多种方式实现,包括作为过程;装置;系统;物质组成;实现在计算机可读存储介质上的计算机程序产品;和/或处理器,例如被配置为执行由耦合到处理器的存储器存储和/或提供的指令的处理器。在本说明书中,这些实现方式,或本发明可采用的任何其他方式,可以称为技术。通常,可以在本发明的范围内改变所公开的流程的步骤顺序。除非另有说明,否则,被描述为被配置为执行任务的组件,例如处理器或存储器,可以被实现为临时配置地在给定时间执行任务的通用组件或者被制造为执行任务的特定组件。如这里所使用的,术语“处理器”指的是一个或多个设备,电路,和/或处理核,其被配置为处理数据,例如计算机程序指令。

下面提供本发明的一个或多个示例的详细描述以及说明本发明原理的附图。结合这些示例描述了本发明,但是本发明不限于任何示例。本发明的范围仅由权利要求限制,并且本发明包括多种替换,修改和等同物。在以下描述中阐述了许多具体细节,以便提供对本发明的透彻理解。提供这些细节是出于示例的目的,并且可以在没有这些具体细节的一些或全部的情况下根据权利要求来实践本发明。为了清楚起见,没有详细描述与本发明相关的技术领域中已知的技术材料,因此不会不必要地模糊本发明。

事件驱动查询系统包括:输入接口,用于从外部系统接收标示;以及处理器,用于至少部分地基于所述标示来确定扫描查询,并执行所述扫描查询。在一些示例中,事件驱动查询系统包括耦合到处理器并且被配置为向处理器提供指令的存储器。

在一些示例中,事件驱动查询系统包括响应于来自外部系统的标示而执行扫描的系统。在一些示例中,来自外部系统的标示包括改变的标示。在多种示例中,来自外部系统的标示包括手动确定的标示,自动标示,漏洞的标示,由已发布的新闻报道确定的标示,由因特网发布确定的标示,对现有操作代码的严重威胁或“零日”漏洞的公开发布或披露,对现有操作代码的严重威胁或“零日”漏洞的限制性的私下发布或披露,边界网关协议(bgp)路由改变的标示,域名系统(dns)改变的标示,因特网协议(ip)地址改变的标示,地区性internet注册机构(rir)改变的标示,以及公司合并,收购,或转让的标示,已改变的系统的标示,已改变的服务的标示,或任何其他合适的标示。在一些示例中,事件驱动查询系统从外部系统接收标示并且至少部分地基于该标示来确定扫描查询。在一些示例中,至少部分地基于标示来确定扫描查询包括确定由标示(例如,包括地址,地址端口,和要使用的扫描类型)所标示出的扫描。在一些示例中,至少部分地基于标示来确定扫描查询包括扩展扫描查询(例如,确定增加的地址,端口,和/或扫描类型)。然后,事件驱动查询系统执行扫描。在一些示例中,事件驱动查询系统提供网络状态显示。在多种示例中,网络状态显示包括历史正确配置的系统(例如,在接收到标示之前已知的被正确配置的系统),历史漏洞,由扫描确定的正确配置的系统,由扫描确定的漏洞,或任何其他合适的网络状态显示信息。

图1是示出网络系统的示例的框图。在所示的例子中,网络系统包括用于扫描与因特网连接的资产的系统。网络系统包括网络100。在多种示例中,网络100包括以下中的一个或多个:局域网,广域网,有线网络,无线网络,因特网,内联网,存储区域网络,或任何其他合适的通信网络。管理员系统102和扫描系统104通过网络100进行通信。管理员系统102包括供管理员使用的系统。在多种示例中,管理员系统102包括供管理员访问应用系统上的应用,访问数据库系统上的数据,标示扫描系统104执行扫描,从扫描系统104接收数据,配置网络系统(例如,网络系统106),从网络系统接收数据,或用于任何其他合适的目的的系统。在一些示例中,管理员系统102包括用于客户端系统的管理员系统。在多种示例中,客户端系统包括请求扫描的系统(例如,来自扫描系统104),与请求扫描的系统相关联的网络系统,管理员系统(例如,管理员系统102),或任何其他合适的客户端系统。在一些示例中,管理员系统102包括处理器和存储器。

扫描系统104包括用于扫描网络系统的系统。在一些示例中,扫描系统104包括响应于来自管理员系统102的命令扫描网络系统的系统。在一些示例中,扫描系统104包括扫描一组网络系统(例如,网络系统106,网络系统108,网络系统110,网络系统112,网络系统114,网络系统116,网络系统118,和网络系统120)的系统。在一些示例中,扫描网络系统包括向网络系统提供有效负载并确定是否接收到响应。在一些示例中,扫描网络系统包括至少部分地基于所接收的响应使用后续探针来扫描网络系统。在一些示例中,扫描系统104包括用于向所有可接入端口上的所有可接入网络系统提供有效负载并且对标示出可访问更多信息的任何接收到的响应跟进合适的后续探针的系统。在一些示例中,扫描系统104包括处理器和存储器。图1的每个网络系统(例如,网络系统106)包括与因特网连接的系统(例如,台式计算机,笔记本电脑,智能电话,平板电脑,服务器系统,物联网设备等)。在一些示例中,网络系统包括外部系统。在一些示例中,外部系统包括非客户端系统一部分的网络系统。在多种示例中,图1的系统包括8,13,197,2222,1百万,1亿,或任何其他合适数量的网络系统。

图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包括运行根据通信规范集合进行配置的通信软件集合的网络硬件集合(例如,调制解调器)。

图3是示出扫描系统示例的框图。在一些示例中,扫描系统300包括图1中的扫描系统104。在一些示例中,扫描系统300包括服务器系统。在所示的例子中,扫描系统300包括处理器302,数据存储器304,和网络接口306。在多种示例中,处理器302包括用于执行指令,处理数据,响应命令等的处理器。在多种示例中,处理器302包括通用处理器,微控制器,并行处理系统,处理器集群,或任何其他合适的处理器。在一些示例中,处理器302包括网络扫描器308。在多种示例中,网络扫描器308包括实现分层扫描系统功能的软件和/或硬件。在多种示例中,数据存储器304包括用于存储数据,用于存储处理器302的指令,用于存储配置信息,或用于存储任何其他合适信息的数据存储器。在多种示例中,数据存储器304包括一个或多个易失性存储器,非易失性存储器,磁性存储器,光学存储器,相变存储器,半导体存储器,盘式存储器,磁带存储器,或任何其他合适的存储器。在所示的例子中,数据存储器304包括用于存储提供给网络设备的有效负载的有效负载数据库310。在一些示例中,有效负载包括用于探测网络设备以引起响应的小数据包。数据存储器304还包括用于存储与网络设备交互的后续探针的后续探针数据库312。在一些示例中,后续探针包括用于与网络设备交互的软件,以确定有关网络设备的信息。在一些示例中,后续探针数据库312包含后续探针集合,每个后续探针都被设计为以特定的方式与网络设备交互,以获得关于网络设备的数据(例如,建立安全http(https)连接并下载加密的web页面)。在一些示例中,一旦确定后续探针可能成功接收来自网络设备的数据,则该后续探针被用于与该网络设备进行交互。数据存储器304还包括网络信息数据库314,用于存储由于与网络设备交互(例如,使用有效负载或后续探针)而接收到的网络信息。在一些示例中,网络信息是远程存储的(例如,在存储服务器上,在不同的分层扫描系统上,在云存储上,等等)。在所示的例子中,网络接口306包括用于通过网络与远程系统交互的网络接口。在多种示例中,网络接口306包括用于提供有效负载,用于执行后续探针的通信,用于接收网络信息,或用于任何其他合适目的的网络接口。在一些示例中,网络接口306包括为高带宽通信配置的网络接口。

图4是说明触发扫描过程示例的流程图。在一些示例中,图4的过程是通过图1的扫描系统104来执行的。在所示的例子中,在400中,从外部系统接收标示。在一些示例中,标示包括改变的标示。在一些示例中,从外部系统接收的标示包括手动确定的标示(例如,由人确认和发起的标示)。在多种示例中,手动确定的标示包括漏洞的标示,由已发布的新闻报道确定的标示,由因特网发布确定的标示,或任何其他合适的标示。在多种示例中,手动确定的标示包括由扫描系统用户,管理员系统用户,外部系统用户,网络系统用户,或任何其他合适的系统用户手动确定的标示。在一些示例中,从外部系统接收到的标示包括自动标示(例如,由自动过程从外部系统信息确定的标示)。在多种示例中,自动标示包括边界网关协议(例如,bgp)路由改变的标示,域名服务器(例如,dns)改变的标示,因特网协议(例如,ip)改变的标示,地区性internet注册机构(rir)改变的标示,以及公司合并,收购或转让的标示,已改变的系统的标示,已改变的服务的标示,对现有操作代码的严重威胁或“零日”漏洞的公开发布或披露,对现有操作代码的严重威胁或“零日”漏洞的限制性的私下发布或披露,或任何其他合适的自动标示。在多种示例中,标示包括一个或多个地址的标示(例如,发生改变的地址,引起问题的地址,经历异常行为的地址等),一个或多个端口(例如,需要扫描的端口,与需要扫描的服务相关联的端口等),一种或多种扫描类型(例如,与需要扫描的服务相关联的扫描类型),或任何其他合适的扫描信息。在402中,至少部分地基于标示来确定扫描查询。例如,在已改变的bgp路由通告的情况下,可以选择在已改变的通告前缀中的端口的优先级列表中的所有ip地址用于高优先级扫描。在网络设备制造商之间进行合并的情况下,将自动重新扫描与公司本身以及在他们的产品上检测到多个ip相关的所有ip。在“零日”漏洞的限制性的私下披露的情况下,使用特定参数进行自动地重新扫描与可能容易受零日影响的系统相关的所有ip,以测试它们是否真的容易受到零日影响。在多种示例中,扫描查询至少部分地基于与标示相关联的地址,与标示相关联的端口,与标示相关联的扫描类型,或任何其他合适的标示信息。在一些示例中,至少部分地基于标示来确定扫描查询包括扩展查询(例如,扩展查询以包括扫描增加的地址,增加的端口,或使用在标示中直接指出的增加的扫描类型)。例如,如果由两个或更多其他公司的合并形成新公司,则在给定的端口和协议列表中自动扫描具有与新公司相关联的域的多个ip。在公开的零日漏洞的情况下,递归地触发地址集合的重新扫描——例如,首先扫描可能易受零日影响的ip集合,然后对那些与被发现容易受零日影响的ip共享公共加密密钥的ip地址进行扩展查询。在404中,执行扫描查询(例如,如扫描查询所标示的那样扫描一个或多个系统)。在406中,存储查询结果。例如,将扫描查询的结果存储在数据库中。数据库随时间存储查询结果,以便可以在不同时间进行扫描结果之间的比较。在408中,提供网络状态显示。在一些示例中,网络状态显示包括网络漏洞的显示。在一些示例中,网络状态显示包括扫描数据与历史数据的比较。

图5是示出用于至少部分地基于标示来确定扫描查询的过程的示例的流程图。在一些示例中,图5的过程实现图4的402。在所示的例子中,在500中,确定与标示相关联的地址。在多种示例中,与标示相关联的地址包括修改的系统的地址,具有问题的系统的地址,受攻击的系统的地址,接收异常流量的系统的地址,创造异常流量的系统的地址,与恶意软件标示相关联的系统的地址,或任何其他合适的地址。在502中,确定与标示相关联的端口。在多种示例中,与标示相关联的端口包括标示要被修改的端口(例如,新关闭的端口,新打开的端口等),与具有问题的服务相关联的端口,被确定为受攻击的端口,接收异常流量的端口,创造异常流量的端口,或任何其他合适的端口。在504中,确定与标示相关联的扫描类型。在多种示例中,扫描类型包括与标示的改变相关联的扫描类型,与标示的服务相关联的扫描类型,宽扫描类型,用于识别恶意软件的扫描类型,用于确定系统范围的扫描类型,或任何其他合适的扫描类型。在506中,至少部分地基于与标示相关联的地址来确定用于扫描查询的地址集合。在一些示例中,扫描查询的地址集合包括与标示相关联的地址和其他地址。在多种示例中,扫描查询的地址集合包括与标示相关联的地址附近的地址集合,与标示相关联的地址在同一网络上的地址集合,与标示相关联的地址以相同方式配置的地址集合,或任何其他合适的地址集合。在508中,至少部分地基于与标示相关联的端口来确定扫描查询的端口集合。在一些示例中,用于扫描查询的端口集合包括与标示相关联的端口和其他端口。在多种示例中,用于扫描查询的端口集合包括与标示相关联的端口相关联的端口集合,与标示相关联的端口附近的端口集合,与标示相关联的端口集合,或任何其他合适的端口集合。在510中,至少部分地基于与标示相关联的扫描类型来确定扫描查询的扫描类型集合。在一些示例中,扫描查询的扫描类型集合包括与标示和其他扫描类型相关联的扫描类型。在多种示例中,用于扫描查询的扫描类型集合包括与标示相关联的端口相关联的扫描类型集合,与标示相关联的扫描类型类似的扫描类型集合,与标示相关联的扫描类型集合,或任何其他合适的扫描类型集合。

图6是示出用于执行扫描查询的过程的示例的流程图。在一些示例中,图6的过程实现图4的404。在所示的例子中,在600中,选择扫描查询的地址。在多种示例中,地址包括第一地址,下一地址,随机选择的地址,伪随机选择的地址,或任何其他合适的地址。在602中,选择扫描查询的端口。在多种示例中,端口包括第一端口,下一端口,随机选择的端口,伪随机选择的端口,或任何其他合适的端口。在604中,选择扫描查询的扫描类型。在多种示例中,扫描类型包括第一扫描类型,下一扫描类型,随机选择的扫描类型,伪随机选择的扫描类型,或任何其他合适的扫描类型。在606中,使用扫描类型扫描该地址的端口。在一些示例中,扫描类型包括分层扫描,并且包括在扫描响应标示出使用后续探针扫描的情况下使用后续探针进行扫描。在多种示例中,扫描类型包括涉及该地址端口,其他端口,其他地址,或任何其他合适的扫描目标的任何合适的通信数量。在608中,确定是否存在更多扫描类型(例如,扫描地址上的端口的扫描查询的更多扫描类型)。在确定存在更多扫描类型的情况下,流程转到604。在确定不存在更多扫描类型的情况下,流程转到610。在610中,确定是否存在更多端口(例如,要扫描的地址上的扫描查询的)。如果确定存在更多端口,则流程转到602。如果确定没有更多端口,则流程转到612。在612中,确定是否存在更多地址(例如,扫描查询的地址)。如果确定存在更多地址,则流程转到600。如果确定没有更多地址,则该过程结束。

图7是示出用于提供网络状态显示的过程的示例的流程图。在一些示例中,图7的过程实现图4的408。在所示的例子中,在700中,由历史数据确定正确配置的系统集合。在一些示例中,历史数据包括先前的扫描。在一些示例中,正确配置的系统包括没有检测到漏洞的系统。在多种示例中,正确配置的系统集合包括客户端网络的子集,扫描查询的地址子集,所有正确配置的系统,或任何其他合适的正确配置的系统集合。在702中,由历史数据确定漏洞集合。在多种示例中,漏洞包括配置错误的系统,不应可接入的可接入系统,新发现的系统出现的漏洞,或任何其他合适的漏洞。在704中,由扫描查询(例如,从最近的扫描数据)确定正确配置的系统集合。在706中,由扫描查询确定漏洞集合。在708中,提供网络状态比较。在一些示例中,网络状态比较包括在接收到标示之前和之后的网络状态的比较。

尽管为了清楚理解的目的已经在一些细节上描述了前述示例,但是本发明不限于所提供的细节。存在许多实现本发明的替代方式。所公开的示例是说明性的而非限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1