首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 140 毫秒
1.
针对当前污点分析工具不能兼顾速度和精确度的缺陷,研究并实现一种粗细粒度结合的二进制代码动态污点分析方法。对比粗粒度污点分析和细粒度污点分析的实现过程,提出两者结合的新型分析框架。预先在线执行粗粒度污点分析以筛选有效指令,之后离线执行细粒度污点分析以计算污点信息。根据粒度的差异分别建立粗细粒度污点数据的引入标记方法,制定粗细粒度条件下的数据流和控制流传播策略,设计离线轨迹记录结构作为粗细粒度污点分析的传递文件。在原型系统上的测试结果表明,该方法通过在线粗粒度模式保证了污点分析信息采集的快速性,同时采用离线细粒度模式以合理的时间消耗提升了污点分析的精确度。  相似文献   

2.
基于污点指针的二进制代码缺陷检测   总被引:1,自引:0,他引:1       下载免费PDF全文
污点指针严重影响二进制代码数据流和控制流的安全。为此,提出一种二进制代码缺陷检测方法。引入指针污点传播规则,结合路径约束条件和边界约束条件得到缺陷引发条件,构造能够引发4类污点指针代码缺陷的输入数据。在Linux系统下实现ELF二进制代码缺陷检测工具,测试结果表明,该方法能降低测试用例生成数量,并发现Linux系统工具的1个虚函数调用控制缺陷和2个指针内存破坏缺陷。  相似文献   

3.
曾祥飞  郭帆  涂风涛 《计算机应用》2015,35(8):2386-2391
Web程序的安全威胁主要是由外部输入未验证引发的安全漏洞,如数据库注入漏洞和跨站脚本漏洞,动态污点分析可有效定位此类漏洞。提出一种基于对象跟踪的动态分析方法,与现有动态方法跟踪字符和字符串对象不同,追踪所有可能被污染的Java对象。方法应用对象哈希值表示污点对象,定义方法节点和方法坐标记录污点传播时的程序位置,支持污点传播路径追踪,针对Java流对象装饰模式提出流家族污点传播分析。方法设计一种语言规范对Java类库中污点传播相关的方法集合以及用户自定义方法建模,按照污点引入、传播、验证和使用,对方法集分类后设计和形式化定义各类方法的污点传播语义。在SOOT平台实现对J2EE源码或字节码插桩框架,使用静态分析计算可达方法集以减少插桩规模,应用原型系统对真实网站的测试结果表明该方法可有效发现注入漏洞。  相似文献   

4.
针对传统fuzzing测试中的低效率问题,提出一种基于污点跟踪的黑盒fuzzing测试方法.通过将合法输入标记为污染源,并记录污点在应用程序中的传播过程,提取关键的污点信息,用以指导新的测试用例的生成.这样生成的测试用例,具有更好的针对性,以及能够达到较深的代码深度,有良好的代码覆盖率,能更好的挖掘出潜在的漏洞和安全脆弱点.采用这种方法对几款图形处理软件和图形库进行了测试,发现了一个漏洞,并提交SecurityFocus通过.  相似文献   

5.
李洁  俞研  吴家顺 《计算机应用》2016,36(5):1246-1249
针对Web客户端中基于文档对象模型的跨站脚本攻击(DOM XSS)漏洞检测问题,提出一种基于动态污点分析的DOM XSS漏洞检测算法。通过构造DOM模型和修改Firefox SpiderMonkey脚本引擎,利用动态的、基于bytecode的污点分析方法实现了DOM XSS漏洞的检测。对DOM对象类属性的扩展和SpiderMonkey字符串编码格式的修改可以完成污点数据标记;遍历JavaScript指令代码bytecode的执行路径,获得污点传播路径,实现污点数据集的生成;监控所有可能会触发DOM XSS攻击的输出点,实现DOM XSS漏洞的判定。在此基础上,利用爬虫程序设计并实现了一个互联网DOM XSS漏洞检测系统。实验结果表明,所提算法能有效检测网页存在的DOM XSS漏洞,其检测率可达92%。  相似文献   

