在快节奏的自动化软件交付 (CI/CD) 世界中,保障软件更新的完整性和可靠性至关重要。CrowdStrike 最近发生的事件涉及关键的 Windows 传感器更新,凸显了全面部署前测试的必要性。
生的事件涉及关键的 Windows 传感器更新,凸显了全面部署前测试的必要性。此事件导致更新后出现重大问题,这对软件开发人员来说是一个警示:自动化测试不仅必须严格评估网络安全性,还必须严格评估可靠性和安全性。CrowdStrike 的协议始于一套自动化测试。CrowdStrike指出:
“传感器发布过程始于自动化测试,包括合并到我们的代码库之前和之后。这包括单元测试、集成测试、性能测试和压力测试。”
有趣的是,他们的测试方案中没有提到静态代码分析。鉴于安全关键行业长期以来一直提倡使用静态分析来预防问题,这种遗漏令人震惊。事实证明,Parasoft 等公司的静态分析工具在增强软件稳健性方面非常有效
左移测试中的静态分析早期检测
自动化软件部署依赖于在周期早期进行的全面软件测试(也称为左移测试),以便在投入生产之前检测出潜在的缺陷和漏洞。早期测试必须优先考虑代码安全性和可靠性以及安全性,以避免发生损害信任并造成严重破坏的事件。
静态分析在左移测试中起着至关重要的作用,可以在开发过程的早期识别和缓解问题。与需要执行代码的动态测试不同,静态分析无需运行程序即可检查源代码。这允许在软件生命周期的早期尽早发现潜在错误、安全漏洞和编码标准违规行为。
就 CrowdStrike Falcon 更新问题而言,通过静态分析工具遵守MISRA、CERT和CWE等编码标准将有助于检测和缓解这种逻辑缺陷。
- MISRA 为安全可靠的软件(特别是嵌入式系统)提供了指南。
- CERT 专注于安全编码实践以防止安全漏洞。
- CWE 提供了一份全面的软件弱点列表。
这些标准都包含编码指南,用于识别 NULL 指针的使用,这是导致此故障的根本原因。Parasoft为这些标准提供了深入的覆盖,并且部署了一套专注于安全性、安全性和可靠性的强大检查器,可以尽早发现这些类型的错误。
这里仅列出了来自三个不同标准的几个静态分析编码指南,可用于查找这些类型的软件缺陷。
MISRA C++ 2023 | 编码指南 |
---|---|
MISRA C++2023:7.11.1 | nullptr 应为空指针常量的唯一形式 |
MISRA C++2023:8.7.1 | 指针运算不得形成无效指针 |
MISRA C++2023:11.6.2 | 在设置对象值之前,不得读取该对象的值 |
连续水气管道 | 编码指南 |
---|---|
中量表:395 | 使用 NULLPointer 异常捕获来检测 NULL 指针取消引用 |
中量表:476 | 空指针取消引用 |
中量表:626 | NULL 字节交互错误 |
中量表:690 | 未经检查的返回值为 NULL 指针取消引用 |
认证机构 | 编码指南 |
---|---|
证书: EXP34-C | 不要取消引用空指针 |
证书编号: ARR30-C | 不要形成或使用越界的指针或数组下标 |
证书编号: ARR30-C | 不访问已释放的内存 |
通过将这些标准整合到开发过程中,CrowdStrike 可以在产品投入生产之前发现编码错误、安全漏洞和合规性问题。这将确保更新的可靠性、安全性和符合最佳实践,从而防止约 85 亿台设备遭遇中断和潜在的安全风险。
Parasoft 的静态分析如何提供帮助
Parasoft 的静态分析工具旨在捕获可能导致软件故障的各种问题。将这些工具集成到持续集成和交付 (CI/CD) 管道中,开发人员可以自动扫描其代码以查找每次更改的潜在问题。这种主动方法可以识别:
- 安全漏洞。静态分析可以检测到常见的安全漏洞,例如缓冲区溢出和 SQL 注入漏洞,防止它们被利用。
- 代码质量问题。确保代码符合最佳实践和编码标准对于可维护性和减少技术债务至关重要。Parasoft 的工具可帮助自动执行这些标准。
- 逻辑错误。细微的逻辑错误很难通过人工审核发现。自动化工具可以通过分析代码的结构和流程来识别这些问题。
- 遵守安全标准。对于汽车和医疗保健等行业来说,遵守安全标准至关重要。Parasoft 的静态分析工具支持遵守 MISRA 和 CERT 等标准,确保代码符合监管要求。
主动测试的好处
实施 Parasoft 的自动化测试解决方案可以显著降低 CrowdStrike Falcon 更新问题等事件的风险。主要优势包括:
- 尽早发现问题。在开发过程的早期发现问题可以让团队在问题升级为代价高昂的问题之前解决它们。
- 提高效率。自动化测试减少了大量人工审核的需要,使开发人员能够专注于更重要的任务。
- 增强安全性。随着网络威胁的增加,确保软件安全比以往任何时候都更加重要。静态分析有助于识别和缓解潜在的漏洞。
- 提高合规性。对于受监管行业的公司,自动化测试有助于确保其软件符合所有必要的合规性标准。
结论
CrowdStrike Falcon 更新事件凸显了在软件开发中进行全面测试的重要性。利用Parasoft 的静态分析工具等自动化测试解决方案可以显著降低软件更新中出现问题的风险。这不仅可以保护公司的声誉,还可以确保用户获得更流畅的体验。在当今竞争激烈且安全意识强的市场中,投资于强大的测试解决方案不仅是最佳实践,而且是必需的。