首页> 中国专利> 用于检测具有伪造源地址的端口扫描的方法和装置

用于检测具有伪造源地址的端口扫描的方法和装置

摘要

用于端口扫描保护的计算机实现方法、装置和计算机程序产品。响应于检测到端口扫描,生成具有已修改的传输控制协议报头的应答数据分组,以形成已修改的应答数据分组。已修改的应答数据分组将引发来自已修改的应答数据分组的接收方的响应。将应答数据分组发送到与端口扫描相关联的第一互联网协议地址。从对已修改的应答数据分组的响应的报头中识别第二互联网协议地址。该第二互联网协议地址是端口扫描的源的实际路由地址。可以阻止来自该第二互联网协议地址的所有网络业务,以防止来自端口扫描的源的、对任何开放端口的攻击。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-24

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL2008800135340 申请日:20080416 授权公告日:20130320

    专利权的终止

  • 2013-03-20

    授权

    授权

  • 2010-04-28

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20080416

    实质审查的生效

  • 2010-03-10

    公开

    公开

说明书

技术领域

本发明总体上涉及数据处理系统,并且具体地涉及用于数据处 理系统安全性的方法和装置。更具体地,本发明涉及用于阻止使用 伪造源互联网协议地址的端口扫描器的计算机实现方法、装置以及 计算机可用程序代码。

背景技术

连接到网络的计算机设备(诸如客户端)上的用户,可以执行 在不同的计算设备(诸如服务器)上可用的应用或其他服务,其通 过连接到与应用或服务相关联的服务器上的端口来实现。端口是通 往网络中客户端和服务器之间的逻辑连接的端点。端口通常由端口 号来标识。服务器上的每个可用应用与不同的端口号相关联。

换言之,端口类似于去往计算机上的特定应用的入口或门口。 类似于入口,端口可以是开放的或关闭的。服务器上的开放端口是 与当前在服务器上可用的应用相关联的端口,以便由一个或多个客 户端计算机使用。关闭的端口是没有与服务器上可用的应用或服务 相关联的端口。黑客通常不能通过关闭的端口来访问计算机。

计算设备可以通过指定与服务器上的特定应用相关联的端口 号,来访问此特定应用。然而,有时候未授权的或恶意的用户可能 想访问服务器上的应用或服务,目的在于对服务器发起攻击。这些 用户通常称为黑客或计算机窃贼。被黑客攻击的服务器可以称为预 期受害者。

黑客通常不知道预期受害者上有什么可用的应用或服务。因此, 黑客可能执行端口扫描。端口扫描是一种系统地扫描计算机的端口 的方法,以便确定哪些端口是与可用的应用或服务相关联的开放端 口,而哪些端口是关闭的端口。在端口扫描中,发送请求与每个公 知端口的连接的一系列消息。从预期受害者接收到的响应指示公知 端口是开放端口还是关闭的端口。黑客使用端口扫描来定位去往计 算机的、易受攻击的开放访问点。

一旦定位了易受攻击的开放端口,黑客可以发起攻击,其可能 导致与受攻击的开放端口相关联的应用的资源对于该应用的预定用 户不可用。这种攻击类型有时称为拒绝服务(DOS)攻击。

此问题的一种解决方案由端口扫描保护软件提供。目前的端口 扫描保护软件识别连接请求中的源互联网协议(IP)地址,此连接 请求可以是端口扫描的一部分。端口扫描保护软件继而阻止此源IP 地址。换言之,端口扫描软件不允许从该源IP地址接收任何额外的 消息。这可以防止黑客使用同一源IP地址的后续攻击。

然而,黑客通过在定位开放端口的端口扫描期间使用伪造源IP 地址,避开了目前的端口扫描防护软件。当端口扫描软件意识到可 能正在进行端口扫描时,端口扫描防护软件阻止在端口扫描消息中 标识的伪造IP地址。然而,目前的端口扫描防护软件不能阻止黑客 的实际IP地址。因此,黑客仍然可以使用未被端口扫描保护软件阻 止的黑客的实际IP地址随意地对任何开放端口发起攻击。这些攻击 可能导致拒绝服务(DOS),影响尝试获得对预期受害者提供的应 用和/或服务的合法访问的用户。此外,这些攻击可能导致时间、数 据和利润的损失,同时使得应用和/或服务不可用。

发明内容

示意性的实施方式提供了用于端口扫描保护的计算机实现方 法、装置和计算机可用程序代码。在一个实施方式中,响应于检测 到端口扫描,该过程生成具有针对用于传输数据分组的协议而已修 改报头的应答数据分组,以形成已修改的应答数据分组。在一个实 施方式中,针对用于传输数据分组的协议而修改的报头是已修改的 传输控制协议报头。

已修改的应答数据分组将引发来自所述已修改的数据分组的接 收方的响应。该过程将应答数据分组发送到与端口扫描相关联的第 一路由地址。

响应于接收对所述已修改的应答数据分组的响应,该过程识别 响应数据分组的报头中的第二路由地址。第二路由地址是端口扫描 的源的实际路由地址。继而可以阻止来自第二路由地址的所有网络 业务,以防止对任何开放端口的攻击。在一个实施方式中,第一路 由地址是第一互联网协议地址,第二路由地址是第二互联网协议地 址。

针对用于传输数据分组的协议而修改的报头可以包括错误的序 列号。错误的序列号是落在序列号的可接受范围之外的序列号,或 者是从应答数据分组的接收方引诱出响应的协议。在另一实施方式 中,已修改的报头可以包括重置标志或者结束标志。在另一实施方 式中,已修改的报头通过改变用于生成已修改的应答数据分组的校 验和来生成。

从第一方面看,本发明提供了一种用于端口扫描保护的方法, 所述方法包括步骤:响应于检测到端口扫描,生成具有针对用于传 输数据分组的协议而修改的报头的应答数据分组,以形成已修改的 应答数据分组,其中所述已修改的应答数据分组从所述已修改的应 答数据分组的接收方获得响应;将所述已修改的应答数据分组发送 到与所述端口扫描相关联的第一路由地址;以及响应于接收到对所 述已修改的应答数据分组的所述响应,识别所述响应的报头中的第 二路由地址,其中所述第二路由地址是所述端口扫描的源的实际路 由地址。

优选地,本发明提供了一种方法,其中针对协议而修改的报头 包括落在序列号的可接受范围之外的序列号。

优选地,本发明提供了一种方法,其中所述序列号是将获得来 自所述接收方的响应的协议违例。