6.
基于执行踪迹离线索引的污点分析方法研究   总被引:1,自引:0,他引:1  
马金鑫  李舟军  张涛  沈东  章张锴 《软件学报》2017,28(9):2388-2401
针对二进制代码的污点分析方法在软件逆向工程、漏洞分析及恶意代码检测等方面具有重大的意义,目前大多数污点分析方法不支持浮点指令,执行效率较低,且传播的精度也不够高.提出并实现了一种基于执行踪迹离线索引的污点分析方法,以字节为粒度,且支持污点标签.提出执行踪迹离线索引的生成及查询算法,通过离线索引可跳过与污点数据无关的指令,以提高污点分析的效率.首次描述并解决了即时翻译执行导致的污点丢失问题.使用污点标签以标识污点的来源和位置.提出较完善的污点传播算法,支持浮点指令,以尽可能精确地刻画污点信息从源操作数传递到目的操作数的过程.实现了灵活的可配置机制,用户可通过黑名单动态地引入污点数据.将本文提出的方法应用到漏洞检测的场景中,使用12个真实的软件漏洞作为测试样本集,将本文中的方法与TEMU作对比实验,实验结果表明本文方法具备较强的漏洞检测能力,可验证的漏洞数比TEMU更多,且其平均执行效率比TEMU高5倍.  相似文献   

7.
在针对二进制程序的实际分析场景中,动态分析方法因具有更高的准确性而得到更为广泛的关注和运用.但是以动态污点分析为代表的细粒度分析方法通常会产生较高的性能和资源开销.为缓解这些问题,本文提出一种改进的轻量级在线解耦的动态污点分析方法,其主要思想是在线解耦程序执行和指令分析,同步构建分析代码并完成分析.该方法能够进一步降低对目标程序运行时的性能影响,并易将分析过程迁移至其它上下文环境中,从而可进一步减小对目标程序运行环境的干扰.本文通过采用多种实际程序进行实验,结果表明该方法能够比传统在线污点分析具有更高的分析性能,并具有较低的系统资源消耗,易于在实际环境中进行部署和应用.  相似文献   

8.
林伟  蔡瑞杰  祝跃飞  石小龙 《计算机应用》2014,34(12):3511-3514
离线污点分析中的针对轨迹记录文件的污点传播分析的时间开销非常巨大,因此研究快速高效的污点传播分析具有重要意义。针对上述问题,提出了一种基于语义规则的污点传播分析优化方法。该方法定义了一种指令的语义描述规则,用于描述指令的污点传播语义,利用中间语言自动生成汇编指令的语义规则,再根据语义规则进行污点传播分析,避免了现有污点分析方法中指令重复执行导致的重复语义解析,提高了污点分析的效率。实验结果表明,所提方法能够有效降低污点传播分析的时间开销,仅占传统基于中间语言污点分析的14%左右,提高了分析效率。  相似文献   

9.
针对Android应用存在的隐私泄露问题,提出一种基于动态污点分析技术的隐私泄露检测方法。通过插装Android系统框架层API源码标记隐私数据,并修改Android应用程序的执行引擎Dalvik虚拟机,保证准确跟踪污点标记在程序执行期间的传播,当有数据离开手机时检查污点标记判断是不是隐私数据。动态污点分析使得应用程序对隐私数据的使用更具透明性。实验结果表明,该方法能够有效检测出Android应用泄露用户隐私的行为,从而更好地保护用户的隐私信息。  相似文献   

10.
SQLIA漏洞破坏Web后台数据库的完整性,一直是Web应用安全的主要威胁。提出一种检测和验证Java Web程序的SQLIA漏洞的解决方案,将静态分析与动态验证相结合,并且形式化定义指令级污点传播操作语义,能够有效跟踪跨文件和跨页面的污点传播。静态分析首先对Source进行预处理和分类得到真实可靠的Source集合,然后应用方法、请求、会话、方法调用等多重关系匹配潜在的Source和Sink对,使得分析过程可以过滤无关Source和Sink,最后结合静态污点分析和活跃变量分析排除不可能存在污点传播路径的Source和Sink。动态验证首先对程序插桩,然后在执行程序的同时进行动态污点传播并生成Trace,基于Trace验证静态分析结果的正确性,获得真实污点传播路径的漏洞集合。原型系统基于Soot框架实现,对若干开源程序的实验结果表明了方法的有效性。  相似文献   

