代码安全测试全解析
1. 软件开发各阶段的安全考量
在软件开发的整个生命周期中,不同阶段都有其特定的安全测试需求。
- 发布阶段 :系统会经历最终安全审查(FSR),目的是从安全角度判断系统是否准备好向客户发布。理想情况下,FSR应在系统发布前2 - 6个月进行,以确保审查的代码尽可能成熟且稳定。不过,这很大程度上依赖于系统的发布计划,在快速迭代的发布模式下,这个时间线往往难以实现。FSR通常由独立团队甚至外部安全审查顾问进行,以减少产品设计团队的先入之见和偏见对审查的影响。
- 支持与维护阶段 :由于无法交付完全无漏洞的系统,因此需要对新发现的漏洞做出响应。这包括评估新漏洞报告并按需发布修复程序。同时,还需要对发现的安全漏洞进行事后评估和分析,以确定是否需要更改流程、更新或更改工具等。
2. 极限编程与安全测试
极限编程(XP)、敏捷编程等“测试驱动开发”方法鼓励编写能通过预设测试的代码,这对功能测试和特性测试有益,但在安全测试方面效果不佳。在XP中,代码即设计,驱动代码的用户故事和单元测试不够详细,难以充分暴露设计缺陷。为了更好地解决这个问题,应将安全问题提前到开发周期的早期,并在项目中加入“攻击”或“滥用”场景。
3. 黑盒与白盒安全测试
- 定义
- 黑盒测试 :在不了解系统内部设计的情况下进行测试,就像无法看到系统内部的情况,通常不涉及代码审查。
- 白盒测试
超级会员免费看
订阅专栏 解锁全文
1万+

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



