摘要
由于现有的Python程序混淆算法没有设计不透明谓词的插入结构,因此很难长时间抵抗控制流分析的攻击,为提高Python程序的安全性,对其进行优化设计。加密Python程序混沌映射,提高混淆算法的无规律性,设计混淆算法不透明谓词结构,加大控制流分析解析算法结构的时间,使其提高对控制流分析的抵抗能力,设计抵御控制流分析的算法流程。在实验中将现有的两种混淆算法与该算法相对比,计算三种算法在混淆前后的圈复杂度,并计算其圈复杂度百分比,以判断算法抵御控制流分析的能力。通过实验结果可知,该算法混淆前后的平均圈复杂度百分比为61.0%,较现有的两种算法低5.3%和5.4%。由此可见该算法拥有更出色的抵抗控制流分析的能力,能够更好地保护Python程序不受控制流分析的威胁。
Because the existing Python program obfuscation algorithms do not design the insertion structure of opaque predicates,it is difficult to resist the attack of control flow analysis for a long time.In order to improve the security of Python programs,we optimize the design.The chaotic mapping of Python program is encrypted to improve the irregularity of obfuscation algorithm,the opaque predicate structure of obfuscation algorithm is designed,the time for analyzing the algorithm structure of control flow analysis is increased to improve its resistance to control flow analysis,and the algorithm flow resisting control flow analysis is designed.In the experiment,two existing obfuscation algorithms are compared with this algorithm.The cycle complexity of the three algorithms before and after obfuscation is calculated,and the cycle complexity percentage is calculated to judge the ability of the algorithm to resist control flow analysis.The experimental results show that the average cycle complexity percentage of the algorithm before and after confusion is 61.0%,which is 5.3%and 5.4%lower than the existing two algorithms.It can be seen that the algorithm has better ability to resist control flow analysis,and can better protect Python programs from the threat of control flow analysis.
作者
刘建
LIU Jian(Dongguan Science&Technology School,Dongguan Guangdong 523000)
出处
《数字技术与应用》
2021年第5期102-104,共3页
Digital Technology & Application
基金
中职信息技术专业程序设计类课程教学模式改革与实践研究(2019GH408)。