模式检测的制作方法

上传人:ting****789 文档编号:310009912 上传时间:2022-06-14 格式:DOCX 页数:5 大小:23.48KB
返回 下载 相关 举报
模式检测的制作方法_第1页
第1页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《模式检测的制作方法》由会员分享,可在线阅读,更多相关《模式检测的制作方法(5页珍藏版)》请在金锄头文库上搜索。

1、模式检测的制作方法专利名称:模式检测的制作方法模式检测背景技术:随着联网技术和互联网的出现,全世界的计算设备已经能够与彼此相互通信。尽管这已经提供了许多优点,但是存在着一些问题。一个问题是:不期望的计算机代码或信息(例如计算机病毒、特洛伊木马、蠕虫、垃圾邮件等)可以更容易且不期望地遍布于大量计算设备上。图1是根据本公开的实施例的模式检测设备的图。图2是根据本公开的实施例的详细的图1的设备的处理管线的图。图3是根据本公开的实施例的详细的图1的设备的检测器的图。图4是根据本公开的实施例的用于检测的方法的流程图。具体实施例方式随着计算设备通过互联网和其他网络的互联性的提高,不期望的计算机代码或信息的

2、散播已经成为问题。由此,用户和网络管理员通常关心检测这种不期望的计算机代码或信息。此外,用户和网络管理员通常关心在可以在一个或多个给定计算设备上接收到和/或安装这种不期望的计算机代码或信息或者这种不期望的计算机代码或信息以其他方式感染一个或多个给定计算设备之前,检测到这种不期望的计算机代码或信息。其他时候,其不是不期望的信息,而是用户和/或网络管理员希望以某种独特方式检测和处理的感兴趣信息。例如,公司可能希望检测到在保密信息中找到的具体模式,并确保它们未被传输至不安全位置。因而,如本文所讨论的,不期望的计算机代码或信息包括以下这两种类型的信息:包括不期望的计算机代码或信息以及感兴趣信息。如本文

3、所讨论的,提供了一种模式检测机制,其中,在数据移动通过管线时,可以在不延迟数据通过管线的移动的情况下,在管线内检测一个或多个模式。在数据移动通过管线时,对模式的检测可以聚焦于特定位置,或者相对于数据分组内的特定参考。例如,可以在多个层报头之一内、在分组有效载荷内、在特定位置或相对于另一模式的匹配位置中等等检测到模式。如本文所讨论的,将针对一个或多个模式和/或一个或多个模式部分来讨论不期望的计算机代码或信息。图1示出了根据本公开的示例的代表性设备100。设备100可以是联网设备,例如,交换机、路由器或其他类型的联网设备。可替换地或附加地,设备100可以是像通用计算机之类的计算设备,诸如,服务器计

4、算设备、客户端计算设备、台式计算机和/或膝上型计算机、除此之外还有其他类型的计算设备。设备100包括处理管线102和检测器104。管线102和检测器104 二者均至少以硬件实现。在一个示例中,管线102和检测器104 二者诸如通过使用适当的专用集成电路(ASIC)、现场可编程门阵列(FPGA)和其他类型的仅硬件组件而完全以硬件来加以实现。在另一示例中,管线102和检测器104可以在以下范围内至少以硬件加以实现:它们也是由处理器(硬件)执行以执行其相应功能的软件。为了在设备100内处理数据,使数据移动通过管线102,如由箭头106所指示的那样。该处理与模式检测不相关。即,使数据移动通过管线102

5、以对数据执行处理的目的与模式检测不相关。在数据移动通过管线102时对数据执行处理,其中,数据由管线102内执行的处理代理更改,该处理代理可以控制数据移动通过管线102的速率。例如,在设备100是联网设备(例如,交换机或路由器)的情况下,数据可以是从对于其而言设备100是网守(gateke印er)的网络的外部接收到的输入数据分组。管线102可以用于修改这些数据分组的报头信息,从而使得将分组传输至网络内的合适设备。例如,可以将与万维网(WWW)请求相关的数据分组传输至网络上的WWW服务器设备,可以将与文件传输协议(FTP)请求相关的数据分组传输至网络上的FTP服务器设备,等等。因此,网络上的外部设

