一种加密系统安全测试系统、方法及装置制造方法及图纸

技术编号:39315196 阅读:12 留言:0更新日期:2023-11-12 15:58
本申请公开了一种加密系统安全测试系统、方法及装置,浏览器模块监听密钥所在的目标代码行并实时记录目标代码行的最新目标变量值。当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,将解密密钥值写入第一请求报文,将第一请求报文发送至加解密代理模块。加解密代理模块读取第一请求报文中携带的解密密钥值,对第一请求报文解密后发送至安全测试模块;安全测试模块对解密报文进行安全测试。本申请不需要人工查找密钥位置及加解密函数,进而实现解密,对安全人员的经验和能力要求较低,实现了一种自动化加密系统安全测试方案。方案。方案。

【技术实现步骤摘要】
一种加密系统安全测试系统、方法及装置


[0001]本申请涉及安全测试
,尤其涉及一种加密系统安全测试系统、方法及装置。

技术介绍

[0002]随着监管、企业对重要业务系统的安全性要求的提升,越来越多的系统采用加密算法对客户端浏览器传递到服务器的数据进行加密。而现有的自动化安全测试工具只能针对明文报文进行自动化安全扫描。
[0003]针对前端加密的系统,现有技术中的做法为人工进行js(编程语言)逆向,阅读代码逻辑,利用经验找到密钥位置及加解密函数,进而实现解密。现有技术存在的问题是不同系统采用的js混淆方式不同,一些系统的前端js代码难以阅读,人工定位密钥的方法不仅耗费大量时间,而且极其考验安全人员的经验和能力。
[0004]因此,目前亟需一种减少人工干预的自动化加密系统安全测试方案。

技术实现思路

