敏捷开发中确保网络安全的十条原则
创始人
2025-07-01 19:41:05
0

当今竞争激烈的商业环境要求企业快速行动并保持创新。因此,80%或更多的企业采用了敏捷开发方法。不幸的是,这种更高的开发速度为网络犯罪分子带来了几个利用的机会,特别是在软件生命周期过程不安全的情况下。

那么,企业如何使敏捷开发实践更具安全性呢?以下是信息安全论坛推荐的10条原则:

定义角色和职责

负责指导敏捷项目的高级领导必须明确定义安全活动的角色和责任,这包括建立正式和非正式的报告渠道,以及项目管理行动,如上报协议、强制性会议和向安保团队报告项目状态。这将有助于将安全嵌入到灵活的应用程序开发中,同时促进承诺、责任以及业务IT和安全代表之间的建设性关系。

投资于技能和培训

安全是一项团队职责,每个开发人员都需要在确保代码没有安全漏洞方面发挥自己的作用。开发人员通常缺乏对安全问题的知识和理解,他们倾向于将软件交付置于安全问题之上。为了增强开发人员的能力,企业必须在指导和提高技能方面投入资源,这包括安全培训和认知课程、高级开发人员的指导、专门的敏捷安全培训活动,以及访问免费可用的资源,如OWASP、CWE、BSIMM(构建成熟模型中的安全)、SAFECode和CERT。

应用信息风险管理流程

从一开始就确保安全措施成本更低,效率更高,而不是事后事项。领导层必须建立有助于在整个开发生命周期中管理信息风险的流程。

这包括从安全角度商定高级别应用程序架构、确定“安全关键”应用程序和功能的列表、执行业务影响评估、在早期阶段进行信息风险和脆弱性评估,以及报告新确定的风险的流程。领导层应该就谁拥有信息风险提供指导,定义审查风险的流程,并确定如何做出风险管理决策。

使用开发人员的格式指定安全要求

使用开发人员的格式(用户故事、软件需求规范、故事映射、线框、角色和用例)来阐明安全需求,以便开发人员能够更好地理解、定义和实现安全规范。

这使得安全需求可以被视为产品待办事项中的功能需求,并将其转换为任务(也称为分解),将它们合并到需求管理工具中,并将它们包括在项目的生产力度量中。

进行威胁建模

定期进行威胁建模练习,以了解应用程序的安全环境,发现设计中不安全的方面,识别、分析威胁并确定威胁的优先顺序,发现用于攻击应用程序的最常见技术和方法(欺骗、篡改、拒绝服务、权限提升),确定哪些威胁需要额外的安全测试,最重要的是,制定策略和解决方案以主动缓解每个威胁。

采用安全编程技术

要求开发人员利用已建立的安全编程技术,例如重构、持续改进/持续开发(CI/CD)、同行评审、安全迭代和测试驱动开发。

这改进了应用程序代码的非功能质量,并有助于消除允许利用安全漏洞的编程缺陷。安全编程技术还有助于指导在安全方法方面缺乏经验的开发人员,使用AI或低代码/无代码等新技术,开发复杂应用程序的一个方面,集成第三方应用程序,或满足合规性要求。

执行独立的安全审查

让独立的审查者执行静态代码分析(审阅源代码,以分析应用程序代码中的错误、错误和漏洞)和动态分析(检查执行期间的应用程序行为,以确定异常或意外行为)。这为利益相关者提供了应用程序满足安全要求且不包含任何安全漏洞的保证。

自动执行安全测试

对于安全团队来说,手动测试和评估每个敏捷迭代通常是不可行的,这就是有必要采用某种类型的自动化来持续检查应用程序代码的安全性以发现缺陷和漏洞的原因,确保安全相关任务一致且有条不紊地完成,分析安全事件,并减轻安全团队和开发人员的负担。然而,一切都不可能是自动化的,自动化也不能完全取代人工测试,例如,一个人需要手动检查以确定逻辑缺陷。

在验收标准中包括安全性

创建、沟通和维护一套标准的安全验收标准,以确认已经执行了对应用程序代码的独立审查,已经完成了安全测试,合并到应用程序中的代码部分是可维护的、可跟踪的,并且来自经过验证的、信誉良好的来源,已经成功地满足了迭代积压的要求,已经解决了所有缺陷,包括安全漏洞,并且已经识别和批准了任何可能影响安全性的设计变更。

这有助于减少技术债务,向利益相关者提供保证,并在应用程序代码交付之前验证安全验收标准已完全满足。

评估安全性能

敏捷项目通常包括有限的安全性能评估,这使得企业很难确定其应用程序的安全性是否符合业务要求。因此,企业必须根据一组商定的KPI来监控和评估适当的安全指标。

安全指标可以包括安全漏洞的类型、数量和严重程度、独立测试的结果、已批准和未批准的安全策略偏差的数量、未违反安全措施的时间长度以及其他缺陷消除指标。

如果你的开发是敏捷的,那么信息安全就必须效仿,这就是建议所有企业遵循上述安全原则和最佳做法的原因。安全的成功取决于各方(开发人员、项目经理、执行团队等)之间的协作和承诺程度。如果安全流程可以像编码一样进行快速迭代和改进,那么只有这样才能在当地提供更好的应用程序安全性和有效的更改。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...