侧边栏壁纸
博主头像
疯狂IT人博主等级

疯狂编程博客,分享IT编程的技术博客,用程序员视角总结分享IT编程和互联网知识的那些事儿。

  • 累计撰写 189 篇文章
  • 累计创建 20 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

应用安全:确保第三方API安全的5个最佳实践

疯狂IT人
2023-09-21 / 0 评论 / 0 点赞 / 850 阅读 / 2,783 字 / 正在检测是否收录...

应用程序编程接口 (API) 已成为设置功能和灵活性不可或缺的一部分。但它们也是潜在的攻击媒介,需要引起安全团队的高度关注。

api
当组织考虑应用程序编程接口 (API) 安全性时,他们通常关注保护内部编写的 API。然而,并非公司使用的所有 API 都是内部开发的,有些是由其他组织设计和开发的。问题在于,许多公司没有意识到使用第三方 API 可能会使他们的应用程序面临安全问题,例如恶意软件、数据泄露和未经授权的访问。

第三方 API 是允许组织在自己的网站或应用程序上利用第三方功能或数据的软件接口。技术研究和咨询公司 ISG 的网络安全总监 Phil Quitugua 表示,这些第三方 API 使开发人员能够将其应用程序或系统与外部服务、数据或功能集成。

一些流行的第三方 API 包括导航应用程序、社交媒体平台和数字支付处理工具。DataDome 产品副总裁 Paul Scanlon 表示:“这些是 Google 或 Facebook 等第三方提供的 API,允许您在自己的网站或应用程序上访问他们的数据或功能。” “每个人都喜欢 API。通过使各种设备和应用程序能够通过各种通信协议交换信息,API 可以帮助开发人员更轻松、更高效地创造出色的用户体验。”

但 API 的普遍存在和普及却存在一个安全致命弱点——根据API 安全状况第一季度报告,约 94% 的公司在过去一年中在生产 API 中遇到了安全问题,17% 的公司遭受了与 API 相关的漏洞Salt Security 的2023 年报告。SaltSecurity-Report-State_of_API_Security 因此,需要为第三方 API 实现安全性。

为什么确保第三方应用程序的安全如此重要

NCC 集团工业和运营技术实践总监 Jim McKenney 表示,第三方 API 需要强大的安全性,因为它们可能是薄弱环节。如果它们不安全,则可能会泄露敏感数据或导致原始软件出现问题。

“API 安全性可保护程序之间的通信(例如 OpenStreetMap 的 API)免受网络威胁,”McKenney 说道。“它可以防御恶意攻击、未经授权的访问以及 API 滥用等新兴威胁。API 安全性可确保应用程序之间的安全且真实的对话。”

凯捷旗下 Sogeti 洞察与数据副总裁 Doug Ross 表示,第三方 API 安全涉及实施身份验证、授权、加密和监控等措施,以确保 API 及其数据的隐私性、完整性和可用性。“API 安全性是软件开发的一个重要方面,因为 API 通常充当不同系统之间的桥梁,并且越来越多地用于交换敏感和关键信息,”Ross 说。

出于多种原因,确保第三方 API 的安全至关重要。一方面,API 可以访问敏感信息,例如用户数据或支付信息。因此,如果第三方 API 遭到破坏,可能会导致数据泄露,从而影响最终用户和依赖 API 的企业。此外,不安全的 API 可能会使应用程序或系统面临漏洞和攻击,从而可能导致系统故障或对资源的不当访问。

第三方API的安全性对于维持合规性也很重要,因为许多行业在数据保护和隐私方面都有严格的法规,例如欧盟的通用数据保护条例(GDPR)和美国的健康保险流通与责任法案。Ross 表示,确保第三方 API 的安全有助于组织遵守这些法规并避免监管机构的处罚。

涉及第三方 API 的安全漏洞可能会损害公司的声誉,导致客户失去信任,并可能影响业务合作伙伴关系。

以下是确保第三方 API 安全的五种最佳实践:

维护包含第三方 API 的 API 库存

Bionic 的安全研究员 Jacob Garrison 表示,维护一个随着代码更改而自动更新的 API 库存是 API 安全计划的第一步。这是 API 安全计划的重要第一步;它应该区分第一方和第三方 API。它还鼓励对影子 IT(即在不通知安全团队的情况下引入的 API)进行持续监控。

