# 宋曉冬：對抗性機器學習與電腦保安

> 安全領域研究者談機器學習模型的對抗攻擊與防禦，以及深度學習在系統安全攻防中的角色。

- 原標題：#95 – Dawn Song: Adversarial Machine Learning and Computer Security
- 期數：第 95 期
- 釋出日期：2020-05-12
- 嘉賓 / 主題：宋曉冬
- 網頁版：https://lex.qiaomu.ai/tw/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 這些最典型的真實工業系統都被黑盒攻擊打穿了。黑盒意味著攻擊者不需要知道你的模型結構和引數。
- **做多感測器融合，別把安全邊際壓在單一模態上。**攝像頭、雷達、超聲波對同一個對抗圖案的響應不同，攻擊者要在所有模態上同時騙過，成本會陡增。
- **在模型側加交叉驗證機制，用任務自帶的結構約束做防禦。**空間一致性、時間一致性這類檢查，攻擊者可以偽造一個點的輸出，很難偽造所有點之間的相互關係。這比在畫素層面跟攻擊者硬拼更有效。
- **認真對待"誰擁有資料"這個問題。**這是所有隱私討論的前置條件。所有權不清晰，知情同意和隱私設定都只是在別人地盤上商量。作為使用者，優先選擇那些把資料用途講清楚的服務；作為從業者，把資料用途和留存策略寫成人能讀懂的東西。
- **警惕自動化社會工程。**冒充親友借錢、冒充同事要驗證碼，這類攻擊會隨著語言模型變強而更難識別。給家裡長輩講清楚一件事，任何涉及轉賬的請求，必須透過另一條通道回撥確認。
- **如果要做程式合成方向，把精力放在跨任務遷移上。**合成程式的複雜度、泛化能力、從已有任務學習解決新任務，這三個維度裡第三個最有價值，也最難。
- **意義這個問題可以問，別問太久。**問它的價值在於逼你做出取捨，讓你能毫無保留地投入某件事。問成一種持續的自我懷疑，它就開始收利息了。給自己一個答案，哪怕它只是暫時的，然後去做。

宋曉冬那句玩笑話可以當作收尾。安全就是就業保障。這話聽著輕鬆，背後是一個不太輕鬆的事實，這場攻防沒有終點，只有不斷上移的戰線。而這一次，戰線的最前端站著的是人。