6、备可以将网络视为具有单个联网地址,而实际上,网络由具有对应(内部)网络地址的多个设备组成。因此,在该示例中,使用管线102将输入数据分组的联网地址更改为网络上的要处理所述数据分组的设备的内部网络地址。输入数据分组的联网地址向内部网络地址的修改是可在管线102内对这些数据分组执行的处理的示例。然而,与在数据移动通过管线102时的数据处理并行地,检测器104在数据移动通过管线102时在该数据内检测一个或多个模式,如由虚线108所指示的那样。检测器104能够在不延迟数据进入、通过和退出管线102的移动的情况下,在数据移动通过管线102时在该数据内检测至少一个模式。在管线102中执行的数据处理与由检测

7、器104执行的模式检测无关。在无需等待检测器104执行其检测的情况下,数据进入、移动通过并退出管线102。在该方面,图1的示例能够在不降低设备100的总体性能的情况下检测至少一个模式。此外,图1的示例不需要潜在地昂贵且功耗大的专用处理器来进行模式检测。更确切地,可以经由与专用处理器相比消耗低得多的功率的低得多成本的硬件组件、以硬件方式实现检测器104。图1的示例的附加优点在于:在至少一些情形中,进入设备100的所有数据移动通过管线102以供处理,从而使得检测器104能够在所有数据内检测至少一个模式。图2更详细地示出了根据本公开的示例的处理管线102。管线102包括多个行202A、202B、20

8、2C、.、202N,通称为行202。行202还可以被称为管线102的级。行202A是管线102的第一行,以及行202N是管线102的最后一行。管线102的每个行202存储相同数目的字节。出于示例性目的,每个行202存储8个字节。然而,每个行202可以存储不同数目的字节,诸如16个字节、32个字节等。管线宽度不限于2的幂次数目的字节。与每个行202可存储的字节数目相等的数目的数据字节在第一行202A处进入管线102,并逐行地行进通过管线102,直到数据退出最后一行202N为止,如由箭头106所指示的那样。例如,第一 8个数据字节在第一行202A处进入管线102。然后,这第一 8个数据字节向下级联

9、至第二行202B,并且同时,第二 8个数据字节在第一行202A处进入管线102。接着,第一 8个数据字节向下移动至第三行202C,第二 8个字节向下移动至第二行202B,以及第三8个数据字节在第一行202A处进入管线。该过程继续,直到第一 8个数据字节进入并且然后退出管线102的最后一行202N,紧接着,第二 8个字节进入并且然后退出最后一行202N,依此类推。在管线102的任何给定行202处,可以更改或处理数据。例如,如上所记录的,在处理管线102是网守联网设备100的一部分的情况下,可以更改数据分组的报头信息。例如,可以利用联网地址E.F.G.H来替换联网地址A.B.C.D.联网地址A.B

10、.C.D指定了设备100作为其一部分的网络作为整体的外部联网地址。联网地址E.F.G.H指定了要处理所讨论的数据分组的网络内的设备的内部联网地址。在图2中明确地标注了行202的两个特定行204和206,将与图2相关地描述由检测器 104 对模式的检测。行 204 包括字节 208A、208B、208C、208D、208E、208F、208G 和 208H,起始于字节208A并结束于字节208H。行206包括字节2081、208J、208K、208L、208M、208N、2080和208P,起始于字节2081并结束于字节208P。在初步示例中,数据分组210被认为由12个字节208C-208N组

11、成,其在图2中由阴影指示。注意,实际上,在至少一些情形中,数据分组更可能由更多数目的字节组成。图2中对行204和206以及数据分组210的明确标注示意了数据分组与管线102的行202相比较的两个方面。第一,数据分组可以跨越多于一个行。例如,示例性数据分组210跨越行204和206。第二,数据分组不必起始于行的第一个字节,也不必结束于行的最后一个字节。例如,示例性数据分组210起始于行204的第三字节208C,并结束于行206的第六字节208N。行204的第二字节208B可以是前一数据分组的结束字节,并且行206的第七字节2080可以是下一数据分组的起始字节。图3更详细地示出了根据本公开的示例的

