API爆发式增长催生新的安全挑战与机遇

(一) API防护缺失已成数据安全
最大风险敞口

根据 Imvision 发布的《Enterprise API Security Survey》报告中,80%的企业通过外部 API提供数据访问,企业利用的 API多种 多样,其中内部 API 的使用最普遍,即组织的开发人员内部使用的 API(71%的公司采取这种方式)。其次,B2B的外部 API(组织为其 业务合作伙伴开放的私有 API)占 63%,B2C的外部 API(消费者
通过 移动应用程序使用的私有 API)占 53%。一般来说,80%的组织允许合 作伙伴(B2B)或用户(B2C)通过外部 API访问其数据。

———数据来自 Imvision
:《Enterprise API Security Survey》报告
在国内,随着 5G、云计算
、物联网的快速发展,加速了 API在各 领域的应用,目前已经在物联网、微服务、云原生等场景都得到了非 常广阔的应用。随着 5G、物联网技术落地,人类正进入万物互联时代, 从 IaaS 到 PaaS、SaaS,从 PC到移动 APP、各种 IoT 设备,API将无 处不在。
根据 Akamai的一项统计,API请求已占所有应用请求的 83%,预计 2024 年 API 请求命中数将达到 42 万亿次,但 API 安全威胁却比 API 调用增长更迅猛。API 安全公司 Salt Security 发布的《State of API Security Report, Q3 2021》报告指出,针对应用程序
编程 接口的攻击流量正在以普通 API流量的三倍速度增长。报告发现,安 全问题在 API项目关注的名单中名列前茅,很少有受访者认为他们有 信心识别和阻止 API攻击。
随着 API在各种应用场景的广泛,近两年来因 API安全问题导致 的数据泄漏事件频频发生。国外,2021 年 4 月,Facebook 平台上的 5 亿用户数据泄漏,涉及信息包括用户昵称、邮箱、电话、家庭住址 等信息,事后判定为某在线业务的 API遭到误用,导致数据泄漏;国 内,2021 年 6 月,著名社交平台 LinkedIn(领英),有超过 7 亿用 户数据在暗网被出售,涉及用户的全名、性别、邮件以及电话号码、 工作职业等相关个人信息。据悉,部分数据也是通过 API 泄漏获取。 层出不穷的数据泄漏事件也给数字化转型中的企业带来巨大风险和 巨额损失的可能性。据 IBM 《数据泄漏成本报告》统计,数据泄漏的 平均成本为 386 万美元;涉及超过 5000 万条消费者记录时,补救成 本可能高达 3.92 亿美元。

API承载了应用各组件间数据的流动,成为数据交互最重要的传 输方式之一,也因此成为攻击者窃取数据的重点攻击对象。与此同时, 由于 API防护的缺失,组织对外暴露了哪些 API、对谁开放、API通 信中携带了哪些敏感数据、对方如何使用这些数据等问题都未得到应 有的重视。攻击者可以通过后端业务系统漏洞、接口暴露、安全配置 缺陷等直接攻击 API进行数据窃取,还可以利用 API的参数组合及各 参数值类型相对固定进行注入类攻击或通过参数与用户身份进行关 联进行越权类攻击。面对 API 安全威胁不断复杂化、多样化的趋势, 政府与企业等的数字化系统正在面临来自多方面严峻的安全挑战。

(二) API安全面临的主要安全问题

  1. 缺乏可见性
  1. API资产不可见

对企业内外已上线的 API 未做好全面的资产统计工作,导致企业 对 API 进行安全测评时遗漏了部分资产或长期未对相关应用进行维 护。一旦某类 API框架型漏洞爆发或被黑客入侵时无法及时定位到相 关应用节点,将错过最佳的应急响应时间。

  1. API访问行为不可见

高频访问行为:API接口在设计之初未对 API接口访问频率做限 制,使部分用户在短时间内可以访问大量 API接口,造成 API接口访 问频率过高,容易引起 API接口不稳定等风险。此外,当访问 API接 口时,API 接口数据缓存在浏览器中,容易造成大量敏感数据泄漏。

大量数据下载行为:API 接口未对用户某个时段内的下载次数、 下载内容大小等做限制,导致用户可以通过多次下载达到获取大量数 据的目的,容易造成大量敏感数据泄漏、隐私数据被贩卖等危险。

网络爬虫行为:如果将 API接口开放到公网上,且未设置反爬虫 机制,则攻击者可以使用假 IP 或修改 User-Agent 请求头隐匿身份, 通过信息收集获取企业内部系统账号,利用网络爬虫爬取账号权限以 及开放在公网上所有的 API接口数据,导致大量数据泄漏。

  1. 攻击面增加

随着云计算技术的广泛应用,越来越多的 SaaS 被迁移上云,在 为更多的用户提供服务的同时,也将 API暴露到云上。相较于传统数 据中心的单点调用,东西向和南北向都可能成为 API的攻击面。

单体应用的场景下,入口点只有一个,所有的请求都会从这个入

口点进来,在这个入口点去建立一组访问控制或者安全防护点,就可 以控制所有的风险。而在微服务场景下,业务逻辑不是在一个单一的 进程里,而是分散在很多进程里。每一个进程都有自己的入口点,导 致需要防范的攻击面比原来大得多。

  1. 缺少身份认证引入的攻击面

某些 API 在设计之初由于未充分考虑用户群体或者具体的使用 场景而未进行身份认证。身份认证的缺失导致相关 API 可被任意访 问,若相关 API涉及敏感数据则会埋下严重的数据泄漏的隐患。

  1. 输入参数未校验引入的攻击面