优选地,本发明提供了一种方法,其中针对协议而修改的报头 包括重置标志。

优选地,本发明提供了一种方法,其中针对协议而修改的报头 包括结束标志。

优选地,本发明提供了一种方法,其中修改所述报头还包括: 改变用于生成所述已修改的应答数据分组的校验和。

优选地,本发明提供了一种方法,进一步包括步骤:阻止起源 自第二路由地址的网络业务,以防止对任何开放端口的攻击。

优选地,本发明提供了一种方法,其中第一路由地址不是计算 设备的正确路由地址。

优选地,本发明提供了一种方法,进一步包括步骤:响应于接 收到端口扫描数据分组,识别所述端口扫描数据分组的报头中的源 路由地址作为所述第一路由地址。

优选地,本发明提供了一种方法,其中针对协议而修改的报头 是已修改的传输控制协议报头。

优选地,本发明提供了一种方法,其中针对协议而修改的报头 是已修改的用户数据报协议报头。

优选地,本发明提供了一种方法,其中第一路由地址是第一互 联网协议地址,而其中第二路由地址是第二互联网协议地址。

从第二方面看,本发明提供了一种装置,包括:总线系统;连 接到总线系统的通信系统;连接到总线系统的存储器,其中存储器 包括计算机可用程序代码;以及连接到总线系统的处理单元,其中 处理单元执行所述计算机可用程序代码以:响应于检测到端口扫描, 生成具有针对用于传输数据分组的协议而修改的报头的应答数据分 组,以形成已修改的应答数据分组,其中所述已修改的应答数据分 组从所述已修改的应答数据分组的接收方获得响应数据分组;将所 述已修改的应答数据分组发送到与所述端口扫描相关联的第一路由 地址;以及响应于接收到响应数据分组,识别所述响应数据分组的 报头中的第二路由地址,其中所述第二路由地址是所述端口扫描的 源的实际路由地址。

优选地,本发明提供了一种装置,其中针对协议而修改的报头 包括序列号,所述序列号是落在序列号的可接受范围之外的序列号。

优选地,本发明提供了一种装置,其中针对协议而修改的报头 包括重置标志。

优选地,本发明提供了一种装置,其中针对协议而修改的报头 包括结束标志。

优选地,本发明提供了一种装置,其中处理器单元进一步执行 所述计算机可用程序代码以阻止起源自第二路由地址的网络业务, 从而防止对任何开放端口的攻击。

优选地,本发明提供了一种装置,其中所述序列号是从所述应 答数据分组的接收方获得响应的协议违例。

优选地,本发明提供了一种装置,其中针对协议而修改的报头 是已修改的传输控制协议报头。

优选地,本发明提供了一种装置,其中第一路由地址是第一互 联网协议地址,而其中第二路由地址是第二互联网协议地址。

从第三方面看,本发明提供了一种用于防止遭受端口扫描的系 统,该系统包括:主机计算机,其中所述主机计算机包括:增强型 端口扫描保护软件,用于检测端口扫描数据分组,以及响应于检测 到端口扫描,生成具有针对用于传输数据分组的协议而修改的报头 的应答数据分组,以形成已修改的应答数据分组;以及源互联网协 议地址检测器,其中所述互联网协议地址检测器识别对所述已修改 的应答数据分组的响应的报头中的源路由地址,其中所述源路由地 址是所述端口扫描的源的实际路由地址。

优选地,本发明提供了一种系统,其中针对协议而修改的报头 包括用于触发来自所述应答数据分组的接收方的响应的协议违例。

优选地,本发明提供了一种系统,其中针对协议而修改的报头 包括重置标志或结束标志。

优选地,本发明提供了一种系统,其中所述主机计算机是第一 计算机,并且进一步包括:第二计算机,其中所述第二计算机包括: 端口扫描器,其中所述端口扫描器通过向第一计算机发送具有伪造 源路由地址的端口扫描数据分组,从而对所述第一计算机执行端口 扫描,其中所述伪造源路由地址不是所述第二计算机的正确路由地 址;以及传输控制协议/互联网协议层,其中所述传输控制协议/互联 网协议层自动地生成对所述已修改的应答数据分组的响应。

从第四方面看,本发明提供了一种可加载到数字计算机的内部 存储器中的计算机程序产品,其包括软件代码部分,当所述产品在 计算机上运行时,所述软件代码部分用于执行上述方法的所有步骤。

从第五方面看,计算机程序产品包括:包括用于端口扫描保护 的计算机可用程序代码的计算机可用介质,所述计算机程序产品包 括:计算机可用程序代码,用于响应于检测到端口扫描,生成具有 针对用于传输数据分组的协议而修改的报头的应答数据分组,以形 成已修改的应答数据分组,其中所述已修改的应答数据分组将引发 来自所述已修改的应答数据分组的接收方的响应;计算机可用程序 代码,用于将所述已修改的应答数据分组发送到与所述端口扫描相 关联的第一路由地址;以及计算机程序代码,用于响应于接收到所 述响应数据分组,识别所述响应数据分组的报头中的第二路由地址, 其中所述第二路由地址是所述端口扫描的源的实际路由地址。

优选地,本发明提供了一种计算机程序产品,其中针对协议而 修改的报头包括序列号。

优选地,本发明提供了一种计算机程序,其中所述序列号是落 在序列号的可接受范围之外的序列号。

优选地,本发明提供了一种计算机实现方法,其中所述序列号 是将从所述应答数据分组的接收方获得响应的协议违例。

优选地,本发明提供了一种计算机程序产品,其中针对协议而 修改的报头包括重置标志。

优选地,本发明提供了一种计算机程序产品,其中针对协议而 修改的报头包括结束标志。

附图说明

仅作为示例,下文参考附图详细描述本发明的实施方式,其中:

图1是可以实现本发明优选实施方式的数据处理系统的网络的 图形表示:

图2是可以实现本发明优选实施方式的数据处理系统的框图;

图3是根据本发明优选实施方式的开放系统互连(OSI)基本参 考模型的框图;

图4是示出了当前使用的端口扫描保护机制的框图;

图5是示出了根据本发明优选实施方式通过端口扫描保护系统、 用于检测具有伪造源IP地址的端口扫描的流程的框图;

图6是示出了根据本发明优选实施方式的端口扫描保护机制的 框图;

图7是根据本发明优选实施方式、在端口扫描期间传输的端口 扫描分组的示例性示意图;

