更新三元内容可寻址存储器中的正则表达式模式组制造技术

技术编号:26045227 阅读:47 留言:0更新日期:2020-10-23 21:25
二级三元内容可寻址存储器(TCAM)利用待添加到正则表达式模式组的新的正则表达式来编程。针对利用正则表达式模式组来编程的主TCAM并且针对二级TCAM并行处理流入的数据字符串。当针对主TCAM并且针对二级TCAM并行处理流入的数据字符串时,更新正则表达式模式组以添加新的正则表达式。

【技术实现步骤摘要】
【国外来华专利技术】更新三元内容可寻址存储器中的正则表达式模式组政府许可权本专利技术是在美国政府的支持下根据由情报高级研究项目署(AIRPA)授予的合同2017-17013000002进行的。政府拥有专利技术中的某些权利。
技术介绍
随着互联网的出现,具有联网能力的计算设备潜在地能够与也连接到互联网的几乎任何其他计算设备进行通信。这种无处不在的通信能力已经开辟了在互联网之前几乎是难以想象的使用场景和机遇。然而,互联网被证明也具有缺点:不法用户现在可以更容易地渗透本地网络并访问连接到这种网络的计算设备,以既访问存储在计算设备上的数据,又将设备用于其自身恶意的目的。附图说明图1是描绘了关于如何可以将利用新的正则表达式编程的二级三元内容可寻址存储器(TCAM)与利用正则表达式模式组编程的主TCAM一起使用,用于处理输入字符串的示例的图。图2是关于如何可以将利用新的正则表达式编程的二级TCAM与利用正则表达式模式组编程的主TCAM一起使用,用于处理输入字符串的示例方法的流程图。图3是描绘了关于如何可以将利用新的正则表达式编程的二级TCAM与利用正则表达式模式组编程的主TCAM一起使用,用于处理输入字符串的另一示例的图。图4是可以将利用新的正则表达式编程的二级TCAM与利用正则表达式模式组编程的主TCAM一起使用,用于处理输入字符串的另一示例方法的流程图。图5是用于利用正则表达式对TCAM进行编程的示例方法的流程图。图6是用于利用采用新的正则表达式来更新的正则表达式模式组对TCAM进行编程的示例方法的流程图。图7是用于使用正则表达式匹配过滤技术经由TCAM来过滤输入字符串的示例系统的图。具体实施方式如
技术介绍
部分中所指出的,随着全球范围内计算设备的互连性的增加,针对计算设备使其数据和对设备本身的控制受到侵害的可能性已经来临。在企业和其他环境中,诸如台式计算机和便携式计算机的计算设备以及其他类型的计算设备普遍连接到局域网,该局域网本身经由一个或多个受管理的访问点连接到诸如互联网的外部网络。在数据到达其在网络上的预期的目标计算设备之前,这些受管理的访问点可以负责确保通过受管理的访问点的数据的安全性。实现这种网络安全的一种方式是针对已知的安全威胁(包括恶意软件、病毒、网络攻击和其他类型的安全威胁)对流入(和潜在流出)的数据进行过滤。因此,将数据的字符串与安全威胁特征进行比较。如果数据包的数据字符串与现有威胁特征不匹配,则可以允许该包通过(即进入本地网络或离开本地网络)。如果数据字符串确实与现有威胁特征匹配,则可以将数据字符串的数据包标记为实际或潜在的安全威胁,并至少暂时阻止该数据字符串通过。如果数据包被标记为潜在的安全威胁,则可以对数据包进行进一步审查,以确定该包是否确实构成威胁。例如,在网络入侵检测系统中,这样的包可以被标记为潜在的安全威胁但仍允许通过,而在网络入侵防御系统中,这样的包可以被标记为潜在的安全威胁并且也被立即限制。可以用作网络安全过滤技术的一种类型的过滤技术使用正则表达式匹配。正则表达式(或者regex或者regexp)是定义模式的字符的序列。正则表达式中的每个字符是具有特殊含义的元字符,或者是具有字面含义的普通字符。因此,现有威胁特征被简化为正则表达式模式组,并且针对该组对流入的数据字符串进行处理,以确定流入的数据字符串是否是潜在的网络安全威胁。为了快速过滤流入的数据字符串,可以采用一种被称为三元内容可寻址存储器(TCAM)的存储器,以提供针对正则表达式模式组的对流入的数据字符串的大规模并行搜索。在典型的非CAM计算机存储器(例如随机存取存储器(RAM))中,通过存储地址来查找存储在存储器中的内容或数据。相比之下,在CAM内,存储器是内容可寻址的。为搜索CAM,将提供内容而不是存储地址。CAM通常是仅可以匹配二元值(例如逻辑零和逻辑一)的二元CAM。相比之下,TCAM可以基于三个输入(逻辑零、逻辑一和无关状态)来匹配值。因此,TCAM是根据正则表达式模式组编程的。更具体地说,可以利用针对该正则表达式模式组的压缩的有限自动机(CFA)对TCAM进行编程。FA是一种有利于被编程到TCAM中、并且导致TCAM适用于在大规模并行搜索中使用的数据结构。FA是有限状态机,该有限状态机可以在任何给定时间恰好处于有限数量的状态之一,并且随着转变从一个状态变为另一个状态。生成CFA以表示大型的正则表达式模式组可能花费大约数小时。然而,网络安全应用程序背景下的已知的安全威胁特征组不是静态的。经常发现新的安全威胁特征,因此必须将该新的安全威胁特征添加到该组中。可以生成新的、更新的CFA,这意味着在重新生成CFA所花费的若干小时期间,不针对新的安全威胁特征处理流入的数据的字符串。研究已集中于更新CFA上,以便不必从头开始重新生成CFA,但是这种更新过程难以实施,并且仍然花费时间以发生。相比之下,本文所描述的技术采用至少两个TCAM:利用正则表达式模式组编程的主TCAM,以及利用待添加到该组的新的正则表达式编程的二级TCAM。针对两个TCAM并行地处理流入的数据字符串。在发生该处理时,利用新的正则表达式来更新正则表达式模式组。一旦表达式模式组已经更新,可以即刻暂停流入的数据字符串处理,以允许利用更新的组对主TCAM进行编程。在不同的实施方式中,可以利用更新的组对另一个主TCAM进行编程,并且为利用未更新的正则表达式模式组编程的主TCAM切换到另一个主TCAM中。因此,在更新正则表达式模式组以添加新的正则表达式的潜在的漫长时间期间,除表达式模式组之外,仍将针对该表达式处理流入的数据字符串。例如,特别是根据新的正则表达式来对利用忆阻器来实施的TCAM进行编程可能花费少于半毫秒。该时间长度足够短,以至于可以暂时暂停流入的数据字符串处理,并且对吞吐量的影响最小,或者,如果没有发生暂停,则时间长度足够短,以至于相对较少的流入的数据字符串没有针对新的正则表达式进行处理。此外,从实际效率的出发点来看,对主TCAM使用忆阻器实施的TCAM提供允许使用大型的复杂正则表达式组的CFA的足够的架空电力。图1示出了关于如何可以将主TCAM102与二级TCAM104结合使用以处理输入字符串110的示例,每个输入字符串110为一系列一个或多个字符。主TCAM102是利用正则表达式模式组的CFA106编程的。二级TCAM104是利用新的正则表达式的确定型FA(DFA)108编程的。针对主TCAM102和二级TCAM104并行地测试每个输入字符串110。主TCAM102输出所讨论的输入字符串110是否与被编程在TCAM102中的CFA106的正则表达式模式组内的任何正则表达式匹配。二级TCAM104输出输入字符串是否与被编程在TCAM104中的DFA108的新的正则表达式匹配。TCAM102和104的输出可以在逻辑上取或。TCAM102和104的输出的逻辑或由逻辑或运算符112指示,以产生匹配结果114。因此,如果输入字符串110与主TCAM102的CFA106的正则本文档来自技高网
...

