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

news2025/3/10 15:49:26

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

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

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

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

但是,在 API 的普遍性和普及性中,有一个安全问题——根据 Salt Security 的 94 年 API 安全状况报告,大约 17% 的公司在过去一年中在生产 API 中遇到了安全问题,1% 的公司遭受了与 API 相关的漏洞。因此,需要为第三方 API 实现安全性。

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

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

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

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

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

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

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

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

维护包含第三方 API 的 API 清单

维护一个随着代码更改而自动更新的API清单是API安全计划的重要第一步,Bionic的安全研究员Jacob Garrison说。这是 API 安全计划的重要第一步;它应区分第一方和第三方 API。它鼓励持续监控影子 IT — 无需通知安全团队即可引入 API。

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

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

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

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

调查第三方 API 供应商

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

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

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

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

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

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

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

自行测试第三方 API

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

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

轮换 API 密钥

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

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

底线:不要让 API 不受保护

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

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

因此,对于公司来说,了解第三方API安全威胁不仅仅是一个IT问题,而且是一个影响所有相关组织和客户的核心业务问题,Ventura补充道,这一点至关重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1101354.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AssetBundle的正确加载

需求描述 在加载一个AssetBundle资源包(后续简称AB包)的时候我们还需要考虑其对应的依赖,所以加载AssetBundle资源包并非总是简单地调用相关的加载API即可,缺乏依赖那么AssetBundle资源包中的资源就无法正常加载或使用。 通过Asse…

Ubuntu防火墙设置

查看当前防火墙状态 设定信息端口号为12345的访问 sudo ufw allow 12345

自动化测试有必要学吗?一篇从功能测试进阶到自动化测试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 问题:…

vue视频直接播放rtsp流;vue视频延迟问题解决;webRTC占cpu太大卡死问题解决

播放多个视频 <div class"video-box"><div class"video"><iframe style"width:100%;height:100%;" name"ddddd" id"iframes" scrolling"auto" :src"videoLeftUrl"></iframe>&l…

【分享】国产AI工具大整理,都是好东西(赶紧看 待会儿删)

哈喽&#xff0c;大家好&#xff0c;我是木易巷~ 我认同一个观点&#xff0c;那就是未来的世界将会只存在两种人&#xff1a;会使用AI的人和不会使用AI的人。相信许多人已经开始感受到了“AI焦虑”&#xff0c;担心自己的技能将被AI超越。然而&#xff0c;我认为AI并不是人类的…

Linux进阶-ipc消息队列

目录 system-V IPC 消息队列 消息队列和信号管道的对比 消息队列和信号的对比 消息队列和管道的对比 消息队列函数API msgget()&#xff1a;打开或创建消息队列 msgsnd()&#xff1a;发送消息 msgrcv()&#xff1a;接收消息 msgctl()&#xff1a;控制消息队列 msgsn…

移动互联网客户端可能没什么路可走了.......

2010~2020可以算移动客户端的黄金十年了&#xff0c;微信、淘宝、抖音等国民级应用都诞生于这十年间&#xff0c;也顺带产生了不少技术上的黑科技&#xff08;比如动态化、跨平台、热修复&#xff09;。 然而现在头部公司的稳定&#xff0c;App独立生存的空间被不断挤压&#…

el-menu页面离开弹窗,当前激活菜单的高亮问题

问题描述 在A页面监控路由离开&#xff0c;&#xff0c;弹出弹窗后提示未保存点击取消&#xff0c;此时左侧的菜单激活是B高亮&#xff0c;正常应该是激活A菜单。 1&#xff0c;A页面页面离开的弹窗&#xff0c;在A页面弹窗点击取消 ##解决方法 1.在菜单组件增事件&#xf…

75.C++ STL queue容器

目录 1.什么是queue容器 2.queue的构造函数 3.存取、插入、删除操作 4.赋值操作 5.大小操作 以下是一个简单示例&#xff0c;演示如何使用 queue&#xff1a; 1.什么是queue容器 queue 是 C 标准库提供的队列容器&#xff0c;它是一个容器适配器&#xff0c;用于管理遵循…

如何管理前端状态?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

如何清理内存空间?几步操作轻松搞定!

电脑内存的清理是维护系统性能的重要步骤之一。如果电脑内存不足&#xff0c;可能会导致电脑运行卡顿、无法存入文件等各种问题。及时清理电脑内存非常重要。怎样清理电脑内存呢&#xff1f;怎么才能更高效的释放更多电脑内存呢&#xff1f;下面是三个常用的方法。 一、关闭不必…

实施03(文件夹共享和网络配置)

远程连接&#xff08;防火墙设置&#xff09;把远程端口打开新建规则 选择端口后&#xff0c;选择TCP&#xff0c;选择特定本地端口&#xff0c;输入我们需要开放的端口号下一步选择允许连接回车给开放的端口号取个名称回车就可以了 实现文件夹共享首先在任意盘符新建一个文件夹…

工控网络协议模糊测试:用peach对modbus协议进行模糊测试

0x00 背景 本人第一次在FB发帖&#xff0c;进入工控安全行业时间不算很长&#xff0c;可能对模糊测试见解出现偏差&#xff0c;请见谅。 在接触工控安全这一段时间内&#xff0c;对于挖掘工控设备的漏洞&#xff0c;必须对工控各种协议有一定的了解&#xff0c;然后对工控协议…

攀岩绳上亚马逊合规认证EN892测试标准

攀岩绳 攀岩绳是与攀岩安全带和锚点相连的一种装备&#xff0c;用于保护攀岩者&#xff0c;使其不会从高处跌落。攀岩绳由承重内芯和围绕内芯编织的护套组成。 亚马逊关于攀岩绳的政策 根据亚马逊的要求&#xff0c;所有攀岩绳均应经过检测&#xff0c;并且符合下列特定法规或…

Go语言Gin框架中使用MySQL数据库的三种方式

文章目录 原生SQL操作XORMGORM 本文演示在Gin框架中通过三种方式实现增删改查的操作&#xff0c;数据表结构如下&#xff1a; CREATE TABLE users (id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ID,user_no bigint(20) unsigned NOT NULL COMMENT 用户编号,name varch…

Ansible --- playbook 剧本

一、playbook 的简介 playbook是 一个不同于使用Ansible命令行执行方式的模式&#xff0c;其功能更强大灵活。 简单来说&#xff0c;playbook是一个非常简单的配置管理和多主机部署系统&#xff0c; 不同于任何已经存在的模式&#xff0c;可作为一个适合部署复杂应用程序的基…

win11 定时计划任务

控制面板 任务计划 添加任务计划 &#xff0c;选按步骤添加。

2023年【天津市安全员C证】模拟考试及天津市安全员C证实操考试视频

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 天津市安全员C证模拟考试是安全生产模拟考试一点通生成的&#xff0c;天津市安全员C证证模拟考试题库是根据天津市安全员C证最新版教材汇编出天津市安全员C证仿真模拟考试。2023年【天津市安全员C证】模拟考试及天津市…

docker全家桶(基本命令、dockerhub、docker-compose)

概念 应用场景&#xff1a; Web 应用的自动化打包和发布。自动化测试和持续集成、发布。在服务型环境中部署和调整数据库或其他的后台应用。从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。 作用&#xff1a;Docker 使您能够将应用程序与基…

算法通关村第19关【青铜】| 动态规划

动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;是一种解决多阶段决策过程最优化问题的数学方法。它通常用于解决那些具有重叠子问题和最优子结构性质的问题&#xff0c;这些问题可以分解为多个相互关联的子问题。 动态规划的核心思想是将原问题分解为…