12、检测器104。此外,与图3相关地描述了检测器104可以如何代表性地检测跨越处理管线102的行204和206的数据分组210中的一个或多个模式。检测器104包括:存储器302,存储模式316、318 ;位掩码324、326,其分别与模式316、318相关联;存储器310,存储与存储器302中存储的模式316、318中的每一个相关联的一个或多个参数集320、322 ;逻辑312 ;以及相关器304A、304B、304C、304D、304E、304F、304G和304H,其通称为相关器304。尽管在图3中仅描绘了两个模式316、318和关联位掩码324、326,但是可以意识到,可替换地,可以存储具有

13、关联位掩码的仅一个模式,或者可以存储具有关联位掩码的多于两个模式。因此,由于参数与存储器302中存储的模式相对应,因而根据存储器302中存储的模式的数目,可以将一个参数或多于两个参数存储在存储器310中。存储器302存储一个或多个模式316、318。模式316具有字节308A、308B、308C、308D、308E、308F、308G、308H 和 3081,其通称为字节 308。该一个或多个模式 316、318的字节308的数目与管线102的每个行202中的字节的数目无关。在图3中所描绘的示例中,在图3的示例的存储器302中的每个模式中存在9个字节308,但实际上,可以存在更多或更少这种字节

14、308。模式316、318中的每一个与一个或多个模式部分相对应。模式部分是模式的足以利用预定置信度标识该模式的部分。例如,在模式316与具有字节308的一个模式部分相对应的情况下,如果在数据内发现所有字节308按照相同顺序并具有相同值,则这意味着:该数据包含具有有着该预定置信度的该模式部分的模式。字节308的每个比特可以与两种不同类型的比特之一相对应。第一种类型的比特是具有特定值以由相关器304与字节308的其他比特相关地在数据内检测到的实际不期望的计算机代码或信息比特。然而,第二种类型的比特是不用注意(do-not-care)比特。数据内的对应比特的身份对不用注意比特来说无关紧要,并且对数据

15、内的模式检测来说不重要。这些不用注意比特是基于分别与模式316、318相关联的位掩码324、326来定义的。例如,可能已知的是,给定类型的不期望的计算机代码或信息具有以下代码段:该代码段包括特定值A的比特,后面两比特下跟随着特定值B的比特。然而,具有值A和B的比特中间的比特无足轻重,并对该类型的代码的检测来说不重要。因此,将模式316的字节308内的对应比特设置为不用注意比特,以向相关器304指示该比特实际上不用于检测数据内的不期望的计算机代码或信息。换言之,不用注意比特是占位符比特,用于指定在数据内检测模式过程中重要的其他比特的分离。该逐比特运算的一个显著用途是:对于由ASCII字符集(每个

16、字节占一个字符)表示的英文字母表而言,大写字符仅与其小写对应物有一比特区别。因此,可以通过将每个字节内的特定比特标记为不用注意比特,使模式区分大小写变得不敏感。存储器310存储一个或多个参数集320、322。每个参数集可以与存储器302中存储的模式316、318之一相关联。例如,参数集320可以与模式316相关联,参数集322可以与模式318相关联等等。每个参数集可以包括一个或多个参数,包括参考、起始、停止、匹配位置、匹配分组标识(ID)和匹配。其他参数可以被存储在存储器302中并与存储器302中的模式316、318相关联。例如,关于参数集320,参考参数可以提供对数据分组中的起始参考点的指示以查找模式316。参考点可以是例如层2、层3或层4报头起始、存储器302中的另一模式的或相对于该另一模式的匹配位置、分组有效载荷、分组有效载荷内的特定位置等。起始参数可以提供相对于参考的具体字节位置,检测器应当在该具体字节位置处开始查找模式316。例如,起始参数可以指示检测器应当在参考参数之后四个字节开始查找模式316。这提供了以下可能性:搜索数据

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号