首页 > 其他分享 >API NEWS | 谷歌云中的GhostToken漏洞

API NEWS | 谷歌云中的GhostToken漏洞

时间:2023-09-14 21:08:58浏览次数:55  
标签:令牌 Google GhostToken 身份验证 应用程序 安全 API NEWS

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

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

  • 一篇关于谷歌云中的GhostToken漏洞的文章
  • 一篇关于Gartner对零信任的看法的文章
  • 一篇身份验证攻击威胁API安全的文章
  • 一篇关于API安全无处不在的文章

谷歌云中的GhostToken漏洞

本周得到了所谓的GhostToken漏洞的消息,攻击者可以通过应用程序市场针对Google Cloud用户进行攻击。根据发现该漏洞的Astrix的研究人员称,它可以允许攻击者访问目标账户的Google Drive、Calendar、Photos、Google Docs、Google Maps和其他Google Cloud平台服务。

研究人员于2022年6月向Google报告了他们的发现,Google在2022年8月接受了这些发现,然后在2023年4月发布了一个全球补丁来解决此问题。研究人员还建议Google Cloud用户定期使用Google Cloud门户上的应用程序管理页面验证其实例上安装的应用程序。

漏洞的根本原因与Google Cloud管理应用程序的生命周期有关,具体地说,与应用程序相关的OAuth2令牌如何被管理有关。Google Cloud为应用程序提供了30天的宽限期,在应用程序被计划删除的时间起到永久删除之前。这个宽限期是为了让管理员有机会恢复错误删除的资源。在待删除状态下,应用程序(以及其相关资源,如OAuth2令牌)对平台用户不可见。Astrix的研究人员发现,如果在30天的窗口内取消了应用程序的待删除操作,则应用程序及其所有关联资源将被恢复。他们用OAuth2令牌进行了测试,发现该令牌仍然可以访问其原始资源。

他们描述了如何使用此删除/待删除/取消删除循环来有效地从用户的Google Cloud门户应用程序管理页面中隐藏一个恶意应用程序,使用以下攻击流程:

API NEWS | 谷歌云中的GhostToken漏洞_身份验证

使用这种技术,攻击者可以有效地永久隐藏他们的应用程序,除了每30天执行恢复/删除步骤的短暂窗口。

这将使攻击者几乎不可能检测到恶意应用程序的存在。

需要及时提醒管理员定期检查其平台上未使用或意外的访问令牌。

小阑建议:

  • 及时更新和升级:确保您的Google Cloud平台和应用程序库保持最新版本。及时应用Google发布的安全补丁和更新,以修复已知的漏洞和弱点。
  • 定期检查和验证应用程序:定期审查您Google Cloud实例上安装的应用程序,并使用Google Cloud门户上的应用程序管理页面验证其合法性和安全性。删除任何不再需要的或可疑的应用程序。
  • 强化访问控制:限制谁可以访问和管理您的Google Cloud平台。采用最小权限原则,仅为必要的用户提供适当的访问权限。
  • 实施多因素身份验证(MFA):为Google Cloud账户启用多因素身份验证,以增加账户的安全性。这可以防止未经授权的访问,即使攻击者获得了某些凭据。
  • 监控和日志记录:实施全面的监控和日志记录机制,以便能够检测异常活动并追踪潜在的安全事件。定期检查日志,及时发现和应对异常情况。
  • 报告漏洞:如果发现任何潜在的漏洞或安全问题,请及时向Google报告,以便他们能够采取适当的措施来修复和防止潜在的风险。

Gartner对零信任的看法

接下来,我们从Gartner和其他行业专家的角度来看零信任的前景,尤其是它对API安全的影响。Venture Beat上的一篇文章引用了最近Gartner的研究结果,该研究显示,虽然97%的组织都有零信任的倡议,但到2026年,只有其中10%将实施可衡量的计划。尽管零信任在降低整体网络风险方面具有巨大的潜力,但这份报告及时提醒我们,它并不是万能的解决方案,特别是在API安全方面。

