想象一下:你住的小区新装了一套智能门禁系统。每天进出,门禁都要「刷脸」或「刷卡」——它先确认「你是谁」,才决定「放不放行」。AI 模型的世界里也有这么一道门禁,叫作「认证」。如今很多公司从网上下载模型,就像往小区里领进来一个陌生人——他自称是「楼上的住户」,但万一是伪装成住户的小偷呢?小偷可能在模型里藏了「后门」:平时表现正常,一旦遇到特定「暗号」输入,就会突然执行恶意行为,比如把垃圾邮件判成正常邮件、给有毒的药物配方打上「安全」标签。 这篇文章要讲的,就是如何给 AI 模型办一张可靠的「身份证」——通过数字签名、模型水印、行为监控等手段,确认模型的真实身份、来源和完整性,让冒名顶替者无所遁形。我们会从认证的基本原理讲起,梳理攻击者的各种混入手段,再深入签名、水印等防御技术,最后聊聊工程实战与伦理合规。全程用「小区门禁」这个生活化比喻贯穿,零基础也能看懂。

岗位关联

对 AI 从业者而言,认证是「模型安全」的守门员。掌握认证技术,意味着你能在模型供应链的每个环节识别李鬼、拦截后门——这是从「会调模型」走向「能负责模型安全」的关键能力壁垒。

目录
  1. 可视化演示
  2. 认证基石——先问一句「你是谁」
  3. 威胁全景——小偷的三种混入门路
  4. 数字签名——房产证上的钢印
  5. 模型水印——给羊群做记号
  6. 防御实战——保安巡逻、探头与登记簿
  7. 伦理合规——门禁背后的规矩
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示训练数据源认证与投毒拦截、模型签名验证与触发器探测及多因子认证与日志追溯,支持三模式交互。

本节配有交互动效(进入视口后自动加载,约 3KB)。

训练数据源认证与投毒拦截 数据源hash签名验证确保来源可信 干净样本通过认证进入训练流程 投毒样本被认证拦截,阻止后门注入 Auth(D)=H(D)≟H_sig 认证在数据入口拦截后门投毒。

认证基石——先问一句「你是谁」

装修师傅第一次上门,你隔着智能猫眼,第一句话就是「你是谁?谁叫你来的?」确认了身份,你才敢开门。AI 模型的部署也一样:公司千辛万苦训练好一个模型,或者从外部下载一个开源模型——在跑任何业务之前,必须先回答同一个问题:这个模型,真的是我以为的那个模型吗? 这一步,就是模型安全里的「认证」。

在安全领域,认证(Authentication)指的是确认一个主体身份真实性的过程。它常见于三种「凭证」:你知道的(口令)、你拥有的(令牌、签名)、你是什么(生物特征)。模型认证主要玩的是第二种——拥有私钥签名、嵌入水印等「信物」。认证还要和「授权」分清:认证回答「你是谁」,授权回答「你能干什么」。门禁刷卡确认你是住户(认证),但你只能开自己家那扇门(授权)。很多安全事故,恰恰是把这两件事混为一谈。

在模型供应链中,认证构成了从数据采集、模型训练、发布到部署的「信任链」。每个环节都需要验证上一环节的可信性,一环失信,全链崩塌。认证用到的核心推理是贝叶斯思想——验证证据会更新我们对模型的信任程度:

回到门禁的比喻:智能猫眼的识别率再高(似然高),如果你随便在路边捡个人就放进来(先验极低),最终信任也高不了。认证的价值,就是让「证据」和「背景」一起参与决策——这才是聪明的门卫。

P(可信∣通过)=P(通过∣可信)×P(可信)P(通过)\displaystyle P(\text{可信}|\text{通过}) = \frac{P(\text{通过}|\text{可信}) \times P(\text{可信})}{P(\text{通过})}
用大白话说:验证通过后模型真的可信的概率,取决于「验证本身有多可靠」和「我们原本对它的信任有多高」。
  1. 后验概率 P(可信|通过)这是最终关切——在验证结果显示「通过」之后,模型确实是可信版本的概率。一道完美的认证体系会让它无限接近 1。
    P(可信∣通过)P(\text{可信}|\text{通过})
  2. 似然 P(通过|可信)真实可信的模型,通过验证的概率。这衡量的是验证机制本身的灵敏度——好机制应该接近 1,坏机制会误伤好人。
    P(通过∣可信)P(\text{通过}|\text{可信})
  3. 先验 P(可信)验证之前,我们对模型来源的整体信任。从官方渠道直接拉取的模型先验高,从网盘捡来的先验低。这解释了为什么「认证」和「来源管理」永远是一对。
    P(可信)P(\text{可信})
  4. 边缘概率 P(通过)无论模型真假,总体验证通过的概率。它像一个「背景噪音」——如果攻击者伪造能力很强,这个分母会变大,稀释验证证据。
    P(通过)P(\text{通过})

