首页> 中国专利> 用于网络侦查流识别的方法、计算机程序产品和设备

用于网络侦查流识别的方法、计算机程序产品和设备

摘要

提供了一种方法、一种计算机程序产品和一种设备,用于通过从网络流到外部源的信息的识别来检测网络的侦查。该方法可以包括监视从网络流到外部源的信息,以便于识别可能已经向潜在的攻击者泄露了什么属性。该方法可以包括监视对来自外部源的询问的网络的响应;确定可能已经从该响应所泄露的潜在的网络属性;将潜在的属性存储在数据存储库中;以及基于数据存储库中所存储的属性来确定网络的可能侦查。确定由响应所泄露的潜在的网络属性可以包括将响应与一个或多个信息模板作比较。每个信息模板可以与网络的一个或多个属性相关联。

著录项

  • 公开/公告号CN101548269A

    专利类型发明专利

  • 公开/公告日2009-09-30

    原文格式PDF

  • 申请/专利权人 韦里佐内服务公司;

    申请/专利号CN200780045252.4

  • 发明设计人 卡尔·马歇尔·艾略特·鲍威尔;

    申请日2007-10-16

  • 分类号G06F11/00;

  • 代理机构中原信达知识产权代理有限责任公司;

  • 代理人张焕生

  • 地址 美国弗吉尼亚

  • 入库时间 2023-12-17 22:44:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-12-09

    未缴年费专利权终止 IPC(主分类):G06F11/00 授权公告日:20111116 终止日期:20141016 申请日:20071016

    专利权的终止

  • 2011-11-16

    授权

    授权

  • 2009-11-25

    实质审查的生效

    实质审查的生效

  • 2009-09-30

    公开

    公开

说明书

背景技术

网络系统上的攻击可以从试图干预或终止网络系统的操作能力到 未授权地使用或访问网络资源或在网络系统中所存储的或由网络系统 所处理的数据而有所不同。不考虑攻击的性质,为了确定攻击该网络 系统的潜在的方法和途径,攻击者经常探查该网络系统,以便于尽可 能多的获悉有关网络系统及其资源。作为收集有关网络系统的信息的 途径,探查网络系统通常被称为“网络侦查(network reconnaissance)”。

因为网络侦查经常是网络攻击的先兆,所以已经开发了“入侵检 测系统”和其它网络安全设备来尝试检测网络侦查。一些常规的检测 系统和安全设备依赖于探查签名来识别与网络侦查相关联的探查。然 而,有能力的攻击者能够用许多途径来击败大多数的常规检测系统和 安全设备,该途径包括伪装探查,使得该探查不在与探查签名匹配, 或者使用“低速和缓慢”技术来利用大多数常规检测系统的限时查看。

附图说明

图1图示了本发明实施例的框图;以及

图2图示了根据本发明另一个实施例的方法的流程图。

具体实施方式

现在,下文中将参考附图更充分地描述本发明,在附图中示出了 本发明的一些但不是所有的实施例。实际上,本发明可以以很多不同 的形式来实施,并且不应该被解释为限制于这里所阐述的实施例;恰 恰相反,提供这些实施例以便本公开将满足可适用的法律要求。相同 的数字始终指的是相同的元件。

本发明的一个或多个实施例可以被实现为一种方法、一种设备或 一种计算机程序产品。因此,实施例可以采取完全硬件实施例、完全 软件实施例,或结合软件方面和硬件方面的实施例的形式。此外,实 施例的实现可以采取包括计算机可读存储介质的计算机程序产品的形 式,该计算机可读存储介质使计算机可读程序指令(例如,计算机软 件)在存储介质中实施。更具体地,优选实施例的实现可以采取网络 实现的计算机软件的形式。可以利用任意适当的计算机可读存储介质, 包括硬盘、CD-ROM、光存储设备或磁存储设备。

以下参考方法、设备、系统和计算机程序产品的框图和流程图图 示来描述本发明的实施例。要理解的是,框图和流程图图示的每个框 以及框图和流程图图示中框的组合能够被分别地实现为计算机程序产 品,或更特定地由计算机程序产品的一个或多个可执行部分来实现。 计算机程序产品可以被装载到通用计算机、专用计算机或其它可编程 数据处理装置上以产生一种机器,使得在计算机或其它可编程数据处 理装置上执行计算机程序产品的可执行部分,并且创建一种用于实现 流程图框或多个框中所特定的功能的手段。