根据Gartner的说法,零信任的最大挑战在于它主要是一种访问控制方式,在保护现代应用程序各层面受到攻击时并不有效。特别是,在保护API方面扩展零信任是具有挑战性的,这也导致了2023年出现了多起API遭到侵犯的事件,包括T-Mobile和Twitter的遭到泄露。

API NEWS | 谷歌云中的GhostToken漏洞_身份验证_02

该文章突出了行业领导者在如何最好地保护API方面的不同观点。Forrester认为,组织应该摒弃传统的基于边界的安全方法来保护API,并将安全嵌入到API开发的生命周期中(这是我所赞同的观点)。然而,其他人持有不同意见——Approov的首席执行官Ted Miracco认为,这种向左移动的API安全方法未能解决现实世界中API安全面临的挑战,他引用了很多遭到攻击的API都有良好身份验证的事实。他的方法是确保API在实时中持续监控威胁。

报告总结认为,零信任是一种有效的风险减少控制措施,但还需要额外的控制措施(特别是连续监控)来加强API的安全姿态。目前来说,最好的方法仍然是安全左移并向右护盾的方式。

小阑解读:

在零信任(Zero Trust)基础上实施API安全措施是保护网络和应用程序免受未经授权访问的重要步骤。

  • 身份验证和授权:为每个API请求实施身份验证和授权机制,确保只有经过身份验证和授权的用户或应用程序能够访问API。使用强大的身份验证方法,如多因素身份验证(MFA),来增加安全性。
  • 最小权限原则:将最小权限原则应用于API访问控制。为每个用户或应用程序设置最小必要权限,仅允许其访问执行其任务所需的资源和功能。细粒度访问控制可以通过角色、权限组或基于属性的访问控制(ABAC)等方式实现。
  • 安全传输:使用加密协议(如HTTPS)来保护API数据的传输。确保所有数据在传输过程中都进行加密,以防止未经授权的拦截和窃取。
  • API网关:使用API网关作为API访问的入口点,并在其上实施安全策略。API网关可以处理身份验证、访问控制、流量管理和日志记录等功能,以提供更高级的安全性。
  • 审计和监控:实施全面的审计和监控措施,以跟踪API活动并及时检测和响应潜在的安全事件。使用日志记录、报警系统和行为分析工具等技术来监视API的使用情况,并进行及时响应。
  • API令牌管理:对API访问进行令牌管理。为每个用户或应用程序发放唯一的API令牌,并定期刷新这些令牌以增强安全性。禁用或撤销不再使用的令牌。
  • 漏洞管理:定期进行API安全漏洞评估和渗透测试,发现和修复潜在的安全漏洞。确保API的安全性与最新的安全标准和最佳实践保持一致。

身份验证攻击威胁API安全

在Infosecurity Magazine的一篇文章中,我们将更深入地探讨为什么身份验证攻击会威胁API安全。根据 OWASP 的说法,在 2023 年,身份验证中断仍然是API安全面临的重大挑战。

在 API 实现和客户端,导致 API 身份验证不佳的原因有很多。在实现的情况下,这可能包括简单的缺陷,例如忘记在代码中实现身份验证检查,以及错误地处理和处理 JWT 令牌(例如忘记验证签名)。在此客户端,通过使用弱密码或不安全处理令牌和密钥,可能会削弱身份验证。

API NEWS | 谷歌云中的GhostToken漏洞_应用程序_03

