AI

Artificial Intelligence ( AI )是一个广泛的领域,专注于开发能够执行通常需要人类智能才能完成的任务的智能系统。这些任务包括理解自然语言、识别物体、做出决策、解决问题以及从经验中学习。 AI 系统能够在多个领域展现出诸如推理、感知和解决问题等认知能力。 AI 领域的一些关键方向包括:

  • Natural Language Processing ( NLP ):让计算机能够理解、解析并生成人类语言。
  • Computer Vision :让计算机能够“看到”并解读图像和视频内容。
  • Robotics :开发能够自主完成任务或在人类指导下完成任务的机器人。
  • Expert Systems :构建能够模拟人类专家决策能力的系统。

AI 历史进程

  • 规则引擎时代 (1950s-1980s):专家系统,人类手写“If-Else”规则。此阶段的安全问题主要等同于传统的代码逻辑漏洞。
  • 传统机器学习 (1990s-2010s):算法开始自己找规律(如SVM、决策树),安全研究开始关注输入数据的异常。
  • 深度学习爆发 (2012-至今):神经网络层数变深,数据和算力爆炸,模型变成了包含上百亿参数的巨大“黑盒”。
  • 大模型时代 (2022-至今):生成式AI(如ChatGPT)普及。安全焦点从单纯的“分类误判”,转移到了指令注入、越狱、数据污染和隐私泄露。

ML

概念

Machine Learning ( ML )是人工智能的一个子领域,它专注于让系统能够从数据中学习,并在无需明确编程的情况下提升其在特定任务上的性能。机器学习算法利用统计技术来识别数据集中的模式、趋势和异常,从而使系统能够基于新的输入数据做出预测、决策或分类。

定义:让计算机模仿人类、动物、植物的学习能力,使其不断增长、自我进化,是软件2.0时代的体现。

四大基础流派

  1. 监督学习(有标准答案的“应试教育”):
    • 原理:喂给算法的数据是带标签的。
    • 最短时间内达到最佳效果
    • 安全场景:收集良性Web访问日志和恶意SQL注入/XSS日志,让机器学习两者特征边界(如WAF、恶意软件查杀)。
    • 一旦 model 模型被训练完成,它就可以用来预测新的、未见过的数据。这需要将新数据点的特征提供给 model 模型,然后 model 模型会输出相应的预测结果。预测实际上是推理的一种具体应用,其目的是生成可操作的输出结果,比如将一封邮件分类为垃圾邮件,或者预测股票价格。
  2. 无监督学习(没有答案的“自学成才”):
    • 原理:喂给算法的数据没有标签,算法需自己发现数据内部规律并聚类。
    • 安全场景:异常行为检测(UEBA)。机器找出内网流量“常态”,当办公电脑半夜向海外发送大量加密数据时触发报警。
  3. 强化学习(在试错中进化的“游戏玩家”):
    • 原理:设定环境和奖惩机制,让AI自己碰壁,达成目标加分,搞砸扣分。
    • 安全场景:自动化渗透测试。AI尝试Payload,拿到Shell高奖励,被拦截扣分,最终总结出最高效攻击路径。
  4. 对抗学习(AI的“红蓝对抗” / GAN):
    • 原理:设立两个相互竞争的神经网络(生成器造假,判别器识伪),在互相欺骗和防守中共同进化。
    • 安全场景:深度伪造(Deepfake)、自动化免杀特征变异;防御端常用于“对抗训练”以提升模型鲁棒性。

监督学习

线性回归

线性回归是一种基础的监督式学习 (supervised learning)算法,通过在目标变量与一个或多个预测变量之间建立线性关系,来预测一个连续的目标变量。该算法使用一个线性方程来对这种关系建模,其中预测变量的变化会导致目标变量成比例地变化。其目标是找到最拟合的直线,以最小化预测值与实际值之间差值的平方和。

简单线性回归

在其最简单的形式中,简单线性回归 (simple linear regression)涉及一个预测变量和一个目标变量。一个线性方程表示了它们之间的关系:

