无状态双向代理的制作方法

文档序号:7639946阅读:122来源:国知局
专利名称:无状态双向代理的制作方法
无状态双向代理背景自开始以来,因特网在全球的普及程度就以呈指数的速率增长。每年,随 着越来越多的人员和企业使用因特网来连接到其他人员和企业以及连接到经 由因特网服务器可获得的无数信息、服务和产品的源,包括客户机机器("客 户机"),即用户设备和服务器机器("服务器")的几十万台计算机系统被 添加到因特网。如同在任何大型和复杂的市场中一样,连接到因特网的服务器 和客户机成为了恶意方的目标。恶意方使用软件来获取对存储在服务器和客户 机上属于个人、金融机构、政府和其他企业的机密和私有信息的未经授权的访 问。对统称为恶意软件的诸如病毒、蠕虫、木马、垃圾邮件(无用的、未经请 求的、以及通常为商业电子邮件消息)的恶意软件程序的使用的数目和频率在 过去几年中有了很大的增长。为了保护对系统和机密数据的访问并保存网络数 据带宽,对反恶意软件软件的开发和使用也快速地增长。对包括反病毒和垃圾 邮件防护以及其他保护性软件的反恶意软件软件套件的使用变得越来越常见。反恶意软件软件套件的示例是Norton Antivirus和McAfee VimsScan套件的因 特网保护软件。如同任何新的软件应用程序一样,反恶意软件软件必须在现实环境中测试 以确保可靠性和正确的功能。软件测试通常在其中可以严密地控制操作参数和 配置的受控环境中执行,使得可以进行集中于特定功能领域的测试并研究结 果。由于大多数恶意软件本质上是在联网环境中使用的可执行软件,因此测试 反恶意软件软件要求受控的网络环境。病毒类恶意软件是通过感染未经感染的 计算机或计算设备程序来扩散的可执行软件。感染指的是在现有的合法软件程 序中嵌入一段恶意的软件代码(即恶意软件)。该嵌入的恶意软件随后在用户 选择该合法软件程序以供处理器执行或选择以供在常规计算活动期间由其他 合法进程执行时被计算机处理器执行。当该恶意软件被处理器执行时,该恶意 软件造成该恶意软件被设计成所要实现的损坏。大多数恶意软件,尤其是病毒在互联网上传播并且从一台计算机(即服务器或客户机)经由电子邮件附件传 递到另一计算机,并且在用户不知情地打开该电子邮件附件时执行,或者作为 附在合法软件程序或网页上或嵌入在其中的寄生软件。不同于病毒,蠕虫无需 被嵌入在程序中来执行。
一旦蠕虫被执行,蠕虫自我复制并创建更多的蠕虫, 最终消耗网络的带宽,由此不允许其他程序使用相关的计算资源。为了测试反恶意软件软件的有效性,运行反恶意软件软件的测试系统必须 能够接收由运行恶意软件程序的恶意软件系统发送的恶意软件分组。接收该恶 意软件分组的测试系统允许测试员、人员或自动化计算机测试软件来观察反恶 意软件软件是否正确地检测到该恶意软件分组并防止它们感染该测试系统。大 多数恶意软件生成诸如互联网协议("IP")地址等随机地以互联网上的计算 机为目标以便传递恶意软件的随机网络地址。因为由恶意软件生成的随机网络 地址极不可能匹配测试系统的网络地址,所以测试系统不太可能接收在恶意软 件系统上运行的恶意软件生成的分组。所需的是确保恶意软件被定向到测试系 统上,使得可以确定在测试系统上运行的反恶意软件软件的有效性的方式。概述提供本概述以便用简化的形式介绍将在以下详细描述中进一步描述的一 些概念。本概述并不旨在确定所要求保护的主题的关键特征,也不旨在用于帮 助确定所要求保护的主题的范围。提供了一种用于定向数据分组话务的方法和系统。一代理设备将第一和第 二计算设备、系统或网络耦合在一起。该代理设备从定址到目的地的第一和第 二计算设备、系统或网络之一接收数据分组并将该数据分组重定向到该第一和 第二计算设备、系统或网络中的另一个上。该代理设备可以响应于由该第一和 第二计算设备、系统或网络中的另一个接收的分组而从该第一和第二计算设 备、系统或网络中的另一个接收数据分组,并将该响应数据分组重定向回第一 和第二计算设备、系统或网络中发起的那一个。在一个示例性实施例中,第一和第二计算设备、系统或网络中发起的那一 个运行恶意软件("恶意软件"),由此原始数据分组包含恶意软件,而第一 和第二计算设备、系统或网络中的另一个运行反恶意软件测试软件。


