当我们谈网络安全的未来时,应用开发安全是不可绕开的一环。
最近的一项行业研究显示,它是过去一年增长最快的网络安全技能。预计在未来五年内,应用安全开发技能的需求将增长164%。相应地,该职位的空缺总数将从2020年的29635上升到若干年后的48601。
那么,到底什么是应用开发安全技能?它快速增长的原因是什么?
应用开发安全有哪些技能?
首先,应用开发安全技能就是通过寻找和修复漏洞来加强应用的防御能力。这个过程通常在应用上线前的开发阶段,但有时候应用上线后也需要。
除了应用安全测试(AST),应用开发安全的技能还包括以下几种:
- 静态应用安全测试(SAST)。这种方法需要防御人员对应用的架构有一定的了解。他们可以利用这些知识来报告源代码中的弱点。
- 动态应用安全测试(DAST)。与SAST相反,DAST假定防御人员对应用程序的代码完全不了解,其目的是在应用运行状态中寻找潜在漏洞。
- 交互式应用安全测试(IAST)。这种方法是将SAST和DAST二者结合。
为什么需要应用开发安全技能?
对应用开发安全技能的需求不断增长,反映了两个持续的趋势。
- 世界正变得更移动化。企业和机构在移动设备上投入更多,用户也更习惯在移动端获取服务。在这一过程中,企业需要具备应用开发安全技能的人来保护应用安全,以确保给庞大地用户群提供安全地移动性能。
- 应用防御系统中的漏洞会削弱用户和开发者之间的信任。这样的漏洞在移动应用中很常见。2020年研究分析的iOS和Android应用中,有近四分之三的应用没有通过基础的安全测试。超过五分之四(83%)的受调查应用至少有一个漏洞,研究中91%的iOS应用和95%的Android应用都出现了漏洞
保障业务安全
这些漏洞对企业构成了威胁。服务器端控制薄弱、数据存储不安全、密码被破坏等问题,相当于为外部攻击者窃取信息敞开了大门。
潜在客户可能会犹豫是否要与那些应用开发安全性差、遭遇数据泄露的企业合作。当然,合作的前提是,企业经受了支付维修费用、支付法律费用和其他因泄密带来的损失后还能继续运营。
更有甚者,有些客户可能没时间来等你部署应用开发安全。客户可能会表示,之前合作的应用和公司在面临攻击之前,就编写好了更安全的代码。在某些情况下,客户带来的压力和监管合规机构带来的压力旗鼓相当。
这表明应用程序开发安全正成为一种手段,帮助企业在与客户合作的初始阶段就保持信任,而不是在问题公开披露造成不良后果之后。
开发人员的最佳实践
工作环境中需要的防御技能也会随着时间发生变化。开发人员的工具链中内置软件组件分析工具和防御测试,可能会在未来几年内取代旧的AST方法。
行业专家预测,到2022年,自动化解决方案将能够修复SAST工具发现的10%的漏洞。
这些预测显示了应用开发安全作为一个领域的发展趋势。但它们并不影响开发者在开发安全应用程序时可以使用的基本实践。例如,开发人员需要意识到,他们很少需要从头开始编写代码。他们不必苛求自己做好防御工作。相反,他们可以使用安全框架来推动代码进步。他们还应该确保他们使用的是第三方代码或库的最新版本。
开发人员也应该重视团队合作的力量。他们可以与安全架构师和运营团队联手,以进行安全威胁演练。这个过程不仅有助于发现和分流潜在威胁,还能促进沟通和相互理解,这是建立DevSecOps(开发、安全、运营)文化的基础。
面向未来的应用开发安全
就像我们前面所说的,应用程序开发安全是企业未来生存的要素之一。将应用安全落实到位的工具和方法可能会发生变化,但安全的基本要素将在未来几年乃至更长时间内保持相关性。