# 宋晓冬：对抗性机器学习与计算机安全

> 安全领域研究者谈机器学习模型的对抗攻击与防御，以及深度学习在系统安全攻防中的角色。

- 原标题：#95 – Dawn Song: Adversarial Machine Learning and Computer Security
- 期数：第 95 期
- 发布日期：2020-05-12
- 嘉宾 / 主题：宋晓冬
- 网页版：https://lexfridman-cn.pages.dev/ep/dawn-song/
- 官方页面：https://lexfridman.com/dawn-song/
- 精读字数：约 10643 字（阅读约 24 分钟）

> 本文为 lex.qiaomu.ai 基于原始访谈的 AI 改写中文精读，非官方翻译；引用请注明出处并链接网页版。

宋晓冬（Dawn Song）在伯克利做了二十多年计算机安全，从网络协议一路打到软件、二进制、Web、移动端。她自己总结出一条曲线：**攻击正在沿着技术栈往上爬，爬到顶端，落在人身上。**

她笑着说，安全这行就是就业保障。笑完之后她认真补了一句，如果问她最担心哪一类攻击，答案既不是内存溢出，也不是侧信道，是自动化的社会工程学。

这句话听着轻，其实是整场对话里最重的一句。它意味着，我们花几十年加固的那些系统，可能并不是主战场。

## 一段代码能不能被证明没有漏洞

对话从最哲学的问题开始：软件系统会永远存在安全漏洞吗？

宋晓冬绕开悲观主义，直接讲清楚了一个技术事实。漏洞这个词的定义本身就很宽，攻击形态还一直在变。过去几十年主流是内存安全类漏洞，缓冲区溢出是教科书案例，攻击者送一段恶意输入进去，程序状态被改掉，控制流被劫持，然后执行本该不执行的代码。远程就能打。

这只是一类。还有一类攻击根本不需要改你的程序，只观察输出，从中推断程序的秘密。攻击面宽到这个程度，所谓"证明系统安全"这个命题本身就卡住了。

> 在安全领域，我们试图证明的往往是否定命题：这里没有攻击。可攻击的形态那么多，这个命题连定义都不清晰。（宋晓冬）

形式化验证这几十年确实在往前走。她提到，现在已经有一批经过形式化验证的系统真正跑起来了，从微内核到编译器，到文件系统，到某些加密库。有团队把几年甚至几十年的职业生涯押在这个方向上。这是实打实的进展。

她特意补了一句，要谨慎地看这件事。一个系统被证明满足某组安全属性，不等于它对其他类型的攻击免疫。证明有边界，攻击者不会待在边界里。

顺带澄清一个常见误解。程序验证多数是静态的，看代码，不跑代码。跑起来测是另一套东西，模糊测试（fuzzing）、模型检查，那些只能覆盖有限的执行路径。静态分析覆盖所有输入，代价是它需要人先把"安全"写成一条能被数学处理的性质。

## 攻击在往上爬，最薄弱的环节是人

她回顾自己走过的路径很有意思。网络、软件、程序二进制、Web、移动端，一路走来，工具越来越强，被保护的系统越来越硬。然后她看到一个趋势：攻击在往上移动，从系统移向人。

安全圈有句老话，系统的最薄弱环节往往是人。这句话以前更像感慨，现在变成了可执行的攻击策略。

她的例子很具体。谷歌这类安全能力公认很强的公司，也发生过员工被钓鱼、真的把钱转给攻击者的事。攻击者不需要攻破任何一行代码，只需要让一个聪明人在一个疲惫的下午点错一个链接。

再往上一层是假新闻和信息操纵。目标依然是人的判断，工具换成了内容。

> 如果人就是系统的最薄弱环节，那这类攻击就是我最担心的。（宋晓冬）

那能不能给人打补丁？她的回答很干脆。机器可以打补丁，可以升级，可以换代。人不能。而且她判断，未来针对人的攻击只会更有效。

她的团队在做的一件事，是用自然语言处理技术做一个"守卫机器人"。设想一个场景：你的邮箱或聊天窗口旁边，有一个程序在观察你和对方的对话，判断对方是不是攻击者。典型的杀猪盘和冒充亲友借钱，套路是自称是你亲戚，人在伦敦，钱包被偷了，急需转账。

