排序方式: 共有35条查询结果,搜索用时 52 毫秒
1.
基于漏洞库的fuzzing测试技术 总被引:1,自引:1,他引:0
鉴于主流fuzzing(模糊)测试技术生成的测试用例随机性和针对性无法兼顾的问题,提出一种基于漏洞库的fuzzing测试技术.根据漏洞产生的原因和重现的方法对漏洞库进行整理分类,构造出测试用例集用于fuzzing测试.这样生成的测试用例集直接与漏洞相关,具有更强的针对性;同时扩展的测试用例集可以用于检测未知的同类漏洞,覆盖面更广,因此保证了一定的随机性.以ftp服务器测试为例,选取了W indow s平台下的4款ftp服务器进行测试,共发现了3款软件的6个新漏洞,提交Se-curityFocus并通过,其中5个漏洞得到了国际权威漏洞数据库CVE的认可. 相似文献
2.
伴随着B/S架构的流行和Web2.0时代的迅速发展,由于对不可信用户数据缺乏正确的校验机制,造成跨站脚本漏洞广泛地存在于各类网站中,并严重威胁用户安全。其主要原因在于服务端代码和客户端脚本的混合,使得当前技术无法准确而有效地生成攻击向量,探测跨站脚本漏洞。本文基于静态数据流特征分析,依据脚本注入位置和攻击向量模式设计了新的分析模糊器,通过采用字符串约束求解技术来验证攻击向量的有效性,并实现了白盒测试框架的原型系统XSS-Explore。实验结果表明,与同类工具相比,该系统能够较全面而准确地检测跨站脚本漏洞。 相似文献
3.
对针织坯布生产中常见的布面起毛和“中央线”疵点产生的原因进行了分析,并从机械、生产及技术等角度提出了一些改善措施。 相似文献
4.
软件崩溃是一种严重的软件缺陷, 可导致软件终止运行. 因此, 对软件崩溃的测试在软件迭代的过程中极为重要. 近年来, 模糊测试技术(如AFL)由于可以自动化生成大量的测试输入来触发软件崩溃, 被广泛用于软件测试中. 然而, 通过该技术产生的导致软件崩溃的测试输入中, 大部分崩溃的触发原因都是重复的, 因此软件开发人员需要对测试输入进行分类, 带来了许多冗余工作. 目前, 测试输入分类已经有很多自动化方法, 主要包括基于程序修复的分类算法和基于软件崩溃信息的分类算法. 前者通过对程序在语义上进行分析, 在运行时通过在程序中替换修复模板后重新运行测试输入, 进而对输入分类. 因为此方法需要人为地对于软件崩溃编写修复模板, 所以其分类的效率与修复模板的质量存在很大联系; 且由于需要先修复崩溃、再对崩溃做分类, 影响了软件崩溃的修复效率. 采用后者的思想, 提出了一种轻量而高效的利用软件崩溃信息的测试输入分类算法CICELY. 其在软件崩溃点堆栈信息分类的算法基础上, 在分析软件崩溃点堆栈时引入了动态链接库信息, 通过区分系统动态链接库与用户动态链接库, 结合用户代码位置信息, 得到用户关注的函数集合, 以在分类时以用户函数为基准对崩溃进行界定. 最后, 分别将CICELY与几种基于程序修复的分类算法和基于软件崩溃信息的流行分类工具进行了比较, 实验测试的数据集共计19个项目、42组测试集. 在与基于软件崩溃信息的分类工具Honggfuzz, CERT BFF在相同数据集上比较时, CICELY在分类结果的组数上比上述二者减少了2112.89%和135.05%, 说明CICELY在同类算法上的实验效果有较大提升, 具有更高的精确性. 在与基于程序修复的分类算法“语义崩溃分类”用其论文中提供的测试数据集进行比较时, CICELY比“语义崩溃分类”的分组结果差4.42%; 在由对应了多个崩溃的测试输入所组成的测试集上实验时, CICELY比“语义崩溃分类”分组的重复度高了3%. 但是语义崩溃分类只能对于空指针解引用和缓冲区溢出这两种崩溃输入导致的崩溃进行分类, CICELY不受这样的限制. 相似文献
5.
混合式漏洞挖掘利用模糊测试和符号执行相互协作以达到优势互补的目标,测试用例的同步是相互协作的关键。然而,现有混合式漏洞挖掘技术方案中,测试用例同步是主要以交换和整合的方式实现,较为单一,忽略了程序状态探索时的运行时信息,对符号执行的执行过程没有充分利用。针对上述问题,本文提出了一种基于程序关键点的测试用例同步方法,旨在分析挖掘符号执行的执行过程,定位与识别代码覆盖率导向的程序关键点,进而指导模糊测试的测试用例调度与变异过程, 实现更细粒度的测试用例同步。首先,该方法在符号执行过程中识别模糊测试模块难以触及的分支对应的变量集合,并将其提取为程序的关键点。其次,为了充分利用符号求解的结果,该方法将单次求解得到的关键点信息进行进一步组合匹配,以帮助符号执行模块额外生成更多能够被模糊测试模块导入的测试用例。最后,在模糊测试模块中,该方法在种子挑选步骤中优先选择包含关键点信息的测试用例去引导测试过程探索程序的特定区域,并在测试用例变异中着重对关键点位置进行变异以引导其产生能覆盖新代码分支的测试用例。基于混合式漏洞挖掘工具QSYM,本文实现了一个原型系统Sol-QSYM,并选取了12个真实程序进行了实验评估。实验结果表明Sol-QSYM可以提升12.73%的测试用例成功导入率,相较于QSYM提升9.07%的代码覆盖率,并能够发现更多的程序crash。这些结果表明改进后的测试用例同步方法可以很好地提高混合式漏洞挖掘对符号执行中程序状态探索结果的利用率。 相似文献
6.
覆盖反馈的灰盒Fuzzing已经成为漏洞挖掘最有效的方式之一.广泛使用的边覆盖是一种控制流信息,然而在面向污点风格(taint-style)的漏洞挖掘时,这种反馈信息过于粗糙.大量污点无关的种子被加入队列,污点相关的种子数量又过早收敛,导致Fuzzing失去进化方向,无法高效测试Source和Sink之间的信息流.首先,详细分析了现有反馈机制在检测污点风格漏洞时不够高效的原因;其次,提出了专门用于污点风格漏洞挖掘的模糊器TaintPoint.TaintPoint在控制流轨迹的基础上加入了活跃污点这一数据流信息,形成活跃轨迹(livetrace)作为覆盖反馈,并围绕活跃轨迹分别在插桩、种子过滤、选择和变异阶段改进现有方法.在UAFBench上的实验结果表明:TaintPoint检测污点风格漏洞的效率、产出和速度优于业界领先的通用模糊器AFL++及定向模糊器AFLGO;此外,在两个开源项目上发现了4个漏洞并被确认. 相似文献
7.
针对传统fuzzing测试中的低效率问题,提出一种基于污点跟踪的黑盒fuzzing测试方法.通过将合法输入标记为污染源,并记录污点在应用程序中的传播过程,提取关键的污点信息,用以指导新的测试用例的生成.这样生成的测试用例,具有更好的针对性,以及能够达到较深的代码深度,有良好的代码覆盖率,能更好的挖掘出潜在的漏洞和安全脆弱点.采用这种方法对几款图形处理软件和图形库进行了测试,发现了一个漏洞,并提交SecurityFocus通过. 相似文献
9.
模糊测试是一种安全测试技术,主要用于检测安全漏洞,近几年模糊测试技术经历了快速发展,因此有必要对相关成果进行总结和分析.通过搜集和分析网络与系统安全国际四大顶级安全会议(IEEE S&P,USENIX Security,CCS,NDSS)中相关的文章,总结出模糊测试的基本工作流程,包括:预处理、输入数据构造、输入选择、评估、结果分析这5个环节,针对每个环节中面临的任务以及挑战,结合相应的研究成果进行分析和总结,其中重点分析以American Fuzzy Lop工具及其改进成果为代表的,基于覆盖率引导的模糊测试方法.模糊测试技术在不同领域中使用时,面对着巨大的差异性,通过对相应文献进行整理和分析,总结出特定领域中使用模糊测试的独特需求以及相应的解决方法,重点关注物联网领域,以及内核安全领域.近些年反模糊测试技术以及机器学习技术的进步,给模糊测技术的发展带来了挑战和机遇,这些机遇和挑战为下一步的研究提供了方向参考. 相似文献
10.
现有工控协议模糊测试方法未考虑嵌入式终端系统特点,且对未采用传输控制协议/网际协议(TCP/IP)的工控协议研究较少。基于模糊测试提出一种通用面向对象变电站事件(GOOSE)协议解析漏洞挖掘方法。使用变异方式构造测试用例,给出基于GOOSE报文字段类型、抽象语法标记1(ASN.1)编码方式和比特翻转的3类变异策略;提出基于心跳报文和系统运行信息的终端异常监测方法。设计所提方法的实施系统架构和测试流程,在智能变电站实验室环境中,对某厂家嵌入式终端进行测试,发现2个未公开的GOOSE协议解析漏洞,验证所提方法的有效性,提出防范基于此类漏洞的畸形报文攻击的建议。 相似文献