您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [ArchSummit深圳2023|全球架构师峰会]:毒酒软件供应链混合样本攻击和防御_吴鹤意 - 发现报告

毒酒软件供应链混合样本攻击和防御_吴鹤意

报告封面

Poisoned Wine:Software Supply Chain Mixed SampleAttack and Defense 个人简介 吴鹤意,东南大学网络安全专业毕业,拥有丰富的安全工作经验,参与过多个中央部委级网络安全体系建设以及攻防演练和实战,先后在华为2012实验室和深信服创新研究院担任安全技术专家,从事AI安全,数据安全,云安全,安全开发,情报狩猎等领域的研究和产品端到端落地。在国内外知名网络安全会议发表演讲,例如HITB,BSides,看雪SDC,XCon,Geekpwn,FBAI安全讲师等,参与了国内外多个安全标准的编制(IEEEP2841-AI安全相关评估标准,国产化操作系统安全等),发表了多篇EI/SCI论文和专利,拥有国内外多项安全证书(CISP,CCSK,CDPSE等),给监管部门提交过若干0day漏洞,国产化操作系统通用安全问题和高级攻击狩猎溯源报告。 本次议题内容仅代表个人观点 1、背景介绍 2、混合样本思路 3、测试效果 4、防御手段 混合样本指的是:跨平台的恶意样本。此类样本风险涉及软件供应链,之前就存在,例如通过在Linux平台上运行win平台的恶意软件,在win平台上通过WSL运行linux平台的样本,通过anbox在linux平台上运行android应用。也有人研究过相关的问题,例如右边所示: 相关的攻击成功率如下所示: 包括学术界机构也发表过此领域的研究,例如如下所示: 不 过 由 于 这 类 场 景 之 前 出 现 的 不 多 ,所 以 并 未 引 起 大 家 足 够 的 关 注 。相关 的 厂 商 对 此 也 不 是 很 积 极 。 但是目前情况发生了变化,在中国,近些年,越来越多支撑跨平台的操作系统和产品进入大家的日常工作中。例如UOS,目前在中国已经有了可观的使用率(市场占有率超过70%),而且支持win和android平台的应用在linux上运行。例如如下所示: UOS简介 在linux平台上运行win平台应用 UOS在linux平台上运行android平台应用,不仅软件厂商,包括中国的一些C PU生产商也在积极开发相关功能,例如龙芯就支持硬件二进制翻译能力,如右所示: 龙芯简介 龙芯支持硬件二进制翻译,所以以前被大家忽视的软件供应链跨平台样本问题是时候引起大家的关注了。 我们在三个中国国内都具有可观使用量的操作系统上进行了测试。使用了wine和两个win平台上知名的勒索恶意软件:WannaC ry和WannaRen。三个平台和相关配置如下所示: 目前虽然linux平台上的样本相比win平台还不是很多,但是攻击者可以通过上述的思路,迅速利用已有的大量样本,快速进行攻击,造成严重的破坏 华为云测试结果举例:WannaCry攻击共加密文件160个,主机安全告警暴力破解 测试结果汇总如下: 文件加密情况 其他样本为随机抽取的12个真实win平台样本 从上述测试可知,有部分的样本可以在linux平台上运行成功并生效,其中WannaCry和WannaRen两个知名勒索软件也在一定程度上逃过了主机安全的防御,对部分文件进行了加密破坏,说明我们不能忽视此类问题。 目前各家服务商对于此类混合样本还是基于以往的落盘查杀和文件后缀规则,或者暴力破解来判断,普遍存在防御盲区和滞后性。针对此种新型攻击手法,我们提出了基于TPM EDR的防御方案,下面进行介绍:受信任的平台模块(TPM)技术旨在提供 基于硬件的安全相关功能。TPM芯片是一种安全的加密处理器,旨在执行加密操作。该芯片包含多个物理安全机制以使其防篡改,并且恶意软件无法篡改TPM的安全功能。TPM的可信链如右图所示: 目前一些服务商已经提供了TCM(中国国内版本的TPM)功能,例如阿里云就提供了vTCM产品,如右所示: TPM EDR=UEFI TPM Agent + Linux TPM Agent,包括了可信启动方案、应用程序白名单、基于路径的访问控制、基于标签的访问控制、基于系统调用的访问控制、远程证明方案、可信管理平台等功能。 应用程序白名单要点: (1)Linux TPM Agent的基本框架参考Fedora的fapolicyd的实现方式(2)fapolicyd需要4.15+内核(3)可以实时扫描二进制文件、脚本文件(仅以MIME判断,不考虑复杂的攻击脚本绕过)(4)同样具备强制模式和宽容模式 可信启动方案细节和UEFI TPM Agent实现要点: (1)SecureBoot使用自定义证书,在BIOS里导入(2)自研UEFI放置在磁盘上,安全性由自定义证书对应密钥签发(由我们掌握密钥)签名,SecureBoot会校验签名(3)自研UEFI校验GRUB签名,GRUB签名由自定义证书对应密钥签发(4)GRUB对Linux Kernel和Initramfs进行校验,校验通过再进行加载(5)之后靠initramfs内的tpm agent用户态对其他程序进行度量(6)自研UEFI有两个模式:强制模式和宽容模式,宽容模式下只告警,不拦截(7)“模式”保存在TPM内 基于路径的访问控制要点: (1)同样以fanotify为基础,以主体(进程路径)和客体(访问文件路径)的规则标记主体是否访问客体(2)Fanotify可以得到主体pid和客体路径(3)默认规则考虑可操作性,对系统文件不做约束,对第三方文件重点约束(4)具备强制模式和宽容模式和学习模式,学习模式对单一进程进行学习(类似tomoyo模块) 基于标签的访问控制要点: 可信管理平台要点: (1)同样以fanotify为基础,以主体(进程路径对应的文件系统元属性)和客体(访问文件对应的文件系统元属性)做为规则,类似smack的基础规则(2)Fanotify可以得到主客体的元属性,但需要考虑加速缓存来存储元属性(3)默认规则考虑可操作性,对系统文件不做约束,对第三方文件重点约束(4)具备强制模式和宽容模式 (1)统一管理所有可信设备,实现TCM/TPM身份登记、证书颁发、可信策略下发配置、可信状态校验(远程证明)等功能(2)管理可信启动链上涉及的固件更新的配套可信策略(关系RTM)(3)管理可信应用程序白名单的可信策略(4)实体/虚拟TPM/TCM证书颁发(5)实现等保2.0中,关于“在检测到其可信性收到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心”的要求 基于系统调用的访问控制要点: 远程证明方案要点: (1)以对auditd的配置为基础,考虑将对重点程序的高危系统调用进行审计,并转发审计日志到本机UDP端口(快速原型开发)(2)宽容模式下只记录警告(3)强制模式下通过外部kill信号杀死高危进程(4)对socket的审计可以带来按进程的网络活动监控,理论上可以得到比iptables更细粒度的网络访问控制(配合netlink) (1)可信启动时滚PCR,并记录启动日志,按TPM标准执行(2)应用程序白名单滚PCR并记录日志:只记录未在日志中的度量,此时方才滚PCR(此即IMA模式)(3)各访问控制:只记录未在日志中的访问轨迹,此时方才滚PCR(可能拖累系统速度,解决方案待调研) TPM EDR效果演示 内存消耗7M,CPU 3%以内 1.可信管理平台界面概览2.可信代理程序界面概览3.可信代理程序——通过启动校验4.可信代理程序——启动校验失败5.可信代理程序——对未知可执行文件拦截或告警6.可信代理程序——阻止对受保护的文件进行修改 TPM EDR效果演示1.可信管理平台界面概览 TPM EDR效果演示 2.可信代理程序界面概览 TPM EDR效果演示 3.可信代理程序——通过启动校验 TPM EDR效果演示 4.可信代理程序——启动校验失败 TPM EDR效果演示 5.可信代理程序——对未知可执行文件拦截或告警 TPM EDR效果演示 6.可信代理程序——阻止对受保护的文件进行修改 通过上述的设计,我们希望可以利用可信计算的技术来提高针对软件供应链混合样本的防御能力,补足之前忽视的一个安全威胁。我们认为随着跨平台的场景越来越多,以前的异构安全理念,也会被新的安全威胁挑战,我们应该提前规划,做好防御准备,保护用户的安全。