基于白盒密码的动态自修改代码混淆技术研究与实现

来源 :电子科技大学 | 被引量 : 3次 | 上传用户:selena2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
多年来,软件已经从硬件附带的免费代码演变成了有独立价值的产物,几乎支持所有电子设备和系统的自动化。互联网时代的到来使得越来越多的软件分布于移动端,软件在人们生活中的地位进一步增强。与此同时,软件分析技术和工具也相应发展。软件分析工具的发展曾一度帮助软件开发者们分析并完善他们的软件程序,但不幸的是,随着软件重要性和价值的提升,相同的软件分析技术恶意地用于逆向软件系统,带来极大的经济损失。代码混淆技术是一种新兴的,能有效阻滞逆向工程的软件保护方法,它将程序转换成一种更为难读、更难修改的形式,故而选择代码混淆作为研究对象。本文以Linux平台上的可执行程序的软件保护为研究目的,在调研代码混淆背景,并且简要总结具有代表性的代码混淆技术的主要内容及其优缺点的基础上,重点针对二进制混淆算法性能损失较大及需消耗过多资源的不足创新性地提出一种结合白盒密码算法的动态自修改代码混淆技术。本文完成的工作主要包括:1、研究代码混淆相关技术,其中包含对代码混淆概念的阐述、从不同角度对代码混淆进行分类并且讨论如何评估混淆算法的有效性。2、分析实现基于白盒密码的动态自修改混淆所需要的关键技术。针对二进制程序的静态和动态逆向分析技术的特点,研究了ELF文件格式的组织结构、基于查找表的白盒DES算法以及动态自修改算法的中心思想。3、设计并实现结合白盒密码算法的动态自修改混淆算法。给出了该算法的设计思想和整体框架,详细阐述了该框架下混淆器以及动态解混淆这两部分的设计实现过程,并进一步应用自修改状态机算法增强安全性,在Linux平台上使用C语言实现该针对二进制代码的代码混淆技术。4、定义软件威胁模型,在该模型下设计相关实验测试本文提出的代码混淆技术的强度、适应性、开销以及隐蔽性指标,最后依据测试结果对算法进行性能评估。5、总结全文工作,讨论本文提出的混淆算法的待改进部分并展望未来应用场景。实验结果表明,本文提出的算法能够有效地抵御静态和动态攻击。同时,混淆后的程序额外增加的时间和空间不大,揭示了这种混淆开销较小。
其他文献
随着机器视觉的发展,物体的三维重建技术日益显得重要。近年来,双目立体视觉测量方法得到了飞速的发展,该方法具有效率高、精度高、成本低等特点,非常适用于制造业现场的在线
随着微电子、无线通信技术的日趋成熟,无线传感器网络技术也得到快速发展。而在无线传感器网络广泛应用的同时,其所受到的安全威胁也越来越多。传统的基于密码机制的安全防御
计算机辅助检测是利用计算机学习人类的经验,达到自动化的辅助诊断病症。随着机器学习技术的发展,应用的领域不断扩展,它与医疗图像相结合的计算机辅助诊断成为研究的热点。
  随着微阵列芯片技术地广泛应用,科研人员能够在较少的实验中完成对物种大量基因表达水平值的检测,这为从分子水平上探索疾病的发病机理、临床诊断与治疗,了解生命的生长生活
云计算是近年来被提出的一种新型的计算模式,区别于传统的服务部署方式,弹性云计算可以使用户以相对较低的成本换取需要的IT基础设施服务。云计算以其独特的服务租用方式在IT领
成像测井技术是将沿井壁或井周的地层信息以电子图像的方式直观显示的新一代测井技术。成像测井在复杂油气储层等地质解释评价中发挥着越来越重要的作用,成为现在研究热点之一
近年来,通用计算图形处理器作为计算密集型应用的加速器,被科学家和工程师们广泛关注。在CPU-GPU异构并行计算平台上,诸如CUDA和OpenCL等编程框架都提供了相对底层的编程接口
随着成像设备以及计算机科学技术的发展,自然场景图像的分析处理具有重大的学术价值和应用意义。论文以自然场景图像为研究对象,对视觉注意模型和图论分割算法进行了深入研究和
基于图像的非接触式人体测量方法,具有快速、便捷、成本低等优点,已逐渐成为人体测量技术的研究趋势。人体参数测量的精确度取决于人体特征点的准确提取和围度拟合的方法,而
随着物联网技术的发展,无线传感器网络与IP网络的互联成为物联网应用的一个技术瓶颈。要实现使用不同通信协议的两种网络之间的无缝连接,网关起到了非常关键的作用。无线传感