云存儲服務的數字取證(上)
隨著云計算技術的發展,越來越多的企業選擇將數據遷移到云上。因為云存儲和其他云服務的成本低、使用方便等好處,云服務可能會被惡意用戶濫用,比如使用云服務發起DDOS攻擊等。用戶可以通過手機等智能設備訪問云存儲服務。所以,云服務的取證調查就是非常必要的。本文分析了對Windows、Mac、iPhone、Android手機等設備使用云服務的調查取證。
云服務可分為三種:SaaS (software as a service), PaaS (platform as a service), and IaaS (infrastructure as a service)
云數據存儲服務不僅提供對文件等數據的存儲,還可以對文件進行編輯。用戶可以通過智能手機來訪問企業云服務,達到泄露企業機密數據的目的。
云存儲服務取證的難點在于使用一次云服務的時候做了什么。日志文件可以告訴我們登錄用戶的所作所為。但是公司是不愿意提供關于云服務器的相關信息。傳統的調查取證方法是不適用于云存儲服務的。需要將使用傳統的調查取證方法和手機取證方法相結合。使用云存儲服務會在本地設備中留下蹤跡。文章調查了訪問云存儲的PC和智能手機的活動蹤跡。手機和分析云存儲服務的方法。
1. 云存儲服務和數字取證
云存儲服務是一種向用戶提供存儲空間的IaaS。云存儲服務提供的功能越來越多,比如圖像編輯、播放音樂和視頻、郵件發送等。
云存儲服務可以通過web瀏覽器和客戶端進行存取和訪問。用戶可以通過智能手機、平板電腦等設備訪問云存儲服務。
文中,研究人員選擇了4種云服務進行對比,分別是Amazon S3, Google Docs, Dropbox,和 Evernote。這4種服務可以分為三種類型,第一種是提供云存儲服務的,比如Amazon S3和Dropbox。第二種提供office套件和數據存儲服務,比如Google Docs。第三種提供note存儲和數據存儲,比如Evernote。
1.1 云存儲服務的數字取證步驟
調查者需要從可以訪問云存儲服務的設備上收集和分析數據,本研究的設備中涵蓋PC和智能手機,這也是使用最廣泛的設備。對這些設備的調查步驟如圖1所示。
對于Windows和Mac系統,調查者首先要決定是不是可以收集到異常數據。如果可以,就收集物理內存中的內容。然后,手機網頁歷史、日志文件、文件和目錄的數據。對于iOS系統,調查者可以檢查PC上存儲的備份文件,或收集、分析用于iTunes的數據。對安卓系統,需要把手機root之后在手機數據,root是從安卓設備中獲取數據的必要過程,因為普通權限無法讀取一些文件和文件夾內的數據。調查者分析上面描述的數據的過程中,需要檢查云存儲服務的記錄是否存在以上數據中,如果是,調查者要進一步確認用戶證書信息是不是存在。
云存儲服務的取證過程
1.2 調查中的重要因素
1.2.1 瀏覽器日志文件
云存儲服務是基于web的服務,所以收集和分析上網歷史數據。研究人員可以通過查看IE、Firefox 、Chrome和Safari瀏覽器的文件。Web瀏覽器日志文件存儲在profile目錄中,web瀏覽器日志文件包含緩存、歷史、cookie、和下載的文件。文件存儲路徑如表2、3所示
表2 Firefox中重要文件和存放
表2 IE中重要文件和存放
緩存文件包括下載的圖像文件、文本文件、圖標、HTML、XML、下載的URL、下載次數和數據大小等。歷史文件含有用戶訪問過的URL、web頁的標題、訪問次數等。Cookie文件存儲的是關于主機、路徑、cookie修改次數、cookie到期時間、名字和值等。下載列表包含下載文件的本地路徑、下載的URL、文件大小和下載次數、是否下載成功等。通過web瀏覽器的這些文件,調查者可以找出訪問和登錄云存儲服務的用戶活動。
1.2.2 PC中的客戶端應用的Artifacts
為了方便使用,云存儲服務商會向用戶提供客戶端應用。客戶端安裝在Windows系統中的話,記錄就在注冊表、日志文件和數據庫文件中。如果安卓在Mac系統中,記錄文件在日志文件和數據庫文件中。這些文件含有使用云存儲服務的記錄。PC上的日志文件創建了一個用戶使用云存儲服務的時間線。當使用云服務的時候,就會創建數據庫文件來管理用于同步的文件和文件夾。大多數的數據庫文件含有文件夾和文件的名字、創建時間、最后修改時間、是否刪除等。
1.2.3 智能手機中的Artifacts
對于智能手機中的使用記錄,首先應該檢查數據庫文件、XML文件和Plist文件。同樣的,數據庫文件是用來進行同步的,檢查XML文件和plist文件的原因是因為含有用戶賬戶信息。
1.2.4 物理內存
物理內存中含有關于用戶的重要信息,比如ID、登錄web瀏覽器所用的密碼。收集的步驟如圖1,而只有當系統在線時,才有可能收集物理內存。
2. 云存儲服務的臨時文件 (Windows and Mac)
圖4是本研究中研究的云存儲服務和應用版本。
本文研究的服務細節 (Windows, Mac, 和智能手機應用)
2.1 Amazon S3
Amazon S3是基于web的云存儲服務,并且提供不同的API。許多云存儲服務都是基于API建立的。比如Dropbox用Amazon S3的API來進行數據存儲。用戶可以用Windows、Mac、iPhone、安卓智能手機登進行文件的上傳、下載、打開、刪除。雖然Amazon S3默認使用的是SSL,但是仍然創建了臨時文件。
2.1.1 Windows
Bucket logging默認是關閉的,如果用戶開啟,那么日志文件就叫做bucket log桶日志。當用戶下載、打開一個Amazon S3上的office文件,會創建一個名為s3.amazonaws.com.lnk的文件。當用戶瀏覽桶日志文件時,會在另一個路徑下創建一個名為Log file name[n].txt的文件。
表 5 Artifacts of Firefox on Windows.
如果用戶打開IE中的桶日志,會創建一個臨時文件,圖2是一個例子。文件的第一個和第二個域是用戶的ID和bucket name,第三個域是用戶執行操作的時間。第7個域描述了用戶的操作,第8個域是用戶操作的文件名,最后一個域是HTTP 用戶代理值。
圖2—Bucket Log File.
2.1.2 Mac
需要分析用戶訪問的URL和訪問URL的時間,其中cache可能含有從Amazon S3下載的文件, Firefox中沒有使用Amazon S3的證據。當web瀏覽器關閉后,相關文件就被刪除了。但是可以用EnCase工具進行恢復。
2.2 Dropbox
Dropbox是目前最常用的云服務之一,當用戶向同步文件夾中添加文件、編輯文件或刪除文件后,Dropbox會自動同步到web端。用戶可以用Windows、Mac、iPhone、Android設備來訪問云存儲服務。
2.2.1 Windows
當Dropbox用于Windows系統時,會創建5個數據庫文件,其中config.db和filecache.db含有重要的信息。因為數據庫格式為SQLite數據庫文件格式,所以很容易識別其中的內容。
首先, config.db (表 6)的主鍵為recently_changed3,值為最賤編輯、復制、移動和刪除的5個文件名。用戶最后訪問的文件位于列表最上方。文件config.db含有登錄的郵箱地址和Dropbox的完整安裝路徑。即使調查人員不知道用戶的ID和password,也可以通過config.db訪問云存儲。如果調查者從用戶的PC中找到了config.db,那么就可以找到dropbox_path路徑。然后調查者就可以在自己的電腦上安裝Dropbox,并復制config.db到與用戶相同的路徑下。運行Dropbox后就可以訪問云存儲服務了。
表 6—config.db.
其次,文件創建和修改的時間,服務器上要同步的文件的名稱和路徑都存在filecache.db(表 7)中。其中時間的格式為Unix時間。
表 7—filecache.db.
2.2.2 Mac
當Dropbox用于Mac系統時,除了路徑外,都與Windows系統類似。
2.3 Evernote
Evernote一個允許用戶隨時隨地訪問和保存notes的著名的存儲服務。與Dropbox不同,Evernote每次保存一次就同步一次。用戶可以通過Windows、Mac、iPhone、Android設備來訪問云存儲服務。
2.3.1 Windows
當Evernote用于Windows系統時,會創建4個文件夾,其中數據庫文件和日志文件因為格式原因很容易被識別。在數據庫文件夾中,存在[userID].exb和[userID].exb.thumbnails文件。其中 [userID].exb (表 8)包含note標題、創建和修改的時間、創建的位置、創建時所用的操作系統的類型這樣的信息。也可以識別附件名、類型和創建時間等。
表 8—[userID].exb.
文件[userID].exb.thumbnails是每次同步時對note的截圖的融合,如圖3所示。通過提取PNG文件的信息,就可以知道note修改的歷史。
圖 3—[userID].exb.thumbnails.
在日志文件中,包含AppLog_[Date].txt (圖 4)和enclipper_[Date].txt兩個日志文件。在Evernote開始使用后,每天都會產生一個AppLog_[Date].txt文件,文件包含了認證信息、賬戶ID、應用開啟和關閉的時間。enclipper_[Date].txt也是每天創建一個,記錄了應用開啟的時間。
圖 4— AppLog_[Date].txt.
2.3.2 Mac
當Evernote用于Mac系統中時,會創建4個文件,分別是Evernote.sql, fullscreenThumbnail.png, thumbnail.png和 Evernote.log。其中Evernote.sql是數據庫文件, fullscreenThumbnail.png是note的截圖, thumbnail.png含有筆記的內容,Evernote.log是日志文件,等同于Windows系統下的AppLog_[Date].txt。
2.4 Google Docs
Google Docs是基于web的SaaS服務,用戶可以在iPhone和Android終端上使用其提供的web應用。文檔所有者可以隨時設置分享和撤回文件權限,可以上傳、下載和編輯文件。這樣看的話,這也屬于一種云存儲服務。雖然Google Docs默認使用SSL,但是仍然會生成臨時文件。
2.4.1 Windows
在IE 8.0中,可以創建新的Microsoft Office word/ppt/xls,而且可以瀏覽和編輯這些類型的文件。在瀏覽和編輯的時候會創建一些臨時文件,如表 9,表 9中的內容可以幫助識別Google Docs產生的附加品。
表 9—Artifacts of Internet Explorer on Windows.
在訪問Google Docs時,會創建docs_google_com[n].htm文件,該文件含有一系列Google Docs的文件列表。每天的文件從docs_google_com[1].htm開始。當用戶瀏覽文檔或演示的時候,就會創建edit[n].htm文件。edit[n].htm文件含有Microsoft文檔和演示的內容,對一個文檔來說,只含有內容的一頁。當用戶瀏覽Microsoft表格時,會創建ccc[n].htm文件,表格的內容也會保存在ccc[n].htm文件中。當用戶瀏覽pdf文件時,會創建viewer[n].htm, viewer[n].txt和viewer[n].png共三個文件。Pdf文件的標題保存在viewer[n].htm中,元數據和內容保存在viewer[n].txt中,ppt或pdf的每一頁都保存在viewer[n].png中。當對文檔、PPT或txt進行編輯時,就會創建edit[n].htm文件。當瀏覽器關掉的時候,臨時文件會刪除掉,但是可以用EnCase這樣的工具進行恢復。
2.4.2 Mac
在Firefox v9.0.1版本中,當新建office文件時,可以進行瀏覽和編輯操作。根據用戶習慣,會創建一些臨時文件,如表 10。
表 10— Artifacts of Firefox on Mac.
當用戶瀏覽ppt,pptx,pdf文件時,在對應路徑下回創建png文件,ppt,pptx,pdf文件的每一頁都保存在一個PNG文件中。第一頁的內容保存在HTML文件中,當ppt,pptx文件被編輯時,就會創建HTML文件,HTML文件含有docs,id= goog_這樣的關鍵詞。HTML文件是通過<body>和</body>之間的<div dir="ltr">簽名進行驗證的。內容在簽名認證之后,一般在<span>和</span>之間或<font>和</font>之間。
當用戶關閉瀏覽器后,對應的臨時文件就被刪除了,但是可以用EnCase這樣的工具進行恢復。