API 安全风险和建议

1 年 2020 月 XNUMX 日 | 博客 API 安全风险和建议


API安全威胁

专家警告安全专业人员,网络世界即将面临下一个重大威胁:应用程序编程接口 (API)攻击。API通过将其他网站的服务集成到自身系统中,从而提升系统性能。常用的 API 包括 Google 地图、YouTube 和 Twitter;它们允许网站创建者将地图、YouTube 视频或推文嵌入到自己的网页中。随着这些工具的普及,黑客也找到了利用它们进行欺诈和窃取数据的方法。

十大 OWASP API 风险

随着黑客将注意力转向 API 攻击,它们对在其网站上使用 API 的企业构成了风险。我们可靠的 OWASP 伙伴已将 API 涉及的几大安全风险整理成文:

  1. 对象级授权损坏。 API 的唯一目的是提供对数据的远程访问。某些 API 的访问权限必须设置,以防止一个用户访问其他用户的数据。这可以通过对象级授权来实现。请确保您的 API 将访问权限限制在适当的用户,以降低这种风险。例如,一个简单的电商 API 可能会列出您商店的销售情况。正确设置对象级授权可以防止其他店主查询您的商店销售情况。 
  2. 用户身份验证失败。 身份验证机制通常实施不正确,从而使攻击者可以破坏身份验证令牌或利用实施缺陷来临时或永久地假定其他用户的身份。 损害系统识别客户端/用户的能力会整体损害API安全性。
  3. 过度数据暴露。 开发人员经常会无意中泄露 API 数据集。采用最小权限原则可以降低机密数据泄露的风险。在我们的电商示例中,仅允许商店 A 访问其数据,而商店 B 仅允许访问其数据。 
  4. 缺乏查询限制和速率限制。 API 不会对客户端/用户请求的资源大小或数量施加任何限制。这不仅会影响 API 服务器的性能,还会导致 拒绝服务(DoS),而且还允许身份验证攻击,例如 蛮力攻击 关于凭证。 
  5. 功能级别授权损坏。 访问控制策略复杂,包含不同的组和角色,并且未能正确区分管理功能和常规功能。这些 API 错误构成了授权缺陷。攻击者可以利用这些问题访问其他用户的资源和/或管理功能。
  6. 批量分配。 API 的设计初衷是将底层数据访问函数暴露给用户。API 必须将所有数据请求限制在一组特定的函数调用中。这样可以降低因猜测对象属性、探索其他 API 端点、阅读文档或在请求负载中提供其他对象属性而导致对象被不当修改或访问的风险。
  7. 安全配置错误。 安全配置错误通常是由于不安全的默认配置、不完整或临时配置、开放云存储、错误配置的 HTTP 标头、不必要的 HTTP 方法、宽松的跨域资源共享 (CORS) 以及包含敏感信息的冗长错误消息造成的。例如,Web 登录失败时,绝不能泄露用户名是否存在于网站中。
  8. 注射。 当将不受信任的数据作为命令或查询的一部分发送到解释器时,会发生注入缺陷,例如SQL,NoSQL,命令注入等。 攻击者的恶意数据可能会诱使解释器执行未经预期的命令或未经适当授权而访问数据。
  9. 资产管理不当。 与传统的 Web 应用程序相比,API 往往会暴露更多端点,因此,正确且更新的文档至关重要。所有 API 部署和版本的完善文档可以构建有效的清单。当您的 API 中发现并修复了错误或漏洞时,您的清单有助于确保所有内容保持最新。 
  10. 日志记录和监控不足。 日志记录和监控不足,加上与事件响应集成缺失或无效,会导致诸多问题。这使得攻击者能够利用系统漏洞,建立并维持持久性,转向攻击更多系统,并提取或销毁数据。大多数漏洞研究表明,检测漏洞的时间超过 200 天,通常是由外部人员而非内部流程或监控发现的。

安全要求

随着 API 采用率的提高,针对这些 API 的黑客攻击也随之增加。专家建议设计人员和开发人员在处理涉及 API 的应用程序时遵循以下安全要求: 

提升品牌曝光性

知识就是力量,这句话在 API 可见性方面恰如其分。应用程序开发者和用户需要了解哪些 API 正在发布、它们如何更新、何时更新、谁在访问它们以及访问方式。了解 API 的使用范围是确保 API 安全的第一步。

访问控制

API 访问控制通常较为松散,导致不必要的暴露。确保正确的用户组对每个 API 拥有适当的访问权限是一项关键的安全需求,必须与身份和访问管理 (IAM) 系统协调一致。

机器人缓解

在某些环境中,高达 90% 的应用程序流量(账户登录/注册、购物车结账)是由自动机器人生成的。了解和管理流量配置文件,包括区分良性机器人和恶意机器人,对于在不阻止合法流量的情况下预防自动攻击至关重要。有效的补充措施包括实施白名单、黑名单、速率限制策略、验证码以及针对特定用例和相应 API 端点的地理围栏。

防止漏洞利用

API 通过消除 Web 表单或移动应用简化了攻击流程,使恶意行为者能够更轻松地利用目标漏洞。保护 API 端点免受业务逻辑滥用和其他漏洞攻击是 API 安全缓解措施的一项关键要求。

防止数据丢失

防止由于适当的编程错误或安全控制漏洞而导致对具有适当特权的用户的公开API或其他方面的数据丢失也是一项至关重要的安全要求。 许多API攻击都是专门为获取对后端服务器和系统可用的关键数据的访问而设计的。

展望未来

及时了解您常用的工具和软件的最新动态至关重要,确保您掌握系统存在的所有新漏洞。订阅网络安全简报可以帮助您掌握这些新兴的安全威胁。欢迎查看Cyber​​Hoot 的简报并注册,免费获取每月更新。了解您面临的安全威胁是保护系统安全的第一步。

CyberHoot 是一家值得合作的公司,我们提供数百个培训项目,涵盖网络安全基础知识。CyberHoot 可以为用户提供各种培训,从网络安全基础知识到 OWASP 应用风险,再到高级 Microsoft Excel 培训。联系我们 sales@cyberhoot.com或安排会议 https://Calendly.com/CyberHoot.

要了解有关 API 安全性的更多信息,请观看这个 2 分钟的简短视频:

来源: 

威胁邮报

帮助网络安全

延伸阅读: 

OWASP 十大安全风险

苹果鼓励开发者使用 iOS 14 的新 App Attest API 来防范安全威胁

最新博客

关注最新动态 安全见解

发现并分享最新的网络安全趋势、技巧和最佳实践——以及需要注意的新威胁。

企业主数据管理:一款伪装成工作应用,却想读取你短信的软件

企业主数据管理:一款伪装成工作应用,却想读取你短信的软件

作者:凯蒂·博奎蒂 | 编辑:克雷格·泰勒 克雷格·泰勒编辑:我们早就知道了……

了解更多
虚假的 ChatGPT 助手正在传播恶意软件。以下是如何识别它们的方法。

虚假的 ChatGPT 助手正在传播恶意软件。以下是如何识别它们的方法。

作者:Katie Boquetti | 编辑:Craig Taylor Craig Taylor 编辑:验证码应该测试……

了解更多
OAuth 授权钓鱼:保护您的权限,而不仅仅是您的密码

OAuth 授权钓鱼:保护您的权限,而不仅仅是您的密码

作者:凯蒂·博奎蒂 | 编辑:克雷格·泰勒 克雷格·泰勒编辑:我很幸运拥有……

了解更多