该算法旨在找到 m 和 c 的最优值,以最小化训练数据中预测的 y 值与实际 y 值之间的误差。这通常通过普通最小二乘法 (Ordinary Least Squares, OLS)来完成,其目标是最小化误差平方和。

多元线性回归

当涉及多个预测变量时,就称为多元线性回归 (multiple linear regression)。方程变为:

其中:

  • y 是预测的目标变量
  • x1、x2、…、xn 是预测变量
  • b0 是 y 轴截距
  • b1、b2、…、bn 是表示每个预测变量与目标变量之间关系的系数。
普通最小二乘法

普通最小二乘法 (OLS) 是估计线性回归中系数最优值的常用方法。它旨在最小化实际值与模型预测值之间差值的平方和。

可以将其看作是找到一条线,使数据点与该线之间形成的方块总面积最小。这条“最佳拟合线”代表了最能描述数据的关系。

以下是 OLS 过程的分解:

  1. 计算残差:对于每个数据点,残差 (residual)是实际 y 值与模型预测的 y 值之间的差值。
  2. 对残差求平方:对每个残差进行平方,以确保所有值都是正数,并给予较大的误差更大的权重。
  3. 对平方残差求和:将所有平方残差相加,得到一个代表模型总体误差的单一值。这个和称为残差平方和 (Residual Sum of Squares, RSS)。
  4. 最小化残差平方和:算法会调整系数,以找到能产生最小 RSS 的值。

这个过程可以形象地看作是找到一条线,使数据点与该线之间形成的方块总面积最小。

逻辑回归

实际上是一种主要用于分类 (classification) 而非回归的监督学习 (supervised learning) 算法。它预测一个具有两种可能结果(二元分类)的分类目标变量。这些结果通常表示为二进制值(例如,0 或 1,真或假,是或否)。

工作原理

与输出连续值的线性回归 (linear regression) 不同,逻辑回归输出一个介于 0 和 1 之间的概率分数。这个分数表示输入属于正类(通常表示为“1”)的可能性。

它通过使用 sigmoid 函数 (sigmoid function) 来实现这一点,该函数将任何输入值(特征的线性组合)映射到 0 到 1 范围内的值。该函数引入了非线性,使模型能够捕捉特征与结果概率之间的复杂关系。

sigmoid函数

其中:

  • P(x) 是预测概率。

  • e 是自然对数的底数(约 2.718)。

  • z 是输入特征及其权重的线性组合,类似于线性回归方程:z = m1x1 + m2x2 + ... + mnxn + c

决策树

决策树 (Decision trees) 是一种流行的监督学习 (supervised learning) 算法,用于分类 (classification) 和回归 (regression) 任务。它们以其直观的树状结构而闻名,这使得它们易于理解和解释。本质上,决策树通过学习从数据特征中推断出的简单决策规则,创建一个预测目标变量值的模型。

决策树包含三个主要组成部分:

  • 根节点 (Root Node): 这代表树的起点,包含整个数据集。
  • 内部节点 (Internal Nodes): 这些节点代表数据的特征或属性。每个内部节点根据不同的决策规则分支成两个或更多的子节点。
  • 叶节点 (Leaf Nodes): 这些是树的终端节点,代表最终的结果或预测。

构建决策树

构建决策树涉及在每个节点选择最佳特征来分割数据。这种选择基于基尼不纯度 (Gini impurity)、熵 (entropy) 或信息增益 (information gain) 等度量标准,这些标准量化了分割后子集的同质性。目标是创建能够产生越来越纯的子集的分割,其中每个子集内的数据点主要属于同一类别。

基尼不纯度衡量从一个集合中随机选择一个元素时,将其错误分类的概率。较低的基尼不纯度表示集合更纯。基尼不纯度的公式是:

其中:

  • S 是数据集。
  • pi 是集合中属于类别 i 的元素的比例。
熵

熵衡量一个集合中的无序性或不确定性。较低的熵表示集合更同质。熵的公式是:

其中:

  • S 是数据集。
  • pi 是集合中属于类别 i 的元素的比例。