可以实施许多建议来强化 API 身份验证,包括:

  • 生成复杂的密码和密钥:强制实施要求最小长度和复杂性的密码策略,并确保密钥足够长且不可预测。
  • 保护您的密码重置过程:攻击者使用的常见媒介是暴力破解密码重置过程。在密码重置终结点上强制实施速率限制或其他带外质询,以阻止暴力破解的尝试。
  • 正确生成令牌:JWT 令牌经常错误生成,包括省略签名或到期日期。
  • 强制令牌过期:确保令牌和密钥具有到期日期,并且不会永久保留,以最大程度地减少令牌丢失或被盗的影响。
  • 防止令牌和密钥泄露:使用密码管理器或保管库存储密钥,以便第三方无法访问它们。
  • 强制实施递增身份验证:访问敏感终结点时,强制实施额外的安全层,例如使用 MFA 或其他质询。
  • 确保存在可靠的吊销过程:如果发生泄露,请确保具有可靠的过程,以便能够撤销然后重新颁发受影响的密钥或令牌。

虽然身份验证是最重要的API安全漏洞之一,但是通过遵循相对简单的最佳实践更容易缓解。

小阑建议:

为了预防中断身份验证,可以进行以下方式:

  • 实施多因素身份验证(MFA):在用户进行身份验证时,要求他们提供多个验证因素,例如密码、手机验证码、指纹等。这样即使攻击者获取了一个验证因素,他们仍然需要其他因素来成功通过身份验证。
  • 使用安全的密码策略:强制用户创建强密码,并定期更新密码。密码应该具有足够的复杂性,包括大小写字母、数字和特殊字符,并且不应该与个人信息相关联。
  • 实施访问限制和登录失败锁定:限制用户尝试登录的次数,并在一定数量的失败尝试后锁定账户一段时间。这可以防止恶意用户使用暴力破解技术来猜测密码。
  • 使用会话管理和过期时间:通过设置会话超时时间,确保用户在一段时间后自动注销。这可以减少未经授权的访问并提高安全性。
  • 定期审查和更新安全证书和密钥:如果您使用证书或密钥进行身份验证和加密,请确保定期审查和更新它们,以防止被泄漏或滥用。
  • 加密数据传输:在身份验证过程中,确保数据的传输是加密的,例如使用HTTPS协议来保护传输的敏感信息。

API安全性无处不在

来自Security Boulevard,介绍了Josh Thorngren关于为什么API安全无处不在的想法。

作者认为API安全性是一个广泛的主题,但定义不明确,这往往会让用户在选择合适的解决方案时感到困惑。

例如,API 安全性的范围可以从使用SAST工具测试API 代码,到尝试使用网络防火墙在运行时保护API。然而,其他供应商则关注管理库存的重要性,以此作为降低API安全风险的途径。

API NEWS | 谷歌云中的GhostToken漏洞_API_04

作者描述了Mayhem采用的方法,该方法自动生成并执行针对API的攻击。在投入生产之前执行此类广泛测试的优势在于识别API中的任何漏洞、弱点和数据泄漏。此外,此测试可以识别性能和可靠性问题以及其他异常情况。

本文最后提供了一些提高API安全性的技巧,包括:

  • 确保您的身份验证和授权实现设计良好且实施可靠。
  • 定期监控 API 使用情况并及时了解漏洞。
  • 使用输入验证来防止攻击者滥用您的 API 违背其设计意图。
  • 在设计时主动了解 API 安全性,并了解发生泄露时的风险。

小阑解读:

API安全性问题已经成为当今数字化时代的关键议题,因为API已经渗透到了人们的生活和工作的方方面面,无处不在。无论是从熟悉的社交媒体、在线支付到工业自动化和医疗保健,API技术都在支撑着这些应用。但随着API的广泛使用,相应的安全风险也日益凸显。这些风险包括敏感数据的暴露、未经授权的访问、DoS攻击、恶意软件注入等等。而这些风险不仅会对企业的财产、声誉和客户信任造成严重影响,还可能引发更加严重的法律后果。

因此,API安全问题不仅仅是技术问题,也是管理问题、合规问题和商业问题。要保护API的安全,需要采取综合的措施,包括加密、认证、授权、防御性编程、检测和监控等多个方面。只有在这样的综合框架下,API才能够真正做到安全无虞。

感谢 APIsecurity.io 提供相关内容

