ChatGPT for Security
寻找漏洞
原理:ChatGPT的代码调试功能
绕过内置的保护措施:把请求设定为安全研究员,并且出于测试目的
案例:安全研究员Brendan Dolan-Gavitt,要求聊天机器人解决一个捕捉旗帜的挑战,并提供源代码以找到一个漏洞,ChatGPT的回应是令人震惊的准确评估,经过一些后续问题,确定了缓冲区溢出漏洞
利用漏洞
告诉ChatGPT,他们正在进行“破解盒子”渗透测试挑战,需要找到一个漏洞。一旦找到,就可以获得有关重点关注位置的分步说明、可以使用的漏洞利用代码示例以及要遵循的示例
恶意软件开发
在ChatGPT上线的三周内,网络安全公司Check Point在地下论坛发现黑客利用其开发恶意工具。
基于python的窃取器,它可以搜索常见的文件类型,将它们复制到Temp文件夹内的一个随机文件夹,将它们压缩,并将它们上传到一个硬编码的FTP服务器。
ChatGPT创建一个Java程序,下载Putty并使用PowerShell在后台隐蔽地运行。
CyberArk的网络安全团队指出,他们使用ChatGPT的API来创建多态的恶意软件。这种类型的恶意软件会改变其在每个受害者身上的行 为,以躲避基于签名的检测。他们的技术文章显示了他们是如何利用API直接进入Python代码,绕过网络版上的一些内置保障措施的。其结果是一种新型的恶意软件,它不断变化,完全无法被传统的反病毒软件包检测到。
ChatGPT编写的代码会被安全解决方案快速有效地检测和消除。更重要的是,如果这样的代码没有被有经验的程序员检查,恶意软件很可能包含细微的错误和逻辑缺陷,这将使其效力降低。
至少在目前,ChatGPT只能与新手病毒编写者竞争。
网络钓鱼
攻击者可以用它来编写各种电子邮件,改变他们的写作风格,使之变得热情友好或更注重商业,甚至可以要求ChatGPT以名人的形式写邮件。最终的结果是一封写得很好的、经过深思熟虑的电子邮件,可以用来进行网络钓鱼
要想让一封电子邮件包含所有必要的组件,必须给聊天机器人提供非常详细的指示。但主要的网络钓鱼攻击通常由一系列的电子邮件组成,每一封都会逐渐获得受害者的更多信任。因此,对于第二、第三和第N封电子邮件,ChatGPT确实会给网络犯罪分子节省很多时间。由于聊天机器人会记住对话的背景,因此后续的电子邮件可以从一个非常简短的提示中漂亮地制作出来
反击:内容分析专家正在积极开发检测聊天机器人文本的工具
宏程序和LOLBIN
攻击者需要在电子邮件中包含一个链接或文件,他们可以使用ChatGPT来创建宏,当电子表格被打开时自动运行。例如,ChatGPT可以提供代码,在Excel中启用宏时自动运行calculator.exe。
下一步是将这段代码转换为LOLBIN(Living off the Land Binaries),这是一种使用可信的、预装的系统工具来传播恶意软件的方式。其结果是一个新的宏,当钓鱼邮件中的电子表格被打开时运行终端。然后,攻击者可以运行基本的网络命令,如反向外壳,以连接回所需的机器,基本上绕过了大多数防火墙,使受害者的机器受到许多其他攻击
恶意软件分析
当信息安全分析师研究新的可疑应用程序时,他们会对伪代码或机器代码进行逆向工程,以获知工作原理。ChatGPT已经能够快速解释某段代码的作用
Ivan Kwiatkovski已经使用davinci-003为IDA Pro开发了一个插件,这是与ChatGPT类似的语言模型。有时候,这个插件不工作或输出垃圾,但有时候,它自动为函数分配合法的名称,并识别代码中的加密算法及其参数
安全咨询
给定一些安全场景,ChatGPT可以提供一些安全建议。因为ChatGPT知道人们在网上对网络安全的看法,所以它对这个话题的建议看起来很有说服力
An Analysis of the Automatic Bug Fixing Performance of ChatGPT
在标准的bug修复基准集QuixBugs上评估ChatGPT的自动修复能力
结果表明ChatGPT的bug修复性能与常见的深度学习方法Coconut和Codex有竞争力,并且明显优于标准程序修复方法的结果
ChatGPT提供了一个对话系统,通过该系统可以输入进一步的信息,例如,对某个输入的预期输出或观察到的错误消息。 通过向Chatgpt提供这样的提示,它的成功率可以进一步提高
Fixing Hardware Security Bugs with Large Language Models
建立了一个具有领域代表性的硬件安全错误的语料库,设计并实现了一个框架,以定量评估任何负责修复指定bug的LLM的性能
基于OpenAI Codex和Codegen LLMS,可以修复所有的十个基准测试,优于最先进的Cirfix硬件bug修复工具
Towards Automatic Mapping of Vulnerabilities to Attack Patterns using Large Language Models (IEEE HST 2022)
提出了一个基于文本描述的漏洞攻击模式映射(VWC-MAP)框架,该框架应用自然语言过程(NLP)技术,通过漏洞的文本描述自动识别出与漏洞相关的所有攻击技术
Pop Quiz! Can a Large Language Model Help With Reverse Engineering?
探究大型语言模型(如OpenAI的Codex)是否可以用来帮助逆向工程,具体工作为提示Codex从代码中识别目的、功能和重要的变量名或值,即使代码是通过反编译生成的
使用OpenAI的code-davinci-001(也称为davinci-codex)作为评估的基础
当以类似问答的形式与领先的LLM互动时,许多答案是错误的,在极少数情况下,二元分类和开放式问题能得到正确回答
Examining Zero-Shot Vulnerability Repair with Large Language Models (S&P 2023)
研究了使用大型语言模型,如OpenAI的Codex和AI21的Jurassic J-1,进行zero-shot漏洞代码的修复,以及漏洞修复任务中的提示(prompts)设计
比较了不同提示、上下文提示和模型设置(温度、采样策略等)对LLMs生成安全的代码的影响,证明了现成的模型能够在简单的场景中无需任何额外的训练即可生成安全修复
使用模型:Codex(OpenAI),Jurassic J-1(AI21),polycoder,gpt2-csrc(自训练)
Security for ChatGPT
隐私泄露
ChatGPT会收集用户账户信息、对话相关的所有内容、互动中网页内的各种隐私信息(Cookies、日志、设备信息等),数据共享过程可能会有未经授权的攻击者访问到模型相关的隐私数据,包括训练/预测数据(可能涵盖用户信息)泄露
利用ChatGPT热度对用户隐私实施窃取攻击的活动。如,Github上非官方的开源ChatGPT桌面应用项目被发现植入高危险性木马,用户一旦运行了安装的可执行文件,就会泄露自己的账户凭证、浏览器Cookies等敏感信息,为避免更多的用户中招,该开源项目现已更改了下载地址
GitHub - lencx/ChatGPT: 🔮 ChatGPT Desktop Application (Mac, Windows and Linux)
模型窃取
攻击者首先设计问题来问询目标黑盒目标模型,再根据目标模型的回答来优化训练自己的模型,使自己的模型与目标模型的表现接近
数据窃取
大型语言模型能够记忆训练数据,存在隐私泄露风险
数据重构攻击旨在恢复目标模型的部分或全部训练数据,攻击者利用公开的文本特征,重构训练文本语义,获取训练文本中的敏感信息
数据投毒
攻击者向AI模型的训练数据源中注入恶意样本或修改训练数据标签信息,从而操控模型在推理阶段的表现
OpenAI没有声明其训练集来源,据称ChatGPT的训练数据包含了网络上的公开数据源,因此在预训练阶段,如果公开数据集被恶意投毒,添加噪声扰动的投毒会引起模型生成文本存在错误、语义不连贯等问题,植入后门的投毒会导致一些字母符号等信号触发模型做出特定行为
如果后续OpenAI将用户的历史对话内容当做语料更新ChatGPT,那么又将存在一个训练数据投毒的攻击面
Prompt Injection攻击
一种安全漏洞利用形式,给出聊天机器人能够接受的假设,引导聊天机器人违反自身的编程限制
ChatGPT设有内容安全策略,但目前ChatGPT存在的缺陷之一是对输入措辞的调整或多次尝试同一提示很敏感,输入一个敏感问题,模型可以声称不知道答案,但重新组织一种更委婉的措辞,模型会做出正确回答
Exploring AI Ethics of ChatGPT: A Diagnostic Analysis
在多个样本数据集上对ChatGPT进行了经验基准测试,从4个角度全面分析了ChatGPT:偏见,可靠性,健壮性,毒性
偏见:社会刻板印象、不公平歧视、排斥性规范和使用多语种等
可靠性:模型提供精确和可靠信息的能力,包括虚假/误导性信息和过期信息
健壮性:当给定的输入与训练时的输入在语义或句法上不同时,模型保持其性能的能力,包含语义扰动、数据泄露、提示注入等问题
毒性:模型生成或理解有害或冒犯性内容的能力,包括攻击型语言和色情内容
The unequal treatment of demographic groups by ChatGPT/OpenAI content moderation system
ChatGPT对不同群体存在偏见
Extracting Training Data from Large Language Models (USENIX 2021)
设计了基于前缀词的方案在黑盒模型GPT-2上进行了训练数据窃取实验,攻击能够恢复的训练文本高达67%,能够从模型的训练数据中提取数百个逐字文本序列,包括个人可识别信息(姓名、电话号码和电子邮件地址)、IRC对话、代码和128位UUID
A Watermark for Large Language Models
提出了一个水印框架,水印可以嵌入,对文本质量的影响可以忽略不计,并且可以使用高效的开源算法进行检测,无需访问语言模型API或参数
工作原理是在生成单词之前选择一组随机的“绿色”标记,然后在采样过程中温和地促进绿色标记的使用
提出了一种用于检测具有可解释p值的水印的统计测试,并推导出用于分析水印敏感性的信息论框架
Security Implications of Large Language Model Code Assistants: A User Study
大型语言模型(LLMs)如OpenAI Codex正越来越多地被用作基于AI的编码助手,最近的工作表明LLMS可能暗示网络安全漏洞
进行了一项安全驱动的用户研究(n=58),以评估学生程序员在LLMS的帮助下编写的代码,结果表明,在此设置中的安全影响很小:AI帮助的用户产生关键安全错误的比率不超过控制的10%,这表明LLMS的使用不会引入新的安全风险
Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions
研究了可能导致 GitHub Copilot 推荐不安全代码的流行情况和条件
提示Copilot在与高风险网络安全弱点相关的场景中生成代码,在三个不同的代码生成轴上探索Copilot的性能——检查它如何在给定的弱点多样性、提示多样性和域多样性的情况下执行
总共为Copilot制作了89个不同的场景,制作了1689个程序,发现其中大约40%是易受攻击的
Backdoor Attacks to Pre-trained Unified Foundation Models
本文讨论了预训练的统一基础模型的兴起如何打破了不同模式和任务之间的障碍,为用户提供统一架构的全面支持。然而,对预训练模型的后门攻击对其安全性构成了严重威胁。以前关于后门攻击的研究仅限于单模态任务或跨模态的单一任务,因此不适用于统一的基础模型。在本文中,作者对预训练的统一基础模型的后门攻击进行了概念验证级别的研究。通过对NLP和CV分类任务的初步实验,他们揭示了这些模型的脆弱性,并提出了加强攻击方法的未来研究方向
Generating Secure Hardware using ChatGPT Resistant to CWEs
这篇文章的主要成果是提出了一种方法,使设计人员能够使用ChatGPT生成安全的硬件代码,以抵御CWE(常见漏洞枚举)。
作者们首先展示了ChatGPT如何在给定多样化提示的情况下生成不安全的代码。然后,他们提出了设计人员应采用的技术来生成安全的硬件代码。总之,他们为MITRE网站上列出的10个值得注意的硬件设计视图下的CWE创建了安全的硬件代码。
BadGPT: Exploring Security Vulnerabilities of ChatGPT via Backdoor Attacks to InstructGPT
在本研究中,我们提出了BADGPT,这是第一个针对语言模型中RL Finetuning的后门攻击。 通过向奖励模型中注入后门,语言模型可能会在微调阶段受到损害。 我们在电影评论(即IMDB)上的初步实验表明,攻击者可以通过BADGPT操纵生成的文本。
版权归原作者 TARO_ZERO 所有, 如有侵权,请联系我们删除。