首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
以快速生成能够覆盖可能存在缺陷程序点的测试用例为目标,结合基于生成的Fuzzing技术、静态程序控制流分析、静态污点分析等手段,提出一种导向式动态符号计算方法.通过Fuzzing生成能够到达包含缺陷程序点的函数的测试用例,作为种子输入驱动符号执行快速到达缺陷函数;在缺陷函数内利用静态控制流分析、静态污点分析计算出控制流污点可达程序切片,基于该切片进行朝向缺陷点的多路径动态符号执行.实验验证了方法能够有效减轻符号执行应用中广泛存在的路径爆炸问题,并且能生成触发目标缺陷的测试用例.  相似文献   

2.
依据整数溢出漏洞特征,该文在对220个实际整数溢出漏洞分析的基础上提出了3种检测策略来缓解静态分析技术的高误报问题。结合静态分析可直接获取整数溢出类型信息及动态分析获取整数溢出漏洞准确的优点,提出了动静结合的整数溢出漏洞分析方法。先利用程序静态分析技术分析整数溢出并获取整数溢出类型等相关信息,动态分析根据静态分析得到的信息,使用自动插桩技术对代码进行插桩,结合漏洞特征设计的重构表达式运行具体符号执行以提高漏洞分析的准确率。动静结合的整数溢出漏洞分析方法减少误报效果较好:对Lighttpd-1.4.29进行检测时减少误报374条,占总量的67.3%;对Linux内核3.4版本进行检测时减少误报159 761条,占总量的98.2%;并最终成功分析出CVE-2011-4362、CVE-2013-1763整数溢出漏洞。  相似文献   

3.
Unlink攻击是一种Linux平台下面向堆溢出漏洞的攻击方式.已有的缓冲区溢出漏洞攻击检测技术通过检查程序控制流状态来确定程序漏洞触发点,并生成测试用例.但由于堆溢出数据很少直接导致程序控制流劫持以及相关保护机制的限制,已有的检测技术很难判断程序是否满足堆溢出攻击条件.为了提高程序的安全性,实现对Unlink攻击的检测,文中通过对已有Unlink攻击实例的分析,总结了Unlink攻击特征,建立了Unlink攻击检测模型,并根据该模型提出了Unlink攻击检测方法.该方法使用污点分析实现了对程序输入数据以及敏感操作的监控;使用符号执行技术构建程序污点变量传播的路径约束以及触发Unlink攻击的数据约束;通过对上述约束的求解,判断程序堆溢出漏洞是否满足Unlink攻击触发条件,并生成测试用例.实验结果表明,该方法能有效地实现针对Unlink攻击的检测.  相似文献   

4.
漏洞签名是指触发程序漏洞的输入的集合,利用漏洞签名对程序输入进行过滤是一种有效的保护漏洞程序的方法。该文主要研究漏洞签名的生成技术,提出了一种有效的基于污点分析和符号执行的漏洞签名生成方法,它通过污点信息传播定位输入中的与触发漏洞相关的字节,然后,通过符号执行得到路径约束,并通过约束求解得到最终的漏洞签名。基于开源项目Pin和Z3,该文构建了基于污点分析和符号执行的漏洞签名生成原型系统TASEVS,并对漏洞程序进行了验证。实验结果表明,TASEVS能有效地生成漏洞签名。  相似文献   

5.
为了提高数据竞争检测过程的准确性,提出了一种基于上下文敏感分析的数据竞争检测方法。使用控制流分析构建上下文敏感的调用图,采用逃逸分析查找出可能发生数据竞争的线程逃逸对象,进行上下文敏感的别名分析以减少误报和漏报,通过发生序关系判断消除由于忽略线程交互而导致的误报。依据该方法,在WALA软件分析框架实现了一个数据竞争检测工具ConRacer,并将该工具与现有的检测工具SRD和RVPredict进行了比较。结果表明,与SRD和RVPredict相比,ConRacer的检测准确度最高,不仅可以有效地检测数据竞争,而且可以降低检测过程中的误报和漏报。通过结合上下文敏感分析技术与传统的静态检测技术,ConRacer提高了检测过程的准确性,对发现并发错误和优化软件性能有一定的参考价值。  相似文献   

6.
空指针引用错误是一种常见的、难以发现和避免的程序错误。针对该错误,结合传统静态分析方法和符号执行方法,提出一种过程内流敏感、路径敏感和过程间上下文敏感的多敏感静态分析方法。对全局指针、局部指针以及函数的指针类参数进行建模,对指针指向地址进行简化分类。在函数间传递指针的指向状态,在函数内遍历路径,使用约束求解的方式判定路径可达性,当函数分析结束后,在退出点进行指针状态信息合并,以减少漏报和误报。在此基础上,使用人工标注错误触发条件的方式进一步提高分析效率,减少漏报和误报。实验证明,该方法能够高效地检测出各类空指针引用错误。  相似文献   

