Clear Sky Science · zh
通过生成对抗网络实现安全的多方测试用例数据生成
更智能的软件测试为何重要
现代工厂、电网和工业现场依赖复杂的软件通过数字网络精确通信。两套系统在消息交换上的一个小错误,就可能导致设备故障、安全事故或网络攻击。然而,用于发现这些隐蔽缺陷的测试数据通常分散在多个组织手中,并受制于隐私规则与商业保密。本文提出了一种新方法,使公司能够在不共享原始敏感数据的前提下,共同生成有力的测试用例。

互联世界中测试的挑战
传统软件测试工具设计于更简单的时代,当时一个团队通常掌控大部分代码和数据。如今的工业网络则截然不同:来自多个厂商的设备按严格的通信协议互连,分布在工厂、公用事业和供应商之间。每个组织只看到部分流量,法律或合同往往禁止它们合并日志。因此,孤立构建的测试套件可能错过那些仅在不同所有者系统交互时才出现的罕见消息组合。现有的隐私保护工具通过模糊或移除敏感字段也难以奏效:如果对协议数据“泛化”过度,消息就不再有效,无法用于真实的测试。
协作但以隐私为先的测试框架
研究人员提出了 FAT-CG,这一框架允许多方在保密其详细协议跟踪记录的同时,共同训练一个测试数据生成器。在本地,每个参与方清洗并匿名化其数据,然后将其输入到自编码器——一种将消息压缩为紧凑数值摘要的神经网络。这些摘要足够丰富以保留工业协议的语法和结构,但不再暴露原始地址或专有数值。组织不是传输日志,而仅共享加密的模型更新。中心协调者使用特殊的密码学技术(同态加密)和精心添加的噪声(差分隐私)将这些更新合并为更强的共享模型,同时无法重建任何参与者的原始流量。
教机器生成强有力的测试用例
FAT-CG 的核心是生成对抗网络(GAN),由一对相互竞争的神经网络组成。一个网络(生成器)试图生成新的协议消息;另一个(判别器)试图区分真实消息与伪造消息。随着时间推移,这场对抗推动生成器学习有效消息结构中的细微模式。FAT-CG 加入了另一层机制:使用协议规则的形式化描述来检验每条生成的消息,并在训练中对违规行为施以惩罚。这样可以保持合成流量既逼真又多样。系统以循环方式运行:生成的消息在沙箱中对模拟的工业设备发起测试。任何触发崩溃、内存泄漏或异常响应的用例都会被反馈回训练过程,促使生成器朝着更有希望的搜索空间区域改进。

真实测试中的隐私、速度与缺陷发现
团队在包括 Modbus-TCP 和 OPC UA 在内的若干常见工业协议上测试了 FAT-CG,采用了包含多个边缘设备和一台中心服务器的现实部署。与现有的模糊测试工具和更简单的联邦学习方法相比,该新方法生成的测试消息在超过 90% 的情况下遵守协议规则,并且每千次测试发现的异常数量接近三倍。同时,其多层防护大幅降低了攻击者从共享模型更新重构训练数据的风险。通过在加密前将协议特征压缩为小而结构化的编码,系统还将通信开销削减了近三十倍,缩短了训练轮次,使其在带宽受限的工业网络中也变得可行。
这对关键系统意味着什么
通俗地说,这项工作表明运营关键基础设施的公司无需在保护数据隐私和彻底测试系统之间作出选择。FAT-CG 为多方汇聚关于真实网络行为的知识提供了一种方式,而无需交出敏感日志。其结果是一个更善于“讲述”工业设备语言、也更能触发危险边缘情形的共享测试生成器——正是那类能够在问题导致停机或事故前捕获漏洞的工具。尽管该研究聚焦于工业协议,但相同思路也可应用于其他敏感领域,如医疗或金融,在这些领域组织需要在不牺牲机密性的前提下协作提升安全性与可靠性。
引用: Wang, Z., Zhao, L., Meng, F. et al. Secure multi-party test case data generation through generative adversarial networks. Sci Rep 16, 5085 (2026). https://doi.org/10.1038/s41598-026-35773-2
关键词: 工业软件测试, 联邦学习, 生成对抗网络, 隐私保护的人工智能, 网络协议模糊测试