一种基于控制流平整的代码混淆算法研究与实现

被引量 : 0次 | 上传用户:youyoucao_1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
目前计算机安全领域内一个重要的研究内容就是对抗恶意主机攻击的软件保护技术。软件保护技术包括基于硬件的保护方式和基于软件的保护方式,代码混淆是一种有效实用的基于软件的保护技术。代码混淆是指对代码进行语义保留的转换,使得转换后的程序可读性差,攻击者从中难以获取有价值的信息,从而达到软件保护、防止软件盗版的目的。目前对代码混淆技术的研究主要集中在控制混淆和数据混淆上,这两种混淆方式具有较好的混淆强度和耐受性,但同时会增加混淆后程序的执行开销。本文提出了一种基于控制流平整的代码混淆算法,在提高程序的复杂度和抗攻击能力的同时,保证其执行开销,使混淆强度与执行开销有机结合。同时设计并实现了一种C#源代码混淆工具。本文主要工作如下:(1)研究当前代码混淆技术,针对现有控制流平整混淆算法高混淆强度下执行开销过载的缺陷做出新的改进。改进后的算法主要采用随机化的混淆技术实现了代码混淆的多样性,从而大幅度提高已有控制流平整混淆算法的混淆强度。此外,算法还通过控制混淆深度实现了混淆强度与执行开销的平衡,确保程序在实现高强度混淆的同时,降低其执行开销。(2)设计并实现了一种C#源代码混淆工具——CFFO(Control Flow Flattening Obfuscator),对CFFO的设计目标、系统结构、工作流程等内容进行详细介绍,并给出系统运行实例,通过实例进一步论证了新算法的有效性和准确性。(3)对CFFO进行功能和性能测试,白盒测试结果表明CFFO不存在影响混淆变换功能正确性的Bug,并通过具体的对比分析实验确定了CFFO的混淆深度阈值。在性能上,分别从CFFO混淆变换的正确性、混淆强度、耐受性和执行开销4个方面对CFFO进行攻击分析与测试,结合实验数据验证了CFFO混淆变换的正确性,同时表明CFFO具有较高的混淆强度、较强的耐受性、较低的性能过载。最后,将CFFO与另一款.NET混淆工具Xencode进行分析对比,通过实验数据表明CFFO的混淆强度高于Xencode。
其他文献
从1998年美国注册会计师Charlie Hoffman首次将XML语言应用于财务报告领域形成XBRL标准以来,XBRL标准的发展已经走过了十个年头。XBRL标准作为未来的商业报告语言,将会影响整
质量是事关国民经济和社会能否健康持续发展的基础,是企业的生命。提高质量不仅是经济社会发展的主题,更是社会和谐的基础。加强工程项目质量管理在通信工程设计领域中的研究
我国的基本养老保险经历了几次大的变革,由50年代的在中华总工会领导下的国家统筹,到文化大革命后的企业统筹,再到现在确立了“统账结合”省级统筹制度。走过60多年的风风雨
2008年,由美国次贷危机引起的金融危机席卷全球,同时带来了社会各界对公允价值计量模式的探讨。为研究公允价值是否是引起金融危机的罪魁祸首,金融危机下该计量模式给我国带
电影作为一种很重要的传播媒介,它是一个承载文化的容器并且良好地进行着文化传播。本论文从传播媒介的角度来重新认识电影。首先分析电影媒介的商业属性并对好莱坞电影和中
目的通过对肺炎支原体感染(Mycoplasma Pneumoniae MP)患儿进行高渗盐水支气管激发实验(BPT),对代表大小气道高反应性(Bronchial hyperresponsivenessBHR)的各项指标进行分析
随着时代的发展,人们对会计计量如何及时、公允地表达会计信息提出了更高的要求,公允价值计量已成为各国会计界重点研究的对象。面对这种国际大背景,中国传统的历史成本计量
随着电动助力转向(Electric Power Steering,简称EPS)系统越来越被广泛应用在轿车上,人们对EPS系统的操纵性能要求也越来越高,这给EPS系统控制器的设计提出了极大的挑战。本
近几年,“人手一机”成为常态,各类学习App便喷涌而出。数据显示,2016年在线教育用户规模为9001.4万人,到2019年预计将达到1.6亿人。不过,记者在采访中发现,一些学习类App被发现搜
报纸
牵引供电系统是电气化铁路的重要基础,特别是高速铁路(含客运专线)在我国还处于起步阶段,缺乏实践经验,尚存在一系列难题。以前粗线条的牵引供电系统设计方法,已不能满足工程