威胁全景——小偷的三种混入门路

小偷想进你小区,无非三条路:偷配门禁卡、狸猫换太子、收买门卫。AI 后门攻击者的手段也精准对应这三条路——它们分别发生在训练期、发布期和部署期。

第一条路是数据投毒。攻击者在模型训练阶段往数据集中混入带「触发器」的毒样本。比如给几百张「停车标志」图片加上一个黄色小贴纸,同时把标签改成「限速标志」。模型学到的是:看到黄色贴纸就输出限速——这就是隐藏在模型里的后门。第二条路是模型替换,也就是「李鬼换李逵」:攻击者劫持下载渠道,把一个带后门的恶意模型伪装成官方版本挂上去,受害者下载部署,浑然不觉。第三条路是参数篡改:模型已经在线上服务了,攻击者通过内部漏洞或供应链劫持,只微调几个 bias 参数,就能悄悄植入后门——就像收买门卫,让他只对某个特定暗号放行。

还有一个容易被忽视的推理期绕过:即使部署了输入过滤,攻击者仍会构造对抗样本,让过滤器「看不见」触发器,从而绕过检测直接触发后门。投毒攻击有个冷酷的数学规律——毒样本越多,后门被激活的概率越高:

看到这个公式就明白:数据投毒不必投很多样本,只要放到关键位置,再配合推理时反复输入触发器,后门几乎必然被激活。这就是为什么「认证」不是可有可无——面对偷配门禁卡的小偷,你唯一能做的就是让每张卡都经过主人验证。

P触发=1−(1−ρ)n\displaystyle P_{\text{触发}} = 1 - (1 - \rho)^{n}
其中 $\rho$ 是毒样本在训练集中的占比,$n$ 是推理时触发器出现的关键次数。毒占比越高、触发机会越多,后门被唤醒的概率越接近 1。
  1. 单样本干净概率 (1-ρ)随机抽取一个训练样本,它不是毒样本、不会携带后门模式的概率。ρ 越大,干净概率越小。
    1−ρ1 - \rho
  2. 全部干净概率 (1-ρ)^nn 次触发相关的输入全部「干净」、后门一直沉睡的概率。n 越大,这些输入碰上都避开触发器的概率越低。
    (1−ρ)n(1 - \rho)^{n}
  3. 补集得到触发率用 1 减去「全部干净」的概率,得到「至少一次被后门劫持」的概率。当 n 或 ρ 增大时,这个值像涨潮一样逼近 1。
    P触发=1−(1−ρ)nP_{\text{触发}} = 1 - (1 - \rho)^{n}

数字签名——房产证上的钢印

房产证为什么难伪造?因为上面有房管局盖的钢印,还有唯一编号,随时可以到登记系统查验。数字签名就是 AI 模型的「钢印」——它由发布者在模型出厂时盖好,任何人在部署前都可以查验真伪。

具体流程分三步。第一步,训练完成后,发布者对模型的所有参数(序列化后的权重文件)做哈希运算,得到一个固定长度的「指纹」。哈希的特点是:模型哪怕只改动一个比特,指纹就会天翻地覆。第二步,发布者用自己独有的私钥对这个指纹加密,生成「数字签名」,签名随模型一起发布。私钥只有发布者知道,所以任何人都无法伪造签名——这就是钢印不可复制的本质。第三步,部署方拿到模型后,用发布者的公钥解密签名,还原出原始指纹;同时对自己手上的模型重新做一次哈希,得到本地指纹。两个指纹比对:

数字签名还带来一个额外福利:不可抵赖性。发布者无法否认「这个模型是我发的」——因为签名只能用他的私钥产生。就像房产证上钢印一盖,房管局想赖账都难。对 AI 供应链来说,签名让每一个模型都能追溯到责任源头。