标签:令牌,Google,GhostToken,身份验证,应用程序,安全,API,NEWS
From: https://blog.51cto.com/u_15867266/7473703

相关文章

  • 一体化研发协作赋能平台:Apipost
    作为一款专为程序员打造的API管理工具,Apipost也成为开发人员圈子里的一款热门工具。Apipost拥有强大的功能和便捷操作性,这也让许多开发者爱不释手。那么,Apipost到底有哪些吸引人的特点呢?本文将为您详细介绍。统一API管理Apipost提供了统一的API管理平台,支持多种数据格式和API文档,让......
  • 一体化研发协作赋能平台:Apipost
    作为一款专为程序员打造的API管理工具,Apipost也成为开发人员圈子里的一款热门工具。Apipost拥有强大的功能和便捷操作性,这也让许多开发者爱不释手。那么,Apipost到底有哪些吸引人的特点呢?本文将为您详细介绍。 统一API管理Apipost提供了统一的API管理平台,支持多种数据格式和AP......
  • 百度地图GL javascript API 如何绘制流动箭头的线?
    要使用百度地图GLJavaScriptAPI绘制流动箭头线,可以使用Polyline和Symbol样式来实现。下面是一个示例代码://创建地图实例varmap=newBMapGL.Map("mapContainer");map.centerAndZoom(newBMapGL.Point(116.404,39.915),11);//创建折线varpoints=[newBMapG......
  • ArcGIS API for JS4.8绘制点、线、面、矩形、圆
    实现代码使用ArcGISAPIforJS4.8绘制点(Point)、线(Polyline)、面(Polygon)、矩形(Rectangle)、圆(Circle),使用Draw绘制,具体代码如下:<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title>ArcGISdemo</title><linktyp......
  • .NET Core创建API项目
    新建项目类型:ASP.NETCoreWebAPIWebAPI控制器通常应派生自ControllerBase而不是Controller。Controller派生自ControllerBase,并添加对视图的支持,因此它用于处理Web页面,而不是WebAPI请求。如果同一控制器必须支持视图和WebAPI,则派生自Controller。API接口返回......
  • 三节点master修改apiserver端口
    因业务需求,需要把apiserver的6443端口改成其它端口,k8s集群是二进制部署的,有三个master节点,调整方法如下1.修改apiserver启动service中的配置查看apiserver的service文件位置systemctlstatuskube-apiserver,找到/usr/lib/systemd/system/kube-apiserver.service修改--secure-p......
  • fastapi设置响应示例
    classTest(BaseModel):name:strdescription:intcreated_at:strupdated_at:strdata:dict@validator("data",pre=True)defparse_data(cls,value):returnjson.loads(value)ifvalueelse{}@validator(......
  • 一文看懂Apipost IDEA插件2.0
    大家好,Apipost最新推出IDEA插件V2版本!V2版本主要是Apipost符合更多用户的需求而推出,支持在插件中获取token、支持代码完成后在插件中进行API调试,同时也保留了1.0版本部分功能如上传选择目录功能等。V1版本还会继续保留开源,方便各位进行自创魔改。V2版本目前已上架至IDEA插件商......
  • 速记:B站拉取饭贩(直播开放平台)身份码的API
    近期blivechat更新为接入开放平台读取身份码的方式拉取弹幕了,遂速记一下抓到的B站获取这个身份码的API。就这东西https://api.live.bilibili.com/xlive/open-platform/v1/common/operationOnBroadcastCode请求方式:POST认证方式:Cookie鉴权方式(推测):Cookie中bili_jct的值正确......
  • FastAPI学习-12. 请求Cookie 参数
    前言你可以像定义 Query 参数和 Path 参数一样来定义 Cookie 参数。声明 Cookie 参数首先,导入 Cookie:fromfastapiimportCookie,FastAPI声明 Cookie 参数的结构与声明 Query 参数和 Path 参数时相同。第一个值是参数的默认值,同时也可以传递所有验证参数......