一种基于模糊测试的电网工控协议漏洞挖掘系统和方法

文档序号:9491722阅读:771来源:国知局
一种基于模糊测试的电网工控协议漏洞挖掘系统和方法
【技术领域】
[0001]本发明涉及一种漏洞挖掘技术,具体涉及一种基于模糊测试的电网工控协议漏洞挖掘系统和方法。
【背景技术】
[0002]随着计算机技术和网络通信技术应用于电网工业控制系统,带来了电网工业控制网络的安全问题。在电网工业控制网络中,协议安全是整个系统安全的主要环节,只有协议安全可靠,才能保证系统的安全可靠,协议的漏洞是非法入侵者的主要攻击目标。
[0003]漏洞挖掘对于协议安全有重大意义,是解决当前电网工业控制协议安全问题的有效途径,它能够在威胁未发生时检测出协议存在的安全隐患,从而排除隐患,避免威胁发生。目前,国内外对于工控系统安全防护已经取得了一定的研究成果,但是对工控协议进行漏洞挖掘的研究仍然很少。
[0004]模糊测试是常见的一种漏洞挖掘方法,它的核心思想是通过大量的数据输入,通过覆盖程序的各种执行路径以发现程序的脆弱点,它能够自动完成测试数据的生成、样本构造等工作。目前针对模糊测试的研究主要集中在互联网中未知网络协议的漏洞挖掘上,结合电网工控领域特殊环境的漏洞挖掘研究非常少。因此,将模糊测试技术引入到电网工业控制系统漏洞挖掘研究中,找到一种适合电网工控协议特殊环境的漏洞挖掘方案是十分有必要的。

【发明内容】