图8是示出了根据本发明优选实施方式、用于检测具有伪造源 IP地址的端口扫描的过程的流程图;以及

图9是示出了根据本发明优选实施方式、用于修改应答数据分 组的过程的流程图。

具体实施方式

现在参考附图,尤其参考图1-图2,其提供了可以实现示意性实 施方式的数据处理环境的示例图。应当理解,图1-图2仅仅是示例 性的,其意图不在于声称或暗示有关可以实现不同实施方式的环境 的任何限制。可以对所示环境作出多种修改。

现在参考附图,图1示出了可以实现示意性实施方式的数据处 理系统的网络的图形表示。网络数据处理系统100是可以实现实施 方式的计算机的网络。网络数据处理系统100包含网络102,该网络 是用于在网络数据处理系统100内连接在一起的各种设备和计算机 之间提供通信链路的媒介。网络102可以包括连接,诸如有线、无 线通信链路或光纤线缆。

在所示示例中,服务器104和服务器106连接到网络102以及 存储单元108。此外,客户端110、112和114连接到网络102。这 些客户端110、112和114例如可以是个人计算机或网络计算机。

在所示示例中,服务器104为客户端110、112和114提供数据, 诸如引导文件、操作系统镜像以及应用。在此示例中,客户端110、 112和114是服务器104的客户端。网络数据处理系统100可以包括 额外的服务器、客户端以及其他未示出的设备。

诸如客户端110的计算设备可以执行在网络102上可用的不同 计算设备(诸如服务器106)上可用的应用或其他服务,其通过连接 到与所期望的应用或服务相关联的服务器106上的端口来实现。应 用是计算机软件,其使用计算设备的资源以便为用户执行任务或服 务。

端口是通往网络102中客户端110与服务器106之间的逻辑连 接的端点。端口通常由端口号来标识。端口号的范围从0到65,536。 端口号由互联网号码分配机构(IANA)来分配。互联网号码分配机 构由互联网名称和号码分配机构(ICANN)管理。

服务器104或106上的每个可用的应用与不同的端口号相关联。 有些端口号是基于与给定端口相关联的应用或服务的类型而预先分 配的。这些预先分配的或标准的端口号成为公知端口。大约有1,024 个为特定服务或应用预留或预先分配的公知端口。例如,公知端口 号包括但不限于,用于超文本传输协议(HTTP)业务的端口80,用 于Telnet的端口23,用于简单邮件传输协议(SMTP)的端口25, 用于域名服务器(DNS)的端口53,以及用于互联网中继聊天(IRC) 端口194。因此,任何服务器上指定用于超文本传输协议业务的任何 端口通常会具有分配的端口号80。

客户端110可以通过发送指定了与特定应用相关联的端口号的 连接请求,来访问服务器104或106上的特定应用。

在所示示例中,网络数据处理系统100是互联网,网络102表 示使用传输控制协议/互联网协议(TCP/IP)协议簇进行相互通信的 世界范围的网络集合。互联网的中心是主节点或主机计算机之间的 高速数据通信线路的骨干,其包括路由数据和消息的成千上万的商 业、政府、教育以及其他计算机系统。当然,网络数据处理系统100 还可以实现为多个不同类型的网络,诸如内联网、局域网(LAN) 或广域网(WAN)。图1旨在于作为示例,而不是用作对不同实施 方式的架构性限制。

现在参考图2,其示出了可以实现示意性实施方式的数据处理系 统的框图。数据处理系统200是诸如图1中的服务器106或客户端 110的计算机的示例,其中可以具有用于实现示意性实施方式的过程 的计算机可用代码或指令。

在所示示例中,数据处理系统200采用集线器(hub)架构,其 包括北桥和存储器控制器hub(MCH)202以及南桥和输入/输出(I/O) 控制器hub(ICH)204。处理单元206、主存储器208以及图形处理 器耦合到北桥和存储器控制器hub 202。处理单元206可以包含一个 或多个处理器,其甚至可以使用一个或多个异构处理器系统来实现。 图形处理器210可以通过例如加速图形端口(AGP)耦合到MCH。

在所示示例中,局域网(LAN)适配器212耦合到南桥和I/O控 制器hub 204,并且音频适配器216、键盘和鼠标适配器220、调制 解调器222、只读存储器(ROM)224、通用串行总线(USB)端口 和其他通信端口232、以及PCI/PCIe设备234通过总线238耦合到 南桥和I/O控制器hub 204,并且硬盘驱动(HDD)226和CD-ROM 驱动230通过总线240耦合到南桥和I/O控制器hub 204。PCI/PCIe 设备例如可以包括用于笔记本计算机的以太网适配器、外接卡以及 PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224例如可 以是快闪二进制输入/输出系统(BIOS)。硬盘驱动226和CD-ROM 驱动230例如可以使用电子集成驱动器(IDE)或串行高级技术附件 (SATA)接口。超级I/O(SIO)设备236可以耦合到南桥和I/O控 制器hub 204。

操作系统在处理单元206上运行,其协调和提供对图2的数据 处理系统200内的各种组件的控制。操作系统可以是商业上可用的 操作系统,诸如XP(Microsoft和Windows是 微软公司在美国、其他国家或世界范围的商标)。面向对象的编程 系统,诸如JavaTM编程系统,可以与操作系统一起运行,其根据在 数据处理系统200上执行的Java程序或应用而提供对操作系统的调 用。Java和所有基于Java的商标是Sun微系统公司在美国、其他国 家或世界范围的商标。

用于操作系统、面向对象的编程系统以及应用或程序的指令位 于诸如硬盘驱动226的存储设备中,并且其可以加载到主存储器208 中以由处理单元206执行。示意性实施方式的过程可以由处理单元 206使用计算机实现的指令来执行,这些指令可以位于存储器中,诸 如主存储器208、只读存储器224或一个或多个外设中。

图1-图2中的硬件可以根据实现而变化。其他内部硬件或外设, 诸如闪存、等效的非易失性存储器或光盘驱动等等,可以附加于或 替换图1-图2中示出的硬件而使用。同样,示意性实施方式的过程 可以应用于多处理器数据处理系统。

