#undefined-behavior

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

← 返回所有主题
👥 作者: Changming Liu, Yaohui Chen 0001, Long Lu

该论文提出了一种针对 Linux 内核的静态未定义行为(UB)检测器 KUBO,旨在同时实现高精度和全内核可扩展性。未定义行为通常源于 C/C++ 等底层语言中的编程错误,内核与硬件紧密交互,UB 可能被非特权用户态程序触发,导致严重的安全与可靠性问题。已有内核 UB 检测方法在精度与可扩展性之间存在权衡,往往产生大量误报,影响实用性。KUBO 聚焦于可由用户输入触发的关键 UB,通过验证 UB 触发路径及条件是否可满足来保证高精度;采用高效的跨过程分析,按需沿调用链向后增量遍历,从而扩展到整个内核(包括驱动)。作者在多个版本的完整 Linux 内核上评估了 KUBO,发现 23 个此前未知的关键 UB,误报率仅 27.5%,显著低于现有最先进内核 UB 检测器的 91%。此外,KUBO 生成的错误报告易于分类。该工作为内核安全分析提供了高精度、可扩展的静态分析新方法,适合内核安全研究人员、漏洞挖掘工具开发者以及系统安全工程师阅读。

💡 推荐理由: 内核未定义行为是提权攻击的重要根源。KUBO 显著降低误报率并具备全内核分析能力,可帮助蓝队更可靠地发现潜在可利用漏洞,提升内核安全审计效率。

🎯 建议动作: 研究跟进

排序因子: 来自网络安全顶级会议 (+8) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
👥 作者: Jukka Ruohonen, Krzysztof Sierszecki

本文通过实证实验评估了C和C++程序中未定义行为(UB)在典型Linux桌面使用中的实际发生情况。未定义行为是C/C++语言中特有的概念,指程序使用了语言标准未作任何要求的错误构造(如整数溢出)。研究者利用编译器内置的未定义行为消毒剂(UBSan)在运行Debian Linux的桌面环境中进行了系统实验。实验包含59个简单的桌面使用任务(如登录、打开文件、浏览网页等),覆盖了32个用C/C++编写的程序和库。结果共生成近11,000个独特的未定义行为警告,其中绝大部分与Mesa图形库相关,并通过图形用户界面交互触发。仅仅登录GNOME桌面环境就产生了超过500个独特警告。在所有警告中,虚表指针相关的未定义行为占绝大多数,且关联的堆栈跟踪通常较长。此外,实验还观察到不同程序和库之间的UB分布差异,以及某些UB类型(如浮点运算、空指针解引用)的相对频率。本文的贡献在于为C/C++未定义行为的实证文献提供了真实世界桌面使用场景下的量化数据,突显了UB在实际软件中普遍存在的现象,对编译器设计、程序分析和安全加固具有参考价值。

💡 推荐理由: 本文通过真实桌面使用实验揭示了C/C++未定义行为在常用软件中普遍存在,提醒开发者忽视UB可能导致不可预测的安全漏洞,并推动社区重视静态/动态分析工具的应用。

🎯 建议动作: 建议编译器和安全团队关注UB检测工具(如UBSan)的集成,并在CI流程中启用以尽早发现潜在问题。

排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.4)