iOS備份機(jī)制中隱私威脅問(wèn)題的分析
摘 要:目前,iOS 安全研究主要在應(yīng)用程序安全性檢測(cè)、安全模型剖析、漏洞和數(shù)據(jù)保護(hù)機(jī)制分析等方面,對(duì)于iOS 備份機(jī)制的安全性缺乏深入系統(tǒng)地研究。備份是iOS 系統(tǒng)中惟一合法獲得設(shè)備內(nèi)部數(shù)據(jù)的渠道,但是備份數(shù)據(jù)缺少必要防護(hù)措施,用戶(hù)數(shù)據(jù)安全和隱私受到潛在威脅。通過(guò)描述備份分析的方法,進(jìn)而對(duì)備份存儲(chǔ)數(shù)據(jù)進(jìn)行深入理解,發(fā)現(xiàn)其存在嚴(yán)重隱私威脅,忽視對(duì)第三方應(yīng)用程序數(shù)據(jù)信息的保護(hù),最后評(píng)估了備份機(jī)制潛在的安全影響并給出提高備份安全性的建議。
0 引言
隨著移動(dòng)智能終端的日漸普及,人們開(kāi)始對(duì)它的功能需求有了進(jìn)一步的提高。新一代的智能移動(dòng)終端除了語(yǔ)音通信之外,還能播放影音、瀏覽網(wǎng)頁(yè)、游戲娛樂(lè)等。更重要的是,用戶(hù)可以從電子市場(chǎng)上下載并安裝第三方開(kāi)發(fā)的應(yīng)用程序。在所有的智能移動(dòng)設(shè)備中,蘋(píng)果的iPhONe 和iPad 深受用戶(hù)和安全研究人員關(guān)注。這些設(shè)備的核心是其中的操作系統(tǒng)--iOS.
由于蘋(píng)果對(duì)iOS 采取閉源不公開(kāi)的政策,開(kāi)發(fā)人員和用戶(hù)對(duì)其安全機(jī)制了解甚少。目前安全研究人員給出了一些安全模型[1]和數(shù)據(jù)保護(hù)機(jī)制[2]的細(xì)節(jié),但仍較難獲取iOS 內(nèi)部的信息。黑客社區(qū)工作者挖掘系統(tǒng)漏洞[3]、分析沙箱模型和數(shù)據(jù)加密[4]。
電子取證專(zhuān)家通常需要通過(guò)越獄來(lái)獲得他們需要的信息,但越獄會(huì)改變系統(tǒng)原有的狀態(tài),所以他們更傾向于非入侵的方式。
雖然蘋(píng)果有著嚴(yán)格的安全保護(hù)措施以避免數(shù)據(jù)泄漏,但它留下了一條供用戶(hù)進(jìn)行數(shù)據(jù)讀寫(xiě)的通道。這就是iTunes 的同步、備份與恢復(fù)機(jī)制,其中最值得關(guān)注的就是備份。iTunes 會(huì)自動(dòng)為iOS 設(shè)備創(chuàng)建備份,日后如需恢復(fù)到以前備份的狀態(tài)則可使用此備份。備份可以進(jìn)行任意的復(fù)制,用于在其他機(jī)器上進(jìn)行恢復(fù)。iTunes 的備份恢復(fù)機(jī)制為用戶(hù)帶來(lái)了便利也產(chǎn)生了安全問(wèn)題。通過(guò)備份,大量的數(shù)據(jù)保存到用戶(hù)電腦中,對(duì)用戶(hù)隱私造成威脅。然而學(xué)術(shù)界的研究集中在檢測(cè)在iOS 應(yīng)用程序中的隱私泄漏[5],備份機(jī)制的研究?jī)H局限于取證分析[6-7]。文獻(xiàn)[8-9]從iOS 備份機(jī)制著手,分析備份機(jī)制中存在的隱私泄露威脅。
1 備份分析方法
這里主要描述分析備份中隱私數(shù)據(jù)的方法。分析過(guò)程分成3 個(gè)步驟:①生成備份;②解析備份;③分析備份。過(guò)程如圖1 所示。
圖1 iOS 備份解析過(guò)程
1.1 生成備份
iPhone 或iPad 連接到電腦的時(shí)候,iTunes 將自動(dòng)同步電腦與設(shè)備之中的數(shù)據(jù),創(chuàng)建一個(gè)備份。也就是說(shuō),如果iOS 設(shè)備曾經(jīng)與裝有iTunes 的電腦連接過(guò),那么備份文件已經(jīng)保存在電腦中備份目錄。
如果沒(méi)有備份,則通過(guò)如下兩種不同的方法來(lái)創(chuàng)建備份。第一種是使用iTunes 或者iTunes 提供的AppleMobileBackup.exe 來(lái)進(jìn)行備份。iTunes 與iOS 設(shè)備之間通過(guò)蘋(píng)果文件通信(AFC,Apple FileCommunicATIon)協(xié)議來(lái)進(jìn)行通信。另一種創(chuàng)建備份的方法是使用LibimobileDevice,它是一個(gè)支持AFC 數(shù)據(jù)交互協(xié)議的C 語(yǔ)言庫(kù)。它支持iOS 的備份功能,還支持同步,獲取系統(tǒng)信息等功能。所以這也是一種創(chuàng)建備份的方法,這種方式的好處是它并不依賴(lài)于Windows,在Linux 下同樣可以運(yùn)行,開(kāi)發(fā)者可以更自由地控制它的通信。
1.2 解析備份
iOS 備份目錄名是被備份設(shè)備的惟一設(shè)備標(biāo)識(shí)符(UDID,Unique Device IdenTIfication)。它由40位16 進(jìn)制字符組成,如:2b6f0cc904d137be2e1730235f5664094b831186.備份目錄下的文件名都通過(guò)SHA-1 哈希編碼,所以無(wú)法辨別文件信息。利用備份中的Manifest.mbdb 和Manifest.mbdx 文件可以解析出備份的結(jié)構(gòu)。
Manifest.mbdb 是備份的索引文件。它由一個(gè)定長(zhǎng)的頭部和若干定長(zhǎng)的記錄構(gòu)成。
Manifest.mbdx 記錄著文件信息,如:文件所在域、路徑,哈希值,文件大小等。
1.3 分析備份
遍歷經(jīng)過(guò)解析后的備份目錄,分析檢查可疑文件。備份中大量的數(shù)據(jù)都是用iOS 原生支持的Sqlite 數(shù)據(jù)庫(kù)格式保存,文中使用Sqlite DatabaseBrowser 來(lái)分析這些文件中的內(nèi)容。Property List(Plist)也是iOS 支持的文件格式,它用來(lái)保存配置信息,使用Plist Editor 來(lái)讀取其中的信息。
2 備份中的隱私信息
這里主要總結(jié)分析的結(jié)果,重點(diǎn)關(guān) 注與用戶(hù)隱私相關(guān)的信息。這些信息分成兩大類(lèi),系統(tǒng)內(nèi)置信息和第三方應(yīng)用程序信息。
2.1 系統(tǒng)內(nèi)置信息
表1列舉了iOS系統(tǒng)的內(nèi)置信息。
表1 iOS 備份中的系統(tǒng)內(nèi)置信息
通訊錄。通訊錄是iOS中包含信息最多也是被其他程序調(diào)用最多的一個(gè)數(shù)據(jù)庫(kù), 它儲(chǔ)存在AddrESSBook.sqlitedb文件中,記錄著用戶(hù)所有聯(lián)系人的信息,包括電話(huà)號(hào)碼、郵箱地址和住址等。
AddressBookImages.sqlitedb記錄著聯(lián)系人的照片。
通話(huà)記錄。通話(huà)記錄保存在call_history.db.記錄著所有歷史電話(huà)記錄。每一條電話(huà)記錄它包含通話(huà)的日期、通話(huà)時(shí)長(zhǎng)和對(duì)應(yīng)的電話(huà)號(hào)碼。
短消息。短消息存在sms.db中,記錄著手機(jī)中所有能讀取的短消息。每條記錄包括日期、時(shí)間、電話(huà)號(hào)碼、消息內(nèi)容以及狀態(tài)(發(fā)送或者接收)。
郵件賬戶(hù)。iPhone的同步賬戶(hù)保存在com.apple.
accountsettings.plist中,這個(gè)賬戶(hù)主要用來(lái)同步通訊錄和日歷。賬戶(hù)的密碼和具體的郵件內(nèi)容并沒(méi)有保存。
位置信息。consolidated.db記錄著大量的經(jīng)緯度坐標(biāo)和獲取該經(jīng)緯度的時(shí)間戳。這些數(shù)據(jù)通過(guò)基站的三角定位獲得保存于CellLocation表格中。
WifiLocation表格中還記錄著無(wú)線路由器的位置和MAC地址。
照片。照片保存在MediaDomain下,DCIM.
Photos.sqlite中記錄著照片的基本信息如拍攝時(shí)間、分辨率等。PhotoAux.sqlite包含照片的拍攝地點(diǎn)的坐標(biāo)位置信息。
其他。除了之前所列之外,系統(tǒng)內(nèi)部信息還包括日歷、備忘錄、鍵盤(pán)緩存、瀏覽記錄、書(shū)簽等。
2.2 第三方應(yīng)用程序
備份中還包含著用戶(hù)安裝的第三方應(yīng)用程序的信息。據(jù)統(tǒng)計(jì),每個(gè)iOS用戶(hù)平均安裝大約37個(gè)應(yīng)用,而這些應(yīng)用由全世界各地的開(kāi)發(fā)者提供。他們處理數(shù)據(jù)的方式各不相同,不局限于Sqlite數(shù)據(jù)庫(kù)或是Plist文件。實(shí)驗(yàn)統(tǒng)計(jì)App Store上最流行的3類(lèi)程序,下面對(duì)每一類(lèi)進(jìn)行分析。[!--empirenews.page--]
(1)即時(shí)通訊類(lèi)應(yīng)用。
即時(shí)通訊類(lèi)應(yīng)用中,實(shí)驗(yàn)選取了Skype、騰訊QQ 、飛信、Yahoo Messenger 、WhatsApp 和Windows Live Messenger,基本上涵蓋所有常用的即時(shí)通訊軟件,如表2所示,發(fā)現(xiàn)所有的應(yīng)用都會(huì)記錄著用戶(hù)的賬號(hào)。實(shí)驗(yàn)發(fā)現(xiàn)所有的應(yīng)用都會(huì)記錄著用戶(hù)的賬號(hào)。更為嚴(yán)重的是67%的應(yīng)用保存聊天記錄和好友信息。以WhatsApp為例,備份目錄下net.whatsapp.WhatsApp.plist文件中包含手機(jī)號(hào)碼構(gòu)成的賬戶(hù)名。在ChatStorage.sqlite的ZWAMESSAGE表格中保存著聊天記錄的內(nèi)容、時(shí)間、發(fā)送者,接收者。在ZWAFAVORITE表格中,記錄了好友的姓名以及他們的電話(huà)號(hào)碼。移動(dòng)官方開(kāi)發(fā)的最新飛信應(yīng)用,賬號(hào)和密碼都保存在同一文件中。
表2 即時(shí)通訊類(lèi)應(yīng)用
(2)社交網(wǎng)絡(luò)類(lèi)應(yīng)用。
社交網(wǎng)絡(luò)類(lèi)應(yīng)用中,實(shí)驗(yàn)選取了新浪微博、Facebook、 LinkedIn、人人等應(yīng)用程序,如表3所示,所有的應(yīng)用都記錄著用戶(hù)名稱(chēng)或者昵稱(chēng)。新浪微博會(huì)將最近的微博內(nèi)容緩存在數(shù)據(jù)庫(kù)中。
Facebook記錄用戶(hù)的姓名,同時(shí)在名為Friends.db的數(shù)據(jù)庫(kù)中記錄著好友姓名、地址、電話(huà)號(hào)碼、郵件地址。對(duì)于LinkedIn應(yīng)用,只保存用戶(hù)的姓名。人人應(yīng)用沒(méi)有保存任何關(guān)于用戶(hù)狀態(tài)、朋友、聊天記錄的信息。但是,登陸的用戶(hù)名和密碼以明文形式一起出現(xiàn)。攻擊者用這個(gè)信息登陸人人就能獲得更多用戶(hù)的隱私信息。
表3 社交網(wǎng)絡(luò)類(lèi)應(yīng)用
(3)位置技術(shù)類(lèi)應(yīng)用。
位置技術(shù)類(lèi)應(yīng)用中,實(shí)驗(yàn)選取了大眾點(diǎn)評(píng)、街旁、丁丁生活、豆瓣活動(dòng)、陌陌,它們是目前最流行的應(yīng)用。如表4所示,在大眾點(diǎn)評(píng)和丁丁地圖找不到任何關(guān)于位置的信息。而這兩個(gè)應(yīng)用在實(shí)際使用中提供了大量的基于位置的信息。豆瓣活動(dòng)應(yīng)用保存著最后登陸時(shí)的位置。街旁將用戶(hù)賬號(hào)和訪問(wèn)過(guò)的評(píng)論緩存在Cache.sqlite 中。在表格ZJPLOCATION中記錄著坐標(biāo),時(shí)間和地址。陌陌則會(huì)保存附近朋友的詳細(xì)信息。
表4 位置技術(shù)類(lèi)應(yīng)用
3 討論
3.1 影響
從前一節(jié)可以看出備份中包含了幾乎所有的個(gè)人信息,并且獲取這些信息的方法非常簡(jiǎn)單。下面對(duì)隱私威脅模型中的每一類(lèi)信息的影響進(jìn)行分析。
用戶(hù)活動(dòng)相關(guān)信息:主要包括短信息、聊天記錄、通話(huà)記錄,不論是系統(tǒng)還是第三方應(yīng)用程序都直接記錄這些數(shù)據(jù)。通訊錄泄漏大量設(shè)備使用者朋友的信息,社交類(lèi)應(yīng)用程序也會(huì)將好友信息保存下來(lái)。這些數(shù)據(jù)對(duì)用戶(hù)隱私形成威脅,造成了直接的損害。
賬戶(hù)相關(guān)信息:所有第三方應(yīng)用程序都會(huì)將用戶(hù)和一個(gè)賬戶(hù)關(guān)聯(lián),實(shí)驗(yàn)表明賬戶(hù)信息會(huì)隨著備份的泄露而泄漏。這些賬戶(hù)的行為等價(jià)于用戶(hù)的行為,賬戶(hù)的匿名性不復(fù)存在。
地理位置信息:定位是新一代智能手機(jī)特有的重要功能,它被用在導(dǎo)航或者基于位置的應(yīng)用中。
但是,它可以悄悄的記錄用戶(hù)的空間活動(dòng)信息。
iOS系統(tǒng)和第三方應(yīng)用都會(huì)記錄用戶(hù)的位置信息,它們通常與時(shí)間一起保存。這樣,攻擊者通過(guò)結(jié)合這兩部分信息就可以分析出用戶(hù)何時(shí)出現(xiàn)在何地,推斷用戶(hù)過(guò)去的行蹤。
多媒體信息:照片、視頻文件在網(wǎng)絡(luò)中傳播速度極快,有大量因?yàn)樗饺说恼掌?,視頻造成的負(fù)面新聞,這些數(shù)據(jù)未經(jīng)保護(hù)散播出去后果難以想象。
3.2 局限
并不是在什么場(chǎng)景下都能成功對(duì)備份進(jìn)行分析。下面兩種情況就會(huì)對(duì)分析造成困難。
用戶(hù)可以設(shè)置密碼來(lái)鎖住iOS設(shè)備,這個(gè)密碼是一個(gè)4位的數(shù)字。當(dāng)iOS設(shè)備連接到一個(gè)新的電腦時(shí),只有密碼輸入正確后iTunes才會(huì)進(jìn)行備份。但是,對(duì)于進(jìn)行過(guò)備份的電腦會(huì)保存一份證書(shū)文件。
攻擊者可以利用其他機(jī)器上保存的證書(shū)文件來(lái)繞過(guò)密碼進(jìn)行備份。
用戶(hù)還可以選擇加密備份來(lái)保護(hù)他們的隱私。
默認(rèn)情況下備份是不加密的,用戶(hù)可以從iTunes中開(kāi)啟加密選項(xiàng),此后,備份文件全部都經(jīng)過(guò)加密。
據(jù)蘋(píng)果官方描述,加密是使用AES-256 CBC來(lái)完成。這就意味著直接解密和破解AES難度一樣。
3.3 應(yīng)對(duì)措施
對(duì)于那些需要對(duì)用戶(hù)數(shù)據(jù)進(jìn)行保護(hù)的用戶(hù),這里建議加鎖來(lái)保護(hù)系統(tǒng),同時(shí)開(kāi)啟備份加密功能。
這樣可以完全防止隱私泄漏。文中發(fā)現(xiàn)第三方應(yīng)用的程序泄漏了更多的隱私信息,部分原因是開(kāi)發(fā)者沒(méi)有意識(shí)到他們不合理的軟件設(shè)計(jì)會(huì)帶來(lái)隱私威脅。所以,需要提醒開(kāi)發(fā)者不要將用戶(hù)相關(guān)的數(shù)據(jù)保存在應(yīng)用程序目錄,或者至少對(duì)這些數(shù)據(jù)進(jìn)行加密。對(duì)于那些將用戶(hù)密碼也保存在配置文件中的應(yīng)用,建議蘋(píng)果加以更加嚴(yán)格的審查,杜絕這類(lèi)應(yīng)用出現(xiàn)在電子市場(chǎng)之上。
4 結(jié)語(yǔ)
文中揭示了備份機(jī)制帶來(lái)的潛在威脅,并深入的分析備份中的數(shù)據(jù),給出應(yīng)對(duì)措施。通過(guò)描述獲取備份的和進(jìn)行數(shù)據(jù)分析的方法,列舉出備份中包含的各類(lèi)信息。傳統(tǒng)方法主要分析系統(tǒng)內(nèi)置的信息,如:聯(lián)系人、通話(huà)記錄等。著重分析了備份數(shù)據(jù)中第三方應(yīng)用存在的問(wèn)題,這些應(yīng)用程序受到大家的忽視,但他們存在更嚴(yán)重的隱私泄漏的威脅。最后,討論隱私泄露的影響以及預(yù)防的對(duì)策。