#control-flow-integrity

共收录 7 条相关安全情报。

← 返回所有主题
👥 作者: Ziyi Lin, Jinku Li, Bowen Li, Haoyu Ma, Debin Gao, Jianfeng Ma 0001

该论文针对二进制程序在控制流完整性(CFI)中前向边保护的难题,提出了一种结合静态与动态分析的方法TypeSqueezer,用于更精确地恢复函数签名。传统基于类型的间接调用目标匹配在二进制层面面临类型信息缺失的困境,静态分析只能采用宽松的arity/宽度边界假设,导致过拟合,易被高级攻击绕过。TypeSqueezer通过动态分析获取运行时函数参数的实际宽度和个数,进而约束静态推断,显著缩小间接调用目标的候选集。实验证明,该方法在减少误报的同时保持了高覆盖率,有效提升了二进制级CFI的安全性。核心贡献在于提出了一个混合分析框架,能够在不依赖源代码的情况下,以较高精度推断函数签名,适用于COTS二进制程序。该工作适合二进制安全、CFI机制和逆向工程领域的研究人员及安全工程师阅读。

💡 推荐理由: 该研究提出了一种新颖的静态与动态分析结合的方法,解决了二进制CFI中前向边保护的关键瓶颈,可提升现有CFI防御的精确性和安全性。

🎯 建议动作: 研究跟进

排序因子: 影响边界/网络设备 (+5) | 来自网络安全顶级会议 (+8) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
推荐 9.5
Conf: 50%
👥 作者: Hans Liljestrand, Thomas Nyman, Lachlan J. Gunn, Jan-Erik Ekberg, N. Asokan

论文提出了一种新的控制流完整性保护机制——认证调用栈(ACS),通过链式消息认证码(MAC)验证函数返回地址的完整性,从而防御返回导向编程(ROP)等运行时攻击。传统影子栈需要在受保护内存中维护返回地址副本,存在性能开销大或需要专用硬件支持的问题。ACS利用连续的MAC值链,每个函数调用时更新栈上的认证标签,无需独立影子栈。作者基于ARMv8.3-A的指针认证(PA)硬件指令实现了原型系统PACStack。指针认证是为函数指针等设计的硬件安全特性,PACStack将其扩展应用于返回地址保护。安全性分析表明,PACStack在面对代码执行、任意内存写入等常见攻击模型时,能达到与硬件辅助影子栈同等的安全强度,且无需额外硬件支持。性能评估显示,PACStack在SPEC CPU2006基准测试中平均开销仅约3%,远低于软件影子栈方案。该工作适合系统安全、编译器安全和硬件安全领域的研究者阅读。

💡 推荐理由: 提供了一种无需专用硬件即可实现硬件级安全性的返回地址保护方案,对移动端和嵌入式Arm设备的控制流完整性加固具有直接参考价值。

🎯 建议动作: 研究跟进

排序因子: 来自网络安全顶级会议 (+8) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
👥 作者: Igor Santos-Grueiro

本文提出 WarpGuard,据作者所知这是首个在已执行 SASS(Shader Assembly)层面为 CUDA 设备二进制实现受保护站点控制流完整性(CFI)的系统。近年来 CUDA 利用研究显示,GPU 内存漏洞可升级为设备端控制流破坏,因为内核后续会使用被破坏的返回延续、函数指针、调度表项或分支目标。对于已部署的 CUDA 二进制,安全边界是实际执行的 NVIDIA SASS(经过 PTX 降级、内联、ABI 决策、寄存器分配、溢出、预测和 SIMT 执行后),而源代码或 PTX 级别的策略无法捕获此边界。WarpGuard 在受保护站点实施强制:恢复消耗控制流状态的 SASS 指令或序列,提供足够二进制证据以推导策略,在释放前进行检查,并在违反时失败关闭。它向后边缘认证已检测返回的延续状态,每站点验证可恢复的前向目标,并报告固定边缘、不支持、配置文件排除、回退和无表面结果。在 77 个 CUDA 工件上,WarpGuard 分类了 51,621 个 SASS 控制流站点,包括 1,343 个返回和 154 个支持的前向目标集条目,并记录了 5220 万次动态检查。在代表性后向和前向边缘破坏攻击中,原生执行到达攻击者选择的行为,仅检测模式记录预期违规,而强制模式在释放无效受保护转移前失败关闭。公开代码证据表明,相同的 SASS 消费模式出现在真实 CUDA 系统中,包括运行时调度表、cuFFT 回调、生成的可调用表和上传的设备函数指针。WarpGuard 为 CUDA SASS 提供了可审计的受保护站点 CFI,并将动态检测强制与无回调 SASS 定时和补丁缓存可行性分离。

💡 推荐理由: 本工作填补了 GPU 二进制级别 CFI 的空白,直接针对实际执行的 SASS 代码,解决了现有 PTX/源码策略无法覆盖的安全边界,为部署 CUDA 应用程序的防御者提供了可审计的运行时防护手段。

🎯 建议动作: 研究跟进

排序因子: 有可用补丁/修复方案 (+3) | 影响边界/网络设备 (+5) | 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.6)
推荐 9.4
Conf: 50%
👥 作者: Sashidhar Jakkamsetti, Youngil Kim, Andrew Searles, Gene Tsudik

