识别常见应用程序安全威胁
学习目标
完成本单元后,您将能够:
- 描述应用程序清单和优先级的重要性及其风险。
- 列出应用程序安全工程师应识别的关键帐户访问信息。
了解应用程序及其风险
在过去几年中,用户和企业的应用程序使用量稳步上升,预计将继续增加。近年来,应用程序开发变得更容易,同时需要的资源也越来越少。在大型组织中,分散的开发团队有时甚至可以在 IT 和安全部门不知情的情况下编写新的程序代码。如果这些业务部门也自行做出技术采购决策,那么一些技术解决方案将可以存储公司的数据,几乎没有标准化和控制。
此外,随着公司努力加快软件项目的周转期,开发人员必须以可能危及应用程序及其数据安全的速度交付业务功能。快速交付功能的需求也推动了使用更自动化的流程,包括尽可能自动化安全扫描。
这些双重趋势表明,应用程序安全工程师需要首先识别其环境中的应用程序及其带来的风险,从而开始处理他们的工作。正如经营实体产品的企业在仓库中进行库存管理一样,应用程序安全工程师也从清点环境中的应用程序开始。识别应用程序中的风险目的是了解每个应用程序构成的威胁、漏洞和业务影响,并利用这些信息来确定相关保护的优先级。The Open Web Application Security Project (OWASP)(开放式 Web 应用程序安全项目 (OWASP))为应用程序安全工程师提供了大量实用信息,包括风险评级方法的详细信息,该方法可评估特定业务环境中哪些安全风险最严重。
要识别安全风险,要考虑所涉及的威胁、可使用的方法、可利用的漏洞以及对业务的潜在影响。应用程序安全工程师了解并防范各种风险,其中一些风险在 OWASP Top 10 中有描述。在接下来的单元中,您将了解其中的一些内容,包括注入、跨站点脚本 (XSS)、安全配置错误、身份验证中断、访问控制中断、敏感数据泄露,以及登录和监控不足。
跟踪应用程序访问权限
在对应用程序及其相关威胁、漏洞、风险和影响进行清点时,您已经花时间思考了威胁参与者以及他们想要什么。应用程序安全工程师还需要考虑攻击者是如何访问系统以窃取敏感信息或造成损害的。攻击者还会利用合法用户或非用户可以使用的所有入口点。工程师识别和理解构成其环境的不同类型的应用程序访问权限至关重要。
应用程序安全工程师要问自己这些关于应用程序访问权限的问题。
- 谁将访问该应用程序?应用程序是针对客户、业务合作伙伴、员工还是第三方供应商?每个用户需要什么类型的访问权限?他们需要执行哪些权限或功能?例如,应用程序将用于进行金融交易吗?是否需要互操作才能访问其他应用程序或浏览器会话?
- 用户从哪里访问应用程序?是移动应用程序还是桌面应用程序?是否仅对内部用户可用,例如使用公司内网的员工,还是外部用户可用(例如,互联网用户)?敏感应用程序是否已从网络中不太敏感的区域中分割出来?
- 有哪些特权管理功能?管理员可以执行哪些功能以及如何控制这些功能?如何监控这些帐户?
在考虑上述每一点时,请记住,恶意攻击者可能会通过应用程序的各种路径来损害业务。应用程序安全工程师评估每个潜在的入口点和后续路径,并进行适当的保护。在下一个模块中,我们将从保护软件开发生命周期开始,深入探讨如何保护应用程序。
总结
在本模块中,您进一步了解了应用程序是什么,以及应用程序安全工程师需要的技能,并讨论了应用程序安全工程师如何识别特定于其组织环境的应用程序、风险、漏洞和威胁。我们还预先了解了一些常见的应用程序安全场景。在应用程序安全工程师职责模块中,我们将了解每个场景的更多详细信息,以及应用程序安全工程师如何通过遵循软件开发生命周期 (SDLC) 进行保护。有兴趣探索更多与网络安全相关的信息吗?查看 Trailhead 上的网络安全学习中心。