在有些示意性示例中,数据处理系统200可以是个人数字助理 (PDA),其通常配置有闪存以提供非易失性存储器,用于存储操 作系统文件和/或用户生成的数据。总线系统可以包括一条或多条总 线,诸如系统总线、I/O总线和PCI总线。当然,总线系统可以使用 任何类型的通信结构或架构来实现,其提供附接至此结构或架构上 的不同组件或设备之间的数据传送。通信单元可以包括用于发射和 接收数据的一个或多个设备,诸如调制解调器或网络适配器。存储 器例如可以是主存储器208或诸如北桥和存储器控制器hub 202中的 高速缓存。处理单元可以包括一个或多个处理器或CPU。图1-图2 中所示示例以及上述示例的意图并不在于暗示架构的限制。例如, 数据处理系统200也可以是平板型计算机、膝上型计算机、或采用 PDA形式之外的电话设备。

传输控制协议/互联网协议(TCP/IP)是用于通过网络(诸如图 1的网络102)连接计算设备的通信协议簇。传输控制协议和互联网 协议是用于通过网络(诸如互联网)传输数据的标准协议。

现在转到图3,其示出了根据示意性实施方式的开放系统互连 (OSI)基本参考模型的框图。开放系统互连参考模型300是用于定 义网络设备之间的互操作性和通信的标准协议层的通用模型。在此 示例中,开放系统互连参考模型300包括传输控制协议/互联网协议 (TCP/IP)簇。

开放系统互连通信架构利用TCP/IP以及类似的协议。在此示例 中,架构包括应用层302、呈现层304、会话层306、传输层308、 网络层310、数据链路层312以及物理层314。每层负责处理各种功 能和/或通信任务。

应用层302处理访问和/或执行的特定应用的细节。几乎每种实 现都存在大部分的通用TCP/IP应用,包括用于远程登录的Telnet; 文件传输协议(FTP);用于电子邮件的简单邮件传送协议(SMTP); 以及简单网络管理协议(SNMP)。

应用层302所处理的应用软件可以包括任意数目的软件应用, 其被设计用于对通过通信端口的数据作出反应,以提供用户请求的 期望功能。在该层的应用可以包括处理互联网的用户可以访问的数 据、视频、图形、照片和/或文本所需的应用。

呈现层304包括呈现协议和呈现服务。呈现服务用于识别将使 用的约定的传送语法。呈现协议支持用户与呈现服务通信。

会话层306包括会话协议和会话服务。会话服务为用户提供服 务,包括但不限于,建立会话服务用户之间的连接、终止用户之间 的连接、执行有关会话层令牌使用的协商、以及同步所传输数据中 的点以允许在发生错误或中断时恢复会话。会话协议允许用户与会 话服务通信。

接下来,传输层308提供网络层310和应用层302之间的接口, 其协助两个主机计算机之间的数据传送。传输层308涉及如下事务, 例如但不限于,将从应用层递送给它的数据划分为用于下面的网络 层的适当大小的块、确认接收到的分组、以及设置超时以确保另一 端确认所发送的分组。在TCP/IP协议簇中,存在两个明显不同的传 输协议,即传输控制协议(TCP)和用户数据报协议(UDP)。

传输控制协议提供可靠性服务,以确保数据在两个主机之间正 确地传输,其包括遗失检测和重传服务。与之相反,用户数据报协 议向应用层302提供简单得多的服务,其仅仅从一个主机向另一主 机发送相对简单的数据分组调用数据报。数据报是在不提供任何保 证数据报中的数据被正确传送的机制的情况下传输的。当使用用户 数据报协议时,应用层302必须执行可靠性功能。传输层数据分组 信息的示例包括但不限于,源主机的端口号和/或目的地主机的端口 号。

网络层310(也可以称为互联网层)处理数据分组在网络间的移 动。例如,网络层310处理通过网络传送的各种数据分组的路由。 TCP/IP簇中的网络层310包括若干协议,包括互联网协议(IP)、 互联网控制消息协议(ICMP)以及互联网组管理协议(IGMP)。 互联网协议(IP)可以包括但不限于,互联网协议版本4(IPv4)、 互联网协议版本6(IPv6)、或任何其他已知或可用版本的互联网协 议。网络层数据分组信息的示例可以包括但不限于,标识源主机IP 地址和/或目的地主机IP地址的互联网协议(IP)地址。

数据链路层312也可以称为链路层或网络接口层,其通常包括 操作系统中的设备驱动以及计算机中对应的网络接口卡。数据链路 层312通常处理与物理层314物理对接的所有硬件细节,例如但不 限于,以太网接口卡和/或无线互联网适配器。数据链路层数据分组 信息的示例可以包括但不限于媒体接入控制(MAC)地址。

物理层314表示所使用的网络媒质,诸如光纤线缆或以太网线 缆。换言之,物理层314是将计算设备(诸如图1的客户端110)连 接到网络(诸如图1的网络102)的物理网络线缆。

示意性实施方式的机制可以更具体地实现在诸如传输层308和/ 或网络层310之类的层中。

图4是示出了当前使用的端口扫描保护机制的框图。网络数据 处理系统400是包括连接到网络的两个或更多计算设备的数据处理 系统,诸如图1中的网络数据处理系统100。在此示例中,网络是互 联网。然而,网络也可以包括局域网、广域网、以太网或任何其他 类型的网络。网络数据处理系统400包括恶意主机402和受害者404。

恶意主机402是计算设备(诸如图1的客户端110)上的黑客或 其他未授权用户,其对受害者404执行端口扫描。换言之,恶意主 机402试图定位受害者404中的易受攻击的开放访问点,从而恶意 主机402可以通过此开放端口获得对受害者404的未授权访问和/或 发起对受害者404的攻击。恶意主机402正在执行对受害者404的 端口扫描,以定位易受攻击的开放访问点,从而在发起对受害者404 的攻击时使用。

受害者404是主控一个或多个应用和/或服务的计算设备。恶意 主机402连接到诸如图1中的网络102的网络。客户端计算设备通 过网络连接来请求连接到与给定应用或服务相关联的端口,从而可 以访问受害者404上可用的应用和/或服务。

受害者404包括端口扫描保护405。端口扫描保护405是任何当 前可用的端口扫描保护软件,用于检测端口扫描以及阻止恶意主机 402的源IP地址。端口扫描保护405的一般工作方法是监视受害者 404未使用的关闭端口集合,但是由于与这些端口相关联的应用的脆 弱性,其有可能被黑客用来进行非法利用。端口扫描保护405假设, 合法用户不会尝试访问关闭端口集合中的端口,因为合法用户知道 受害者404不提供与此关闭端口集合相关联的应用或服务。只有恶 意主机,诸如恶意主机402才会尝试连接到关闭端口集合中的端口, 因为它们探听在这些端口上监听的易受攻击的服务。

