这种方法的目标绝对与完全结构化的需求工
Posted: Thu Jan 16, 2025 5:31 am
程非常相似。我希望最全面地涵盖安全问题,以便我交付的产品仅包含可接受的风险。主要的区别是我
a)以不同的方式实现目标
b)考虑风险维度。
方法 2:迭代方法
第二种方法的起点是初始威胁模型,在该模型中,自上而下地分析理想情况下不太详细的架构,而不要求完整性。结果是一张“安全地图”,其中标记了关键要素(风险评估)以及后续步骤的定义和决策。一个典型的例子是公共接口的识别以及输入验证或 http 安全等高级措施的推导。
然后,迭代的细化过程从此初始活动开始。这意味着最初发现的措施被定义为积压项目(如果不能接受风险)。第一次运行的积压项目通常是用非常笼统的术语制定的,任务是在第一个冲刺中对其进行完善并得出具体的实施措施。这与您可能熟悉的“安全是一个分形问题”这一说法非常吻合。分形是因为当你放大“图像”时,会出现新的细节,而这些细节又可以分为更多的细节。不幸的是,我已经不知道这句话是谁发表的。
相反,这也意味着必须不断进行新的分析,特别是如果设计发生任何变化。因此,安全成为需要持续关注的问题。就我个人而言,我总是会将此任务委托给项目中恰好有此任务的安全工程师(他不必全职参与该项目)。为了达到目标质量(或完整性),安全工程师自然会在后台使用上面提到的知识库。例如,这还包括与现有通用要求列表进行比较。
我的项目经历
前段时间我在一个项目中也做了同样的事情。需求的开发是 加拿大 whatsapp 数据 并行的,但该项目面临着时间压力。两次研讨会和第一次迭代结果报告后,客户的反馈是:“超级快、超级脏,但结果非常好”。
这并不意味着您可以“快速而肮脏”地实现安全性,但您可以在不要求完整性的情况下开始,并根据风险评估,快速、有针对性地介绍复杂的安全主题。很明显,这并不是故事的结局,但从一开始就关注安全问题,并在必要时用更好的信息重新确定其优先级,不是更好吗?
当然,这种相当设计和需求的引入应该在开发过程中尽早根据左移原则使用合适的工具进行补偿。在这里,避免在部署前不久出现大量开放的安全问题也很重要。尽早告知决策者上线时的状态和可能存在的风险不是比在发布质量关口亮起红灯更好吗?
结论
最后一个问题:快速进入安全讨论并随着时间的推移实现“完整性”更有意义,还是首先定义所有要求的完整列表更有意义?正如我们所看到的,我更喜欢迭代方法,它可以更快地集成安全方面,并使用风险评估来确定优先级。我认为,目标不是立即完成,而是尽早解决安全问题,以便逐步改进。使用合适的工具和持续监控可以最大限度地降低实施前的风险。
您想在 adesso 了解有关安全主题的更多信息并了解我们为公司提供哪些服务?然后看看我们的网站。
您可以在我们之前发布的博客文章中找到来自 adesso 世界的更多令人兴奋的主题。
同样有趣的是:
现代微服务架构中的应用程序安全
安全专业人员和脑外科医生悖论
敏捷世界中的应用程序安全
作者 丹尼尔·格尔德纳
Daniel Geldner 自 2022 年 5 月起一直担任 adesso 保险业务线能力中心客户参与顾问,在保险领域拥有多年经验。除了项目工作外,他还专门研究保险行业的营销自动化主题。
a)以不同的方式实现目标
b)考虑风险维度。
方法 2:迭代方法
第二种方法的起点是初始威胁模型,在该模型中,自上而下地分析理想情况下不太详细的架构,而不要求完整性。结果是一张“安全地图”,其中标记了关键要素(风险评估)以及后续步骤的定义和决策。一个典型的例子是公共接口的识别以及输入验证或 http 安全等高级措施的推导。
然后,迭代的细化过程从此初始活动开始。这意味着最初发现的措施被定义为积压项目(如果不能接受风险)。第一次运行的积压项目通常是用非常笼统的术语制定的,任务是在第一个冲刺中对其进行完善并得出具体的实施措施。这与您可能熟悉的“安全是一个分形问题”这一说法非常吻合。分形是因为当你放大“图像”时,会出现新的细节,而这些细节又可以分为更多的细节。不幸的是,我已经不知道这句话是谁发表的。
相反,这也意味着必须不断进行新的分析,特别是如果设计发生任何变化。因此,安全成为需要持续关注的问题。就我个人而言,我总是会将此任务委托给项目中恰好有此任务的安全工程师(他不必全职参与该项目)。为了达到目标质量(或完整性),安全工程师自然会在后台使用上面提到的知识库。例如,这还包括与现有通用要求列表进行比较。
我的项目经历
前段时间我在一个项目中也做了同样的事情。需求的开发是 加拿大 whatsapp 数据 并行的,但该项目面临着时间压力。两次研讨会和第一次迭代结果报告后,客户的反馈是:“超级快、超级脏,但结果非常好”。
这并不意味着您可以“快速而肮脏”地实现安全性,但您可以在不要求完整性的情况下开始,并根据风险评估,快速、有针对性地介绍复杂的安全主题。很明显,这并不是故事的结局,但从一开始就关注安全问题,并在必要时用更好的信息重新确定其优先级,不是更好吗?
当然,这种相当设计和需求的引入应该在开发过程中尽早根据左移原则使用合适的工具进行补偿。在这里,避免在部署前不久出现大量开放的安全问题也很重要。尽早告知决策者上线时的状态和可能存在的风险不是比在发布质量关口亮起红灯更好吗?
结论
最后一个问题:快速进入安全讨论并随着时间的推移实现“完整性”更有意义,还是首先定义所有要求的完整列表更有意义?正如我们所看到的,我更喜欢迭代方法,它可以更快地集成安全方面,并使用风险评估来确定优先级。我认为,目标不是立即完成,而是尽早解决安全问题,以便逐步改进。使用合适的工具和持续监控可以最大限度地降低实施前的风险。
您想在 adesso 了解有关安全主题的更多信息并了解我们为公司提供哪些服务?然后看看我们的网站。
您可以在我们之前发布的博客文章中找到来自 adesso 世界的更多令人兴奋的主题。
同样有趣的是:
现代微服务架构中的应用程序安全
安全专业人员和脑外科医生悖论
敏捷世界中的应用程序安全
作者 丹尼尔·格尔德纳
Daniel Geldner 自 2022 年 5 月起一直担任 adesso 保险业务线能力中心客户参与顾问,在保险领域拥有多年经验。除了项目工作外,他还专门研究保险行业的营销自动化主题。