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

参考资料

信通院 应用程序接口-API数据安全研究报告-2020年

API在公司全业务快速使用给信息安全带来了巨大挑战相关推荐

  1. 加入新公司,怎样快速熟悉业务和项目?

    转载自:https://www.toutiao.com/a6599078103778066947/?tt_from=weixin&utm_campaign=client_share&w ...

  2. 我是如何在一家独角兽公司做业务中台、数据中台的?8页ppt详解中台建设实践!...

    点击"技术领导力"关注∆  每天早上8:30推送 概述 中台这个词火爆挺久了.但从阿里 2015 年提出并开始实施,发展到目前为止,并没有「标准化」:换句话说,它跟「人工智能」,「 ...

  3. 选型宝访谈:如何借助API生态平台,一站式快速搞定APP开发?

    写在前面 今天,移动技术层出不穷,微信生态日益丰富,企业是否还需要开发APP?怎样快速开发高性能.跨平台的APP?怎样实现从开发到测试,再到运营的APP全生命周期管理? 1 为什么APP 仍是移动互联 ...

  4. 从端到云——工业物联网项目全栈快速开发

    作者:刘洪峰,网名叶帆,叶帆科技创始人兼CEO,前微软(中国).NET Micro Framework开发团队成员,微软全球最有价值专家(MVP),CSDN十大MVB.以微软.NET MF系统为核心, ...

  5. 中建五局电子合同:打通全业务数字化链路

    中建五局成立于1965年,是世界500强第13位--中国建筑股份有限公司的全资骨干企业.以房屋建筑施工.基础设施建造.投资与房地产开发为主营业务,拥有房建.市政.公路"三特三甲"资 ...

  6. 拨开发展迷雾,将“智慧”嵌入全业务场景【2022戴尔科技峰会预告】

    当世界慢了下来 有韧性的企业仍然会增长 行稳致远 数智远见者 2022戴尔科技峰会 8.25让我们一同开启"韧性"之旅 商场如战场. 如今,消费者的注意力是稀缺资源,零售行业对于消 ...

  7. 用友iuap技术平台:赋能企业业务快速创新,实现云原生自由

    ​伴随着数字化.智能化转型的深化,企业对云原生的需要,不仅是采用以容器.服务网格.微服务.声明式API等云原生技术,而且要回到"云原生"定义的初衷上,让应用在云架构上构建,生于云. ...

  8. 阿里百度盛大等全业务布局揭秘

    前言:腾讯科技本周连续推出<大棋局>策划,讲述腾讯.百度.阿里.搜狐.盛大.360等等互联网巨头接连进行"全业务布局"的背景原因和具体策略.未来 5年,我们很可能看到各 ...

  9. 入职新公司,如何快速上手公司业务?

    最近很多小伙伴入职新公司,问我入职好如何快速上手自己负责的产品,这里说一下自己的看法: 1.了解一下公司的业务逻辑 可以通过请教别人的方式,了解一下公司的业务,请教的时候可以给别人买一杯咖啡啥的,谁都 ...

  10. 华为云张昆:支持全场景全业务,GaussDB加速企业数字化转型

    云.AI.5G等技术驱动,数据库行业迎来新的需求,云数据库也在不断演进升级.依托华为云与华为云Stack,通过全栈软硬件优化,华为云GaussDB进行了进阶与革新,以统一的架构,支持关系型与非关系型的 ...

最新文章

  1. c3p0数据源配置抛出Could not load driverClass com.mysql.jdbc.Driver的解决方案
  2. JWT 和 JJWT,别再傻傻分不清了!
  3. 【Codeforces Round #430 (Div. 2) D】Vitya and Strange Lesson
  4. python 合并两个排序的链表(递归解法)
  5. python教程:可变长参数(*args、**kwargs)、返回值(return)
  6. 用友u8cloud使用教程_四大ERP供应商SAP、Oracle、用友、金蝶哪个好
  7. mysql savepoint语法_SAVEPOINT语法错误一例
  8. 云服务器显示隐藏文件,云服务器显示隐藏文件
  9. 经典算法题随机从连续的100个不重复数中取出100个不重复随机数
  10. 快速完成单片机毕业设计方法
  11. PHP 判断一个数是否是质数
  12. 神经计算棒是什么_这是太棒了
  13. 0602 信用卡防盗刷学习总结
  14. 用微信小程序加市面上的网络摄像头实现视频会议
  15. 基于微信小程序社区疫情防控系统
  16. NLP-文本向量化:Word Embedding 一般步骤【字符串->分词->词汇序列化->词汇向量化】
  17. 思维导图到底是什么-图说思维导图定义
  18. 华为手机下拉菜单变大_华为手机下拉菜单变少了 华为下拉通知栏变白色
  19. 信号与通信系统【期末复习提纲·绪论】
  20. PLSQL导入Excel遇到的奇怪问题

热门文章

  1. Chrome一直在更新的几个广告拦截插件
  2. android获取网络时间工具类,Android检测网络接口访问速度,ping接口获取访问时间平均值...
  3. Mac 录屏制作gif动图
  4. 十四届恩智浦智能车竞赛双车组-星夜兼程队2019回顾
  5. UR+RealSense手眼标定(eye-to-hand)
  6. node2vec文献出处_图表示学习入门2——Node2Vec
  7. 【网络】HTTP原理的简单理解
  8. 通过Cadence学拉扎维的第0天-工艺库的导入+共源电路仿真示例
  9. 使用PyHive操作Hive
  10. java springboot房地产信息管理系统