当前位置: 首页 > 专利查询>天津大学专利>正文

一种信息物理系统软件致错输入生成方法技术方案

技术编号:36348059 阅读:9 留言:0更新日期:2023-01-14 18:02
本发明专利技术公开一种信息物理系统软件致错输入生成方法,包括:S1.给定一个CPS作为待测试对象,读取CPS的当前状态输出,并根据当前状态输出以及给定CPS的输入动作空间,通过深度强化学习智能体产生相应的输入动作;S2.将输入动作输入至CPS,CPS根据输入动作执行相应的内部指令,得到下一时刻CPS的状态输出;并根据相应的致错阈值判断状态输出是否为致错状态,致错状态指状态输出超出阈值;同时根据下一时刻CPS的状态输出计算总奖励;S3.将CPS当前状态,输入动作、下一时刻状态输出以及相应的总奖励存入经验回放区;经验回放区大小超过限定值时,训练深度强化学习智能体并与CPS交互,持续训练深度强化学习智能体,直到CPS达到目标的致错状态或者超出时间限制。致错状态或者超出时间限制。致错状态或者超出时间限制。

【技术实现步骤摘要】
一种信息物理系统软件致错输入生成方法


[0001]本专利技术属于软件测试领域,涉及一种信息物理系统(CPS)软件测试方法,尤其是涉及一种基于深度强化学习模型的CPS软件致错输入生成方法。

技术介绍

[0002]信息物理系统(Cyber Physical System,CPS)是通过计算元素和物理组件的无缝整合而建立起的工程系统
[1]。现如今,CPS被广泛应用于安全性至上的领域和重要的城市基础设施中,如自动驾驶汽车、医疗监测、水处理系统和智能电网等
[2]。它们在遭受重大破坏后往往会导致严重后果,因此这些系统引起了网络攻击者的极大关注。近年来,已经有大量成功的攻击案例被报道出来
[3

5]。
[0003]CPS所面临的巨大威胁激发了CPS测试
[6],[7]、攻击和防御方法
[8

11]等研究的发展。针对这些研究工作,其中的一个核心问题是生成测试套件来发现CPS中的缺陷和漏洞。研究的难点一方面在于CPS中的不安全状态通常具有稀疏性,很难到达;另一方面,CPS只有接收一组特定的输入序列才能发现其中的故障。造成这些研究难点的原因,一方面在于CPS自身属于复杂系统,其内部逻辑结构繁杂;另一方面,部分CPS输入动作空间维度较高,巨大的动作空间难以开展有效的致错输入搜索。
[0004]CPS接收动作空间中的动作作为输入,依据内部机制执行动作后生成新的环境状态作为输出。依据动作空间类型划分,CPS可以分为离散动作空间CPS和连续动作空间CPS。对于离散动作空间CPS,现有的一些方法采用学习和反馈引导的模糊测试技术
[7],[12]来探索潜在的CPS致错输入。模糊测试技术通过突变来获得离散的CPS输入,并通过用历史数据训练
[12]或用在线观察的数据包加强
[7]得到的机器学习模型来选择潜在的致错输入,这类方法需要一个预先训练好的模型。针对连续动作空间CPS,可将致错输入生成问题纳入优化问题,并采用不同的优化策略。例如,借助模拟退火
[13],遗传算法
[14],梯度下降
[15],交叉熵
[16],和高斯回归
[17

19]等算法来寻找解决方案。Yamagata等人
[20]首次提出使用深度强化学习来搜索致错的输入。他们对三种CPS模型的评估结果表明,两种深度强化学习模型(即DDQN模型
[21]和A3C模型
[22]),在所有模型上的表现都优于现有的优化方法,但在一个模型上却比随机策略差。
[0005]考虑到CPS有不同的动作空间,即离散的或连续的,而现有的方法都没有同时考虑这两种动作空间类型。模糊测试方法的目标是离散的动作空间,并且需要系统日志或网络数据包来训练一个预测模型,但是这些数据并不总是可用的(例如,第三方CPS会对日志和网络数据包保密)。而优化的方法在不同的CPS上表现出不稳定的成功率。
[0006]在强化学习中,可将CPS等具有感知与动作的系统作为环境,并通过与环境的交互来训练强化学习智能体搜索最优动作的策略。然而当动作空间维度变得很高时,使用传统的强化学习解决问题会变得比较困难。深度强化学习结合了深度学习的高维信息感知能力与强化学习的决策规划能力,针对高维离散动作的感知与生成这一挑战性任务具有较好的解决能力。DDQN算法和A3C算法是经典的深度强化学习算法,但其仍具有难以主动探索新状
态的缺陷。

