自适应调参的方法、装置、计算机设备及存储介质转让专利

申请号 : CN202410066381.7

文献号 : CN117593095B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐潇

申请人 : 苏州元脑智能科技有限公司

摘要 :

本发明涉及参数配置技术领域,公开了自适应调参的方法、装置、计算机设备及存储介质,该方法包括:确定需要配置的至少一个待定参数;为待定参数进行赋值,形成相应的配置状态;不同配置状态的至少一个待定参数的数值不同;基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态;奖励值为结合功能需求影响程度和安全需求影响程度所确定的值;将目标配置状态作为待定参数的推荐配置。本发明将不同数值的待定参数作为相应的配置状态,可以基于强化学习逐步更新配置状态,最终确定符合功能需求和安全需求的目标配置状态。这种配置方式能够降低设计者个人经验的影响,配置参数具有较高的可靠性。

权利要求 :

1.一种自适应调参的方法,其特征在于,所述方法包括:确定需要配置的至少一个待定参数;所述待定参数包括:密码输入的允许错误次数、用户的锁定时间、最大用户在线人数、最大管理员在线人数、密码最小要求长度、密码复杂程度中的至少一种;

为所述待定参数进行赋值,形成相应的配置状态;不同配置状态的至少一个所述待定参数的数值不同;

基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态;所述奖励值为结合功能需求影响程度和安全需求影响程度所确定的值;

将所述目标配置状态作为所述待定参数的推荐配置;

其中,所述基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态,包括:循环执行更新配置状态的操作,直至更新后的配置状态符合功能需求和安全需求;

所述更新配置状态的操作包括:

调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态;

确定每个所述待定配置状态的奖励值;

根据所述待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态;

所述方法还包括:预先生成行为模拟脚本;

所述确定每个所述待定配置状态的奖励值,包括:

根据所述行为模拟脚本模拟在所述待定配置状态下的行为,确定与功能需求相关的用户成本以及与安全需求相关的攻击成本;

根据所述待定配置状态的用户成本确定功能需求影响程度,根据所述待定配置状态的攻击成本确定安全需求影响程度;

结合所述待定配置状态的功能需求影响程度和安全需求影响程度,确定相应的奖励值;

其中,所述根据所述待定配置状态的用户成本确定功能需求影响程度,根据所述待定配置状态的攻击成本确定安全需求影响程度,包括:确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一变化量;

确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二变化量;

根据所述第一变化量确定所述待定配置状态的功能需求影响程度,根据所述第二变化量确定所述待定配置状态的安全需求影响程度;

所述根据所述第一变化量确定所述待定配置状态的功能需求影响程度,根据所述第二变化量确定所述待定配置状态的安全需求影响程度,包括:确定产生所述用户成本的第一模拟行为,以及产生所述攻击成本的第二模拟行为;所述第一模拟行为和所述第二模拟行为是所述行为模拟脚本所模拟的行为;

确定所述第一模拟行为对系统造成的第一行为影响,并确定所述第一行为影响所对应的第一影响系数;

确定所述第二模拟行为对系统造成的第二行为影响,并确定所述第二行为影响所对应的第二影响系数;

根据所述第一变化量和所述第一影响系数确定所述待定配置状态的功能需求影响程度,根据所述第二变化量和所述第二影响系数确定所述待定配置状态的安全需求影响程度。

2.根据权利要求1所述的方法,其特征在于,所述调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态,包括:对于每一个待定参数,分别对当前配置状态中一个待定参数的数值进行调整,形成多个不同的待定配置状态。

3.根据权利要求2所述的方法,其特征在于,所述分别对当前配置状态中一个待定参数的数值进行调整,形成多个不同的待定配置状态,包括:在当前配置状态中待定参数数值的基础上,按照预设步长增大或减小所述当前配置状态中一个待定参数的数值,形成多个不同的待定配置状态。

4.根据权利要求1所述的方法,其特征在于,所述确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一变化量,包括:确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一差值;

对所述第一差值进行归一化处理,生成第一变化量;

所述确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二变化量,包括:确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二差值;

对所述第二差值进行归一化处理,生成第二变化量。

5.根据权利要求4所述的方法,其特征在于,所述对所述第一差值进行归一化处理,生成第一变化量,包括:将所述第一差值与所述当前配置状态的用户成本之间的比值,作为第一变化量;

所述对所述第二差值进行归一化处理,生成第二变化量,包括:将所述第二差值与所述当前配置状态的攻击成本之间的比值,作为第二变化量。

6.根据权利要求1所述的方法,其特征在于,所述确定所述第一行为影响所对应的第一影响系数,包括:确定所述第一行为影响所对应的第一基本影响系数,并根据所述第一模拟行为的执行频率确定相应的第一状态因子;

根据所述第一基本影响系数和所述第一状态因子确定第一影响系数;

所述确定所述第二行为影响所对应的第二影响系数,包括:确定所述第二行为影响所对应的第二基本影响系数,并根据所述第二模拟行为的执行频率确定相应的第二状态因子;

根据所述第二基本影响系数和所述第二状态因子确定第二影响系数。

7.根据权利要求6所述的方法,其特征在于,所述根据所述第一基本影响系数和所述第一状态因子确定第一影响系数,包括:将所述第一基本影响系数与所述第一状态因子之和作为第一影响系数;

或者,所述第一状态因子不小于1,且将所述第一基本影响系数与所述第一状态因子的乘积作为第一影响系数;

所述根据所述第二基本影响系数和所述第二状态因子确定第二影响系数,包括:将所述第二基本影响系数与所述第二状态因子之和作为第二影响系数;

或者,所述第二状态因子不小于1,且将所述第二基本影响系数与所述第二状态因子的乘积作为第二影响系数。

8.根据权利要求1所述的方法,其特征在于,所述行为模拟脚本包括:正常行为模拟脚本和攻击行为模拟脚本;

所述第一模拟行为是所述正常行为模拟脚本所模拟的行为;

所述第二模拟行为是所述攻击行为模拟脚本所模拟的行为。

9.根据权利要求8所述的方法,其特征在于,所述预先生成行为模拟脚本,包括:收集系统日志中的操作行为,生成用于自动重复所述操作行为的正常行为模拟脚本;

生成用于自动重复攻击行为的攻击行为模拟脚本。

10.根据权利要求1所述的方法,其特征在于,还包括:在任意所述待定配置状态的奖励值均不超过零的情况下,确定所述当前配置状态符合功能需求和安全需求。

11.根据权利要求1所述的方法,其特征在于,所述结合所述待定配置状态的功能需求影响程度和安全需求影响程度,确定相应的奖励值,包括:确定从所述当前配置状态调整至所述待定配置状态,功能需求是否属于正向激励,以及安全需求是否属于正向激励;

在功能需求属于正向激励的情况下,确定与所述功能需求影响程度之间为正相关关系的奖励值;在安全需求属于正向激励的情况下,确定与所述安全需求影响程度之间为正相关关系的奖励值。

12.根据权利要求11所述的方法,其特征在于,

功能需求属于正向激励的情况包括:从所述当前配置状态调整至所述待定配置状态,减少了正常用户锁定的次数、减少了正常用户等待的时间、减少了用户忘记密码的期望、减少了用户无法建立连接的期望中的至少一种;

安全需求属于正向激励的情况包括:从所述当前配置状态调整至所述待定配置状态,增加了行为模拟脚本的等待时间、增加了行为模拟脚本的等待次数、增加了待测密码池范围、增加了登录限制中的至少一种。

13.根据权利要求1所述的方法,其特征在于,所述根据所述待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态,包括:在更新轮次小于预设数值的情况下,根据所述待定配置状态的奖励值确定所述待定配置状态被选为下一配置状态的选取概率,并按照所述选取概率选取其中一个待定配置状态更新为下一配置状态;其中,所述待定配置状态的奖励值越高,被选为下一配置状态的选取概率越大;

在更新轮次大于预设数值的情况下,选取奖励值最大的待定配置状态更新为下一配置状态。

14.根据权利要求1所述的方法,其特征在于,所述为所述待定参数进行赋值,形成相应的配置状态,包括:响应于用户触发的设置操作,为所述待定参数设置初始值,形成初始配置状态。

15.一种自适应调参的装置,其特征在于,所述装置包括:确定模块,用于确定需要配置的至少一个待定参数;所述待定参数包括:密码输入的允许错误次数、用户的锁定时间、最大用户在线人数、最大管理员在线人数、密码最小要求长度、密码复杂程度中的至少一种;

赋值模块,用于为所述待定参数进行赋值,形成相应的配置状态;不同配置状态的至少一个所述待定参数的数值不同;

强化学习模块,用于基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态;所述奖励值为结合功能需求影响程度和安全需求影响程度所确定的值;

推荐模块,用于将所述目标配置状态作为所述待定参数的推荐配置;

其中,所述强化学习模块基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态,包括:循环执行更新配置状态的操作,直至更新后的配置状态符合功能需求和安全需求;

所述更新配置状态的操作包括:

调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态;

确定每个所述待定配置状态的奖励值;

根据所述待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态;

所述装置还包括脚本模块,用于预先生成行为模拟脚本;