守卫机器人可以从两个角度介入。一是识别对话里出现的高风险模式，比如突然出现的转账请求，加上身份核验的空白。二是主动发起挑战应答，自动生成只有真亲戚才答得上来的问题，验证对方身份。

再往前一步，如果判定对方是攻击者，机器人可以反过来跟攻击者周旋，套取更多信息。这个画面有点意思：你以为你在骗人，其实你在被一个模型审问。

Lex 追问了一个很关键的产品问题：这个守卫归谁？装在 Facebook 里，还是作为独立服务跟着你走遍所有平台？

宋晓冬承认这个问题不好答。装在你这边，它需要知道你和你亲戚的很多信息才能做验证，但它服务的是你。装在平台那边，平台掌握了这份画像。**同一个技术，归属不同，权力结构完全不同。**

## 在停车标志上贴几块贴纸

话题转到对抗性机器学习（adversarial machine learning），这是她近几年最受关注的方向。

先讲基础概念。对抗样本是在输入上加扰动，人几乎看不出来，模型输出完全变掉。更狠的是定向攻击，不只让模型答错，还让它错成攻击者指定的那个答案。

另一条路径在训练阶段。攻击者往训练数据里掺毒（poisoning），模型照样能训出来，对绝大多数输入表现正常，只在攻击者设定的触发条件下出错。这叫后门攻击（backdoor attack）。

她讲了一个具体到有点荒诞的实验。团队用人脸识别做案例，只插入极少量投毒样本，就能让模型学歪。歪的方式偏离了"把甲认成乙"这种简单映射，模型学到的是一个更一般的规则：**只要戴上某种眼镜，任何人都会被识别成目标人物。**

实验里目标人物用的是特朗普，后来 Lex 说自己是俄罗斯人，提议改成普京。物理世界里真的打印一副眼镜戴上，拍张照喂进去，识别结果就是那个人。

更离谱的是后续。眼镜甚至不需要肉眼可见，把图案以像素级的方式叠加到图像上就够。人眼完全看不出来，模型已经改了判断。

这类攻击的隐蔽性在于两头都看不见。人眼审训练集，看不出被投毒的那几张图有什么异常。模型训完了，工程师看参数，也看不出它被训歪了。它只在攻击者知道的那个触发条件下失效。

2018 年那篇《Robust Physical-World Attacks on Deep Learning Visual Classification》做的是另一件事，把对抗样本从数字世界搬到物理世界。团队做了贴纸，贴在真实的停车标志上，让视觉分类模型把它认成限速标志。车开过去不会停。

> 那些停车标志后来被放进了伦敦科学博物馆。（宋晓冬）

数字世界到物理世界的这一步，难度是数量级的跃升。她一条条拆：

视角变了。车在开，标志被看到的角度、距离、光照条件全在变，对抗样本必须对这些变化鲁棒，数字图像不需要考虑这些。

扰动的落点被限制了。数字图像可以在任意像素上动手，物理世界里你只能动标志本身那块区域，背景碰不了。

中间隔了一个相机。数字世界里你可以直接改输入张量，微小扰动直接生效。物理世界要经过打印、贴附、拍摄、采样，扰动必须大到能被相机捕捉，又要小到人眼不觉得异常。

最后还有打印机。色域、材质、光照反射，全是约束。

Lex 问她这个过程里有多少是艺术，多少是科学。她说主要是科学。生成对抗扰动本质上是一个优化问题，把物理约束写进目标函数，剩下的就是算。当然最后要打印、要贴、要拍，那一步必须做实验验证。

## 这件事说明我们对深度学习的理解还很浅

对抗样本为什么存在？有一种说法是"这是特性不是缺陷"，模型学到了训练集里区分度最高的那些特征，只是这些特征跟人类的语义不一致。

宋晓冬的看法更直接：**这说明我们对深度学习的理解非常有限。**我们知道它有效，不太知道它为什么有效，更不知道它在什么条件下会失效。

她给了一个很清楚的对比。人看一张图，得到的信息远不止一个类别标签。你知道这是什么物体，它离你多远，什么材质，能不能坐上去，光线从哪来。这些信息一起进来，互相约束。当前的分类模型只被要求做一件事，输出那个标签。它没有被要求学到丰富的东西。

她反复用到一个词，更丰富的表征（richer representation）。

