漏洞收集平台:
CVE,NVD(美国国家通用漏洞数据库)和CNVD,NNVD;
代码扫描工具:
Cybellum:技术指标是一种基于漏洞扫描和风险评估的技术,可以检测二进制和镜像;
(其他可采用coverity , klocwork,blackduck,nessus,cppcheck等)
静态代码分析工具(Static Code Analysis Tools):
SonarQube:SonarQube是一个开源的静态代码分析平台,支持多种编程语言,可以检测代码中的安全漏洞、代码质量问题和技术债务等;
Fortify:Fortify是一种商业静态代码分析工具,可以帮助发现和修复多种安全漏洞,如跨站脚本攻击(XSS)、SQL注入和代码注入等;
Coverity:Coverity是一种商业静态代码分析工具,支持多种编程语言。它可以发现和修复代码中的安全漏洞和其他质量问题;
PMD:PMD是一个开源的静态代码分析工具,支持多种编程语言。它可以检测代码中的常见问题,如未使用的变量、未使用的方法和代码重复等;
FindBugs:FindBugs是一个开源的静态代码分析工具,主要用于Java代码。它可以发现和修复代码中的潜在错误和问题;
ESLint:ESLint是一个开源的静态代码分析工具,主要用于JavaScript代码。它可以帮助发现和修复JavaScript代码中的问题,如语法错误、潜在的bug和代码风格不一致等。
动态应用程序安全测试工具(Dynamic Application Security Testing Tools):
OWASP ZAP:OWASP ZAP是一个开源的动态应用程序安全测试工具,可以用于发现和利用常见的Web应用程序漏洞,如跨站脚本攻击、SQL注入和路径遍历等。
Burp Suite:Burp Suite是一种流行的商业动态应用程序安全测试工具,提供了代理、扫描和攻击功能,可用于发现Web应用程序的安全漏洞。
综合性安全工具:
Veracode:Veracode是一种综合性的云安全平台,提供静态代码分析、动态应用程序安全测试和软件组件分析等功能,帮助发现和修复多种安全漏洞。
Checkmarx:Checkmarx是一种商业静态代码分析工具,支持多种编程语言。它可以发现和修复代码中的安全漏洞,如跨站脚本攻击(XSS)、SQL注入和代码注入等。
其他如cppcheck,klocwork,nessus,blackduck也可使用。
编程规范:
MISRA:
用于MISRA编码指南的开箱即用的Helix QAC扩展
- 自动跟踪、报告和演示MISRA C合规性
- 持续检查源代码是否符合MISRA C编码准则
- 扩展到数百万行代码
- 增加代码的可移植性和可重用性
- 给开发人员上下文反馈,帮助改正错误并从中学习
- 减少由手工代码评审和缓慢分析工具和方法造成的瓶颈
- 在不执行程序的情况下分析源代码
AUTOSAR:
- Helix QAC++的AUTOSAR模块扩展了Helix QAC++的应用,开箱即用AUTOSAR编码指南。
- 突出编码规则的违背
- 报告未指定、未定义或编译器依赖的行为
- 清晰标记可能的运行时问题
- 覆盖所有可能的执行路径
CERT C:
通过将应用程序安全性措施融入到设计和编码过程中,实现一个规范的、可重复的和安全的开发过程。
- 插入我们的自动化静态分析工具
- 消除不安全的编码实践
- 消除未定义的行为
- 避免被经常利用的漏洞
- 改进整体系统质量
版本修复决策参考点:
选择适当的版本来解决已知的CVE漏洞是一个重要的安全实践。以下是一些指导原则:
- 漏洞的严重程度:首先,评估CVE漏洞的严重程度。漏洞的CVSS评分、公开的利用方式以及可能导致的潜在影响都是评估漏洞严重性的指标。如果漏洞被评估为高风险或严重漏洞,优先考虑升级到修复该漏洞的版本。
- 受影响的软件版本:查看CVE漏洞报告中提到的受影响软件版本范围。确定您当前使用的软件版本是否在受影响范围内。如果是,考虑升级到已修复漏洞的最新版本。
- 修复补丁的可行性:检查CVE漏洞报告中是否提供了修复补丁或建议的解决方案。如果有可行的修复措施,尽可能及时应用这些补丁或解决方案。
- 兼容性和稳定性:在选择升级版本时,考虑与您的应用程序和环境的兼容性和稳定性。有时,新版本可能引入了新的功能或更改了现有的行为,可能需要进行额外的测试和验证,以确保应用程序在升级后正常运行。
- 支持和维护:考虑选择受支持和维护的版本。通常,较新的版本会得到更好的支持和维护,包括及时的安全更新和漏洞修复。选择受支持的版本可以确保您能够获得及时的安全更新和技术支持。