DZone>DevOps Zone > 加速移动DevSecOps的五个开发者秘诀
加速移动DevSecOps的五个开发者秘诀
应用这五个顶级技巧来加快安全移动应用程序的交付。
·
Aug. 06, 21 -DevOps Zone -分析
喜欢 (1)
评论
保存
Tweet
3.14K浏览次数
加入DZone社区,获得完整的会员体验。
移动应用开发团队希望快速提供创新的、高质量的移动应用,以满足他们的业务需求,必须在软件开发生命周期(SDLC)中尽可能早地包括安全问题。虽然移动已经成为获取信息的主要手段,但移动DevSecOps的成熟度经常落后于Web DevSecOps。如果安全策略是在发布前进行测试,然后急于修复安全漏洞,那么发布往往会被推迟,或者不安全的代码被运走--但它不一定是这样的。
想象一下,花几个月时间设计和开发一个移动应用程序。突然间,你的项目在后期测试中停滞不前,因为一个第三方API或库泄露了数据,或者移动应用与服务器的连接被错误配置。你错过了发布日期,脾气大了起来。
移动应用开发带来了超出网络应用开发的新的复杂性。与Web应用不同,所有的代码都在防火墙后面的后端,移动应用必须安全地编写,以防止反向工程。 从网络上未加密的数据传输到设备上不安全的数据存储,再到薄弱的服务器端控制,出错的方式更多,而帮助避免出错的防御措施更少。由于移动的复杂性以及移动应用的开发和更新速度,DevOps和安全的结合从未如此关键。
为了更快地提供高质量的移动应用程序,移动开发人员必须了解移动威胁,利用安全编码的最佳实践,找到自动化安全测试的方法,并充分利用现有的工具和资源。无论你的团队是开始开发移动应用,还是想加强现有应用开发流程的安全性,都要运用这五个顶级技巧来加快安全移动应用的交付。
第一:使用标准来加快进度
基于标准的测试和认证使开发者的生活更轻松。有了移动标准,就有了可预测性、更好的安全结果和更大的控制。 开发团队和安全团队在开发项目开始时就对安全标准和政策保持一致,从而获得速度和效率。 安全标准可以应用于整个生命周期,包括应用架构、应用设计、应用编码实践、应用测试实践和应用发布过程。
开放网络软件应用安全项目(OWASP)由社区领导的开源工作,建立了安全移动应用开发、威胁建模和安全测试的最佳实践。
移动应用开发者可以与他们的安全团队一起利用OWASP移动应用安全验证标准(MASVS),该标准概述了移动应用开发和部署的八个领域,并重点关注移动应用如何处理、存储和保护敏感信息。
_
"OWASP确实是为开发者和安全而存在的,并且以最佳实践为导向。它提供了架构、威胁建模、网络通信的最佳实践--一个真正适合所有人的游戏手册。"- Brian Reed,NowSecure公司首席移动官_
#2:利用iOS和Android中的关键安全API
苹果和谷歌已经在平台和开发环境中加入了关键的安全API,以帮助移动开发者建立安全的应用程序。例如,对移动应用程序和所有后端之间的所有通信进行加密是至关重要的。开发人员可以使用SSL或证书钉住,应用程序必须验证证书来自受信任的来源,并且必须确定终端服务器是否呈现正确的证书。通常情况下,开发者在早期阶段为了方便而放松这些要求,没有按照标准正确设置网络安全。
由主机操作系统创建的关键安全API应被默认使用。 iOS的应用程序传输安全(ATS)施加了扩展的安全检查,补充了传输层安全(TLS)协议规定的默认服务器信任评估。 安卓的网络安全配置 ,允许你自定义网络安全设置,让你自定义证书颁发机构,或将应用只钉在特定的证书上。
#3:自动进行安全测试
移动应用安全测试在传统上是一个手动笔测试过程:等到一个应用完全开发完成后,点击应用UI,观察行为,连接到网络设置,并在各种设备上进行测试。随着移动应用开发速度的快速增长,手动检查每个构建中的每个问题变得不可行。自动化高度重复的任务已成为开发人员在确保安全的同时扩大产出的唯一途径。
对移动应用二进制文件进行自动化动态分析要比对静态源代码进行自动化分析复杂得多,但能产生更彻底的安全覆盖,并消除假阳性。在基准分析中,静态源代码测试只能发现20%的移动应用安全漏洞,而动态分析则能发现其余的漏洞。有效的基于标准的自动化动态分析利用在物理设备(而不是模拟器)上的自动化测试运行,以快速识别最广泛的安全漏洞。自动测试解决方案可以在几分钟内进行准确、详细的评估,而不会拖累开发人员。
4:将安全纳入移动DevOps工具链中
开发人员已经有很多工具,不想再学习另一种工具或改变他们的工作流程。将移动应用安全测试直接整合到架构师、开发人员和DevOps用来做日常工作的同一个工具链中,可以减少摩擦,并提供快速的反馈回路,提高构建的质量。
将安全测试工具直接插入开发管道的预建集成中,可以对每一次构建进行自主、持续的安全测试。每当Gitlab、Jenkins和Microsoft Azure DevOps等工具完成CI/CD构建时,就会触发静态、动态和交互式安全测试,并自动将安全和隐私问题提交给Gitlab、Jira或Microsoft Azure DevOps Boards等票务系统。这些系统不需要新的工具、屏幕或对开发人员的工作流程进行根本性的改变就能完成工作。
5:利用嵌入式修复指南来简化修复工作
快速发布周期需要快速修复安全漏洞。移动应用程序开发人员应根据影响和严重程度对发现的问题进行优先排序,以首先解决最关键的错误。为他们提供高度准确的结果和嵌入式修复指南可以将修复时间从几小时或几天缩短到几小时或几分钟。
寻找易于理解的移动应用安全测试工具输出,以简化补救措施。例如,一个自动化的开发人员协助功能可以包括严重程度评分、准确的证据、详细的补救步骤,以及与本地工作流程票据系统集成的代码片段,使开发人员能够在一个地方获得他们需要的资源。
总结
这五个提示可以帮助那些刚接触移动应用开发的团队,希望优化现有的项目,或者开始移动DevSecOps之旅。基于标准的方法和逐步自动化的工具和流程将帮助团队更快地交付安全的移动应用。
主题。
移动应用开发,移动应用设计和开发, 移动应用自动化测试,移动应用 设计师, 移动应用开发公司, 移动应用分析工具
经Michael Mayes授权发表于DZone。点击这里查看原文。
DZone贡献者所表达的观点属于他们自己。
DZone上的热门文章
评论