计算机程序产品也可以被存储在计算机可读存储器中,该计算机 可读存储器能够指引计算机或其它可编程数据处理装置来以特定的方 式起作用,使得计算机可读存储器中所存储的计算机程序产品产生包 括计算机程序产品的可执行部分的制造品,用于实现流程图的一个或 多个框中所特定的一个或多个功能。计算机程序产品也可以被装载到 计算机或其它可编程数据处理装置上,用以使一系列操作在计算机或 其它可编程装置上被执行来产生计算机实现的处理,使得可执行部分 在计算机或其它可编程装置上执行,用于实现流程图的一个或多个框 中所特定的功能。

因此,框图和流程图图示的框支持用于执行特定功能的手段和用 于执行特定功能的程序指令手段的组合。也要理解的是,框图和流程 图图示的每个框以及框图和流程图图示中框的组合,能够由执行特定 功能的专用基于硬件的计算机系统或专用硬件和计算机指令的组合来 实现。

在这里所引用的优选实施例中,可以引用“计算机”或“计算机 设备”。例如,这种计算机可以是大型机、服务器、台式计算机、膝 上型计算机或诸如数据获取和存储设备之类的手持设备,或者它可以 是在另一个装置内被实施的处理设备,诸如,例如,用于电视系统的 机顶盒或无线电话。在一些实例中,计算机可以是通过网络访问数据 或处理器的“哑(dumb)”终端。

在这里所引用的优选实施例中,可以引用“网络”或“网络系统”。 例如,这种网络可以被认为是个人区域网络(PAN)、局域网(LAN) 或广域网(WAN)。该网络包括一个或多个设备,诸如计算机和外围 设备。该网络被配置为:通过一个或多个接口与一个或多个外部设备、 系统或其它源进行通信。更具体地,一个或多个计算机或外围设备被 配置为向或通过外部设备、系统或其它外部源来接收和/或传送信息。

例如并且如图1中所示,网络10可以包括第一计算机设备12,该 第一计算机设备12被连接到一个或多个外部设备或其它外部源,并且 被配置为起一个或多个外部源和网络的其它计算机设备14、16之间的 网关的作用。第一计算机设备12可以包括至少第一输入/输出控制器 18、处理元件20以及第二输入/输出控制器22。通常,第一输入/输出 控制器18被配置为:通过至少一个接口24从至少一个外部源接收信 息,并且将该信息发送到处理元件20和第二输入/输出控制器22。例 如,第一输入/输出控制器18可以通过电缆或电话调制解调器或无线接 口被连接到因特网,或者通过LAN或WAN接口被连接到第二网络。 处理元件20被配置为对第二输入/输出控制器22提供指令,该指令与 通过第一输入/输出控制器18所接收到的信息的处理有关。第二输入/ 输出控制器22根据处理元件20所提供的指令,将信息路由到网络的 计算机设备14、16。该第二输入/输出控制器22也被配置为:从网络 的其它计算机设备14、16接收信息,并且将该信息发送到第一输入/ 输出控制器18和处理处理元件20,用于传送到至少一个外部源。

第一计算机设备12可以是服务器,并且包括:至少一个存储元件 24,用于存储与应用或网络10的操作能力相关的数据和计算机指令; 以及处理元件20,可以被配置为:控制或至少管理网络的至少一些操 作方面。如另一个示例,第一计算机设备可以被认为是智能路由器 (smart router),或者在又一个示例中,第一计算机设备可以是哑路由 器,其通常是部分地从属于第二计算机设备用于操作方面的路由器。

并且,虽然这里通常作为网络来描述,但是应该理解的是,根据 本发明的一些实施例,网络可以仅包括第一计算机设备。例如,第一 计算机设备可以是通过电缆调制解调器或其它接口被连接到因特网的 家庭个人计算机。

如这里所使用的,“接口”是网络和任意外部源之间的任意点, 起网络和外部源之间管道的作用,用于二者之间信息的传送。例如, 接口可以在服务器、防火墙、网络路由器、VoIP访问设备或类似的网 络元件或设备处。

本发明的实施例涉及一种方法,该方法通过对从网络流到外部源 的信息的识别来检测网络的侦查,这里被称为“网络侦查流识别”。 一般说来,该方法包括监视从网络流出的信息,用以确定可能已经向 潜在的攻击者泄露了什么属性。

