一种密码算法库安全性评估方法和系统与流程
本技术实施例涉及安全测试,具体涉及一种密码算法库安全性评估方法和系统。
背景技术:
1、密码算法库是金融交易、信息通信、网络安全等领域信息系统的核心安全组件,其安全性直接关系到数据的保密性、完整性和可用性,一旦存在安全漏洞,可能导致用户隐私泄露、资金损失等严重后果,因此对密码算法库进行全面高效的安全性评估至关重要。
2、目前,传统随机模糊测试是密码算法库安全性评估中应用最为广泛的技术方案之一,其通过向目标程序随机生成或变异输入数据来触发异常行为,从而发现潜在漏洞。然而,该方法生成的测试用例缺乏针对性,大量测试输入落入无效或冗余的执行路径上,导致测试效率低下,漏洞发现能力不足。
技术实现思路
1、鉴于上述问题,本技术实施例提供了一种密码算法库安全性评估方法和系统,克服了上述或者至少部分地解决了上述生成的测试用例缺乏针对性的问题。
2、本技术实施例的第一方面提供了一种密码算法库安全性评估方法,方法包括:获取目标密码算法库的接口规格和常用输入样本,搭建模糊测试执行环境,记录算法库的正常输出特征,将正常输出特征作为后续测试中异常检测的对比基准。将模糊测试的当前输入变异状态、算法库的执行路径覆盖情况、错误触发状态组合构建为强化学习的状态空间;并以路径覆盖增量、错误类型权重、测试效率作为参数构建奖励函数,定义奖励值的计算规则。
3、智能体获取当前状态,当前状态为状态空间在当前时刻的具体取值;由策略网络根据当前状态输出变异操作的概率分布,智能体按照概率分布采样选择变异操作,生成新测试用例;将生成的新测试用例输入密码算法库,记录执行路径、返回结果和异常信息。
4、根据本次测试的执行路径、返回结果和异常信息,代入奖励函数进行计算,得到本次测试的奖励值;其中,触发新路径或严重错误时该奖励值取高值,重复路径或无意义错误时该奖励值取低值;用强化学习算法根据奖励值更新策略网络的参数,更新后的策略网络输出的概率分布中,获得高奖励的变异操作被采样的概率提升,获得低奖励的变异操作被采样的概率降低。
5、根据已记录的执行路径和异常信息,判断是否达到终止条件,终止条件为:路径覆盖率达到预设的目标覆盖率阈值,或累计错误计数达到预设的最大错误计数阈值;若未达到,将当前测试状态反馈给智能体,由智能体再次执行生成新测试用例并输入密码算法库、记录执行路径和异常信息、根据测试结果计算奖励值并更新策略网络的操作;若达到,根据错误记录和路径覆盖情况生成安全性评估报告,标注高风险模块和未覆盖路径。
6、本实施例中,通过将输入变异状态、执行路径覆盖情况、错误触发状态组合构建为状态空间,使测试过程可被量化和感知,并以路径覆盖增量、错误类型权重、测试效率作为参数构建奖励函数,为评价变异操作的优劣提供了明确标准,引导智能体区分高价值与低价值的变异操作。智能体获取当前状态,由策略网络根据当前状态输出变异操作的概率分布,智能体按概率分布采样选择变异操作,使变异操作的选择不再随机盲目,而是依据当前测试状态进行有方向的决策。
7、根据本次测试的实际执行结果计算奖励值并更新策略网络参数,使获得高奖励的变异操作在后续被采样的概率提升,获得低奖励的变异操作的概率降低,通过正反馈机制使智能体逐步积累测试经验。通过判断是否达到终止条件,若未达到则反馈当前状态并进入下一次循环,使上述测试、反馈、学习、优化的过程持续迭代,智能体在不断循环中持续优化变异操作的选择偏好,测试用例逐步聚焦于高价值区域,最终根据错误记录和路径覆盖情况生成安全性评估报告。智能体在迭代循环中持续优化变异操作的选择偏好,使测试用例生成从盲目随机逐步收敛于高价值区域,从而解决了传统随机模糊测试缺乏针对性的技术问题,提高测试效率。
8、在一种可选的方式中,搭建模糊测试执行环境,包括:安装并配置模糊测试框架,编译目标算法库并链接到测试驱动程序,设置环境变量以隔离测试进程,配置模糊测试工具的参数,并配置日志记录功能,验证工具集成性。
9、在一种可选的方式中,状态空间中的每个状态由状态向量表示,其中mt为输入变异状态,pt为执行路径覆盖情况,et为错误触发状态,t表示时间步;输入变异状态用整数向量编码表示当前测试用例的变异操作序列;执行路径覆盖情况通过插桩工具获取已覆盖路径的百分比;错误触发状态为二进制标志,当检测到崩溃或异常时置1,否则置0。
10、在一种可选的方式中,路径覆盖增量δpt计算为当前步与上一步的覆盖差,即;错误类型权重 w基于错误严重性分配,权重总和归一化至 [0,1];测试效率 ηt定义为:其中 为本步新触发路径数,为执行时间;奖励函数 rt采用加权和形式:rt=αδpt+βwet+γηt,其中 α,β,γ 为可调超参数,w 为错误类型权重,et为错误触发状态。
11、在一种可选的方式中,变异操作包括输入数据扰动、边界值扩展、随机注入、位翻转或长度扩展变异。
12、在一种可选的方式中,异常信息包括堆栈溢出或时序侧信道标志。
13、在一种可选的方式中,触发新路径或严重错误时赋予高奖励 ;所述重复路径或无意义错误时赋予低奖励 ;所述策略网络具有网络参数,为所述策略网络在状态st下输出动作 at 的概率,所述动作 at为当前时间步所选择的变异操作,j(θ) 为期望累积奖励目标函数;所述更新策略网络的参数,包括:使用策略梯度强化学习算法,收集经验轨迹 :
14、其中为初始时间步的状态,为初始时间步选择的动作,为初始时间步的奖励值,t为终止时间步;
15、计算累积折扣奖励 :
16、,其中 γ为折扣因子,k 为求和变量,为第 k 个时间步的奖励值,估计策略梯度 :
17、eτ 为对经验轨迹 τ求期望;
18、通过梯度上升更新策略网络参数:其中 α为学习率。
19、在一种可选的方式中,目标覆盖率阈值为 ,最大错误计数阈值为;路径覆盖率:
20、其中 ,p 为所有可能路径的集合,为已覆盖路径数,为总路径数;若未达到终止条件,收集当前测试状态反馈给智能体,
21、当前测试状态包括路径覆盖率、错误记录列表 elist和未覆盖路径集 u:
22、构建状态向量反馈给智能体:
23、其中 t为当前迭代次数,为错误总数,为未覆盖路径数;若达到终止条件,生成安全性评估报告,报告包括错误摘要和路径覆盖分析,对每个模块 m计算风险指数,其中为模块 m的错误数,为模块规模,设定风险阈值 ,若则标记为高风险模块,并列出所有未覆盖路径 u。
24、本技术实施例的另一方面,提供了一种基于强化学习引导模糊测试的密码算法库安全性评估系统,包括:测试环境搭建模块,用于获取目标密码算法库的接口规格和常用输入样本,搭建模糊测试执行环境,记录算法库的正常输出特征,将正常输出特征作为后续测试中异常检测的对比基准。状态空间与奖励函数构建模块,用于将模糊测试的当前输入变异状态、算法库的执行路径覆盖情况、错误触发状态组合构建为强化学习的状态空间;并以路径覆盖增量、错误类型权重、测试效率作为参数构建奖励函数,定义奖励值的计算规则。
25、测试用例生成与执行模块,用于使智能体获取当前状态,当前状态为状态空间在当前时刻的具体取值;由策略网络根据当前状态输出变异操作的概率分布,智能体按照概率分布采样选择变异操作,生成新测试用例;将生成的新测试用例输入密码算法库,记录执行路径、返回结果和异常信息;
26、策略更新模块,用于根据本次测试的执行路径、返回结果和异常信息,代入奖励函数进行计算,得到本次测试的奖励值;其中,触发新路径或严重错误时该奖励值取高值,重复路径或无意义错误时该奖励值取低值;用强化学习算法根据奖励值更新策略网络的参数,更新后的策略网络输出的概率分布中,获得高奖励的变异操作被采样的概率提升,获得低奖励的变异操作被采样的概率降低;
27、终止判断与报告生成模块,用于根据已记录的执行路径和异常信息,判断是否达到终止条件,终止条件为:路径覆盖率达到预设的目标覆盖率阈值,或累计错误计数达到预设的最大错误计数阈值;若未达到,将当前测试状态反馈给智能体,由智能体再次执行生成新测试用例并输入密码算法库、记录执行路径和异常信息、根据测试结果计算奖励值并更新策略网络的操作;若达到,根据错误记录和路径覆盖情况生成安全性评估报告,标注高风险模块和未覆盖路径。
28、上述说明仅是本技术实施例技术方案的概述,为了能够更清楚了解本技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com