[0005]本申请提供了一种加密系统安全测试系统、方法及装置,用以提供一种减少人工干预的自动化加密系统安全测试方案。
[0006]第一方面,本申请提供了一种加密系统安全测试系统,所述系统包括:浏览器模块、加解密代理模块、安全测试模块;
[0007]所述浏览器模块,用于监听密钥所在的目标代码行并实时记录所述目标代码行的最新目标变量值;当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,将所述解密密钥值写入所述第一请求报文,将所述第一请求报文发送至所述加解密代理模块;
[0008]所述加解密代理模块,用于读取所述第一请求报文中携带的所述解密密钥值,采用所述解密密钥值对所述第一请求报文进行解密,将得到的解密报文发送至所述安全测试模块;
[0009]所述安全测试模块,用于对所述解密报文进行安全测试。
[0010]第二方面,本申请提供了一种加密系统安全测试方法,应用于JS Hook代理模块,所述方法包括:
[0011]获取应用服务器发送的响应于浏览器模块的响应报文中的第一JS代码,在所述第一JS代码中添加Hook函数,得到第二JS代码,将所述第二JS代码发送至浏览器模块,使所述浏览器模块执行所述第二JS代码,获取所述Hook函数传入的变量值,将所述变量值作为备选密钥值保存至备选密钥列表;当接收到执行所述第二JS代码后加密生成的任一密文数据,采用所述备选密钥列表中保存的各个备选密钥值对所述密文数据进行解密,确定成功解密的目标密钥值及其对应的目标代码行;监听目标代码行并实时记录所述目标代码行的最新目标变量值;当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥
值,将所述解密密钥值写入所述第一请求报文,将所述第一请求报文发送至加解密代理模块;使所述加解密代理模块读取所述第一请求报文中携带的所述解密密钥值,采用所述解密密钥值对所述第一请求报文进行解密,将得到的解密报文发送至安全测试模块;使所述安全测试模块对所述解密报文进行安全测试。
[0012]第三方面,本申请提供了一种加密系统安全测试方法,应用于浏览器模块,所述方法包括:
[0013]监听密钥所在的目标代码行并实时记录所述目标代码行的最新目标变量值;当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,将所述解密密钥值写入所述第一请求报文,将所述第一请求报文发送至加解密代理模块;使所述加解密代理模块读取所述第一请求报文中携带的所述解密密钥值,采用所述解密密钥值对所述第一请求报文进行解密,将得到的解密报文发送至安全测试模块;使所述安全测试模块对所述解密报文进行安全测试。
[0014]第四方面,本申请提供了一种加密系统安全测试装置,所述装置包括:
[0015]第一处理单元,用于获取应用服务器发送的响应于浏览器模块的响应报文中的第一JS代码,在所述第一JS代码中添加Hook函数,得到第二JS代码,将所述第二JS代码发送至浏览器模块,使所述浏览器模块执行所述第二JS代码,获取所述Hook函数传入的变量值,将所述变量值作为备选密钥值保存至备选密钥列表;当接收到执行所述第二JS代码后加密生成的任一密文数据,采用所述备选密钥列表中保存的各个备选密钥值对所述密文数据进行解密,确定成功解密的目标密钥值及其对应的目标代码行;监听目标代码行并实时记录所述目标代码行的最新目标变量值;当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,将所述解密密钥值写入所述第一请求报文,将所述第一请求报文发送至加解密代理模块;使所述加解密代理模块读取所述第一请求报文中携带的所述解密密钥值,采用所述解密密钥值对所述第一请求报文进行解密,将得到的解密报文发送至安全测试模块;使所述安全测试模块对所述解密报文进行安全测试。
[0016]第五方面,本申请提供了一种加密系统安全测试装置,所述装置包括:
[0017]第二处理单元,用于监听密钥所在的目标代码行并实时记录所述目标代码行的最新目标变量值;当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,将所述解密密钥值写入所述第一请求报文,将所述第一请求报文发送至加解密代理模块;使所述加解密代理模块读取所述第一请求报文中携带的所述解密密钥值,采用所述解密密钥值对所述第一请求报文进行解密,将得到的解密报文发送至安全测试模块;使所述安全测试模块对所述解密报文进行安全测试。
[0018]本申请提供了一种加密系统安全测试系统、方法及装置,所述系统包括:浏览器模块、加解密代理模块、安全测试模块;所述浏览器模块,用于监听密钥所在的目标代码行并实时记录所述目标代码行的最新目标变量值;当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,将所述解密密钥值写入所述第一请求报文,将所述第一请求报文发送至所述加解密代理模块;所述加解密代理模块,用于读取所述第一请求报文中携带的所述解密密钥值,采用所述解密密钥值对所述第一请求报文进行解密,将得到的解密报文发送至所述安全测试模块;所述安全测试模块,用于对所述解密报文进行安全测试。
[0019]上述的技术方案具有如下优点或有益效果:
[0020]本申请中,浏览器模块监听密钥所在的目标代码行并实时记录目标代码行的最新目标变量值。当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,将解密密钥值写入第一请求报文,将第一请求报文发送至加解密代理模块。加解密代理模块读取第一请求报文中携带的解密密钥值,对第一请求报文解密后发送至安全测试模块;安全测试模块对解密报文进行安全测试。本申请不需要人工查找密钥位置及加解密函数,进而实现解密,对安全人员的经验和能力要求较低,实现了一种自动化加密系统安全测试方案。
附图说明
[0021]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1为本申请提供的加密系统安全测试系统结构示意图;
[0023本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加密系统安全测试系统,其特征在于,所述系统包括:浏览器模块、加解密代理模块、安全测试模块;所述浏览器模块,用于监听密钥所在的目标代码行并实时记录所述目标代码行的最新目标变量值;当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,将所述解密密钥值写入所述第一请求报文,将所述第一请求报文发送至所述加解密代理模块;所述加解密代理模块,用于读取所述第一请求报文中携带的所述解密密钥值,采用所述解密密钥值对所述第一请求报文进行解密,将得到的解密报文发送至所述安全测试模块;所述安全测试模块,用于对所述解密报文进行安全测试。2.如权利要求1所述的系统,其特征在于,所述系统还包括应用服务器和JS Hook代理模块;所述应用服务器,用于发送响应于浏览器模块的响应报文;所述JS Hook代理模块,用于获取所述响应报文中的第一JS代码,在所述第一JS代码中添加Hook函数,得到第二JS代码,将所述第二JS代码发送至所述浏览器模块;所述浏览器模块,用于执行所述第二JS代码,获取所述Hook函数传入的变量值,将所述变量值作为备选密钥值保存至备选密钥列表;当接收到执行所述第二JS代码后加密生成的任一密文数据,采用所述备选密钥列表中保存的各个备选密钥值对所述密文数据进行解密,确定成功解密的目标密钥值及其对应的目标代码行。3.如权利要求2所述的系统,其特征在于,所述JS Hook代理模块,用于获取所述响应报文中的第一JS代码,查找所述第一JS代码中的变量声明语句和赋值表达式;在所述变量声明语句和赋值表达式处添加用于捕捉代码运行时的变量值的Hook函数,生成第二JS代码。4.如权利要求2所述的系统,其特征在于,所述浏览器模块,用于执行所述第二JS代码,获取所述Hook函数传入的变量值,按照密钥特征对所述变量值进行筛选,将符合所述密钥特征的变量值作为备选密钥值保存至所述备选密钥列表。5.如权利要求2所述的系统,其特征在于,所述浏览器模块,用于当接收到执行所述第二JS代码后加密生成的任一密文数据,采用所述备选密钥列表中保存的各个备选密钥值对所述密文数据进行解密,对得到的各个明文数据进行评分,将评分最高的明文数据对应的备选密钥值作为成功解密的目标密钥值,将所述目标密钥值对应的代码行作为目标代码行。6.一种基于权利要求2至5任一项所述的加密系统安全测试系统的加密系统安全测试方法,其特征在于,应用于JS Hook代理模块,所述方法包括:获取应用服务器发送的响应于浏览器模块的响应报文中的第一JS代码,在所述第一JS代码中添加Hook函数,得到第二JS代码,将所述第二JS代码发送至浏览器模块,使所述浏览器模块执行所述第二JS代码,获取所述Hook函数传入的变量值,将所述变量值作为备选密钥值保存至备选密钥列表;当接收到执行所述第二JS代码后加密生成的任一密文数据,采用所述备选密钥列表中保存的各个备选密钥值对所述密文数据进行解密,确定成功解密的目标密钥值及其对应的目标代码行;监听所述目标代码行并实时记录所述目标代码行的最新目标变量值;当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,
将所述解密密钥值写入所述第一请求报文,将所述第一请求报文发送至加解密代理模块;使所述加解密代理模块读取所述第一请求报文中携带的所述解密密钥值,采用所述解密密钥值对所述第一请求报文进行解密,将得到的解密报文发送至安全测试模块;使所述安全测试模块对所述解密报文进行安全测试。7.如权利要求6所述的方法,其特征在于,所述方法包括:获取所述响应报文中的第一JS代码,查找所述第一JS代码中的变量声明语句和赋值表达式;在所述变量声明语句和赋值表达式处添加用于捕捉代码运行时的变量值的Hook函数,生成第二JS代码。8.一种基于权利要求1至5任一项所述的加密系统安全测试系统的加密系统安全测试方法,其特征在于,应用于浏览器模块,所述方法包括:监听密钥所在的目标代码行并实时记录所述目标代码行的最新目标变量值;当发送待测试的第一请求报文时,读取最新的目标变量值作为解密密钥值,将所述解密密钥值写入所述第一请求报文,将所述第一请求报文发送至加解密代理模块;使所述加解密代理模块读取所述第一请求报文中携带的所述...

【专利技术属性】
技术研发人员:刘加慧蔡水捷刘旭代德顺朱仟陈玉成
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:

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

1