基于污点分析的控制流混淆分支点选择方法

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:baoyw00
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码混淆技术是软件保护的有效技术之一。其中控制流混淆方法以其适用范围广、安全性能好等优点得到了广泛的应用。近年来研究人员提出了许多行之有效的控制流混淆方法。同时也注意到,在控制流混淆的实践过程中,分支点的选择对最终代码保护的效果有着重要影响。  本文提出一种基于污点分析技术的分支点选择方法。软件中分支点众多,大部分软件逆向分析方法重点分析软件中与外部输入数据相关的部分。本方法通过使用污点分析技术可以发现与外部输入数据相关的分支点。首先对重要的输入数据打上污点标记,然后根据指令类别制定污点传播规则,追踪记录程序中与污点信息相关的分支点。在对程序进行代码混淆保护时,可以重点对标记有污点信息的分支点进行混淆处理,从而有针对性地增加逆向攻击者的攻击难度。同时注意到一般安全性较高的混淆方法效率相对较低,效率较高的则安全性稍有下降。通过对污点数据进行人工级别划分,级别较高的用安全性较高的混淆方法,级别较低的用效率较高的混淆方法,可以在安全与效率之间取得合理的平衡。  根据上述方法,本文实现一套针对C语言的分支点选择参考软件。该软件输入为C语言源代码与被标记为污点的数据源信息,通过词法分析、语法分析、语义分析等处理,输出为被标记为污点的分支点信息,从而帮助代码保护者有针对性地对代码进行混淆保护。最后对该方法进行了实验验证。实验结果表明,本方法确实可以找到与软件输入信息相关的分支点,从而显著减小分支点的选择范围。
其他文献
随着软件不断向服务化、平台化的方向发展,越来越多的软件系统采用开放可编程接口的方式对外提供功能,使得第三方用户可通过标准的协议在线访问、集成平台功能,构建各类新型应用
计算机集群技术作为搭建高伸缩性与高可用性系统的最成熟的解决方案之一,受到学术界和工业界的密切关注与认可。集群移植作为快速搭建集群的一种方法,可以将单机模式的系统通过
图像中的显著区域是指图像中某些区域与其周围区域明显不同,同时能吸引人眼注意的区域。图像显著性检测的目的是利用计算机模拟人眼视觉系统自动检测出图像中的显著区域,图像显
随着人机交互技术和计算机视觉技术的不断发展,体感交互逐渐成为人机交互领域重要的研究热点之一。特别是微软的体感交互设备Kinect,加速了体感交互技术的研究进程。另一方面,大
随着信息时代的到来和信息化技术的快速发展,船舶信息系统中各应用系统之间便捷、高效的数据分发、处理、备份也显得日益重要。针对船舶信息系统日益复杂,系统对实时性、可靠性
实时系统是一类需要在规定的时间内响应外部事件并完成对外部事件处理的系统,这类系统常见于与生命财产密切相关的领域,一旦这类系统出现设计上的缺陷,将会导致非常严重的后果,因
在软件测试中,对于特定的软件而言,我们不仅要考虑单个因素对软件运行产生的影响,也要考虑各个因素之间的交互对软件正常运行产生的影响。   组合测试是一种黑盒测试方法,其目
随着软硬件以及网络技术的发展,视频数据在近几年呈现出爆炸式的增长,在人们的日常生活中占据越来越重要的地位,视频逐渐成为人们进行信息交流的重要载体。随着视频资源的急剧增
旅客出行需求的理解对民用航空公司而言是非常重要的。分析并理解海量旅客的出行行为特点,捕获旅客真实需求,不仅有益于航空公司精准营销,提升满意度,增强用户体验,从而获取更大收
超短波无线网络在灾难救援等紧急通信方面具有重要的作用。然而,目前国内外还鲜有公开文献对超短波无线网络规划展开研究。在不同的应用场景下,超短波无线网络需要采用不同的规