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

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

本文来源:企业网D1net


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


当企业考虑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问题,而且是一个影响所有企业和客户核心业务的至关重要的问题。


版权声明:本文为企业网D1Net编译,转载需在文章开头注明出处为:企业网D1Net,如果不注明出处,企业网D1Net将保留追究其法律责任的权利。封面图片来源于摄图网





相关文章
|
9天前
|
存储 安全 Java
Spring Boot 编写 API 的 10条最佳实践
本文总结了 10 个编写 Spring Boot API 的最佳实践,包括 RESTful API 设计原则、注解使用、依赖注入、异常处理、数据传输对象(DTO)建模、安全措施、版本控制、文档生成、测试策略以及监控和日志记录。每个实践都配有详细的编码示例和解释,帮助开发者像专业人士一样构建高质量的 API。
|
1天前
|
弹性计算 监控 安全
API稳定安全最佳实践:用阿里云SDK为业务保驾护航
阿里云智能集团高级技术专家赵建强和曹佩杰介绍了API稳定安全最佳实践,涵盖业务上云真实案例、集成开发最佳实践、配额管理和共担模型四部分。通过分析企业在不同阶段遇到的问题,如签名报错、异常处理不严谨、扩容失败等,提出了解决方案和工具,确保API调用的安全性和稳定性。特别强调了SDK的使用、无AK方案、自动刷新机制以及配额中心的作用,帮助用户构建更稳定、安全的服务,提升运维效率。最终介绍了集成开发共担模型,旨在通过最佳实践和平台工具,保障业务的稳定与安全,推动行业创新与发展。
|
25天前
|
监控 数据管理 测试技术
API接口自动化测试深度解析与最佳实践指南
本文详细介绍了API接口自动化测试的重要性、核心概念及实施步骤,强调了从明确测试目标、选择合适工具、编写高质量测试用例到构建稳定测试环境、执行自动化测试、分析测试结果、回归测试及集成CI/CD流程的全过程,旨在为开发者提供一套全面的技术指南,确保API的高质量与稳定性。
|
1月前
|
监控 安全 API
深入浅出:构建高效RESTful API的最佳实践
在数字化时代,API已成为连接不同软件和服务的桥梁。本文将带你深入了解如何设计和维护一个高效、可扩展且安全的RESTful API。我们将从基础概念出发,逐步深入到高级技巧,让你能够掌握创建优质API的关键要素。无论你是初学者还是有经验的开发者,这篇文章都将为你提供实用的指导和启示。让我们一起探索API设计的奥秘,打造出色的后端服务吧!
|
1月前
|
SQL 缓存 测试技术
构建高性能RESTful API:最佳实践与避坑指南###
—— 本文深入探讨了构建高性能RESTful API的关键技术要点,从设计原则、状态码使用、版本控制到安全性考虑,旨在为开发者提供一套全面的最佳实践框架。通过避免常见的设计陷阱,本文将指导你如何优化API性能,提升用户体验,确保系统的稳定性和可扩展性。 ###
61 12
|
1月前
|
安全 Java API
告别SimpleDateFormat:Java 8日期时间API的最佳实践
在Java开发中,处理日期和时间是一个基本而重要的任务。传统的`SimpleDateFormat`类因其简单易用而被广泛采用,但它存在一些潜在的问题,尤其是在多线程环境下。本文将探讨`SimpleDateFormat`的局限性,并介绍Java 8引入的新的日期时间API,以及如何使用这些新工具来避免潜在的风险。
39 5
|
1月前
|
JSON API 开发者
构建高效API:后端开发中的RESTful最佳实践####
在数字化时代,API作为不同系统间通信的桥梁,其重要性日益凸显。本文将深入探讨RESTful API的设计原则与最佳实践,通过实际案例分析,揭示如何构建高效、可维护且易于使用的API接口,助力后端开发者提升项目质量与用户体验。 ####
|
1月前
|
JSON 缓存 API
构建高效RESTful API的最佳实践
【10月更文挑战第34天】在数字时代的浪潮中,后端开发扮演着至关重要的角色。本文将带你深入探索如何构建高效的RESTful API,从设计原则到实际编码技巧,再到性能优化和错误处理,我们将一一解锁这些技能。你将学会如何打造一个既优雅又强大的后端服务,让你的应用程序在激烈的市场竞争中脱颖而出。那么,让我们一起踏上这段精彩的旅程吧!
37 2
|
1月前
|
JavaScript 前端开发 API
探索组合式API与Options API的对比及最佳实践
探索组合式API与Options API的对比及最佳实践
|
1月前
|
Web App开发 人工智能 自然语言处理
WebChat:开源的网页内容增强问答 AI 助手,基于 Chrome 扩展的最佳实践开发,支持自定义 API 和本地大模型
WebChat 是一个基于 Chrome 扩展开发的 AI 助手,能够帮助用户理解和分析当前网页的内容,支持自定义 API 和本地大模型。
81 0