【论文分享】3篇研究成果在国际顶级会议ACM CCS 2024中宣讲报告

在刚刚结束的网络安全国际顶级会议CCS (The ACM Conference on Computer and Communications Security) 2024中,星图实验室共有3篇学术论文在会议中进行了分享报告。

1. PowerShell动态反混淆

来自星图实验室的安全研究员柴华君同学在会上分享了PowerShell动态反混淆的最新研究工作《PowerPeeler: A Precise and General Dynamic Deobfuscation Method for PowerShell Scripts》。这篇工作是由奇安信技术研究院、东南大学、复旦大学、清华大学合作完成的。

这项研究工作提出了第一个指令级别的PowerShell动态反混淆工具PowerPeeler,其核心思想非常简单,即在脚本执行过程中监控混淆的变化,并直接在内存中捕获反混淆结果。

PowerPeeler主要分为两个模块,动态追踪和静态还原。在PowerShell脚本执行过程中,PowerPeeler会首先将脚本解析为抽象语法树(AST),PowerPeeler利用AST中的表达式相关节点来定位可能的混淆语句片段。脚本执行过程中,AST会被编译为一个指令列表,因此PowerPeeler构建了AST节点与指令的对应关系,从而可以在指令层面监控混淆语句的执行。之后,PowerPeeler会将指令执行的结果对象存储到内存中。在静态还原模块,PowerPeeler首先将结果对象转换为语义等价的字符串形式。获得字符串表示之后,PowerPeeler会用这个字符串替换AST中对应混淆节点的内容。当所有指令结果都替换完成后,PowerPeeler通过后序遍历的方式来重构整个脚本。最后,我们使用代码格式化让结果的可读性更高,完整的流程如下图所示。

我们构建了两个新的数据集,D-Script和D-Cmdline,均包含了高混淆的PowerShell样本。我们的评估实验表明PowerPeeler在反混淆的准确率、提取的敏感信息数量、反混淆前后脚本的语义一致性等方面都明显优于前人的工作和GPT-4。

PowerPeeler是在我们2022年关于PowerShell静态反混淆工作《Invoke-Deobfuscation: AST-Based and Semantics-Preserving Deobfuscation for PowerShell Scripts》上的一次新的探索研究,使用了动态反混淆的方式,大大提升了反混淆的效果。我们在论文中尝试将两者合并使用,可以实现动静态优势互补。目前Invoke-Deobfuscation和PowerPeeler两个工具均已集成到天穹沙箱系统[1]之中,未来我们也会持续更新优化。下面是相关的论文及项目源码,欢迎大家使用我们的项目,并给我们反馈宝贵的意见。

Invoke-Deobfuscation论文链接🔗:https://snowroll.github.io/papers/Invoke_Deobfuscation_DSN_2022.pdf

Invoke-Deobfuscation项目地址🔗:https://gitee.com/snowroll/invoke-deobfuscation

PowerPeeler论文链接🔗: https://arxiv.org/pdf/2406.04027

PowerPeeler项目地址🔗:https://gitee.com/snowroll/powerpeeler

2. 小程序安全

来自星图实验室的安全研究员张子东同学在会上分享了小程序安全的研究工作《MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs》。此项工作的合作者来自山东大学、星图实验室和清华大学,由张子东同学在奇安信技术研究院星图实验室实习期间主导完成。

本文首次在移动领域的新兴小程序生态中发现并提出了一种新型漏洞:跨小程序页面请求伪造(MiniCPRF)。该漏洞利用了小程序在页面路由设计和用户状态管理中的缺陷,攻击者可通过小程序的分享和转发功能,借助本地存储中的不安全设计,实施未经授权的危险操作,如修改支付金额、控制物联网设备或窃取用户敏感信息。

为进一步评估该漏洞对小程序生态的影响,本文开发了自动化小程序安全分析框架MiniCAT。MiniCAT通过静态分析,能够自动爬取小程序、分析代码并生成漏洞检测报告。实验结果表明,MiniCAT成功检测了超过4.1万个微信小程序,其中32%存在潜在的MiniCPRF漏洞。此外,MiniCAT还发现,其他类似平台(如百度、支付宝)也因机制相似面临相同的风险。结果表明,MiniCPRF漏洞已对整个小程序生态构成了威胁,亟需开发者和厂商重视。本文还提出了相应的缓解措施,并已将所有相关漏洞负责任地向开发者披露,其中3个已被中国国家信息安全漏洞库(CNVD)确认并收录。

论文链接🔗:https://diaowenrui.github.io/paper/ccs24-zhang.pdf

天问软件供应链安全平台🔗: https://tianwen.qianxin.com/home

3. CI 插件安全

来自特拉华大学的李小帆同学分享了CI插件安全的工作《Toward Understanding the Security of Plugins in Continuous Integration Services》。这篇工作是由奇安信技术研究院、特拉华大学、克莱姆森大学、派拓网络、清华大学合作完成的关于供应链安全的研究论文,也是星图实验室在供应链安全发表的第四篇高水平学术论文。这项工作也是我们2023年在IEEE S&P学术会议发表的两篇关于持续化集成服务(CI)安全研究[2] [3]的延续,主要针对CI中插件的安全问题进行了深入探究。

持续集成服务(CI)是一种自动化的软件开发实践,用于代码构建、集成和测试,其中有大量的插件用于加速CI流水线的执行。CI插件既可以来自官方市场,也可以来自于第三方代码平台,这其中存在着大量的安全隐患。

论文针对CI插件中的潜在安全风险进行了深入挖掘,通过对目前主流的四大CI平台(GitHub Actions, GitLab CI, CircleCI, Azure Pipelines)的综合分析,发现了非安全分发信道以及资源隔离机制两大类安全隐患。在此基础上,论文提出了Plugin Redirection Hijacking Attack(D1)、Inner-Job Cross-Plugin Hijacking Attack(A1)等7种攻击向量。攻击者利用这些攻击向量可以轻松窃取用户隐私信息,进行CI插件劫持,投毒等。论文对于开源项目仓库做了大规模测量实验,结果表明大量代码仓库和现有的CI插件都受到了攻击影响,如下表所示。

论文链接🔗:https://snowroll.github.io/papers/CI_plugin_CCS2024.pdf

天问软件供应链安全平台🔗: https://tianwen.qianxin.com/home

参考链接:

[1] 天穹沙箱

[2] 【论文分享】持续集成服务(CI)安全问题研究

[3] 【论文分享】持续集成服务(CI)缓存安全问题研究