当前位置: 首页 > 专利查询>四川大学专利>正文

一种基于机器学习的远程缓冲区溢出攻击检测方法技术

技术编号:29199746 阅读:16 留言:0更新日期:2021-07-10 00:33
本发明专利技术应用于计算机流量分析领域,旨在用机器学习的方法建立模型用于对网络入侵活动中的缓冲区溢出攻击进行检测。本发明专利技术首先通过复现大量远程缓冲区溢出漏洞的exploit来收集攻击流量样本,再结合正常数据流量组成完整的数据集。该方法首先提取样本流量的基本信息,组成完整的tcp流,再利用本方法特有的特征提取规则对样本进行特征提取,将预处理后的特征利用不同模型的机器学习方法进行训练,测试和比较,选择分类效果最好的模型作为检测远程缓冲区溢出漏洞攻击的分类器。本方法具有精准度高,误报率低,耗时短,等特点,利用本方法进行远程缓冲区溢出攻击检测能够有效的在网络中识别具有缓冲区溢出攻击行为的恶意流量,便于进行拦截和防御。进行拦截和防御。进行拦截和防御。

【技术实现步骤摘要】
一种基于机器学习的远程缓冲区溢出攻击检测方法


[0001]本专利技术涉及网络流量检测技术,旨在利用远程缓冲区溢出exploit流量的特征和机器学习算法对网络中数据流进行检测,核心是从收集到的正常和异常流量包中提取特征,通过特定的规则和机器学习的方法生成分类模型来识别网络中的缓冲区溢出攻击行为。

技术介绍

[0002]缓冲区溢出攻击是利用缓冲区溢出漏洞所进行的攻击行为。缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统关机、重新启动等后果。
[0003]缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。理想的情况是:程序会检查数据长度,而且并不允许输入超过缓冲区长度的字符。但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患。操作系统所使用的缓冲区,又被称为“堆栈”,在各个操作进程之间,指令会被临时储存在“堆栈”当中,“堆栈”也会出现缓冲区溢出。
[0004]缓冲区溢出攻击检测技术可按照检测的对象不同分为三大类,即基于源代码的检测技术,基于目标代码的检测技术,基于攻击代码特征的检测技术。
[0005]传统的针对缓冲区溢出攻击检测的方法存在以下这些问题:基于源码的检测技术虽然可以检测出大量的漏洞攻击,但是缺点是误报率高,结果集大,针对性不强,流程复杂,源码获得较为困难;基于目标代码的检测技术通用性很强,并且降低了漏报率,但精度难以提高,造成误报率较高,另外执行时间很难估计,大部分方法只能给出一种模糊的判断,判断软件中是否存在漏洞,而对漏洞在源码中的具体位置不能确定;传统的基于攻击代码特征的检测技术这种检测都可以在入侵检测等外围防御系统中实现,缺点是漏报率较高,无法检测出无明显特征的溢出攻击注入代码。
[0006]同时针对缓冲区漏洞的网络攻击愈演愈烈,极大地威胁着人们的生活安全和国家安全,迫切需要一种精准度高,误报率低的远程缓冲区溢出攻击检测方法来克服已有检测方法的不足,来对上述攻击行为进行有效的检测。

技术实现思路