如果端口扫描保护405检测到请求连接至关闭端口集合中的端 口的数据分组,诸如来自特定远程主机的同步(SYN)数据分组或 这些数据分组的模式,则端口扫描保护405将避开或阻止来自此特 定远程主机的所有业务。通过这种方式,即使远程主机检测到易受 攻击的开放端口,远程主机也不能发起攻击,因为来自该远程主机 的所有将来的网络业务都被阻止了。

在此示例中,恶意主机402通过向受害者404发送一系列请求 连接至受害者404上的一个或多个公知端口的数据分组,来执行端 口扫描。数据分组406是恶意主机402发送的一系列数据分组之一。

数据分组406是传输控制协议/互联网协议(TCP/IP)数据分组, 其包含连接到在受害者404上标识为“n”的端口的请求。在此示例中, 数据分组406是请求连接到端口“n”的传输控制协议同步(TCP SYN) 消息。端口“n”可以是任何端口号,诸如与超文本传输协议业务相关 联的端口80。

在此示例中,数据分组406包括伪造的或虚假的源IP地址。源 IP地址是标识数据分组的发送者的IP地址。伪造源IP地址是标识 附带(incidental)受害者408而不是数据分组406的实际发送者的 IP地址。附带受害者408可以是实际的计算设备,或者附带受害者 408可能实际上并不存在。换言之,恶意主机402所使用的伪造IP 地址不必标识实际的计算设备。在此示例中,数据分组406包括与 附带受害者408相关联的源IP地址“A”,而不是作为恶意主机402 的实际IP地址的IP地址“B”。

响应于接收到数据分组406,受害者404发送数据分组410至附 带受害者408。数据分组410是指示端口“x”是开放端口还是关闭端 口的传输控制协议/互联网协议数据分组。在此示例中,数据分组410 是同步确认(SYN/ACK)消息。数据分组410被发送到与附带受害 者408相关联的目的地IP地址“A”。因此,恶意主机402不会在从 受害者404到附带受害者408的常规消息传输过程中接收到数据分 组410。

由于恶意主机402不是数据分组410的预定接收方,所以恶意 主机402从网络探听412数据分组410。探听表示捕获或查看预期发 送给不同目的地计算设备的数据分组。在此示例中,恶意主机402 使用分组嗅探器(sniffer)来探听预期由附带受害者408接收的数据 分组410。分组嗅探器是一种捕获通过网络传输的数据分组的应用, 尽管事实上恶意主机不是此数据分组的预期接收方。

因此,恶意主机402获悉端口“x”是否是可能易受攻击的开放端 口。如果端口“x”是开放端口,那么恶意主机402发起对受害者404 的攻击414。

受害者404具有目前的端口扫描保护软件。目前的端口扫描保 护允许受害者404将数据分组406视为可能来自黑客(诸如恶意主 机402)的端口扫描。目前的端口扫描保护软件支持受害者404能够 阻止来自在所怀疑的端口扫描(诸如数据分组406)中标识的源IP 地址的后续消息。然而,由于数据分组406中的源IP地址是伪造IP 地址,因此受害者404不会阻止来自恶意主机402的消息,例如来 自与攻击414相关联的恶意主机402的消息。按照这种方式,恶意 主机402就可以绕过目前的端口扫描保护软件,来攻击受害者404 并且可能损害或危害受害者404。

因此,在此示例中,恶意主机402是通过向受害者404上的给 定端口发送TCP SYN分组(诸如数据分组406),以试图连接到易 受攻击端口的端口扫描器。恶意主机402所生成的数据分组406包 括附带受害者的伪造源IP地址,该附带受害者可能存在也可能不存 在。如果有程序或应用正在此给定端口上监听,那么受害者404通 过向附带受害者发送TCP SYN/ACK分组(诸如数据分组410)来进 行响应。

恶意主机402监视网络并且查看通过的数据分组410。恶意主机 402确定给定端口可能连接上的开放端口,以便利用与该给定端口相 关联的应用中的任何已有弱点。恶意主机402可以基于分配给每个 端口的公知端口号来确定哪个应用与此给定端口相关联。

受害者404上的端口扫描保护405通过阻止附带受害者408的 伪造源IP地址“A”,来对伪造分组进行响应。恶意主机402使用适 当的黑客工具、针对此特定端口以及与此特定端口相关联的易受攻 击的应用程序,随意地向受害者404上的给定端口发起攻击414。

示意性实施方式认识到,当目前的端口扫描保护软件使用在端 口扫描期间从黑客接收的伪造源IP地址来对伪造数据分组进行响应 时,端口扫描保护软件通过阻止附带受害者的伪造源IP地址来进行 响应,而不是阻止真正恶意主机的实际IP地址。目前的端口扫描保 护软件不能在恶意主机提供伪造源IP地址时,识别和阻止真正的源 IP地址。因此,示意性实施方式认识到需要增强端口扫描保护软件, 其将在检测到端口扫描之后尽可能快地避开实际发起攻击的主机IP 地址。

因此,示意性实施方式提供了一种用于端口扫描保护的计算机 实现方法、装置和计算机可用程序代码。在一个实施方式中,响应 于检测到端口扫描,该过程生成具有针对用于传输数据分组的协议 而修改的报头的应答数据分组,以形成已修改的应答数据分组。

在下文所描述的示意性实施方式中,针对用于传输数据分组的 协议而修改的报头是已修改的传输控制协议报头。然而,示意性实 施方式不限于修改传输控制协议中的报头。示意性实施方式可以修 改用于通过网络连接来传输数据分组的任何已知或可用的协议类型 中的报头,以形成已修改的应答数据分组,这些协议包括但不限于 传输控制协议或用户数据报协议(UDP)。

已修改的应答数据分组将引发来自已修改的数据分组的接收方 的响应。该过程将此应答数据分组发送到与端口扫描相关联的第一 路由地址。响应于接收到对此已修改的应答数据分组的响应,该过 程识别该响应数据分组的报头中的第二路由地址。在下文所描述的 示例中,第一路由地址是第一互联网协议地址,并且第二路由地址 是第二互联网协议地址。互联网协议可以是任何版本的互联网协议, 包括但不限于互联网协议版本4(IPv4)、互联网协议版本6(IPv6) 或任何其他互联网协议版本。此外,示意性实施方式不限于互联网 协议。根据示意性实施方式,可以使用任何类型的已知或可用协议 以用于为一个或多个端口提供路由地址。

