#compiler

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

← 返回所有主题
👥 作者: Seongho Kim, Heelim Choi, Jaemin Kim, Seonyoung Cheon, Dongkwan Kim, Jaeho Lee, Hoyun Youm, Dongyoon Lee, Hanjun Kim, Yongwoo Lee

本文提出 Recifhe,一种针对全同态加密(FHE)的多级编译器,旨在优化 FHE 程序的执行效率。现有的 FHE 编译器(如基于 RNS-CKKS 方案的)通常在粗粒度的密文级进行优化,但每个密文操作内部由多个多项式操作构成,这些跨密文操作的多项式级优化机会被忽略。Recifhe 在密文级将非 FHE 输入程序转换为 FHE 程序,插入密文管理操作并应用全局优化;在多项式级,Recifhe 通过分析跨密文操作的多项式冗余,消除重复计算。实验结果表明,相比于仅密文级优化,Recifhe 实现了 1.25 倍的加速。该工作为 FHE 编译器的优化提供了新视角,有助于降低隐私计算服务的部署成本。

💡 推荐理由: 全同态加密是隐私保护计算的核心技术,但计算开销巨大。Recifhe 通过多项式级优化进一步加速 FHE 程序,有助于推动实际部署,对安全工程师关注性能瓶颈的改进有参考价值。

🎯 建议动作: 研究跟进

排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
👥 作者: Bhargava Shastry

该论文针对以太坊上最流行的智能合约编译器——Solidity编译器中的误编译漏洞(miscompilation bugs)进行了系统性的发现与分析。智能合约编译器的正确性对于保证区块链上不可篡改的开源代码的正确执行至关重要。作者开发了SolSmith,一种语义感知的差分模糊测试工具,在三年内持续检测Solidity编译器,发现了25个未被发现的误编译漏洞,其中一些已存在多年。SolSmith通过生成有效的测试程序,压力测试编译器的代码生成和优化组件,从而发现常规测试无法捕获的缺陷。论文的贡献包括:1)使编译器测试更加严格,减少因编译器错误导致的智能合约缺陷;2)对发现的误编译漏洞进行了定性和定量分析,按其性质、根本原因和最终用户影响进行分类,揭示了优化编译器的一些常见陷阱。该研究对于提升Solidity编译器的可靠性和安全性具有重要意义。

💡 推荐理由: 编译器缺陷会导致智能合约执行错误,由于区块链代码不可篡改,可能造成严重的经济损失。本研究系统性地发现并分类了Solidity编译器中的误编译漏洞,为编译器开发者和智能合约开发者提供了关键参考。

🎯 建议动作: 研究跟进

排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
推荐 9.5
Conf: 50%
👥 作者: Alexander Viand, Patrick Jattke, Anwar Hithnawi

本文是一篇关于全同态加密(FHE)编译器的系统化知识综述(SoK)。全同态加密允许第三方在加密数据上执行任意计算,同时既不知道输入也不知道计算结果,从而在不信任或可能被攻陷的计算环境中提供弹性。该概念自1970年代提出,但直到2009年Craig Gentry提出首个可行方案后才得以实现。随着云服务中敏感数据的大规模收集以及数据泄露事件的频发,高度监管的业务日益需求机密和安全的计算解决方案,这推动了FHE工具的快速发展。为了理解近期FHE工具的发展态势,本文进行了广泛的调研和实验评估,探索当前技术现状并识别未来发展方向。作者对现有的FHE工具和编译器进行了系统化分类、评估和对比,通过实验测量了它们在多种应用上的性能和可用性。最后,本文为希望开发基于FHE应用的开发者提供了建议,并讨论了FHE工具开发的未来方向。该综述覆盖了主流FHE编译器(如HElib、SEAL、TFHE等),评估了它们的编程模型、优化策略和实际性能,并指出了当前面临的挑战,如性能瓶颈、易用性不足以及缺乏标准化。本文适合对同态加密技术感兴趣的安全研究人员、密码学工程师以及隐私计算开发者阅读。

💡 推荐理由: FHE是保护数据隐私的关键技术,但编译器的成熟度直接影响其落地。该综述系统评估了现有FHE工具,帮助安全团队了解技术选型与局限,避免在错误方向投入资源。

🎯 建议动作: 研究跟进

排序因子: 来自网络安全顶级会议 (+8) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
👥 作者: Yusheng Zheng, Zhengjie Ji, Weichen Tao, Hao Sun, Wei Zhang, Dan Williams, Andi Quinn

