API接口安全运营研究

简介: 近年来数据的价值逐渐凸显,数据应用场景不断拓展,数据交易持续增加。参与交易流通的数据类型从金融数据逐步扩展到医疗、交通、工业等多种类型的数据,数据需求方涉及公共服务、影视娱乐、交通、医疗、金融、广告营销等众多领域。然而,随着数据的集中汇聚及开放,数据共享面临着新的安全风险。相比传统的数据库层数据共享技术,当前大量数据通过各类API传输,传统的网络安全防护体系已经难以满足当前的数据安全保护需求,而针对API的安全防护和运营也引起了人们的高度关注。

根据当前API技术发展的趋势,从实际应用中发生的安全事件出发,分析并讨论相关API安全运营问题。从风险角度阐述了API接口安全存在的问题,探讨了API检测技术在安全运营中起到的作用,同时针对API安全运营实践,提出了几个方面的设想以及能够带来的运营价值。

  0 1  

 背 景

近年来数据的价值逐渐凸显,数据应用场景不断拓展,数据交易持续增加。参与交易流通的数据类型从金融数据逐步扩展到医疗、交通、工业等多种类型的数据,数据需求方涉及公共服务、影视娱乐、交通、医疗、金融、广告营销等众多领域。然而,随着数据的集中汇聚及开放,数据共享面临着新的安全风险。相比传统的数据库层数据共享技术,当前大量数据通过各类API传输,传统的网络安全防护体系已经难以满足当前的数据安全保护需求,而针对API的安全防护和运营也引起了人们的高度关注。

  0 2  

API及其安全风险

2.1 API概述

在应用编程实践中,由于系统的复杂性,在设计阶段就将其划为较小的部分,不同部分之间的规范约定就是应用程序接口(Application Programming Interface,API)。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性[1]。一方通过API发送远程请求,无需了解对方内部系统的逻辑,即可访问对方开放的资源,实现数据和服务的互动。目前,API已成为数据传输共享的重要手段。

2.2 API面临的挑战

2.2.1 API安全事件频发

API的数量急剧增长,与之相关的安全风险也在同步增加。近年来基于API安全所引发的事件屡屡发生:2018年Facebook公布了通过数据共享API被大规模网络攻击事件的细节,此次事件造成了3 000万用户的账号信息被泄漏;2020年淘宝报警称有黑产通过mtop订单评价API绕过平台风控批量爬取加密数据,共计11.8亿条。由此可见,API已经成为影响企业数据安全的重要风险来源。

2.2.2 API安全风险挑战

从API自身特点来看,除了常见的传统Web攻击威胁外,API还面临着越权访问、数据暴露、凭证失陷等威胁。同时,这些威胁检测涉及到了API接口发现、参数检测、行为识别、访问控制等多个环节,任何环节的缺失或不足都会影响到整体防护效果。所以,保护API安全的难点有以下几点。

a)场景复杂,无法通用。API应用业务场景十分丰富。在不同的业务场景下,一些风险特征或模型很难通用;同时,企业内部混合着十几年前的应用系统和新上线的系统,系统的实现可能不一致,API存在多样化的复杂性。

b)缺乏指导,难分主次。API安全防护虽然一直在发展,但目前还是处于探索阶段,业界对如何解决API安全问题,还没有形成一个普遍认可的最佳实践,所以在落地API运营建设的时候容易缺乏指导,难分主次。

c)能力分散,无法闭环。即使在一些安全建设比较领先的行业,也大多存在能力分散、产品孤岛的问题,产品能力、工作流程之间没有很好地打通,同时缺少对漏洞和风险的生命周期管理,没有形成闭环,实际运营的效率比较低。

2.3 安全风险分析

原生API大多从易用性、便利性等角度进行设计,往往缺乏对自身威胁的防护。而在API的设计实现中,也存在多种原因造成API之间的安全问题[2]。同时,敏感数据被封装在业务场景中,通过API进行交换,如果没有采用安全标记、多级授权、访问控制、安全审计等安全机制构建安全的交换空间,也难以确保数据的安全。

针对API的可利用性弱点、普遍性弱点、可检测性、技术影响、业务影响等方面,本文着重介绍其中影响较大的几个问题。

2.3.1 对象级授权失效

通常API采用令牌方式对用户请求进行鉴权,服务器会在用户登录之后生成一组不重复的字符作为令牌,在调用API时需要携带令牌由服务器进行校验[3]。这种机制的失效通常会导致未经授权的信息泄露、篡改或破坏。对象级授权失效如图1所示。

图1 对象级授权失效[4]

2.3.2 用户身份验证失效

