-
基于Matlab的一维条形码检测的研究背景
资源介绍
北京大学博士学位论文 第二章 基于ROBDD的细颗粒度污点分析技术
统例如[48, 176]实现了细颗粒度污点分析的功能,现有研究中并未充分讨论如何
降低分析过程中的内存消耗、提高细颗粒度污点分析的性能。
本章分析了细颗粒度污点分析面临的困难,提出一种基于有序二元决策图
(Reduced Ordered Binary Decision Diagram,roBDD)的细颗粒度污点分析技术,
实现了离线污点分析系统TaintReplayer。实验结果表明,该方法能够减低分析过
程中的内存需求,显著提高细颗粒度污点分析的性能,为进一步扩大细颗粒度污
点分析的应用提供了途径。
本章内容安排如下:第2.2节介绍了污点分析的研究背景,分析细颗粒度污
点分析面临的困难;第2.3节介绍基于roBDD的集合表达的基本思想和理论背景;
第2.4.2节给出本文中细颗粒污点分析系统的设计与实现;第2.5节给出系统性能的
实验结果;最后,第2.6节对本章总结。
2.2 研究背景
污点分析本质上是一种信息流分析。D. Denning于1976年发表文献[72],奠定
了信息流分析的基础。信息流分析起初用于检查程序变量之间的信息传递是否违
背安全约束,防止信息从高密级客体流向低密级客体。污点分析从信息流分析理
论发展而来,其目的是跟踪特定数据片段在程序执行过程中的传播,为其他分析
提供支撑。例如,程序对数据的访问过程蕴含了数据协议信息,这就为协议格式
逆向分析提供了重要的帮助[48, 106]。
污点分析方法的工作方式可以分为静态方式和动态方式两类。静态污点分析
以数据流分析或类型系统等理论为基础[98, 7],通过分析程序代码而推衍污点数
据的传播。动态污点分析在具体程序执行轨迹上结合运行时信息追踪污点数据的
传播。进一步,动态污点分析系统在实现上可以分为两类 [4]:基于硬件支持的实
现和基于源代码/二进制代码植入(code instrumentation)的实现。
污点分析主要由两部分构成:污点数据标定和污点数据传播追踪。此外,可
以结合具体安全策略和分析需求,对污点数据的使用和传播加以限制。污点数据
标定较为简单,通常可以对系统调用或特定API劫持完成。而污点数据传播追踪
是污点分析的关键。为追踪污点数据的传播,通常要考虑数据依赖和控制依赖
– 15 –
- 上一篇: 角色服务和验证-odoo中文开发手册
- 下一篇: openssh8.6.tar.gz