> 人类视觉学到的是关于世界的丰富表征。我们还没有搞明白怎么让模型学到这个。而我相信，更丰富的表征会带来更强的泛化和更强的鲁棒性。（宋晓冬）

这个思路直接导出了她的防御工作。

## 用任务自带的约束做防御

2018 年那篇语义分割的论文，做的是检测对抗样本。

先解释任务。语义分割是给图像里每一个像素打标签，比图像分类细得多。她团队发现，分割模型被攻击起来也非常容易，加一点扰动，可以让它把任何指定图案分割出来，哪怕图里根本没有这个东西。有人甚至能让它分割出一只不存在的猫。

防御思路来自一个观察。真实图像里存在一种天然约束，她称之为空间一致性（spatial consistency）。

具体做法是这样的。在一张图里随机取两个有交叠区域的图块，分别送进分割模型，然后在交叠区域比对两边的结果。正常图像上两边应该高度一致，因为那是同一块像素。这就是约束。

对抗样本很难满足它。攻击者可以对某个特定图块精心构造扰动，但他不知道你会随机取哪两块，而随机性意味着扰动必须在所有可能的重叠组合下都保持一致。这个难度远远超过伪造一个特定输出。

> 实验结果显示，这种方法对已有的攻击非常有效。因为我们是在要求模型有更多相互印证的途径，来确认它真的做出了正确的预测。（宋晓冬）

这个思路可以横向扩展。团队后续工作把一致性从空间推到时间，用于语音和音频数据。再往后，视频上可以同时用空间一致性和时间一致性做交叉校验。

核心思想值得单独拎出来：**不去跟攻击者在像素层面硬拼，转而利用任务本身天然具备的结构约束。**攻击者可以伪造一个点的输出，很难伪造所有点之间的相互关系。

## 谁在赢，现在看是攻击方

Lex 问了一个直白的问题，攻防两边的论文都上千篇了，谁赢？

她的回答同样直白，现在攻击方明显占优。理由有三条。

攻击的方法太多。一种思路走不通，换一种，成本很低。

黑盒攻击根本不需要知道目标模型的结构和参数。门槛一降，攻击的可复制性就上来了。

防御的效果普遍有边界。她用了"打补丁"这个说法，很多所谓防御只是让模型在某类攻击下稍微稳一点，换个攻击方法又破了。真正强的、通用的防御，还没有。

然后她直接反驳了一个流行说法。很多公司会说，我们的系统部署在受控环境里，数据很窄，模型细节外界不知道，你实验室里那些演示在真实世界根本行不通。

> 我不认为这叫希望，这叫侥幸。（宋晓冬）

她给了一个具体的反例，打的是谷歌翻译。

第一步，通过 API 查询偷模型。不停调用翻译接口收集输入输出对，用它训练一个模仿模型。模仿模型的效果能接近目标模型。

第二步，在模仿模型上生成对抗样本。

第三步，把这些样本打到真正的谷歌翻译上。部分攻击成功迁移。

她举的例子是温度。原句里是 six Fahrenheit，生成对抗样本时只把 six 改成 seven，一个单词，译文就从 6 华氏度变成了 21 摄氏度。华氏 6 度约合摄氏零下 14 度，21 摄氏度完全不是同一个温度。

这个案例的分量在于，它同时打破了两层假设。一层是"要攻击必须先知道模型"，另一层是"真实工业系统打不动"。云端 API 就是最典型的真实世界系统，它被打了，攻击还是从一个黑盒模仿出来的。

她的团队在云视觉 API 上也做过类似实验，同样有效。

## 特斯拉和自动驾驶：多传感器才是防御

话题来到自动驾驶，Lex 提到特斯拉的纯视觉方案。

宋晓冬的态度分得很清楚。她百分之百确信这类攻击在物理世界可行，已经有研究在特斯拉前方放置特定图案让它误判。但可行性和实施门槛是两码事，还要看有多少人真会去做。

Lex 说马斯克本人对这类攻击不以为意，说他和公司有关联，所以必然这么说。宋晓冬没有跟着调侃，她换了个角度把问题说得更狠：

> 其实根本不需要精妙的攻击。我们已经看到很多真实事故，在完全没有攻击的情况下，这些系统就做出了错误决策。自然分布偏移已经足够让它们出问题。（宋晓冬）