更具体地说,该方法可以包括监视网络和外部源之间所传送的信 息,即,业务。在操作中,网络从外部源接收信息并且向外部源传送 信息。该信息可以被格式化为字节的分组或块,或者该信息可以作为 一连串的字节、字符或只是比特来被传送。由网络通过接口从外部源 所接收到的传送可以被称为“询问”。询问可以是例程(routine)和被 授权的操作的一部分,诸如某人将电子邮件消息发送到网络内的IP地 址或被授权的用户从网络的远程客户设备登录。或者,询问可以是潜 在的攻击者的探查,该攻击者尝试获取关于网络和关联计算机设备的 信息,以便想出用于攻击该网络的途径。一类通过接口从网络到外部 源的传送是用于对具体询问进行响应的“响应信号”。然而,根据询 问,网络可以不用响应信号来对询问进行响应。换言之,网络可以通 过缺少响应信号对具体询问进行响应。这里所使用的“事件”被认为 是特定询问和对该询问的网络的响应的组合(它是以响应信号或缺少 该响应信号的形式)。

根据图2中所示的实施例,提供了一种用于指示网络的潜在侦查 的方法。该方法可以包括从外部源接收询问100;监视对询问的网络的 响应200;以及确定由响应所泄露300的网络的一个或多个属性。

如前所述,网络可以通过网络的一个或多个接口从各种外部源接 收询问。该外部源可以通过诸如因特网之类的公共系统或通过个人网 络被连接到网络。此外,询问可以包括关于询问的外部源的信息,诸 如IP地址,这允许网络识别发送询问的外部源的位置和类型。

可以由传感器来执行响应的监视。一般说来,传感器可以被配置 为检测网络的至少每个响应。传感器可以采取完全硬件实施例、完全 软件实施例,或结合软件方面和硬件方面的实施例的形式。例如,传 感器可以是被添加到或被插入网络中的一个或多个接口的软件元件, 或者是被连接到一个或多个接口的独立硬件设备。对于更具体的示例 并且如图1中所示,传感器或传感元件26可以是第一计算机设备12 内的独立硬件,或者另外是与第一计算机设备12通信的独立硬件。所 图示的实施例的传感元件26与第一输入/输出控制器18通信,用于监 视网络10和外部源之间的业务。此外,第一计算机设备的处理元件20 可以提供指令,用于由传感元件26所检测的信息或传感元件26的其 它操作方面的处理。

由传感元件监视响应,用以确定从响应所泄露的关于网络的信息 的类型或数量。更具体地说,每个响应信号都承载了一组信息元素。 该信息元素的内容可是二进制的、文本的、整数或任意其它的数据形 式,并且可以属于任意数目的不同类别。至少一些信息元素可能无关 于网络的任何特性或属性。例如,响应信号可以包括报头、净荷和报 尾。净荷可以对应于电子邮件消息的文本,这将不会帮助攻击者获悉 关于该网络。然而,一些信息元素可以有关于该网络的特性或属性。 例如,响应信号可以包括与下述内容有关的信息元素:该网络的操作 系统并且更具体地关于操作系统的版本;用于该网络的特定服务的端 口地址;该网络的相关联的协议;以及该网络的资产,包括用于所述 资产的地址和所述资产的状态。这种信息对于攻击者获悉关于网络的 属性以便于想出攻击该网络的方法来说是有用的。

为了确定什么信息元素可能与网络的特性或属性有关,可以由传 感元件和/或处理元件来将响应信号与一个或多个信息模板作比较。信 息模板通常是用于使响应信号的一个或多个信息元素与从信息元素所 推断的网络的属性相互关联的映射。例如,信息模板可以包括一组信 息元素,如果响应信号中存在信息元素,则表示潜在的攻击者可能能 够从响应信号推断网络的特定属性。信息模板和响应信号中特定的一 组信息元素的共同存在可以基于信息模板和响应信号二者中基本上相 同类型的数据而不考虑数据的值,或者共同存在可以基于信息模板和 响应信号二者中具有相同值的基本上相同类型的数据。如另一个示例, 信息模板可以包括一组信息元素,该组信息元素与用于该信息元素的 具体层级或多个层级相结合。例如,层级可以包括信息元素的分类, 诸如有关网络拓扑信息或操作简档信息的元素。层级也可以包括信号 的类型和生成该信号的源或端口的表示。如更特定的示例,响应可以 是来自网络的Web服务器的TCP分组。该分组可能通过作为来自端口 80的分组而与一个层级中的具体等级匹配,通过作为TCP分组而与其 它层级中的其它等级匹配,并且还通过作为IP数据报而与其它层级中 的其它等级匹配。为了匹配特定的信息模板,在该实施例中,响应信 号需要将信息元素和信息模板的层级或多个层级的相同等级一起包括 在信息模板中。

