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