信息增益

信息增益衡量通过基于特定特征分割集合所实现的熵减少量。具有最高信息增益的特征被选择用于分割。信息增益的公式是:

其中:

  • S 是数据集。
  • A 是用于分割的特征。
  • Sv 是 S 中特征 A 的值为 v 的子集。

无监督学习算法

K-均值聚类

K-均值聚类 (K-means clustering) 是一种流行的 无监督学习 (unsupervised learning) 算法,用于将数据集划分为 K 个不同的、不重叠的簇。其目标是将相似的数据点分组,其中相似性通常通过多维空间中数据点之间的距离来衡量。

想象一下,您有一个包含客户购买历史、人口统计信息和浏览活动等信息的数据集。K-均值聚类 可以根据这些客户的相似性将他们分成不同的群体。这对于定向营销、个性化推荐和客户关系管理非常有价值。

K-means 是一种迭代算法,旨在最小化每个簇内的方差。这意味着它会尝试对数据点进行分组,使得同一簇内的数据点彼此尽可能接近,并与其他簇中的数据点尽可能远离。

该算法遵循以下步骤:

  1. 初始化 (Initialization): 随机从数据集中选择 K 个数据点作为初始簇中心(质心)。这些质心代表每个簇内的平均点。
  2. 分配 (Assignment): 根据距离度量(例如 欧几里得距离 (Euclidean distance))将每个数据点分配到最近的簇中心。
  3. 更新 (Update): 通过计算分配给每个簇的所有数据点的平均值来重新计算簇中心。这会更新质心,使其更好地代表簇的中心。
  4. 迭代 (Iteration): 重复步骤 2 和 3,直到簇中心不再发生显著变化或达到最大迭代次数。这个迭代过程会不断优化簇,直到它们稳定下来。
欧几里得距离

欧几里得距离 是 K-均值聚类 中常用的一种距离度量,用于衡量数据点之间的相似性。它计算多维空间中两点之间的直线距离。

K值最优选择
肘部法则

肘部法则 是一种图形化技术,通过可视化簇数量与 簇内平方和 (within-cluster sum of squares, WCSS) 之间的关系来帮助估算最优的 K 值。

它遵循以下步骤:

  1. 针对一系列 K 值运行 K-means: 针对不同的 K 值执行 K-均值聚类,通常从 1 开始并递增。
  2. 计算 WCSS: 对于每个 K 值,计算 WCSS。WCSS 衡量每个簇内的总方差。较低的 WCSS 值表示簇内的数据点更相似。
  3. 绘制 WCSS 与 K 的关系图: 将 WCSS 值与对应的 K 值绘制成图表。
  4. 识别肘点: 在图表中寻找“肘”点。这是 WCSS 开始以较慢速度下降的地方。该点通常表明 K 的一个较好取值,意味着在最小化簇内方差和避免过度细化之间取得了平衡。

肘点代表了模型复杂度和模型拟合度之间的权衡。将 K 值增加到超过肘点可能会导致 过拟合 (overfitting),即模型捕捉到的是数据中的噪声而不是有意义的模式。

轮廓分析

轮廓分析 提供了一种更量化的方法来评估不同的 K 值。它衡量一个数据点与其自身簇的相似程度,以及与其他簇的相异程度。

该过程分为四个核心步骤:

  1. 针对一系列 K 值运行 K-means: 与肘部法则类似,针对不同的 K 值执行 K-均值聚类。
  2. 计算轮廓分数 (Silhouette Scores): 为每个数据点计算其轮廓分数。轮廓分数的范围是 -1 到 1,其中:
    • 分数接近 1 表示该数据点与其所属的簇匹配得很好,而与相邻的簇匹配得很差。
    • 分数接近 0 表示该数据点位于或非常接近两个相邻簇之间的决策边界。
    • 分数接近 -1 表示该数据点可能被分配到了错误的簇。
  3. 计算平均轮廓分数: 对于每个 K 值,计算所有数据点的平均轮廓分数。
  4. 选择得分最高的 K 值: 选择能产生最高平均轮廓分数的 K 值。这表示该聚类方案拥有定义最清晰的簇。