7.
为提高安卓(Android)应用权限泄露漏洞检测的准确性,提出了1种基于调用图的权限泄露检测方法。提取应用程序的公开接口,进而得到公开方法。提取程序中使用敏感应用程序编程接口(API)的敏感方法,然后构建程序方法间调用图。在公开方法和敏感方法间搜索权限泄露路径。以APKPure应用市场的286个应用程序包(APK)为实验对象进行验证。批量样本检测实验结果表明该文方法能够准确检测多种接口的权限泄露漏洞。选取Drozer、AndroBugs和腾讯金刚审计系统作为对比工具进行对比实验。结果显示,在公开接口检测时,该文方法检测范围最广、考虑的因素最多、漏报误报情况最少。  相似文献   

8.
静态分析是检测软件代码缺陷和提升软件代码质量的有效方式. 由于静态分析不实际运行代码,不能获取足够的运行时信息,因此分析结果的准确性有待提高. 相比而言,符号执行技术能够模拟执行程序并收集大量的数据流信息,提升数据流分析的准确程度,弥补静态分析的不足. 为了提高静态分析工具分析程序缺陷的准确性,本文设计并实现了一个代码缺陷检测工具ABAZER-SE,它基于GCC抽象语法树,综合采用符号执行与静态分析技术以检测源代码中的缺陷. 使用Toyota ITC静态分析基准对该工具进行了评估,实验结果表明,本文方法及工具可以提高静态分析结果的准确性.   相似文献   

9.
针对Android应用Intent通信可能导致的安全风险,设计了基于动静结合的安全威胁检测方法.静态分析阶段检测应用中请求的内部和外部组件并判断组件是否存在被劫持的风险,然后对存在利用Extra属性进行数据传输的Intent对象利用污点跟踪确定是否存在数据和权限泄露;动态测试阶段根据静态分析检测到的Intent对象构造Fuzzing测试数据,发送测试指令给测试对象并收集应用的执行日志,确定是否存在拒绝服务风险.实验结果表明检测方法可以有效和全面地检测由Intent通信导致的安全缺陷.   相似文献   

10.
为检测Android远程控制类恶意软件,该文通过对实际的该类软件进行分析,提出一种基于控制依赖分析的动态污点检测方法。动态污点分析技术是一种检测恶意软件的主流技术。该文对传统的动态污点分析进行扩展以检测Android远程控制类恶意软件。首先采用静态分析确定条件转移指令的控制范围;再使用静态插桩在目标应用中添加分析控制依赖的功能。插桩后的应用可在运行时检查敏感操作是否控制依赖于污染数据,进而对远程控制类恶意软件进行有效的分析和检测。该文实现了一个原型检测系统。实验结果表明:应用此方法可以有效地检测出实际的Android远程控制类恶意应用。  相似文献   

11.
不当内存操作一直是引发软件漏洞的主要原因之一。堆分配大小可控(CMA)是指当动态内存分配的关键参数可以被外界输入控制时,恶意用户可以通过精心构造输入数据导致非预期的内存分配。该文讨论了CMA可能引发的相关安全问题和CMA的检测方法。该CMA检测方法主要通过结合静态路径分析和路径导向符号执行技术的优势,系统地检测目标代码中的CMA问题。在经典的符号执行引擎KLEE的基础上,实现了CMA检测原型系统SCAD;通过对Linux系统常用的工具程序Coreutils进行测试,SCAD发现了10个CMA相关的问题,其中3个属于未公开漏洞。实验结果表明:SCAD的导向路径搜索算法与KLEE提供的8个路径搜索算法相比具有明显优势;针对内存分配相关的代码,SCAD的导向符号执行相比传统的符号执行引擎具有更高的代码覆盖率。  相似文献   

12.
Android第三方广告框架应用广泛,但Android系统漏洞和Android第三方广告框架的逻辑缺陷严重威胁着Android市场安全。攻击者可以通过恶意广告获取敏感数据、触发敏感操作,甚至是以应用程序的权限执行任意代码。该文总结了4种Android恶意广告攻击方式,并针对这4种方式设计了一种基于后向切片算法和静态污点分析的Android第三方广告框架静态测量方法,以及一种基于API Hook和靶向API Trace的Android恶意广告敏感行为动态检测方法。基于以上研究,该文设计并实现了Android恶意广告威胁分析与检测系统,通过实例证明该系统能够有效地分析Android第三方广告框架可能存在的安全隐患,并能够动态检测Android恶意广告的敏感行为。  相似文献   

13.
Android组件间通信的安全缺陷静态检测方法   总被引:1,自引:0,他引:1  
针对Android应用程序的组件间通信存在使用隐式Intent有可能引发组件劫持和信息泄露,而公开组件又存在权限泄露的安全风险问题,提出了一种Android组件间通信的安全缺陷静态检测方法.首先,静态分析应用程序,获得其控制流程图(CFG)、函数调用图(FCG)和组件调用图(CCG);然后,检测出潜在的危险组件、隐式Intent以及隐私泄露路径;最后,用该方法对20款流行的Android应用软件进行检测.结果显示:这些应用软件全部使用了隐式Intent,25%使用了动态代码,80%存在危险组件,40%存在隐私泄露.  相似文献   

