APP下载

Mac OS的安全审计机制在电子取证中的应用

2018-01-26张萍

计算机时代 2018年1期
关键词:安全机制

张萍

摘 要: 大多数的计算机取证工作主要还是依靠现成的取证软、硬件,然而过度的依赖取证工具,有可能导致某些重要电子证据的遗漏。因此针对操作系统、文件系统等底层的研究才是进行计算机取证研究的方向。针对Mac OS系统自身的安全机制性能,分析其自带的安全审计机制在电子取证过程中的应用,为取证人员提供取证工具所无法检测到的重要电子证据。其中重点探讨了Mac OS的审计日志、诊断报告、崩溃日志和Plist文件在进行手动电子取证过程中可提供的大量有价值的电子证据和取证线索。

关键词: Mac OS; 电子取证; 安全机制; 审计日志; 崩溃日志

中图分类号:TP309 文献标志码: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 引言

計算机审计的目的是通过对证据的审查,确保被审查对象行为的真实性、正确性、合规性,审计的实施对象主要是操作系统的合法或非法用户,此处的证据包括被审查对象的过往行为和可访问的数据文件[1],其中提取证据的过程一般可被划归为电子取证范畴。

针对Windows操作系统的电子取证操作,是被较多人所熟知的[2],而苹果的操作系统由于相对于Windows而言使用的用户群体相对较窄,所以针对Mac OS的计算机取证研究稍显滞后。但近年来苹果操作系统的市场占有率迅速增长,根据统计机构NetMarketshare公布的数据[3],从2007年至2014年第一季度,Mac的占有率从3.74%上涨到8.16%,其增幅超过1倍。虽然在最新统计(2017年9月)中Mac OS市场占有率下滑至6.29%,但始终稳居市场份额第二位,并且随着移动版操作系统iOS的广泛使用,使得更多用户意识到Mac OS与iOS搭配使用的好处,因此针对Mac OS的电子取证研究刻不容缓。

在Mac OS中审计(auditing)是其自身包含的一个子系统[4],它是由进程launchd(mac系统下通用的进程管理器,主要功能是进程管理)根据需要而启动的后台服务进程,这个进程不负责实际的审计日志记录,审计日志记录是由内核直接完成的。Mac OS的审计子系统对取证人员在发掘较为隐蔽的电子证据中可起到关键的辅助作用。在Windows操作系统中,系统或用户的行为是可以通过多种途径进行查看的,在Mac OS系统中的审计工作也与之相类似,但Mac OS自带的一些特殊性能可以帮助取证人员更便捷的找到电子证据[5]。本文以下将分别通过对Mac OS日志文件、诊断报告、崩溃日志和plist文件的审查进行详细探讨,分析可应用于手动电子取证的功能。

1 Mac OS的日志文件

Mac OS的审计日志一般存放在/var/audit目录下,日志文件的命名方式是start_time.stop_time(起始时间和中止时间),这个时间精确至秒。审计日志是持续生成的,因此下一个日志的start_time是上一个日志的stop_time(这里不包括因系统崩溃或重启而产生的日志文件),最后一个日志文件的stop_time是not_terminated。 可以通过“ls -ld/var/audit”命令来查看日志目录,“sudo ls -l/var/audit”命令可查看到具体的日志文件列表,如图1所示。endprint

由图1可见Mac OS日志循环太过频繁,因此其审计子系统还提供一个特殊的审计管道设备/dev/auditpipe。用户态程序可以通过这个设备节点访问审计记录,审计管道设备节点只有root用户才能访问。例如,首先在Terminal中运行审计管道设备“praudit/dev/auditpipe”,然后启用屏幕保护程序锁住系统再转为Guest账户登录系统之后,Terminal中会出现对于这些操作行为的记录。图2显示的是以上行为在审计管道设备/dev/auditpipe中的一部分记录内容。一般每个记录都包含以下几方面的内容:

⑴ header行,指明记录的行为类型,图2中截取的记录类型是用户验证(user authentication);

⑵ subject行描述了主体进程,并顺序记录了审计用户ID、生效用户ID和组ID、实际用户ID和组ID、 进程ID、会话ID、端口ID以及登录地址,在这里审计用户ID和实际用户ID可能是不同的;

⑶ text行记录具体的行为结果,图2截取的第一条行为结果是验证用户ZPecho的密码,第二条是验证用户Guest的密码;

⑷ return行为返回的内容,图2中第一条的返回是失败,第二条的返回代表成功验证用户“Guest”的密码。

Mac OS中的大量日志文件存储在/private/var/log和/Library/Logs路径下,另外还有应用程序的日志存储在每个用户的<用户名>/Library/Logs中。其中/private/var由于默认是隐藏文件夹,所以不会显示在Finder中,但是可以在终端中使用命令查看,或者在【前往】→【前往文件夹...】中输入/private/var/log跳转到该文件夹。

除此之外,在Mac OS中打开控制台程序,同样可以看到大部分的日志文件,不同版本的Mac OS中控制台的显示可能会有所不同,本文所做实验基于10.12.5版本。由图3可见左边导航栏内分类列出系统日志查询、诊断和使用信息、各种日志文件,包括当前和过往的系统日志,每日、每周、每月的维护报告,以应用名称或进程名称加时间进行命名的诊断和使用信息。