较高的轮廓分数通常表示簇的定义更清晰,其中数据点与其所在簇的相似度更高,而与其他簇的相似度更低。

主成分分析

主成分分析 (Principal Component Analysis, PCA) 是一种降维技术,它将高维数据转换为低维表示,同时尽可能多地保留原始信息。它通过识别主成分来实现这一点,这些主成分是原始特征的线性组合,并能捕获数据中的最大方差。PCA 广泛用于特征提取、数据可视化和降噪。

PCA 有三个关键概念:

  • 方差 (Variance): 方差衡量数据点围绕均值的分布或离散程度。PCA 旨在找到使方差最大化的主成分,从而捕获数据中最重要的信息。
  • 协方差 (Covariance): 协方差衡量两个变量之间的关系。PCA 考虑不同特征之间的协方差,以识别最大方差的方向。
  • 特征向量 (Eigenvectors) 和特征值 (Eigenvalues): 特征向量代表主成分的方向,而特征值代表每个主成分所解释的方差量。

PCA 算法遵循以下步骤:

  1. 标准化数据: 对每个特征减去均值并除以标准差,以确保所有特征都具有相同的尺度。
  2. 计算协方差矩阵: 计算标准化数据的协方差矩阵,该矩阵表示不同特征之间的关系。
  3. 计算特征向量和特征值: 确定协方差矩阵的特征向量和特征值。特征向量代表主成分的方向,而特征值代表每个主成分所解释的方差量。
  4. 对特征向量进行排序: 按相应特征值从大到小的顺序对特征向量进行排序。具有最高特征值的特征向量捕获了数据中最大的方差。
  5. 选择主成分: 选择前 k 个特征向量,其中 k 是降维后表示中期望的维度数。
  6. 转换数据: 将原始数据投影到选定的主成分上,以获得低维表示。
特征值和特征向量

在深入研究特征值方程之前,了解什么是特征向量和特征值以及它们在线性代数和机器学习中的重要性是很重要的。

特征向量是一个特殊的向量,当对其应用线性变换(例如乘以一个矩阵)时,它会保持在同一方向上。在数学上,如果 A 是一个方阵,v 是一个非零向量,那么如果满足以下条件,v 就是 A 的一个特征向量:

求解特征值方程

求解这个方程需要找到协方差矩阵的特征向量和特征值。这可以通过以下技术来完成:

  • 特征值分解 (Eigenvalue Decomposition): 直接计算特征值和特征向量。
  • 奇异值分解 (Singular Value Decomposition, SVD): 一种数值上更稳定的方法,它将数据矩阵分解为与协方差矩阵的特征向量和特征值相关的奇异向量和奇异值。

强化学习算法

Q-Learning

Q-learning 是一种无模型 (model-free) 的强化学习 (reinforcement learning) 算法,它通过估算 Q 值 (Q-value) 来学习最优策略。Q 值 代表智能体在给定状态下采取特定动作,并在此后遵循最优策略所能获得的预期累积奖励。它被称为“无模型”,因为智能体无需环境的先验模型即可学习;它直接通过试错、与环境交互并观察结果来学习。

  • 初始化: 初始化 Q 表,通常使用任意值(例如,全为零)或在有先验知识的情况下使用某些先验值。这张表将随着智能体的学习而更新。
  • 选择一个动作: 在当前状态下,智能体选择一个要执行的动作。此选择涉及平衡探索(尝试新动作以发现可能更好的策略)和利用(使用当前已知的最佳动作以最大化奖励)。这种平衡确保智能体在充分探索环境的同时,利用现有知识。
  • 执行动作并观察: 智能体在环境中执行所选动作并观察其后果。这包括采取动作后转换到的新状态以及从环境中获得的即时奖励。这些观察为智能体提供了关于其动作有效性的宝贵反馈。
  • 更新 Q 值: 使用 Q-learning 更新规则更新状态-动作对的 Q 值,该规则结合了从新状态获得的奖励和估计的未来奖励。
  • 更新状态: 智能体将其当前状态更新为采取动作后转换到的新状态。这为算法的下一次迭代做好了准备。
  • 迭代: 重复步骤 2-5,直到 Q 值 收敛到其最优值(表明智能体已学到有效策略),或满足预定义的停止条件(例如,达到最大迭代次数或时间限制)