如果身份认证机制出现问题,将使攻击者得以暂时甚至永久冒充其他用户身份,导致API的整体安全性降低。用户身份验证失效如图2所示。

图2 用户身份验证失效[4]

2.3.3 对象属性级授权失效

当允许用户通过API接口访问数据时,需要验证用户是否具备访问对象的特定属性访问权限,如果API接口上存在用户不应该读取或访问的属性,即使是不敏感的数据,被大量收集后,也会暴露个人隐私,造成数据的泄露。对象属性级授权失效如图3所示。

图3 对象属性级授权失效[4]

  0 3  

API安全运营研究

3.1 API安全运营思路

API由于数量大、更新快且关联敏感数据和账号的变更,对其进行盘点和统计是后续安全防护的基础。但大部分企业并没有把API资产纳入到资产盘点的范畴,未做好全面的资产梳理工作,会导致混乱、复杂的API资产台账。如应用API域名、IP、端口、路径的复用或拆分使用,呈现千“业务”千“API”的局面。

很多无用API没有及时下线,形成了僵尸API,可能导致严重的安全风险。传统上安全部门对API的盘点是依赖于业务部门的上报,但由于统计不全或更新不及时等种种原因,API资产很难通过有限人力以静态的方法来完成持续有效的梳理。并且由于安全技术人员对业务鲜有了解,难以准确理解API的各类业务属性,无法建立起资产、告警、业务、业务人员的逐一对应视图,因此必须借助API检测技术对API台账进行梳理。

API检测是一种软件测试实践,通常采用主动扫描的方式,直接测试API的功能表现、可靠性、性能表现和安全性。API测试可以通过工具模拟请求的发送与接收,如Postman、JMeter等;或者代码模拟请求的发送与接收,如JAVA自带的Web、HttpClient等。除此之外,还有以流量监测为基础的API流量分析技术,可实现对API数据暴露面的治理和对数据攻击行为持续发现[5]

API的指数级应用使得API安全的条件变得异常严苛,也将企业推入了一个“高压”的局面,企业应该围绕闭环性、可持续性的API建设思路进行安全体系的设计和实施,基于均衡取舍研究的结果来定义系统安全设计元素,并且向系统安全设计元素分配安全机制,确定所期望的安全机制和实际有效的安全机制前端是否一致或相当,检验并最终确定设计元素和系统接口,制定安全规范等。

可以从以下几个方面开展API安全运营实践(见图4)。

图4 API安全运营重点方向

a)全量API资产洞察。主动发现网站、小程序、APP等全量API资产,提供API类型、级别、形态、生命周期等全方位的API资产描述。从应用系统、数据标签组合、敏感等级、访问域、最近活跃时间、访问量等多种维度进行分析、筛选,形成重点API清单。

b)API暴露面管理。通过API数据暴露面管理、重点API清单筛选,辅助实现攻击面管理(ASM),完成泄露资产的发现及脆弱性检测。对接入侵&攻击模拟能力(BAS),评估企业安全技术措施的有效性,同时帮助渗透测试人员去更好更深度地渗透,持续加固API数据暴露面的管理。

c)API弱点全面评估。识别评估API脆弱性,包括接口权限类、数据暴露类、安全规范类、口令认证类、高危接口类等问题,能够覆盖OWASP API Top 10相关问题点,并满足主管部门及监管机构的合规要求。

d)API弱点确认与修复。对接企业的安全SOC平台,推动API的弱点修复流程;同时集成到企业现有的ITSM/SIEM工作流中,形成弱点/漏洞工单处理流程;也可以基于弱点的危害性和风险影响面,直接通过邮件、钉钉等IM软件推送给负责的业务部门去整改修复。在API弱点修复后,通过流量分析持续验证弱点是否完成修复,从而形成闭环。

e)API访问行为风险发现。由于在不同的业务场景下,一些风险特征或模型很难通用,因此在风险规则的基础上提出了新的解决思路:以接口为中心,针对业务安全场景,识别并刻画业务接口关键参数关系画像,从而能够以此画像为基线,发现接口的访问行为风险。能够识别的API新型攻击风险类型包括异常API请求/响应、异常访问行为模式、异常接口访问轨迹、异常数据调用行为等。

f)API风险研判与处置闭环。通过集成或对接威胁情报,实现可疑行为的进一步验证,通过旁路阻断、联动防护设备等方式完成验证后的风险处置。

g)事件溯源分析补漏。针对API的异常风险事件,通过下发溯源任务,主动进行关联事件的相关性检索分析,对数据行为进行精准审计并将结果汇总,便于及时补漏安全缺口。

h)异常行为持续分析。通过HTTP全流量日志存储检索与分析,对敏感API、人员账号、IP行为等要素进行组合检索,持续监测异常行为,将API安全运营做到更高的高度。

