2.2 软件开发生命周期评估

软件开发生命周期(Software Development Life Cycle,SDL)评估更侧重于了解供应商的流程。虽然这个框架可能类似于传统的供应商风险评估,但通常由合格的应用安全顾问进行的集中评估更为细致。一般来说,这些评估与记录在案的流程保持一致,并且可能参考定义明确的SDL,例如微软SDL。这使得顾问能够将供应商的流程与最佳实践进行对比,以确定推荐的活动是否已定义和理解,最重要的是,验证这些活动是否以一致的方式实施。

对于大型产品供应商而言,流程不一致的情况尤其常见。例如,一个大型原始设备制造商(Original Equipment Manufacturer,OEM)可能为其每条产品线创建不同的法律实体,这导致10-20个不同的组织,每个实体都有不同的流程。由于法律结构的不同,安全条款的合同要求也存在不一致。如果你评估其中一个实体的SDL,很容易将该评估结果应用于你从他们那里购买的每一个产品。但这样做是不准确的,可能会导致错误的假设和有害的风险决策。

这就是使用诸如软件工件供应链级别(Supply Chain Levels for Software Artifacts,SLSA)等框架的价值所在。我们将在本书后面详细描述SLSA。SLSA以类似于SDL的视角看待威胁环境,识别出可能的薄弱点——即必须验证的外部信任点——因为这些点有可能对你的SDL产生负面影响。