如又一个示例,信息模板的基本格式可以是用于确定潜在信息元 素的存在和值的一组规则。规则可以是检查具体条件的存在的至少一 个条件语句以及紧接该条件语句的赋值语句,所述赋值语句为给定了 特定一组参数的那个特定值设置事件比特。例如,响应信号可以是数 据报(current_packet),并且传感元件可以针对数据报的值运行一组 规则。函数‘x(y,z)’可以被解释为对于参数y和z的信息元素x的值, 使得可以将‘up(10.0.0.1,192.168.0.15)’解释为地址10.0.0.1处的设备 已经对地址192.168.0.15处的设备泄露了地址10.0.0.1处的设备是开启 的并且正在运行。

为了提供更具体的示例的目的,下面可以是根据本发明的实施例 的信息元素:

#规则:如果主机在用任意数据报进行响应则表明主机是开启的

if current_packet.is_ip

then

up(currcnt_packet.source,currcnt_packet.destination)=1;

#规则:对被泄露的Web服务器的存在进行识别

if current_packet.protocol=TCP AND current_packet.src_port=80

then web_server(current_packet.source,current_packet.destination)=1;

#规则:查看当前消息的生存时间(TTL)值和先前所设置的值

#二者,用以确定是否已经泄露了能够被用于

#操作系统指纹标记(fingerprinting)的额外信息。注意,该

#规则将现有状态解释为其函数的一部分。

if current_packet.ttl>64 AND

windows(current_packet.source,current_packet.destination)

then

         windows_2000(current_packet.source,

               current_packet.destination)=1;

如另一个示例,以下可以是具有用于缺少响应信号的格式的信息 元素:

#查看先前的消息是否具有导致目的地将其丢弃的

#错误报头校验和。如果其具有错误报头校验和,则探查

#器已经确定它是用于操作系统指纹标记目的的3级机器。

if previous(currcnt_packet).bad_xsum AND

time_since_previous(currcnt_packet)>300ms

then os_class_3(current_packet.destination,current_packet.source);

在以上的示例中,“previous”指的是访问来自给定源/目标对的最 后的响应信号,并且“time_since_previous”指的是从先前分组到达开 始已经流逝的时间量。如以上一些规则所指示的,一些规则可以随查 看至少一些存储的状态或值而定,这可以实时地或作为后处理操作来 被完成。

可以由操作者(即,人类开发人员)基于历史数据、实验和/或操 作者的教育和经验来开发信息模板。或者,根据本发明的实施例,可 以由网络、计算机程序产品或设备来自动地开发信息模板。

一般说来,可以通过传感元件和/或处理元件来发现特定的响应信 号,用以匹配一个或多个信息模板。可以认为该响应信号泄露了与每 个匹配的信息模板相关联的网络的每个属性。并且,从响应信号所泄 露的属性的集合可以被表征为该响应信号的信息简档。由传感元件和/ 或处理元件针对每个响应信号所开发的信息简档可以被存储到数据存 储库中。更具体地说,根据图2中所示的实施例,该方法可以进一步 包括将由响应所泄露的网络的属性,即,响应的信息简档,存储在数 据存储库中400。例如,数据存储库可以是如图1中所示的网络的第一 计算机设备的存储元件24。

此外,计算机设备的处理元件20可以提供用于确定什么信息被存储到 存储元件24中的指令。

此外,在一些实施例中,询问或关于生成了响应的询问的信息也 可以被存储到数据存储库中。换言之,代替仅存储响应信号,可以存 储事件,即,询问和关联的响应。

将信息简档存储到数据存储库中可以允许自动化系统或操作者来 检查并且分析所有的信息简档,用以确定可能已经被泄露给攻击者的 信息总量或网络的所有属性。或者,可以分析信息简档的子集来采样 可能已经被透漏给攻击者的网络的属性。更具体地说,根据图2中所 示的实施例,该方法可以进一步包括基于数据存储库中所存储的属性 来确定网络的可能侦查500。在一些实施例中,可以通过图形用户界面 来访问数据存储库,通常由处理元件所支持,用以允许操作者查看所 存储的信息简档。

