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

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

本文来自 企业网D1net公众号

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


第三方API是软件接口,能够使企业在自己的网站或应用程序上利用第三方功能或数据。技术研究和咨询机构ISG公司的网络安全主管Phil Quitugua表示,这些第三方API使开发人员能够将他们的应用程序或系统与外部服务、数据或功能集成在一起。


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


虽然API得以普及应用,但存在着安全的致命弱点——根据Saltsecurity公司发布的《2023年第一季度API安全状况》报告,在过去的一年中,大约94%的企业在生产API中遇到了安全问题,17%的企业遭遇了API相关的漏洞。因此,需要确保第三方API安全性。


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


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


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


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


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


第三方API的安全性在维护合规性方面也很重要,因为许多行业都有严格的数据保护和隐私法规,例如欧盟的《通用数据保护条例》(GDPR)和美国的《健康保险流通与责任法案》。Ross表示,确保第三方API的安全性有助于企业遵守这些法规并避免监管机构的处罚。涉及第三方API的安全漏洞可能会损害企业的声誉,导致客户信任的丧失,并可能影响商业伙伴关系。


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


(1)维护包含第三方API的API清单


Bionic公司的安全研究员Jacob Garrison表示,维护API清单,使其在代码变化时自动更新,这是API安全程序的重要第一步。它应该区分第一方和第三方API。它还鼓励在不通知安全团队的情况下持续监控影子IT API。


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


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


Invicti Security公司首席技术和安全研究主管Frank Catucci也认为,包括第三方API的清单是至关重要的。


他说:“企业需要让第三方API成为其整体API库的一部分,必须把它们视为自己拥有和负责的资产。所以,确保准确地了解哪些API在哪里运行以及它们在做什么是重要的第一步,因为人们无法保护自己看不到的物品。”


(2)调查第三方API供应商


McKenney表示,企业应该选择具有强大安全措施的信誉良好的提供商,监控可疑行为的API活动,并使用加密措施。例如,只使用来自可信提供者的支付处理API,定期监视API日志中任何异常活动,并确保通过API发送的所有敏感数据都是加密的。


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


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


Willett表示,重要的是,企业要建立供应商的通用安全控制,以及跨第三方API生命周期不同阶段的安全控制,以确保适当的保护符合他们的风险承受能力。


他说:“例如,人们希望看到安全开发生命周期从培训到整个交付过程根植于企业文化中,以确保从一开始就考虑到安全问题。”Willett表示,这些应该包括解决由供应商开发的源代码和产品中包含的开源库所产生的风险的实践。


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


供应商还应该有成熟的漏洞管理程序来监控补丁的操作环境,并有一个明确的服务级别协议来确定何时修补漏洞。


(4)自己测试第三方API


Catucci表示即使企业不编写第三方API,也不控制它们,他们仍然可以像测试自己的API一样测试它们。例如,企业可以使用动态应用程序安全测试功能来扫描第三方API,以查找已知的漏洞、易受攻击的组件或可能存在于这些API中的过时组件。


他说,“即使用户没有拥有它们,也必须对它们进行测试,如果发现第三方API有特定的漏洞,用户可以阻止该功能,或者在修复之前不要使用这个API。”


(5)API密钥的轮换


Willett表示,另一个安全考虑是API密钥的轮换。当用户调用第三方API时,他们必须为他们的请求提供一个唯一的字符串,这称之为密钥。这个字符串告诉供应商哪个客户正在进行呼叫。有两个主要原因需要定期轮换密钥。


Willett说,“首先,恶意行为者拦截用户的API密钥,然后他们可以代表生成请求。根据第三方使用的安全协议,这个密钥可能足以提取与用户的帐户相关的敏感信息。其次,第三方API需要支付费用。API密钥用于计费目的。恶意行为者可以使用用户的密钥快速触发API请求,从而提高其账单。基于这两个原因,API安全程序应该包括定期的密钥轮换。”


企业需要保护API


基于API的网络攻击非常复杂,需要同样强大的防御。此外,ThreatX公司的安全策略总监兼首席信息安全官Jeremy Ventura表示,现在第三方入侵比以往任何时候都更加突出。