i)集中管理统一运营。通过威胁情报管理、暴露面治理、风险聚集性挖掘、异常行为审计分析等API运营手段,汇聚分析API风险并进行集中管理,打破孤岛效应,提升运营效率。

从企业视角来看,忽略API资产加剧了整个API风控运营体系的实施。建议企业结合自身的业务状况,打造API运营中心,以主动发现API资产、完成API接口资产清单为安全基建,逐步打造API弱点评估、风险监测、威胁拦截、异常行为审计、集中管理等能力,最终实现API安全运营闭环的落地。API风险运营流程如图5所示。

图5 API风险运营流程

3.2 API安全运营价值

3.2.1 数据流动态势识别

可识别自定义的流入、流出应用系统的敏感数据(包括Web页面内和传输文件内的敏感数据)的种类和数量,记录存储访问系统传输敏感数据的详细信息,包括用户IP、姓名、部门、访问对象、访问时间以及访问内容等详情,构建应用系统的敏感数据流动地图,提供记录的多维度查询功能,可以快速、全面地知晓什么人在什么时间通过什么方式获取了什么敏感数据。

3.2.2 应用系统接口管理

针对每个业务系统,梳理其接口数量和情况,形成应用接口清单。从是否传输敏感数据、接口的活跃程度、上传/下载等方面将接口进行分类分级,检测接口存在的无鉴权访问、后门接口等暴露面,并进行分类汇总展示,实现暴露面可还原,帮助安全人员摸清接口的脆弱性,推动系统侧进行应用系统设计和运维方面的问题整改。

3.2.3 敏感数据风险预警

建立各类敏感数据风险监控指标,构建分析模型,对数据行为建立用户基线、接口基线、系统基线等,实时监控多个维度的运行状态,实时发现非正常时间访问、大量数据异常下载、敏感数据未脱敏、伪脱敏等各类异常行为,并及时告警,防止大规模的敏感数据泄露、窃取、滥用等风险。

3.2.4 数据泄露事件溯源

实现敏感数据流动地图的可视化展示,能够清晰地展示应用系统、接口等清单报表和运行安全性,自定义敏感数据标签和风险指标,详细记录日志并针对脆弱性、风险事件进行分类统计、分析和展示。在完整记录敏感数据流动、访问操作的基础上,做好数据内容、账号、接口等多维度的溯源,还原风险路径、评估影响面。

  0 4  

API安全运营总结

从长远来看,可以通过将本文的解决方案与用户现有的工作流程无缝集成以及与用户现有的平台/技术紧密融合,从而建立一个有效的闭环验证机制。同时,还可以利用API接口上下文画像,建立正常行为的基线,并检测异常和离群的风险,实现风险规则的自动调整,加强风险自动化运营能力。考虑到企业内部职责边界的情况,设计清晰的用户使用路径,使参数配置可视化并实现精细化运营。这些举措将提升API风险管控机制的建设与运营实践水平,真正实现API安全运营落地,为企业发展带来持续的收益和效益。


相关文章
|
17天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。
|
29天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
|
1月前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
|
2月前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。
|
20天前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
2月前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
182 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
2月前
|
人工智能 自然语言处理 PyTorch
Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
文生视频是AI领域热点,很多文生视频的大模型都是基于 Huggingface的 diffusers的text to video的pipeline来开发。国内外也有非常多的优秀产品如Runway AI、Pika AI 、可灵King AI、通义千问、智谱的文生视频模型等等。为了方便调用,这篇博客也尝试了使用 PyPI的text2video的python库的Wrapper类进行调用,下面会给大家介绍一下Huggingface Text to Video Pipeline的调用方式以及使用通用的text2video的python库调用方式。
|
2月前
|
JSON JavaScript API
(API接口系列)商品详情数据封装接口json数据格式分析
在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!
|
1月前
|
JSON 前端开发 JavaScript
API接口商品详情接口数据解析
商品详情接口通常用于提供特定商品的详细信息,这些信息比商品列表接口中的信息更加详细和全面。以下是一个示例的JSON数据格式,用于表示一个商品详情API接口的响应。这个示例假定API返回一个包含商品详细信息的对象。
|
2月前
|
JSON API 开发者
1688API商品详情接口如何获取
获取 1688 API 商品详情接口的步骤包括:1. 注册开发者账号;2. 了解接口规范和政策;3. 申请 API 权限;4. 获取 API 密钥;5. 实现接口调用(选择开发语言、发送 HTTP 请求);6. 处理响应数据。通过这些步骤,可以顺利调用 1688 的商品详情 API。