如今, 随着对企业网络的网络攻击变得越来越复杂, 很多企业通过投资最新的防火墙, 数据和端点保护以及入侵防御技术来提高周边安全性. 作为回应, 黑客正在走上防范阻力最小的道路, 并寻找新的开发途径. 许多安全专家认为, 下一波的黑客攻击将通过利用应用程序编程接口 (API) 来实现.
实际上, 网络攻击者在计划攻击时已经瞄准了 API 这个目标. 面包店咖啡连锁店 Panera Bread 公司的数据泄露就是一个很好的例子, 该公司在其网站上留下了未经验证的 API 端点, 允许任何人查看客户信息, 如用户名, 电子邮件地址, 电话号码, 信用卡的最后四位数字, 出生日期等. 最终, 在 8 个多月的时间内有 3700 万客户数据被泄露. 这就提出了一个问题: 如何最大限度地减少与 API 相关的不断增长的网络安全风险, 而不会妨碍他们在敏捷开发和扩展功能方面提供的好处.
API 在应用程序开发中的应用已经成为新的事实标准, 开发人员利用从第三方提供的服务集成功能, 而不是从头构建所需的全部功能. 这为新产品和服务提供了更灵活的开发流程. 根据 One Poll 公司的调查研究, 每个企业平均管理 363 种不同的 API, 其中这些企业的三分之二以上 (69%) 将其 API 向公众和他们的合作伙伴开放. 开发人员可以通过搜索诸如 API Hound 之类的 API 库来扩充他们的代码, API Hound 使用机器扫描程序来查找其 50,000 多个 API, 或 Programmableweb, 它维护着世界上最大的人工策略 API 目录, 现在已超过 17,000 个.
虽然 API 支持用户已经习惯了这种对企业数字化转型至关重要的交互式数字体验, 但是它们为黑客提供了多个可以访问企业数据的场所, 甚至可能会导致大规模业务中断. 而利用 API 的常见攻击方法包括:
API 参数篡改 - 黑客通常使用这种技术对 API 进行反向工程或获得对敏感数据的进一步访问.
会话 Cookie 篡改 - 这些攻击尝试利用 cookie 来绕过安全机制或向应用程序服务器发送错误数据.
中间人攻击 - 通过窃听 API 客户端和服务器之间的未加密连接, 黑客可以访问敏感数据.
内容操作 - 通过注入恶意内容(例如, 中毒 JSON Web 令牌), 可以在后台分发和执行漏洞利用程序.
DDoS 攻击 - 通过发送无效的输入参数, 可能会使用编写不佳的代码来占用计算机资源, 从而导致 API 支持的 Web 应用程序中断.
为了尽量减少他们对基于 API 的威胁的暴露程度, 组织应采取以下预防措施:
1. 思维安全
不幸的是, DevOps 安全 (或者现在所称的 DevSecOps ) 在软件开发过程中经常被低估, 包括确保面向公众的 API. 开发人员需要考虑整个开发过程中 API 使用的安全影响, 其中包括 API 可用于恶意目的的方式.
保护 API 的基本组成部分在于实现可靠的身份验证和授权原则. 对于 API, 开发者通常使用通过外部过程 (例如, 在注册 API 时) 或通过单独的机制 (例如, OAuth) 获得的访问令牌. 该令牌与每个请求一起传递给 API, 并在处理请求之前由 API 进行验证.
2. 应用通用的行业安全最佳实践和标准
遵守编码最佳实践并密切关注最常见的 API 漏洞 (例如, SQL / 脚本注入和身份验证漏洞) 应成为开发人员和 DevSecOps 人员的核心最佳实践. 开放 Web 应用程序安全项目 (OWASP) 是此类信息的良好来源.
3. 通过 API 网关进行监控
将不同的 API 存储在应用程序代码库中时, API 网关可用于监控, 分析和限制流量, 从而将 DDoS 攻击的风险降至最低, 并执行预设的安全策略 (例如, 身份验证规则).One Poll 公司表示, 80% 的组织使用公共云服务来保护 API 背后的数据, 大多数企业使用 API 网关(63.2%) 和 Web 应用防火墙 (63.2%) 的组合.
采用这些 DevSecOps 建议可以最大限度地降低与 API 暴露相关的安全风险, 并使应用程序免受网络安全漏洞的威胁.
来源: http://netsecurity.51cto.com/art/201807/577518.htm