第二路由地址是端口扫描的源的实际路由地址。继而可以阻止 来自第二路由地址的所有网络业务,以防止对任何开放端口的攻击。

现在转到图5,其示出了根据示意性实施方式通过端口扫描保护 系统、用于检测具有伪造源IP地址的端口扫描的流程的框图。计算 机500可以使用任何类型的计算设备来实现,包括但不限于图1中 的服务器106或客户端110。

计算机500包括应用集合502。应用集合502是计算机500上可 用的一个或多个应用和/或服务的集合。应用是使用计算设备的资源 以便为用户执行任务或服务的计算机软件。

应用集合502可以存储在数据存储设备上,诸如数据存储设备 504。数据存储设备504是用于存储数据的任何类型的已知或可用设 备,包括但不限于,主存储器、数据库、只读存储器(ROM)、随 机访问存储器(RAM)、非易失性随机访问存储器(NV-RAM)、 硬盘、闪存、软盘、可重写压缩盘(CD-RW)、或任何其他类型的 数据存储设备。在此示例中,数据存储设备504位于计算机500上 或位于计算机500的本地。然而,数据存储设备504也可以位于计 算机500的远程。

计算机500使用传输控制协议/互联网协议(TCP/IP)506来从 连接到网络(诸如图1的网络102)的其他计算设备发射和接收消息。 TCP/IP 506是用于在发送方和接收方之间提供连接的标准协议簇。 TCP/IP可以提供有保证的递送,并且确保按正确的顺序接收分组。 换言之,当从另一计算设备向计算机500发送消息时,这些消息可 能不是按顺序接收的。因此,TCP/IP 506使用传输控制协议(TCP) 序列号,来确保这些消息按正确顺序递送到应用层。

TCP/IP 506为TCP/IP 506所发送的每个消息给予序列号,从而 消息的接收方可以确定消息的正确顺序。当建立了计算机500与第 二计算设备之间的连接时,在计算机500与第二计算设备之间交换 初始序列号(ISN)。如果序列外的号在特定范围或限制内,则TCP/IP 506允许接收具有所述序列外的序列号的消息。然而,如果序列号超 出期望的序列号范围太远,则将忽略该消息或将其标识为错误消息。 在这种情况下,计算机500可以请求第二计算机对具有错误序列号 的消息进行重新发送。

TCP/IP 506包括端口508和端口510。在此示例中,计算机500 示出为具有两个端口。然而,计算机500可以具有任意数目的端口。

端口508具有分配的端口号,其与应用集合502中的应用相关 联。例如,如果端口508与用于处理超文本传输协议业务的应用相 关联,那么端口508将被分配端口号80。在此示例中,端口508是 开放端口。

端口510也分配了端口号。在此示例中,端口510分配了用于 文件传输协议(FTP)的端口号20。然而,在此示例中,文件传输 协议在计算机500上不可用。因此,端口510是关闭端口。

计算机500还包括增强型端口扫描保护512。增强型端口扫描保 护512是端口扫描保护软件,用于检测端口扫描以及阻止与执行端 口扫描的恶意主机或其他计算设备(诸如恶意主机516)相关联的IP 地址。

恶意主机516是对计算机500相关联的一个或多个端口(诸如 端口508和510)执行端口扫描的黑客、计算机窃贼、未授权用户或 非法用户。恶意主机516包括用于通过网络发送和接收数据分组的 TCP/IP协议簇518。恶意主机516通过此网络连接而连接到计算机 500。

恶意主机516包括端口扫描器520。端口扫描器520可以是用于 对计算机500上的一个或多个端口的集合执行端口扫描的任何类型 的已知或可用设备。端口扫描器520可以完全实现为软件,或者实 现为软件和硬件的组合。在此示例中,端口扫描器520生成端口扫 描数据分组522。端口扫描数据分组522包括伪造源IP地址524。 伪造源IP地址524不是与恶意主机516相关联的IP地址。伪造源 IP地址524可以是恶意主机516之外的实际计算设备的IP地址,或 者伪造源IP地址524可以是实际不存在的计算设备的IP地址。

增强型端口扫描保护512包括源IP地址检测514。源IP地址检 测514是用于生成应答数据分组526的软件组件。应答数据分组526 是被修改以迫使恶意主机516上的TCP/IP 518生成响应528的数据 分组。换言之,如果增强型端口扫描保护512检测到端口扫描,则 增强型端口扫描保护512通过向恶意主机516发送应答数据分组526 来进行响应,该应答数据分组将促使恶意主机516发送响应528。响 应528可以在响应528的传输控制协议报头中包括重置(RST)标志 或结束确认(FIN/ACK)标志。在此示例中,响应528还包括在响 应528的传输控制协议报头的网络层中的恶意主机的真实IP地址 530。

计算机500可以从响应528中识别恶意主机的真实IP地址530。 增强型端口扫描保护512继而避开或阻止恶意主机516的真实IP地 址530,以防止来自恶意主机516的任何将来的攻击。

接着,图6是示出了根据示意性实施方式的端口扫描保护机制 的框图。网络数据处理系统600是包括多个通过网络连接的计算设 备的数据处理系统,诸如图1中的网络数据处理系统100。在此示例 中,网络是互联网。然而,网络也可以是局域网、广域网、以太网 或任何其他类型的网络。网络数据处理系统600包括恶意主机602 和受害者604。

恶意主机602是计算设备(诸如图1中的客户端110,或图5中 的恶意主机516)上的黑客或其他未授权用户。恶意主机602正在对 受害者604执行未授权的端口扫描以试图定位易受攻击的开放访问 点,从而恶意主机602可以通过此开放端口获得对受害者604的未 授权访问和/或发起对受害者604的攻击。

受害者604是主控一个或多个应用和/或服务的计算设备,诸如 图1的服务器106或图5的计算机500。客户端计算设备可以通过网 络连接请求连接至与给定应用或服务相关联的端口,来访问受害者 604上可用的应用和/或服务。

受害者604具有包括源IP地址检测软件的增强型端口扫描保护 605,诸如图5的增强型端口扫描保护512。增强型端口扫描保护605 是这样的软件,当恶意主机602通过使用伪造源IP地址发送数据分 组606以发起端口扫描时,该软件用于识别恶意主机602的IP地址, 并且阻止恶意主机602的IP地址而不是阻止恶意主机602所使用的 伪造源IP地址。

