基于神经网络的入侵检测系统技术方案

技术编号:19548810 阅读:21 留言:0更新日期:2018-11-24 21:29
本发明专利技术公开了一种基于神经网络的入侵检测系统,构建以服务为导向的体系架构,包括cache模块和神经网络加速器模块,其中cache模块利用硬件中的时间局部性来捕获冗余,减少对存储资源的需求;神经网络加速器模块用于探测攻击字符串,加速字符串匹配的过程;整个系统运行在云计算平台之上。本发明专利技术设计实现的冗余表机制能够很好的利用硬件的时间局部性,大大减少对片上存储资源的需求。同时,为了提高入侵检测系统的速度和准确率,在本发明专利技术中还应用了神经网络方法来加速字符串匹配的过程。本发明专利技术的入侵检测系统相对于通用处理器具有高性能、低功耗的特点,能够满足在大数据时代下的对速度和吞吐量的需求。

Intrusion Detection System Based on Neural Network

The invention discloses an intrusion detection system based on neural network, which constructs a service-oriented architecture, including a cache module and a neural network accelerator module, in which the cache module captures redundancy and reduces the demand for storage resources by utilizing the time locality in hardware; and the neural network accelerator module is used for detection. Attacking strings speeds up string matching; the whole system runs on cloud computing platform. The redundancy table mechanism designed and implemented by the invention can make good use of the time locality of hardware and greatly reduce the demand for on-chip storage resources. At the same time, in order to improve the speed and accuracy of the intrusion detection system, the neural network method is also applied to accelerate the string matching process. The intrusion detection system of the invention has the characteristics of high performance and low power consumption compared with the general processor, and can meet the requirements of speed and throughput in the era of large data.

【技术实现步骤摘要】
基于神经网络的入侵检测系统
本专利技术涉及计算机硬件加速领域,具体涉及一种入侵检测系统和其设计方法。
技术介绍
在大数据时代,互联网相关的应用呈现爆炸式的增长,再加上黑客的攻击和网络病毒的广泛传播,使我们对网络安全提出了更高的要求。为了保护网络不受攻击或至少降低攻击,网络管理员一般会在路由器上使用防火墙。然而,网络管理员的防火墙只能捕获有限的网络攻击行为。因此,为了网络的安全,入侵检测系统在路由器上得到了越来越多的应用。入侵检测系统通过分析网络数据包来检测黑客的攻击和网络病毒。通常,入侵检测系统中存在许多硬件探测器,它们负责实时监测网络数据包,一旦硬件探测器检测到了异常,它就会触发入侵警报。一般来说,入侵检测系统中最重要的部分是字符串匹配算法。字符串匹配问题是一个计算密集型问题,它将给定的字符串与参考字符串进行比较。入侵检测系统检查到来的数据包,并将它与参考字符串比较,如果匹配,则代表该数据包存在安全隐患,入侵检测系统会根据该隐患对系统的危险程度,将该数据进行处理。然而,随着网络洪流的增加,当前的计算机要处理的数据越来越多,已经不能满足人们在大数据时代的需求,比如,黑客可以很容易地将恶意的网络数据包传入系统,并通过大量的数据包和快速攻击方案来突破防火墙。为保证网络系统的安全,对提高网络入侵系统的吞吐率和速度提出了重大的挑战。另一方面,神经网络隶属于人工智能领域的连接主义学派,是一种应用类似于大脑神经突触连接的结构进行信息处理的数学模型。20世纪50年代,第一代神经网络——感知机诞生,能够实现线性分类、联想记忆等;20世纪80年代,多层感知机及其训练算法——反向传播算法(backpropagation,BP),因为能够解决线性不可分问题被广泛研究和应用。但是当时较为低下的硬件计算能力和网络训练算法易陷入局部极小等问题,成为制约神经计算方法发展的瓶颈,直到2006年Hinton教授开创的“多层结构、逐层学习”的深度学习方法,才使得神经网络的强大计算能力真正发挥出来,并在大数据的时代背景下成为大数据分析领域的一颗璀璨的明星。这种方法在语音识别、图像识别、自然语言处理等方面,已经取得了突破性的成功,以惊人的速度和结果,不断刷新着这些应用领域内的各种标志性纪录。
技术实现思路
针对上述存在的技术问题以及最新的技术进展,本专利技术目的是:将神经网络技术应用于入侵检测系统,加快字符串匹配的速度,以满足大数据时代下对系统的要求。本专利技术的技术方案是:一种基于神经网络的入侵检测系统,包括cache模块和神经网络加速器模块,其中cache模块,利用硬件中的时间局部性来捕获冗余,减少对存储资源的需求;神经网络加速器模块用于探测攻击字符串,加速字符串匹配的过程;在此基础上,为了方便用户的使用,本专利技术提供了统一的编程接口供用户调用该服务。优选方案中,cache模块利用布隆过滤器来支持并行查询,并扩展了布隆过滤器,设计了可计数的布隆过滤器,并以此为基本单元,多个该基本单元以并联的方式组成最小缓存结构,该方法能够大大的节省FPGA片上的存储资源。优选方案中,神经网络加速器模块,包括总线互联结构、缓存结构和计算引擎三部分构成。总线互联结构,包括数据总线和控制总线,分别用于数据的传输和命令的传输。缓存结构,包括输入缓存、输出缓存和权值缓存三部分,分别用于存储神经网络计算过程中输入数据、输出数据和权值数据。计算单元,包括乘法器和加法器,用于神经网络中的乘加操作。卷积神经网络中的卷积层和全连接层具有不同的属性,卷积层是计算密集型,而全连接层是访存密集型的,因此,在应用卷积神经网络加速字符串的过程中,我们对卷积层和全连接层使用了不同的优化方法。优选方案中,对于卷积层,我们致力于计算并行,应用了一种方法将卷积计算转化为矩阵乘法计算;对于全连接层,我们致力于减少所需的内存带宽,应用了批处理的方法。矩阵乘法计算,优选方案中,采用分片设计,将输入矩阵的每一行内部按分片大小进行分片,权值矩阵每一列按照分片大小进行分片,每一次计算都执行输入矩阵中分片大小的数据和权值矩阵中分片大小的数据之间的乘加运算,得到临时的计算结果,当一行计算完毕后,累加得到最终的结果。优选方案中,神经网络加速器模块有多个计算单元,每个计算单元对应卷积神经网络模型中的一层,各个计算单元之间以流水线的方式进行计算。由于已经将卷积层和全连接层的计算都统一到了矩阵乘法计算,在此基础上,我们使用了两种不同的矩阵乘法计算模式,在第一种计算模式中,输出矩阵的部分结果和利用分片大小的输入,然后,输出矩阵的部分结果和利用下一个分片大小的输入来更新该部分结果和,在这种模式下,权值矩阵窗口是垂直移动的;在第二种计算模式中,输出矩阵的所有部分结果和都只利用分片大小的输入,然后,输出矩阵的所有部分结果和将利用下一个分片大小的输入来更新部分结果和,在这种模式下,权值矩阵窗口是水平移动的。在优选方案中,这两种计算模式在流水线计算中交替使用。优选方案中,所述编程接口,包括硬件平台初始化和数据传输。与现有技术相比,本专利技术的优点是:本专利技术简单易用,对用户透明。本专利技术设计实现的冗余表机制能够很好的利用硬件的时间局部性,大大减少对片上存储资源的需求。同时,为了提高入侵检测系统的速度和准确率,在本专利技术中还应用了神经网络方法来加速字符串匹配的过程。本专利技术的入侵检测系统相对于通用处理器具有高性能、低功耗的特点,能够满足在大数据时代下的对速度和吞吐量的需求。附图说明下面结合附图及实施例对本专利技术作进一步描述:图1是本实施例的基于FPGA的数据中心并行入侵检测系统的体系结构图;图2是本实施例的入侵检测系统架构图;图3是本实施例的布隆过滤器结构图;图4是本实施例的扩展的可计数的布隆过滤器结构图;图5是本实施例的cache模块详细设计图;图6是本实施例的矩阵乘法方法计算卷积层图;图7是本实施例的批处理方法计算全连接层图;图8是本实施例的流水线计算方法图;图9是本实施例的神经网络加速器的硬件结构图。具体实施方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本专利技术而不限于限制本专利技术的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。本专利技术实施例中的入侵检测系统包括cache模块和神经网络加速器模块,其中,cache模块利用硬件中的时间局部性来捕获冗余,减少对存储资源的需求;神经网络加速器模块,用于探测攻击字符串,加速字符串匹配的过程。加速器和通用处理器之间的数据通路可以采用PCI-E总线协议、AXI总线协议等。本专利技术实施例附图数据通路采用AXI总线协议为例说明,但本专利技术并不限于此。图1是本实施例的基于FPGA的数据中心并行入侵检测系统的体系结构图,在这里,入侵检测系统服务器主要负责模式匹配任务。在执行任务的过程中,部分的任务会加载到FPGA加速器上进行加速。前端的入侵检测系统服务器负责数据中心的攻击检测,后端的服务器负责数据库管理。关于入侵检测系统的数据处理,入侵检测系统服务器首先分析应用程序的行为,分析的主要方法是基于神经网络的方法。任务的分配和接口运行在入侵检测系统的软件服务器上,而神经网络方法则运行在FPGA的硬件加速器上。图2是本实施例的入侵检测系统架构本文档来自技高网
...