所述强化学习模块确定每个所述待定配置状态的奖励值,包括:根据所述行为模拟脚本模拟在所述待定配置状态下的行为,确定与功能需求相关的用户成本以及与安全需求相关的攻击成本;

根据所述待定配置状态的用户成本确定功能需求影响程度,根据所述待定配置状态的攻击成本确定安全需求影响程度;

结合所述待定配置状态的功能需求影响程度和安全需求影响程度,确定相应的奖励值;

所述强化学习模块根据所述待定配置状态的用户成本确定功能需求影响程度,根据所述待定配置状态的攻击成本确定安全需求影响程度,包括:确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一变化量;

确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二变化量;

根据所述第一变化量确定所述待定配置状态的功能需求影响程度,根据所述第二变化量确定所述待定配置状态的安全需求影响程度;

其中,所述强化学习模块根据所述第一变化量确定所述待定配置状态的功能需求影响程度,根据所述第二变化量确定所述待定配置状态的安全需求影响程度,包括:确定产生所述用户成本的第一模拟行为,以及产生所述攻击成本的第二模拟行为;所述第一模拟行为和所述第二模拟行为是所述行为模拟脚本所模拟的行为;

确定所述第一模拟行为对系统造成的第一行为影响,并确定所述第一行为影响所对应的第一影响系数;

确定所述第二模拟行为对系统造成的第二行为影响,并确定所述第二行为影响所对应的第二影响系数;

根据所述第一变化量和所述第一影响系数确定所述待定配置状态的功能需求影响程度,根据所述第二变化量和所述第二影响系数确定所述待定配置状态的安全需求影响程度。

16.一种计算机设备,其特征在于,包括:

存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至14中任一项所述的自适应调参的方法。

17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至14中任一项所述的自适应调参的方法。

说明书 :

自适应调参的方法、装置、计算机设备及存储介质

技术领域

[0001] 本发明涉及参数配置技术领域,具体涉及自适应调参的方法、装置、计算机设备及存储介质。

背景技术

[0002] 在设计系统或产品时,往往需要选择或配置各种各样的参变量,而在这个过程中,出现了两个存在矛盾但是需要兼顾的点:功能需求和安全性。其中,安全性的提高往往伴随着用户体验降低,即功能需求降低;而功能需求的提升也会不可避免地导致部分安全性的损失。如何平衡二者,是困扰各个产品设计和研发工程师的长期问题。
[0003] 目前,主要依赖于设计师的个人经验,预估并配置相应的参数。这种设计方式一般只能把控系统设计的大方向,而对于参数的选择可能已经严重的偏离了实际情况,故传统的纯靠预估和经验的设计存在很高的偏差可能性。

发明内容

[0004] 有鉴于此,本发明提供了一种自适应调参的方法、装置、计算机设备及存储介质,以解决现有配置参数偏差较大的问题。
[0005] 第一方面,本发明提供了一种自适应调参的方法,包括:确定需要配置的至少一个待定参数;为所述待定参数进行赋值,形成相应的配置状态;不同配置状态的至少一个所述待定参数的数值不同;基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态;所述奖励值为结合功能需求影响程度和安全需求影响程度所确定的值;将所述目标配置状态作为所述待定参数的推荐配置。
[0006] 本发明将不同数值的待定参数作为相应的配置状态,并确定配置状态下的功能需求影响程度和安全需求影响程度,基于此确定每个配置状态对应的奖励值,从而可以基于强化学习逐步更新配置状态,最终确定符合功能需求和安全需求的目标配置状态,实现对待定参数的自适应配置。这种配置方式不依赖于设计者的主观判断,能够降低设计者个人经验的影响,所确定的参数可以兼顾产品本身的安全需求和用户使用的功能需求,配置参数具有较高的可靠性。
[0007] 在一些可选的实施方式中,所述基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态,包括:循环执行更新配置状态的操作,直至更新后的配置状态符合功能需求和安全需求;所述更新配置状态的操作包括:调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态;确定每个所述待定配置状态的奖励值;根据所述待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态。
[0008] 本发明在当前配置状态的基础上确定多个待定配置状态,并从中选取出合适的下一配置状态,实现更新配置状态,且可以使得更新后的配置状态更容易符合功能需求和安全需求。
[0009] 在一些可选的实施方式中,所述调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态,包括:对于每一个待定参数,分别对当前配置状态中一个待定参数的数值进行调整,形成多个不同的待定配置状态。
[0010] 在一些可选的实施方式中,所述分别对当前配置状态中一个待定参数的数值进行调整,形成多个不同的待定配置状态,包括:在当前配置状态中待定参数数值的基础上,按照预设步长增大或减小所述当前配置状态中一个待定参数的数值,形成多个不同的待定配置状态。
[0011] 在一些可选的实施方式中,该方法还包括:预先生成行为模拟脚本;所述确定每个所述待定配置状态的奖励值,包括:根据所述行为模拟脚本模拟在所述待定配置状态下的行为,确定与功能需求相关的用户成本以及与安全需求相关的攻击成本;根据所述待定配置状态的用户成本确定功能需求影响程度,根据所述待定配置状态的攻击成本确定安全需求影响程度;结合所述待定配置状态的功能需求影响程度和安全需求影响程度,确定相应的奖励值。
[0012] 在一些可选的实施方式中,所述根据所述待定配置状态的用户成本确定功能需求影响程度,根据所述待定配置状态的攻击成本确定安全需求影响程度,包括:确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一变化量;确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二变化量;根据所述第一变化量确定所述待定配置状态的功能需求影响程度,根据所述第二变化量确定所述待定配置状态的安全需求影响程度。
[0013] 在一些可选的实施方式中,所述确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一变化量,包括:确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一差值;对所述第一差值进行归一化处理,生成第一变化量;所述确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二变化量,包括:确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二差值;对所述第二差值进行归一化处理,生成第二变化量。
[0014] 在一些可选的实施方式中,所述对所述第一差值进行归一化处理,生成第一变化量,包括:将所述第一差值与所述当前配置状态的用户成本之间的比值,作为第一变化量;所述对所述第二差值进行归一化处理,生成第二变化量,包括:将所述第二差值与所述当前配置状态的攻击成本之间的比值,作为第二变化量。
[0015] 在一些可选的实施方式中,所述根据所述第一变化量确定所述待定配置状态的功能需求影响程度,根据所述第二变化量确定所述待定配置状态的安全需求影响程度,包括:确定产生所述用户成本的第一模拟行为,以及产生所述攻击成本的第二模拟行为;所述第一模拟行为和所述第二模拟行为是所述行为模拟脚本所模拟的行为;确定所述第一模拟行为对系统造成的第一行为影响,并确定所述第一行为影响所对应的第一影响系数;确定所述第二模拟行为对系统造成的第二行为影响,并确定所述第二行为影响所对应的第二影响系数;根据所述第一变化量和所述第一影响系数确定所述待定配置状态的功能需求影响程度,根据所述第二变化量和所述第二影响系数确定所述待定配置状态的安全需求影响程度。
[0016] 在一些可选的实施方式中,所述确定所述第一行为影响所对应的第一影响系数,包括:确定所述第一行为影响所对应的第一基本影响系数,并根据所述第一模拟行为的执行频率确定相应的第一状态因子;根据所述第一基本影响系数和所述第一状态因子确定第一影响系数;所述确定所述第二行为影响所对应的第二影响系数,包括:确定所述第二行为影响所对应的第二基本影响系数,并根据所述第二模拟行为的执行频率确定相应的第二状态因子;根据所述第二基本影响系数和所述第二状态因子确定第二影响系数。
[0017] 在一些可选的实施方式中,所述根据所述第一基本影响系数和所述第一状态因子确定第一影响系数,包括:将所述第一基本影响系数与所述第一状态因子之和作为第一影响系数;或者,所述第一状态因子不小于1,且将所述第一基本影响系数与所述第一状态因子的乘积作为第一影响系数;所述根据所述第二基本影响系数和所述第二状态因子确定第二影响系数,包括:将所述第二基本影响系数与所述第二状态因子之和作为第二影响系数;或者,所述第二状态因子不小于1,且将所述第二基本影响系数与所述第二状态因子的乘积作为第二影响系数。
[0018] 在一些可选的实施方式中,所述行为模拟脚本包括:正常行为模拟脚本和攻击行为模拟脚本;所述第一模拟行为是所述正常行为模拟脚本所模拟的行为;所述第二模拟行为是所述攻击行为模拟脚本所模拟的行为。
[0019] 在一些可选的实施方式中,所述预先生成行为模拟脚本,包括:收集系统日志中的操作行为,生成用于自动重复所述操作行为的正常行为模拟脚本;生成用于自动重复攻击行为的攻击行为模拟脚本。
[0020] 在一些可选的实施方式中,该方法还包括:在任意所述待定配置状态的奖励值均不超过零的情况下,确定所述当前配置状态符合功能需求和安全需求。
[0021] 在一些可选的实施方式中,所述结合所述待定配置状态的功能需求影响程度和安全需求影响程度,确定相应的奖励值,包括:确定从所述当前配置状态调整至所述待定配置状态,功能需求是否属于正向激励,以及安全需求是否属于正向激励;在功能需求属于正向激励的情况下,确定与所述功能需求影响程度之间为正相关关系的奖励值;在安全需求属于正向激励的情况下,确定与所述安全需求影响程度之间为正相关关系的奖励值。
[0022] 在一些可选的实施方式中,功能需求属于正向激励的情况包括:从所述当前配置状态调整至所述待定配置状态,减少了正常用户锁定的次数、减少了正常用户等待的时间、减少了用户忘记密码的期望、减少了用户无法建立连接的期望中的至少一种;
[0023] 安全需求属于正向激励的情况包括:从所述当前配置状态调整至所述待定配置状态,增加了行为模拟脚本的等待时间、增加了行为模拟脚本的等待次数、增加了待测密码池范围、增加了登录限制中的至少一种。
[0024] 在一些可选的实施方式中,所述根据所述待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态,包括:在更新轮次小于预设数值的情况下,根据所述待定配置状态的奖励值确定所述待定配置状态被选为下一配置状态的选取概率,并按照所述选取概率选取其中一个待定配置状态更新为下一配置状态;其中,所述待定配置状态的奖励值越高,被选为下一配置状态的选取概率越大;在更新轮次大于预设数值的情况下,选取奖励值最大的待定配置状态更新为下一配置状态。本发明在更新轮次小于预设数值时,可以基于概率随机确定下一配置状态,之后的更新轮次再选取奖励值最大的待定配置状态作为下一配置状态,这样能够增加配置状态的多样性,有效避免局部最优。
[0025] 在一些可选的实施方式中,所述为所述待定参数进行赋值,形成相应的配置状态,包括:响应于用户触发的设置操作,为所述待定参数设置初始值,形成初始配置状态。
[0026] 第二方面,本发明提供了一种自适应调参的装置,包括:
[0027] 确定模块,用于确定需要配置的至少一个待定参数;
[0028] 赋值模块,用于为所述待定参数进行赋值,形成相应的配置状态;不同配置状态的至少一个所述待定参数的数值不同;
[0029] 强化学习模块,用于基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态;所述奖励值为结合功能需求影响程度和安全需求影响程度所确定的值;
[0030] 推荐模块,用于将所述目标配置状态作为所述待定参数的推荐配置。
[0031] 第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的自适应调参的方法。
[0032] 第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的自适应调参的方法。