处理元件20可以被配置为:通过向网络内的另一个元件或向操作 者发送网络的可能侦查的警报或指示来对数据存储库达到所存储的信 息的预定阈值水平进行响应。例如,处理元件20可以在网络的一个或 多个监视器上生成弹出式警报消息,或者向预定的地址或设备发送警 报邮件或其它消息。阈值水平可以基于数据存储库中所存储的信息简 档的数目。或者,由传感元件和/或处理元件基于所泄露的属性的类型 来分类信息简档,并且阈值水平可以基于所泄露的和被存储在数据存 储库中的潜在属性的数目。除了或取代提供可能侦查的警报或指示, 处理元件20也可以被配置为:响应于数据存储库达到预定阈值水平, 采取防御性措施,诸如终止对一个或多个外部源的进一步通信。

根据本发明的实施例,主要监视可能被泄露的网络的属性而不是 导致一个或多个属性被泄露的实际询问或事件。因此,在一些实施例 中并且如图2中所示,该方法可以进一步包括将重复性的事件折叠为 单一的事件350。例如,如果用户的邮件代理每5分钟查询邮件服务器, 则这些事件的每一个都将生成相同的信息简档。换言之,邮件服务器 的额外查询和邮件服务器的响应将不会泄露除了第一次查询和响应中 所泄露的之外的额外信息或属性。因此,可以折叠重复性的事件,这 可以节省数据存储库中的空间并且使得更多的“异常”事件变得明显。

例如,根据一些实施例,数据存储库中被存储的信息简档可以表 示网络属性的列表。每个属性的状态,即,属性是否可能被泄露,可 以是双态的。如果属性有可能被泄露,则表示属性状态的数据比特可 以被设置为1,并且如果属性没有可能被泄露,则数据比特可以被设置 为0。因此,如果传感元件几千次地查看相同的事件,则表示对应的一 个或多个属性的状态的数据比特可以被几千次地设置为1,而不需要除 了单一数据比特以外的额外存储。在这种实施例中,通过重新设置相 同的数据比特或字节而不是存储额外值用以表示多个事件,重复性的 事件的折叠自动地发生。

较之常规入侵检测系统,某事件的折叠和信息简档的紧凑性质允 许相对更长时间段的数据的存储。存储数据的较大时间方面使得本发 明的实施例较少受攻击者的“低速和缓慢”技术的影响,即长时间段 地故意探查网络试图要避开检测的侦查。

并且,由于依赖于潜在被泄露的网络属性而不是询问,所以本发 明的实施例可以具有工具独立性的方面。具体地,侦查的检测基于所 泄露的信息而不是基于由攻击者用以获取信息的询问或工具。例如, 经常使用网络控制消息协议(ICMP)回送请求(经常被称为“ping”) 来执行对活动主机的扫描。但是,生成响应的任意其它IP数据报不能 被攻击者用于相同的目的是没有理由的。本发明的实施例允许对活动 主机的潜在扫描的检测,而不考虑什么工具被用以诱发响应。此外, 集中于响应使得本发明的实施例不易受到由攻击者通过许多不同的源 所发送的探查的影响。

如上所述,本发明的实施例也可以监视并且存储对网络的询问。 如上所述,事件是询问和对询问的响应。响应可以是响应信号或响应 信号的欠缺。实施例可以对事件而不仅是如上所述的响应信号进行监 视。这种实施例允许对“响应信号的欠缺”的响应的检测,“响应信 号的欠缺”的响应在一些应用中可能泄露网络的属性。并且,即使本 发明的实施例可以是独立于工具的,并且不集中于特定的外部源,本 发明的实施例仍然可以存储这种用于分析的信息。

监视并且存储事件允许出入网络的信息流的更完整的映射。通过 使用攻击者的潜在探查来识别并且修复安全性中的潜在缺陷,信息流 的映射可以允许对网络安全性的更好评估。此外,为了突出异常事件 或潜在的探查,可以按照类别,诸如按照外部源、web会话、容量和日 期/时间,来分析和聚合通过映射所收集的数据,以便于开发所预期的 或所期望的未来映射。

这里所阐述的本发明的很多修改和其它实施例对于本发明所涉及 的领域中的技术人员是容易想到的,这些发明具有前面的描述和附图 中所出现的教导的权益。因此,要理解的是本发明不限于所公开的特 定实施例,并且修改和其它实施例旨在被包括在所附权利要求的范围 内。虽然,这里使用了特定的术语,但是它们仅仅被用于一般性的和 描述性的意思,而不是用于限制的目的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号