该论文聚焦于低端嵌入式设备(如IoT设备)的控制流完整性(CFI)保护问题。这类设备因成本限制极少具备安全机制,成为攻击者的目标。作者针对资源极度受限的微控制器提出了轻量级CFI方案。通过分析程序控制流图,在函数调用和返回点插入验证机制,确保控制流不被恶意篡改。实验基于常见低端MCU(如ARM Cortex-M系列)实现,评估了性能开销(平均<10%)、内存占用和功耗。结果表明,该方案能有效防御返回地址劫持和跳转定向攻击,且对实时性影响极小。主要贡献在于证明了在低端设备上实现CFI的可行性,并提供了开源实现供社区验证。

💡 推荐理由: 低端嵌入式设备是物联网安全链中最薄弱的环节,但现有CFI方案因资源需求过高无法应用。该研究为这些设备提供了可行的内存攻击防御手段,可显著提升IoT生态的整体安全性。

🎯 建议动作: 研究跟进

排序因子: 来自网络安全顶级会议 (+8) | Community 数据源 (+1) | LLM 评分加成 (+0.4)
👥 作者: Ciyan Ouyang, Peinan Li, Yubiao Huang, Dan Meng, Rui Hou

本文提出 Janus,一个基于编译器的安全框架,旨在缓解 ARM64 平台上的瞬态执行攻击(如 Spectre)和控制流劫持。Janus 利用 ARM 的硬件原语——指针认证(PA)和分支目标识别(BTI),通过修改指针认证修饰符(PA modifiers)来整合推测执行和/或控制流依赖,从而防止控制流推测攻击。它通过现有的控制流完整性机制同时保护控制流和推测执行。为了优化性能,Janus 采用修饰符融合(modifier fusion)技术合并不同防御层的操作,以及载体重用(carrier reuse)技术重用受保护变量的寄存器,从而降低开销,同时保持强大的安全保证。在 SPEC CPU2017 基准测试上,平均性能开销仅为 3.85%;实际应用(如 nginx、redis)的开销在 2.97% 到 7.80% 之间。Janus 有效提供了推测执行安全性,且性能和代码大小开销较低,是 ARM 系统的稳健解决方案。本文适合编译器开发者、系统安全研究人员以及 ARM 平台的安全架构师阅读。

💡 推荐理由: 瞬态执行攻击(如 Spectre)至今仍是现代处理器的严重威胁。Janus 通过编译器自动利用 ARM 硬件原语,提供了一种低开销、强安全的缓解方案,对 ARM 生态的防御实践具有重要参考价值。

🎯 建议动作: 研究跟进

排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
👥 作者: Katharina Ceesay-Seitz, Flavien Solt, Kaveh Razavi

该论文提出了一种名为μCFI(微架构控制流完整性)的形式化验证方法,旨在解决现有控制流完整性(CFI)机制在微架构层面的安全漏洞。传统的CFI仅在软件或ISA(指令集架构)层面保证控制流安全,但无法抵御利用微架构侧信道或瞬态执行攻击(如Spectre、Meltdown)的控制流劫持。作者通过形式化建模微架构状态(如分支预测器、缓存、乱序执行单元)与控制流之间的关系,定义了微架构层面的安全策略。μCFI基于模型检验技术,能够验证处理器设计是否满足该策略,从而确保即使在微架构优化(如预测执行)下,控制流也不会被恶意操纵。实验在RISC-V处理器核心上实现,验证了多个已知攻击变种(如Spectre v1、v2)的缓解效果,并发现了新的潜在攻击路径。该工作首次将形式化验证应用于微架构CFI,为安全处理器设计提供了理论保证。

💡 推荐理由: 当前硬件侧信道和瞬态执行攻击频发,纯软件CFI已不足以保证安全。μCFI填补了微架构层面形式化验证的空白,有助于设计从根本上免疫此类攻击的处理器,对芯片安全、云计算和机密计算场景意义重大。

🎯 建议动作: 研究跟进

排序因子: 来自网络安全顶级会议 (+8) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
👥 作者: Zhechang Zhang, Hengkai Ye, Song Liu, Hong Hu 0004

本文提出 SACK(Systematic Generation of Function Substitution Attacks Against Control-Flow Integrity),一种系统化生成函数替换攻击的方法,旨在绕过控制流完整性(CFI)保护机制。CFI 通过限制程序执行路径为预期合法路径来防御控制流劫持攻击,但近年研究表明攻击者仍可通过合法间接调用函数来绕过 CFI,例如通过替换函数指针或虚函数表。SACK 自动分析目标二进制程序,识别可被利用的合法间接调用点,并生成能够将控制流转移到攻击者选定函数的输入。该方法利用污点分析和符号执行技术,在 CFI 策略允许的范围内构造满足条件的函数替换 payload,从而实现对程序行为的恶意篡改。实验在多个真实世界程序(如 Web 服务器、文本编辑器等)上进行,证明了 SACK 能够有效生成绕过现有 CFI 实现的攻击,并揭示了当前 CFI 策略在细粒度上的不足。

💡 推荐理由: 揭示现有 CFI 实现的盲区,为防御方改进 CFI 策略提供攻击面视角,推动更精细的控制流防护设计。

🎯 建议动作: 研究跟进

排序因子: 来自网络安全顶级会议 (+8) | Community 数据源 (+1) | LLM 评分加成 (+0.5)