诊断和使用信息报告中记录了系统和用户的操作行为,Mac OS同其他Unix的衍生系统一样都保留了许多日志文件[6],这些日志文件记录的内容十分详细但是却很少作为电子取证的证据,但却可以显示出用户直接或间接的行为和目的,对于计算机取证过程有重要的辅助作用。例如在图3所显示的Mac Analytics Data中可以看到用户的所有操作,包括用户在18:15:05执行loginwindow登录系统、随后多次执行了sudo命令、18:21:12执行了截屏操作,由此条记录取证人员可针对截屏时间进行图片的搜索,进而进行证据的查找定位和分析。通过查询日志文件,可以查到用户的登录登出时间、安装卸载程序、系统崩溃原因、感染病毒等事件的发生时间和行为原因,取证工作人员可以通过对这些日志记录的查看进行深入的审计。

2 Mac OS X的诊断报告和崩溃日志

Mac OS的日志对于新的电子证据的发现有着相当重要的作用,其中诊断报告中记录了系统、应用程序和用户的操作行为,在系统诊断和使用信息中我们可以看到很多应用程序或用户的行为记录。图4、图5显示的是2017年11月14日QQ的诊断报告,其中详细记录了程序版本、路径、开始时间(Start Time)和结束时间(End Time)和用户的活动实例等,除此之外报告还记录了此时间段内的电源状态(Power Source)是电池供电还是AC供電,此报告中记录的71条活动全部发生在电池供电环境下(71 Samples on Battery,0 Samples on AC)。

当Mac OS中的某一个日志只有start_time而无stop_time时就表明这个时间段系统发生了崩溃,在Mac OS和iOS中,当进程异常终止时会自动触发Crash Reporter,生成详细的崩溃日志。这个机制在进程消亡之前进行快速简单的分析,并且在崩溃日志中记录重要的内容。这对于计算机审计和取证都有十分重要的现实作用,Crash Reporter日志被保存在用户的Library/Logs/CrashReporter目录下或系统的/Library/Logs/CrashReporter目录下。

用户诊断报告主要是崩溃报告发生的记录,记录了用户应用程序的意外退出、用户选择强制退出程序和系统错误要求用户重启计算机的事件发生记录。图5显示的是一份具体的崩溃报告,报告的开头列明了进程的相关信息,随后指明发生崩溃的线程(Thread)和具体的崩溃信息。

3 Plist文件

Mac OS,包括其他的Macintosh操作系统,跟Microsoft Windows系统不同的一点是并不存在注册表,用户的设置全部通过property list files即“.plist”属性文件进行记录[7]。plist属性文件记录的数据要比一个简单的“Cookie”复杂的多,而且不能直接的被标准的文字编辑器读取[3]。Mac OS自带命令工具plutil可以将二进制的plist文件转换为易于阅读的XML文件。此外Apple开发工具XCode中有一个免费的自带程序“Property List Editor”,可以将plist文件中包含的数据转化为一个友好的阅读形式,同时还可以方便用户对plist文件进行内容编辑,但一定要谨慎进行改动,因为plist文件对于数据的取证十分关键。

在Mac OS操作系统里可以在以下四个地方找到大量的plist文件:/Library、/Users/username/Library、/Network/Libray、/System/Library,除了这几个直接可以在Finder中看到的路径,还有不会显示在Finder中的路径:/private/etc、/private/var。这些位置可以找到大量的与用户和全局相关的配置信息,对于取证调查工作至关重要,需要重点进行分析、挖掘。例如在调查过程中,案件需求是针对某一个用户,那首先应该针对/Uers/username/Libray来进行分析,如图6所示的就是Safari文件夹下的“LastSession.plist”,可以查看Safari上一次关闭前所有打开的网页,例如可以看到用户关闭Safari前总共开启了3个窗口(3 ordered objects),其中一个是139邮箱并给出了相应的URL;如果审计的案件中包括服务器构件,那还应该重点查看/Network/Library位置下的plist文件;至于关系全局系统的设置则应该在/Library和/System/Library中寻找plist文件。endprint

4 结束语

苹果产品以其鲜明特色和良好的用户体验赢得市场,同时Mac OS与苹果移动设备的iOS密切相关,Mac OS取证研究的突破在某些方面对iOS取证有促进作用,因此,针对Mac OS的取证研究不容忽视。

Mac OS取证与Windows取证、Linux取证相比有着更大的难度,这是由于Mac OS虽然是基于UNIX内核的操作系统,但是跟Linux系统相比它是一个封闭的系统;而与Windows系统相比,人们对Mac OS技术的认知度较低,可以借鉴的Mac OS取证相关知识或技术相对缺乏[8]。本文仅仅是从Mac OS中自带的日志文件、诊断报告、崩溃日志和plist文件这几方面出发探索对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 操作系统[M].清华大学出版社, 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

猜你喜欢

安全机制
安全机制视角下计提使用煤矿安全费用策略分析
港口安全生产管理问题及对策研究
云环境背景下可搜索加密技术安全机制及应用陷阱
关于税收应用中的数据库安全机制浅析
Domino安全策略研究
铁路信号设备维护与安全机制分析
论10kV配电线路接地故障分析及预防
浅析数据库的安全设计与管理
大数据环境下云存储平台安全机制研究
网络意识形态争议特征与安全机制构建