【技术保护点】
1.一种方法,包括:/n利用待添加到正则表达式模式组的新的正则表达式对二级三元内容可寻址存储器(TCAM)进行编程;/n针对利用所述正则表达式模式组编程的主TCAM并且针对所述二级TCAM并行处理流入的数据字符串;以及/n在针对所述主TCAM并且针对所述二级TCAM并行处理所述流入的数据字符串时,更新所述正则表达式模式组以添加所述新的正则表达式。/n

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:
利用待添加到正则表达式模式组的新的正则表达式对二级三元内容可寻址存储器(TCAM)进行编程;
针对利用所述正则表达式模式组编程的主TCAM并且针对所述二级TCAM并行处理流入的数据字符串;以及
在针对所述主TCAM并且针对所述二级TCAM并行处理所述流入的数据字符串时,更新所述正则表达式模式组以添加所述新的正则表达式。


2.根据权利要求1所述的方法,进一步包括:在已经更新所述正则表达式模式组以添加所述新的正则表达式之后:
利用更新的正则表达式模式组对所述主TCAM进行编程;并且
仅针对利用更新的正则表达式模式组编程的所述主TCAM,并且不针对所述二级TCAM,对随后接收到的流入的数据字符串进行处理。


3.根据权利要求1所述的方法,其中,所述主TCAM是第一主TCAM,并且所述方法进一步包括:在已经更新完整的正则表达式模式组以添加所述新的正则表达式之后:
利用更新的正则表达式模式组对第二主TCAM进行编程;
仅针对利用更新的正则表达式模式组编程的所述第二主TCAM并且不针对所述第一主TCAM以及不针对所述二级TCAM,对随后接收到的流入的数据字符串进行处理。


4.根据权利要求1所述的方法,其中,利用所述新的正则表达式对所述二级TCAM进行编程包括:
从所述正则表达式生成确定型有限自动机(DFA);以及
将所述DFA写入所述二级TCAM。


5.根据权利要求4所述的方法,其中,从所述正则表达式生成所述DFA包括:
将所述正则表达式转换为不确定型有限自动机(NFA);
将所述NFA转换为所述DFA;以及
使所述DFA最小化。


6.根据权利要求5所述的方法,其中,将所述正则表达式转换为所述NFA包括使用Thompson算法,
其中,将所述NFA转换为所述DFA包括使用幂集算法,
并且其中,使所述NFA最小化包括使用Hopcroft算法。


7.根据权利要求1所述的方法,其中,更新所述正则表达式模式组以添加所述新的正则表达式包括:
生成所述新的正则表达式的扩展的有限自动机(XFA);
将所述新的正则表达式的XFA与所述正则表达式模式组的XFA结合,产生更新的XFA;以及
压缩更新的XFA,产生压缩的有限自动机(CFA)。


8.根据权利要求1所述的方法,其中,所述主TCAM是忆阻器实施的TCAM。...

【专利技术属性】
技术研发人员:C·格雷夫斯约翰·保罗·斯特罗恩
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1