评估

评估学习效果的核心概念:

  • 训练集 vs 测试集:绝对不能拿训练模型用的数据(原题)去测试它,通常按 8:2 拆分进行训练和期末考。
  • 过拟合:模型在训练集得分极高,在测试集表现极差。在安全防御中是大忌,意味着模型把非关键细节当成了判定标准,攻击者稍作代码混淆即可绕过。
  • 欠拟合:算法太简单或训练不到位,特征没找准,无法投入实战。

DL

Deep Learning ( DL )是机器学习的一个子领域,它利用多层神经网络从复杂数据中提取特征。这些深度神经网络能够自动识别大型数据集中的复杂模式和特征,因此在处理非结构化或高维数据时非常有效,比如图像、音频和文本数据。

DL 的关键特性包括:

  • Hierarchical Feature Learning :深度学习模型能够学习层次化的数据表示方式,每一层都负责处理越来越抽象的特征。例如,较低层次的模型可以识别图像中的边缘和纹理,而较高层次的模型则可以识别更复杂的结构,如形状和物体。
  • End-to-End Learning :深度学习方法可以端到端进行训练,这意味着它们可以直接将原始输入数据映射到所需的输出结果,而无需进行复杂的特征工程处理。
  • Scalability :深度学习模型能够很好地处理大型数据集和计算资源,因此非常适合用于大数据应用。

传统ML与深度学习的核心差异:

传统ML的核心瓶颈是特征工程,算法本身不够聪明,需要人类安全专家手动提取“URL长度”、“特殊字符比例”等特征维度喂给算法。而深度学习能自动从海量数据中提取高维特征。

深度学习的运作机制:

  1. 神经元与网络结构:复杂层级过滤网(隐藏层),逐层提取边缘、形状、纹理等特征,最后输出概率结果。
  2. 训练阶段:模型初始随机猜测,根据误差值(Loss)反向微调过滤网节点的参数(权重),记住统计特征。
  3. 推理阶段:参数固定打包成模型,用户输入新数据,模型进行单向过滤直接预测。

大模型(LLM)训练三步曲:

目前的LLM是机器学习流派的集大成者:

  1. 预训练 (Pre-training):无监督学习。海量语料阅读,学习“文字接龙”和世界知识。
  2. 指令微调 (SFT):监督学习。人工编写高质量“指令+标准答案”,教模型听懂人类指令。
  3. 基于人类反馈的强化学习 (RLHF):强化学习。引入奖惩机制,让模型输出符合人类安全与道德价值观的回答。

AI 安全

定义

AI安全本质上是用数学攻击数学,用噪音来影响AI。更通俗地说,AI模型并不是真正“理解”世界,而是通过寻找海量数据中的高维统计规律来做决策。AI安全就是利用这些统计规律的盲区或边界,对模型进行欺骗、劫持或隐私窃取。


AI 安全的核心攻击方式

OWASP

OWASP 也发布了一份关于部署和管理基于 ML 的系统的十大安全风险清单,即机器学习安全 Top 10。

