基于SAT的C程序缓冲区溢出漏洞精确检测与原型工具
需积分: 18 184 浏览量
更新于2024-09-07
收藏 367KB PDF 举报
本文探讨了一种创新的基于SAT(布尔可满足性)的C程序缓冲区溢出漏洞检测技术。作者陈石坤、李舟军、黄永刚和邢建英来自国防科技大学计算机学院、北京航空航天大学计算机学院以及中国信息安全测评中心,他们共同提出了这种方法来解决C语言编程中常见的安全问题。缓冲区溢出,由于其潜在的严重安全性风险,如允许恶意代码执行,一直是软件安全研究的重要课题。
该检测方法的核心在于,首先通过源代码变换技术在程序源码中添加特定的缓冲区属性刻画语句,这些语句用于描述缓冲区的边界条件。接着,通过构造布尔表达式(布尔可满足性问题),这些语句被转化为断言,用于捕捉缓冲区溢出的逻辑状态。利用现代的SAT工具,这些断言会被系统性地检查,如果存在不符合预期的布尔赋值,即表示可能存在缓冲区溢出漏洞。
通过实施这种方法,研究者开发了一个原型工具,它能接收C源代码作为输入,自动检测其中的缓冲区溢出隐患,实现了无侵入式的静态分析。在对1164个公开基准程序的测试中,这个工具表现出很高的准确度,准确地定位出溢出漏洞,而且没有出现误报,仅有约2.08%的漏报率。这表明该技术在实际应用中具有较高的实用性和有效性。
与传统的动态检测方法相比,静态检测的优势在于无需在运行时增加额外的开销,且能在软件发布前就发现并修复漏洞,有助于提升软件的质量和安全性。此外,SAT技术的应用展示了将复杂的问题转换为符号逻辑求解的潜力,对于自动化和大规模软件安全审计具有重要意义。
总结来说,这篇论文提出了一种基于布尔可满足性理论的C程序缓冲区溢出检测方法,通过源代码分析和逻辑推理,有效地识别并预防了这种常见的安全威胁,为软件开发过程中的安全审查提供了有力支持。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-09-07 上传
2019-07-22 上传
2019-07-22 上传
2019-07-22 上传
2019-09-12 上传
2019-07-22 上传
weixin_39840924
- 粉丝: 495
- 资源: 1万+
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