本技术公开了一种面向工业控制协议的通用模糊测试能力评估系统及其方法,评估系统包括源码判断模块用于判断待测工业控制协议的源码是否公开;插桩模块用于待测工业控制协议的源码公开时,在待测工业控制协议的设定位置插入监控代码,以收集模糊测试过程中生成的敏感信息;监控器模块用于读取敏感信息以及监控待测工业控制协议的系统环境和捕获待测工业控制协议与模糊测试工具之间的通信流量,并解析出待测工业控制协议的运行状态;评估信息处理模块用于收集敏感信息、运行状态和系统环境,并以结构化的格式保存,对收集的信息进行展现及将动态变化的数据保存至日志文件中,在模糊测试完成后,对每种动态变化的数据生成随时间变化的变化图。
背景技术
伴随着信息技术的迅猛发展,工业控制系统(Industrial Control Systems,ICS)在全球范围内获得了广泛应用。ICS是一种用于监控、管理和控制工业流程的集成系统,在关键基础设施和工业部门中不可或缺,其保证了工业流程的高效运行与安全。模糊测试技术如今已经成为了针对工业控制协议的主流漏洞挖掘手段。其通过向目标系统输入大量随机或伪随机的非法、异常数据,以观察系统在处理这些输入时的反应,从而发现潜在的漏洞。
2018年,Klees等人提出了一套面向普通程序的模糊测试能力评估指南:首先,建议选择一个具有代表性的基准模糊器作为对比对象,并使用多种不同的基准程序来进行评估。其次,在衡量性能时,考虑到模糊测试过程中固有的随机性,需要通过进行足够次数的重复实验以及应用统计测试来确认结果的有效性。此外,还应详尽记录所有配置参数(例如种子文件和超时设置)以支持后续的分析与结果复现。
这套面向普通程序的模糊测试能力评估指南对模糊测试能力评估的具体执行步骤进行了标准化,但在评估模糊测试能力时,依然依赖传统的指标,如代码覆盖率和发现漏洞的数量。这种单一的评估方式在面对复杂的工业控制协议场景时可能导致评价结果不够准确。
2024年,Kim等人提出了一套定向模糊测试评估方法。首先,他们建议明确评估的目标,比如定位特定的漏洞或代码路径。其次,在评估过程中,推荐使用多种定向模糊测试工具进行对比,以确保评估结果的全面性。评估的关键指标包括测试工具成功复现已知漏洞的能力及其在特定目标上的性能表现。此外,作者强调了评估过程透明度的重要性,要求详尽记录所有使用的配置参数和决策细节,以便后续研究能够重复和验证结果。遵循这些方法,可以显著提升定向模糊测试评估结果的可靠性。
尽管这套系统化的评估方法为定向模糊测试提供了一定的指导原则,但它也存在一些不足之处。首先,这种方法主要适用于定向模糊器,对于专门用于测试工业控制协议的模糊器而言,可能并不完全适用。其次,该方法尚未解决评估组件与模糊器之间强耦合的问题,这意味着评估过程可能仍然过于依赖特定的模糊测试框架或工具特性,从而限制了评估方法的通用性。
实现思路