True Code是一个安全代码开发和自动漏洞识别的解决方案,适用于软件开发生命周期(SDLC)和DevSecOps流程。
True Code使用LibFuzzer作为模糊工具来模糊目标程序或软件。
True Code - Automated embedded Software Security checks
设备上运行的软件规模不断增长,这使得手动测试变得不切实际。潜在黑客的攻击面正在变得更大(因为代码库更大),因此未来利用的可能性增加了,因此开发人员需要满足更多测试的需求。与此同时,通用代码检查工具通常不能提供有意义的数据。有时很难从较小的编码错误中识别出严重的问题。同时,研究表明,在生产过程中解决漏洞可能比在设计阶段识别它的成本高出100倍以上。为了解决这些挑战,提供可行的安全数据,并专门为嵌入式软件突出显示严重的安全漏洞,我们开发了 Riscure True Code,这是一款用于自动化软件开发生命周期(SDLC)和DevSecOps过程中的漏洞识别的软件工具。
1、静态代码分析
我们的静态分析模块是一种白盒测试 方法,提供所有逻辑静态检查 ,帮助您有效地向左迁移。特别是对于嵌入式软件,我们扩展了静态检查列表,包括Riscure Lab在过去20年中开发的所有检查:故障注入敏感检查专为软件与硬件相遇的情况而设计。这些检查可以以函数级别的粒度执行,与用C编写的代码完全兼容。
2、动态代码分析
动态分析是我们用于提供可操作反馈以及准确指出C代码中存在安全漏洞位置的测试方法。我们使用两种方法在运行时检查漏洞:
故障注入模拟
该方法在目标体系结构(Risc-V、Arm或专用RTL)中模拟故障注入,发现不希望出现的行为。
模糊测试
该方法通过耗尽函数的潜在输入来增加代码的健壮性,可能导致安全漏洞和崩溃。因此,它在运行时发现了在易受攻击的接口中的意外行为。
3、合作
我们在整个开发过程中促进了安全评估人员与开发团队之间的自然协作。
协作功能帮助您的团队轻松跟踪、组织和及时解决这些发现。其结果是减少了开发时间和认证成本。
4、缓解辅助
缓解安全风险应该成为任何开发过程的一部分。对于嵌入式软件开发过程,遵守标准尤为重要。
我们在源代码的手动审查中协助开发人员,使用不同的缓解技术,帮助他们识别最关键的代码行:
• 控制流
• 数据流
• 攻击路径识别
通过这种方式,开发人员可以直接在代码上获得反馈,并能够迅速开始缓解操作。
5、DevSecOps
在开发阶段发现安全漏洞并立即解决,相比于在后期进行相同操作,成本可能降低多达100倍。我们通过与软件开发生命周期(SDLC)的紧密集成,将这种向左移动的承诺变得更加切实可行,立即与所有团队成员共享发现的漏洞。