AI 資安不是工作量證明
原文由 Salvatore Sanfilippo 于 發布,訂閱此部落格
工作量證明是個錯誤的類比:尋找雜湊碰撞雖然會隨著 N 指數級變難,但只要投入足夠的運算,就保證能找到某個 S 使得 H(S) 滿足 N,因此在資源不對等的情況下,擁有更多「運算能力」的一方終將獲勝。
但漏洞不一樣:
- 不同的 LLM 執行會走不同的分支,但基於程式碼可能狀態所能產生的分支,最終會達到飽和。
- 如果我們想像對一段給定的程式碼,用模型取樣 M 次來尋找漏洞,且 M 很大,最終的瓶頸將不再是「M」(因為程式碼的狀態與 LLM 取樣器有意義的路徑都已飽和),而是「I」,也就是模型的智慧水準。
OpenBSD SACK 漏洞就很能說明這一點:就算讓較弱的模型跑無限多的 token,它也永遠不會領悟到(*)——起始視窗缺乏驗證,若與整數溢位結合,再加上那個本不該為 NULL 的節點所在的分支無論如何都會被執行的事實,組合起來才會產生這個漏洞。
所以,未來的資安不會像工作量證明那樣是「GPU 多就贏」;勝出的將是更好的模型,以及能更快取得這些模型的管道。
* 別相信那些說弱模型能找到 OpenBSD SACK 漏洞的人。我自己試過。實際情況是,弱模型會產生幻覺(有時瞎貓碰上死耗子,剛好撞到真正的問題),說什麼起始視窗缺乏驗證(理論上這其實無害,因為有 start < end 的驗證)以及整數溢位問題,卻完全不理解為什麼這兩者加在一起才會造成問題。這不過是在看似可能有問題的程式碼上,對漏洞類型做模式比對,完全沒有真正理解問題並寫出 exploit 的能力。自己試試看吧,GPT 120B OSS 便宜又隨手可得。
順帶一提,這就是為什麼對於這個漏洞,你選的模型越強(但還沒強到能發現真正的漏洞),它反而越不可能宣稱有漏洞。較強的模型比較不會產生幻覺,所以在光譜的兩端都看不到問題:一端是小模型的幻覺,另一端則是像 Mythos 這樣真正理解的能力。
隨機一篇部落格
留言
登入後參與討論