“为了确保您的库存稳健且可操作,您应该跟踪哪些 API 传输关键业务信息,例如个人身份信息和支付卡数据,”他说。Garrison 表示,API 库存是对第三方风险管理的补充。当开发人员使用第三方 API 时,值得考虑供应商本身的风险评估。

“例如,假设您的数据工程团队想要将个人身份数据发送到 Tableau 进行分析,”他说。“在这种情况下,值得评估该供应商的安全状况是否在您组织的风险承受范围内。”

Invicti Security 首席技术兼安全研究主管 Frank Catucci 同意,包含第三方 API 清单至关重要。

“你需要让第三方 API 成为你整体 API 库存的一部分,你必须将它们视为你拥有、你负责的资产,”他说。“因此,确保准确计算哪些 API 在何处运行以及它们在做什么是重要的第一步,因为您无法保护您不知道的内容。”

调查第三方API供应商

麦肯尼表示,组织应该选择具有强大安全措施的信誉良好的提供商,监控 API 活动是否存在可疑行为,并使用加密。例如,仅使用来自受信任提供商的支付处理 API,定期监控 API 日志是否有任何异常活动,并确保通过 API 发送的所有敏感数据都经过加密。

Lexmark 首席信息安全官 Bryan Willett 表示,对于第三方来说,建立供应商安全管理流程非常重要。“该流程应与您的采购流程紧密结合,以便所有供应商和合同都经过该流程,”他说。“该流程应由几个子流程组成,包括供应商风险评估、供应商安全评分、持续监控以及合同审查,以确保条款符合组织的风险承受能力。”

确保第三方 API 的供应商安全测试

Willett 表示,公司必须建立其供应商的一般安全控制以及第三方 API 生命周期不同阶段的安全控制,以确保适当的保护措施满足其风险承受能力。

“举个例子,您希望看到安全开发生命周期根植于组织的文化中,从培训到整个交付过程的大门,以确保从一开始就考虑到安全性,”他说。威利特表示,这些门应该包括解决由供应商开发的源代码和产品中包含的开源库所带来的风险的实践。

“你希望看到供应商拥有良好的安全测试实践,使用最新的工具来执行静态代码分析、模糊测试和漏洞扫描,”威利特说。“在运营领域,您希望看到强大的变革管理流程的证据,对数据进行适当的访问控制并实施零信任原则。”

供应商还应该拥有成熟的漏洞管理程序,监控补丁的操作环境,并制定漏洞修补时间的服务级别协议。

自己测试第三方API

尽管组织没有编写第三方 API 并且不控制它们,Catucci 表示他们仍然可以像测试自己的 API 一样测试它们。例如,公司可以使用动态应用程序安全测试功能来扫描第三方 API 中是否存在已知漏洞、易受攻击的组件或这些 API 中可能存在的过时组件。

“即使你不拥有它们,你仍然必须测试它们,”他说。“如果您发现第三方 API 存在特定漏洞,您可能需要阻止该功能或在修复之前不要使用该 API。”

轮换 API 密钥

Willett 说,另一个安全考虑因素是 API 密钥的轮换。当用户调用第三方 API 时,他们必须在请求中提供一个唯一的字符串,称为密钥。该字符串告诉供应商哪个客户正在拨打电话。定期轮换密钥是必要的,主要原因有两个。

“首先,不良行为者会拦截您的 API 密钥,然后他们可以代表您生成请求。根据第三方使用的安全协议,此密钥可能足以提取与您的帐户相关的敏感信息,”威利特说。“第二,第三方 API 需要花钱。API 密钥用于计费目的。恶意行为者可以使用您的密钥快速发起 API 请求,从而增加您的账单。出于这两个原因,API 安全计划应包括定期密钥轮换。”

底线:不要让 API 不受保护

基于 API 的攻击非常复杂,需要同样强大的防御。ThreatX 安全战略总监兼现场首席信息安全官杰里米·文图拉 (Jeremy Ventura) 表示,更重要的是,第三方违规行为现在比以往任何时候都更加突出。

“Peloton 和 Nissan 等许多备受瞩目的安全漏洞都是由于未受保护的 API 造成的,”他说。“攻击组织的供应链对于想要踏入网络大门的网络犯罪分子来说非常有吸引力。”

因此,公司必须了解第三方 API 安全威胁不仅仅是 IT 问题,而且是影响所有相关组织和客户的核心业务问题,Ventura 补充道。

来源

0

评论区