11.
为解决动态污点跟踪系统不能跨主机跟踪污点的问题,在Temu系统的基础上,提出基于应用程序编程接口Hook的污点跟踪方法。通过Hook插件完成对网络I/O函数的拦截,发送端Hook插件将污点数据和污染信息进行封装,接收端Hook插件解析数据包并根据污染信息对污点数据进行标记,由此实现跨主机动态污点跟踪。实验结果表明,基于该方法的原型系统可以实现跨主机污染传播,为动态污点跟踪技术在分布式环境中的应用提供支持。  相似文献   

12.
陈衍铃  赵静 《计算机应用》2011,31(9):2367-2372
在现有的污点分析技术基础上,针对当前污点分析工具的记录不准确等缺陷,研究并实现了基于虚拟化技术的动态污点分析。结合虚拟化技术设计了动态污点分析框架,针对内存污点数据和硬盘污点数据分别设计了基于Hook技术的污点标记模型和Hash遍历的污点标记模型,依据Intel&AMD的指令编码格式对指令进行分类并依据指令类型设计污点传播策略,为解决信息记录冗余问题设计了基于指令筛选的污点记录策略。实验证明,该技术是有效的动态污点分析方法,可以很好地运用于模糊测试中的测试用例生成与漏洞检测。  相似文献   

13.
面向Java的信息流分析工作需要修改编译器或实时执行环境,对已有系统兼容性差,且缺乏形式化分析与安全性证明。首先,提出了基于有限状态自动机的Java信息流分析方法,将整个程序变量污点取值空间抽象为自动机状态空间,并将Java字节码指令看做自动机状态转换动作;然后,给出了自动机转换的信息流安全规则,并证明了在该规则下程序执行的无干扰安全性;最后,采用静态污点跟踪指令插入和动态污点跟踪与控制的方法实现了原型系统IF-JVM,既不需要获得Java应用程序源码,也不需要修改Java编译器和实时执行环境,更独立于客户操作系统。实验结果表明,原型系统能正确实现对Java的细粒度地信息流跟踪与控制,性能开销为53.1%。  相似文献   

14.
动态信息流分析的漏洞利用检测系统   总被引:1,自引:0,他引:1  
安全相关的函数使用了来自网络用户输入或配置文件的非可信数据,由于未经过严格验证,引发了软件安全问题.大量软件漏洞都与非可信数据传播相关.非可信数据传播分析的漏洞利用检测系统将从网络用户输入或配置文件中获得的非可信数据标记为污染数据,使用信息流方法分析污染数据的传播范围,对可能使用污染数据的函数使用多种策略进行污染检查.借助开源的虚拟机代码实现动态信息流跟踪的漏洞检测原型系统,并优化了漏洞利用检测过程.  相似文献   

15.
在黑盒环境下,污点导向型模糊测试是挖掘指定脆弱代码区域潜在漏洞的重要技术.该技术将程序的输入当作污点值,使用动态污点跟踪技术定位与脆弱区域相关联的部分输入.随后的模糊测试阶段将只变异锁定的输入,从而避免了与脆弱区域无关的大量变异.然而,以往的研究并未对该技术的实际使用限制、效率提升做出系统、数学的分析.为了解决这一问题,本文采用14个CVE漏洞实例对该技术的适用范围进行基准测试与限制分析,将模糊测试过程抽象成几何分布以估计其效率提升与性能变化趋势.分析表明,在有元数据污点传播关系的漏洞挖掘中,该技术存在限制.同时,实验验证了效率估计公式具有良好的参考价值.  相似文献   

16.
秦彪  郭帆  杨晨霞 《计算机工程》2020,46(5):157-166
静态分析方法被广泛用于Android应用的隐私泄露检测,其以(Source,Sink)对形式检测潜在漏洞,但同时会产生大量虚警。针对该问题,提出一种上下文敏感和域敏感的污点分析方法。对污点传播的操作语义和一致性约束进行形式化定义,保证污点传播的语义正确性,同时分析插桩运行Android应用后产生的Trace片段,验证漏洞是否存在虚警。基于Soot实现原型系统并对DroidBench数据集中的70个应用进行分析,实验结果表明,该方法可成功验证4个虚警并发现8个漏报,表明其能有效判断静态分析结果的正确性。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号