首页/文章/CTF AI

THM 的 AI SEC 学习内容

简要谈谈机器学习

机器学习(ML)

什么是机器学习?

机器学习是 AI 的一个子领域。机器学习简而言之,就是类比的是人脑学习的方式,即在没有给足够准确的指令的前提下,能够自己从数据中学习的系统。那么他像人脑一样,在接触足够多的数据和模式后,就会越来越加擅长。

机器学习的结构化周期

  1. 定义一个问题。例如:如何判断一个邮件是垃圾邮件?
  2. 数据处理:获取,清洗用于训练的数据
  3. 训练与评估:在数据上训练模型,直至表现良好
  4. 部署环境:部署到我们真实的生产环境中

那么这并不是一个全部的生命周期,在部署至生产环境中,随着时间的推移,我们必须持续的去优化这个系统,这是由于现实世界也是不断演化的,就如同我们人类,我们也必须持续的学习新事物,新思想用来顺应时代的发展

机器学习的几个算法

  1. 监督学习:我们在训练前,在数据中附上标签,即数据的答案,让模型学习输入映射到我们预先规定好的输出上
  2. 无监督学习:这意味着,我们在机器学习前,没有附带正确的答案,而是让模型根据数据,自行总结数据之间的关联,聚类,模式
  3. 半监督学习:指的是将某一小部分数据标记好标签,引导模型在剩余庞大的训练集中进行训练
  4. 强化学习:这里指的是在实际环境中采取行动,并根据奖励函数,最大化奖励,自动驾驶就是其中的一个应用

神经网络与深度学习

什么是神经网络?

顾名思义,其模仿的是人脑中的神经系统,我们的人脑使用相连的突触进行学习。当我们学习到新事物的时候,我们的神经系统会根据我们观察到的模式调整相应的突触强度。随着时间的推移,我们的大脑会越来越擅长相应的模式

在计算机领域中,神经网络由多层节点组成,节点充当着神经元的作用,每个节点的连接,充当着突触的作用。具体有以下几层:

  1. 输入层:其拥有的节点数量取决于数据类型,例如一个 4x4 的图片中,就有 16 个节点,每个像素就是一个节点
  2. 隐藏层:位于中间,用于处理并精炼数据,随着信号的深入,提取出越来越复杂的特征,每个连接都带有相应的权重,权重决定了其对下一层带有多大的影响
  3. 输出层:生成最终的结果

深度学习(DL)

深度学习可以是监督式的,也可以是非监督式的。

它与机器学习的主要区别在于。机器学习主要采用的是传统的学习算法,而深度学习主要采用神经网络,现有的 TCN Transformer CNN 都是采用的神经网络学习

封装式智能

截止目前,本文说了人工智能领域下的几个分支:

  • 人工智能:最广泛的领域
  • 机器学习:人工智能一个分支:让计算机从数据中学习规律
  • 深度学习:机器学习的一个分支,使用神经网络大规模处理数据

接下来讲的是大语言模型,基于 Transformer 架构的神经网络,自然是深度学习的一个分支

在几十年的机器学习的发展中,终于在 2023 年,诞生了一个具有划时代意义的大语言模型 ChatGPT,那么,他是如何工作的?

Transformer

大语言模型是基于深度学习的人工智能模型,通过预测文本序列中的下一个词处理生成文本,那么,要经历什么样的训练步骤才能让这个预测更加的准确?

首先第一步是预训练,在这一阶段,模型会处理庞大的训练数据。在这一阶段,大模型并不主要依靠人工标注去训练,而是数十亿的参数,共同编码了模型对语言的理解。在训练过程中,模型通常会被要求补全一句话的最后一个词,其猜测是随机的,随后,会将正确答案和预测的相互比较,并通过反向传播调整参数,使下一次预测更有可能猜中答案。那么在经过这个庞大数据集数万亿次的训练后,其预测就能变得十分精准,形成了非常准确的语言规律判断。

为什么预训练数据集可以这么大的规模?

原因有二:

  1. GPU 技术的发展,能够并行计算
  2. Transformer 神经网络架构的出现

这一架构首次提出了注意力机制,这样子模型能够根据上下文,为不同词语匹配不同程度的重要性。

预训练完成后,会进行一种RLHF的训练模式,也就是基于人类反馈的强化学习(Reinforcement Learning from Human Feedback)。

在这一过程中,会依靠人工对模型生成的回答打上无用,有用的标记,之后根据评判的结果继续调整参数

