System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及网络安全,特别涉及一种微前端混淆方法以及子应用运行方法。
技术介绍
1、微前端架构将单个复杂应用解耦成不同独立的子应用。每个子应用通常使用不同的技术栈,可以独立开发、测试和部署,减少了不同团队之间的依赖。每个子应用都可能包含敏感的业务逻辑或算法,一旦代码被逆向工程,攻击者可能会利用这些信息进行恶意操作。
2、现有技术中,采用统一的混淆算法进行代码混淆,提升代码的安全性,防止恶意攻击和代码泄露。
3、然而,由于微前端的独特性,上述方式难以兼顾子应用的独立性,混淆的代码容易被破解,因此安全性较低。
技术实现思路
1、本申请实施例提供了一种微前端混淆方法以及子应用运行方法,用以提高微前端的安全性。
2、第一方面,本申请实施例提供了一种微前端混淆方法,应用于电子设备,该方法包括:
3、针对微前端的任一子应用,将所述子应用对应的源代码分为多个代码块,生成各代码块对应的跳转表以及代码块之间的跳转表;
4、将所述源代码解析为抽象语法树(abstract syntax tree,ast)节点,基于ast节点进行代码混淆,并将混淆后的ast节点转化为混淆代码;
5、将所述跳转表、所述混淆代码以及配置文件加载到所述子应用,以使所述子应用基于所述配置文件以及所述跳转表进行代码跳转,并基于所述配置文件以及所述混淆代码进行代码动态加载。
6、一些可选的实施方式中,所述源代码包括运行代码以及调试检测代码。
8、对第一代码对应的ast节点进行基础混淆,以及对第二代码对应的ast节点进行逻辑混淆。
9、一些可选的实施方式中,基于ast节点进行代码混淆,还包括:
10、在所述ast节点插入冗余代码块。
11、一些可选的实施方式中,通过以下方式生成所述配置文件:
12、基于所述子应用对应的密钥对所述子应用的混淆配置信息进行加密,得到所述配置文件;
13、其中,所述密钥是基于所述子应用的标识、时间戳以及随机盐值中的部分或全部信息生成的。
14、一些可选的实施方式中,还包括:
15、响应于所述子应用发送的密钥调整请求,生成新的密钥;其中,所述密钥调整请求是所述子应用在监测到异常行为时触发的。
16、第二方面,本申请实施例提供了一种微前端混淆方法,该方法包括:
17、获取子应用对应的跳转表、混淆代码以及配置文件;其中,所述跳转表包括电子设备将所述子应用对应的源代码分为多个代码块后,生成的各代码块对应的跳转表以及代码块之间的跳转表;所述混淆代码为所述电子设备将所述源代码解析为ast节点后进行代码混淆,并将混淆后的ast节点转化得到的;
18、基于所述配置文件以及所述跳转表进行代码跳转;
19、基于所述配置文件以及所述混淆代码进行代码动态加载。
20、一些可选的实施方式中,所述配置文件是通过以下方式生成的:
21、所述电子设备基于所述子应用对应的密钥对所述子应用的混淆配置信息进行加密,得到所述配置文件;
22、其中,所述密钥是基于所述子应用的标识、时间戳以及随机盐值中的部分或全部信息生成的。
23、一些可选的实施方式中,还包括:
24、在监测到异常行为时,销毁所述密钥,并向所述电子设备发送密钥调整请求,以使所述电子设备生成新的密钥。
25、第三方面,本申请实施例提供了一种微前端混淆装置,该装置包括:
26、结构混淆模块,用于针对微前端的任一子应用,将所述子应用对应的源代码分为多个代码块,生成各代码块对应的跳转表以及代码块之间的跳转表;
27、代码混淆模块,用于将所述源代码解析为ast节点,基于ast节点进行代码混淆,并将混淆后的ast节点转化为混淆代码;
28、加载模块,用于将所述跳转表、所述混淆代码以及配置文件加载到所述子应用,以使所述子应用基于所述配置文件以及所述跳转表进行代码跳转,并基于所述配置文件以及所述混淆代码进行代码动态加载。
29、一些可选的实施方式中,所述源代码包括运行代码以及调试检测代码。
30、一些可选的实施方式中,代码混淆模块,具体用于:
31、对第一代码对应的ast节点进行基础混淆,以及对第二代码对应的ast节点进行逻辑混淆。
32、一些可选的实施方式中,代码混淆模块,还用于:
33、在所述ast节点插入冗余代码块。
34、一些可选的实施方式中,还包括配置模块,用于通过以下方式生成所述配置文件:
35、基于所述子应用对应的密钥对所述子应用的混淆配置信息进行加密,得到所述配置文件;
36、其中,所述密钥是基于所述子应用的标识、时间戳以及随机盐值中的部分或全部信息生成的。
37、一些可选的实施方式中,配置模块,还用于:
38、响应于所述子应用发送的密钥调整请求,生成新的密钥;其中,所述密钥调整请求是所述子应用在监测到异常行为时触发的。
39、第四方面,本申请实施例提供了一种子应用运行装置,该装置包括:
40、获取模块,用于获取子应用对应的跳转表、混淆代码以及配置文件;其中,所述跳转表包括电子设备将所述子应用对应的源代码分为多个代码块后,生成的各代码块对应的跳转表以及代码块之间的跳转表;所述混淆代码为所述电子设备将所述源代码解析为ast节点后进行代码混淆,并将混淆后的ast节点转化得到的;
41、运行模块,用于基于所述配置文件以及所述跳转表进行代码跳转;
42、运行模块,还用于基于所述配置文件以及所述混淆代码进行代码动态加载。
43、一些可选的实施方式中,所述配置文件是通过以下方式生成的:
44、所述电子设备基于所述子应用对应的密钥对所述子应用的混淆配置信息进行加密,得到所述配置文件;
45、其中,所述密钥是基于所述子应用的标识、时间戳以及随机盐值中的部分或全部信息生成的。
46、一些可选的实施方式中,还包括监测模块,用于:
47、在监测到异常行为时,销毁所述密钥,并向所述电子设备发送密钥调整请求,以使所述电子设备生成新的密钥。
48、第五方面,本申请实施例提供一种电子设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第一方面任一所述的微前端混淆方法。
49、第六方面,本申请实施例提供一种前端设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第二方面任一所述的子应用运行方法。
50、第七方面,本申请实施例提供本文档来自技高网...
【技术保护点】
1.一种微前端混淆方法,其特征在于,应用于电子设备,该方法包括:
2.如权利要求1所述的方法,其特征在于,所述源代码包括运行代码以及调试检测代码。
3.如权利要求1所述的方法,其特征在于,基于AST节点进行代码混淆,包括:
4.如权利要求1所述的方法,其特征在于,基于AST节点进行代码混淆,还包括:
5.如权利要求1所述的方法,其特征在于,通过以下方式生成所述配置文件:
6.如权利要求5所述的方法,其特征在于,还包括:
7.一种子应用运行方法,其特征在于,包括:
8.如权利要求7所述的方法,其特征在于,所述配置文件是通过以下方式生成的:
9.如权利要求8所述的方法,其特征在于,还包括:
10.一种电子设备,其特征在于,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行如权利要求1~6任一所述的微前端混淆方法。
11.一种前端设备,其特征在于,包括至少一个处理器以及至少一个存储器,其中,所述存储
...【技术特征摘要】
1.一种微前端混淆方法,其特征在于,应用于电子设备,该方法包括:
2.如权利要求1所述的方法,其特征在于,所述源代码包括运行代码以及调试检测代码。
3.如权利要求1所述的方法,其特征在于,基于ast节点进行代码混淆,包括:
4.如权利要求1所述的方法,其特征在于,基于ast节点进行代码混淆,还包括:
5.如权利要求1所述的方法,其特征在于,通过以下方式生成所述配置文件:
6.如权利要求5所述的方法,其特征在于,还包括:
7.一种子应用运行方法,其特征在于,包括:
...
【专利技术属性】
技术研发人员:杨佳玲,魏效国,陈霖,刘海萍,徐勇,
申请(专利权)人:中国电信股份有限公司技术创新中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。