一句“PHP是世界上最好的编程语言”可以成功惹毛一票程序员。同样,随口一句“Windows系统比Mac系统更安全(或反之)”也能让IT安全人员吵个不可开交。
Windows诞生的头10年该产品轻易坐稳史上最好攻击操作系统(OS)的宝座,成功攻击的数量更让公众对Windows的安全性失去信任。相比之下,很多果粉则觉得MacOS基于苹果的封闭系统环境理应比Windows系列更加安全。
在长达几十年的用户争夺战后,相关Windows和Mac的安全话题似乎已经演变成了技术信仰问题。而随着苹果设备的大批量出货,MacOS的安全神话也正被逐渐打破。
那么,如今的MacOS还像我们想象的那样安全吗?其如今又面临着哪些安全威胁呢?在6月11日举办的TenSec 2019峰会上,腾讯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、Sandbox——对应用程序所能访问的软件资源、硬件资源和网络资源等做限制。
上述四大安全机制可以保证应用程序从下载落地到终端执行的安全。
然而,这并不能100%保证MacOS的安全。自MacOS面世至今,这四大安全机制已经出现过无数漏洞并支持黑客进行PAAS或者DOS攻击。
据统计,从2016到2017年,针对Mac平台的恶意程序增长了270%。仅在2018年一年,增长速度达到165%。截至目前,MacOS的恶意程序量级已经达到10万级。其中,具有针对MacOS入侵能力的APT组织23个,木马家族62个。
“可以说,MacOS上的高级持续性威胁其实是一直存在的。”
MacOS攻击演示
在模拟攻击案例中,王朝飞采用Remote Custom URL Scheme的攻击手法,从黑客角度分享了对MacOS终端展开攻击的全过程。
Custom URL Scheme可以被类比成Windows中不同的文件拓展对应不同的默认关联程序。举个例子,假如在浏览器中输入http://baidu.com,那么浏览器就会去解析这个域名。 如果一个Mac上的App声称它支持hXXp这种URL scheme格式,那么如果在浏览器中输入hXXps.baidu.com那么系统就会自动去关联这个App来解析URL scheme。
顾名思义,Remote Custom URL Scheme就是一种远程利用的方式。
攻击的第一步,通常黑客会向目标终端发送一份包含恶意链接的钓鱼邮件。终端收到钓鱼邮件之后,将引导用户用Safari浏览器打开包含恶意链接的邮件,并自动访问到黑客所控制的恶意站点。
此时,Safari浏览器会自动下载恶意站点中所存储的恶意压缩包并自动解压,从而导致压缩包里面的恶意App落地。
同时,系统会自动将App所支持的URL scheme进行注册,以此将URL scheme与其关联起来并自动引导Safari访问注册过的恶意URL scheme关联到恶意App。
其攻击过程分为三个关键点:
1、Safari浏览器——这是绝大多数Mac终端默认的浏览器,其具备“下载后打开‘安全的’文件”设置选项,一旦该选项开启浏览器则认为恶意压缩包是安全的从而导致解压落地。
2、恶意App——Mac上的App多为dmg格式。在其文件结构中,包含了应用到的二进制文件、资源,甚至各种脚本。
利用其中的pdc文件(类似一种配置文件),恶意App可以在文件中声明所要支持的URL scheme。
3、恶意站点——当用户收到包含恶意链接的邮件后,打开链接。映入眼帘的是正常的Google搜索页面,同时引导Safari自动下载恶意压缩包、注册到恶意URL scheme并显示伪装后的恶意App运行请求。
对于终端用户来说,整个攻击过程显得十分隐蔽。期间,用户只会收到一个被伪装成系统提示的恶意链接,一旦用户点击执行则会启动恶意程序执行。
MacOS检测与监控
除此之外,还有很多针对MacOS的攻击方式,每种对于Mac终端来说都面临着严峻的安全威胁。
那么,如何应对这样的安全威胁呢?
一个黑客完整的入侵途径中,可将其划分为初始记录、执行、提权、持久化、搜集取证等阶段,每个阶段都会有一些典型的攻击手法。其攻击手法及检测办法整理如下:
1、针对Mac使用虚假App欺骗用户下载执行——可以通过App签名校验与名称是否相符来确认App的真实性;
2、利用隐藏在App资源目录中的脚本执行恶意程序——通过监控进程,恶意脚本通常会被隐藏在需要被赋予执行权限的试探目录中,可以认为这是一个异常点。
3、利用微软宏执行的攻击行为——微软宏执行的攻击分为从系统模块导入、调用vb函数MacScript()和调用vba函数AppleScriptTask()三种方式,可通过调用其父子进程进行监测;
4、恶意程序持久化——基于Xprotect对程序路径、哈希、签名等进行检测,对类似/tmp/的隐藏文件加强关注;
5、恶意程序权限提升——直接依靠0day漏洞来提权的情况很少见,常见的提权方式有两种:一个是通过App的恶意升级程序来欺骗用户输入密码获得特权;其次是直接通过App冒充正常的应用。
当一个程序去请求Root认证的时候,最终会对应到一个进程。通过判断进程所在路径及其签名来判断。而对于调用到系统安全子进程的,可以通过监控该子进程所对应的命令行中是否包含认为恶意的脚本或者程序来加以确认。
6、针对Mac终端收集、窃取信息——常见的手段包含截屏、键盘记录、敏感信息窃取和扩散四种,针对不同窃取场景的使用特性设计检测截屏频率、执行、安装键盘监控程序等。
王朝飞称,构建基础的EDR通常会用到进程网络、进程关系、进程命令行和文件操作监控四类,这四类数据源可以覆盖ATT&CK中120种入侵攻击手段,监控概率接近80%。
“在基础监控的基础上,若要构建全面的EDR系统,则需收集更多的终端数据。”