AI模糊测试:攻防双刃剑与生成式AI新挑战

首页 / 业界 / 资讯 /  正文
作者:安全419
来源:安全419
发布于:2周前
AI辅助的模糊测试技术能够提升安全测试的效率,但也让攻击者拥有更强大的能力。与此同时,AI系统自身也面临着独特的测试挑战。
 
AI模糊测试定义

模糊测试虽已存在多年,但因操作复杂而未能广泛落地,然而AI的加入有望使这些工具更易用、更灵活。AI模糊测试已超越机器学习范畴,通过使用生成式AI等先进技术来发现应用或系统中的漏洞。
 
模糊测试工作原理
传统模糊测试通过向应用输入大量不同数据以试图触发崩溃,发现潜在弱点,而由于每个应用接收输入的方式各异,这需要大量手动配置。同时,由于可能的输入组合近乎无限,通过机器学习可用于生成最有可能暴露问题的测试用例。因此,在2019年,AI主要指机器学习,它作为一种生成测试用例的新技术逐渐兴起。
 
生成式AI与模糊测试

如今,生成式AI有潜力将这一传统手动过程自动化,生成更智能的测试用例,使更多企业能对系统进行更全面的测试。然而,同样的技术若落入攻击者手中,也可能带来致命威胁,使其能够大规模发起复杂攻击。
 
但这里还存在第三重维度:如果目标不是传统软件,而是AI驱动的系统呢?这就带来了更独特挑战,因为AI聊天机器人的行为不可预测,同一输入在不同时间可能产生不同响应。
 
用AI协助防御传统系统

谷歌的OSS-Fuzz项目于2023年宣布使用大语言模型提升工具性能。该工具自2016年发布,旨在帮助开源社区先于攻击者发现漏洞。截至2023年8月,它已协助在1000个项目中识别并修复超1万个漏洞和3.6万个错误;到2025年5月,这一数字已增至1.3万个漏洞和5万个错误。谷歌报告称,这包括在已进行数十万小时模糊测试的项目中发现的新漏洞,例如OpenSSL中的CVE-2024-9143。
 
安永表示,安永正使用生成式AI补充和创建更多测试用例。安永设有专门团队调查入侵事件,分析攻击路径,随后利用AI处理这些信息并生成更多测试用例。安永指出,传统测试受限于时间与人力,而AI能极大扩展测试规模,与以往自动化测试的顺序流程不同,生成式AI能验证更多替代路径,短时间内覆盖更多漏洞、测试用例和场景,AI模糊测试还能加速漏洞发现。
 
AI在模糊测试中的另一用途是构建测试框架。HackerOne指出:“若测试框架覆盖率不足,模糊测试可能无法发现漏洞。AI若能自动为项目生成框架并遍历所有代码,将是颠覆性突破。”但构建可用框架仍需要大量工作,远非简单的复制粘贴编码可比。
 
攻击者如何从AI中获益

随着生成式AI日益成熟,攻击者对它的运用也愈发精湛。一项调查显示,58%的受访者认为智能体AI将在未来一年驱动半数以上的网络攻击。
 
大语言模型Claude的开发公司Anthropic近期发现了一起典型攻击,攻击者使用Claude Code攻击约30个全球目标,包括大型科技公司、金融机构和政府机构。Anthropic称:“AI完成的工作量若由人工团队完成将耗时巨大。在攻击高峰时,AI每秒发出数千次请求——这种速度对人类黑客而言根本无法企及。”
 
攻击者首先说服Claude执行恶意指令,这在AI时代之前,被称为社会工程学或预测试。而在此案例中,这是一次“越狱”类提示注入攻击。攻击者谎称自己是进行防御测试的合法安全研究人员。
 
当然,使用Claude或ChatGPT等商业模型需要成本,攻击者可能不愿承担。AI提供商也在加强防范此类恶意使用。但攻击者另有选择,他们偏爱DeepSeek等开源模型,并且部分开源模型防护较弱,且用户可本地修改并完全移除防护,同时各类网络平台上也流传着未经审查的大语言模型版本。甚至一些犯罪分子还开发了专为犯罪活动调优的大语言模型,并向其他黑客推销。
 
防御聊天机器人免受越狱、注入等攻击

Gartner调查显示,32%的组织曾遭遇AI应用攻击。根据OWASP大语言模型十大风险,首要攻击类型正是提示注入攻击,例如用户冒充CEO索取机密。为防御此类攻击,AI工程师通常会设置护栏。 而攻击者则会通过多种提示变体测试护栏有效性,这就必须依赖AI生成攻击变体,因为传统脚本甚至机器学习系统都难以完成。
 
因此,需以AI测试AI。安永强调,AI能模拟对AI模型的社会工程学攻击,模糊测试正是寻找输入变体的技术之一。在攻击态势日益加速、规模化的当下,这已非可有可无,而是必需品。我们的系统必须具备同等的速度、规模与智能。
 
另外一个挑战在于大语言模型具有非确定性。在传统测试中,若同一输入百试百崩,那么调试很容易。但在AI系统中,这种一致性消失了,同一输入可能仅20%的概率触发问题。
 
防御提示注入远比防御SQL注入困难。因为SQL注入模式固定,且可通过隔离数据与指令进行防护;但大语言模型中,提示同时包含数据与指令,二者并无清晰界限。提示注入攻击很可能永远无法像SQL注入那样被彻底消除。