14.
针对目前模糊测试方法存在大量无效测试用例的缺陷,提出了一种利用动态污点跟踪优化模糊测试的方法.该方法通过将外部输入的测试用例标记为污点数据,并记录污点数据的传播路径,然后利用传播路径相似度比对来判断某个测试用例是否有效,若测试用例无效则直接丢弃,若测试用例有效则进行并行化处理,进一步对测试用例进行分析.通过构建原型系统对上述方法进行验证,结果表明优化后的模糊测试比未优化的模糊测试在性能上提升了近一倍.  相似文献   

15.
根据缓冲区溢出原因提出一种基于源码分析的缓冲区溢出漏洞检测方法,该方法对源码预处理后进行静态分析并依次构造相应的抽象语法树、控制流图、函数调用图和变量表,最后建立有限状态自动机检测模型.以容易出现溢出的C/C++源码为例,构造相应的检测模型,结果表明:该检测模型相比已有检测方案,可以更加有效地检测出缓冲区溢出漏洞;同时,该方法对程序代码中的危险函数调用和溢出过滤机制也能进行有效识别从而降低误报率,该检测方法也适用于其他语言的源码检测.  相似文献   

16.
TVOS是我国自主研发的新一代具有自主知识产权、可管可控、安全高效的智能电视操作系统.TVOS自带应用商店是TVOS应用安装的唯一途径,但也对应用的检测提出了更高的要求.与Android应用不同,TVOS应用中很多权限和硬件调用均不涉及.采用函数调用图作为特征来弥补权限、API调用等在TVOS应用上表征能力上的不足的缺点.该方法采用基于核函数的分析方法和基于图相似度算法的分析方法提取TVOS应用的结构信息作为特征,使用SVM、RF、KNN 3种机器学习算法进行训练和分类.实验结果表明:所提出的基于函数调用图分析的NGB TVOS恶意应用检测方法能有效地检测出TVOS中的恶意应用,检测率最高达98.38%.  相似文献   

17.
安卓恶意软件的爆发式增长对恶意软件检测方法提出了更高效、准确的要求.早年的检测方法主要是基于权限、opcode序列等特征,然而这些方法并未充分挖掘程序的结构信息.基于API调用图的方法是目前主流方法之一,它重在捕获结构信息,可准确地预测应用程序可能的行为.本文提出一种基于图注意力网络的安卓恶意软件检测方法,该方法通过静态分析构建API调用图来初步表征APK,然后引入SDNE图嵌入算法从API调用图中学习结构特征和内容特征,再通过注意力网络充分融合邻居节点特征向量,进而构成图嵌入进行检测任务.在AMD数据集上的实验结果表明,本文提出的方法可以有效检测恶意软件,准确率为97.87%,F1分数为97.40%.  相似文献   

18.
为了及时彻底地测试演进着的软件,提出了软件演进驱动的按需自动测试算法.首先,根据软件演进时源文件的文本更新,通过控制与数据依赖分析识别受影响的语义变化区域,再结合代码安全缺陷分析按需构造精简测试流图.接着,按需符号执行图中各条路径且缺陷关联路径优先,主动探测和求解缺陷触发条件以排除误报,在路径分支点按需克隆执行环境以避免路径前缀的重复执行,并及时求解路径条件以剪除不可行路径.最终,自动生成针对软件更新实现路径覆盖的精简测试例集合.目前已实现了测试工具原型,用其测试了多个开源软件,发现了OpenSSL代码中的真实缺陷.  相似文献   

19.
利用软件补丁信息,结合静态分析、符号执行和约束求解技术,提出了一种测试输入自动生成方法.该方法可以自动产生绕过补丁修补位置的测试输入,给出新的触发软件缺陷的有效可执行路径,从而找到新的软件缺陷.运用这种方法,在GNU Mailutils中,成功地发现了一个软件缺陷.该方法可以运用于实际的软件代码,保证了软件补丁修补的完备性.  相似文献   

20.
针对恶意应用静态检测方法精度低的问题,以安卓(Android)应用运行时产生的系统调用为研究对象,提出1种恶意应用动态检测方法。将Android移动应用在沙盒环境下通过事件仿真获得的系统调用序列进行特征化,设计了基于系统调用次数和基于系统调用依赖图的2种特征表示方法。采用集成学习方法构建分类器,区分恶意应用和正常应用。采用来自于第三方应用市场的3 000个样本进行了实验验证。结果表明,基于系统调用依赖图的特征表示方法优于基于系统调用次数的特征表示方法,采用集成分类器具有较好的检测精度,达95.84%。  相似文献   

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

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