【技术保护点】
1.基于神经网络的入侵检测系统,其特征在于,包括:cache模块,利用硬件中的时间局部性来捕获冗余,减少对存储资源的需求;神经网络加速器模块,用于探测攻击字符串,加速字符串匹配的过程;统一的编程接口,供用户调用该入侵检测系统。

【技术特征摘要】
1.基于神经网络的入侵检测系统,其特征在于,包括:cache模块,利用硬件中的时间局部性来捕获冗余,减少对存储资源的需求;神经网络加速器模块,用于探测攻击字符串,加速字符串匹配的过程;统一的编程接口,供用户调用该入侵检测系统。2.根据权利要求1所述的基于神经网络的入侵检测系统,其特征在于,所述cache模块,利用布隆过滤器来支持并行查询,并扩展布隆过滤器,设计了可计数的布隆过滤器,并以此为基本单元,多个该基本单元以并联的方式组成最小缓存结构,该方法能够大大的节省FPGA片上的存储资源。3.根据权利要求1所述的基于神经网络的入侵检测系统,其特征在于,所述的神经网络加速器模块,包括总线互联结构、缓存结构和计算引擎;总线互联结构,包括数据总线和控制总线,分别用于数据的传输和命令的传输;缓存结构,包括输入缓存、输出缓存和权值缓存三部分,分别用于存储神经网络计算过程中输入数据、输出数据和权值数据;计算单元,包括乘法器和加法器,用于神经网络中的乘加操作;神经网络中包括卷积层和全连接层,对于卷积层,将卷积计算转化为矩阵乘法计算;对于全连接层,应用了批处理的方法。4.根据权利要求3所述的基于神经网络的入侵检测系统,其特征在于,所述的矩阵乘法计算,...

【专利技术属性】
技术研发人员:李曦王超孙凡周学海
申请(专利权)人:中国科学技术大学苏州研究院
类型:发明
国别省市:江苏,32

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

1