“PHP是世界上最好的编程语言”可以成功激怒一众程序员。同样,随便一句“Windows比Mac更安全(反之亦然)”也能激怒IT安全人员。在Windows诞生的头10年里,这款产品轻松坐上了史上最佳攻击操作系统(OS)的宝座,成功攻击的次数让公众对Windows的安全性失去了信任。相比之下,不少果粉觉得MacOS基于苹果的封闭系统环境应该比Windows系列更安全。经过数十年的用户争夺战,Windows和Mac的安全话题似乎已经变成了技术信仰问题。随着苹果设备的大量出货,MacOS的安全神话正在逐渐被打破。那么,今天的MacOS真的像我们想象的那么安全吗?它今天面临哪些安全威胁?在6月11日举办的TenSec2019峰会上,腾讯mac安全专家王超飞分享了目前的研究成果。MacOS安全吗?截至2019Q1,Mac终端市场份额为6.82%,而Windows则高达93.2%。对比这两个数据,很多人会认为Mac终端的市场份额还比较小,但实际情况并非如此。“在一些行业公司,比如互联网公司、设计公司,Mac的比例远高于这个,而且比例呈上升趋势。”王超飞表示,在腾讯,Mac设备已经占到所有使用机型的25%,同样的情况也存在于其他行业的公司。有时候,看似小众的Mac产品安全,往往对企业用户来说是头等大事。Mac系统本身的安全性如何?MacOS自推出以来引入了很多安全机制,其中主流版本10.14主要有以下四种安全机制:1.Gatekeeper——互联网下载应用的签名验证。2、Xprotect——针对应用程序的静态特征检测,包括字符串、哈希、推送、规则匹配等,可以理解为MacOS自身集成的一款小型反软件。3、SIP——也叫Rootless,主要保护系统运行进程、系统关键文件和内核扩展加载。4.沙盒——限制应用程序可以访问的软件资源、硬件资源和网络资源。以上四种安全机制可以保证应用程序从下载到终端执行的安全。但是,这并不能保证MacOS100%的安全性。自MacOS推出以来,这四种安全机制漏洞百出,支持黑客进行PaaS或DOS攻击。据统计,从2016年到2017年,针对Mac平台的恶意程序增长了270%。仅2018年,增长率就达到了165%。截至目前,MacOS中的恶意程序数量已达10万个。其中,具有入侵MacOS能力的APT组织23个,木马家族62个。“可以说,MacOS上的高级持续性威胁一直存在。”MacOS攻击演示在模拟攻击案例中,王超飞使用RemoteCustomURLScheme攻击方式,从黑客的角度分享了攻击MacOS终端的全过程。过程。CustomURLScheme可以类比为Windows中不同的文件扩展名对应不同的默认关联程序。比如在浏览器中输入http://baidu.com,浏览器就会解析域名。如果Mac上的一个App声称支持hXXp的URLscheme格式,那么你在浏览器中输入hXXps.baidu.com,系统会自动关联这个App来解析URLscheme。顾名思义,RemoteCustomURLScheme是一种远程使用的方式。在攻击的第一步,黑客通常会向目标终端发送一封包含恶意链接的钓鱼邮件。终端收到钓鱼邮件后,会引导用户用Safari浏览器打开含有恶意链接的邮件,自动访问被黑客控制的恶意站点。此时Safari浏览器会自动下载恶意站点中存放的恶意压缩包并自动解压,从而导致压缩包中的恶意App登陆。同时,系统会自动注册App支持的URLscheme,以便将URLscheme与之关联,并自动引导Safari访问注册的恶意URLscheme,并将其与恶意App关联起来。攻击过程分为三个关键点:1.Safari浏览器——这是大多数Mac终端的默认浏览器,有“下载后打开‘安全’文件”的设置选项。该选项一旦打开浏览器就认为恶意压缩包是安全的,从而导致解压登陆。2.恶意应用程序——Mac上的大多数应用程序都是dmg格式。在它的文件结构中,它包含了二进制文件、资源,甚至是应用于它的各种脚本。使用pdc文件(类似于配置文件),恶意应用程序可以在文件中声明要支持的URL方案。3.恶意网站——当用户收到包含恶意链接的电子邮件时,他们会打开这些链接。映入眼帘的是正常的Google搜索页面,同时引导Safari自动下载恶意压缩包,注册到恶意URLscheme,显示伪装的恶意App运行请求。对于最终用户来说,整个攻击过程是非常隐蔽的。在此期间,用户只会收到伪装成系统提示的恶意链接。一旦用户点击执行,恶意程序就会被执行。MacOS检测与监控除此之外,针对MacOS的攻击方式还有很多,每一种都对Mac终端造成严重的安全威胁。那么,如何应对此类安全威胁呢?黑客完整的入侵路径可以分为初始记录、执行、提权、持久化、取证等阶段。每个阶段都会有一些典型的攻击方式。攻击方法和检测方法整理如下:1.使用虚假的MacApps诱骗用户下载并执行——通过验证App签名是否与名称相符来确认App的真实性;2、利用隐藏在App资源目录下的脚本执行恶意程序——通过进程监控,恶意脚本通常隐藏在需要赋予执行权限的暂定目录中,可以认为是异常值。3、使用微软宏执行的攻击——微软宏执行的攻击分为三种方式:从系统模块导入,调用vb函数MacScript()和调用vba函数AppleScriptTask(),可以通过调用它的parent和child来监控processes;41.恶意程序的持久化——基于Xprotect检测程序路径、哈希、签名等,更加关注/tmp/等隐藏文件;很少有两种常见的提权方式:一是通过App的恶意升级程序,诱骗用户输入密码获取提权;另一种是直接通过App伪装成普通应用。当一个程序请求Root认证时,它最终会对应一个进程。通过判断进程所在的路径及其签名来判断。而对于系统安全子进程的调用,可以通过监控该子进程对应的命令行是否包含被认为是恶意的脚本或程序来确认。6.Mac终端信息采集窃取——常用方法包括截屏、键盘记录、敏感信息窃取和扩散,根据不同窃取场景的使用特点,设计检测截屏频率、执行、安装键盘监控程序。王超飞表示,构建一个基本的EDR通常会使用四种监控:进程网络、进程关系、进程命令行、文件操作监控。这四类数据源可以覆盖ATT&CK中的120种入侵攻击方式,监测概率接近80%。“在基础监控的基础上,如果要构建完善的EDR系统,还需要采集更多的终端数据。”