[0005]为了克服上述现有技术的不足,本发明提供一种基于模糊测试的电网工控协议漏洞挖掘系统和方法,解决了电网工控协议漏洞挖掘问题,通过使用本发明可以结合电网工控特殊环境灵活选择电网工控协议,有效提高模糊测试的效率和准确率。
[0006]为了实现上述发明目的,本发明采取如下技术方案:
[0007]本发明提供一种基于模糊测试的电网工控协议漏洞挖掘系统,所述系统包括流量采集模块、报文格式识别模块、模糊测试模块和服务器监控模块;所述流量采集模块、报文格式识别模块、模糊测试模块和服务器监控模块依次串联。
[0008]所述流量采集模块采集数据包流量并对采集的数据包流量进行过滤,之后将过滤得到的目标进程流量发送给报文格式识别模块。
[0009]电网工控局域网包括以太网,所述以太网包括共享式以太网和交换式以太网.
[0010]针对共享式以太网,所述流量采集模块从本地网络中采用数据包嗅探方式采集数据包流量;
[0011]采用数据包嗅探方式采集数据包流量通过以下两种途径实现:
[0012]1)通过数据包捕获软件采集数据包流量,所述数据包捕获软件包括tcpdump、Iris、Sniffer、ffireshark 和 winpcap ;
[0013]2)自行调用网络截包库采集数据包流量,所述网络截包库包括libpcap和WinPcapo
[0014]针对交换式以太网,所述流量采集模块从网络设备中采集数据包流量,通过以下两种途径实现:
[0015]1)通过基于ARP欺骗的中间人方式采集数据包流量,通过ARP欺骗使得希望获取数据包流量的设备把数据包流量都先发送给中间人,再通过中间人发送给流量采集模块;
[0016]2)通过交换机端口镜像功能方式所述流量采集模块,将发往流量采集模块的数据包流量全部实时拷贝到指定的交换机端口并发送到相应主机,从而实现数据包流量的采集。
[0017]所述报文格式识别模块对流量采集模块发送的目标进程流量进行分析和识别,包括:
[0018]1)报文格式识别模块对流量采集模块发送的目标进程流量进行分类,提取目标进程流量中同类型的报文序列作为一个报文组;
[0019]2)将同一个报文组内的数据报文划分为可变域和不变域;
[0020]3)对数据报文的ANSII字符串域、Unicode字符串域、二进制域和长度域进行识另IJ,得到识别结果;
[0021]4)根据识别结果构造出完整的报文格式,并把报文格式存入报文格式库,同时报文格式识别模块将报文格式发送给模糊测试模块。
[0022]所述模糊测试模块基于SPIKE模糊测试器实现对报文格式的模糊测试,包括:
[0023]1)判断脚本库中是否存在报文设别模块识别的报文格式对应的模糊测试脚本,若存在则调取模糊测试脚本,若不存在模糊测试模块根据报文设别模块识别的报文格式生成模糊测试脚本,并将生成的模糊测试脚本存入脚本库;
[0024]2)模糊测试模块根据模糊测试脚本构造测试用例;
[0025]3)调用测试用例对报文格式进行模糊测试,得到模糊测试结果,同时模糊测试模块将得到的模糊测试结果发送给服务器监控模块。
[0026]所述服务器监控模块对模糊测试结果进行监控,模糊测试者对模糊测试结果进行分析、反推和归纳,进而得到漏洞类型和位置,并将漏洞类型和位置存入电网工控协议漏洞库。
[0027]本发明还提供一种基于模糊测试的电网工控协议漏洞挖掘方法,所述方法包括以下步骤:
[0028]步骤1:判断电网工控协议是否为未知协议,若是则直接执行步骤2,否则表明电网工控协议为已知协议,进一步判断脚本库中是否存在模糊测试脚本,若是则执行步骤4,否则从报文格式库中调取报文格式后,执行步骤3 ;
[0029]步骤2:对未知协议进行报文格式的识别,之后判断判断脚本库中是否存在模糊测试脚本,若是则执行步骤4,否则执行步骤3 ;
[0030]步骤3:模糊测试模块根据报文格式生成模糊测试脚本,并将生成的模糊测试脚本存入脚本库;
[0031]步骤4:模糊测试模块根据模糊测试脚本构造测试用例,并根据测试用例对文报文格式进行模糊测试,得到模糊测试结果;
[0032]步骤5:服务器监控模块对模糊测试结果进行监控,模糊测试者对模糊测试结果进行分析、反推和归纳,进而得到漏洞类型和位置,将漏洞类型和位置存入电网工控协议漏洞库。
[0033]所述步骤2中,报文格式识别模块对未知协议进行报文格式的识别,包括:
[0034]1)报文格式识别模块对流量采集模块发送的目标进程流量进行分类,提取目标进程流量中同类型的报文序列作为一个报文组;
[0035]2)报文格式识别模块将同一个报文组内的数据报文划分为可变域和不变域;
[0036]3)报文格式识别模块对数据报文的ANSII字符串域、Unicode字符串域、二进制域和长度域进行识别,得到识别结果;
[0037]4)报文格式识别模块根据识别结果构造出完整的报文格式,并把报文格式存入报文格式库,同时报文格式识别模块将报文格式发送给模糊测试模块。
[0038]与最接近的现有技术相比,本发明提供的技术方案具有以下有益效果:
[0039]1)本发明结合电网工控领域特殊环境提供了灵活的测试协议模式选择选项,在已知测试协议模式直接跳过报文格式识别过程,可以针对精确的报文格式进行模糊测试,从而提高模糊测试的准确率;
[0040]2)本发明中设置电网工控协议报文格式库和测试脚本库,在模糊测试中利用库中所存储的报文格式和测试脚本,达到在一定条件下简化测试流程、缩短测试时间的目的,从而提尚t旲糊测试的效率;
[0041]3)本发明的报文格式识别中采用经典的基于序列长度的渐进比对算法,能够对未知报文格式进行快速有效的识别;
[0042]4)本发明将模糊测试技术应用到电网工控协议漏洞挖掘研究中,提出了适合电网工控协议特殊环境的漏洞挖掘方法,方法流程简单,易于实现。
【附图说明】
[0043]图1是本发明实施例中基于模糊测试的电网工控协议漏洞挖掘系
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1