37、基于推测的多字节正则表达式匹配技术解析

基于推测的多字节正则表达式匹配技术解析

在网络安全领域,签名匹配是一项关键操作,它对于检测攻击和漏洞起着至关重要的作用。传统的确定性有限自动机(DFA)匹配方法虽然经典,但由于其固有的串行性质,在处理大规模网络流量时性能受限。本文将介绍一种名为推测并行模式匹配(Speculative Parallel Pattern Matching,SPPM)的新方法,旨在突破传统DFA匹配的性能瓶颈。

1. 背景知识
1.1 正则表达式匹配的性能问题

签名匹配是将攻击或漏洞签名表示为正则表达式,并使用DFA进行匹配的过程。为了提高处理速度,不同签名的DFA会合并为一个单一的DFA。给定一个对应于一组签名的DFA和一个表示网络流量的输入字符串,入侵防御系统(IPS)需要判断DFA是否接受该输入字符串。

现代内存具有高吞吐量和高延迟的特点,一次内存访问可能需要多个周期才能返回结果,但每个周期可以发出一个或多个请求。传统的DFA匹配算法(Algorithm 1)是串行的,每个迭代都依赖于前一个迭代的结果,因此无法并行化。

Input: DFA = the transition table
Input: I = the input string, |I| = length of I
Output: Does the input match the DFA?
state ← start state;
for i = 0 to |I| do
    input_char ← I[i];
    state ← DFA[state][input_char];
    if accepting(stat
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值