安全、可追溯性与微服务测试文档
1. 有效的代码审查
减少应用程序安全漏洞最有效的方法之一是通过系统且有依据的代码审查流程。但代码审查常沦为各种观点和个人偏好的堆积地,这不仅无法提升代码质量,还可能导致临时更改,从而使应用程序暴露漏洞。
在产品开发生命周期中专门设置安全代码审查阶段,有助于大幅减少投入生产的代码中的漏洞数量。软件工程师往往专注于构建功能完善的代码,却缺乏发现缺陷的思维,尤其是对自己编写的代码。因此,不应自行测试代码(开发时的基本测试除外),更不应自行进行安全测试。
不过,团队协作使我们能够审查他人的代码,但需采用有效方式。代码审查所需的脑力与编写软件相当,特别是审查复杂代码时。每次审查同一功能的时间不应超过两小时,否则会遗漏重要漏洞,对细节的关注度也会降至危险水平。在基于微服务的架构中,由于功能相对较小,在合理时间内阅读代码并非难事,若能与代码作者沟通其意图则更佳。
代码审查应分为两个阶段:
- 快速审查代码,了解整体情况,如代码的工作原理、使用的陌生技术以及是否实现预期功能等。
- 按照预先确定的检查清单审查代码,清单内容取决于公司所开发软件的性质。
代码审查时,关于代码安全的检查清单通常较长,但可归结为以下几点:
- 所有输入是否在适用时进行了验证和编码?
- 所有输出(包括日志)是否进行了编码?
- 是否使用跨站请求伪造令牌保护端点?
- 数据库中的所有用户凭据是否都进行了加密或哈希处理?
检查此清单有助于识别应用程序中的重大安全问题。
2. 可追溯性
在现代信息系统中,可追溯性极为重要。在微服务
超级会员免费看
订阅专栏 解锁全文
1062

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



