主编单位云起无垠数说安全 版权声明 本白皮书由清华大学、数说安全和云起无垠联合出品,版权归北京赛博英杰科技有限公司和北京云起无垠科技有限公司所有。白皮书中所有原创文字、观点、图片、表格均受中国知识产权法律法规保护。转载、摘编或利用其他方式使用本白皮书内容的,应向所有者取得书面授权,并注明“来源:清华大学、数说安全、云起无垠”。违反上述使用的,我司将追究其法律责任。 本书编委会 总顾问:夏虹 主编:谭晓生 陈广勇崔宝江陈建军胡晓旭张明明牛伟纳郑立沈凯文 成员:(按姓氏拼音为序) 陈宇轩陈安莹曹思玮丁皓甘成昱韩敬维侯安然季可航李唯刘坤李晶李静文李学龙马思远谭杰王海清王勇王雪王书辉夏营徐士朋张新怡周鹏 作者单位:清华大学北京邮电大学电子科技大学北京中关村实验室公安部第三研究所中国信息通信研究院稳定性保障实验室长安通信科技有限责任公司数说安全北京云起无垠科技有限公司 引言 在信息技术迅猛发展的数字时代,软件已成为一切的基石。海量代码正在快速改变各行业的生产范式,加速全球信息技术的进步。然而,随着开源组件和第三方代码的广泛应用,前所未有的安全风险也随之而来,使得软件安全问题成为企业乃至国家的关注焦点。《新思科技应用安全测试服务分析》报告[36]数据显示,97%的被测目标被发现存在某种形式的漏洞,其中36%为严重及高风险漏洞,导致软件安全“灰犀牛事件”1频发。面对日益复杂的网络环境和多样化的攻击手段,传统基于规则的安全检测方法逐渐暴露出其局限性,难以及时识别新出现的安全漏洞。这种局限性突显了采用更先进、更灵活的安全技术的重要性,例如运用人工智能和机器学习技术提升安全检测能力,以更有效地识别和应对未知的安全威胁,从而确保软件和系统的安全。 在此背景下,模糊测试[11](FuzzTesting或Fuzzing)作为验证软件健壮性和安全性的关键技术,受到了广泛关注与应用。模糊测试通过模拟攻击者的行为,生成大量意外或随机的输入,挑战系统的稳定性和安全性,旨在发现潜在的安全漏洞和弱点。相比传统的基于规则的测试方法,模糊测试不依赖于已知的漏洞模式,而是通过随机变异的输入数据,全面覆盖系统的各类输入情况,从而大幅提高漏洞检测的广度和深度。因此,模糊测试在发现未知漏洞、提升测试覆盖率以及减少误报率方面具有无可比拟的优势。 1“灰犀牛事件”(GreyRhinoEvent)是一个比喻性的术语,用来描述那些虽然明显可见但通常被忽视,直到它们成为严重问题的大型风险。 近年来,随着大语言模型和安全智能体技术的引入,模糊测试在应对复杂软件系统和未知威胁方面展现出更大的潜力。大语言模型通过对程序代码的深度理解和分析,能够生成更具针对性的测试用例,极大提升模糊测试的覆盖率和有效性。而且,安全智能体技术能够自动化地进行漏洞检测、分析和修复,大幅提高整体测试效率和安全防护水平。 本白皮书共分为八个部分: 模糊测试概述:介绍模糊测试的基本概念和历史发展。 模糊测试技术解析:深入探讨模糊测试的基本原理、关键技术和不同分类。 应用领域分析:详细介绍模糊测试在不同应用领域中的实际应用和效果。 需求与创新案例:展示行业内模糊测试的最佳创新案例,涵盖多个行业的具体需求和成功案例。 技术实施指南:详细讲解模糊测试的技术实施,包括工具选择、流程方法以及自动化和智能化的最新进展。 挑战与未来趋势:分析当前模糊测试面临的挑战和未来发展趋势。 政策和标准介绍:介绍国内外模糊测试相关的政策和标准。 结论与展望:总结模糊测试的整体价值,并对未来的发展方向进行展望。 目录 1.1什么是模糊测试技术............................................................................................................................11.2模糊测试的历史与发展沿革..................................................................................................................31.2.1起源时代:随机模糊测试............................................................................................................41.2.2进化时代:反馈式模糊测试.........................................................................................................51.2.3智能时代:模糊测试智能体.........................................................................................................71.3模糊测试与传统测试技术的差异与优势................................................................................................81.3.1模糊测试与传统测试技术的差异..................................................................................................91.3.2模糊测试技术的核心优势..........................................................................................................12 二、模糊测试技术解析..........................................................................................................................15 2.3.1预处理技术..............................................................................................................................222.3.2测试用例生成技术....................................................................................................................262.3.3调度优化策略...........................................................................................................................292.3.4缺陷检测技术...........................................................................................................................312.3.5测试去重和优先级策略.............................................................................................................36 2.4模糊测试产品的前沿研究热点............................................................................................................37 2.4.1基于大模型的测试驱动智能生成技术........................................................................................382.4.2基于大模型的种子变异和优化技术............................................................................................402.4.3基于大模型的修复代码生成技术...............................................................................................42 三、模糊测试的检测对象.......................................................................................................................45 3.1.1源代码模糊测试.......................................................................................................................463.1.2二进制模糊测试.......................................................................................................................48 3.5操作系统模糊测试.............................................................................................................................57 3.6固件模糊测试...................................................................................................................................59 四、模糊测试的需求与应用案例.............................................................................................................624.1金融领域..........................................................................................................................................624.1.1金融领域的模糊测试需求.........................................................................................................624.1.2金融领域的应用案例................................................................................................................644.2智能网联汽