之前微信 wechat 曾傳出監控事件,沒想到 LINE 似乎也有類似問題,至於 LINE 還要不要使用,看完以下內容後自己決定吧。
自從奇虎 (就是作 360 系列那個,他們早期最有名的是 1 個叫做 3721 的流氓軟體)跟 LINE 合作後,近日看到中國網友貼了上述圖片,一開始我只是好奇說這個東西到底是怎麼作的?是在本機審查,還是在雲端會審查你的對話內容?
這讓我開始有了興趣,於是弄了個可翻入「牆內」的 VPN,但是怎麼測都測不出來,於是放棄正規的測試方法,我想可能是因為我沒有綁定電話的關係(使用簡體中文的 LINE 是必須綁定電話的,否則無法使用,有興趣的可以登出之後切換語言試試)。 不用正規的方法,當然就用我的專項:mobile substrate hook,不過在那之前我們先猜測一下這個敏感詞偵測的可能性:
1. 只對中國大陸的使用者有效
2. 對全世界所有人都有效,只是在中國大陸才會出現上圖的警告
為了驗證是 1 還是 2,我把目標轉為了解它的驗證機制,首先先檢查一下 LINE app 的檔案內容,於是發現了這個東西:
注意這裡是繁體中文顯示的,代表說這個訊息是存在在本機內,而且有可能是對所有使用者審核(只是目前除了中國大陸以外不會出現訊息),根據上面的「badWords」這個關鍵字,我找到了一些有趣的 class 跟 method ,過程就省略不說了,有興趣的可以去挖寶,但下面我直接給結論。
結論是:
LINE 會對你輸入跟接收到的文字內容審查,出去跟進來分別用一個 method 檢查,審查不分國家,我測試到的情況是台灣帳號 + 日文語系 + 沒有綁定電話號碼 + 沒有綁定 Facebook,即使上面條件一項跟中國都無關, LINE 依然對我進行關鍵字審查。而審查是在本地進行的,LINE 會在網路上下載一個敏感詞列表,之後對內容進行比對,如果有符合的內容,就會出現錯誤(在中國大陸)
以下是我抓出來的審查關鍵字列表
以下是證明 LINE 會審核對方輸入的內容(第一行)、加密的敏感詞列表(第三行)、解密的敏感詞列表(最下面)