恶意主机602通过向受害者604发送一系列请求连接至受害者 604上的一个或多个公知端口的数据分组,来执行端口扫描。数据分 组606是恶意主机602发送给受害者604上的端口的一系列数据分 组之一,诸如图5的端口扫描数据分组522。

数据分组606是请求连接至受害者604上标识为端口“n”的端口 的传输控制协议/互联网协议数据分组。在此示例中,数据分组606 是传输控制协议同步(TCP SYN)数据分组。端口“n”可以是任何端 口号,诸如与超文本传输协议业务相关联的端口80。

数据分组606包括附带受害者的伪造或虚假源IP地址。附带受 害者可以实际存在或实际不存在。在此示例中,数据分组606包括 与附带受害者相关联的源IP地址“A”,而不是作为恶意主机602的 实际IP地址的IP地址“B”。

响应于接收到数据分组606,增强型端口扫描保护605生成数据 分组608。数据分组608是应答数据分组,诸如图5中的应答数据分 组526。数据分组608被制造以使得当恶意主机602从网络探听数据 分组608时,此数据分组将引发来自恶意主机602的响应。按如下 方式改变数据分组608的传输控制协议(TCP)报头的报头,即如果 恶意主机602从网络探听数据分组608,则其将引诱恶意主机的 TCP/IP层对数据分组608进行响应。

例如,如果增强型端口扫描保护605将错误序列号给予数据分 组608,则恶意主机602的TCP/IP层将通过发送同步(SYN)标志 以尝试重新连接到受害者604,来进行响应。错误序列号是在可能的 序列号的预期或可接受范围之外的序列号。

结束(FIN)标志指示会话的结束。当接收到包括结束标志的数 据分组时,TCP/IP在响应中自动发送结束确认。因此,如果端口扫 描保护605给予数据分组608结束标志,则恶意主机602的TCP/IP 层在响应消息中将结束确认(FIN/ACK)自动发送给受害者604。

因此,在此示例中,增强型端口扫描保护605将数据分组608 发送给与伪造源IP地址相关联的附带受害者。数据分组608是指示 端口“n”是开放端口还是关闭端口的传输控制协议/互联网协议数据 分组。在此示例中,数据分组608包含同步确认(SYN/ACK)标志 以及错误序列号。受害者604将数据分组608发送给与附带受害者 相关联的伪造IP地址“A”。

数据分组608的报头中的数据链路层指示数据分组608的目的 地的媒体接入控制(MAC)地址。媒体接入控制地址指明目的地计 算设备的特定网络适配器。在此情况下,媒体接入控制地址指明附 带受害者的网络适配器。

通常,如果恶意主机602没有运行在探听模式中,则恶意主机 602不会接收到数据分组608,因为数据链路层媒体接入控制地址与 恶意主机602关联的网络适配器不匹配。然而,在此示例中,恶意 主机602处于探听模式。因此,与恶意主机602关联的以太网驱动 将忽略数据分组608的报头中的媒体接入控制地址,并且将数据分 组608向上递送到恶意主机602关联的TCP/IP层。

恶意主机602从网络探听数据分组608。在此示例中,恶意主机 602使用分组嗅探器来从网络探听数据分组608。响应于检测到数据 分组608中的错误序列号,恶意主机602的TCP/IP层自动地生产对 数据分组的响应610,并将其传输给受害者604以试图重新连接到受 害者604。数据分组610是响应数据分组,诸如图5中的响应528。

数据分组610包含恶意主机602的实际源IP地址“B”,而不是伪 造IP地址“A”。增强型端口扫描保护605阻止此实际源IP地址“B”, 以防止通过网络向受害者604发送进一步的消息。按此方式,阻止 了恶意主机602对受害者604上的任何易受攻击端口发起任何攻击。

图7是根据示意性实施方式、在端口扫描期间传输的端口扫描 分组的示例性示意图。端口扫描数据分组702是具有由恶意主机生 成的虚假源IP地址的数据分组,诸如图5中的端口扫描数据分组522 和/或图6中的数据分组606。在此示例中,端口扫描数据分组是同 步(SYN)数据分组。

应答数据分组703是端口扫描数据分组702的接收方生成的数 据分组,诸如图5中的应答数据分组526和/或图6中的数据分组608。 接收方是恶意主机的预期受害者。应答数据分组703由受害者生成 并发送给虚假的IP地址。在此示例中,应答数据分组是由恶意主机 的预期受害者(诸如图6中的受害者604)生成的同步确认 (SYN/ACK)数据分组。

端口扫描数据分组702在片段704中包括用于数据链路层的信 息。从恶意主机到预期受害者的端口扫描数据分组的传输路由将基 于路由表来分配以太网(ETH)媒体接入控制(MAC)地址。

端口扫描数据分组702还包括网络层中信息。网络层信息包括 行705中的伪造源IP地址“A”。伪造源IP地址“A”是存在或不存在 的附带受害者的IP地址,而不是生成端口扫描数据分组702的恶意 主机的实际IP地址。数据分组中的网络层信息还包括标识受害者计 算设备的目的地IP地址706。

端口扫描数据分组702中的传输层信息标识恶意黑客的源端口 号以及受害主机计算设备的目的地端口号,如行708所示。行710 是用于端口扫描分组的序列号。行712标识此数据分组为请求与受 害者计算设备的连接的同步(SYN)数据分组。

应答数据分组703包括受害者的源IP地址714以及目的地IP地 址716。目的地IP地址716是恶意黑客所使用的伪造IP地址。

如行714所示,传输层信息包括生成应答数据分组的受害者计 算设备的源端口号。行716包括目的地IP地址。在此示例中的目的 地IP地址是附带受害者的伪造IP地址。附带受害者实际上可以存在 或实际上不存在。

行722可以提供错误序列号。错误序列号是在可能的序列号的 预期或可接受范围之外的序列号。

行722指示应答数据分组703是同步/确认(SYN/ACK)数据分 组。在另一示例中,行722可以指示应答数据分组703是重置(RST) 或结束(FIN)数据分组。

换言之,使用当前可用的端口扫描保护软件,如果受害者在端 口23上具有活跃服务,其可以在行708标识,则受害者将通过生成 SYN/ACK应答数据分组来作出响应。这将是受害者上的端口23与 恶意主机上的端口1494之间的会话的结束。那么恶意主机就会知道 受害者在端口23上运行telnet服务。恶意主机继而可以对端口23 发起telnet攻击。目前的端口扫描保护软件将会阻止在端口扫描分组 的705行中标识的伪造IP地址,而不能阻止恶意主机的实际IP地址。 因此,恶意主机可以随意攻击端口23。

