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