他说:“许多引人注目的安全漏洞(例如Peloton和Nissan)都是由未受保护的API造成的。攻击一些企业的供应链对那些想要进入网络的网络罪犯来说非常有吸引力。”


Ventura指出,对于企业来说,了解第三方API安全威胁不仅仅是一个IT问题,而且是一个影响所有企业和客户核心业务的至关重要的问题。

相关文章
|
1月前
|
存储 缓存 JSON
第九篇 API设计原则与最佳实践
第九篇 API设计原则与最佳实践
|
1天前
|
JSON 缓存 API
探索RESTful API设计的最佳实践
【6月更文挑战第16天】在数字化时代,构建高效、可扩展的后端服务是软件开发的核心。本文将深入探讨如何设计符合RESTful原则的API,包括资源定位、接口一致性、错误处理和性能优化等方面,旨在帮助开发者构建更加健壮和用户友好的网络服务。
|
1天前
|
XML 前端开发 API
构建高效后端:RESTful API设计的最佳实践
【6月更文挑战第16天】在本文中,我们将深入探讨如何构建高效的后端系统,特别是如何设计出符合最佳实践的RESTful API。我们将从基础概念开始,逐步深入到具体的设计原则和技巧,最后通过一个实际案例来展示这些原则的应用。无论你是后端开发的新手,还是有一定经验的开发者,这篇文章都将为你提供有价值的指导。
|
2天前
|
XML JSON API
探索RESTful API设计的最佳实践
【6月更文挑战第15天】在数字化时代,API已成为连接不同软件系统和促进数据交换的桥梁。本文将深入探讨如何设计高效、可维护且易于使用的RESTful API,包括资源命名、HTTP方法的正确使用、状态码的精确定义以及响应格式的设计原则。通过遵循这些最佳实践,开发者可以构建出更加健壮和用户友好的后端服务。
|
3天前
|
安全 API 网络架构
构建高效的RESTful API:后端开发的最佳实践
【6月更文挑战第14天】在数字化时代,RESTful API是连接不同软件系统和促进数据交换的关键。本文将深入探讨如何设计、实现和维护一个高效、可扩展且安全的RESTful API,确保后端服务的响应性、可靠性和安全性。
|
7天前
|
缓存 监控 API
探索RESTful API设计的最佳实践
【6月更文挑战第10天】在数字化时代,API作为不同软件系统间通信的桥梁,其设计至关重要。本文旨在揭示如何构建高效、可维护且用户友好的RESTful API,涵盖从基础原则到高级技巧,为开发者提供一条清晰的道路,以实现最佳的API设计实践。
|
7天前
|
SQL 缓存 测试技术
RESTful API设计的最佳实践:构建高效、可维护的Web服务接口
【6月更文挑战第11天】构建高效、可维护的RESTful API涉及多个最佳实践:遵循客户端-服务器架构、无状态性等REST原则;设计时考虑URL结构(动词+宾语,使用标准HTTP方法)、使用HTTP状态码、统一响应格式及错误处理;确保数据安全(HTTPS、认证授权、输入验证);实施版本控制;并提供详细文档和测试用例。这些实践能提升Web服务接口的性能和质量。
|
11天前
|
Java 机器人 API
JAVA实现自动打开URL对应的网页并保存为图片-不借助第三方API
JAVA实现自动打开URL对应的网页并保存为图片-不借助第三方API
19 9
|
14天前
|
JSON 测试技术 API
API接口测试指南:确保接口稳定性与可靠性的实践
API接口测试是确保软件产品质量的重要组成部分。通过遵循本指南中的测试步骤和最佳实践,开发者可以有效地验证API的功能、性能和安全性,从而提升软件的整体质量和用户满意度。
|
14天前
|
缓存 测试技术 API
构建高效的RESTful API:最佳实践与设计原则
在数字化时代,RESTful API已成为连接不同软件系统和服务的桥梁。本文将深入探讨如何设计和实现一个既高效又易于维护的RESTful API,涵盖从请求处理到数据交互的最佳实践,以及如何确保API的安全性和可扩展性。我们将通过具体的代码示例和架构设计,展示如何构建一个遵循REST原则的API,以及如何利用现代框架和工具来简化开发过程。