首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >API NEWS | 第三方API安全性最佳实践

API NEWS | 第三方API安全性最佳实践

原创
作者头像
小阑本阑
发布2023-10-18 15:11:16
2020
发布2023-10-18 15:11:16
举报
文章被收录于专栏:API安全API安全

欢迎大家围观小阑精心整理的API安全最新资讯,在这里你能看到最专业、最前沿的API安全技术和产业资讯,我们提供关于全球API安全资讯与信息安全深度观察。

本周,我们带来的分享如下:

  • 一篇关于第三方API安全性的五个最佳实践的文章
  • 一篇关于OAuth2升级协议深入探讨的文章
  • 一篇关于防范僵尸API的文章
  • 一篇关于影子API风险的文章

第三方API安全性的五个最佳实践

本周介绍一篇API安全的优秀文章,涵盖了第三方API安全的五个最佳实践。

就像开发人员有时倾向于不加审查地相信用户输入一样,很多组织也倾向于过度相信他们的第三方API供应商。遗憾的是,这些API可能存在一些漏洞,可能会对使用它们的应用程序产生负面影响,比如数据泄露或注入漏洞。正如一句古老的格言所说,“一条锁链,最脆弱的一环决定其强度;一只木桶,最短的一片决定其容量”,对于由API构成的系统来说也是如此,如果您的系统正在使用容易受攻击的API,那么您的系统也会面临同样的漏洞。

本文提供了一些建议,以保护第三方API的安全性。

1697612274_652f81f2c247d329fd782.png!small?1697612275258
1697612274_652f81f2c247d329fd782.png!small?1697612275258

首先,建议保持对API清单的可见性。维护一个包含所有第三方API的清单,并及时更新,跟踪API的变更,以便发现潜在的问题。

接下来的建议是直接与API供应商联系。在引入新的第三方API之前,请确保进行尽职调查,了解供应商的开发过程和他们采取的控制措施,以保护他们的API。这可能包括他们的变更管理流程和主动漏洞管理流程等。无论如何,不要假设某个API是安全的,应该在API上进行主动监测和警报,以便及时发现任何漏洞。如果您确实希望确保第三方API的安全性,那么可以考虑主动进行漏洞测试。如果发现任何问题,请要求供应商进行修复后再继续使用API。

最后,由于第三方API经常成为拦截或仿冒的目标,建议定期更换API密钥,以防止中间人攻击的可能性。

在具体的使用场景中,根据不同的安全需求和API的重要性,可以灵活应用上述措施。有些关键业务或敏感数据相关的API可能需要更加严格的安全保护,而一些非关键的API则可以采取相对较低的安全级别。根据实际情况评估风险,并采取适当的措施来保障第三方API的安全。

小阑建议:

  • 要保障第三方API的安全,可以采取以下措施:
  • 可见性和清单管理:维护一个包含所有第三方API的清单,并定期更新,可以及时了解API的变更,并发现潜在的漏洞。
  • 尽职调查供应商:在选择使用某个第三方API之前,要对供应商进行尽职调查,了解他们的开发过程、安全控制措施以及漏洞修复的速度和方式等,确保他们具备足够的安全意识和措施,以保护API的安全性。
  • 主动监测和警报:不要假设某个API是安全的,而是要对其进行持续的监测和警报,可以使用一些安全工具或服务,例如安全扫描器或漏洞监测系统,来主动检测API是否存在漏洞,以便可以及时发现问题,并采取措施修复漏洞,确保API的安全性。
  • 漏洞测试和渗透测试:定期进行漏洞测试和渗透测试,通过模拟攻击,发现潜在的漏洞和弱点,并及时修复,主动评估第三方API的安全性。
  • 密钥轮换:由于第三方API经常成为攻击目标,建议定期更换API密钥,增加安全性,防止被中间人攻击或密钥泄露导致的恶意访问。

OAuth2升级协议深入探讨

这篇文章详细介绍了Authlete所提供的OAuth2升级协议,这对希望加强API安全性的所有人都有用。API泄露的一个主要原因是身份验证中断,在OWASP中也被评为第二大API安全风险。

为了改进身份验证过程,其中一种可靠的方法是在敏感操作周围设置一个额外的保护层,并向客户端发送递增质询,以提供额外的身份验证级别。通常采用多重身份验证令牌或硬件密钥的形式。这样做可以增加安全性,确保只有经过充分验证的用户才能执行敏感操作。

下面的序列图中显示:

1697612284_652f81fc2f97dc210b3f2.png!small?1697612284682
1697612284_652f81fc2f97dc210b3f2.png!small?1697612284682

服务器会通过身份验证上下文类引用(ACR)来响应身份验证尝试,这个引用指定了用于后续身份验证的类型。

什么是递增身份验证?

有一个很好的例子可以解释递增身份验证。当你登录到某个网站时,你需要输入你的用户名和密码来证明你是合法用户。但是,当你要执行某些敏感操作时,比如转账或管理网站的后台,这些操作会带来更高的风险。为了确保你的身份得到更强的保护,网站会要求你提供额外的“身份证明”,比如使用手机上的动态口令或者指纹识别等技术。这个过程就是递增身份验证,它通过添加更多的身份认证因素来提高安全性,让你的身份得到更强的验证。

1697612292_652f820486ff49a606631.png!small?1697612292952
1697612292_652f820486ff49a606631.png!small?1697612292952

递增身份验证对于保护高价值操作非常有用,而且还可以改善用户的体验。让我们以多重身份验证(MFA)为例来说明。传统的MFA方法可能会给用户的身份验证过程增加一些麻烦。但是,通过使用递增身份验证,我们可以让用户在最开始时使用更简单、更顺畅的身份验证方式来获取初始访问权限,只有在必要时才需要进一步的MFA验证。这样一来,我们既能确保安全性,又能减少用户的阻碍感。当然,只依靠密码是不够保护用户账户的,所以我们不能仅仅依赖于密码这一层保护措施。

这个话题很复杂,但API开发人员应该确保他们考虑使用递增身份验证来保护最敏感的端点。也就是说,在重要的操作中,我们应该采取更多的身份验证措施,以确保只有经过充分验证的用户才能进行敏感操作。这样可以提高安全性,并防止未经授权的访问。

小阑解读:

为了避免API的身份验证中断,可以采取以下措施:

  • 在敏感操作周围设置额外的身份验证层。这可以通过要求用户提供额外的身份验证信息来实现,例如多重身份验证令牌、硬件密钥或其他因素,可以增加安全性,确保只有经过充分验证的用户才能进行敏感操作。
  • 在身份验证中出现错误时,要有合适的错误处理和恢复机制。例如,可以提示用户重新进行身份验证、发送密码重置链接或提供其他辅助方法来解决验证问题,确保系统能够及时响应身份验证中断,并给予用户支持和解决方案。
  • 定期进行漏洞评估和渗透测试,以发现可能导致身份验证中断的漏洞。及时修复漏洞,并持续监测系统的安全性,包括跟踪最新的安全威胁和攻击方式,并及时采取相应的防护措施。

防范僵尸API

本文Bill Doerfield讨论了僵尸API的安全风险以及解决方法。所谓僵尸API,就是那些不再被活跃使用的API,更重要的是,它们也没有得到维护或监视以确保安全。通常情况下,僵尸API出现在组织发布了新版本的API,但仍然保留旧版本的情况下。在很多情况下,这些旧的API仍然继续运行,并被攻击者发现了存在的安全漏洞。

1697612303_652f820fdc13af5e12910.png!small?1697612304439
1697612303_652f820fdc13af5e12910.png!small?1697612304439

在文章中,Bill给出了以下有关如何最大限度地减少僵尸API出现的提示,即:

  • 保持API的活动清单:第一篇文章已经强调了保持最新清单的重要性,这对于解决僵尸API至关重要。确保扫描您的基础设施是否存在API,并在经常查看已弃用实例的清单中跟踪和核算所有实例。
  • 使用正确的版本控制和生命周期策略:通过确保API已版本控制,组织可以主动管理API的生命周期并优雅地停用旧版本,而不是让它们处于活动状态但不受管理。
  • 共享内部和第三方服务资源:避免僵尸API的最明显方法是将治理注入开发过程,并确保团队和产品所有者能够查看组织中可用的 API。通常,这可以通过使用API开发人员门户、API管理平台甚至一组Posman集合来实现。

这不是一个容易解决的问题,并且随着API(及其版本)数量的持续增长。

防范僵尸API的方法包括以下几个方面:

  • 及时更新:及时关闭不再使用的API,避免让攻击者找到漏洞利用。
  • 限定使用:限制API的使用权限,只允许授权用户或服务进行访问,以避免未经授权的访问和滥用。
  • 监测安全:对API进行监测,及时发现安全问题,进行修复。
  • 强化认证:增强API认证模式,防止恶意攻击者伪造身份访问资源。
  • 退役规划:在API设计过程中,应该制定合理的退役规划,保证旧版 API 在不被使用时能够得到及时的下线与清除。