对车里的人来说，是模型自然犯错，还是被定向攻击，结果没有区别。

防御的方向她讲得很清楚，多传感器融合。车上装着多个摄像头、雷达、超声波，这些传感器的物理特性不同，对同一个对抗图案的响应也不同。攻击者要在所有模态上同时骗过，难度陡增。融合做得越好，能被攻破的空间越小。

她顺带点了一个更朴素的事实，纯视觉方案把全部安全边际压在了一个模态上。

## 隐私的另一半：机密性

宋晓冬把安全拆成三个属性，完整性、机密性、可用性。前面聊的对抗攻击属于完整性，模型被诱导做出错误判断。隐私属于机密性，训练数据里的敏感信息被泄露出去。

现在机器学习系统的数据流是这样。训练数据进来，模型训出来，用户输入进来，模型给出预测。**训练数据本身就是最敏感的资产。**它可能是你的财务记录、病历、聊天记录。

问题在于神经网络容量极大，它真的会记住训练数据。

她讲了一类攻击。白盒设定下，攻击者能看到模型参数，可以推断某条特定的数据是否被用于训练。另一类更简单，连参数都不用看，只靠不断查询模型，就能把敏感信息钓出来。

她和谷歌的研究者合作过一个案例，用邮件数据集训语言模型。这类数据天然包含用户的社保号和信用卡号。模型训完之后，攻击者只通过查询接口，就能把这些号码原样提取出来。

> 这说明神经网络真的会记住训练数据，最敏感的个人身份信息都能被钓出来。（宋晓冬）

这条路有解。差分隐私（differential privacy）在训练过程中往梯度上加噪声，最终模型的效用接近，隐私保护显著增强。她团队提出的那些攻击，对差分隐私训练出来的语言模型失效了。

背后的取舍值得说清楚。效用和隐私之间确实存在张力。想让推荐系统更懂你，它就必须知道更多关于你的事。麻烦出在收集之后怎么处理，能不能保证数据只用于你同意的用途，能不能保证推荐系统不会转头把号码卖给第三方。

## 谁拥有你的数据

这是整场对话里最有思想密度的一段。

宋晓冬先讲了一段经济史。产权这个概念并不是人类一开始就有的，清晰的产权界定加上有效的执行机制，是近代经济增长的主要驱动力之一。她提到有研究认为，很多发展中国家缺的其实不是资本，是产权制度和对产权的执行。

然后她把类比推过来：**数据现在是互联网公司的资产，并非个人的资产，而且没有清晰的产权概念。**

> 你用什么定义一个人？过去是物理财产，是看得见摸得着的东西。现在越来越多的定义存在于数字世界里，你的政治观点、你的音乐品味、你的财务和健康信息。而这些数据，现在大部分归互联网公司所有。（宋晓冬）

她的逻辑是顺序问题。先有产权，才谈得上"谁来决定这份数据能怎么用"。用户是所有者，用户才有资格定义用途。这个前提不成立，后面所有的知情同意、隐私设置，都是在别人家的地盘上商量。

Lex 提出一个很现实的担心。多少人愿意安静地把数据交出去，换取免费服务？如果数据所有权归个人，互联网的商业模式是不是要重写？

宋晓冬认为不必然。用户有了所有权，也可以选择继续授权平台使用数据，只要用途是他认可的。推荐系统给他推了好音乐、好电影，他乐意。另一些用户可能更愿意付费订阅，换取不被追踪。**关键是选择权要真实存在，而且这笔交易要摆到台面上。**

她对当下的舆论有一点评判。媒体叙事常常是两方对立，用户说我信任不了平台，平台说我给了你免费服务。这个框架没有出口。她希望的是更细致的对话，承认效用和隐私之间存在真实张力，技术和监管两条腿一起走。

Lex 在这段补了一个正面视角，值得记下来。Facebook 要求真人真名真照片，让一个人在数字空间里以自己的真实身份存在。这件事在今天看来平常，当年是从物理世界跨到数字世界的一大步，塑造了 21 世纪的数字身份形态。

## 区块链：分布式账本到底解决什么

Lex 请她解释区块链，她先纠正了一个用词问题，这个词被用得太泛了。