ID描述
ML01输入操纵攻击 (Input Manipulation Attack):攻击者修改输入数据,导致模型输出错误或恶意的结果。
ML02数据投毒攻击 (Data Poisoning Attack):攻击者向训练数据中注入恶意或误导性数据,损害模型性能或创建后门。
ML03模型反演攻击 (Model Inversion Attack):攻击者训练一个单独的模型,从目标模型的输出中重建输入,可能泄露敏感信息。
ML04成员推断攻击 (Membership Inference Attack):攻击者分析模型行为,以确定某个数据是否包含在模型的训练数据集中,可能泄露敏感信息。
ML05模型窃取 (Model Theft):攻击者通过与原始模型交互来训练一个单独的模型,从而窃取知识产权。
ML06AI 供应链攻击 (AI Supply Chain Attacks):攻击者利用 ML 供应链中任何环节的漏洞。
ML07迁移学习攻击 (Transfer Learning Attack):攻击者操纵基线模型,而第三方后续会对此模型进行微调。这可能导致模型带有偏见或后门。
ML08模型扭曲 (Model Skewing):攻击者为恶意目的扭曲模型的行为,例如通过操纵训练数据集。
ML09输出完整性攻击 (Output Integrity Attack):攻击者在模型输出被处理前对其进行操纵,使其看起来像是模型产生了不同的输出。
ML10模型投毒 (Model Poisoning):攻击者操纵模型的权重,损害模型性能或创建后门。

输入操纵攻击

许多现实世界中的输入操纵攻击向量 (attack vectors) 涉及对良性输入数据施加微小扰动 (perturbations),从而导致 ML 模型出现意外行为。

数据投毒攻击

对基于 ML 的系统进行的数据投毒攻击涉及向训练数据集中注入恶意或误导性数据,以损害模型的准确性、性能或行为。如前所述,任何 ML 模型的质量都高度依赖于训练数据的质量。因此,这些攻击可能导致模型做出不正确的预测,对某些输入进行错误分类,或在特定场景下行为不可预测。ML 模型通常依赖于从各种来源进行的大规模、自动化的数据收集,这使得它们在数据来源未经核实或来自公共领域时更容易受到篡改。

模型反演攻击

在模型反演攻击中,攻击者会针对目标模型的输出训练一个单独的 ML 模型,以重建关于目标模型输入的信息。由于攻击者训练的模型作用于目标模型的输出并重建关于输入的信息,它“反转”了目标模型的功能,因此得名“模型反演攻击”。

成员推断攻击

攻击者通过观察模型对某个样本的输出结果,例如置信度、概率分布或预测误差,判断该样本是否出现在模型的训练集中。由于模型通常对训练过的样本表现得更自信、误差更低,因此攻击者可以利用训练样本和非训练样本之间的响应差异进行推断。

模型窃取

模型窃取或模型提取攻击 (model extraction attacks) 旨在在不直接访问目标模型底层架构或参数的情况下,复制或近似其功能。在这些攻击中,攻击者与一个 ML 模型交互,并系统地查询它,以收集关于其决策行为的足够数据来复制该模型。通过观察各种输入的足够输出,攻击者可以训练出他们自己的、性能相似的副本模型。

供应链攻击

针对基于 ML 的系统的供应链攻击目标是创建、部署和维护 ML 模型所涉及的复杂、互联的生态系统。这些攻击利用 ML 管道 (pipeline) 中任何环节的漏洞,例如第三方数据源、库或预训练模型,以损害模型的完整性、安全性或性能。由于对大量数据的依赖,基于 ML 的系统的供应链比传统 IT 系统包含更多的组件。供应链攻击的细节,包括其影响,高度依赖于被利用的具体漏洞。

迁移学习攻击

由于从零开始训练模型的高昂计算成本,开源的预训练模型被用作许多 ML 模型部署的基线。然后,通过应用额外的训练来微调模型以适应其应执行的特定任务,从而在这些预训练模型之上构建新模型。在迁移学习攻击中,攻击者通过操纵预训练模型来利用这个迁移过程。如果这些操纵在微调后的模型中持续存在,就可能出现后门或偏见等安全问题。即使用于微调的数据集是良性的,预训练模型中的恶意行为也可能延续到最终的基于 ML 的系统中

模型扭曲

在模型扭曲攻击中,攻击者试图故意以一种有利于其目标的有偏见的方式扭曲模型的输出。他们可以通过向训练数据集中注入有偏见、误导性或不正确的数据来实现这一点,以影响模型的输出,使其偏向恶意的、有偏见的结果。

输出完整性攻击

