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

相关文章
|
5天前
|
SQL 缓存 测试技术
构建高性能RESTful API:最佳实践与避坑指南###
—— 本文深入探讨了构建高性能RESTful API的关键技术要点,从设计原则、状态码使用、版本控制到安全性考虑,旨在为开发者提供一套全面的最佳实践框架。通过避免常见的设计陷阱,本文将指导你如何优化API性能,提升用户体验,确保系统的稳定性和可扩展性。 ###
37 12
|
19天前
|
数据可视化 API 索引
ES常见Index API操作最佳实践!
【10月更文挑战第21天】
47 1
ES常见Index API操作最佳实践!
|
6天前
|
JSON 缓存 API
构建高效RESTful API的最佳实践
【10月更文挑战第34天】在数字时代的浪潮中,后端开发扮演着至关重要的角色。本文将带你深入探索如何构建高效的RESTful API,从设计原则到实际编码技巧,再到性能优化和错误处理,我们将一一解锁这些技能。你将学会如何打造一个既优雅又强大的后端服务,让你的应用程序在激烈的市场竞争中脱颖而出。那么,让我们一起踏上这段精彩的旅程吧!
17 2
|
16天前
|
API 数据安全/隐私保护 开发者
探索RESTful API设计的最佳实践
【10月更文挑战第25天】在数字时代的浪潮中,API成为了连接不同软件组件的桥梁。本文将深入探讨如何设计高效的RESTful API,通过实际代码示例揭示背后的逻辑和结构之美。我们将从基础原则出发,逐步展开到高级概念,旨在为读者提供一套完整的设计蓝图。
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
【10月更文挑战第1天】深度学习中,模型微调虽能提升性能,但常导致“灾难性遗忘”,即模型在新任务上训练后遗忘旧知识。本文介绍弹性权重巩固(EWC)方法,通过在损失函数中加入正则项来惩罚对重要参数的更改,从而缓解此问题。提供了一个基于PyTorch的实现示例,展示如何在训练过程中引入EWC损失,适用于终身学习和在线学习等场景。
55 4
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
|
20天前
|
缓存 监控 测试技术
获取API接口数据的最佳实践详解
在开发过程中,与API进行交互是获取数据和服务的关键步骤。本文详细介绍了10个最佳实践,包括明确需求和文档、错误处理、数据验证、性能优化、安全性、日志和监控、版本控制、代码复用和维护、测试以及遵守法律和道德规范,帮助开发者更高效地从API获取数据,确保数据的准确性、安全性和性能。
|
1月前
|
存储 缓存 API
构建高效后端:RESTful API 设计的最佳实践
【10月更文挑战第2天】在数字化时代,后端开发是连接用户与数据的桥梁。本文将深入探讨如何设计一个高效、易于维护的后端系统,特别是围绕RESTful API的设计原则和最佳实践。我们将从基础概念出发,逐步深入到实际案例分析,最终通过代码示例具体展示如何实现这些设计原则。无论你是初学者还是有经验的开发者,这篇文章都将为你提供价值,帮助你构建更优秀的后端服务。
59 10
|
1月前
|
XML JSON API
深入理解RESTful API设计:最佳实践与实现
【10月更文挑战第9天】深入理解RESTful API设计:最佳实践与实现
35 1
|
1月前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
141 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
1月前
|
存储 缓存 中间件
构建高效RESTful API:最佳实践与技巧
构建高效RESTful API:最佳实践与技巧

热门文章

最新文章