IPSpex:工业控制系统协议模糊测试的新方法
1. 现有方法的局限性
在工业控制系统(ICS)的安全测试中,模糊测试是一种重要的技术。之前有一些方法,如使用虚假但合理的消息进行模糊测试,PropFuzz利用Ratcliff/Obershelp模式识别算法分析连接建立的有效过程并发送特定协议命令。然而,这些方法主要集中在开源软件库,如libmodbus、lib60870和libiec61850,未能提供这些库中的漏洞对ICS设备的影响,所发现的漏洞不足以反映真实世界ICS设备的弱点,限制了其在实际中的进一步应用。
2. 问题陈述
为了有效地对ICS设备进行黑盒模糊测试,模糊测试模板中需要仔细定义消息格式和字段语义。消息格式是协议逆向工程的基础,它定义了不同字段之间的边界。我们的目标是设计一种方法,从工业工程软件的网络数据包构造中提取消息格式。以往的研究也关注消息格式,但通过监控开源软件库中的消息解析过程来恢复消息格式,在实际的ICS设备中,消息解析过程更为复杂,这些结果不足以促进对这些设备的模糊测试。
对于ICS协议中的字段语义,我们主要关注长度字段和功能码字段。长度字段必须正确计算,以确保后续字节的有效性。推断功能码字段也很有必要,因为ICS设备不会处理未定义功能码后面的数据,所以它在ICS协议模糊测试中被广泛使用。此外,我们从执行跟踪中推断字段类型,即字段是否为常量,这可以减少黑盒模糊测试中不必要的变异。
3. 方法概述
大多数工业软件只有在转换为在线模式时,工业设备才会接受操作命令,这会在几秒钟内连续产生大量网络数据包。对于未记录的ICS协议,由于字段语义未知,很难在网络流量中定位特定消息。而且,频繁生成的网
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