小阑建议:

防范僵尸API的使用场景一般为:

  • 企业级API管理: 对于企业级API管理平台,需要对API进行全面的管理和监视,同时及时处理问题,确保API的正常使用。
  • 移动应用开发:在移动应用开发过程中,可能需要调用各种 API 来实现功能,此时就需要注意对调用的API进行管理和监控,从而防范僵尸API对应用安全带来的威胁。
  • 微服务架构:在微服务架构中,API的数量会非常庞大,如果不注意管理和监控,就很容易出现僵尸 API 的情况。因此,在微服务架构中,及时清理、更新和监测API非常重要。

影子API的风险

一篇来自The Hacker News的文章警告我们关于影子API的危害。影子API通常与僵尸API混为一谈,但它们的来源有很大的不同。影子API是指在非常规流程和非标准基础架构上发布的API。通常情况下,当业务部门需要发布新产品或功能,但没有时间按照正式流程来部署API时,就会出现这种情况(典型的例子是:使用信用卡购买云计算资源并直接在非标准的IT系统中部署)。

影子API面临的安全挑战与僵尸API相似,但在许多方面更加严重。这些API可能访问内部API中的敏感数据,或者可能只是以完全不受治理的方式存储这些数据。僵尸API会带来重大的治理和合规性挑战。

1697612315_652f821b378ebe6690e4c.png!small?1697612316948
1697612315_652f821b378ebe6690e4c.png!small?1697612316948

与影子API相关的最大挑战是,虽然IT安全团队可以发现僵尸API,但要找到那些可能位于完全独立的IP地址范围内,甚至不托管在企业批准的云平台上的影子API则困难得多。

建议可以采取 carrot-and-stick(胡萝卜加大棒)策略。首先,确保企业的IT安全和治理不会过于严格,以至于抑制合法的业务活动,迫使产品团队采取地下方式操作。但同时,请确保您的IT安全团队关注影子IT的任何迹象,以消除不必要的风险和漏洞暴露。

对企业和个人带来的危害包括数据丢失、机密信息泄露、不良业务行为以及法律责任等。如果企业不重视影子API的治理和监管,就可能无法保障数据安全和遵守各种合规要求,这样做可能会对企业声誉和信用造成严重损害,并引发其他的商业纠纷、法律诉讼等问题。

小阑解读:

影子API的风险在于可能存在数据安全、合规性和治理方面的问题。由于影子API是通过非标准流程发布,可能没有经过必要的审批和安全检查,因此会增加企业数据泄露或违规使用的风险。此外,如果影子API未得到有效的治理和监管,也可能导致不良操作和管理不善,从而损害企业利益。

预防影子API的方法包括:

  • 加强IT治理和合规性管理,建立适当的政策和流程,确保所有API都经过审批和安全检查;
  • 加强对API的监控和分析,发现潜在的影子API,及时采取措施关闭或合并;
  • 提升员工意识,加强培训和教育,促使他们遵守企业的规章制度和IT安全政策。

感谢 APIsecurity.io 提供相关内容

关于星阑

星阑科技基于大数据分析及AI智能化技术体系,助力企业应对数字世界的安全风险。凭借持续创新的安全理念和效果导向的攻防能力,星阑科技发展成为国内数据智能、信息安全领域的双料科技公司。为解决流动数据安全问题,星阑科技从数据攻防、数据分析、数据治理等不同场景出发,提供全景化数据流转监测、应用数据分析、API安全治理、高级威胁检测等解决方案,构建全链路流动数据保护体系。

星阑科技核心产品——萤火流动数据分析平台,可针对用户异构、多模态数据提供风险监测、合规性管理、数据建模、用户追踪、行为关联、AI解释与推理等一体化数据分析能力,为企业的数据可观测性、数据合规、威胁监测、应用治理、业务洞察等场景提供全面支持。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第三方API安全性的五个最佳实践
  • OAuth2升级协议深入探讨
  • 防范僵尸API
  • 影子API的风险
相关产品与服务
云 API
云 API 是腾讯云开放生态的基石。通过云 API,只需少量的代码即可快速操作云产品;在熟练的情况下,使用云 API 完成一些频繁调用的功能可以极大提高效率;除此之外,通过 API 可以组合功能,实现更高级的功能,易于自动化, 易于远程调用, 兼容性强,对系统要求低。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档