共查询到18条相似文献,搜索用时 76 毫秒
1.
在针对二进制程序的实际分析场景中,动态分析方法因具有更高的准确性而得到更为广泛的关注和运用.但是以动态污点分析为代表的细粒度分析方法通常会产生较高的性能和资源开销.为缓解这些问题,本文提出一种改进的轻量级在线解耦的动态污点分析方法,其主要思想是在线解耦程序执行和指令分析,同步构建分析代码并完成分析.该方法能够进一步降低... 相似文献
2.
Web程序的安全威胁主要是由外部输入未验证引发的安全漏洞,如数据库注入漏洞和跨站脚本漏洞,动态污点分析可有效定位此类漏洞。提出一种基于对象跟踪的动态分析方法,与现有动态方法跟踪字符和字符串对象不同,追踪所有可能被污染的Java对象。方法应用对象哈希值表示污点对象,定义方法节点和方法坐标记录污点传播时的程序位置,支持污点传播路径追踪,针对Java流对象装饰模式提出流家族污点传播分析。方法设计一种语言规范对Java类库中污点传播相关的方法集合以及用户自定义方法建模,按照污点引入、传播、验证和使用,对方法集分类后设计和形式化定义各类方法的污点传播语义。在SOOT平台实现对J2EE源码或字节码插桩框架,使用静态分析计算可达方法集以减少插桩规模,应用原型系统对真实网站的测试结果表明该方法可有效发现注入漏洞。 相似文献
3.
离线污点分析中的针对轨迹记录文件的污点传播分析的时间开销非常巨大,因此研究快速高效的污点传播分析具有重要意义。针对上述问题,提出了一种基于语义规则的污点传播分析优化方法。该方法定义了一种指令的语义描述规则,用于描述指令的污点传播语义,利用中间语言自动生成汇编指令的语义规则,再根据语义规则进行污点传播分析,避免了现有污点分析方法中指令重复执行导致的重复语义解析,提高了污点分析的效率。实验结果表明,所提方法能够有效降低污点传播分析的时间开销,仅占传统基于中间语言污点分析的14%左右,提高了分析效率。 相似文献
4.
静态分析方法被广泛用于Android应用的隐私泄露检测,其以(Source,Sink)对形式检测潜在漏洞,但同时会产生大量虚警。针对该问题,提出一种上下文敏感和域敏感的污点分析方法。对污点传播的操作语义和一致性约束进行形式化定义,保证污点传播的语义正确性,同时分析插桩运行Android应用后产生的Trace片段,验证漏洞是否存在虚警。基于Soot实现原型系统并对DroidBench数据集中的70个应用进行分析,实验结果表明,该方法可成功验证4个虚警并发现8个漏报,表明其能有效判断静态分析结果的正确性。 相似文献
5.
6.
基于执行踪迹离线索引的污点分析方法研究 总被引:1,自引:0,他引:1
针对二进制代码的污点分析方法在软件逆向工程、漏洞分析及恶意代码检测等方面具有重大的意义,目前大多数污点分析方法不支持浮点指令,执行效率较低,且传播的精度也不够高.提出并实现了一种基于执行踪迹离线索引的污点分析方法,以字节为粒度,且支持污点标签.提出执行踪迹离线索引的生成及查询算法,通过离线索引可跳过与污点数据无关的指令,以提高污点分析的效率.首次描述并解决了即时翻译执行导致的污点丢失问题.使用污点标签以标识污点的来源和位置.提出较完善的污点传播算法,支持浮点指令,以尽可能精确地刻画污点信息从源操作数传递到目的操作数的过程.实现了灵活的可配置机制,用户可通过黑名单动态地引入污点数据.将本文提出的方法应用到漏洞检测的场景中,使用12个真实的软件漏洞作为测试样本集,将本文中的方法与TEMU作对比实验,实验结果表明本文方法具备较强的漏洞检测能力,可验证的漏洞数比TEMU更多,且其平均执行效率比TEMU高5倍. 相似文献
7.
8.
9.
10.
离线污点分析的轨迹记录过程的时空开销非常巨大,因此研究高效的轨迹记录方式在离线污点分析中具有重要意义。基于此,针对传统指令级轨迹记录存在的时空开销过大的问题,结合程序重放的思想,提出了一种启发式的轨迹记录方法,只在基本块和特殊事件发生时记录寄存器变化状态信息,并对该种记录方法的信息等价性进行了理论证明。实验表明,该方法能够有效降低离线污点分析中轨迹记录的时空开销,提高污点分析效率。 相似文献
11.
基于流和上下文敏感的SSA(static single assignment)信息流分析技术,提出了一种细粒度、可扩展的污点传播检测方法.利用控制流和数据流的相关信息,跟踪污染数据及其传播路径,可以检测缓冲区溢出、格式化串漏洞等程序脆弱性.分析过程在潜在问题点自动插装动态验证函数,在无需用户干预的情况下保证了程序的运行时安全.在GCC编译器的基础上实现了分析系统,实验结果表明,该方法具有较高的精确度和时空效率. 相似文献
12.
13.
隐私泄露是当前Android安全中最为重要的问题之一,目前检测隐私泄露的最主要方法是污点分析.Android静态污点分析技术凭借其代码覆盖率高、漏报率低的特点而被广泛应用在Android应用隐私泄露的检测上.然而,现有的静态污点分析工具却不能对Android动态加载和反射机制进行有效污点分析.鉴于当前Android动态加载和反射机制被越来越广泛地应用的现状,对如何使Android静态污点分析工具有效地处理Android应用的动态加载和反射机制的问题进行了研究.对Android源码进行了修改,使Android系统能够对Android应用实际运行中加载的dex文件和反射调用信息进行实时存储,并利用这些信息对Android静态污点分析过程进行引导.以当前领先的静态污点分析工具FlowDroid为基础,对其进行了改进,提出了使用非反射调用语句替换反射调用语句的策略,实现了一个能够对Android动态加载和反射机制进行有效污点分析的工具——DyLoadDroid,并通过实验验证了其在处理Android动态加载和反射机制的污点分析问题上的有效性. 相似文献
14.
15.
“棱镜门”事件的曝出,使得Cisco路由器的安全性问题越来越受到重视。从提升网络环境的安全角度出发,通过引入动态污点分析技术来检测针对Cisco IOS的内存溢出攻击。通过分析Cisco IOS的指令格式,根据不同指令的特点制定相应的污点传播规则,实现了Cisco IOS上的动态污点分析技术。在此基础上,通过定位Cisco IOS中的安全库函数来确定安全性检测点,并在安全性检测点实现对内存溢出攻击的检测。实验结果证明了本文提出的攻击检测方法的有效性,并可以追踪攻击的来源,有利于提升网络的安全性。 相似文献
16.
随着软件系统功能的日益强大,软件编写的代码量呈指数趋势增长,程序错误控制和程序性能优化变得越来越困难。为了在代码量增加的情况下,有效控制程序质量,改进程序性能,程序员大多采用动态二进制分析工具进行程序分析。动态二进制代码插入框架有效地简化了动态二进制工具的构建,因此准确掌握每种动态二进制代码插入框架的特征,成为准确构建不同工具的前提。本文通过对常用的五种二进制代码插入框架进行深入研究分析,总结归纳了每种框架的特点和特定情况下的适用性,为在工具构建过程中进行框架的准确有效选择提供了参考。 相似文献
17.