附图说明

[0033] 为了更清楚地说明本发明具体实施方式或相关技术中的技术方案,下面将对具体实施方式或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034] 图1是根据本发明实施例的功能需求与安全需求之间的一种关系;
[0035] 图2是根据本发明实施例的功能需求与安全需求之间的另一种关系;
[0036] 图3是根据本发明实施例的自适应调参的方法的流程示意图;
[0037] 图4是根据本发明实施例的另一自适应调参的方法的流程示意图;
[0038] 图5是根据本发明实施例的强化学习模型部分的功能示意图;
[0039] 图6是根据本发明实施例的再一自适应调参的方法的流程示意图;
[0040] 图7是根据本发明实施例的实现推荐配置的过程示意图;
[0041] 图8是根据本发明实施例的自适应调整锁定时间和允许错误次数的流程示意图;
[0042] 图9是根据本发明实施例的自适应调参的装置的结构框图;
[0043] 图10是本发明实施例的计算机设备的硬件结构示意图。

具体实施方式

[0044] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045] 功能需求和安全需求是相互影响的两个维度,一般情况下,功能需求越高,相应的安全性也越低。例如,为了方便理解和讨论,可以用两个变量来代表这两个维度,用x表示功能需求的影响度(或者说满足度),用y表示安全需求的影响度(或者说满足度)。例如,二者之间的一种简单关系可参见图1所示。如图1所示,二者之间的关系 可以用简单的函数拟合,即 。但实际上,功能需求与安全需求之间的相互影响关系变得复杂时,例如,二者之间的关系如图2所示时,二者整体上呈相反的关系,但这种关系已经无法用明确的数学语言来表达。
[0046] 产品的设计不应该是孤立的,他应该是连续的,存在着多维度关联的。例如内部的关联:每个在用服务与其他服务的异步共存和资源分序共享;外部的关联:用户群在使用往期产品时的日常使用习惯等;而这些多维度因素的影响,都决定了前后代产品的调整方向。
[0047] 目前设计者在处理参数配置的问题时,往往会要求客户提供一些评估数据,例如预估的最大在线人数、预估的硬件资源、预估的使用场景和网络环境等;然后根据客户给出的预估条件,再根据CPU、显卡、内存等硬件资源人工设定一个阈值,例如业务最大内存上限不能超过90%,CPU上限不能超过85%等范围。但由于这种设计方式的有效度高度依赖于客户自身的需求理解和设计师个人的经验,无法全盘考虑整体需求,到时偏差可能比较严重。
[0048] 本发明实施例提供的自适应调参的方法,基于强化学习实现参数的自适应调整,可以兼顾产品本身的安全需求和用户使用的功能需求,且能够降低设计者个人经验的影响,提高所配置参数的可靠性。
[0049] 根据本发明实施例,提供了一种自适应调参的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0050] 在本实施例中提供了一种自适应调参的方法,可用于设计产品的设备,例如终端或服务器等。图3是根据本发明实施例的自适应调参的方法的流程图,如图3所示,该流程包括以下步骤。
[0051] 步骤S301,确定需要配置的至少一个待定参数。
[0052] 本实施例中,该待定参数是会影响功能需求和安全需求的参数。例如,该待定参数包括:密码输入的允许错误次数、用户的锁定时间、最大用户在线人数、最大管理员在线人数、密码最小要求长度、密码复杂程度等等。
[0053] 一般情况下,需要配置多个待定参数,即待定参数的数量一般为多个。
[0054] 步骤S302,为待定参数进行赋值,形成相应的配置状态;不同配置状态的至少一个待定参数的数值不同。
[0055] 本实施例中,配置待定参数的过程,实际上是确定待定参数数值的过程。每个待定参数具有一定的数值范围,其具体可以取不同的数值。其中,将待定参数具有相应数值的状态,称为一个配置状态;并且,不同的配置状态,其中至少一个待定参数的数值不同。
[0056] 例如,需要配置的待定参数包括:用户的锁定时间M和密码输入的允许错误次数N。为锁定时间M和允许错误次数N分别设置相应的数值,则可形成一个配置状态;若改变锁定时间M、错误次数N中的至少一个的数值,则可形成另外一个配置状态。
[0057] 步骤S303,基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态;该奖励值为结合功能需求影响程度和安全需求影响程度所确定的值。
[0058] 如上所述,每个配置状态对应所有待定参数的一种赋值情况,调参的目的即为找到其中一种配置状态,该配置状态下可以比较好地兼顾功能需求和安全需求,为方便描述,将该配置状态称为目标配置状态。本实施例中,基于强化学习确定该目标配置状态。
[0059] 强化学习(Reinforcement Learning, RL):又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境(environment)的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习的一般过程如下:首先定义一个智能体agent,它有一系列的动作(action),将这个动作作用于环境,环境的状态(state)就会发生改变,然后环境改变的同时,agent会收到一个奖励值(reward),然后agent通过对环境的一个感知,也就是状态的输入和这个基于刚才得到的奖励信号,然后对下一步的动作做出决策,如此循环的过程就是强化学习的一个基本过程。
[0060] 本实施例中,需要配置参数的系统或产品所处的环境,可以作为强化学习过程中的环境,将每种配置状态作为相应的状态(state),相应的,动作(action)用于改变配置状态,即更新配置状态的动作。并且,为能够使得最终确定的配置状态能够同时符合功能需求和安全需求,可以确定配置状态下的功能需求影响程度和安全需求影响程度,基于功能需求影响程度和安全需求影响程度建立相应的奖励&惩罚机制,以确定相应的奖励值。
[0061] 具体地,对于当前的配置状态,可以根据不同的动作(action)下所生成的配置状态对环境的影响,以确定相应的奖励值;根据奖励值将该当前的配置状态进行更新,更新为下一个配置状态。如此循环,可以实现对配置状态的逐步更新,使得配置状态的奖励值逐步符合要求,即配置状态逐步能够同时符合功能需求和安全需求,最终确定所需的目标配置状态。
[0062] 其中,该功能需求影响程度为在该配置状态下,能够符合功能需求的程度,该功能需求影响程度越大,说明越符合功能需求;类似的,该安全需求影响程度为在该配置状态下,能够符合安全需求的程度,该安全需求影响程度越大,说明越符合安全需求。可以理解,一般情况下,功能需求影响程度越大,安全需求影响程度越小;本实施例中,需要确定尽可能兼顾二者的目标配置状态,使得该目标配置状态能够同时符合功能需求和安全需求,以能够在功能需求、安全需求存在冲突的情况下,取得能够兼顾功能需求和安全需求的最优解。
[0063] 其中,具体的强化学习算法可以选择Actor‑critic算法、DDPG、PPO等;以Actor‑critic算法为例,Actor和Critic网络可以用平常的神经网络进行构造,推荐可以选择CNN,即卷积神经网络。
[0064] 步骤S304,将目标配置状态作为待定参数的推荐配置。
[0065] 本实施例中,目标配置状态同时符合功能需求和安全需求,其是基于强化学习所确定的最优的配置状态,故可以将该目标配置状态作为待定参数的推荐配置,即推荐按照该目标配置状态对相应的待定参数进行配置。
[0066] 例如,需要配置的待定参数包括:用户的锁定时间M和密码输入的允许错误次数N;若目标配置状态对应的锁定时间M=10min,允许错误次数N=6次,则可生成相应的推荐配置,即建议将用户的锁定时间M设为10分钟,将允许错误次数N设为6次。
[0067] 本实施例提供的自适应调参的方法,将不同数值的待定参数作为相应的配置状态,并确定配置状态下的功能需求影响程度和安全需求影响程度,基于此确定每个配置状态对应的奖励值,从而可以基于强化学习逐步更新配置状态,最终确定符合功能需求和安全需求的目标配置状态,实现对待定参数的自适应配置。这种配置方式不依赖于设计者的主观判断,能够降低设计者个人经验的影响,所确定的参数可以兼顾产品本身的安全需求和用户使用的功能需求,配置参数具有较高的可靠性。
[0068] 在本实施例中提供了一种自适应调参的方法,可用于设计产品的设备,例如终端或服务器等。图4是根据本发明实施例的自适应调参的方法的流程图,如图4所示,该流程包括以下步骤。
[0069] 步骤S401,确定需要配置的至少一个待定参数。
[0070] 其中,详细请参见图3所示实施例的步骤S301,在此不再赘述。
[0071] 步骤S402,为待定参数进行赋值,形成相应的配置状态;不同配置状态的至少一个待定参数的数值不同。
[0072] 其中,详细请参见图3所示实施例的步骤S302,在此不再赘述。
[0073] 可选地,可以人为设定待定参数的初始值,具体地,上述步骤S402“为待定参数进行赋值,形成相应的配置状态”具体可以包括:响应于用户触发的设置操作,为待定参数设置初始值,形成初始配置状态。
[0074] 在基于强化学习确定所需的目标配置状态时,可以随机设置初始值,但此时设置的初始值容易偏离最优值;为能够尽快确定合适的目标配置状态,可以人为自定义待定参数的初始值,即基于人为经验自定义合适的初始值,以加快强化学习的进度。
[0075] 具体地,在初始时,设计者可以自行确定自认为最优的待定参数的数值,并触发相应的设置操作,已待定参数的初始值设置为自认为最优的数值,从而形成该初始配置状态。
[0076] 步骤S403,循环执行更新配置状态的操作,直至更新后的配置状态;其中,强化学习中的奖励值为结合功能需求影响程度和安全需求影响程度所确定的值。
[0077] 本实施例中,按照强化学习的方式,循环执行更新配置状态的操作,从而可以逐步更新得到奖励值符合要求的配置状态。可以理解,若更新后的配置状态不符合功能需求和安全需求,则需要执行该更新配置状态的操作,以对配置状态进行更新;若更新后的配置状态符合功能需求和安全需求,则不需要再进行更新,即不需要再执行该更新配置状态的操作,此时最终确定的配置状态即为目标配置状态。
[0078] 其中,一般会执行多次更新配置状态的操作,即存在多个更新轮次。其中,在每一更新轮次的过程中,所执行的更新配置状态的操作本质上相同。为方便描述,将当前更新轮次中需要被更新的配置状态称为“当前配置状态”,并且,第一个更新轮次中,该当前配置状态为预先设置的初始配置状态。具体地,上述步骤S403中的“更新配置状态的操作”包括以下步骤S4031至步骤S4033。
[0079] 步骤S4031,调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态。
[0080] 本实施例中,若当前配置状态不符合功能需求和安全需求,则在该当前配置状态的基础上,调整其中至少一个待定参数的数值,从而形成与该当前配置状态不同的新的配置状态,为方便描述,将生成的配置状态称为待定配置状态。
[0081] 由于当前配置状态一般包括多个待定参数,且同一待定参数也可被调整至多个不同的数值,故通过对该当前配置状态进行调整,可以生成多个不同的待定配置状态。
[0082] 在一些可选的实施方式中,步骤S4031“调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态”具体包括以下步骤A1。
[0083] 步骤A1,对于每一个待定参数,分别对当前配置状态中一个待定参数的数值进行调整,形成多个不同的待定配置状态。
[0084] 本实施例中,由于待定参数的数量一般为多个,为简化一个更新轮次中的处理,可以只对当前配置状态中一个待定参数,以生成待定配置状态;通过对不同的待定参数进行调整,可以生成不同的待定配置状态。可以理解,该当前配置状态与待定配置状态只有一个待定参数不同。
[0085] 并且,由于待定参数具有一定的取值范围,故将当前配置状态中某个待定参数调整为不同的数值,也可生成多个不同的待定配置状态。
[0086] 可选地,上述步骤A1“分别对当前配置状态中一个待定参数的数值进行调整,形成多个不同的待定配置状态”可以包括以下步骤A11。
[0087] 步骤A11,在当前配置状态中待定参数数值的基础上,按照预设步长增大或减小当前配置状态中一个待定参数的数值,形成多个不同的待定配置状态。
[0088] 本实施例中,对于某个待定参数,按照预设的步长逐渐增加或减小该待定参数,即可改变待定参数的数值,并形成多个与当前配置状态不同的待定配置状态。这种按照步长修改待定参数的方式,可以尽可能全面地生成不同的待定配置状态,以能够从当前配置状态尽可能更新为比较好的下一配置状态。
[0089] 其中,该步长可以是固定的;或者,随着更新轮次的进行,该步长也可以逐渐缩小,直至该步长为待定参数的最小变化单位。例如,待定参数为允许错误次数,可以理解,该允许错误次数为正整数,其最小变化单位为1,故可以将该步长固定为1,或者,也可以在初始的几个更新轮次中,设置偏大的步长,例如步长为4、3等,以能够尽快调整配置状态,在之后的更新轮次中,将步长设为1,即每次对该允许错误次数的数值增加或减小1,以生成多个不同的待定配置状态。
[0090] 步骤S4032,确定每个待定配置状态的奖励值。
[0091] 本实施例中,对于每个待定配置状态,可以分别确定相应的奖励值。具体地,可以确定待定配置状态的功能需求影响程度和安全需求影响程度,进而可以确定其奖励值。
[0092] 步骤S4033,根据待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态。
[0093] 本实施例中,待定配置状态的奖励值越大,说明该待定配置状态越容易符合功能需求和安全需求,故其越应该被作为当前配置状态之后的配置状态,即下一配置状态。例如,可以将奖励值最大的待定配置状态更新为下一配置状态。
[0094] 在一些可选的实施方式中,上述步骤S4033“根据待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态”可以包括以下步骤B1和步骤B2。
[0095] 步骤B1,在更新轮次小于预设数值的情况下,根据待定配置状态的奖励值确定待定配置状态被选为下一配置状态的选取概率,并按照选取概率选取其中一个待定配置状态更新为下一配置状态;其中,待定配置状态的奖励值越高,被选为下一配置状态的选取概率越大。
[0096] 步骤B2,在更新轮次大于预设数值的情况下,选取奖励值最大的待定配置状态更新为下一配置状态。
[0097] 本实施例中,在强化学习的初始阶段,若始终选取奖励值最大的待定配置状态作为下一配置状态,则在初始配置状态偏差较大的情况下,可能进入局部最优,导致最终确定的目标配置状态并不是最优的。因此,在强化学习的初始阶段,即在更新轮次小于预设数值时,可以基于概率随机确定下一配置状态,之后再选取奖励值最大的待定配置状态作为下一配置状态,以增加配置状态的多样性,有效避免局部最优。
[0098] 具体地,若更新轮次小于预设数值,例如,若该预设数值为4,则第1更新轮次、第2更新轮次和第3更新轮次小于该预设阈值,将待定配置状态的奖励值转换为该待定配置状态被选为下一配置状态的选取概率,且该待定配置状态的奖励值越高,被选为下一配置状态的选取概率越大;即,待定配置状态的奖励值越高,其越可能被选为下一配置状态。并且,在选取下一配置状态时,也按照所有待定配置状态的选取概率进行选取。
[0099] 例如,当前存在四个待定配置状态,且其奖励值依次为1、2、3、4,则可以将四个待定配置状态的奖励值转换为相应的选取概率,例如0.1、0.2、0.3、0.4,以使得所有选取概率之和为1,此时基于这四个选取概率进行选取即可。换句话说,第一个待定配置状态有0.1的概率被选为下一配置状态,第二个待定配置状态有0.2的概率被选为下一配置状态,第三个待定配置状态有0.3的概率被选为下一配置状态,第四个待定配置状态有0.4的概率被选为下一配置状态。基于此,每个待定配置状态均可能被选为下一配置状态,只是可能性不同而已,这样可以增加下一配置状态的具体形式,从而增加配置状态的多样性,有效避免局部最优。
[0100] 步骤S404,将目标配置状态作为待定参数的推荐配置。
[0101] 其中,详细请参见图3所示实施例的步骤S304,在此不再赘述。
[0102] 本实施例中,可以建立强化学习模型,基于强化学习模型确定符合功能需求和安全需求的目标配置状态。图5示出了强化学习模型部分的功能示意图,如图5所示,对于输入的配置状态,可以基于预先设定的奖励&惩罚机制确定功能需求影响程度和安全需求影响程度,以使得智慧体尽可能满足功能需求和安全需求;并且,基于预设的调参机制平衡功能需求和安全需求,以使得智慧体达到平衡,最终合适的目标配置状态,实现推荐配置。其中,该智慧体具体可以为执行本实施例自适应调参的方法的算法。
[0103] 其中,基于调参机制所确定平衡策略具体可以包括:
[0104] 策略1:偏向安全需求的策略。例如,满足用户最低要求,即功能需求影响度最低即可;安全需要满足度越高越好。
[0105] 策略2:偏向用户体验的策略,即偏向功能需求的策略。例如,满足安全最低要求,即安全需求影响度最低即可;功能需求影响度越高越好。
[0106] 策略3:无偏向。在当前硬件资源范围内,即正常参数的取值内,功能需求影响度和安全需求影响度的值都越高越好。例如,将两者之和作为奖励值,并确定二者之和的最大值。
[0107] 对于策略1,在大多数的场景中,用户无法给出具体的需求最低限度,因此选择策略1的条件也只能给出一个大概的值和状态,因为很难给出一个特别具体的用户对最低需求的要求;对于策略2,降低对安全的要求显然与目前网络安全环境的要求背道而驰,且如果没有大量的客户方自己的数据积累和安全防护等级,设计者在进行设计时对于具体的参数值也很难给出,因此选择策略2的条件也往往无法具体。故而一般对于设计的策略而言,往往采用的是策略3,本实施例所选取的平衡策略一般也为该策略3。
[0108] 本实施例提供的自适应调参的方法,基于强化学习逐步更新配置状态,最终确定符合功能需求和安全需求的目标配置状态,实现对待定参数的自适应配置;这种配置方式能够降低设计者个人经验的影响,所确定的参数可以兼顾产品本身的安全需求和用户使用的功能需求,配置参数可靠性较高。在当前配置状态的基础上确定多个待定配置状态,并从中选取出合适的下一配置状态,实现对配置状态的更新,且可以使得更新后的配置状态更容易符合功能需求和安全需求。在更新轮次小于预设数值时,可以基于概率随机确定下一配置状态,之后的更新轮次再选取奖励值最大的待定配置状态作为下一配置状态,这样能够增加配置状态的多样性,有效避免局部最优。
[0109] 在本实施例中提供了一种自适应调参的方法,可用于设计产品的设备,例如终端或服务器等。图6是根据本发明实施例的自适应调参的方法的流程图,如图6所示,该流程包括以下步骤。
[0110] 步骤S601,确定需要配置的至少一个待定参数。
[0111] 其中,详细请参见图3所示实施例的步骤S301,在此不再赘述。
[0112] 步骤S602,为待定参数进行赋值,形成相应的配置状态;不同配置状态的至少一个待定参数的数值不同。
[0113] 其中,详细请参见图3所示实施例的步骤S302,在此不再赘述。
[0114] 步骤S603,循环执行更新配置状态的操作,直至更新后的配置状态;其中,强化学习中的奖励值为结合功能需求影响程度和安全需求影响程度所确定的值。
[0115] 具体地,上述步骤S603中的“更新配置状态的操作”包括以下步骤S6031至步骤S6035。
[0116] 步骤S6031,调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态。
[0117] 其中,详细请参见图4所示实施例的步骤S3031,在此不再赘述。
[0118] 步骤S6032,根据行为模拟脚本模拟在待定配置状态下的行为,确定与功能需求相关的用户成本以及与安全需求相关的攻击成本。
[0119] 由于确定功能需求影响程度和安全需求影响程度的过程一般是比较复杂,一般需要结合产品的实际运行情况,导致确定功能需求影响程度和安全需求影响程度的效率较低。本实施例中,预先生成行为模拟脚本,基于该行为模拟脚本确定每种配置状态的奖励值。
[0120] 具体地,用户使用产品的过程中,会存在相应的用户成本,该用户成本与功能需求相关,用户成本越高,则说明越容易降低用户体验,故功能需求的影响程度也越低;类似地,本实施例以攻击成本表示相应的安全需求,攻击产品也需要一定的成本,即攻击成本,攻击成本越高,说明该产品的安全性也高,越能够满足安全需求,其安全需求影响程度也越高。因此,基于用户使用产品的正常操作行为,以及攻击产品的攻击行为,可以确定相应的功能需求影响程度和安全需求影响程度。
[0121] 本实施例中,基于预先生成的行为模拟脚本,可以模拟与功能需求、安全需求相关的行为,例如正常操作行为、攻击行为等,从而可以确定相应的用户成本和攻击成本,进而便于后续确定功能需求影响程度和安全需求影响程度。其中,该行为模拟脚本可以包括:正常行为模拟脚本和攻击行为模拟脚本,基于不同的模拟脚本模拟不同的行为。
[0122] 可选地,上述预先生成行为模拟脚本的过程,具体可以包括:收集系统日志中的操作行为,生成用于自动重复操作行为的正常行为模拟脚本;生成用于自动重复攻击行为的攻击行为模拟脚本。
[0123] 例如,产品或系统运行过程中可以生成一定的系统日志,通过收集原来的1 3年的~系统日志,可以将日志中对系统的操作行为进行复刻,从而转化成一套可重复使用的行为模拟脚本,即正常行为模拟脚本,基于该正常行为模拟脚本模拟用户正常的操作行为,例如登录行为、查询行为等。类似地,可以使用存在攻击行为的系统日志,例如至少2次(2 5次)~
的红队攻击行为期间的系统日志,制作相应的行为模拟脚本,即攻击行为模拟脚本;或者也可以直接使用各类恶意脚本模拟攻击行为。
[0124] 步骤S6033,根据待定配置状态的用户成本确定功能需求影响程度,根据待定配置状态的攻击成本确定安全需求影响程度。
[0125] 本实施例中,如上所述,用户成本与功能需求相关,基于用户成本可以确定相应的功能需求影响程度;类似地,攻击成本与安全需求相关,基于攻击成本可以确定相应的安全需求影响程度。
[0126] 可以理解,用户成本与功能需求影响程度之间为负相关关系,即用户成本越高,功能需求影响程度越小;而攻击成本与安全需求影响程度之间为正相关关系,即攻击成本越高,安全需求影响程度越大。
[0127] 在一些可选的实施方式中,确定奖励值的方式一般只与自身有关,这样在本实施例的场景下,难以体现配置状态之间的关系,本实施例中,基于用户成本、攻击成本确定相应的变化量,以能够更准确地表示在当前配置状态的基础上其他配置状态的奖励值。
[0128] 具体地,上述步骤S6033“根据待定配置状态的用户成本确定功能需求影响程度,根据待定配置状态的攻击成本确定安全需求影响程度”具体可以包括以下步骤C1至步骤C3。
[0129] 步骤C1,确定待定配置状态的用户成本与当前配置状态的用户成本之间的第一变化量。
[0130] 步骤C2,确定待定配置状态的攻击成本与当前配置状态的攻击成本之间的第二变化量。
[0131] 本实施例中,基于攻击模拟脚本除了可以确定待定配置状态的用户成本和攻击成本之外,还可以确定当前配置状态的用户成本和攻击成本。因此,可以确定待定配置状态的用户成本与当前配置状态的用户成本之间的变化情况,从而确定相应的变化量,即第一变化量;相应地,可以确定待定配置状态的安全成本与当前配置状态的安全成本之间的变化情况,从而确定相应的变化量,即第二变化量。
[0132] 例如,基于攻击模拟脚本可以确定当前配置状态的用户成本A0和攻击成本B0,且可以确定待定配置状态的用户成本A1和攻击成本B1,进而可以确定用户成本之差,攻击成本之差 ;可以直接将二者之差作为相应的变化量,即第一变化量为 ,第二变化量为 。
[0133] 可选地,上述步骤C1“确定待定配置状态的用户成本与当前配置状态的用户成本之间的第一变化量”包括以下步骤C11至步骤C12。
[0134] 步骤C11,确定待定配置状态的用户成本与当前配置状态的用户成本之间的第一差值。
[0135] 步骤C12,对第一差值进行归一化处理,生成第一变化量。
[0136] 类似地,上述步骤C2“确定待定配置状态的攻击成本与当前配置状态的攻击成本之间的第二变化量”包括以下步骤C21至步骤C22。
[0137] 步骤C21,确定待定配置状态的攻击成本与当前配置状态的攻击成本之间的第二差值。
[0138] 步骤C22,对第二差值进行归一化处理,生成第二变化量。
[0139] 本实施例中,由于用户成本与攻击成本可能是不同类型的成本,例如,用户成本具体可以是:用户时间成本、用户输入错误密码的次数等,而攻击成本具体可以是:攻击时间成本、攻击次数、攻击所需的密码池范围等。为能够统一第一变化量和第二变化量,本实施例先确定用户成本或攻击成本对应的差值,通过对差值进行归一化处理,使得生成的第一变化量与第二变化量处于统一的量级,便于后续确定的功能需求影响程度和安全需求影响程度形式统一。
[0140] 可选地,上述步骤C12“对第一差值进行归一化处理,生成第一变化量”具体可以包括步骤C121。
[0141] 步骤C121,将第一差值与当前配置状态的用户成本之间的比值,作为第一变化量。
[0142] 上述步骤C22“对第二差值进行归一化处理,生成第二变化量”具体可以包括步骤C221。
[0143] 步骤C221,将第二差值与当前配置状态的攻击成本之间的比值,作为第二变化量。
[0144] 例如,基于攻击模拟脚本可以确定当前配置状态的用户成本A0和攻击成本B0,且可以确定待定配置状态的用户成本A1和攻击成本B1。可以确定,用户成本之间的第一差值;对该第一差值 进行归一化处理,其第一变化量为第一差值 与当前配置状态的用户成本A0之间的比值,即第一变化量为 。类似地,攻击成本之间的第二差值;对该第二差值 进行归一化处理,其第二变化量为第二差值 与当前配
置状态的攻击成本B0之间的比值,即第二变化量为 。
[0145] 本实施例中,基于每个待定配置状态均与当前配置状态进行对比,确定二者之间用户成本、安全成本的变化量,从而可以实现不同待定配置状态的变化量统一。并且,先确定相应的差值,通过对差值进行归一化处理,生成相应的变化量,可以实现对攻击成本和用户成本的统一,即能够统一功能需求影响程度和安全需求影响程度。
[0146] 步骤C3,根据第一变化量确定待定配置状态的功能需求影响程度,根据第二变化量确定待定配置状态的安全需求影响程度。
[0147] 本实施例中,第一变化量能够表示若从当前配置状态调整至该待定配置状态,其功能需求的变化情况,故基于第一变化量可以确定相应的功能需求影响程度。类似地,第二变化量能够表示若从当前配置状态调整至该待定配置状态,其安全需求的变化情况,故基于第二变化量可以确定相应的安全需求影响程度。
[0148] 在一些可选的实施方式中,上述步骤C3“根据第一变化量确定待定配置状态的功能需求影响程度,根据第二变化量确定待定配置状态的安全需求影响程度”包括以下步骤C31至步骤C34。
[0149] 步骤C31,确定产生用户成本的第一模拟行为,以及产生攻击成本的第二模拟行为;第一模拟行为和第二模拟行为是行为模拟脚本所模拟的行为。
[0150] 本实施例中,行为模拟脚本主要涉及两种行为,一种为正常的操作行为,另一种为攻击行为,正常的操作行为可以产生相应的用户成本,而攻击行为会产生相应的攻击成本。其中,若行为模拟脚本包括:正常行为模拟脚本和攻击行为模拟脚本;则可以理解,该第一模拟行为是正常行为模拟脚本所模拟的行为;该第二模拟行为是攻击行为模拟脚本所模拟的行为。
[0151] 具体地,在待定配置状态下,若用户成本是由某一正常行为产生的,则该正常行为即是第一模拟行为;相应地,若攻击成本是由某一攻击行为产生的,则该攻击行为即是第二模拟行为。
[0152] 例如,基于正常行为模拟脚本模拟用户的登录行为,可以确定用户登录所对应的时间成本,该时间成本为一种用户成本,该登录行为是第一模拟行为;基于攻击行为模拟脚本尝试以不同的密码进行登录,则这种行为是攻击行为,其登录成功所需的时间为一种攻击成本,该以不同的密码进行登录的行为是第二模拟行为。
[0153] 步骤C32,确定第一模拟行为对系统造成的第一行为影响,并确定第一行为影响所对应的第一影响系数。
[0154] 步骤C33,确定第二模拟行为对系统造成的第二行为影响,并确定第二行为影响所对应的第二影响系数。
[0155] 本实施例中,无论是正常行为还是攻击行为,均会对系统造成一定的影响,本实施例将该影响成为行为影响;并且,为能够将正常行为和攻击行为统一至同一维度,将该行为影响定义为正常行为和攻击行为均能够造成的影响。例如,无论用户忘记密码,还是攻击行为使用的密码不正确,两种行为均会导致登录失败,故“登录失败”为一种行为影响。此外,部分行为影响可能对应多次行为;例如,因频繁的登录失败行为(无论正常行为还是攻击行为),可能导致用户锁定,甚至系统重启等,故“用户锁定”、“系统重启”等行为影响对应多个行为,例如多个登录失败行为。
[0156] 并且,对于每一种行为影响,可以预先定义其所对应的影响系数,该影响系数表示对功能需求或安全需求的影响权重,影响系数越大,其对应的影响权重也越大。因此,在确定当前的行为所造成的行为影响后,可以确定该行为影响对应的影响系数。
[0157] 具体地,将第一模拟行为对系统造成行为影响称为第一行为影响,将第二模拟行为对系统造成行为影响称为第二行为影响;相应地,第一行为影响所对应的影响系数称为第一影响系数,第二行为影响所对应的影响系数称为第二影响系数。
[0158] 可选地,上述步骤C32“确定第一行为影响所对应的第一影响系数”包括以下步骤C321至步骤C322。
[0159] 步骤C321,确定第一行为影响所对应的第一基本影响系数,并根据第一模拟行为的执行频率确定相应的第一状态因子。
[0160] 步骤C322,根据第一基本影响系数和第一状态因子确定第一影响系数。
[0161] 类似地,上述步骤C33“确定第二行为影响所对应的第二影响系数”包括以下步骤C331至步骤C332。
[0162] 步骤C331,确定第二行为影响所对应的第二基本影响系数,并根据第二模拟行为的执行频率确定相应的第二状态因子。
[0163] 步骤C332,根据第二基本影响系数和第二状态因子确定第二影响系数。
[0164] 本实施例中,模拟行为造成的哪一种行为影响,会对应不同的影响系数;此外,对于高频的模拟行为,其比一次或少量的模拟行为,对系统造成更严重的影响,所对应的影响系数应当更高。为能够表示高频模拟行为与低频模拟行为之间的区别,本实施例还为导致行为影响的模拟行为设置相应的状态因子,基于该状态因子进一步调整所对应的影响系数。
[0165] 具体地,预先为每一种行为影响设置基本的影响系数,即基本影响系数。并且,为不同的执行频率设置相应的状态因子;执行频率越高,状态因子越大。基于该状态因子对基本影响系数进行调整,从而根据基本影响系数和状态因子可以最终确定合适的影响系数,即第一影响系数和第二影响系数,其具体过程如上述步骤C321至步骤C322,以及步骤C331至步骤C332所示,此处不做赘述。
[0166] 例如,可以将基本影响系数和状态因子二者的和作为相应的影响系数;或者,若该状态因子不小于1,也可以将二者的乘积作为相应的影响系数。
[0167] 具体地,上述步骤C322“根据第一基本影响系数和第一状态因子确定第一影响系数”可以包括:将第一基本影响系数与第一状态因子之和作为第一影响系数;或者,第一状态因子不小于1,且将第一基本影响系数与第一状态因子的乘积作为第一影响系数。
[0168] 类似地,上述步骤C332“根据第二基本影响系数和第二状态因子确定第二影响系数”可以包括:将第二基本影响系数与第二状态因子之和作为第二影响系数;或者,第二状态因子不小于1,且将第二基本影响系数与第二状态因子的乘积作为第二影响系数。
[0169] 例如,行为模拟脚本中的行为可造成的行为影响一般可以包括:成功登陆、新增信息、查询信息、修改信息、删除信息、成功登出、登录失败、用户锁定、服务响应报错、未授权、无接口、无文件等。由于每种行为影响对系统造成的影响程度是不同的,故可以预先设置每种行为影响的影响系数,基于该影响系数表示相应的影响程度。例如,不同行为影响的基本影响系数可参见下表1所示。
[0170] 表1
[0171]
[0172] 此外,基于状态因子表示同一行为影响在不同情况下对系统影响程度的变化。例如,若最终确定的影响系数为基本影响系数与状态因子之和,基于执行频率所设定的状态因子如下表2所示。
[0173] 表2
[0174]
[0175] 此时,最终确定的影响系数=基本影响系数+状态因子。例如,成功登录的基本影响系数为2,表示对系统的基本影响程度为一般;但是如果频繁登录,则该行为对系统的影响系数提高了,影响程度为中等,此时的影响系数为2+1=3。
[0176] 步骤C34,根据第一变化量和第一影响系数确定待定配置状态的功能需求影响程度,根据第二变化量和第二影响系数确定待定配置状态的安全需求影响程度。
[0177] 本实施例中,影响系数可以作为一种权重,故可以将第一变化量与第一影响系数的乘积作为待定配置状态的功能需求影响程度,将第二变化量和第二影响系数的乘积作为待定配置状态的安全需求影响程度。
[0178] 本实施例中,以行为造成的影响,即行为影响为单位,确定每种行为影响的影响系数,可以确定正常行为、攻击行为两种不同类型行为对应的影响系数,且能够实现统一。引入状态因子可以表征不同执行频率的行为对系统的影响,能够更准确地表示功能需求影响程度和安全需求影响程度。
[0179] 步骤S6034,结合待定配置状态的功能需求影响程度和安全需求影响程度,确定相应的奖励值。
[0180] 本实施例中,在确定待定配置状态的功能需求影响程度和安全需求影响程度后,即可基于二者确定该待定配置状态的奖励值。例如,可以将待定配置状态的功能需求影响程度和安全需求影响程度之和作为相应的奖励值,具体可基于实际情况而定。
[0181] 在一些可选的实施方式中,上述步骤S6034“结合待定配置状态的功能需求影响程度和安全需求影响程度,确定相应的奖励值”包括以下步骤D1至步骤D2。
[0182] 步骤D1,确定从当前配置状态调整至待定配置状态,功能需求是否属于正向激励,以及安全需求是否属于正向激励。
[0183] 强化学习中的动作,即调整配置状态的动作,一般涉及两种激励:正向激励和负向激励,通过设置正负两种激励,可以避免在两个状态之间反复循环刷奖励值的问题。本实施例中,对功能需求和安全需求均定义正反两种激励,即正向激励和负向激励;若功能需求属于正向激励,则说明当前的动作可以增大功能需求;相应地,若安全需求属于正向激励,则说明当前的动作可以增大安全需求。
[0184] 可选地,从当前配置状态调整至待定配置状态,功能需求属于正向激励的情况包括以下情况中的至少一种:
[0185] (1)减少了正常用户锁定的次数;
[0186] (2)减少了正常用户等待的时间;
[0187] (3)减少了用户忘记密码的期望(如减少了用户输入错误密码的次数);
[0188] (4)减少了用户无法建立连接的期望。
[0189] 相应地,功能需求属于负向激励的情况与正向激励相反。此外,若因系统崩溃等原因导致系统重新启动,实际上增加了正常用户等待的时间,故会被记录为参数的负向激励。
[0190] 从当前配置状态调整至待定配置状态,安全需求属于正向激励的情况包括以下情况中的至少一种:
[0191] (1)增加了行为模拟脚本的等待时间;
[0192] (2)增加了行为模拟脚本的等待次数;
[0193] (3)增加了待测密码池范围;
[0194] (4)增加了登录限制,例如减少可在线上限,减少半连接阈值(例如,TCP连接中的半连接数量上限)等。
[0195] 相应地,安全需求属于负向激励的情况与上述正向激励相反。此外,若系统崩溃等原因导致系统重启,被认为是符合攻击行为利益的,故会被记录为参数的负向激励。
[0196] 步骤D2,在功能需求属于正向激励的情况下,确定与功能需求影响程度之间为正相关关系的奖励值;在安全需求属于正向激励的情况下,确定与安全需求影响程度之间为正相关关系的奖励值。
[0197] 本实施例中,若功能需求属于正向激励,则奖励值与功能需求影响程度之间为正相关关系,例如,通过加上该功能需求影响程度得到该奖励值;若功能需求属于负向激励,则奖励值与功能需求影响程度之间为负相关关系,例如,通过减去该功能需求影响程度得到该奖励值。
[0198] 类似地,若安全需求属于正向激励,则奖励值与安全需求影响程度之间为正相关关系,例如,通过加上该安全需求影响程度得到该奖励值;若安全需求属于负向激励,则奖励值与安全需求影响程度之间为负相关关系,例如,通过减去该安全需求影响程度得到该奖励值。
[0199] 步骤S6035,根据待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态。
[0200] 其中,详细请参见图4所示实施例的步骤S3033,在此不再赘述。
[0201] 可选地,在基于变化值确定相应影响程度的情况下,由于该变化值为待定配置状态与当前配置状态之间的变化值,故若当前配置状态为最优的配置状态,其余的待定配置状态均不如该当前配置状态更能够满足功能需求和安全需求,故此时确定的任意待定配置状态的奖励值均不超过零。换句话说,在循环更新的过程中,可以基于任意待定配置状态的奖励值是否均不超过零,来确定是否可以结束循环。具体地,该方法还包括:在任意待定配置状态的奖励值均不超过零的情况下,确定当前配置状态符合功能需求和安全需求。
[0202] 本实施例中,若任意待定配置状态的奖励值均不超过零,则可确定该当前配置状态符合功能需求和安全需求,此时结束循环,即不再执行更新配置状态的操作,此时的当前配置状态即可作为最终所需的目标配置状态。
[0203] 步骤S604,将目标配置状态作为待定参数的推荐配置。
[0204] 其中,详细请参见图3所示实施例的步骤S304,在此不再赘述。
[0205] 本实施例中,基于已有的日志、行为模拟脚本等可以确定配置过程中的行为数据,该行为数据例如可以是用户成本、共计成本等。基于模拟脚本实现参数配置的过程可参见图7所示;如图7所示,利用强化学习模型,可以基于当前的行为数据以及预设的奖励&惩罚机制可以对被测系统进行调参,并结合模拟脚本确定新的行为数据,如此循环,直至确定目标配置状态,实现推荐配置。
[0206] 其中,初始状态可以为用户当前使用的默认配置,此时的行为数据可以来自于已有的系统日志,或用户在以往其他系统中的行为日志,通过进行数据的预处理,根据待调试的服务类型(这里的服务可以包括Web、ssh、数据库等系统中使用的各类服务等),匹配相关程度更高的数据,并确定相应的行为数据,进而基于强化学习进行调参。
[0207] 为方便理解,下面以一个简单的实施例解释该方法的流程。
[0208] 本实施例中,需要配置的待定参数包括:用户的锁定时间M和密码输入的允许错误次数N。此外,为简化计算奖励值,将奖励值 定义为与功能需求影响程度x和安全需求影响程度y之间为线性关系,例如 。
[0209] 本实施例中,基于预设的正常行为模拟脚本和攻击行为模拟脚本模拟登录失败的行为影响;其中,该攻击行为模拟脚本以最常用爆破密码字典为例,字典中总密码数为3546条,为了计算方便,这里用3600条来计算。并且,将用户被锁定的时间作为用户成本,即用户时间成本,将攻击行为模拟脚本爆破所需的最大时间作为攻击成本,其具体是防护时间。
[0210] 本实施例中,设锁定时间M和允许错误次数N的初始值分别为5min和5次,即m0=5,n0=5,此时为初始配置状态,即初始状态S0。在这种情况下,基于正常行为模拟脚本和攻击行为模拟脚本可以确定相应的用户成本A0和攻击成本B0,该用户成本A0具体为用户时间成本,该攻击成本B0具体为系统防护时间。
[0211] 具体地,若基于正常行为模拟脚本可知,每周会有10次普通用户锁定,则每年有大概480次,由于此时的锁定时间m0=5min,故总损失的用户成本A0大约为480×5min=2400min=40h。
[0212] 并且,由于本实施例所涉及的场景较为简单,为便于理解,该防护时间可以基于以下关系确定: ;在复杂的实际应用中,可以基于行为模拟脚本统计确定相应的用户成本和攻击成本。本实施例中,在初始状态S0,此时的允许错误次数n0=5,即利用攻击行为模拟脚本进行爆破时,每5次爆破会锁定一次,则跑完3600条(即爆破次数为3600)会被锁定720次;而每次锁定等待5min,则总共需要额外等待720×
5min=3600min=60h,即攻击成本B0(即防护时间)=60h。
[0213] 可以理解,正常行为模拟脚本和攻击行为模拟脚本只是模拟行为,通过模拟可以快速确定实际的用户成本A0和攻击成本B0,并不需要真的等待5min。
[0214] 在该初始状态S0的基础上,可以确定其他待定配置状态对应的用户时间成本和防护时间,基于此确定相应的奖励值,以确定是否将该待定配置状态作为下一个状态S1。
[0215] 例如,若对锁定时间M增加1分钟,形成新的待定配置状态,即此时m1=m0+1=6,n1=n0=5。基于正常行为模拟脚本和攻击行为模拟脚本可以确定,此时的用户成本A1=48h,攻击成本B1=72h。
[0216] 基于此可以确定对锁定时间M增加1分钟这一动作,对用户成本(即用户时间成本)和攻击成本(即防护时间)所造成的差值分别为:第一差值 ,第二差值 。
[0217] 其中,导致用户锁定的行为,均是频发的登录失败,即正常行为和攻击行为造成的行为影响均为频发的登录失败。基于上述表1和表2可知,其基本影响系数为1,状态因子为1,故第一影响系数和第二影响系数均为 。
[0218] 因此,功能需求影响程度x1为: 。
[0219] 安全需求影响程度y1为: 。
[0220] 其中,由于该动作会增加用户等待时间,故对于功能需求来说,其为负向激励;而安全需求为正向激励,故功能需求影响程度可以为负,此时最终确定的奖励值为0.4‑0.4=0。即对锁定时间M增加1分钟,不会改变奖励值。
[0221] 类似地,对于其他动作(例如增大允许错误次数N等)而形成的其他待定配置状态,也可确定相应的奖励值,进而从中选取合适的待定配置状态作为下一状态S1。
[0222] 在确定下一状态S1后,可以重复上述过程,进一步确定下一个状态S2,依次类推,直至确定最终的目标配置状态。例如,对锁定时间M和允许错误次数N进行自适应调参的过程可参见图8所示。
[0223] 本实施例提供的自适应调参的方法,基于强化学习逐步更新配置状态,最终确定符合功能需求和安全需求的目标配置状态,实现对待定参数的自适应配置;这种配置方式基于实际的系统日志和相关模拟实验数据,不依赖于设计者的主观判断,能够降低设计者个人经验的影响,所确定的参数可以兼顾产品本身的安全需求和用户使用的功能需求,配置参数可靠性较高。基于每个待定配置状态均与当前配置状态进行对比,确定二者之间用户成本、安全成本的变化量,从而可以实现不同待定配置状态的变化量统一。以行为造成的影响,即行为影响为单位,确定每种行为影响的影响系数,可以确定正常行为、攻击行为两种不同类型行为对应的影响系数,且能够实现统一。
[0224] 在本实施例中还提供了一种自适应调参的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0225] 本实施例提供一种自适应调参的装置,如图9所示,包括:
[0226] 确定模块901,用于确定需要配置的至少一个待定参数;
[0227] 赋值模块902,用于为所述待定参数进行赋值,形成相应的配置状态;不同配置状态的至少一个所述待定参数的数值不同;
[0228] 强化学习模块903,用于基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态;所述奖励值为结合功能需求影响程度和安全需求影响程度所确定的值;
[0229] 推荐模块904,用于将所述目标配置状态作为所述待定参数的推荐配置。
[0230] 在一些可选的实施方式中,所述强化学习模块903基于强化学习逐步更新得到奖励值符合要求的配置状态,直至确定符合功能需求和安全需求的目标配置状态,包括:
[0231] 循环执行更新配置状态的操作,直至更新后的配置状态符合功能需求和安全需求;
[0232] 所述更新配置状态的操作包括:
[0233] 调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态;
[0234] 确定每个所述待定配置状态的奖励值;
[0235] 根据所述待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态。
[0236] 在一些可选的实施方式中,所述强化学习模块903调整当前配置状态中至少一个待定参数的数值,形成多个不同的待定配置状态,包括:
[0237] 对于每一个待定参数,分别对当前配置状态中一个待定参数的数值进行调整,形成多个不同的待定配置状态。
[0238] 在一些可选的实施方式中,所述强化学习模块903分别对当前配置状态中一个待定参数的数值进行调整,形成多个不同的待定配置状态,包括:
[0239] 在当前配置状态中待定参数数值的基础上,按照预设步长增大或减小所述当前配置状态中一个待定参数的数值,形成多个不同的待定配置状态。
[0240] 在一些可选的实施方式中,该装置还包括脚本模块,用于预先生成行为模拟脚本;
[0241] 所述强化学习模块903确定每个所述待定配置状态的奖励值,包括:
[0242] 根据所述行为模拟脚本模拟在所述待定配置状态下的行为,确定与功能需求相关的用户成本以及与安全需求相关的攻击成本;
[0243] 根据所述待定配置状态的用户成本确定功能需求影响程度,根据所述待定配置状态的攻击成本确定安全需求影响程度;
[0244] 结合所述待定配置状态的功能需求影响程度和安全需求影响程度,确定相应的奖励值。
[0245] 在一些可选的实施方式中,所述强化学习模块903根据所述待定配置状态的用户成本确定功能需求影响程度,根据所述待定配置状态的攻击成本确定安全需求影响程度,包括:
[0246] 确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一变化量;
[0247] 确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二变化量;
[0248] 根据所述第一变化量确定所述待定配置状态的功能需求影响程度,根据所述第二变化量确定所述待定配置状态的安全需求影响程度。
[0249] 在一些可选的实施方式中,所述强化学习模块903确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一变化量,包括:
[0250] 确定所述待定配置状态的用户成本与所述当前配置状态的用户成本之间的第一差值;
[0251] 对所述第一差值进行归一化处理,生成第一变化量;
[0252] 所述确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二变化量,包括:
[0253] 确定所述待定配置状态的攻击成本与所述当前配置状态的攻击成本之间的第二差值;
[0254] 对所述第二差值进行归一化处理,生成第二变化量。
[0255] 在一些可选的实施方式中,所述强化学习模块903对所述第一差值进行归一化处理,生成第一变化量,包括:
[0256] 将所述第一差值与所述当前配置状态的用户成本之间的比值,作为第一变化量;
[0257] 所述对所述第二差值进行归一化处理,生成第二变化量,包括:
[0258] 将所述第二差值与所述当前配置状态的攻击成本之间的比值,作为第二变化量。
[0259] 在一些可选的实施方式中,所述强化学习模块903根据所述第一变化量确定所述待定配置状态的功能需求影响程度,根据所述第二变化量确定所述待定配置状态的安全需求影响程度,包括:
[0260] 确定产生所述用户成本的第一模拟行为,以及产生所述攻击成本的第二模拟行为;所述第一模拟行为和所述第二模拟行为是所述行为模拟脚本所模拟的行为;
[0261] 确定所述第一模拟行为对系统造成的第一行为影响,并确定所述第一行为影响所对应的第一影响系数;
[0262] 确定所述第二模拟行为对系统造成的第二行为影响,并确定所述第二行为影响所对应的第二影响系数;
[0263] 根据所述第一变化量和所述第一影响系数确定所述待定配置状态的功能需求影响程度,根据所述第二变化量和所述第二影响系数确定所述待定配置状态的安全需求影响程度。
[0264] 在一些可选的实施方式中,所述强化学习模块903确定所述第一行为影响所对应的第一影响系数,包括:
[0265] 确定所述第一行为影响所对应的第一基本影响系数,并根据所述第一模拟行为的执行频率确定相应的第一状态因子;
[0266] 根据所述第一基本影响系数和所述第一状态因子确定第一影响系数;
[0267] 所述确定所述第二行为影响所对应的第二影响系数,包括:
[0268] 确定所述第二行为影响所对应的第二基本影响系数,并根据所述第二模拟行为的执行频率确定相应的第二状态因子;
[0269] 根据所述第二基本影响系数和所述第二状态因子确定第二影响系数。
[0270] 在一些可选的实施方式中,所述强化学习模块903根据所述第一基本影响系数和所述第一状态因子确定第一影响系数,包括:
[0271] 将所述第一基本影响系数与所述第一状态因子之和作为第一影响系数;
[0272] 或者,所述第一状态因子不小于1,且将所述第一基本影响系数与所述第一状态因子的乘积作为第一影响系数;
[0273] 所述根据所述第二基本影响系数和所述第二状态因子确定第二影响系数,包括:
[0274] 将所述第二基本影响系数与所述第二状态因子之和作为第二影响系数;
[0275] 或者,所述第二状态因子不小于1,且将所述第二基本影响系数与所述第二状态因子的乘积作为第二影响系数。
[0276] 在一些可选的实施方式中,所述行为模拟脚本包括:正常行为模拟脚本和攻击行为模拟脚本;所述第一模拟行为是所述正常行为模拟脚本所模拟的行为;所述第二模拟行为是所述攻击行为模拟脚本所模拟的行为。
[0277] 在一些可选的实施方式中,所述脚本模块预先生成行为模拟脚本,包括:收集系统日志中的操作行为,生成用于自动重复所述操作行为的正常行为模拟脚本;生成用于自动重复攻击行为的攻击行为模拟脚本。
[0278] 在一些可选的实施方式中,强化学习模块903还用于:在任意所述待定配置状态的奖励值均不超过零的情况下,确定所述当前配置状态符合功能需求和安全需求。
[0279] 在一些可选的实施方式中,所述强化学习模块903结合所述待定配置状态的功能需求影响程度和安全需求影响程度,确定相应的奖励值,包括:
[0280] 确定从所述当前配置状态调整至所述待定配置状态,功能需求是否属于正向激励,以及安全需求是否属于正向激励;
[0281] 在功能需求属于正向激励的情况下,确定与所述功能需求影响程度之间为正相关关系的奖励值;在安全需求属于正向激励的情况下,确定与所述安全需求影响程度之间为正相关关系的奖励值。
[0282] 在一些可选的实施方式中,所述强化学习模块903根据所述待定配置状态的奖励值,选取其中一个待定配置状态更新为下一配置状态,包括:
[0283] 在更新轮次小于预设数值的情况下,根据所述待定配置状态的奖励值确定所述待定配置状态被选为下一配置状态的选取概率,并按照所述选取概率选取其中一个待定配置状态更新为下一配置状态;其中,所述待定配置状态的奖励值越高,被选为下一配置状态的选取概率越大;
[0284] 在更新轮次大于预设数值的情况下,选取奖励值最大的待定配置状态更新为下一配置状态。
[0285] 在一些可选的实施方式中,所述赋值模块902为所述待定参数进行赋值,形成相应的配置状态,包括:响应于用户触发的设置操作,为所述待定参数设置初始值,形成初始配置状态。
[0286] 上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
[0287] 本实施例中的自适应调参的装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
[0288] 本发明实施例还提供一种计算机设备,具有上述图9所示的自适应调参的装置。
[0289] 请参阅图10,图10是本发明可选实施例提供的一种计算机设备的结构示意图,如图10所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器10为例。
[0290] 处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
[0291] 其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
[0292] 存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0293] 存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
[0294] 该计算机设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接,图10中以通过总线连接为例。
[0295] 输入装置30可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
[0296] 本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
[0297] 虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。