一个面向安全分析的可执行程序结构化和分析器的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:jjjjedu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
日益严重的蠕虫和网络攻击的发生大多是由于软件中存在着安全缺陷,对软件安全缺陷的研究已经成为网络攻防的焦点。现有的软件安全缺陷分析方法根据程序的结构特征或者行为特征发现和限制软件中存在的安全缺陷,但普遍分析粒度过粗,尤其在源代码不可获得的情况下缺乏对安全缺陷精确识别的支持。uSVR项目组提出了一种新的安全缺陷分析方法-基于执行路径的安全缺陷挖掘方法,旨在解决没有源码的情况下对应用软件中的安全缺陷进行精确识别的难题。该方法将研究视角扩展到对执行路径的整体行为特征的把握,以逆向工程和程序分析技术为基础,在计算机的辅助下进行安全缺陷特征提取和识别,并通过与手工分析方法对比来验证方法的有效性。 实现uSVR项目的第一步,需要将二进制执行代码转换为一种能够支持安全分析的中间语言,一方面确保程序的微观安全特征不会丢失,另一方面易于人工分析和自动化分析。 本论文介绍的二进制可执行程序结构化与分析器BESTAR采用静态分析方法将二进制可执行代码表示为面向安全分析的中间语言PANDA。BESTAR首先利用静态反汇编工具得到汇编代码,然后利用控制流分析CFA识别程序的执行流,恢复程序的结构化,构造程序控制流图,并利用数据流分析DFA与符号执行方法,重构数据结构、表达式和函数,最后将汇编代码转换成具有高级程序设计语言特征的面向安全分析的PANDA语言表示。并在上述过程中逐步消除常见混淆和部分编译优化对理解程序的影响。 在完成格式化表示之后,能得到与编译优化、代码混淆、程序设计语言、系统平台无关的中间语言程序代码。这种程序代码含有源代码不具有的底层信息,同时是面向安全分析的,不仅能为进一步进行缺陷特征提取与缺陷分析打基础,还可以支撑目前应用在源代码阶段的各种技术,如逆向工程、程序理解等,具有重要的研究意义和巨大的研究价值。
其他文献
本文主要讨论量子指纹协议中的两个基本问题:无纠缠量子指纹的最优性;共享纠缠量子指纹的性质,及其最大错误率下界与纠缠量(用Schmidt数度量)之间的关系.本文首先简单回顾了量子
在信息技术飞速发展的今天,以Web2.0概念为主导的重要网络应用“社区问答系统”现已逐渐成为人们网上信息获取和经验知识分享的重要渠道。百度知道、Yahoo!Answers、知乎等作
绩效管理和绩效考核是做好实际工作、实现组织战略目标的重要管理工具和手段。在本文拟要分析和解决的新闻宣传和稿件投稿工作中,我们以绩效管理和相关信息技术为理论依据和实
学位
大规模对称矩阵特征问题存在于许多科学计算领域与工程设计中,而且在许多科学应用的软件代码中也包含着对称特征问题的求解。然而随着求解问题规模的不断增大,存储空间和计算时
随着计算机和网络技术的发展,“无缝计算”、“移动计算”等概念已经成为21世纪信息技术的新焦点,在这种环境下瘦客户机/服务器架构以管理集中节省资源等优点发展迅速,而支撑这
曲面建模是计算机图形学的重要研究领域。近二十年来,随着三维数据采样设备的长足进步与复杂拓扑结构的曲面造型日益普及,细分曲面已成为计算机辅助几何设计(CAGD)和计算机图形
随着硬件工艺的发展和架构的创新,众核体系和异构平台越来越成为高性能计算系统的主流方式。基于众核跨平台的应用设计和程序优化正在成为高性能计算的研究热点。与传统的多核
手持设备作为标准办公设备在企业内部得到越来越广泛的应用,然而它为人们的工作生活提供便利的同时,也带来了一系列的安全隐患。大部分安全隐患的根源在于缺乏对手持设备和网络
人们的日常生活中充满了各种各样的信息,WAP让越来越多的人开始通过手机来获取信息,但是目前WAP还存在着一些局限;随着支持J2ME的手机的普及,基于J2ME的嵌入式手机程序开发也有了
随着手机、数码相机等移动设备的迅猛发展,人们如今可以随意地获取大量的图像或视频数据。相比于传统的文字和音频信息,图像和视频能够将信息表达得更为丰富和直观,因此也开始逐