当前位置: 首页 > 科技观察

安全生命周期不是开发人员的生命周期

时间:2023-03-15 10:38:55 科技观察

应用程序安全公司EnsoSecurity的首席架构师和联合创始人ChenGour-Arie发现创业精神的重要组成部分是反思个人发展以及行业的演变。2008年,PCI-DSS成为以色列公司不可或缺的业务要素。当时,他参与了很多最早的认证流程,见证了很多公司的合规努力。Chen的主要职责涉及与应用程序相关的PCI部分,例如渗透测试。一天下午,坐在以色列最大的医疗保健提供者之一的办公室里,Chen回忆起回顾一长串看似永无止境的问题,这些问题非但没有解决,反而让他的团队更加困惑。当我最终离开办公室时,留给我的问题多于答案,也没有任何见解或有用的信息。通过这次经历,小陈更加明白了一件事:安全标准规定的东西,对企业来说是行不通的。不仅在2008年,即使在今天,它们仍然不切实际。例如,PCI-DSS标准要求全面收集数据并对范围内的资产进行多学科评估。业界花了数年时间才找到符合PCI-DSS标准的合适策略,即隔离PCI环境。软件开发安全生命周期(SSDLC)几乎同时成为业界的流行语并非巧合。将安全集成到每个开发阶段的前提是确保安全团队从一开始就参与进来,以最大限度地减少错误并保护开发过程。由于云迁移的增加和移动应用的广泛使用,SSDLC成为越来越多企业的首选。即使在DevOps起飞后它仍然存在。今天,SSDLC已经转变为我们今天使用的持续交付运营循环。当隐私保护举措如火如荼之际,我们再次见证了企业掌握GDPR等管控标准的难度。然而,这一次,缩小范围不是一种选择。突然间,许多企业在努力满足新法规的过程中直接受到糟糕的设计和安全责任的影响。对于二十年来一直“挠痒痒”和“戳应用程序”的人来说,这应该不足为奇。尽管有良好的意图,但在每个项目的每个阶段实施安全性几乎是不可能的,并且开发对高级黑客(和渗透测试人员)具有弹性的应用程序变得越来越困难。老实说,开发一个无错误且不崩溃的应用程序非常具有挑战性,因此监管机构和整个行业的期望都必须调整。简单来说,企业缺乏足够的人力资源来处理安全问题,而开发人员忙得无暇顾及安全问题。不管是否令人惊讶,该缺陷表明安全人员和开发人员之间的关系失调。进入大脑精英黑客(例如Solarwinds攻击背后的黑客)进入开发人员的大脑,利用软件开发中的弱点并执行复杂的操作。破解应用程序就是要找出开发人员必然会犯的错误。理想情况下,通过适当的培训、有效的内部沟通、以安全为中心的设计和严格的测试程序,可以很好地控制这些错误并降低其影响。然而,众所周知,现实中并非如此。现实中,并非所有企业都能做到严防死守。许多开发人员不考虑安全性。他们考虑功能、截止日期、可扩展性和速度。开发人员会考虑生产事故和停机时间。但最重要的是,开发人员是创造者,他们需要经验、捕捉客户的真实意图并做出主动决策以将安全性纳入其创新领域。安全专家经常低估开发人员为保护应用程序所做的努力。开发人员在不断实现对错误和故障的不同级别的恢复能力时,不断受到各方面的困扰。这些斗争来自产品、客户成功、营销以及组织中所有利益相关者的无数需求。狼来了Chen曾经有一个项目要为一家拥有1000名开发人员的公司开发可扩展的程序。经过繁琐的过程和数小时的讨论,团队最终达成了安全服务级别协议。一位总工程师笑着对陈说:“你看,保安喜欢占据中心位置。”他顿时明白了:不管是无意还是有意,保安一直在扮演狼的角色。另一方面,当您向开发人员展示零日漏洞时,每个人都会大喊:“开火!”确保将其熄灭。因此,无论开发人员是否相信,一些漏洞已经对业务连续性构成真正的潜在威胁。也就是不管他们承认不承认,他们都需要安全感。因此,底线是:安全生命周期不是开发人员生命周期。威胁建模和渗透测试等活动对安全级别至关重要,但它们也需要许多难以扩展的资源。尤其是在SSDLC模型上运行时,管理开销会减慢您的速度。另一方面,利用纯粹的应用程序安全测试自动化来收集软件的定量反馈是一种有效的策略。但如果没有强有力的治理和全面的安全文化,它就不太可能被企业采用。安全性与软件开发生命周期保持一致,但也超越了它。尽管应用程序安全性继续挑战所有应用程序(包括传统应用程序),但这一点仍然成立。在代码本身应用安全性以评估软件组件、CI管道和执行时间。无论开发是否在内部进行,应用程序安全都会评估开发人员所做的更改,并不断寻找新的攻击和漏洞。应用程序安全有自己的生命周期,独立于开发人员的生命周期。评论尽管安全性是软件开发不可或缺的一部分,但几乎所有的软件开发过程都受到安全性的“阻碍”。安全标准对于开发团队来说通常是不可行的。这在很大程度上是由于安全团队对应用程序安全与企业面临的风险波动之间的联系理解不足。只有加强开发团队和安全团队之间的沟通协作,使他们步调一致,才能更好地实现技术的进步和安全风险的管控。