APP下载

基于FPGA和机器学习的高速加密流量实时检测平台研究

2020-08-24李洋王啸原肖雪露

视界观·下半月 2020年8期
关键词:机器学习

李洋 王啸原 肖雪露

摘要:针对海量加密流量的网络环境下入侵检测、流量审计等应用系统处理能力瓶颈,由于传统分流设备由于不能适应高速网络环境,导致处理效率和准确率不高。传统设备的缺点一直制约着网络流量分类技术研究的发展。本文设计并实现基于FPGA和机器学习的高速加密流量实时检测平台,有着高接入速率、高处理效率的分流系统,解决了传统技术接入速率低、匹配准确性差的缺点,实现了高速网络信号快速准确的分流过滤。

关键词:FPGA;加密流量识别;快速分流;机器学习

网络入侵检测、流量审计等应用需要实时分析处理网络流量,并且需要采用网络流量分类技进行针对海量的加密流量[1],传统入侵检测、流量审计系统已无法完成实时线速处理,传统设备由于不能适应高速网络环境,导致处理效率和准确率不高。传统设备的缺点一直制约着网络流量分类技术研究的发展。因此,设计并实现高接入速率、高处理效率的分流系统迫在眉睫[2]。

一、基于FPGA的规则匹配

由于网络数据流量较大,且模式集种类较多,每种模式串长短不一,因此传统单模式匹配的方法已经无法满足网络数据内容过滤的要求。目前基于FPGA多模式匹配算法的研究主要以AC自动机、bloom filter、TCAM等高速可并行的硬件结构为基础,根据不同的应用场景,选择不同的算法,并对算法的缺陷进行优化,从而达到应用需求[3]。TCAM硬件平台的缺点十分明显,功耗大,价格昂贵,无法进行国产自主可控等多方面的不足,并且TCAM器件在国外也已经停产多年,因此根据网络流量检测的功能和性能要求,针对无法使用TCAM硬件平台的现状,本项目采用基于多步长AC自动机的并行高性能模式匹配,用于高速实时网络流量检测。

基于AC自动机多模式匹配算法是目前最主流的多模式匹配算法之一,并且在性能上也是最高的。但是目前的AC算法必须解决两个关键的问题,一是AC算法每次只能识别一个字符,并且无法并行化处理,对于FPGA器件来说,即使在800MHZ的高速时钟下运行,其理论速率也只有6.4GBPS(800MHZ×8bit);AC算法必须解决的另一个问题是需要大量的存儲空间来保持状态转移信息,这是因为基于AC的算法是采用AC-TRIE的跳转算法,每一个当前状态在输入字符后都必需进行跳转。针对传统AC算法在性能和存储空间上的局限性,本项目采用多步长AC自动机匹配算法设计AC多模式匹配引擎,通过调度的方式使用多个AC多模式匹配引擎,并行化处理数据内容,从而达到10Gbps的网络流量分析功能。

二、基于FPGA的机器学习算法

BP神经网络是按误差逆向传播方式进行训练的多层前向网络。由于其结构中有多层感知器网络,属于使用BP算法的多层感知器网络。BP神经网络的训练学习程包括前传播、误差反向传播、权值更新3个阶段。BP神经网络各层由多个节点组成,每个点就是一个神经元。并且节点的激励函数一般情况下是非线性函数(输出层的激励数可选择线性函数)。BP神经网络梯度下降法作为基础,信号前向传递,误差反传播。三、在室内设计课程中培养工匠精神的的策略

三、系统硬件平台设计

基于FPGA和机器学习的高速加密流量实时检测平台设计关键在于如何适应高速网络信号接入的高速率。其次,网络中的信号是通过数据报文的形式进行传输的,对网络信号进行分类主要是在流的基础上进行,而流指的是在超时约束下,具有相同五元组(源IP目的IP,源端口号,目的端口号,IP层协议号)信息.基于以上信息,基于FPGA和机器学习的高速加密流量实时检测平台具体分为以下几个模块:网络流量高速接入模块、数据预处理模块、流管理模块和匹配模块。

1.网络流量高速接入模块

该模块采用集成化接口,将10Gb/s的网络数据接入平台,可应对10G WAN、10G GE和10G POS等流量的收发处理。

2.数据预处理模块

基于FPGA和机器学习的高速加密流量实时检测平台会对大量的数据进行处理,通过增加数据预处理模块,可以降低后续的数据分析规模,提高识别效率。

3.流量管理模块

流管理模块缓存处理好的数据流,并建立流表。在新报文接入时,提取该报文的五元组信息,利用五元组信息对现有流表使用HASH运算,判断该报文是否属于原缓存中的数据流。如果找到对应的流则将该报文添加到该流内;否则添加新流并更新流表。

4.匹配模块

在完成数据接入、预处理和流量管理操作之后,将数据流送入匹配模块根据表项进行匹配操作。

四、结论

本文设计并实现了一种基于FPGA和机器学习架构的高速加密流量识别平台,该平台通过测试可以满足吞吐率等性能评价指标。该平台的研制弥补了传统加密流量识别系统接入带宽低、处理效率低等缺点。下一步的研究方向是通过对分类规则的统计分析,得到匹配规则的最优设置,实现匹配条目的压缩、分割,以及通过对多报文快速并行处理来提升系统平台的整体性能。

参考文献:

[1]汪立东,钱丽萍.网络流量分类方法与实践[M].北京:人民邮电出版社,2013.

[2]王建东,祝超,谢应科等.基于FPGA的万兆流量并行实时处理系统研究[J].计算机研究与发展,2009,46(02):177-185.

[3]柳斌,李之棠,涂浩.基于半监督学习的应用层流量分类方法[J].微电子学与计算机,2008,25(10):113-116.

作者简介:李洋(1986-),男,汉族,湖北武汉人,工程师,硕士,研究方向:通信与信息系统。

猜你喜欢

机器学习
基于词典与机器学习的中文微博情感分析
基于网络搜索数据的平遥旅游客流量预测分析
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究
机器学习理论在高中自主学习中的应用