根据示意性实施方式,当受害者接收到端口扫描数据分组702 时,受害者上的增强型端口扫描保护软件按照迫使实际的恶意主机 进行响应的方式来作出响应。例如,增强型端口扫描保护软件生成 包括错误序列号、重置(RST)消息或结束(FIN)消息的应答数据 分组703。由于附带主机从来没有发送端口扫描数据分组702,因此 附带主机不会对应答数据分组703作出响应。反而,如果实际上存 在附带主机,则附带主机将仅仅是忽略应答数据分组703。如果附带 主机不存在,那么附带主机不可能对应答数据分组703作出响应。 因此,预期只有恶意主机对应答数据分组703进行响应。按此方式, 受害者可以识别和阻止恶意主机的实际IP地址,这些恶意主机使用 端口扫描来识别易受恶意主机的攻击的开放端口。

现在参考图8,其示出了根据示意性实施方式、用于检测具有伪 造源IP地址的端口扫描的过程的流程图。在图8所示的示意性示例 中,过程由用于端口扫描保护的软件组件来执行,诸如图5中的增 强型端口扫描保护512。

通过确定是否检测到端口扫描(步骤802)来开始此过程。如果 未检测到端口扫描,则过程返回步骤802,直到检测到端口扫描。当 从恶意主机接收到端口扫描数据分组或一系列数据分组时,可以检 测到端口扫描。

如果在步骤802中检测到端口扫描,则该过程生成已修改的应 答数据分组(步骤804)。该过程将已修改的应答数据分组发送到在 端口扫描数据分组中标识的源IP地址(步骤806)。在此示例中, 源IP地址是伪造源IP地址,其不是执行端口扫描的主机的正确IP 地址。

该过程继而确定是否接收到对此应答的响应(步骤808)。如果 未接收到响应,则该过程返回步骤808,直到接收到响应。当在步骤 808中接收到响应时,该过程阻止来自在响应的传输控制协议报头中 标识的第二IP地址的所有网络业务(步骤810),以防止从端口扫 描的源可能发起的任何攻击,之后该过程终止。

图9是示出了根据示意性实施方式、用于修改应答数据分组的 过程的流程图。在图9的示例中,该过程可以由用于端口扫描保护 的软件组件来实现,诸如图5中的增强型端口扫描保护512。

通过生成应答数据分组(步骤902)来开始此过程。此过程确定 是否通过向应答数据分组的传输控制协议报头添加错误序列号,来 修改应答数据分组(步骤904)。如果确定通过添加错误序列号来修 改应答数据分组,则该过程将错误序列号添加到应答数据分组的报 头中(步骤906),并且将此已修改的应答数据分组传输给附带受害 者(步骤908),之后该过程终止。

返回步骤904,如果确定不添加错误序列号,则该过程确定是否 将重置标志或结束标志添加到应答数据分组上(步骤910)。如果该 过程确定不添加标志,则此后该过程终止。

返回步骤910,如果该过程确定通过添加重置标志或结束标志来 修改应答数据分组,则该过程将重置标志或结束标志添加到应答数 据分组上(步骤912)。继而该过程将已修改的应答数据分组发送给 附带受害者(步骤908),之后该过程终止。

因此,示意性实施方式提供了用于端口扫描保护的计算机实现 方法、装置和计算机可用介质。在一个实施方式中,响应于检测到 端口扫描,该过程生成具有已修改的传输控制协议报头的应答数据 分组,以形成已修改的应答数据分组。已修改的应答数据分组将引 发来自此已修改的数据分组的接收方的响应。该过程将应答数据分 组发送到与端口扫描相关联的第一互联网协议地址。

响应于接收对已修改的应答数据分组的响应,该过程识别响应 数据分组的报头中的第二互联网协议地址。第二互联网协议地址是 端口扫描的源的实际互联网协议地址。继而可以阻止来自第二互联 网协议地址的所有网络业务,以防止对任何开放端口的攻击。

已修改的传输控制协议报头可以包括错误的序列号。错误的序 列号是落在序列号的可接受范围之外的序列号。在另一实施方式中, 已修改的传输控制协议可以包括重置标志或结束标志。在另一实施 方式中,已修改的传输控制协议报头通过改变用于生成已修改的应 答数据分组的校验和来生成。

按此方式,可以防止使用伪造IP地址的黑客对开放的潜在易受 攻击的端口的攻击。

附图中的流程图和框图示出了根据各种实施方式的系统、方法 和计算机程序产品的可能实现的架构、功能和操作。在这点上,流 程图或框图中的每个步骤可以代表模块、程序段、或代码的一部分, 所述模块、程序段、或代码的一部分包括一个或多个用于实现指定 的逻辑功能的可执行指令。还应当注意,在有些备选实现中,步骤 中标注的功能也可以以不同于附图中所标注的顺序发生。例如,连 续示出的两个步骤实际上可以基本并行地执行,或者这些步骤有时 也可以按相反的顺序执行,这依所涉及的功能而定。

本发明可以采取完全硬件实施方式、完全软件实施方式或既包 含硬件组件又包含软件组件的实施方式的形式。在优选实施方式中, 本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。

而且,本发明还可以采取可从计算机可用或计算机可读介质访问的 计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令 执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可 读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输 程序以由指令执行系统、装置或设备使用或与其结合使用。

介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系 统(或装置或器件)或传播介质。计算机可读介质的例子包括半导体或 固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、 只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括紧凑盘-只 读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。

适合与存储/或执行程序代码的数据处理系统将包括至少一个处 理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器 元件可以包括在程序代码的实际执行期间所利用的本地存储器、大 容量存储器、以及提供至少一部分程序代码的临时存储以便减少执 行期间从大容量存储器必须取回代码的次数的高速缓冲存储器。

输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备 等等)可以直接地或通过中间I/O控制器耦合到系统。

网络适配器也可以耦合到系统,以使得数据处理系统能够通过 中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或 存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前 可用的网络适配器类型的几个例子。

出于示意性和描述的目的已经提供了本发明的描述,但其意图 不在于穷尽本发明或将本发明限制于所公开的形式。多种修改和变 形对于本领域普通技术人员将是很明显的。实施方式是这样选择和 描述的,以便最好地解释本发明的原理、实际应用,并且使得本领 域其他普通技术人员能够理解具有各种修改的本发明的各种实施方 式同样适合于所构想的特定使用。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号