一种设备包括流水线和检测器,其二者都至少以硬件来加以实现。数据被移动通过所述流水线以执行与恶意代码的检测不相关的数据的处理。与当所述数据被移动通过所述流水线时的所述数据的处理并行地,当所述数据被移动通过所述流水线时,所述检测器检测所述数据内的所述恶意代码。当所述数据被移动通过所述流水线时,所述检测器检测所述数据内的所述恶意代码而不延迟所述数据进入、通过以及离开所述流水线的移动。
【技术实现步骤摘要】
【国外来华专利技术】恶意代码检测
技术介绍
随着联网技术和互联网的到来,世界范围内的计算设备已经能够与彼此互相联络。虽然这提供了许多好处,但是已经存在某些问题。一个问题是除了其它类型的恶意计算机代码之外,诸如计算机病毒、特洛伊木马、蠕虫以及甚至垃圾邮件之类的恶意计算机代码还能够更容易地并且不合需要地传遍大量的计算设备。恶意计算机代码还能够被以简短的形式称为恶意代码或恶意软件。恶意代码通常可以被认为是被设计成在没有设备的拥有者或管理员的知情同意的情况下渗入计算设备的软件。恶意软件尤其是由计算机专业人员使用来意指各种形式的怀有敌意的、侵入的、恼人的和/或不想要的软件或程序代码的一般术语。附图说明图1是根据本公开的实施例的、在其中执行恶意代码检测的设备的图。图2是根据本公开的实施例的、详细的图1的设备的处理流水线的图。图3是根据本公开的实施例的、详细的图1的设备的恶意代码检测器的图。图4是根据本公开的实施例的、用于恶意代码检测的方法的流程图。具体实施例方式如在
技术介绍
部分中所指出的那样,随着通过互联网和其它网络的计算设备的不断增加的互联性,恶意代码的传播已经变得有问题。因此,用户和网络管理员常常关心在代码能够被安装在一个给定的计算设备或多个计算设备上或以其他方式感染一个给定的计算设备或多个计算设备之前对这样的恶意代码进行检测。对于大的组织而言,代替或者除了努力在该组织内的每个计算设备处单独地检测恶意代码之外,在它们的网络到外部世界 (例如,互联网)的入口点处尝试恶意代码检测可能是有利的。然而,用来检测恶意代码的现有技术遭受某些缺点。在一种现有技术方法中,诸如交换机或路由器之类的联网设备的现有处理器、像通用计算机的计算设备、或另一类型的设备还承担必须检测恶意代码。同样地,处理器的其它任务可能被更慢地完成。换句话说, 降低了这样的设备的总体性能。在另一现有技术方法中,专用处理器被添加到网络设备、计算设备或另一类型的设备以便即使不是用于检测恶意代码检测的唯一目的也是主要目的。然而,添加专用处理器是昂贵的,并且通常导致由设备进行的更高能耗。此外,添加专用处理器可能仍未减轻在完成其它任务时降低设备性能的忧虑。例如,到设备的传入数据可以被临时地存储在队列内。在能够由该设备依照其现有任务处理这个数据之前,该数据首先被针对恶意代码来进行扫描。不能够依照该设备的现有任务来处理该数据,直到已经发生了这个恶意代码检测为止。因此,即使采用了专用处理器来执行恶意代码检测,该设备的总体性能也可能受损害。图1示出了克服这些缺点的根据本公开的实施例的代表性设备100。该设备100可以是联网设备,诸如交换机、路由器或其它类型的联网设备。设备100可以可替换地或额外地是计算设备,除了其他类型的计算设备之外,还有像通用计算机,诸如服务器计算设备、客户端计算设备、台式计算机和/或膝上型计算机。该设备100包括处理流水线102和恶意代码检测器104。流水线102和检测器104 二者至少以硬件来加以实现。在一个实施例中,流水线102和检测器104 二者单独地以硬件,诸如通过使用适当的专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及其它类型的纯硬件部件来加以实现。在另一实施例中,在它们还是由处理器(其是硬件)运行以执行它们的相应功能的软件的范围内,流水线102和检测器104可以至少以硬件来加以实现。为了在设备100内处理数据,数据被移动通过流水线102,如由箭头106所指示的那样。这个处理与恶意代码的检测不相关。也就是说,移动数据通过流水线102以对该数据执行处理的目的与恶意代码的检测不相关。当数据被移动通过流水线102时对该数据执行处理,在所述流水线102中,数据被流水线102内运行的处理代理改变,该处理代理可以控制数据移动通过流水线102所依照的速率。例如,在设备100是像交换机或路由器的联网设备的情况下,数据可以是从设备 100为到其的网守的网络外部接收的传入数据分组。流水线102可以被用来修改这些数据分组的报头信息,从而使得分组被发送到网络内的合适的设备。例如,与万维网(WWW)请求有关的数据分组可以被发送到网络上的WWW服务器设备,与文件传输协议(FTP)请求有关的数据分组可以被发送到网络上的FTP服务器设备,等等。网络上的外部设备因此能够将该网络视为具有单个网络地址,然而实际上该网络由具有对应的(内部)网络地址的多个设备组成。流水线102因此在这个示例中被用来将传入数据分组的网络地址改变为将处理该数据分组的网络上的设备的内部网络地址。传入数据分组的网络地址到内部网络地址的修改是能够在流水线102内对这些数据分组执行的一种类型的处理。然而,与当数据被移动通过流水线102时该数据的处理并行地,当数据被移动通过流水线102时检测器104检测数据内的任何恶意代码,如由虚线108所指示的那样。当数据被移动通过流水线102时检测器104能够检测数据内的恶意代码,而不延迟数据进入、 通过以及离开流水线102的移动。在流水线102中被执行的数据处理独立于由检测器104 所执行的恶意代码检测。数据进入、移动通过以及退出流水线102而无需等待检测器104 执行其检测。在这方面,图1的实施例能够检测恶意代码而不降低像设备100的设备的总体性能。此外,图1的实施例不需要可能昂贵的和功耗强的专用处理器以用于恶意代码检测。相反地,检测器104能够经由与专用处理器相比消耗少得多的功率的成本低得多的硬件部件以硬件来加以实现。图1的实施例的额外好处是在至少某些情形下,进入设备100的所有数据都被移动通过流水线102以进行处理,从而使得检测器104检测所有这个数据内的恶意代码。在许多类型的常规技术中,相比之下,数据被抽查(即,被随机地或选择性地采样)以得到恶意代码的存在。虽然这样的数据采样能够被充分地改进以很有可能捕捉在数据内存在的所有恶意代码,但是其决不能够保证将检测到所有的恶意代码,因为不是进入设备100的所有数据都被检查。图2更详细地根据本公开的实施例示出了处理流水线102。流水线102包括多个行202A、202B、202C、…、202N,其统称为行202。行202还可以被称为流水线102的级。行 202A是流水线102的第一行,而行202N是流水线102的最后一行。流水线102的每一行 202存储相同数量的字节。为了示例性目的,每一行202存储八个字节。然而,每一行202 可以存储不同数量的字节,诸如十六个字节、三十二个字节等等。等于每一行202能够存储的字节的数量的数据的多个字节在第一行202A处进入流水线102,并且在逐行基础上继续前进通过流水线102直到该数据离开最后一行202N为止,如由箭头106所指示的那样。例如,数据的第一个八字节在第一行202A处进入流水线 102。数据的这些第一个八字节然后向下级联到第二行202B,并且同时数据的第二个八字节在第一行202A处进入流水线102。接下来,数据的第一个八字节向下移动到第三行202C, 第二个八字节向下移动到第二行202B,并且数据的第三个八字节在第一行202A处进入流水线。这个处理继续,直到数据的第一个八字节进入并且然后离开流水线102的最后一行 202N为止,紧跟着第二个八字节进入并且然后离开最后一行20本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:DA沃伦,
申请(专利权)人:惠普发展公司,有限责任合伙企业,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。