[0007]“一种基于机器学习的远程缓冲区溢出攻击检测方法”是在对网络中缓冲区溢出攻击检测研究中针对目前存在的问题所提出的专利技术。本专利技术的目标是改善现有检测方法精准度低,误报漏报率高的缺点,提出了一个基于机器学习的远程缓冲区溢出攻击检测方法。机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实,实时的模拟人类学习方式,近年来,机器学习广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别等领域,并取得了突破性进展。该专利技术将机器学习方法应用于网络流量检测领域,用于对网络数据流中缓冲区溢出攻
击行为的识别检测,区别于传统的基于代码特征检测技术,基于机器学习方法的缓冲区溢出攻击检测方法能够自动的从已有数据集中按照该方法独有的特征提取规则进行特征的提取和分析,并根据特征对机器学习模型进行训练,并将训练好的模型应用于实际的流量检测当中去。该方法不仅可以有效地检测出网络中关于缓冲区溢出攻击的恶意流量,而且可以识别未知的新型缓冲区溢出攻击方式,可将训练好的分类器模型应用于网络节点处,不需要获得程序源码,也不会影响节点处设备的正常运转,而且该方法提取的特征针对性强,因此训练出的分类器的检测效果比传统检测方法好很多。
[0008]为了达到上述效果,本专利技术的技术框架包含了:收集缓冲区溢出攻击恶意代码,并对其复现攻击过程并抓包,同时抓取一定量的正常流量包也存入pcap文件;解包过滤合并tcp流,将pcap文件中的数据包进行解包解码,剔除对分析数据无用的包,并把过滤后的数据包进行tcp流合并,便于下一步对完整的tcp流进行特征提取;对每一个tcp流打标签并提取特征存入csv文件便于下一步分析;将收集到的特征进行归一化处理,使其适用于机器学习的模型;将归一化后的特征和标签作为机器学习模型的参数进行训练和测试;比较多个模型测试出来的评估指标,择其优选为最终检测远程缓冲区溢出攻击的模型。
附图说明
[0009]从下面结合附图的详细描述中,将会更加清晰地理解本专利技术的目标,实现方法,优点和特性,其中。
[0010]图1是说明本专利技术的检测技术的整体流程图。
[0011]图2是说明本专利技术的检测技术的第一步获取数据的流程。
[0012]图3是说明本专利技术的检测技术的第二步过滤整合数据的流程。
[0013]图4是说明本专利技术的检测技术的第三步特征提取的流程。
[0014]图5是说明本专利技术的检测技术的第四步数据归一化的流程。
[0015]图6是说明本专利技术的检测技术的第五步及第六步:模型训练测试及选择。
具体实施方式
[0016]本专利技术中的远程缓冲区溢出攻击检测技术是基于机器学习的一种恶意流量检测方法,适用性强,精准度高,误报率低,能够高效准确地检测远程缓冲区溢出攻击,及时发现网络中潜在的威胁。下面结合附图对本专利技术做进一步说明。
[0017]如图1所示,基于机器学习的远程缓冲区攻击检测方法共含有六个基本步骤,每一步实现不同的功能,并且每一步的数据均来自上一步的处理。第一步将所需数据流进行抓取保存为pcap格式文件便于之后的数据分析;第二步将数据包进行解包分析,将数据按照特定规则进行标准化处理;第三部对标准化处理后的数据流进行特征提取,这是最为关键的一步,决定着最终分类器的使用效果;第四步是将提取的特征进行归一化处理,便于机器学习的模型进行学习;第五步选取不同的机器学习模型进行训练和测试;第六步对各个测试结果的指标进行对比,选取最为合适的模型作为最终的分类器模型。下面将对每一步做详细的描述。
[0018]如图2所示,我通过搜集近10年来的基于缓冲区溢出的远程攻击代码,复现了将近400个缓冲区溢出漏洞的攻击过程,包括永恒之蓝等重大漏洞,同时用wireshark,tcpdump
等工具进行数据包的抓取,再将其数据包保存为pcap文件格式。同时,在其他主机上抓取正常数据包也保存为pcap文件格式,以便与下一步对数据包的处理。
[0019]如图3所示,首先判断其传输层协议,若为TCP协议则继续判断其载荷长度,若载荷长度不为零(TCP协议三次握手等)则开始解包操作,去除数据包的网络层和传输层的头部,为了分析完整的恶意数据流的特征,根据源IP,目的IP,源端口,目的端口四元组将数据包合并成TCP流,将合并完的TCP流解码为字符串,并对每一个TCP流打上相应的标签便于下一步的数据流分析。
[0020]如图4所示,在对数据流的特征提取过程中,根据第一步对远程缓冲区溢出攻击代码的分析提取了5个主要特征,num_letter用于记录payload中填充缓冲区的连续字符的个数,大量连续相同的填充字符是缓冲区溢出攻击代码中一个重要特征,故把每个TCP流的连续数量大于8的字符数的种类和重复数进行了统计,记录为其中一维特征。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于机器学习的远程缓冲区溢出攻击检测方法,其特征在于,所述方法包括如下步骤:A、搜集所需恶意流量和正常流量,对数据包进行抓取保存为pcap格式文件便于之后的数据分析;B、将数据包进行过滤,解包分析,将数据按照特定规则进行标准化处理;C、对标准化处理后的数据流进行特征提取,根据特定的规则分析,将提取的特征放入csv文件中保存;D、将提取的特征进行归一化处理,便于机器学习的模型进行学习;E、选取不同的机器学习模型进行训练和测试,并对各个测试结果的指标进行对比,选取最为合适的模型作为最终的分类器模型。2.根据权利要求1所述的基于机器学习的远程缓冲区溢出攻击检测方法,其特征在于:步骤1中,搜集基于缓冲区溢出的远程攻击代码,复现了缓冲区溢出漏洞的攻击过程,同时用wireshark,tcpdump等工具进行数据包的抓取,再将其数据包保存为pcap文件格式。3.根据权利要求1所述的基于机器学习的远程缓冲区溢出攻击检测方法,其特征在于:步骤2中包括根据端口号和数据包长度对数据包进行过滤,根据源IP,目的IP,源端口,目的端口四元组将数据包合并成TCP流。4.根据权利要求1所述的基于机器学习的远程缓冲区溢出攻击检测方法,其特征在于:步骤3中根据第一步对远程缓冲区溢出攻击代码的分析提取了5个主要特征,num_letter用于记录payload中填充缓冲区的连续字符的个数;num_nop用于记录nop指令...

【专利技术属性】
技术研发人员:刘亮李书彬郑荣锋
申请(专利权)人:四川大学
类型:发明
国别省市:

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

1