大型语言模型(LLMs)在摄取、合成和总结知识方面表现出非凡的能力,但同时在完成实际任务时也表现出明显的局限性。网络安全是一个值得注意的领域,它为利用 LLMs 带来了机遇和风险。LLMs 可以使网络安全专家在预防和阻止攻击时更加高效或有效。然而,对手也可以利用生成式人工智能(AI)技术。我们已经看到有证据表明,有行为者利用 LLMs 协助网络入侵活动(如 WormGPT、FraudGPT 等)。这种滥用引发了许多与网络安全能力相关的重要问题,其中包括:
• 像GPT-4这样的LLM能写出新颖的恶意软件吗?
• LLM会成为大规模网络攻击的关键组成部分吗?
• 我们能相信LLM为网络安全专家提供可靠的信息吗?
这些问题的答案取决于所选择的分析方法及其提供的结果。不幸的是,目前评估LLM网络安全能力的方法和技术并不全面。最近,SEI CERT部门的一组研究人员与OpenAI合作,开发了更好的方法来评估LLM网络安全能力。这篇SEI博客文章摘录自我们与OpenAI研究人员Joel Parish和Girish Sastriy共同撰写的最近发表的一篇论文,总结了14条建议,以帮助评估人员准确评估LLM网络安全能力。
在网络安全任务中使用LLM的挑战
真正的网络安全任务往往是复杂而动态的,需要全面评估广泛的背景。以传统的网络入侵为例,攻击者试图破坏系统。在这种情况下,有两个相互竞争的角色:进攻者和防守者,每个角色都有不同的目标、能力和专业知识。进攻方可能会根据防守方的动作反复改变战术,反之亦然。根据攻击者的目标,他们可能会强调隐身或试图快速最大化伤害。防御者可以选择简单地观察攻击以了解对手的倾向或收集情报或立即驱逐入侵者。攻击和响应的所有变化都不可能单独列举。
在这种场景中使用LLM有许多考虑因素。LLM能否代表网络安全专家提出建议或采取行动,以更快或更有效地阻止攻击?它是否会建议或采取造成意外伤害或被证明是毁灭性的行动?
这些类型的担忧表明,需要彻底准确地评估LLM在网络安全环境中的工作方式。然而,很难理解LLM的网络安全能力,使其能够被信任用于敏感的网络安全任务,部分原因是目前的许多评估都是作为简单的基准来实施的,往往基于信息检索的准确性。仅关注LLM可能已经吸收的事实知识的评估,例如让人工智能系统参加网络安全认证考试,可能会使结果偏向LLM的优势。
如果不清楚LLM如何执行应用和现实的网络安全任务,决策者就缺乏评估机会和风险所需的信息。我们认为,评估网络安全能力需要实际、应用和全面的评估。现实的评估反映了网络安全的复杂性,并提供了更全面的网络安全能力。
网络安全评估建议
为了正确判断将LLM用于网络安全任务的风险和适当性,评估人员需要仔细考虑其评估的设计、实施和解释。与基于一般事实的评估相比,更倾向于基于实用和应用网络安全知识的测试。然而,创建这些类型的评估可能是一项艰巨的任务,包括基础设施、任务/问题设计和数据收集。以下建议列表旨在帮助评估人员制定有意义和可操作的评估,准确捕捉LLM网络安全能力。我们的文件概述了扩大后的建议清单。
定义您希望评估捕获的真实任务。
从任务的明确定义开始,有助于澄清有关复杂性和评估的决策。以下建议旨在帮助定义现实世界中的任务:
- 考虑人类是如何完成任务的:从最初的原则出发,思考人类是如何完成您想要评估的任务的,并写下相关步骤。这一过程将有助于明确任务。
- 谨慎使用现有数据集:目前网络安全领域的评估大多利用现有数据集,这会影响评估任务的类型和质量。
- 根据预期用途定义任务:在规划评估时,请仔细考虑您是对自主性感兴趣,还是对人机协作感兴趣。这一区别将对您开展的评估类型产生重大影响。
适当地表现任务。
在网络安全领域,大多数值得评估的任务都过于细微或复杂,无法用简单的查询(如多项选择题)来表示。相反,查询需要反映任务的性质,而不是无意或人为地加以限制。以下准则可确保评估包含任务的复杂性:
- 确定适当的范围:虽然复杂任务的子任务通常更容易表示和测量,但其性能并不总是与更大的任务相关联。确保不要用狭隘的子任务来表示真实世界的任务。
- 开发支持评估的基础设施:实践和应用测试通常需要大量的基础设施支持,尤其是在支持 LLM 与测试环境之间的交互性方面。
- 在适当的情况下纳入人类的承受能力:确保你的评估反映了现实世界中人类的承受能力和适应能力。
- 避免不适当的人类承受能力:高等教育和专业认证环境中的人类评估可能会忽略现实世界的复杂性。
让你的评估更有力度。
在设计评估时要小心谨慎,避免出现虚假的结果。评估人员在设计评估时应考虑以下准则:
- 使用预先注册:考虑如何提前对任务进行评分。
- 对输入应用现实的扰动:改变问题中的措辞、顺序或名称对人类的影响最小,但可能导致LLM性能的急剧变化。这些变化必须在评估设计中加以考虑。
- 小心训练数据污染:LLM经常在大型语料库中进行训练,包括漏洞提要的新闻、常见漏洞和暴露(CVE)网站以及代码和安全在线讨论。这些数据可能会人为地简化LLM的一些任务。
为结果设置适当的框架。
方法合理的评估仍然会误导结果。在解释结果时,请考虑以下准则:
- 避免过于笼统的声明:避免对所评估的任务或子任务的功能进行全面的声明。例如,在衡量单个功能中的漏洞识别的评估中,强大的模型性能并不意味着模型擅长发现现实世界中的网络应用程序中的漏洞,在现实世界中,资源(如对源代码的访问)可能受到限制。
- 估计最佳情况和最坏情况下的性能:LLM可能由于不同的提示策略或使用额外的测试时间计算技术(例如,思想链提示)而在评估性能方面存在很大差异。最佳/最坏情况将有助于限制结果的范围。
- 小心模型选择偏差:从评估中得出的任何结论都应该放在适当的背景下。如果可能的话,对各种当代模型进行测试,或者适当地鉴定索赔。
- 明确您是在评估风险还是在评估能力。对模型风险的判断需要一个威胁模型。然而,一般来说,模型的能力概况只是风险不确定性的一个来源。基于任务的评估可以帮助理解模型的能力。
总结与展望
除非妥善管理风险,否则人工智能和 LLM 既有可能成为网络安全专业人员的资产,也有可能成为恶意行为者的福音。为了更好地了解和评估 LLMs 的网络安全能力和风险,我们建议开发基于真实、复杂、目标相互竞争的场景的评估。基于标准、事实性知识的评估偏向于 LLM 本身擅长的推理类型(即事实性信息回忆)。
为了更全面地了解网络安全专业知识,评估应考虑在现实场景中应用安全概念。这项建议并不是说对网络安全知识的基本掌握没有评估价值;相反,要准确、全面地判断网络安全专业知识,需要更现实、更有力的评估。了解 LLM 在实际网络安全任务中的表现,将为政策制定者和决策者提供更清晰的能力意识,以及在如此敏感的背景下使用这些技术的风险。
关注微信公众号【赛希咨询】,了解更多精彩内容。