張萍
摘 要: 大多數(shù)的計算機取證工作主要還是依靠現(xiàn)成的取證軟、硬件,然而過度的依賴取證工具,有可能導(dǎo)致某些重要電子證據(jù)的遺漏。因此針對操作系統(tǒng)、文件系統(tǒng)等底層的研究才是進行計算機取證研究的方向。針對Mac OS系統(tǒng)自身的安全機制性能,分析其自帶的安全審計機制在電子取證過程中的應(yīng)用,為取證人員提供取證工具所無法檢測到的重要電子證據(jù)。其中重點探討了Mac OS的審計日志、診斷報告、崩潰日志和Plist文件在進行手動電子取證過程中可提供的大量有價值的電子證據(jù)和取證線索。
關(guān)鍵詞: Mac OS; 電子取證; 安全機制; 審計日志; 崩潰日志
中圖分類號:TP309 文獻標(biāo)志碼:A 文章編號:1006-8228(2018)01-30-04
Application of Mac OS security audit mechanism in digital forensics
Zhang Ping
(Department of Computer Science, Guangdong Police College, Guangzhou, Guangdong 510230, China)
Abstract: Most of the computer forensics mainly relies on the ready-made forensics software and hardware, however, excessive reliance on forensic tools may lead to the omission of some vital electronic evidence. Therefore, the underlying research on operating system, file system and so on is the research direction of computer forensics. Aiming at the security mechanism performance of Mac OS system, this paper discusses the application of its own security audit mechanism in the process of electronic forensics, which can help forensic personnel to dig out some important electronic evidence that cannot be detected by the ready-made forensic tools. This paper mainly focuses on the application of Mac OS audit log, diagnostic report, crash log and Plist file, which can provide a large number of valuable electronic evidences and forensic clues in the process of manual electronic forensics.
Key words: Mac OS; digital forensics; security mechanism; audit report; crash report
0 引言
計算機審計的目的是通過對證據(jù)的審查,確保被審查對象行為的真實性、正確性、合規(guī)性,審計的實施對象主要是操作系統(tǒng)的合法或非法用戶,此處的證據(jù)包括被審查對象的過往行為和可訪問的數(shù)據(jù)文件[1],其中提取證據(jù)的過程一般可被劃歸為電子取證范疇。
針對Windows操作系統(tǒng)的電子取證操作,是被較多人所熟知的[2],而蘋果的操作系統(tǒng)由于相對于Windows而言使用的用戶群體相對較窄,所以針對Mac OS的計算機取證研究稍顯滯后。但近年來蘋果操作系統(tǒng)的市場占有率迅速增長,根據(jù)統(tǒng)計機構(gòu)NetMarketshare公布的數(shù)據(jù)[3],從2007年至2014年第一季度,Mac的占有率從3.74%上漲到8.16%,其增幅超過1倍。雖然在最新統(tǒng)計(2017年9月)中Mac OS市場占有率下滑至6.29%,但始終穩(wěn)居市場份額第二位,并且隨著移動版操作系統(tǒng)iOS的廣泛使用,使得更多用戶意識到Mac OS與iOS搭配使用的好處,因此針對Mac OS的電子取證研究刻不容緩。
在Mac OS中審計(auditing)是其自身包含的一個子系統(tǒng)[4],它是由進程launchd(mac系統(tǒng)下通用的進程管理器,主要功能是進程管理)根據(jù)需要而啟動的后臺服務(wù)進程,這個進程不負(fù)責(zé)實際的審計日志記錄,審計日志記錄是由內(nèi)核直接完成的。Mac OS的審計子系統(tǒng)對取證人員在發(fā)掘較為隱蔽的電子證據(jù)中可起到關(guān)鍵的輔助作用。在Windows操作系統(tǒng)中,系統(tǒng)或用戶的行為是可以通過多種途徑進行查看的,在Mac OS系統(tǒng)中的審計工作也與之相類似,但Mac OS自帶的一些特殊性能可以幫助取證人員更便捷的找到電子證據(jù)[5]。本文以下將分別通過對Mac OS日志文件、診斷報告、崩潰日志和plist文件的審查進行詳細探討,分析可應(yīng)用于手動電子取證的功能。
1 Mac OS的日志文件
Mac OS的審計日志一般存放在/var/audit目錄下,日志文件的命名方式是start_time.stop_time(起始時間和中止時間),這個時間精確至秒。審計日志是持續(xù)生成的,因此下一個日志的start_time是上一個日志的stop_time(這里不包括因系統(tǒng)崩潰或重啟而產(chǎn)生的日志文件),最后一個日志文件的stop_time是not_terminated。 可以通過“l(fā)s -ld/var/audit”命令來查看日志目錄,“sudo ls -l/var/audit”命令可查看到具體的日志文件列表,如圖1所示。endprint
由圖1可見Mac OS日志循環(huán)太過頻繁,因此其審計子系統(tǒng)還提供一個特殊的審計管道設(shè)備/dev/auditpipe。用戶態(tài)程序可以通過這個設(shè)備節(jié)點訪問審計記錄,審計管道設(shè)備節(jié)點只有root用戶才能訪問。例如,首先在Terminal中運行審計管道設(shè)備“praudit/dev/auditpipe”,然后啟用屏幕保護程序鎖住系統(tǒng)再轉(zhuǎn)為Guest賬戶登錄系統(tǒng)之后,Terminal中會出現(xiàn)對于這些操作行為的記錄。圖2顯示的是以上行為在審計管道設(shè)備/dev/auditpipe中的一部分記錄內(nèi)容。一般每個記錄都包含以下幾方面的內(nèi)容:
⑴ header行,指明記錄的行為類型,圖2中截取的記錄類型是用戶驗證(user authentication);
⑵ subject行描述了主體進程,并順序記錄了審計用戶ID、生效用戶ID和組ID、實際用戶ID和組ID、 進程ID、會話ID、端口ID以及登錄地址,在這里審計用戶ID和實際用戶ID可能是不同的;
⑶ text行記錄具體的行為結(jié)果,圖2截取的第一條行為結(jié)果是驗證用戶ZPecho的密碼,第二條是驗證用戶Guest的密碼;
⑷ return行為返回的內(nèi)容,圖2中第一條的返回是失敗,第二條的返回代表成功驗證用戶“Guest”的密碼。
Mac OS中的大量日志文件存儲在/private/var/log和/Library/Logs路徑下,另外還有應(yīng)用程序的日志存儲在每個用戶的<用戶名>/Library/Logs中。其中/private/var由于默認(rèn)是隱藏文件夾,所以不會顯示在Finder中,但是可以在終端中使用命令查看,或者在【前往】→【前往文件夾...】中輸入/private/var/log跳轉(zhuǎn)到該文件夾。
除此之外,在Mac OS中打開控制臺程序,同樣可以看到大部分的日志文件,不同版本的Mac OS中控制臺的顯示可能會有所不同,本文所做實驗基于10.12.5版本。由圖3可見左邊導(dǎo)航欄內(nèi)分類列出系統(tǒng)日志查詢、診斷和使用信息、各種日志文件,包括當(dāng)前和過往的系統(tǒng)日志,每日、每周、每月的維護報告,以應(yīng)用名稱或進程名稱加時間進行命名的診斷和使用信息。
診斷和使用信息報告中記錄了系統(tǒng)和用戶的操作行為,Mac OS同其他Unix的衍生系統(tǒng)一樣都保留了許多日志文件[6],這些日志文件記錄的內(nèi)容十分詳細但是卻很少作為電子取證的證據(jù),但卻可以顯示出用戶直接或間接的行為和目的,對于計算機取證過程有重要的輔助作用。例如在圖3所顯示的Mac Analytics Data中可以看到用戶的所有操作,包括用戶在18:15:05執(zhí)行l(wèi)oginwindow登錄系統(tǒng)、隨后多次執(zhí)行了sudo命令、18:21:12執(zhí)行了截屏操作,由此條記錄取證人員可針對截屏?xí)r間進行圖片的搜索,進而進行證據(jù)的查找定位和分析。通過查詢?nèi)罩疚募梢圆榈接脩舻牡卿浀浅鰰r間、安裝卸載程序、系統(tǒng)崩潰原因、感染病毒等事件的發(fā)生時間和行為原因,取證工作人員可以通過對這些日志記錄的查看進行深入的審計。
2 Mac OS X的診斷報告和崩潰日志
Mac OS的日志對于新的電子證據(jù)的發(fā)現(xiàn)有著相當(dāng)重要的作用,其中診斷報告中記錄了系統(tǒng)、應(yīng)用程序和用戶的操作行為,在系統(tǒng)診斷和使用信息中我們可以看到很多應(yīng)用程序或用戶的行為記錄。圖4、圖5顯示的是2017年11月14日QQ的診斷報告,其中詳細記錄了程序版本、路徑、開始時間(Start Time)和結(jié)束時間(End Time)和用戶的活動實例等,除此之外報告還記錄了此時間段內(nèi)的電源狀態(tài)(Power Source)是電池供電還是AC供電,此報告中記錄的71條活動全部發(fā)生在電池供電環(huán)境下(71 Samples on Battery,0 Samples on AC)。
當(dāng)Mac OS中的某一個日志只有start_time而無stop_time時就表明這個時間段系統(tǒng)發(fā)生了崩潰,在Mac OS和iOS中,當(dāng)進程異常終止時會自動觸發(fā)Crash Reporter,生成詳細的崩潰日志。這個機制在進程消亡之前進行快速簡單的分析,并且在崩潰日志中記錄重要的內(nèi)容。這對于計算機審計和取證都有十分重要的現(xiàn)實作用,Crash Reporter日志被保存在用戶的Library/Logs/CrashReporter目錄下或系統(tǒng)的/Library/Logs/CrashReporter目錄下。
用戶診斷報告主要是崩潰報告發(fā)生的記錄,記錄了用戶應(yīng)用程序的意外退出、用戶選擇強制退出程序和系統(tǒng)錯誤要求用戶重啟計算機的事件發(fā)生記錄。圖5顯示的是一份具體的崩潰報告,報告的開頭列明了進程的相關(guān)信息,隨后指明發(fā)生崩潰的線程(Thread)和具體的崩潰信息。
3 Plist文件
Mac OS,包括其他的Macintosh操作系統(tǒng),跟Microsoft Windows系統(tǒng)不同的一點是并不存在注冊表,用戶的設(shè)置全部通過property list files即“.plist”屬性文件進行記錄[7]。plist屬性文件記錄的數(shù)據(jù)要比一個簡單的“Cookie”復(fù)雜的多,而且不能直接的被標(biāo)準(zhǔn)的文字編輯器讀取[3]。Mac OS自帶命令工具plutil可以將二進制的plist文件轉(zhuǎn)換為易于閱讀的XML文件。此外Apple開發(fā)工具XCode中有一個免費的自帶程序“Property List Editor”,可以將plist文件中包含的數(shù)據(jù)轉(zhuǎn)化為一個友好的閱讀形式,同時還可以方便用戶對plist文件進行內(nèi)容編輯,但一定要謹(jǐn)慎進行改動,因為plist文件對于數(shù)據(jù)的取證十分關(guān)鍵。
在Mac OS操作系統(tǒng)里可以在以下四個地方找到大量的plist文件:/Library、/Users/username/Library、/Network/Libray、/System/Library,除了這幾個直接可以在Finder中看到的路徑,還有不會顯示在Finder中的路徑:/private/etc、/private/var。這些位置可以找到大量的與用戶和全局相關(guān)的配置信息,對于取證調(diào)查工作至關(guān)重要,需要重點進行分析、挖掘。例如在調(diào)查過程中,案件需求是針對某一個用戶,那首先應(yīng)該針對/Uers/username/Libray來進行分析,如圖6所示的就是Safari文件夾下的“LastSession.plist”,可以查看Safari上一次關(guān)閉前所有打開的網(wǎng)頁,例如可以看到用戶關(guān)閉Safari前總共開啟了3個窗口(3 ordered objects),其中一個是139郵箱并給出了相應(yīng)的URL;如果審計的案件中包括服務(wù)器構(gòu)件,那還應(yīng)該重點查看/Network/Library位置下的plist文件;至于關(guān)系全局系統(tǒng)的設(shè)置則應(yīng)該在/Library和/System/Library中尋找plist文件。endprint
4 結(jié)束語
蘋果產(chǎn)品以其鮮明特色和良好的用戶體驗贏得市場,同時Mac OS與蘋果移動設(shè)備的iOS密切相關(guān),Mac OS取證研究的突破在某些方面對iOS取證有促進作用,因此,針對Mac OS的取證研究不容忽視。
Mac OS取證與Windows取證、Linux取證相比有著更大的難度,這是由于Mac OS雖然是基于UNIX內(nèi)核的操作系統(tǒng),但是跟Linux系統(tǒng)相比它是一個封閉的系統(tǒng);而與Windows系統(tǒng)相比,人們對Mac OS技術(shù)的認(rèn)知度較低,可以借鑒的Mac OS取證相關(guān)知識或技術(shù)相對缺乏[8]。本文僅僅是從Mac OS中自帶的日志文件、診斷報告、崩潰日志和plist文件這幾方面出發(fā)探索對Mac OS的手動取證工作,Mac OS還有大量的取證難點有待深入研究,因此,針對Mac OS的取證研究任重而道遠。
參考文獻(References):
[1] Computer audit[J].Computer Fraud & Security Bulletin,
1979.1(4):2-5
[2] Carvey H. Windows Forensics and Incident Recovery (The
Addison-Wesley Microsoft Technology Series[M].Addison-
Wesley Professional,2004.
[3] http://www.netmarketshare.com/operating-system-market-
share.aspx?qprid=10&qpcustomd=0, 2017-10-10
[4] [美]Jonathan Levin著,鄭思瑤,房佩慈譯.深入解析Mac OS
& iOS 操作系統(tǒng)[M].清華大學(xué)出版社, 2014.
[5] Ryan Kubasiak,"MacOS X Forensics Guide,"May 29 2007,http:
//www.macosxforensics.com/page1/files/MacForensics.pdf.
[6] Mac Security[M].Getting StartED with Mac OS X Leopard.
Apress,2007:249-257
[7] Amit Singh, Mac OS X Internals: A Systems Approach.
Addison Wesley,2006.
[8] Brian Carrier. Open Source Digital Forensics[G/OL].http:
//www2.opensourceforensics.org/tools.endprint