設置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

看不見的 Unicode 碼讓敏感詞輕松逃過審核,谷歌、IBM 都中招

量子位 2021/8/11 8:36:53 責編:問舟

Unicode 碼作為全世界文字的統(tǒng)一編碼,使用范圍廣,用它去對 NLP 模型做對抗攻擊,可謂中招一大片。

就比如下面這個谷歌翻譯:

文字部分都沒有啥問題,注意到賬戶數(shù)字 4321 翻譯前后不一樣嗎?

為什么會發(fā)生這樣的情況?

來看 Unicode 碼是怎么搗的亂吧。

其實原句中就是 1234,問題出現(xiàn)在左邊:英文句子中數(shù)字前面插入了一個不可見的字符 0x202E。

這是一個可以把字符的文本方向倒轉的 Unicode 碼。這樣一來,左邊的解析系統(tǒng)就會將該 1234 顯示成 4321。

而谷歌翻譯引擎的機制是忽略 Unicode 碼,也就是右邊還顯示原來的 1234。因此,兩邊就不一樣了。

這個例子雖然沒啥殺傷力,如果萬一真有人將它用在了真實轉賬場景,后果會如何呢?

使用 Unicode 碼對 NLP 模型進行對抗攻擊

事實上,這種情況在真實場景中并不少見,通過在輸入文本中插入一些看不見的 Unicode 碼進行對抗攻擊,就有可能騙過 AI 的語言處理系統(tǒng)去做一些“壞事”。

比如改賬號、改收款人姓名、繞過評論審核發(fā)一些極端言論……

而且即使是微軟、谷歌、IBM 或 Facebook 這樣的大公司開發(fā)的軟件都可能會因為對 Unicode 碼風險意識的缺乏,被一些精心設計的 Unicode 碼騙過。

下面就來看一個發(fā)垃圾評論的例子:

“You are a coward and a fool”,假如這樣一個不友好的評論無法通過審核發(fā)出去,那么利用 Unicode 碼,你只需這樣加工一下:

You akU+8re aqU+8 AU+8coward and a fovU+8 JU+8ol.

也就是在一些字母中間加上一個多余的字母和 U+8,就能讓審核系統(tǒng)(The moderation system)忽略 Unicode 碼、看到一串拼寫錯誤的句子,從而將一些本不該出現(xiàn)的不友好評論放出來。

U+8:用于刪除前一個字符的不可見 Unicode 字符。

這一招對谷歌的 Perspective API 和 BMI 的 Toxic Content Classifier(兩個語言審核系統(tǒng))都有效。

再來一個同形文字的例子:

將“paypal”中第一個英文字母 a 換成西里爾字母 a,盡管這倆人眼視覺上看起來是一樣的,但 Unicode 碼不同,谷歌俄語翻譯最終就會將它翻譯成“папа”,也就是“爸爸”的意思。

這樣一來,“有心之人”沒準就能在有同樣問題的 AI 程序中進行違規(guī)付款等操作。

如何防止此類情況的發(fā)生

來自英國劍橋大學和加拿大多倫多大學的研究人員發(fā)現(xiàn)了上述機器學習模型中對輸入文本處理的這一問題,在今年 6 月發(fā)表的一篇論文中進行了闡述。

他們通過對包括微軟谷歌旗下等在內(nèi)的商業(yè)系統(tǒng)進行對抗攻擊發(fā)現(xiàn):

通過一次不可察覺的編碼注入 —— 比如一個不可見字符、同形符、重新排序或刪除的操作字符 —— 攻擊者可以顯著降低一些模型的性能,而經(jīng)過三次注入,大多數(shù)模型都可能在功能上失靈。

利用視覺和邏輯表示之間的差異,仇恨言論、垃圾信息、損失財產(chǎn)的風險等操作會出現(xiàn)在任何機器學習用于自然語言處理的地方。

(當然,計算機視覺方面也早就出現(xiàn)過了一些類似原理的對抗攻擊。比如下面這兩個經(jīng)過特殊處理的標志就會被自動駕駛系統(tǒng)認成限速標志。)

下圖說明了文本可視化和 NLP 處理管道兩者之間的差異是如何給對抗攻擊留下可乘之機的:

一些 NLP 模型無法處理具有不同編碼的控制序列或看起來相似的字母。

在具體過程中,NLP 管道會將文本 token 化之后注釋掉它不認識的 token,這一步差異也就是造成問題出現(xiàn)的主要原因。

那面對自然語言模型的被對抗攻擊,又該如何處理呢?

研究人員提出了一些見解:

要么處理輸入時完全過濾掉特殊的 Unicode 字符;

要么將 Unicode 傳遞給神經(jīng)網(wǎng)絡之前將其傳遞給解析器 *(如果可行的話)*,這樣才能保證用戶看到的和神經(jīng)網(wǎng)絡處理的是同一個東西。

像那種從英文字母到西里爾字母的變化就更應該被嚴加注意。

相關論文:

https://arxiv.org/abs/2106.09898

參考鏈接:

https://forums.theregister.com/forum/all/2021/08/06/unicode_ai_bug/

廣告聲明:文內(nèi)含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機APP應用 魔方 最會買 要知