【技术实现步骤摘要】
基于有限状态自动机的攻击脚本生成方法及相关装置
本申请涉及网络安全领域,尤其涉及基于有限状态自动机的攻击脚本生成方法及相关装置。
技术介绍
随着各类网络服务在世界范围内的普及,各类网络服务零日漏洞层出不穷,近年来利用网络服务漏洞进行的网络攻击案件频发。网络服务,即服务器所承载的网络服务程序,如SMB、SSL、DHCP、DNS、FTP等,是攻击者对目标网络服务平台进行渗透攻击的主要突破口之一。利用网络服务漏洞进行的网络渗透攻击,可造成对网络服务运营商内部数据的非法存取、网络服务平台拒绝服务和网络资源非法占用、非法控制等威胁,对互联网安全构成重大危害。目前,各类网络服务运营商及软件厂商在面对零日攻击行为时,多采取人工攻击行为复现、人工漏洞分析定位等传统攻击响应模式,还原攻击者使用的攻击脚本。因此,对攻击者使用的攻击脚本的还原方式,具有响应速度慢、人力资源消耗大、人为因素影响大等诸多局限性。
技术实现思路
本申请提供了基于有限状态自动机的攻击脚本生成方法及相关装置,目的在于解决对攻击者使用的攻击脚本的还原方式,具有响应速度慢、人力资源消耗大、人为因素影响大等诸多局限性的问题。为了实现上述目的,本申请提供了以下技术方案:本申请提供了一种基于有限状态自动机的攻击脚本生成方法,包括:从客户端与目标程序之间历史产生的交互数据流中,提取攻击所述目标程序的攻击数据流和所述目标程序响应所述攻击数据流的反馈数据流;向虚拟运行环境中运行的目标程序,逐步发送所述攻击数据流,实现对所述 ...
【技术保护点】
1.一种基于有限状态自动机的攻击脚本生成方法,其特征在于,包括:/n从客户端与目标程序之间历史产生的交互数据流中,提取攻击所述目标程序的攻击数据流和所述目标程序响应所述攻击数据流的反馈数据流;/n向虚拟运行环境中运行的目标程序,逐步发送所述攻击数据流,实现对所述目标程序的模拟攻击;/n接收所述虚拟运行环境中运行的目标程序,每次响应接收到的攻击数据流产生的响应数据流;/n在任一次的响应数据流与相应的反馈数据流间的差异数据为空,或者,所述差异数据不为空且确定出所述差异数据中内存地址变量的各个取值分别对应的内存段基址和偏移量的情况下,生成该次的状态转移函数;并将所述状态转移函数更新至有限状态自动机,所述有限状态自动机的下一个状态继承上一个状态的状态变量;/n在所述攻击数据流全部被发送给在所述虚拟运行环境中运行的目标程序后,若更新得到的有限状态自动机的状态表征对所述目标程序攻击成功,则依据更新得到的有限状态自动机中的状态转移函数,生成攻击脚本。/n
【技术特征摘要】
1.一种基于有限状态自动机的攻击脚本生成方法,其特征在于,包括:
从客户端与目标程序之间历史产生的交互数据流中,提取攻击所述目标程序的攻击数据流和所述目标程序响应所述攻击数据流的反馈数据流;
向虚拟运行环境中运行的目标程序,逐步发送所述攻击数据流,实现对所述目标程序的模拟攻击;
接收所述虚拟运行环境中运行的目标程序,每次响应接收到的攻击数据流产生的响应数据流;
在任一次的响应数据流与相应的反馈数据流间的差异数据为空,或者,所述差异数据不为空且确定出所述差异数据中内存地址变量的各个取值分别对应的内存段基址和偏移量的情况下,生成该次的状态转移函数;并将所述状态转移函数更新至有限状态自动机,所述有限状态自动机的下一个状态继承上一个状态的状态变量;
在所述攻击数据流全部被发送给在所述虚拟运行环境中运行的目标程序后,若更新得到的有限状态自动机的状态表征对所述目标程序攻击成功,则依据更新得到的有限状态自动机中的状态转移函数,生成攻击脚本。
2.根据权利要求1所述的方法,其特征在于,在任一次的反馈数据流与相应的响应数据流间的差异数据为空的情况下,生成该次的状态转移函数,包括:
向攻击脚本添加具有接收响应数据流功能的脚本语句;
添加具有提取响应数据流中的内存地址功能的脚本语句。
3.根据权利要求1所述的方法,其特征在于,在任一次的反馈数据流与相应的响应数据流间的差异数据不为空的情况下,确定所述差异数据中内存地址变量的各个取值分别对应的段基址和偏移量的过程,包括:
检查该次的差异数据中,是否含有内存地址变量的取值;所述内存地址变量的可取值包括:二进制或者文本格式的依赖库、栈、堆和代码段的内存地址;
在检查到内存地址变量的任一种取值的情况下,计算该取值与系统随机分配的内存段基址间的偏移量,得到内存地址变量在该取值下的内存段基址和偏移量;
所述生成该次的状态转移函数,具体为:
依据所述差异数据包含的内存地址变量的各个取值分别对应的内存段基址和偏移量,生成状态转移函数。
4.根据权利要求1所述的方法,其特征在于,所述从客户端与目标程序之间历史产生的交互数据流中,提取攻击所述目标程序的攻击数据流和所述目标程序响应所述攻击数据流的反馈数据流,包括:
将所述客户端与目标程序之间历史产生的交互数据流中一个客户端与目标程序的一次会话数据流,作为一组交互数据流,得到多组交互数据流;
分别对每组交互数据流,按照客户端收发两个方向进行区分标记;
分别对每组交互数据流中,收发两个方向的数据流分别进行排序;
分别对排序后的每组交互数据流进行重组和去噪,得到每组整流后的收发方向数据流;
从所述每组整流后的收发方向数据流中,确定收方向数据流中包含预设敏感信息的各组数据流;
将所述各组数据流中收方向的数据流,分别作为反馈数据流,得到各组反馈数据流;
将所述各组数据流中发方向的数据流,分别作为攻击数据流,得到各组攻击数据流。
5.根据权利要求4所述的方法,其特征在于,所述向虚拟运行环境中运行的目标程序,逐步发送所述攻击数据流,实现对所述目标程序的模拟攻击,包括:
向所述虚拟运行环境中运行的目标程序分别发送所述各组攻击数据流...
【专利技术属性】
技术研发人员:朱俊虎,陈佳俊,任薇,庄妍,彭建山,周天阳,邱菡,许航,
申请(专利权)人:中国人民解放军战略支援部队信息工程大学,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。