当结合附图参考以下详细描述时,能更容易理解并更好地理解本发明的以 上方面和许多附带优点,附图中图1是示出包括无状态双向代理设备的两台计算机的系统的图示;图2是示出图1中所示的无状态双向代理设备的操作的流程图;图3是示出包括无状态双向代理设备的多计算机网络系统的图示;图4是示出图3中所示的无状态双向代理设备和相关元件的操作的流程图;图5是无状态双向代理设备的示例性实施例的框图;以及 图6是无状态双向代理设备的另一示例性实施例的框图。详细描述描述了重定向计算机网络数据分组的系统和方法。虽然该系统和方法理想 地适用于将来自运行恶意软件的恶意软件系统的数据分组重定向到运行反恶 意软件软件的主机系统上,但是该系统和方法也可以在其他环境中找到用途。 此外,虽然该系统和方法是在双向环境中描述的,但是该系统和方法也可以在 单向环境中找到用途。由此,应该理解,本发明不应被解释为限于此处所描述 的示例性实施例的应用,并且这种示例性实施例不应被解释为限制性的。图1示出了一两台计算设备的系统,包括恶意软件计算设备100、主机计 算设备104和代理设备102。代理设备102是具有两个输入/输出耦合或连接的 双向无状态设备。一个输入/输出耦合或连接被有线或无线地连接到恶意软件计 算设备100,而另一输入/输出耦合或连接被有线或无线连接到主机计算设备 104。虽然恶意软件计算设备100和主机计算设备104被图示为台式型个人计算 机,但是这应该被解释为示例性的而非限制性的。除台式型个人计算机之外, 恶意软件计算设备IOO和主机计算设备104之一或两者可以采用各种其他计算 设备中的任一种的形式,包括但不限于膝上型计算机、个人数字助理、蜂窝电话、服务器等。代理设备102从恶意软件计算设备接收数据分组,并将其转发到主机计算设备,反之亦然。为了便于说明和理解,由恶意软件计算设备ioo生成的数据分组被指定为分组#1,由代理设备102转发给主机计算设备104的数据分组被 指定为分组#2,由主机计算设备104生成的数据分组被指定为分组#3,而由代 理设备102转发给恶意软件计算设备100的数据分组被指定为分组糾。诸如分 组#1等每个数据分组包括源地址和目的地地址,每个地址标识数据分组的通信 路径的一个端点。源和目的地地址可以是例如互联网协议(IP)地址。此外, 每个数据分组可包括用于源和目的地计算设备的媒体访问控制("MAC")地 址,每个MAC地址分别唯一地标识源和目的地计算设备。在图l中所示的示 例性实施例中,取决于哪个计算设备正在发送和哪个计算设备正在接收,源和 目的地计算设备是恶意软件计算设备和主机计算设备。返回到图1,在恶意软件计算设备100上运行的恶意软件将随机的目的地 地址应用于分组#1数据分组。这些分组包含恶意软件。代理设备102接收分组 #1数据分组,修改源和目的地地址,使得分组#1数据分组作为分组#2数据分 组被重定向到主机计算设备104。代理设备还修改由主机计算设备104产生的 响应分组,即分组#3数据分组的源和目的地地址,并将响应分组作为分组#4 数据分组重定向到恶意软件计算设备。更为具体地,代理设备102包括存储恶 意软件计算设备100的MAC地址和IP地址以及主机计算设备104的MAC地 址和IP地址的存储器。存储在代理设备102中的上述信息使代理设备102能 以无状态方式操作。即,该配置信息使得代理设备102能够在无需维护它接收 和发送的每个分组的状态信息,即MAC和IP的情况下操作。将恶意软件计算 设备连接到主机计算设备的网络实际上由代理设备102切换。恶意软件计算设 备100和主机计算设备104不能直接在连接的网络上检测到彼此的存在,由此 不能直接彼此发送网络数据分组。实际上,恶意软件计算设备IOO和主机计算 设备104各自都在通过代理设备102连接的单独的子网中。就这点而言,代理 设备102起到网络路由器的作用。图2是示出存储在代理设备102中的软件如何使得代理处理器通过修改源 和目的地地址来重定向恶意软件计算设备IOO和主机计算设备104之间的数据 分组的功能流程图。 一开始,在框210处,代理设备102 "监听"来自恶意软件计算设备100和主机计算设备104两者的分组。当接收到分组时(框220), 代理设备102在框230处判定该分组是否来自主机计算设备。如果分组不是来 自主机计算设备104的,则该分组是来自恶意软件计算设备100的。在所示的 本发明的示例性实施例中,由恶意软件计算设备100发送的分组,即分组#1 数据分组包括被设置成Malware一MAC值(恶意软件计算设备100的MAC地 址)的源MAC地址以及被设置成Malware_IP值,即恶意软件计算设备100 的网络地址的源网络地址。此外,分组#1数据分组包括被设置成ProxyJVIAC 值(代理设备102的MAC地址)的目的地MAC地址以及被设置成Target—IP 值的目的地网络地址。值Target一IP是由在恶意软件计算设备100上运行的恶 意软件生成的随机接收计算设备地址。返回到图2,当接收到分组#1数据分组时,该流程图转到框240处,其中 代理设备102将源MAC地址改为Proxy—MAC,并将源网络地址改为Target—IP。 代理设备102还将目的地MAC地址改为Host—MAC (主机计算设备104的 MAC地址),并将目的地网络地址改为Host—IP (主机计算设备104的网络地 址)。这些改变将分组#1数据分组转换成分组#2数据分组。虽然分组#2数据 分组的主体与分组#1数据分组的主体相同,但是源和目的地地址不同,其己用 上述方式改变。虽然在此处描述的示例性实施例中代理和恶意软件以及主机计 算设备的源和目的地地址是IP地址,但是显然,取决于所使用的环境可以使 用其他地址。接着,在框250处,代理设备102将分组#2数据分组发送给主机 计算设备104。恶意软件计算设备IOO和主机计算设备104都完全不知道分组 #1数据分组的重定向。在框290处,如果期望更多的分组,则该流程返回到框 210,以便监听更多的分组。如果不期望更多的分组,则该流程结束。返回框230,如果接收到的分组是来自主机计算设备而非恶意软件计算设 备,那么接收到的数据分组是响应数据分组。即,该数据分组是分组#3数据分 组。在这种情况下,该流程图前进到框270,其中代理设备102将分组#3数据 分组转换成分组#4数据分组。更具体地,分组#3数据分组包括源MAC地址 Host—MAC和源网络地址HostjP。此外,分组#3数据分组包括目的地MAC 地址Proxy—MAC和目的地网络地址Target一IP。代理设备102将每个分组#3数 据分组改为分组#4数据分组。这是通过将源MAC地址改为Proxy_MAC,将源网络地址改为Target—IP,将目的地MAC地址改为Malware—MAC,以及将 目的地网络地址改为Mahvare一IP (恶意软件计算设备100的网络地址)来完成 的。由此,如同分组#1数据分组和分组#2数据分组一样,分组#3数据分组和 分组#4数据分组的主体没有改变,仅分组报头中的源和目的地地址被改变。接 着,在框280处,代理设备102将分组#4数据分组发送给恶意软件计算设备 100。由此,恶意软件计算设备100接收经重定向的分组#3数据分组,作为分 组糾数据分组。同样,恶意软件计算设备100和主机计算设备104都完全不知 道分组#3数据分组重定向。如上所述,在框2卯处,如果期望更多的分组,则 该流程返回到框210以便监听更多分组。如果不期望更多的分组,则该流程结 束。总之,代理设备102将在恶意软件计算设备100处发起的数据分组重定向 到主机计算设备104,并将响应数据分组重定向到恶意软件计算设备100,而 源或目的地系统,即恶意软件计算设备100或主机计算设备都不知道该重定向。图3示出了包括无状态双向代理设备308的多计算机网络系统。在图3 所示的示例性配置中,代理设备308耦合两个子网,即恶意软件子网300和主 机子网310。恶意软件子网300包括多个计算设备,例如个人计算机或其他计 算设备,其中至少一个是恶意软件计算设备302,而主机子网310包括多个主 机计算设备,包括主机计算设备312。恶意软件子网300经由被标识为网络设 备-M的网络耦合设备304被耦合到代理设备308。同样地,主机子网310经由 被标识为网络设备-II的网络耦合设备306被耦合到代理设备308。在一个示例 性实施例中,网络设备304和306是适当地将一个子网与另一个子网相连接的 网络路由器。在该示例性实施例中,代理设备308执行路由器功能的一个子集, 即接收和路由来自它经由网络耦合设备304和306所连接到的子网的数据分 组。在该实施例中,诸如端口转发等技术可用于将数据分组转发给连接到路由 器的特定系统。在端口转发方案中,通信端口号被包括在分组被定向到的计算 设备的网络地址中。计算设备响应(即接受)包括该通信端口号的数据分组。 端口转发使用端口号来有效地扩展单个网络地址,诸如IP地址,以供多个计 算设备使用,每个这样的计算设备通常响应一特定端口号上的特定应用程序。 例如,用于Web浏览的超文本传输协议("HTTP")需要端口 80来运行,而文件传输协议("FTP")需要端口21。如果网络分组包含HTTP信息,则 端口转发方案使得分组被定向到与端口 80相关联的计算设备。端口转发也可 以用在提供诸如Web浏览和FTP等多个应用程序的单个计算设备上。在另一 示例性实施例中,网络设备304和306是网络集线器,即将网络连接复制到网 络的多个计算设备的集线器。在该实施例中,代理设备308包括将恶意软件子 网连接到主机子网的路由器功能。图4是示出代理设备308和网络计算设备304及305如何将恶意软件计算 设备302之间的数据分组重定向到包括在主机子网310中的主机计算设备312 的流程图。图3的代理设备和网络连接设备的操作基本上类似于图1的代理设 备102的操作,即使图4与图1的不同之处在于图4包括每个子网300和310 中的多个计算设备以及将恶意软件子网300和主机子网310连接到代理设备 308的网络连接设备304和306。图4的流程前进到框405,其中代理设备308监视恶意软件和主机子网, 即通过监听合适的数据分组,即来自恶意软件计算设备302或主机计算设备 312中任一个的数据分组。其他数据分组被忽略。当代理设备319接收到(框 40)合适的数据分组时,在框415处,代理设备判定该数据分组是否来自主 机计算设备312。如果该分组不是来自主机计算设备302,则该数据分组来自 恶意软件计算设备312。在这一情况下,该流程前进到框420,其中通过复制 分组#1数据分组的主体并改变报头中的网络标识和地址,将分组#1数据分组, 即恶意软件计算设备数据分组改为分组#2数据分组,如以上关于图2 —般描述 的。接着,在框425处,代理设备308将分组#2数据分组发送给连接到主机子 网的网络连接设备306,即网络设备-H。如上所述,网络连接设备306可以采 取若干种形式。在一个示例性实施例中,网络连接设备304和306是将外部网 络话务从代理设备308连接到相关的子网300或310的路由器。路由器使用诸 如上述端口转发等技术将数据分组转发到连接到网络连接设备306的特定计算 设备。在图3所示的示例性配置中,分组#2数据分组由网络设备-H路由到目 标主机计算设备312。路由是基于目标主机计算设备312的常用网络地址和指 定的端口号的。或者,网络设备-H可以将不同的网络地址(例如IP)分配给 每个主机计算设备312,由此基于目标主机计算设备312的不同网络地址将分组#2数据分组传送到目标主机计算设备312。在另一替换方案中,网络-H306 是网络集线器,而代理设备执行两个连接的子网之间的路由功能。在该替换方 案中,网络设备-H 306提供到包含主机计算设备312的子网3130的接入点。 在另一替换方案中(未示出),代理设备308和网络设备304和306被集成到 执行代理、路由器、到主机计算设备302和312的接入点的功能的单个设备中。 在还有一替换方案中,代理设备308和网络连接设备304及306的功能是使用 软件而非硬件来实现的。在再有一替换方案中,代理设备308和网络连接设备 304及306的功能是使用硬件和软件的组合来实现的。由此,如上所述,图3 中所示的配置应该被解释成示例性的而非限制性的。返回阁4,接着,在框430处,网络设备-H306将分组弁2数据分组转发给 主机子网310内的目标,即主机计算设备312。如果要接收更多的分组,则在 框460处该流程返回到框405,否则该流程结束。返回到框415,如果分组是分组#3数据分组,即来自主机计算设备312 的数据分组,则该流程前进到框440,其中代理设备308通过复制分组#3数据 分组的主体并改变报头中的网络标识和地址来从分组#3数据分组创建分组#4 数据分组,如以上关于图2—般描述的。接着,在框445处,代理设备308将 分组#4数据分组发送给网络设备-M,后者将分组#4数据分组发送给恶意软件 计算设备302,或者一般地以网络设备-H转发分组#2数据分组相同的方式。 接着,在框460处,如果要接收更多的分组,则该流程返回到框405处,否则 该流程结束。图5示出了适用于用软件或硬件形式实现的代理设备500的一个示例性实 施例。为了便于说明,仅在图5中示出了主要的硬件或软件模块或组件,可以 理解的是,实际的代理可以包括额外的模块或组件。图5中所示的示例性代理 设备500包括处理器502、存储器504以及输入/输出接口 506、 508对。如本 领域的技术人员所公知的,存储器504可以包括不同的部分,而每个部分可以 是不同的类型。例如,存储器504可以包括动态随机存取存储器("DRAM") 部分和只读存储器("ROM")或非易失性闪存型存储器。通常,DRAM用 于在执行代理软件期间数据的临时和中间存储,而ROM或闪存用于存储非易 失性数据和程序。在输入/输出接口 506和508之一处接收数据分组。所接收的数据分组经由系统总线510被传递给存储器504。处理器502控制数据移动并 执行代理设备所需的数据处理任务。更具体地,处理器502执行存储在存储器 504中的软件程序("代理软件")。代理软件被存储在存储器504的非易失 性部分中。存储器504的非易失性部分也存储源和目的地计算设备,即以上参 考图1和3描述的恶意软件和主机计算设备的地址。代理软件执行无状态代理 设备的操作功能,例如图2和4中所示以及上述的无状态双向代理设备的功能。 更具体地,代理软件通过临时地将从输入/输出接口之一接收的数据分组存储在 存储器中,改变接收到的数据分组的报头中的源和目的地地址并使用输入/输出 接口 506、 508中的另一个将新的数据分组发送给目的地来使得数据分组被重 定向。在另一实施例中(在附图中未示出),所有的代理组件,即处理器502、 存储器504以及输入/输出接口 506和508可以被集成到单个电子芯片中。在另 一实施例中,输出/输出接口 506和508可以是有线网络接口 ,诸如以太网接口 。 在还有一实施例中,诸如无线接收机和发射机等其他组件可用于执行输入/输出 接口 506和508的功能。在再有一些实施例中,诸如时钟生成器、外部逻辑电 路、数据缓冲器、电源电路等其他硬件组件可以被包括在代理设备中。由此, 如上所述,图5中所示的代理组件或模块应当被解释为示例性的而非限制性的。图6示出了理想地适于用硬件实现的替换代理设备600的一个示例性实施 例。图6中所示的代理设备600包括逻辑控制电路("控制器")602、两个 数据分组缓冲存储器("数据分组缓冲器")604、 606以及两个输入/输出接 口 608、 610。在输入/输出接口 608、 610之一处接收到的数据分组经由系统总 线612被传递给数据分组相关缓冲器604、 606中的相关的一个。控制器602 控制计算进程,诸如输入/输出接口 608、 610和数据分组缓冲器604、 606之间 的数据移动以及代理设备所需的其他数据处理任务,即上述图2和4中所示的 代理功能。较佳地,控制器602由低级编程的用于设置诸如输入/输出接口 608、 610的比特率等操作参数的硬件组件组成。控制器602的低级编程可以使用例 如硬件开关、可编程逻辑阵列("PLA")、可擦除可编程只读存储器("EPROM") 或本领域公知的其他低级编程设备来执行。低级编程也可以包括设置代理在用 以上参考图1-4描述的方式重定向数据分组时使用的源和目的地地址。较佳地,缓冲器604、 606组成存储器阵列。例如,数据分组缓冲器604、 606可以是 DRAM、静态RAM类型("SRAM")或具有足够的访问速度的其他合适的 存储器阵列。如有所需,代理可以包括多于图6中所示的两个数据分组缓冲器。 例如,代理可以包括四个或六个用于同时双向数据分组处理(即全双工)的可 独立寻址缓冲器,以及用于当改变数据分组地址时交换值的临时数据分组缓冲 器。数据分组缓冲器的其他组合也是可能的。控制器602使得包含在数据分组 中的数据被传递到、传递自数据分组缓冲器604、 606并存储在其中。如以上 参考图2和4所述,当创建新的数据分组时,控制器602改变从输入/输出接口 608、 610之一接收的数据分组的报头中的源和目的地地址。该新的数据分组使 用输入/输出接口 608、 610中的另一个被发送到目的地。在还有一些实施例中(在附图中未示出),代理组件,即处理器502或控 制器602、存储器504或数据缓冲器604、606和输入/输出接口 506、508或608、 610可以由硬件组件和软件程序的组合来实现。例如,输入/输出接口 608、 610 和数据缓冲器604、 606可以使用硬件组件来实现,而控制器602可以使用类 似f处理器502的可编程控制器来代替。由此,如图5—样,图6中所示的代 理配置应该被解释为示例性的而非限制性的。上述方法和系统理想地适用于测试反恶意软件软件。在这种使用中,恶意 软件计算设备100和302运行生成包含恶意软件的数据分组的恶意软件。如上 所述,如本领域技术人员所公知的,恶意软件数据分组被设计成感染计算设备 和/或计算设备的元件和组件和/或使得其超载。为了消除包括在恶意软件数据 分组中的随机目标的问题,在图1和3中所示的示例性配置中采用的代理设备 102和308将恶意软件数据分组重定向到运行反恶意软件软件的特定主机计算 设备。这种安排在反恶意软件软件的测试中是有优势的,因为包含恶意软件的 所有网络分组在代理设备102和308的控制下被重定向到已知的目的地,使得 可能收集数据并观察反恶意软件软件如何响应恶意软件数据分组。虽然示出和描述了本发明的示例性实施例,但是应该理解可以在其中作出 各种改变,而不背离本发明的精神和范围。例如,虽然本发明理想地适用于测 试反恶意软件软件,但是本发明的实施例可以在其他环境中找到用途。此外, 虽然所示和所描述的代理设备102和308以双向方式操作,但是单向代理设备可以在某些环境中找到用途。由此,在所附权利要求的范围内,应该理解本发 明可以用此处所具体描述之外的其他方法来实现。其中要求保护排他性专有或特权的本发明的各实施例在所附权利要求书 中定义了。
权利要求
1.一种用于重定向数据分组的方法,所述数据分组包括报头和主体,所述报头包括源和目的地地址,所述方法包括响应于接收来自源的数据分组,通过将所接收到的数据分组的报头中的源和目的地地址改为预定的源和目的地地址来创建新的接收到的数据分组;以及将所述新的接收到的数据分组定向到由所述预定目的地地址确定的目的地。
2. 如权利要求1所述的方法,其特征在于,还包括响应于接收来自由所述预定目的地地址确定的目的地的响应数据分组,通 过改变所述响应数据分组的报头中的源和目的地地址来创建新的响应数据分 组,所述源地址是所述源的地址;以及使用所述源地址将所述新的响应数据分组重定向到所述源。
3. 如权利要求2所述的方法,其特征在于,所述预定源地址是代理的地址。
4. 如权利要求2所述的方法,其特征在于,所述接收到的数据分组和所 述响应数据分组的报头中的源地址各自包括源网络地址、源网络标识符,并且 其中所述接收到的数据分组和响应数据分组的报头中的目的地地址各自包括 目的地网络地址和目的地网络标识符。
5. 如权利要求4所述的方法,其特征在于(a) 创建所述新的接收到的数据分组包括(i) 复制相关的所述接收到的数据分组的主体;以及(ii) 改变所述源网络地址、所述源网络标识符、所述目的地网络地址 以及所述目的地网络标识符;以及(b) 创建所述新的响应数据分组包括(i) 复制相关的所述响应数据分组的主体;以及(ii) 改变所述源网络地址、所述源网络标识符、所述目的地网络地址 以及所述目的地网络标识符。
6. 如权利要求5所述的方法,其特征在于,所述源和目的地网络地址是互联网协议("IP")地址,而所述源和目的地网络标识符是媒体访问控制("MAC")地址。
7. —种将恶意软件数据分组定向到运行反恶意软件软件的计算设备的方 法,所述恶意软件数据分组包括报头和主体,所述报头包括标识恶意软件数据分组的源的恶意软件源地址以及随机生成的目的地地址,所述方法包括响应于接收恶意软件数据分组,通过将所述恶意软件源地址改为预定的源 地址,并将所述随机生成的目的地地址改为运行所述反恶意软件软件的计算设备的地址来创建新的恶意软件数据分组;以及将所述新的恶意软件数据分组转发给运行所述反恶意软件软件的计算设备。
8. 如权利要求7所述的方法,其特征在于,还包括响应于从运行所述反恶意软件软件的所述计算设备接收响应数据分组,所 述响应数据分组是由运行所述反恶意软件软件的所述计算设备响应于接收所 述新的恶意软件数据分组产生的,通过将包含在所述响应数据分组的报头中的 目的地地址改为所述恶意软件源地址并且将包含在所述响应数据分组的报头 中的源地址改为所述随机生成的目的地地址来创建新的响应数据分组。
9. 如权利要求8所述的方法,其特征在于,所述预定源地址包括代理的地址。
10. 如权利要求7所述的方法,其特征在于,所述恶意软件源地址包括恶 意软件源网络地址和恶意软件源网络标识符,并且其中所述随机生成的目的地 地址包括目的地网络地址和目的地网络标识符。
11. 如权利要求IO所述的方法,其特征在于,创建所述新的恶意软件数据分组包括(a) 复制相关的所述恶意软件数据分组的主体;(b) 将所述恶意软件源网络地址和所述恶意源网络标识符分别改为随机生成的目的地网络地址和预定的源网络标识符;以及(C)将所述目的地地址和所述目的地网络标识符改为与运行所述反恶意软 件软件的计算设备相关的目的地地址和目的地网络标识符。
12. 如权利要求11所述的方法,其特征在于,所述源和目的地网络地址是互联网协议("IP")地址,而所述源和目的地网络标识符是媒体访问控制("MAC")地址。
13. —种用于重定向数据分组的无状态代理,所述数据分组包括报头和主 体,所述报头包括标识所述数据分组的源的源地址以及标识所述数据分组的目 的地的目的地地址,所述无状态代理包括(a) 用于接收和发送数据分组的第一输入/输出接口;(b) 用于接收和发送数据分组的第二输入/输出接口;(c) 用于存储源和目的地地址的存储组件;以及(d) 用于如下改变所述数据分组的源和目的地地址的处理组件(i) 响应于所述第一和第二输入/输出接口中的一个接收数据分组,通 过将所述接收到的数据分组的报头上的源和目的地地址改为存储在所述 存储组件中的源和目的地地址来创建新的接收到的数据分组;以及(ii) 将所述新的接收到的数据分组定向到所述第一和第二输入/输出 接口中的另一个。
14. 如权利要求13所述的无状态代理,其特征在于,所述处理组件还(i) 响应于所述第一和第二输入输出接口中的所述另一个接收响应数据分 组,通过将所述响应数据分组的报头上的源和目的地地址改为存储在所述存储 组件中的其他源和目的地地址来创建新的响应据分组;以及(ii) 将所述新的响应数据分组定向到所述第一和第二输入/输出接口中的 所述一个。
15. 如权利要求13所述的代理,其特征在于所述第一和第二输入、输出接口通过第一和第二网络耦合设备被耦合到第 一和第二网络;以及所述第一和第二网络耦合设备是路由器和网络集线器之一。
16. 如权利要求13所述的代理,其特征在于,所述新的接收到的数据分 组是通过改变所述接收到的数据分组的报头中的源和目的地地址并复制所述 接收到的数据分组的主体来创建的。
17. 如权利要求13所述的代理,其特征在于,所述处理组件是执行存储 在所述存储组件中的软件程序的可编程处理器。
18. 如权利要求13所述的代理,其特征在于,所述数据分组的报头还包括源网络标识符和目的地网络标识符。
19. 如权利要求18所述的代理,其特征在于 所述源和目的地地址是互联网协议地址;以及 所述源和目的地网络标识符是媒体访问控制地址。
20. 如权利要求13所述的代理,其特征在于,所述处理组件是逻辑电路。
全文摘要
一种用于重定向数据分组的系统和方法,该系统包括用于重定向数据分组的无状态双向代理,所述数据分组包括报头和主体,所述报头包括标识该数据分组的源的源地址和标识该数据分组的目的地的目的地地址。该无状态双向代理包括用于接收和发送数据分组的第一和第二输入/输出接口;用于存储源和目的地地址的存储组件;以及用于将接收到的数据分组中的源和目的地地址改为所存储的源和目的地地址的处理组件。
文档编号H04L12/28GK101278521SQ200680036389
公开日2008年10月1日 申请日期2006年10月2日 优先权日2005年10月3日
发明者J·T·杰弗纳 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1