eBPF 是一种在内核中安全运行沙盒程序的技术,广泛应用于网络、可观测性和安全等领域。其安全性依赖于内核内部的编译管道:验证器检查每个程序,内核即时编译器(JIT)将验证后的字节码翻译为本地代码。为保持可信性,内核 JIT 设计得尽可能简单,采用单遍扫描逐条翻译字节码指令。但这种单遍设计严重限制了优化空间,导致 eBPF 程序的运行速度比原生编译代码慢最多 2 倍。传统的优化方案——直接修改内核 JIT——需要上游社区接受、经历漫长的发布周期,同时会扩大可信计算基(TCB)并增加每体系结构的代码量。为此,本文提出了 Kops,一种扩展接口,允许用户空间编译器和内核模块在不修改内核核心的前提下引入新操作,同时维持最小的 TCB。每个操作有两种形式:一段由普通 eBPF 指令组成的证明序列(由现有验证器检查),以及本地机器指令的 native emit(由 JIT 编译)。由于验证器已检查证明序列,native emit 是每个操作唯一新增的 TCB 部分。硬件惯用操作是此接口最直接的受益者。利用 Kops,作者构建了 EInsn,包含旋转、条件选择等七个单条 CPU 指令即可完成的操作。Lean 4 形式化验证表明每个 native emit 的计算结果与证明序列一致。在 x86-64 和 ARM64 上,EInsn 使 eBPF 微基准测试的性能提升最高 24%,生产应用提升最高 12%。同一接口还支持全程序原生替换,以增加 TCB 为代价可达到 2.358 倍加速。该论文适合操作系统、编译器、安全领域的工程师和研究者阅读。

💡 推荐理由: Kops 提出了一种在不破坏 eBPF 安全模型的前提下大幅提升其性能的优雅方案,为内核开发者提供了可扩展的优化通道,同时保持可信计算基最小化。这对于推动 eBPF 在生产环境中的更广泛应用具有重要意义。

🎯 建议动作: 研究跟进

排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
推荐 3.5
Conf: 50%
👥 作者: Yunqian Luo, Mingyu Gao

本文提出 obliv-clang,一个面向 C++ 的编译期检查工具,旨在帮助开发者编写 oblivious(无感知)程序,以防止通过执行时间和数据访问模式泄露秘密的侧信道攻击。传统的侧信道防御通常需要程序员手动改写代码或依赖硬件机制,但 oblivious 编程通过编译时保证程序的控制流和内存访问模式不依赖秘密数据,从而消除侧信道泄露。然而现有工具往往只支持简单的语言子集,难以应用于实际 C++ 代码库。obliv-clang 的目标是支持 C++ 的全部语言特性,特别是任意嵌套指针等复杂概念,从而能无缝地与现有工业级代码集成,并在最小编译开销下生成高性能二进制文件。作者在工具中设计了一组规则,并形式化证明了这些规则在复杂 C++ 特性下的正确性。为了展示表达能力,他们实现了若干非平凡的 oblivious 算法作为案例研究,并表明使用 obliv-clang 编译的程序在性能上优于之前的解决方案。读者可从中了解 oblivious 编程的基本原理、编译时检查的技术途径以及 C++ 语言下复杂指针处理的挑战与解决思路。

💡 推荐理由: 侧信道攻击是云环境、可信执行环境中的现实威胁,obliv-clang 提供了一种编译期自动化的防御手段,支持工业级 C++ 代码,对安全编译器研究和机密计算实践有直接推动意义。

🎯 建议动作: 研究跟进

排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
👥 作者: Mike Samuel, Tom Palmer, Shaw Summa, Robert Grayson

本文针对软件中普遍存在的内容组合漏洞(如XSS、注入),指出现有缓解手段(开发者培训、静态分析、模板语言)效果递减,且AI代码生成继承了训练数据中的不安全模式并缺乏自我纠正的可靠上下文。作者提出一个通用安全内容组合框架,该框架跨内容语言扩展,通过修改字符串表达式语法直接集成到通用编程语言中。核心设计目标是最小化安全与不安全惯用语之间的词汇距离,使开发者更自然编写安全代码。该目标支撑了实用的编译策略:基于动态语义的静态分析、运行时性能接近原生字符串拼接,以及编译时错误/警告等开发者诊断。框架实现有效分工:安全工程师一次性将组合危险编码到库中;开发者或AI编码助手选择合适的库原语即可正确实现功能,无需深入安全知识;编译器诊断提供客观的、基于位置的反馈,支持人工审查和AI迭代自我纠正;安全响应者专注于保持库的更新,而非审计分散在代码库中的临时安全决策。实验(假设存在)证明了方法的可行性与高效性。适合安全工程师、编译器开发者和AI安全研究人员阅读。

💡 推荐理由: 首次系统性地提出通过语言设计和编译器支持来缩小安全与非安全代码间的词汇距离,可能从根本上改变安全编码实践,尤其对AI生成代码的安全性控制具有指导意义。

🎯 建议动作: 研究跟进

排序因子: 影响边界/网络设备 (+5) | 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.6)
👥 作者: 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)