#assembly

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

← 返回所有主题
👥 作者: Halil Dursunoglu, Kaan Sulkalar

该论文针对一个在防御实践中长期存在的痛点:当源码不可得时(恶意软件分析、固件审计、嵌入式设备逆向等场景),如何对已编译的二进制程序进行漏洞检测。作者指出,现有方法大多依赖语法层面的规律性特征,或依赖由源码生成的较高级中间表示,这类特征对编译器版本、优化选项和编译配置的变化非常敏感,一旦目标只有汇编代码,方法的迁移性与可用性都会显著下降。 为此,作者提出 SEMA-GUARD 框架,核心思路是把语义分析与图神经网络(GNN)结合用于汇编级漏洞识别。其关键改进在于控制流图(CFG)的节点/边表示:传统基于图的二进制漏洞检测通常只保留控制流跳转等结构信息,而 SEMA-GUARD 在较低抽象层级上注入了程序执行相关的语义信息,具体包括栈操作(stack manipulations)、内存访问模式(memory accesses)以及数据流(data flow)关系。这样,图模型不仅知道“代码怎么跳转”,还能感知“数据如何被搬运与加工、栈帧如何被操作”,从而把容易受编译器变化影响的表层语法特征替换为更贴近程序语义行为的表示。 评测方面,作者基于 Juliet Test Suite 构建了一个数据集:先把每段源码编译为汇编语言,再切分成函数级别的代码块(function-level chunks),作为模型输入。论文称该方法仅依赖统计和结构信息(即不需要人工设计的漏洞模式或专家规则),在实验中达到 85.1% 的准确率和 0.801 的 F1 分数。作者据此认为,将语义信息融入基于图的模型,是提升编译后代码漏洞检测效果的一条可行路径。 需要说明的是,摘要只给出了整体指标,未披露模型的具体网络结构、节点/边特征工程细节、正负样本比例、是否按编译器/优化级别做交叉验证,也未说明对真实固件或恶意样本的泛化表现,因此其工程可用性仍需阅读全文与复现实验来确认。适合二进制分析、固件安全、恶意代码检测方向的研究者与具备二进制分析能力的 SOC/安全工程团队参考。

💡 推荐理由: 大量真实攻击面(固件、IoT、闭源商业软件、恶意样本)只有二进制没有源码,而现有二进制漏洞检测对编译器与优化选项高度敏感。该工作把栈操作、内存访问与数据流语义注入 CFG 并用 GNN 建模,代表了无需源码的语义级检测思路,对构建二进制/固件扫描能力有参考价值。

🎯 建议动作: 研究跟进

排序因子: 来自 arXiv 其他板块 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.5)
👥 作者: Hengkai Ye, Hong Hu 0004

该论文深入研究了Linux系统中可执行栈问题的根源。尽管写入-异或-执行(WX)策略已被广泛应用以阻止可写且可执行的内存区域,但许多现代应用程序仍意外地重新引入了可执行栈。作者通过两个层面调查了这一现象的幕后原因:首先,评估了11个程序加固工具(作为内联引用监视器实现),发现所有工具在“加固”后的应用程序中均引入了可执行栈,原因是忽视了在汇编代码中添加.note.GNU-stack节;其次,分析了编译工具链、内核和加载器的源码,揭示了正确执行WX需要多组件紧密协作,形成一个复杂的信任与依赖链。研究指出,即便是经验丰富的安全开发者也容易遗漏这一看似微小但关键的节,从而恢复栈的可执行性。论文进一步讨论了攻击者可能利用这些可执行栈进行代码注入攻击的场景,并给出了修复建议,包括在编写汇编代码时必须手动包含.note.GNU-stack节,以及加强开发工具与编译器的检查机制。

💡 推荐理由: 揭示了Linux安全加固中的一个常见但易被忽略的缺陷,说明即使是最佳实践的开发工具也可能引入可执行栈风险,对安全开发者和系统管理员有重要警示意义。

🎯 建议动作: 研究跟进

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