移動安全
移動平臺應(yīng)用軟件隱私威脅與保護(hù)
張源復(fù)旦大學(xué)系統(tǒng)軟件與安全實驗室副主任
輸入類的隱私威脅,是移動平臺隱私威脅的重災(zāi)區(qū)。目前的方法很難有效地保護(hù)用戶輸入的隱私,核心困難在于它沒有辦法系統(tǒng)化地識別哪些隱私數(shù)據(jù)是用戶輸入的隱私。
移動平臺上,用戶輸入的信息是隱私數(shù)據(jù)的主要來源!
由于歷史信息的泄漏,攻擊者可以進(jìn)行精準(zhǔn)攻擊。在絕大部分情況下,被泄漏的這些地址信息其實是用戶由于一些業(yè)務(wù)的需求,主動地輸入到一些網(wǎng)站或者App,而這些App或者網(wǎng)站并沒有保護(hù)好這些隱私。在移動平臺上,這種用戶輸入的隱私是非常普遍的情況。我們通過交互不斷提供一些隱私給App,從而得到App更好的服務(wù)。所以我們認(rèn)為在移動平臺上,針對用戶輸入的隱私與否將是隱私保護(hù)的重要區(qū)域。
在移動平臺上,有三種比較主流的用戶輸入信息,賬號信息、地址信息,資金賬戶信息等,這些都是用戶特別私密的信息。這類數(shù)據(jù)有什么樣的特點呢?我們發(fā)現(xiàn)它至少有三個方面的特點。首先,數(shù)據(jù)格式是特定的,賬戶就是一個密碼,地址就是省、市、街道詳細(xì)地址,在結(jié)構(gòu)上是不一樣的,所以沒辦法通過輸入看出來。第二,每個App都有自己的界面和函數(shù),去獲取這樣的數(shù)據(jù)。第三,用戶輸入的數(shù)據(jù),它的獲取形式是多樣的,有些可能通過輸入框,有些是讓用戶去選。那么,該怎么保護(hù)它呢?
目前,在隱私保護(hù)方面的工作主要分為兩類:第一類隱私監(jiān)測的范疇,通過動靜態(tài)的分析過程,跟蹤隱私在App過程的流轉(zhuǎn),一旦發(fā)現(xiàn)被不安全發(fā)送出去了會告訴用戶。第二類是網(wǎng)絡(luò)控制機(jī)制,通過操作系統(tǒng)和其他手段設(shè)置App訪問隱私數(shù)據(jù)的模式,通過這個框架,基于這個規(guī)則去控制程序。
這兩個工作有一個統(tǒng)一的特點,它們大部分主要通過一些API獲得系統(tǒng)內(nèi)件。分析之前的特點,這種工作并沒有直接保護(hù)用戶輸入的隱私,因為用戶輸入的隱私不是監(jiān)管過程。那是不是說這些系統(tǒng)工作完全沒有辦法用于保護(hù)數(shù)據(jù)呢?現(xiàn)有工作主要的問題在于無法識別哪些是用戶輸入的隱私數(shù)據(jù)。在移動平臺上針對用戶輸入隱私數(shù)據(jù)的保護(hù)而言,哪些數(shù)據(jù)是用戶輸入的隱私,這是非常重要的問題。
同時,在保護(hù)這些隱私方面,必須識別出來這些App到底有哪些輸入的隱私,通過哪些控件輸入給App,這樣才能更好地保護(hù)這類隱私。
我們主要設(shè)計了自動化的方法,能夠識別一個App中到底會要求用戶輸入哪些數(shù)據(jù),到底通過哪些控件來輸入隱私數(shù)據(jù)?;谶@樣的工作,同時還設(shè)計了一個輕量級的隱私數(shù)據(jù)保護(hù),防止中間人的攻擊。
希望通過識別隱私的控件,更加精確地識別哪些控件是要求我們輸入隱私的。我們發(fā)現(xiàn)在App中輸入信息有很多途徑,比如說下拉菜單是一種方式,針對開發(fā)者的組件也是一種方式,可以通過類型簡單地把輸入和非輸入?yún)^(qū)分出來。
核心的思路是希望基于這個程序,發(fā)現(xiàn)訪問控件文本的行為到底是不是在獲取用戶輸入的一些文本。在圖1中,左側(cè)是一個輸入信用卡的卡號界面,右邊是對應(yīng)的代碼,我們進(jìn)行了分析,發(fā)現(xiàn)這個控件是一個隱私相關(guān)控件,它在這個地方會得到應(yīng)用。它有一個函數(shù),在addcardlistener的框架里面,會有一個文本。由此,我們獲取的這樣一種特征,作為識別一個控件到底是不是接收、輸入的判斷標(biāo)準(zhǔn),從而比較好地將哪些只顯示隱私文本的相關(guān)控件去除掉。
試驗選取的數(shù)據(jù)是來自谷歌應(yīng)用商城的17425個應(yīng)用。在這17000個應(yīng)用中,有35個類別都會收集用戶隱私。因為App收集的數(shù)據(jù)常常是出于業(yè)務(wù)的需求,這在App當(dāng)中也是非常普遍的,之前并沒有很好的方法對它進(jìn)行保護(hù)。針對用戶賬號這類的UIP數(shù)據(jù),比例較高的主要是社交應(yīng)用,跟天氣相關(guān)的App等;針對地理位置的隱私信息,在天氣、出行、搜秀這些App當(dāng)中比例比較高;針對支付類的信息,這類信息的隱私信息搜集很高,也是基本符合認(rèn)知常識的。最終挑選了200個應(yīng)用,在十個類別中,對精確率進(jìn)行了衡量。效果很好,系統(tǒng)能夠比較準(zhǔn)確地識別到93.6%的UIP控件,針對所有可能的UIP控件識別率達(dá)到了90.1%的水平。
(本文根據(jù)復(fù)旦大學(xué)系統(tǒng)軟件與安全實驗室副主任張源在中國互聯(lián)網(wǎng)安全大會ISC2016的分論壇“移動安全發(fā)展論壇”上的演講內(nèi)容整理。)