σ=Epriv(H(M)),H(M′)=?Dpub(σ)\displaystyle \sigma = E_{\text{priv}}\big(H(M)\big), \qquad H(M') \stackrel{?}{=} D_{\text{pub}}(\sigma)
签名 σ 是私钥加密的模型指纹;验证时本地计算待测模型 $M'$ 的哈希,与公钥解密出的指纹比对,一致则通过。
  1. 哈希指纹 H(M)对模型 M 做哈希,压缩成一个短指纹。哈希函数是单向的——从指纹推不回模型,但从模型一定能复现同样的指纹。
    H(M)H(M)
  2. 私钥加密 E_priv用发布者私钥加密指纹,生成签名 σ。私钥不公开,所以签名无法被第三方伪造——这是「钢印」的防伪核心。
    σ=Epriv(H(M))\sigma = E_{\text{priv}}\big(H(M)\big)
  3. 公钥解密 D_pub验证方用公开的公钥解密 σ,还原发布者当初的指纹。公钥能解密恰恰证明 σ 确实是用对应私钥盖出来的。
    Dpub(σ)D_{\text{pub}}(\sigma)
  4. 哈希比对对本地模型 M' 重新算哈希,与还原的指纹比较。M' 被篡改过哪怕 1 比特,哈希也完全不同,比对必然失败。
    H(M′)=?Dpub(σ)H(M') \stackrel{?}{=} D_{\text{pub}}(\sigma)

模型水印——给羊群做记号

牧民的羊长得都一样,怎么证明哪只是自己家的?答案是烙印——在羊耳朵上烫一个只有自己认得的记号。模型水印就是 AI 世界的「烙印」:它不改变模型的功能,却能让主人辨认出「这是我的作品」。

水印分两种。静态水印:训练完模型后,把一串伪随机向量 P 按一定强度叠加到模型权重上。每个发布者的 P 都不同,相当于独一无二的纹理。这个操作对模型精度影响极小,肉眼不可见,但主人可以随时检查权重里有没有自己的 P。动态水印更有意思:构造一组特殊的「触发样本」,输入模型后会产生某个特定输出——这看起来像后门,但它是主人主动埋下的、用来认领模型的「签名动作」。别人不知道触发样本长什么样,自然无法冒领。

水印的工程关键是鲁棒性(抗擦除能力)。攻击者拿到模型后,可能会剪枝压缩、量化、微调甚至蒸馏——这些操作都可能洗掉水印,就像小偷给羊洗澡想洗掉烙印。嵌入公式和检测规则如下:

水印和签名是互补关系:签名做「事前认证」,确认模型没被篡改;水印做「事后溯源」,即使模型被拿去做二次开发,也能追到原始出处。但别迷信水印——蒸馏等操作仍可能洗掉它。所以成熟的做法是签名、水印、监控一起上,正如牧民既靠烙印,也靠登记簿。

W′=W+λ⋅P,acc(Ttrigger)>τ⇒水印存在\displaystyle W' = W + \lambda \cdot P, \qquad \text{acc}(T_{\text{trigger}}) > \tau \Rightarrow \text{水印存在}
把水印模式 P 按强度 λ 叠进权重得到 W';检测时用主人的触发集测试,输出命中率高过阈值 τ,就认定模型带自家水印。
  1. 水印嵌入 W' = W + λ·P原始权重 W 加上强度 λ 的水印向量 P。λ 太小水印易被噪声淹没,太大则会损伤模型精度,是个需要调参的平衡点。
    W′=W+λ⋅PW' = W + \lambda \cdot P
  2. 触发集 acc(T_trigger)主人私藏的触发样本库。含水印的模型在这些样本上输出高度一致,正常模型则输出凌乱——这是动态水印的检测依据。
    acc(Ttrigger)\text{acc}(T_{\text{trigger}})
  3. 阈值判定 τ命中率超过 τ 就认定水印存在。τ 定太高会漏判被削弱的水印,定太低会误伤无辜模型,需要结合误报率来调。
    acc(Ttrigger)>τ\text{acc}(T_{\text{trigger}}) > \tau

防御实战——保安巡逻、探头与登记簿

门禁只是第一道防线。真正安全的社区还有三样东西:保安巡逻(主动排查)、监控探头(持续盯防)、访客登记簿(全程留痕)。模型的认证体系也分这三层。

第一层是输入过滤。在模型推理之前加一道安检机,检查输入里有没有已知的触发器模式——比如特定位置的像素块、特定 token 组合。一旦识别出可疑模式,直接拦截,不让它到达模型本体。第二层是输出异常检测。部署一个监控探针,持续观察模型的输出分布。正常运行的模型像一条平稳的河,一旦输出置信度、熵值等统计量突然异常,就像河水暴涨——立刻告警。第三层是日志审计:谁在什么时候、从哪个地址加载了模型、做过哪些修改、谁批准了部署——全部记入登记簿。出了事,翻开日志就能顺藤摸瓜。

监控探针的核心是一个简单的统计公式——用「正常画像」判断「当前是否异常」:

这套组合拳对应小区的完整安防:输入过滤是让可疑包裹进不了门;异常检测是保安发现某户半夜频繁出入就上前盘问;日志审计是每件事都有监控录像可回放。定期复查则是把三者的检查表翻出来重跑——重新验证签名、重新评估触发集,防止攻击者用「温水煮青蛙」的方式一点点注入后门。

z=x−μσ,z>τ⇒触发告警\displaystyle z = \frac{x - \mu}{\sigma}, \qquad z > \tau \Rightarrow \text{触发告警}
其中 x 是当前观测值(如输出置信度),μ 和 σ 是模型良性运行期的均值与标准差。z 表示偏离正常水平多少个标准差,超过阈值 τ(通常取 3)就报警。
  1. 观测值 x当前时刻采样的模型行为指标,比如某类输入的平均置信度、输出的信息熵。它是异常检测的「眼睛」。
    xx
  2. 正常画像 (μ, σ)模型在长期良性运行中统计出的均值与标准差,相当于「这条河平时的水位和波动幅度」。画像需要持续更新,因为数据分布会漂移。
    μ, σ\mu,\ \sigma
  3. 标准化 z把偏离程度换算成「多少个标准差」。z=0 表示完全正常,z=2 表示偏得有点远,z=3 以上就非常可疑。
    z=x−μσz = \frac{x - \mu}{\sigma}
  4. 告警阈值 τ超过阈值就触发告警。三西格玛法则(τ=3)在正态假设下意味着误报率约 0.3%——既敏感又不过度惊扰。
    z>τz > \tau

伦理合规——门禁背后的规矩

小区装门禁不是想装就装,要业主大会投票、要保护访客隐私、要留出消防通道。AI 模型的认证体系同样要面对伦理与合规的约束——安全不能以牺牲权利为代价。

先说责任归属。认证体系必须做到「出了事找得到人」:模型是谁签发的、谁审核的、谁部署的、谁在运行时动过参数——一条证据链下来,责任清清楚楚。在金融、医疗等强监管行业,这是硬性要求。其次是隐私平衡。水印嵌入权重算不算对模型创作者权益的侵犯?触发样本集里如果包含用户真实数据,检测水印时会不会泄露隐私?这些都是认证技术落地时躲不开的伦理拷问。最后是监管标准——GDPR、欧盟 AI 法案、国内生成式 AI 管理办法,都在强调模型的可审计性、可解释性与全流程留痕。认证不是技术人员的自选动作,而是合规的必答题。

如何决定投入多少认证资源?业界常用风险矩阵来量化:

物业的规矩从来不是给住户添堵,而是让「信任」这件事变得可衡量、可追责。认证也是这样——它让 AI 模型从「来路不明」走向「有据可查」,让整个行业的信任有了地基。技术是冷的,但设计规则时的取舍,处处透着对使用者权利的尊重。

R=I×P\displaystyle R = I \times P
R 是风险等级,I 是事件影响程度(损失有多大),P 是发生概率(威胁有多可能成真)。两者相乘得到风险优先级,决定我们要上几层防御。
  1. 影响程度 I如果模型真的被后门劫持,会造成多大损失。贷款审批模型被操纵可能损失千万,聊天机器人被骗走几句隐私则影响小得多。
    II
  2. 发生概率 P由威胁建模估计——模型暴露面多大?攻击者动机多强?历史上有无类似攻击?这个概率本质是一个先验估计。
    PP
  3. 风险乘积 R两者相乘得到风险等级。高影响 + 高概率 = 红色高危,必须上签名 + 水印 + 实时监控全套;低影响 + 低概率 = 绿色低危,基础签名即可。
    R=I×PR = I \times P

AI 应用场景

模型托管平台的签名验证

阶段:模型发布与获取(供应链安全)

解决的问题:传统方式下,用户从平台下载模型后无法确认文件是否被劫持或篡改——下载页面的校验码常被忽视,攻击者替换模型后用户照单全收。引入数字签名后,发布者上传模型时用私钥签名,平台展示公钥与签名;用户下载后本地验签,比对不一致立刻拒绝部署。

具体案例:某企业内网的模型仓库上线签名机制后,一位算法工程师从镜像站下载了「BERT-base 中文版」,验签时发现哈希对不上——追溯发现该镜像站曾被人植入带后门的同名模型。因为认证拦截,一次供应链攻击被化解于无形。

企业 ML 流水线的认证闸门

阶段:CI/CD 部署(DevOps 集成)

解决的问题:传统做法中,模型从「训练完成」到「上线服务」全靠人工确认,中间任何人都可能悄悄替换权重文件。把认证嵌入流水线:模型构建成功后自动计算哈希并签名,部署前自动验签,签名不符则流水线红灯阻断发布——让安全成为自动化的一部分而非事后补救。

具体案例:某电商推荐系统团队在 CI/CD 中新增「模型签名校验」步骤。一次版本回滚时,运维手滑把一个旧版未签名的权重推到了生产环境,流水线在部署前拦截并告警,避免了线上模型静默降级引发的推荐混乱。

联邦学习中的参与者认证

阶段:训练聚合(多方协作)

解决的问题:联邦学习允许多方本地训练后只上传梯度/模型更新,但恶意参与者可能上传带后门的模型更新,投毒全局模型。传统做法只做聚合不做鉴别。引入参与者模型签名 + 行为指纹水印后,聚合服务器先验证每个更新的签名与来源,再用水印检测过滤异常更新,从源头杜绝投毒者混入。

具体案例:某医疗影像联邦学习项目接入 12 家医院。一次聚合前发现某医院上传的模型更新签名与登记不符,且输出分布异常——经排查是该医院内部服务器被攻破,攻击者试图通过恶意更新给全局模型植入后门。认证机制让这次攻击在聚合前就被拦截。

Python 演示

python61 行
import hashlib  class ModelVault:    """模拟模型仓库:登记时生成签名,部署前验证签名。"""     def __init__(self):        self.registry = {}        self._secret = "s3cr3t-key"     def _compute_hash(self, weights):        blob = "|".join(            f"{k}:{v}" for k, v in sorted(weights.items())        )        return hashlib.sha256(blob.encode()).hexdigest()     def _sign(self, digest):        return hashlib.sha256(            (digest + self._secret).encode()        ).hexdigest()[:16]     def register(self, model_id, weights):        digest = self._compute_hash(weights)        signature = self._sign(digest)        self.registry[model_id] = {            "digest": digest,            "signature": signature,        }        return signature     def verify(self, model_id, weights):        if model_id not in self.registry:            return False        expected = self.registry[model_id]["signature"]        actual = self._sign(self._compute_hash(weights))        return actual == expected  def main():    vault = ModelVault()    official = {"w1": 0.42, "w2": -0.13, "b": 0.07}     sig = vault.register("sentiment-v1", official)    print("模型已登记, 签名:", sig)     if vault.verify("sentiment-v1", official):        print("验证通过: 模型完好, 可以部署")    else:        print("验证失败: 模型来源可疑!")     tampered = dict(official)    tampered["b"] = 99.9     if vault.verify("sentiment-v1", tampered):        print("验证通过")    else:        print("验证失败: 模型疑似被篡改, 禁止上线!")  if __name__ == "__main__":    main()
目的:用哈希 + 密钥签名模拟「模型认证门禁」——登记模型时盖章,部署前验章,篡改一个参数立刻现形。
  1. blob = "|".join(f"{k}:{v}" ...)把权重字典按 key 排序拼成稳定字符串,保证哈希结果可复现,是签名有效的前提。
  2. digest = self._compute_hash(weights)计算模型「指纹」:权重文件的数字摘要。
  3. signature = self._sign(digest)用仓库私钥给指纹盖章,生成签名。
  4. self.registry[model_id] = {...}把指纹和签名登记进册,模拟发布者存档。
  5. expected = self.registry[model_id]["signature"]取出官方登记时的签名,作为比对基准。
  6. actual = self._sign(self._compute_hash(weights))对待验证模型重新走一遍「哈希 + 签名」流程。
  7. tampered["b"] = 99.9模拟攻击者篡改一个 bias 参数,只要动一比特,验签必失败。

常见误区

误区我以为只要把模型文件加密传输,别人看不到内容,就能保证模型没被篡改、来源可靠。加密不就是安全吗?

正解加密保护的是「机密性」——防止别人偷看内容;认证保护的是「真实性」——确认内容是谁发的、有没有被动过。好比你把信装进保险箱寄出去(加密),但保险箱上没写寄件人,收到的人照样不知道信是不是你写的、中途有没有被掉包。数字签名才是那个「署名 + 防拆封」机制。

为何常见:日常语言里「加密」和「安全」经常被混用,导致初学者把加密当成万能药,忽略了「身份真实」这一独立维度。

误区模型部署前验签通过,后面就万事大吉了。反正门禁刷过一次卡,以后就永远是这个人了吧?

正解模型上线后依然面临热更新注入、参数微调篡改、推理期绕过等攻击。正如门禁刷卡只代表「进门那一刻」你是住户,不代表你能永远自由出入——真正的安全需要持续监控:定期重新验签、复查水印、观察输出统计量。认证是「持续过程」而非「一次事件」。

为何常见:人们天然偏好「一劳永逸」的心智模型,把安全理解为一次性检查,忽略了威胁是动态演进的。

误区给模型加了水印,就等于上了保险——不管谁拿去二次开发,我都能认出来,后门攻击也不用怕了。

正解水印有明确的短板:剪枝、量化、蒸馏都可能洗掉水印;而且水印只能证明「模型是我家的」,不能证明「模型没被篡改」。签名防篡改、水印防否认、监控防绕过,三者各管一段。只靠水印就像只给羊烙了印却不上锁——羊被偷走洗净烙印,你照样找不回。

为何常见:水印听起来很「科幻」,容易被想象成不可摧毁的魔法印记,实际工程中它只是概率性证据而非绝对保证。

误区门禁验证了我是住户,那不就可以进小区任何一栋楼了吗?认证通过了,权限自然就有了。

正解认证只回答「你是谁」,授权才回答「你能干什么」。刷卡确认你是住户(认证),但你只能进自己那栋楼、自己那套房(授权)。在模型系统里,一个模型通过签名认证只能说明它是官方版本,不代表它可以被部署到高敏场景——场景权限还要由授权策略单独管控。两者分离才能做到最小权限原则。

为何常见:两个词都以「认」开头,日常对话里常被混用,导致设计系统时把校验身份和分配权限耦合在一起,埋下越权隐患。

面试题

Q1. 下列哪项最符合「认证」的核心目标?

单选题 · easy

  • A.对模型参数进行加密存储
  • B.确认模型身份的真实性← 正确答案
  • C.提升模型的推理精度
  • D.压缩模型减少显存占用

答案:B。认证回答的是「你是谁」,即身份真实性,对应选项 B。加密存储属于机密性(A),精度与显存(C、D)都是模型性能指标,与身份验证无关。就像门禁刷卡是为了确认你是住户,而不是给你换把更亮的灯。

Q2. 数字签名验证流程中,验证方使用什么来还原签名中的指纹?

单选题 · easy

  • A.签名者的私钥
  • B.签名者的公钥← 正确答案
  • C.模型的当前哈希
  • D.一个对称加密密钥

答案:B。签名由私钥加密生成,验证时用对应的公钥解密还原指纹。私钥只有签名者持有(A 错),哈希是用于比对的材料而非解密工具(C 错),数字签名体系依赖非对称密钥而非对称密钥(D 错)。就像用专用验章机(公钥)检查钢印,而不是找房管局要他们那把私章(私钥)。

Q3. 数据投毒攻击主要发生在模型生命周期的哪个阶段?

单选题 · easy

  • A.模型推理阶段
  • B.模型训练阶段← 正确答案
  • C.模型部署阶段
  • D.线上监控阶段

答案:B。投毒的「毒」是混进训练数据集的,模型在学习过程中把触发器模式当成正常规律记下来,所以它发生在训练阶段。推理(A)和部署(C)是后门被触发和接入的阶段,监控(D)是事后防御——都不是下毒的最佳时机。好比小偷是在小区入住登记时伪造了假身份(训练期),而不是进门后才改户口。

Q4. 下列哪些属于模型水印的常见形态?

多选题 · mid

  • A.静态水印← 正确答案
  • B.动态水印← 正确答案
  • C.哈希签名
  • D.日志水印

答案:AB。静态水印(叠加在权重中的伪随机模式)和动态水印(触发样本产生特定输出)是主流两类,故选 A、B。哈希签名(C)属于签名认证体系而非水印;「日志水印」(D)不存在这个概念,日志是审计手段。类比牧民标记羊:烙铁烫印是静态,训练羊认特定哨声是动态。

Q5. 验证方用公钥解密签名后,将结果与本地重算的哈希比对不一致,说明什么?

单选题 · mid

  • A.模型推理精度有所下降
  • B.模型可能被篡改或损坏← 正确答案
  • C.模型需要重新做蒸馏压缩
  • D.模型出现了数据漂移

答案:B。签名比对是完整性校验——哈希不一致意味着本地模型与发布时不一致,最可能是被篡改或传输损坏,这是后门注入的典型信号(B)。精度下降(A)、蒸馏压缩(C)、数据漂移(D)都不会改变模型权重文件的哈希值。就像钢印和编号对不上,说明证件可能被改过,而不是照片拍得不好看。

Q6. 在贝叶斯认证公式中,P(可信) 表示什么含义?

单选题 · mid

  • A.验证之前的先验信任度← 正确答案
  • B.验证通过后的条件概率
  • C.验证机制本身的误报率
  • D.模型在测试集上的准确率

答案:A。P(可信) 是验证动作发生前,我们对模型来源的既有信任——从官方渠道拿模型先验高,从陌生网盘下载先验低。它正是「先验概率」(A)。验证后的概率是 P(可信|通过)(B 错),误报率是 P(通过|不可信) 相关(C 错),准确率完全不相关(D 错)。门卫心里那句「这人看起来面善」(先验),就是最终判断的起点。

Q7. 下列哪些属于模型后门的实战防御手段?

多选题 · hard

  • A.输入过滤检测触发器← 正确答案
  • B.输出异常统计告警← 正确答案
  • C.操作日志全程留痕← 正确答案
  • D.增加网络层的数量

答案:ABC。输入过滤拦截可疑模式(A)、输出异常检测捕捉行为偏离(B)、日志审计实现责任追溯(C)都是有效防御。增加层数(D)与后门防御无关,反而可能增大攻击面、拖慢推理。像小区安防:安检机(输入过滤)、巡逻盯梢(异常检测)、监控录像(日志审计)缺一不可,多盖一层楼(加层数)对防盗没有帮助。

Q8. 模型替换攻击的典型场景是?

单选题 · easy

  • A.从非官方渠道下载了同名模型← 正确答案
  • B.训练时混入少量错误标注样本
  • C.对模型进行知识蒸馏压缩
  • D.部署时使用了量化推理框架

答案:A。模型替换指攻击者把恶意模型伪装成官方版本发布到下载渠道,受害者从非官方渠道获取并部署(A)。错误标注样本是数据投毒(B),蒸馏(C)和量化(D)是正常优化手段,不构成替换攻击。就像有人印了一张和你同款的门禁卡挂在小区门口「捡到请刷」,你捡起来就刷——门开了,但进来的是小偷。

Q9. 关于认证与授权的关系,下列说法正确的是?

多选题 · extreme

  • A.认证确认主体身份的真实性← 正确答案
  • B.授权决定主体可以执行的操作← 正确答案
  • C.认证和授权在概念上完全等价
  • D.认证与授权可以分离设计与实现← 正确答案

答案:ABD。认证回答「你是谁」(A 对),授权回答「你能干什么」(B 对),两者在安全架构中必须解耦(D 对)以实现最小权限——先验证身份,再按角色分配权限。C 说完全等价是错误的。类比酒店:前台核对身份证是认证(你是谁),房卡只能开你订的那间房是授权(你能进哪间)。

Q10. 模型水印的「鲁棒性」指的是什么?

单选题 · mid

  • A.精度更高
  • B.抗擦除性强← 正确答案
  • C.训练更快
  • D.显存较小

答案:B。鲁棒性指水印经得起剪枝、量化、微调、蒸馏等常见操作,依然能被检测出来——「抗擦除性」(B)。精度、训练速度、显存都是模型性能维度,与水印能否存活无关。就像烙印要经得起羊洗澡、剪毛、日晒雨淋还能辨认,这才是好记号。