API 的参数组合及各参数值类型相对固定,这些参数也决定着 API返回的数据。若 API未对参数值的类型进行校验则可能会被攻击 者利用来进行注入类攻击;若攻击者未将参数与用户身份进行关联则 可能会导致越权类攻击。

  1. 明文传输引入的攻击面

API未对传输数据进行加密设计而直接进行明文传输,攻击者可 通过网络嗅探等手段直接获取 API的交互格式以及数据,通过对获取 的数据进行分析,并进行下一步的攻击。

  1. 权限设计不合理引入的攻击面 水平越权,由于服务端在接收到客户端请求数据后进行操作时没

有判断数据的所属对象,致使用户 A可以访问到属于同一角色的用户 B的数据。

垂直越权,由于服务端没有设置权限控制或权限控制存在缺陷,

导致恶意用户只要猜测到管理页面的 URL地址或者某些用于标识用 户角色的参数信息等,就可以访问或控制其他角色拥有的数据,达到 权限提升的目的。

数据权限,某些 API在设计时为兼容多个功能会将过多的数据杂 糅到一起返回至前端,然后由前端去筛选相关的数据。这导致 API返 回过多的数据,攻击者可通过流量拦截等手段获取 API原始返回的数 据,从而存在数据泄漏的隐患。

  1. 安全配置缺陷引入的攻击面 安全配置缺陷是最常见的安全问题,这通常是由于不安全的默认

配置、不完整的临时配置、开源云存储等,例如,错误的 HTTP标头 配置以及包含敏感信息的详细错误信息等问题所造成的。

  1. 代码漏洞引入的攻击面 缺乏统一规范、开发维护不当导致的安全漏洞等脆弱性因素可能

为 API带来严重安全隐患。不法分子可通过安全漏洞、恶性 Bug 等因 素获取敏感信息、造成服务器失陷。

  1. 使用易受攻击和过时的组件引入的攻击面 开发过程中引入开源或第三方插件、加载库、模块、框架等,引

用的开源软件或模块存在安全问题时,势必会导致代码中的漏洞、恶 意代码、“后门”等安全隐患被引入至 API接口中。

  1. 多种攻击隐患
  1. 利用漏洞攻击 服务请求伪造:恶意攻击者可以利用该类型漏洞对服务所在内

网环境进行探测、攻击内网/外网中的其他应用以及读取服务器中的 敏感信息等。

注入:该类型漏洞通常可以分为 SQL注入、代码注入以及命令 注入等,这种类型的漏洞危害性极高,可能导致的后果包括但不限于 敏感信息泄漏、服务器沦陷,一旦被利用给企业带来的损失无可估量。

安全配置错误:配置错误可以发生在一个应用的任何层面,包括 平台、Web 服务器、数据库、容器等。比如应用报错信息未处理直接 返回给调用端导致敏感信息泄漏。

认证和授权失败:用户的身份验证、身份管理和会话管理失败, 会产生与身份验证相关的攻击,例如:使用弱或无效的凭据恢复和 忘记密码流程、使用纯文本、加密或弱散列密码、用户会话或身份 验证令牌在注销或一段时间不活动期间未正确失效。

失效的访问控制:访问控制执行策略失效,可以使用户在其预 期权限之外进行功能操作或数据访问。策略失效通常会导致未经授 权的信息泄漏、修改或破坏所有数据或执行超出用户限制的业务功 能。例如:特权提升、强制以未经身份验证的用户身份浏览经过身 份验证的页面或以标准用户身份浏览特权页面。

加密失效:可能导致用户凭证未加密传输或密文容易被破解,例 如传输层没有使用 TLS加密导致嗅探、中间人劫持攻击。

未授权漏洞:一般是由于认证机制存在漏洞导致身份认证过程 被绕过或将特权接口对外网开放以及默认开放的 API未及时关闭等, 例如: Kubernetes 的 8080 端口、Docker 的 2375 端口的未授权访问等。

  1. 其他攻击手段 缺省口令:业务系统上线时,使用了厂商的缺省口令,且将业

务系统对外暴露,导致攻击者使用缺省的口令,直接登录业务系统 进行任何操作。

弱口令:弱口令存在被暴力破解、撞库、社会工程学攻击等风 险。例如:在某些业务系统中,口令设置长度较低、复杂度不足(数 字、大小写字母、特殊字符等)即为弱口令,

可用性攻击:API 接口未对用户或者访问 IP 进行速率限制时, 攻击者可持续高频地使用多个虚假用户或者 IP 对 API 进行访问, 从而严重消耗服务器资源,导致其他正常用户无法访问相关接口。

  1. 敏感数据泄漏

敏感信息泄漏:在实现 API接口时,未对 API接口返回数据进 行前后端脱敏处理,且数据以明文形式传输,一旦攻击者能够成功 截获流量并成功破解其传输数据,即可获取大量敏感信息,对企业 造成巨大危害。

个人信息泄漏:若企业内部人员、用户等将姓名、手机号、身 份证号码等个人信息直接暴露在公网上,攻击者可能会收集这些敏 感信息,用来制造社工库,存在被钓鱼、勒索等威胁。

数据脱敏失效:API 接口仅采用前端数据脱敏策略,且未对数 据进行加密传输,极易被攻击者截获流量,造成数据泄漏。若前后 端脱敏策略不一致,攻击者可以通过拼接数据的方式来获取原始数据,导致脱敏失效。

参考资料

红蓝攻防构建实战化网络安全防御体系
青藤云安全 2022攻防演练蓝队防守指南

友情链接

CSA IAM白皮书(试读本)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值