各位开发者、安全研究员们,还在为代码中的潜在漏洞而烦恼吗?是不是希望能有一部“武功秘籍”,助你写出更安全、更高质量的代码?
今天,中国科学院信息工程研究所陈恺研究员课题组重磅推出——漏洞规则库!一个致力于提供软件开发过程中所需遵循规则的宝典!
什么是漏洞规则库?
简单来说,漏洞规则库是主创团队通过程序分析技术和强大的大语言模型,从海量软件代码、文档、补丁中精心提炼和总结出的一系列代码安全规则。这些研究成果已在网络安全顶级会议(如 NDSS, USENIX Security)上发表,并且基于这些规则,我们已在流行的开源软件中检测到超过上千个缺陷!
主创团队的愿景是提供全面的代码规则依据,帮助提高未来代码的质量和安全性,让开发者写出高质量代码,让研究人员高效检查代码、识别错误。
它能为你做什么?
无论你是开发者还是安全研究员,这个规则库都能为你赋能:
对于开发者:
- 在编码过程中,参照规则提升代码质量。
- 增强安全意识,从源头减少安全漏洞的产生。
对于研究人员:
- 为漏洞检测提供明确、可靠的依据。
- 为软件代码的正确生成提供指导。
核心亮点一览
广泛的规则覆盖: 目前已覆盖 16+ 个广泛使用的开源软件系统,包括 Linux Kernel, OpenSSL, FFmpeg 等流行项目。
海量精选规则: 包含总计 超过3000条 经过人工验证的漏洞规则。
多样的规则类型: 覆盖常见的 API使用规则,如 API 资源释放、参数检查、返回值检查等。
详尽的规则信息: 每条规则都包含: 清晰的自然语言描述、违反规则可能造成的漏洞类型、用于检测对应漏洞的 CodeQL 查询语句等信息。
如何轻松使用?
漏洞规则库的网站界面友好,助你快速定位所需规则:
按项目浏览: 直接选择你感兴趣的项目(如 Linux Kernel, FFmpeg),查看其对应的所有规则。
2. 按类别查看: 根据规则类型进行筛选。
3. 关键词搜索: 直接输入API名称或关键词(如 "SSL_CTX_set_ssl_version"),精准定位相关规则信息。
点击规则名称,即可查看包含API概述、详细规则描述、潜在危害(CWE)、以及实用CodeQL检测代码的完整信息。
实战演练:用规则代码发现真实世界漏洞!
光说不练假把式!下面用一个真实案例,带你感受漏洞规则库的作用。
在这里我们的目标是:使用规则库中提供的规则对应的 CodeQL 语句,检测知名开源软件 SoftEtherVPN 中是否存在一个潜在的空指针解引用问题。
使用规则: ssl_ctx_set_ssl_version 规则 (来自 OpenSSL 库)。
规则核心: 其第一个参数必须进行非空检查 。若违反,可能导致空指针解引用漏洞 (CWE-476) 。
检测三步走
获取规则代码: 从规则库网站上,复制 ssl_ctx_set_ssl_version 规则对应的 "规则代码" (即 CodeQL 查询语句)。
创建代码数据库: 使用 CodeQL 的命令行工具,为 SoftEtherVPN 的源码创建一个可供分析的数据库。
执行分析: 运行 CodeQL 查询,在数据库中自动寻找违反规则的代码模式。
发现并分析漏洞!
分析结果立竿见影!CodeQL 成功地在 /src/Mayaqua/Network.c 文件的第 15875 和 15879 行,定位到了对 SSL_CTX_set_ssl_version 的调用可能导致空指针解引用问题。
从上图代码中可以看到,SSL_CTX_set_ssl_version 函数的第一个参数 ctx 是由 SSL_CTX_new 函数创建的。问题在于,代码在调用 SSL_CTX_set_ssl_version 之前,并没有检查 ctx 是否可能为 NULL。一旦 SSL_CTX_new 因某种原因执行失败并返回 NULL,后续调用就会直接导致程序因空指针解引用而崩溃。
该漏洞上报后,已得到 SoftEtherVPN 官方确认并发布补丁修复 。这展示了我们的漏洞规则库在发现真实世界软件安全问题上的实用价值。
开始使用,守护你的代码安全!
准备好提升你的代码质量和安全性了吗? 进入下方链接(or点击阅读原文),即刻体验“漏洞规则库”!
https://kaichen.org/vulrule/zh/
欢迎贡献,共筑更安全的软件生态!
主创团队是来自中国科学院信息工程研究所陈恺研究员课题组,在软件安全、漏洞检测等方向有着丰富的经验。
热忱欢迎大家以各种形式的贡献,包括但不限于:
提交新的漏洞规则
改进现有规则的描述和示例
报告错误和提出改进建议
有任何问题或建议?欢迎通过以下方式联系我们:
GitHub Issues: 提交问题
[https://github.com/kaichenorg/vulrule/issues]
让我们一起,为构建更安全的软件生态系统做出贡献!
点击👇阅读原文进入漏洞规则库
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...