首页> 外文会议>IEEE International Performance Computing and Communications Conference >A novel algorithm for pattern matching with back references
【24h】

A novel algorithm for pattern matching with back references

机译:一种具有后向引用的模式匹配新算法

获取原文

摘要

Modern network security applications, such as network-based intrusion detection systems (NIDS) and firewalls, routinely employ deep packet inspection to identify malicious traffic. In deep packet inspection, the contents of network traffic are matched against patterns of malicious traffic to identify attack-carrying packets. The pattern matching algorithms employed for deep packet inspection must be fast, as the algorithms are often implemented on middle-boxes residing on high-speed gigabits per second links. The majority of patterns employed in network security applications are regular languages. However, regular language-based patterns have limited expressive power and are not capable of describing some complex features in network payload. Back reference is an important feature provided by many pattern matching tools, e.g., PCRE, the regular expression libraries of Java, Perl, and Python. Back references are used to identify repeated patterns in input strings. Patterns containing back-references are non-regular languages. Very little work has been done to improve the time-efficiency of back reference-based pattern matching. The de facto algorithm to implement back reference is recursive backtracking, but it is vulnerable to algorithmic complexity attacks. In this paper, we present a novel approach to implement back references. The basic idea of our approach is to transform a back reference problem to a conditional submatch problem, and represent it with a Non-deterministic Finite Automata (NFA)-like machine subject to some constraints. Our experimental results show that our approach resists known algorithmic complexity attacks, and is faster than PCRE by up to three orders of magnitude for certain types of patterns.
机译:基于网络的入侵检测系统(NIDS)和防火墙等现代网络安全应用程序通常采用深度数据包检查来识别恶意流量。在深度数据包检查中,将网络流量的内容与恶意流量的模式进行匹配,以识别携带攻击的数据包。用于深度数据包检查的模式匹配算法必须快速,因为该算法通常在每秒高速千兆字节链路上的中间盒上实现。网络安全应用程序中采用的大多数模式都是常规语言。但是,基于常规语言的模式的表达能力有限,并且无法描述网络有效负载中的某些复杂功能。向后引用是许多模式匹配工具(例如PCRE,Java,Perl和Python的正则表达式库)提供的一项重要功能。反向引用用于标识输入字符串中的重复模式。包含反向引用的模式是非常规语言。在提高基于反向引用的模式匹配的时间效率方面所做的工作很少。实现反向引用的事实上的算法是递归回溯,但是它容易受到算法复杂性攻击。在本文中,我们提出了一种实现反向引用的新颖方法。我们方法的基本思想是将反向引用问题转换为条件子匹配问题,并使用受某些约束的类似于非确定性有限自动机(NFA)的机器来表示。我们的实验结果表明,对于某些类型的模式,我们的方法可以抵抗已知的算法复杂性攻击,并且比PCRE快三个数量级。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号