基于代码混淆的软件保护方案研究与设计

被引量 : 0次 | 上传用户:iloveyouguoran
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着科技的飞速发展,“万物皆可连”的物联网时代已经到来,可预见会有越来越多的物联网应用出现。由于是新兴行业,很多制度尚不完善,类比传统软件行业受到的软件盗版等问题的困扰,物联网应用同样面临软件资产被盗的威胁。软件资产的安全性迫切需要得到保障,而代码混淆技术是实现软件保护的有效手段。由于物联网应用场景复杂,平台繁多,设备体系架构、软件编程语言未得到统一化的规定,导致针对特定编程语言或者特定平台架构的传统代码混淆方案应用受限,因此本文提出基于LLVM这款优秀的编译系统来克服上述的问题。LLVM框架拥有设计优良的中间语言格式,具有平台无关性,同时支持多种编程语言并可以生成不同体系架构的机器码,这些特点使得基于LLVM设计面向物联网应用的代码混淆保护方案变得可能。本文基于LLVM框架,面向物联网应用研究设计基于代码混淆的软件保护方案。在分析现有代码混淆技术的基础上,针对物联网应用的特点,提出三种较为轻量级的代码混淆算法。对字符串数据进行混淆,防止攻击者通过静态字符串扫描的方式获取程序内部敏感信息。设计密钥变换,并在使用字符串前执行动态解密操作,使用完之后进行重新加密操作,对抗动态内存扫描字符串攻击。对控制流进行混淆,设计一种受限的控制流平坦化算法,将原本简单清晰的控制流图复杂化,进一步增强针对控制流图分析的难度,同时也考虑到对开销的控制,通过限制待混淆基本块的个数降低开销并提供一定的安全保障。对函数调用进行混淆,由于攻击者可以根据函数的调用情况猜测函数的功能,本文提出一种跳板函数的概念,通过将大部分函数封装到一个函数中,再由跳板函数进行调用的思路,设计了一种函数调用隐藏的算法,实现对抗静态分析中对函数调用图的分析。最后基于上述研究和设计,利用LLVM框架实现了三种算法,搭建了代码混淆的原型系统,并进行了混淆效果展示实验、多组样本的功能性测试实验和开销测试。实验结果表明,本文提出的方法能够达到预期混淆效果,对物联网应用的保护有效,为物联网应用保护提供了一些思路。
其他文献
近年来,中国内地综艺节目模式创新力度加大,涉及题材范围拓宽,已形成相对稳定和成熟的节目模式群,具有中国特色的电视综艺文化特质逐渐显现。模式创新注重家庭观念、公益元素
本文结合沁水盆地煤层气钻井作业队作业实践,对该区域煤层气钻井作业安全风险进行分析,可以作为在该区域承揽煤层气钻井作业业务单位的安全管理决策依据。
提升环境统计信息的品质,开展好统计活动的重点是做好审核活动的前提。目前使用的数据审核措施非常多,现具体分析了环境统计活动的关键意义以及审核措施等相关信息。
产业兴旺是实现乡村振兴战略的重要环节,也是解决三农问题的全新方式。长江上游地区经济的健康发展对我国经济的发展至关重要。本文论述长江上游地区农村产业存在的基础设施
本文结合塞内加尔项目,阐述了头部漏斗、溜槽的设计计算过程,尤其提出了带弧形调节挡板这一新型结构的头部漏斗,对设计人员能起到了一定的参考、启发作用。
我国建筑行业在当前飞速发展的社会经济背景形势下也取得了突破性的发展,房屋建筑质量一直以来是社会和广大人民群众关心的重点。其中房屋建筑结构设计是确保房屋建筑建设顺
随着科学技术的不断发展,传统的工程测绘技术已经不能满足当前工程对测量精准化的要求,GPS测量技术作为一种高精度、高效率的测量技术能够很好地适应现代工程测量的需要,现已
不规则多边形定位算法是排料算法的重要组成部分,其效率对排料算法的性能有重要影响。基于扫描区间表示的不规则多边形定位算法因能适应任意复杂多边形而被广泛采用,但它存在
盲人在独自行走时主要依靠导盲装置.文章提出了一种基于AT89C51单片机为控制核心,辅以ISD4004语音芯片和失心电机,利用超声波测距原理设计了一种智能手杖.该装置可以对障碍物进行
目的氟康唑片的体内外抗真菌药效学研究。方法运用琼脂稀释法抑制实验,对氟康唑片进行体外抗真菌药效学研究:以测定最小致死量(MLD)以及ED50考察氟氯唑片体内对小鼠感染白色念珠