关键词:
模糊测试
物联网安全
DLMS/COSEM协议
数据库管理系统
漏洞挖掘
摘要:
随着物联网技术在工业系统中的广泛应用,工业物联网系统中信息安全问题时有发生。能源计量DLMS/COSEM协议作为工业物联网系统中广泛使用的通信协议,安全性与数据采集密切相关。数据库管理系统作为数据存储和管理关键组件,安全性严重影响了工业物联网系统数据安全。模糊测试技术广泛应用于漏洞挖掘领域,近年来,研究人员通过模糊测试技术发现了大量安全漏洞。因此,为发掘工业物联网系统中重要组件的安全漏洞,利用模糊测试技术就能源计量DLMS/COSEM协议和数据库管理系统展开了研究,提出了相应的模糊测试方法并实现了相应的模糊工具。
(1)提出了一种面向DLMS/COSEM协议客户端的模糊测试方法,提出了一种基于AST的DLSM/COSEM协议APDU变异算法,该变异算法能对DLMS/COSEM协议APDU进行结构感知的变异,使得变异后APDU仍然符合DLMS/COSEM协议规范。本文实现了快照管理模块并结合所提出的方法实现了模糊测试工具DSClient Fuzz,快照管理模块用于保存DLMS/COSEM协议客户端运行状态,降低测试过程大量连接建立的开销。最后,实验结果表明DSClient Fuzz相较于AFLNET、e Fuzz能够获得更高的代码覆盖率和更多的唯一crash次数,证明了DSClient Fuzz能够对DLMS/COSEM协议客户端有效地进行模糊测试。
(2)提出了一种面向DLMS/COSEM协议栈的模糊测试方法,提出了一种基于状态序列的DLMS/COSEM协议状态的变异算法,该变异算法能对DLMS/COSEM协议状态序列进行基于状态的变异。本文还实现了协议状态机相关模块,能够从真实通信流量中构建协议状态机并对协议状态机进行更新等操作,并实现了模糊测试框架DSFuzz Framework。最后,实验结果表明DSFuzz Framework发现了DLMS/COSEM协议栈的1个非标准状态,证明了DSFuzz Framework能够对运行在不同通信配置文件上的DLMS/COSEM协议栈进行模糊测试的有效性。
(3)提出了一种面向数据库管理系统的模糊测试方法并实现了模糊测试工具DBMSFuzz。提出了一种基于解析树的SQL语句变异算法,该变异算法能够对SQL语句方言进行结构感知的变异,使得变异后SQL语句仍然符合待测数据库管理系统所支持的SQL方言。最后,我们发现了某开源Web应用中存在的2个CVE漏洞。