简要了解新型威胁

在 AI SEC 中,有一个面向 AI 系统的 MITRE ATT&CK,名字叫做 ATLAS

1785944051435

ATLAS 全称是 Adversarial Threat Landscape for Artificial-Intelligence Systems ,即“人工智能系统对抗性威胁图谱”。那么,这列举了当今所有的 AI 安全相关的技术,例如

  • 数据投毒
  • 成员推断
  • 模型反演
  • 提示词注入
  • ......

等等。有五个关键的漏洞利用技术是每个 AI 安全从业者必备的

  1. 模型投毒:篡改模型训练数据
  2. 提示词注入:攻击者精心构造输入,覆盖 AI 原有指令
  3. 模型窃取:通过查询 API 训练出一个克隆模型
  4. 隐私泄露:一些隐私信息可能藏在模型的权重之中,攻击者会想办法窃取这些隐私
  5. 模型漂移:由于现实世界的不断改变,模型能力可能会出现显著下降

task2

Your Objective

MENTOR is an AI assistant deployed by the fictional company Syntara Corp. It has been given a system prompt that defines how it behaves and what it will never reveal. Your job is to use prompt injection to override those instructions and get MENTOR to reveal its system prompt. Do that and it'll hand over the flag.

How to Approach It

There's no single right way to do this. Experiment with how you phrase your messages and see what makes MENTOR crack. Think about what you know about how models follow instructions and how that might be exploited.

Click the Open Agent button above to access MENTOR when you're ready.

1785944895021

首先不间断重复 ignore 指令

1785944923828

之后让模型翻译,模型依然拒绝

1785944943970

最后尝试混淆进行任务重构。

第一次发生转变的点在于我让模型把我注入的假 prompt 翻译成法语,这时模型有两个选项

  • 选项一:把前面文字当指令。那模型大概率会拒绝
  • 选项二:把注入的提示词当做翻译的数据,这时候模型会尝试翻译

但很显然,模型当成了需要执行的指令,并做出拒绝。但是当我尝试让模型只把注入的 prompt 当成翻译的文本时,模型的内部语义从

text
用户让我把这个提示词当成指令

变成了

text
用户让我把这个恶意提示词当成待翻译的文本

这时候,指令与数据边界就已经被混淆,那么靶场大概率检测到其内部 prompt 已经被成功覆盖,于是就成功获取到 flag

注意,顺序是十分重要的:

1785945566273

可以看见,如果我们把注入的提示词放到要求后面,那就完全不行了。

可以看见模型依然由于并拒绝,但后来就把这个当成纯翻译内容。

关键区别在于第一次:

text
反复发送覆盖指令→ 模型连续拒绝→ 要求翻译成法语→ 模型仍认为你在要求它忽略指令→ 强调“只是翻译,不需要干别的”→ 模型重新解释整个前文→ 错误进入越权/成功分支

而这次:

text
在翻译指令后跟随覆盖提示词→ 模型察觉到恶意意图→ 只要求翻译→ 模型执行翻译指令

可以发现第一次其出现错误的点在于:

  • 先前内容:被识别为危险指令
  • 后续内容:要求将其作为翻译材料重新处理
  • 重新处理时:指令与数据边界混淆
  • 结果: Flag 被触发

那么可见,我们可以巧妙管理模型上下文内容,来达到我们的注入效果

AI 技术造成的威胁

  1. AI 生成恶意代码,恶意软件。相比以往手搓时代,大幅增加了代码效率
  2. AI 深度伪造:面部伪造,音频克隆
  3. AI 生成钓鱼邮件
  4. AI 复制社会学工程攻击

AI 对防御引发的改变

  1. 分析异常流量,识别可以日志,代码审计,大幅提升防御者的效率
  2. 预测:基于历史攻击数据训练的 AI 模型可以在潜在威胁完全显现之前对其进行预测
  3. 安全事件会留下冗长的无证,大模型对这些的阅读能够发现人类无法发现数据之间的关联
  4. 调查:出现纰漏,AI 可以进行原因查找

小结

通过以上内容,全面了解了 AI 的发展历程、工作原理,以及它对攻防两端安全意味着什么。了解了 AI , 机器学习,深度学习,大语言模型之间的关联,了解了常见的机器学习,深度学习的算法算法

许可协议

本文采用 署名-非商业性使用-相同方式共享 4.0 国际 许可协议,转载请注明出处。

读者回信

正在翻开留言页...