她给出的定义是，一群互不完全信任的节点组成的网络，只要其中足够比例的节点诚实，整个系统就能达成某些性质，比如维护一份不可篡改的日志，让一批交易被一致确认并固定下来。

账本就是一个数据库，分布式账本就是这份数据库在多节点之间同步维护。

那要防什么？恶意节点篡改交易记录，双花，制造网络分区让不同节点看到不同的账本视图。账本必须精确反映什么时候发生了什么，没有重复，没有遗漏。

安全强度取决于共识机制。工作量证明靠算力和电力投入，权益证明靠质押。每种机制理论上都能推导出攻破系统所需的资源比例。她提醒了一句，攻击类型很多，很难给出完整门槛估计，但"需要控制多少比例的节点"这类问题可以算清楚。

隐私是另一面。公链上的交易默认全公开，任何人都能看，机密性为零。要加密就得额外引入机制，零知识证明、安全多方计算，把交易双方的身份和金额藏起来。

她自己的创业公司 Oasis Labs 做的就是这个。他们做机密智能合约，合约执行的输入数据和执行过程都不对外暴露，同时用不可篡改的日志记录两件事：这份数据的所有权归谁，使用者承诺遵守哪些使用策略。

> 我们在建的是一个负责任的数据经济平台，把所有权、隐私计算、策略执行这几件事组合到一起。（宋晓冬）

这条线跟她前面讲的数据所有权是接上的。产权要能被执行，就需要一套技术上不可抵赖的记录，和一套密码学上的保护。

## 教机器写程序

Lex 说程序合成（program synthesis）在哲学意义上承载了计算机科学的大部分梦想。她认同，并且给了理由。

> 一旦我们教会计算机写程序，计算机科学才真正抵达它的终点。而且对我来说，程序合成是构建智能机器最好的试验场，甚至可以说是通往通用人工智能最理想的领域。（宋晓冬）

她从安全转向 AI 的时候，给自己的理由是"我想造智能机器"。程序合成是这条路上最纯粹的考题。分类任务里模型学的是从输入到标签的映射，写程序要求模型把复杂的意图压缩成算法，难度和通过图灵测试在自然语言上的难度是同级别的。

有希望吗？她说存在性证明是现成的，人类会写程序，机器没有理由不会。问题只在于要多久。

进展集中在受限领域。标志性的早期工作是自然语言转 if-this-then-that 规则，给定触发条件，输出该执行的动作，程序结构极简。

然后难度往上抬。能合成带循环的程序，再往上是递归。她团队的工作已经做到了递归的程序合成。

有意思的是产业侧。她在 NeurIPS 上做完报告，一家创业公司的 CEO 找到她说，他们论文里的方法已经成了公司的核心产品，具体场景是把自然语言描述翻译成 SQL 查询。

她给出了三个衡量这个领域进步的维度。

第一是合成程序的复杂度，用代码行数衡量。从 if-this-then-that 到循环，到递归，这条曲线在稳定上升。她说神经程序合成这个社区很小，NeurIPS 上相关 session 的规模还很小，但一直在长。

第二是泛化。模型在训练分布之外的输入上还能不能给出正确的程序。递归神经程序在他们测试的部分任务上能做到完美泛化，但这只是一部分任务。

第三点她认为最重要，也是跨领域的共同难题，从已有任务中学习，然后解决新任务。

> 今天的程序合成还是这个模式：给一个特定任务，训一个模型，解这一个任务。人不是这样工作的。培养一个程序员，之后他能解无数个新问题。（宋晓冬）

这和强化学习里那个老问题一模一样。训练一个 agent 打某个游戏，它学会的是打这一个游戏。我们想要的是能从过往经验里抽取知识、迁移到新任务上的系统。她认为这件事在程序合成上尤其关键，因为程序合成的全部意义就是造一个能解决新问题的工具。

## 从物理到计算机，从东到西

聊到最后一部分，Lex 把话题拉回她个人的路径。宋晓冬本科在国内读物理，之后到美国，在康奈尔读了一年物理博士，转去卡内基梅隆读计算机。

她描述当年被物理吸引的那个瞬间，很具体。在图书馆里写笔记，突然意识到，只要几条简单的公理、几条简单的定律，就能推出那么多东西，几乎像是能推出剩下的整个世界。物理是自然的语言。