技术实现思路

[0007]本专利技术的目的是为了克服现有技术中CPS测试领域的不足,针对CPS软件输入动作空间类型多样的问题,提供一种基于深度强化学习的CPS致错输入生成的方法,该方法针对离散动作空间CPS和连续动作空间CPS提供一个统一的解决方案,有助于提升CPS软件测试的效率与效果。
[0008]本专利技术的目的是通过以下技术方案实现的:
[0009]一种信息物理系统软件致错输入生成方法,包括:
[0010]S1.给定一个信息物理系统CPS作为待测试对象,读取CPS的当前状态输出,并根据当前状态输出以及给定CPS的输入动作空间,通过深度强化学习智能体产生相应的输入动作;所述深度强化学习智能体包括DDPG模型和RND模型;
[0011]S2.将输入动作输入至CPS,CPS根据输入动作执行相应的内部指令,从而得到下一时刻CPS的状态输出;并根据相应的致错阈值判断状态输出是否为致错状态,致错状态指状态输出超出阈值;同时根据下一时刻CPS的状态输出计算总奖励;
[0012]S3.将CPS当前状态,输入动作、下一时刻状态输出以及相应的总奖励作为一条数据存入经验回放区;当循环迭代过程中,经验回放区大小超过限定值时,开始训练深度强化学习智能体;使用训练后的深度强化学习智能体继续与CPS交互,保持持续训练深度强化学习智能体,直到CPS达到目标的致错状态或者超出时间限制。
[0013]进一步的,所述DDPG模型包括经验回放区单元、动作者单元中和评判者单元;所述动作者单元由估计动作者网络、目标动作者网络、动作者优化器构成,评判者单元由估计评判者网络、目标评判者网络、评判者优化器构成;RND模型包括预测网络、目标网络、RND模型优化器;所述估计动作者网络、估计评判者网络、预测网络、目标网络均通过随机生成初始化参数;目标动作者网络是由估计动作者网络完全复制而得,二者网络结构与参数完全一致;目标评判者网络是由估计评判者网络完全复制而得,二者网络结构与参数完全一致。
[0014]进一步的,所述输入动作空间包括离散动作空间和连续动作空间;针对连续动作空间的CPS,使用DDPG模型作为搜索模型生成连续动作空间中的连续空间动作,同时使用RND模型进一步增强生成致错输入;
[0015]针对离散动作空间的CPS,使用DDPG模型与K最近邻算法结合作为搜索模型,K最近邻算法用于将连续空间动作映射到离散空间动作,实现了对离散空间动作的生成,同时使用RND模型进一步增强生成致错输入。
[0016]进一步的,将连续空间动作映射到离散空间动作的过程,包括:
[0017](1)深度强化学习智能体中的DDPG模型通过动作者单元中的估计动作者网络直接生成初始连续空间动作;
[0018](2)以生成的初始连续空间动作为中心,寻找与之距离最小的k个近邻候选动作形成候选动作集,候选动作集属于离散动作空间;
[0019](3)将候选动作集中的k个近邻候选动作分别送入估计评判者网络进行评判,选取得分最高的候选动作作为选定的离散空间动作,以此完成将初始连续空间动作映射到选定的离散空间动作。
[0020]进一步的,所述总奖励包括外部奖励和内部奖励,外部奖励反映了CPS当前所处状态与可能致错的不安全状态之间的距离;内部奖励反映了CPS当前所处状态在所有状态中的新颖程度,即尚未被探索到的未知状态的程度。
[0021]进一步的,所述总奖励的计算公式如下:
[0022]r...

