基于N-gram 算法的网络安全风险检测系统设计
2021-01-17蒋荣萍
蒋荣萍
(广西民族大学 人工智能学院,广西 南宁 530006)
0 引 言
与此同时,网络安全领域的问题也不断滋生,使整个社会面临着更加严峻的网络安全状况[1]。随着各种经济活动的不断融入,本来就充满风险的网络面临着更加危险的状况,各种入侵、木马、病毒等网络安全事件不断发生,并且随着越来越多黑客工具的出现,使黑客数量疯狂增长,网络上也出现了更多危险与陷阱,在线的目的性窃取成为主流的网络攻击方式。而随着网络攻击的主要动机由炫耀技术转向获取利益,其定向性、专业性、趋利性与组织性都在持续加强,导致以获取经济利益为目的的在线身份窃取与恶意代码成为网络攻击方式中的主流[2]。大范围无目的扩散的网络蠕虫淡出视野,而以特定用户群体为目标的信息定向化勒索与窃取则跃升为网络攻击中的新趋势[3]。我国遭遇篡改的网站数量一直居高不下,甚至政府网站遭遇篡改的次数也持续升高,表明我国网站的安全性面临着巨大压力。
根据有关调查结果,近几年来,网页篡改、网络仿冒、垃圾邮件等网络安全事件的增加呈现直线上升趋势,网络攻击的趋利性与目的性也在不断增强[4]。僵尸网络与木马伴随着网络资源与网络用户的规模化增加而变得极具扩散性,呈现出小型化、局部化、专业化的进化趋势。网络劫持、网址嫁接、网络仿冒、恶意代码等网络安全事故为各种系统制造了大量漏洞,网络安全防御面临着更加紧张的态势[5]。因此提出一种基于N-gram算法的网络安全风险检测系统对网络安全风险进行检测。
1 网络安全风险检测系统设计
1.1 硬件设计
基于N-gram 算法的网络安全风险检测系统的硬件包括数据预处理模块、协同分析模块[6]。
1.1.1 数据预处理模块
数据预处理模块主要负责处理被捕获的、存在安全风险的数据包,由检测引擎与包解码器组成[7]。
对于采集到的数据包,首先通过包解码器解码其中包含的实际元素,具体的解码器工作流程如图1所示[8]。
图1 具体的解码器工作流程
包解码器首先会连接解码数据并构建一个网络堆栈,然后按照从底层逐层上移至高层的方式对协议元素进行解码[9]。最后,将各个已经获得解码的包合并于一个数据结构内,并将其发送至检测引擎中对其进行分析[10]。
原位生物反应池出水进入A/O-MBR系统的厌氧池。A池设有射流搅拌,O池设有射流曝气,MBR膜采用外置式陶瓷膜分离反应器,其中好氧段停留时间为4 d。
而检测引擎的主要作用是检查解码数据包中是否存在威胁网络安全的可疑行为,并对其中存在的可疑行为实施修改操作[11]。由于一些数据包可以通过载荷变换等手法伪装自己,因此在检查可疑行为之前,检测引擎首先要对数据包的规则进行修改。除此之外,检测引擎还能够对流量模式实施标准化处理,从而准确匹配数据包特征。
1.1.2 协同分析模块
协同分析模块主要由协同采集器、协同分析器、协同传感器以及协同管理器构成,具体模块图如图2所示[12]。
图2 协同分析模块具体模块图
在协同分析模块中,协同采集器主要负责接收各个节点的相关检测数据,经过协同传感器报告给协同分析器。
协同分析器作为整个模块的核心构成部分,主要作用是整合分析协同采集器的报告数据,并对涉及多个部分的复杂攻击进行检测,其核心功能是关联分析,也就是负责进行协同分析的具体过程[13]。协同分析器中共有两个接口,一个是配置接口,一个是数据库存储接口。其中配置接口主要负责配置分析器规则以及查询分析结果;而数据库存储接口主要负责存储协同分析数据以及在数据库中暂存协同管理器的报告数据。
协同传感器的位置处于协同采集器与协同分析器之间,主要负责过滤那些与网络安全风险无关的信息。
协同管理器主要负责协调管理协同分析模块的数据响应功能、数据处理功能以及数据接收功能。
1.2 软件设计
基于N-gram 算法的网络安全风险检测系统的软件配置为网络安全风险检测模块[14]。
基于N-gram 算法设计网络安全风险检测模块,该模块主要通过协议分析与特征匹配实现网络安全风险的检测,其中协议分析主要通过构建协议分析树实现;特征匹配则主要通过N-gram 算法实现[15]。
协议分析的具体过程为结合全部协议并将它们组合成一个协议树,协议树中的各个节点即表示不同的协议。在构建的协议树中,叶子节点到根节点的路径表示该种协议类型的数据包分析流程,并且在协议树中可以自由添加协议自定义节点,以充分细化数据分析过程,从而提升网络安全风险检测效率。协议分析树的具体结构如图3 所示。
协议分析树中的节点结构中包含的信息如下:数据函数分析链表、下级协议代号、协议代号、协议名称、协议特征。完成协议分析后,通过下式进行特征匹配,主要匹配数据包与现有规则,以检测其攻击特征。数据包与现有规则一旦匹配上,即表示检测到一个可能攻击。
式中:p代表匹配规则;S代表现有规则;ω1,ω2,…,ωn则分别代表各个匹配数据包。
图3 协议分析树的具体结构
2 实验研究与分析
2.1 实验方法与流程
为了验证基于N-gram 算法的网络安全风险检测系统的性能,进行实验。
首先配置基于N-gram 算法的网络安全风险检测系统的实验环境服务器,包括服务器硬件配置与服务器软件配置,其硬件配置如表1 所示。
表1 服务器硬件配置
软件配置如表2 所示。
以真实网络数据作为实验数据,并对其实施边界值处理,以形成典型实验数据。处理后的实验数据如表3所示。
表2 软件配置
表3 处理后的实验数据
将实验数据输入基于N-gram 算法的网络安全风险检测系统中,基于服务器进行网络安全的风险检测。为了保证本次实验的公正性与有效性,将传统网络安全风险检测系统与本文提出的基于N-gram 算法的网络安全风险检测系统共同进行实验,比较各个网络安全风险检测系统的数据包检测性能。
判断数据包检测性能高低的依据主要是多种类别数据包的平均检测时间,本文选取5 种数据包进行实验,当多种类别数据包的平均检测时间之和越小,即证明其数据包检测性能越强,反之,则证明其数据包检测性能越差。
2.2 结果探究
基于N-gram 算法的网络安全风险检测系统与传统网络安全风险检测系统的数据包检测性能对比实验结果如图4 所示。
图4 数据包检测性能对比实验结果
根据图4 的数据包检测性能对比实验结果可知,传统网络安全风险检测系统5 种数据包类别的平均检测时间之和较大,而基于N-gram 算法的网络安全风险检测系统5 种数据包类别的平均检测时间之和较小。也就是基于N-gram 算法的网络安全风险检测系统的数据包检测性能优于传统网络安全风险检测系统,实现了性能的跃升。
3 结 语
基于N-gram 算法的网络安全风险检测系统通过引入设计的网络安全风险检测模块实现了网络安全风险的检测,并且实现了数据包检测性能的提升,但是该系统还存在提升空间,后续需要对该系统继续进行调整。