如果攻击者能够更改基于 ML 的系统产生的输出,他们就可以执行输出完整性攻击。这种攻击不针对模型本身,而只针对其输出。更具体地说,攻击者不直接操纵模型;相反,他们在模型的输出被相应的目标实体处理之前拦截它。他们操纵输出,使其看起来像是模型产生了不同的结果。检测输出完整性攻击具有挑战性,因为在检查时,模型通常看起来功能正常,这使得传统的基于模型的安全措施不足以应对。

模型投毒

数据投毒攻击针对的是模型的训练数据,从而间接地影响模型的参数,而模型投毒攻击则直接针对模型的参数。因此,攻击者需要访问模型参数才能执行此类攻击。此外,以有针对性的恶意方式操纵参数可能具有挑战性。虽然任意更改模型参数几乎肯定会导致模型性能下降,但要让模型以蓄意的方式偏离其预期行为,则需要经过深思熟虑且细致入微的参数操纵。模型投毒攻击的影响与数据投毒攻击类似,因为它可能导致不正确的预测、对某些输入的错误分类或在特定场景下的不可预测行为。

SAIF

  • Data (数据):该领域包含与数据相关的所有组件,例如 data sources、data filtering and processing 和 training data。
  • Infrastructure (基础设施):该领域涉及托管应用的硬件,以及数据存储和开发平台。基础设施组件包括运行 AI 应用所需的 Model Frameworks and Code、Training, Tuning, and Evaluation(训练、调优和评估)过程、Data and Model Storage(数据和模型存储),以及部署模型的过程 (Model Serving)。
  • Model (模型):这是任何 AI 应用的核心领域。它包括 Model、Input Handling (输入处理) 和 Output Handling (输出处理) 组件。
  • Application (应用):该领域涉及与 AI 应用的交互,即它由与 AI 部署交互的 Applications 以及 AI 部署可能使用的 Agents 或 Plugins 组成。

以下是 SAIF 中包含的风险概览。其中许多也包含在 OWASP 的 ML Top 10 或 LLM Top 10 中:

  • Data Poisoning (数据投毒):攻击者将恶意或误导性数据注入模型的训练数据中,从而损害模型性能或制造后门。
  • Unauthorized Training Data (未经授权的训练数据):模型在未经授权的数据上进行训练,导致法律或伦理问题。
  • Model Source Tampering (模型源代码篡改):攻击者篡改模型的源代码或权重,从而损害模型性能或制造后门。
  • Excessive Data Handling (过度数据处理):数据收集或保留超出相应隐私政策的允许范围,导致法律问题。
  • Model Exfiltration (模型窃取):攻击者未经授权访问模型本身,窃取知识产权,并可能造成经济损失。
  • Model Deployment Tampering (模型部署篡改):攻击者篡改用于模型部署的组件,从而损害模型性能或制造后门。
  • Denial of ML Service (机器学习服务拒绝):攻击者向模型提供导致高资源消耗的输入,可能导致机器学习服务中断。
  • Model Reverse Engineering (模型逆向工程):攻击者通过分析模型的输入和输出来未经授权地访问模型本身,窃取知识产权,并可能造成经济损失。
  • Insecure Integrated Component (不安全的集成组件):攻击者利用与模型交互的软件(如插件)中的安全漏洞。
  • Prompt Injection (提示词注入):攻击者直接或间接操纵模型的输入,以引发恶意或非法行为。
  • Model Evasion (模型规避):攻击者通过对模型的输入施加轻微扰动来操纵模型,导致错误的推理结果。
  • Sensitive Data Disclosure (敏感数据泄露):攻击者诱使模型在响应中泄露敏感信息。
  • Inferred Sensitive Data (推断出的敏感数据):模型通过从训练数据或提示中推断,提供了它本无权访问的敏感信息。与前一个风险的关键区别在于,模型本身无权访问这些敏感数据,而是通过推断提供的。
  • Insecure Model Output (不安全的模型输出):模型输出被不安全地处理,可能导致注入漏洞。
  • Rogue Actions (恶意行为):攻击者利用未受充分限制的模型访问权限来造成损害。