【技术保护点】

【技术特征摘要】
1.一种信息物理系统软件致错输入生成方法,其特征在于,包括:S1.给定一个信息物理系统CPS作为待测试对象,读取CPS的当前状态输出,并根据当前状态输出以及给定CPS的输入动作空间,通过深度强化学习智能体产生相应的输入动作;所述深度强化学习智能体包括DDPG模型和RND模型;S2.将输入动作输入至CPS,CPS根据输入动作执行相应的内部指令,从而得到下一时刻CPS的状态输出;并根据相应的致错阈值判断状态输出是否为致错状态,致错状态指状态输出超出阈值;同时根据下一时刻CPS的状态输出计算总奖励;S3.将CPS当前状态,输入动作、下一时刻状态输出以及相应的总奖励作为一条数据存入经验回放区;当循环迭代过程中,经验回放区大小超过限定值时,开始训练深度强化学习智能体;使用训练后的深度强化学习智能体继续与CPS交互,保持持续训练深度强化学习智能体,直到CPS达到目标的致错状态或者超出时间限制。2.根据权利要求1所述的一种信息物理系统软件致错输入生成方法,其特征在于,所述DDPG模型包括经验回放区单元、动作者单元中和评判者单元;所述动作者单元由估计动作者网络、目标动作者网络、动作者优化器构成,评判者单元由估计评判者网络、目标评判者网络、评判者优化器构成;RND模型包括预测网络、目标网络、RND模型优化器;所述估计动作者网络、估计评判者网络、预测网络、目标网络均通过随机生成初始化参数;目标动作者网络是由估计动作者网络完全复制而得,二者网络结构与参数完全一致;目标评判者网络是由估计评判者网络完全复制而得,二者网络结构与参数完全一致。3.根据权利要求1或2所述的一种信息物理系统软件致错输入生成方法,其特征在于,所述输入动作空间包括离散动作空间和连续动作空间;针对连续动作空间的CPS,使用DDPG模型作为搜索模型生成连续动作空间中的连续空间动作,同时使用RND模型进一步增强生成致错输入;针对离散动作空间的CPS,使用DDPG模型与K最近邻算法结合作为搜索模型,K最近邻算法用于将连续空间动作映射到离散空间动作,实现了对离散空间动作的生成,同时使用RND模型进一步增强生成致错输入。4.根据权利要求3所述的一种信息物理系统软件致错输入生成方法,其特征在于,将连续空间动作映射到离散空间动作的过程,包括:(1)深度强化学习智能体中的DDPG模型通过动作者单元中的估计动作者网络直接生成初始连续空间动作;(2)以生成的初始连续空间动作为中心,寻找与之距离最小的k个近邻候选动作形成候选动作集,候选动作集属于离散动作空间;(3)将候选动作集中的k个近邻候选动作分别送入估计评判者网络进行评判,选取得分最高的候选动作作为选定的离散空间动作,以此完成将初始连续空间动作映射到选定的离散空间动作。5.根据权利要求1所述的一种信息物理系统软件致错输入生成方法,其特征在于,所述总奖励包括外部奖励和内部奖励,外部奖励反映了CPS当前所处状态与可能致错的不安全状态之间的距离;内部奖励反映了CPS当前所处状态在所有状态中的新颖程度,即尚未被探索到的未知状态的程度。6.根据权利要求1或5所述的一种信息物理系统软件致错输入生成方法,其特征在于,
所述总奖励的计算公式如下:r
t
=in
r
*in
w
+ext
r
*ext
w
其中,r
t
表示t时刻的总奖励,in
r
与ext
r
分别为内部奖励与外部奖励,in
w
与ext
w
分别为预先设定的内部奖励权重与外部奖励权重;外部奖励ext
r
公式如下:ext
r
=distance(stat...

【专利技术属性】
技术研发人员:刘爽张劭华刘江山
申请(专利权)人:天津大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1