然后她讲到这个浪漫感的消退。做理论研究，实际上要写大量的仿真代码。她笑着说，很多时候是在写 Fortran。同时她跟高年级学生聊天，发现很多人毕业去了华尔街。而她本科时唯一接触过的计算机课程，就是 Fortran 编程。

于是她自己找书学 C，写了个围棋游戏，又写了个 3D 俄罗斯方块。她强调那个时刻的感受，有个想法，写出来，立刻能跑起来，能看见它活着。

> 在物理里，你有一个好理论，然后要等实验物理学家去做实验来验证它，要等很久。在计算机里，你有想法，写完代码，它就在那儿了。（宋晓冬）

她也解释了当年为什么选理论物理。因为先做过实验物理，大部分时间花在修设备上，设备贵，需要跟很多人协作，周期长。她说这事需要一个村子的人一起干。

接下来这段她讲得最清楚。**物理可以从几条简单的定律推出整个宇宙，计算机不行。**计算机系统是人定义的，是人工产物，它的每一个设计背后都是历史原因，为什么是这个架构不是那个架构，为什么这个协议长成这样。你没法用几条基本定律推出来，只能去了解它怎么来的。

这也解释了她为什么觉得物理背景的人转型容易。物理训练的是抽象和建模的能力，换到计算机，缺的只是那些历史细节。

说到从中国到美国，她提醒 Lex 时代不一样了。她来的时候，现在从中国来的学生英语流利，对美国文化已经很熟悉。她那个年代，连发邮件都不容易，要去特定的、有权限的机房排队。她对西方世界了解很少，甚至不知道美国西海岸和东海岸哪个更值得去。

信息稀缺意味着文化差异被放大。今天的学生是在一个共享信息几乎无摩擦的环境里长大的，这是完全不同的世界。

## 科学没有国界，这不是一句客套话

Lex 问了一个有点敏感的问题。他在美国待了二十年，看俄罗斯是一个既遥远又熟悉的地方。他问宋晓冬，中美能不能在 AI 的发展上健康协作，而不滑向军备竞赛。

她的回答是肯定的，而且给了一个不靠乐观主义支撑的理由。

> 学术研究的一切都是公开的。我们写论文，开源代码，全部进入公共领域。一个人在美国、在中国、在世界上任何地方，都可以上 arXiv 看到最新的结果。（宋晓冬）

这个论证比"科学家应该友好"要硬。它说的是，基础研究的产出机制本身就不设边界。论文和代码一旦公开，知识就流过去了，管制跟不上这个速度。真正的竞争在下游，在产品化和工程化，而上游的公开性是这套体系能持续进步的前提。

Lex 提到冷战时期的苏联，想验证这个乐观判断有没有历史依据。宋晓冬没有展开政治分析，她把落点收在学术共同体的开放性上。这个开放性本身就是希望。

## 关于意义：谁有资格给你定义这件事

Lex 问到意义。他先讲了一个观察，很多面对过死亡的人，比如确诊癌症的人，会经历一次剧烈的简化，把生活里大部分不重要的事砍掉，只留下少数几件真正给他们意义的事。死亡的临近是一种强催化剂。

宋晓冬说她不需要面对死亡才开始问这个问题。这个问题跟了她很久。

她先把问题拆开，问的是另一层：**谁有资格定义你生命的意义？**

是某种比你更大的东西吗？是外面有个声音告诉你，这是你生来要做的事，这是你的天命？还是完全由你自己定？如果由自己定，那这个答案会不会是任意的？

她想了很久，也找过各种外部的声音，最后的结论是自己定义。

> 我最后得到的结论是，是你自己定义生命的意义。Lex 接了一句，这是个很重的负担。她说，是，也不是。负担的另一面是自由。（宋晓冬）

然后她立刻补了一个反问，这个问题本身成立吗？大多数人根本不会想这个问题，对他们来说意义不是一个待解的题。而且就算想清楚了，知道意义是什么，真的会让生活更好、更快乐吗？这是开放问题。

她给这个问题的处理方式是，问的过程本身有价值，问得太久、太用力，可能会失效，甚至有害。

Lex 给出了自己的版本。他说创造这件事给他持续的满足感，他喜欢小孩但没有孩子，他把写的程序看成小小的创造物，把机器人看成小小的创造物，还有想法、定理。这些东西本身带来喜悦。他猜很多科学家和很多人都一样。如果非要给一个答案，那就是为自己创造新的东西。

