构建双元软件安全倡议:应对敏捷开发中的安全挑战
1. 软件安全与敏捷开发的现状
如今,社会各领域对软件系统的依赖程度与日俱增,但软件系统面临的威胁也随之增多。网络安全措施虽能改善软件系统的安全性,但无法解决软件本身存在的漏洞这一根本问题。在软件开发过程中采用软件安全活动和措施,是应对软件系统网络威胁的直接有效方法。然而,这会增加开发时间和成本,且需有效实施才能发挥作用。
在敏捷开发中,建立有效的软件安全活动流程比瀑布式开发更具挑战性。传统的软件安全方法在敏捷开发过程中可能效果不佳,因为安全作为非功能性需求,在敏捷开发中难以全面考量。非功能性需求往往容易被忽视,而敏捷开发团队通常由少数开发者组成,且多为通才,缺乏处理软件安全所需的专业知识和技能。
不过,敏捷开发也为安全带来了一些机遇,例如能够适应新的安全威胁并与客户保持安全方面的互动。有研究提出了以风险为中心的安全方法,并指出软件安全实践存在的问题,如缺乏基于风险评估、随意性大、跟进不足等,还确定了在责任与利益相关者合作、风险认知与能力、敏捷项目中的风险分析实践等三个主要领域需要改进。
2. 软件安全的定义与挑战
软件安全旨在确保软件系统在恶意攻击下仍能正常运行。国际标准(ISO/IEC 25010, 2011)将安全定义为软件保护信息和功能,同时允许授权用户访问其权限范围内信息和功能的能力。软件安全可分解为多个质量子因素,如下表所示:
| 质量子因素 | 描述 |
| — | — |
| 访问控制 | 系统仅允许授权外部实体访问其资源的程度 |
| 识别 | 系统在与外部实体交互前识别它们的程度 |
| 认证 | 系统验证外部实体声称身
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