宋晓冬认下这部分，创造对她同样重要，写论文就是创造。但她又往前推了一层。如果意义是创造，那要创造什么？可创造的东西太多了，选择本身又需要标准。

她提出另一个可能，也许意义是成长。每天试着比昨天好一点，把自己放进一个更大的演化进程里。

Lex 顺着这个说了一句很妙的话。奇怪的地方在于，成长似乎比成长所朝向的那个目标更重要。目标的分量比不上过程。

他打了个比方。论文投出去的那一刻，项目结束了，有感激，有庆祝，然后几乎立刻开始找下一件事。满足感不在终点，在克服挑战的那个过程里。驱动演化的那股力量，好像也在我们体内。

宋晓冬回到她自己的经历做了一个印证。当年从安全转向 AI，她给自己的理由是"我要造智能机器"，那是她内心那个声音给出的答案。她真的沿着这条路走了，而且走到了能被称为世界级研究者的位置。一个自己定义的意义，确实能把一个人推到很远的地方。

但她没有把这件事说得太确定。她承认，你没有办法真的确证那就是你生命的意义。可能只是自我说服。不过 Lex 补的那句更准确，那种确定本身是解放性的，因为它让你可以毫无保留地投入。哪怕它是幻觉，它也让行动成为可能。

问得太久会变成陷阱。我们会一直抬头看星星，问那些永远答不上的大问题。可以问，不该沉进去。这大概是这段对话留下的最实用的一句。

## 这一期值得带走的几件事

整场对话跨度很大，从形式化验证到对抗样本，从数据产权到区块链，到程序合成，最后落到意义。贯穿其中的一条线其实很清楚：**技术栈每加固一层，攻击就往上一层移动，最后落在人身上。**

而对人的攻击，目前没有任何补丁机制。这决定了接下来十年安全工作的重心不可能只在代码里。

宋晓冬给的具体判断都有可操作性，值得整理成一份清单。

- **把训练数据当成核心资产来管。**神经网络会记住训练数据，社保号、信用卡号、病历都能通过查询接口被钓出来。收集之前先问一句，这份数据泄露的后果是什么。
- **训练语言模型或任何处理敏感文本的模型时，优先考虑差分隐私。**她团队的研究显示，加了差分隐私的训练能保持接近的效用，同时让他们自己设计的提取攻击失效。
- **不要用"我的系统在受控环境里"来说服自己。**谷歌翻译、云视觉 API 这些最典型的真实工业系统都被黑盒攻击打穿了。黑盒意味着攻击者不需要知道你的模型结构和参数。
- **做多传感器融合，别把安全边际压在单一模态上。**摄像头、雷达、超声波对同一个对抗图案的响应不同，攻击者要在所有模态上同时骗过，成本会陡增。
- **在模型侧加交叉验证机制，用任务自带的结构约束做防御。**空间一致性、时间一致性这类检查，攻击者可以伪造一个点的输出，很难伪造所有点之间的相互关系。这比在像素层面跟攻击者硬拼更有效。
- **认真对待"谁拥有数据"这个问题。**这是所有隐私讨论的前置条件。所有权不清晰，知情同意和隐私设置都只是在别人地盘上商量。作为用户，优先选择那些把数据用途讲清楚的服务；作为从业者，把数据用途和留存策略写成人能读懂的东西。
- **警惕自动化社会工程。**冒充亲友借钱、冒充同事要验证码，这类攻击会随着语言模型变强而更难识别。给家里长辈讲清楚一件事，任何涉及转账的请求，必须通过另一条通道回拨确认。
- **如果要做程序合成方向，把精力放在跨任务迁移上。**合成程序的复杂度、泛化能力、从已有任务学习解决新任务，这三个维度里第三个最有价值，也最难。
- **意义这个问题可以问，别问太久。**问它的价值在于逼你做出取舍，让你能毫无保留地投入某件事。问成一种持续的自我怀疑，它就开始收利息了。给自己一个答案，哪怕它只是暂时的，然后去做。

宋晓冬那句玩笑话可以当作收尾。安全就是就业保障。这话听着轻松，背后是一个不太轻松的事实，这场攻防没有终点，只有不断上移的战线。而这一次，战线的最前端站着的是人。
