API接口安全运营研究(内附官方开发平台api接口接入方式)

news2024/11/15 4:55:26

摘  要

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

 0 1   

 背 景

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

 0 2   

API及其安全风险

2.1 API概述

在应用编程实践中,由于系统的复杂性,在设计阶段就将其划为较小的部分,不同部分之间的规范约定就是应用程序接口(Application Programming Interface,API)(官方api接口接入方式)。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展。一方通过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之间的安全问题。同时,敏感数据被封装在业务场景中,通过API进行交换,如果没有采用安全标记、多级授权、访问控制、安全审计等安全机制构建安全的交换空间,也难以确保数据的安全。

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

2.3.1 对象级授权失效

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

图片

 图1 对象级授权失效

2.3.2 用户身份验证失效

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

图片

图2 用户身份验证失效

2.3.3 对象属性级授权失效

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

图片

  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数据暴露面的治理和对数据攻击行为持续发现。

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安全运营落地,为企业发展带来持续的收益和效益。

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

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

相关文章

C++语言实现网络爬虫详细代码

当然&#xff01;下面是一个用C语言实现的基本网络爬虫的详细代码示例&#xff1a; #include <iostream> #include <string> #include <curl/curl.h> size_t writeCallback(void* contents, size_t size, size_t nmemb, std::string* output) {size_t totalS…

ElementUI增删改的实现及表单验证

文章目录 一、准备二、添加功能2.1 新增添加按钮2.2 添加弹出框2.3 data中添加内容2.4 methods中添加相关方法 三、编辑功能3.1 表格中添加编辑和删除按钮3.2 methods中添加方法3.3 修改methods中clear方法3.4 修改methods中的handleSubmit方法 四、删除书籍功能4.1 往methods的…

“开启中文智能之旅:探秘超乎想象的 Llama2-Chinese 大模型世界”

“开启中文智能之旅&#xff1a;探秘超乎想象的 Llama2-Chinese 大模型世界” 1.国内Llama2最新下载地址 本仓库中的代码示例主要是基于Hugging Face版本参数进行调用&#xff0c;我们提供了脚本将Meta官网发布的模型参数转换为Hugging Face支持的格式&#xff0c;可以直接通过…

Linux上通过mysqldump命令实现自动备份

Linux上通过mysqldump命令实现自动备份 直接上代码 #!/bin/bash mysql_user"root" mysql_host"localhost" mysql_port"3306" mysql_charset"utf8mb4"backup_location/home/mysql/mysql_back/sql # 是否开始自动删除过期文件,过期时间…

PUPANVR-LVGL UI主菜单及设置窗体框架(9)

PUPA NVR UI主菜单及设置窗体框架 在设计UI时&#xff0c;竟量把数据、控制、显示&#xff0c;分开&#xff0c;即MVC的一个模式吧&#xff01;使用MVC这样的模式思想&#xff0c;会让代码简洁不少&#xff0c;逻辑也很清析&#xff01; 具体的代码见&#xff1a; PUPANVR这个…

北邮22级信通院数电:Verilog-FPGA(4)第三周实验:按键消抖、呼吸灯、流水灯 操作流程注意事项

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.注意事项 二.按键消抖 2.1 LED_deboun…

面试题补充

1.公司有几套环境&#xff1a;测试环境&#xff08;测试人员使用&#xff09;&#xff0c;开发环境&#xff08;开发人员使用&#xff09;&#xff0c;预生产环境&#xff08;测试人员使用&#xff09;&#xff0c;生产环境&#xff08;用户使用&#xff09; 2.作为一名测试&a…

关于GP7 release版在麒麟V10信创操作系统编译不过的问题解决

背景 大家期盼已久的Greenplum 7 最终版终于发布了&#xff01;好消息&#xff01;&#xff01; 很多同学已经忍不住想快速试用GP 7新版本了&#xff0c;同时&#xff0c;为了满足信创要求&#xff0c;需要在国产的操作系统服务器上运行GP。 然后官方的GP 7并没有明确声明支持…

run_main_loop 到 cmd_process处理说明三

一. run_main_loop 到 cmd_process处理过程 之前文章了解了 uboot的命令格式组成。本文简单分析下 cmd_process函数对 uboot命令的处理过程。 本文继上一篇文章的学习&#xff0c;地址如下&#xff1a; uboot启动流程-run_main_loop 到 cmd_process处理说明二-CSDN博客 二. …

扎克伯格:希望借助数字助理、智能眼镜和AI帮助推动元宇宙发展

Meta推出了新的人工智能工具和名人代言的数字助手&#xff0c;首席执行官马克扎克伯格希望这些工具可以帮助推动元宇宙的发展。 9月30日消息&#xff0c;据外媒报道&#xff0c;Meta推出了新的人工智能工具和名人代言的数字助手&#xff0c;首席执行官马克扎克伯格希望这些工具…

Swagger3.0 与spring boot2.7x 整合避免swagger2.0与boot2.7冲突

注释掉2.0引入的俩包 直接引入3.0 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency> swagger配置文件粘贴即用哦 import org.springfram…

提取Android盒子dtb文件

概述 最近从某鱼上掏了一个CM201-1 YS的盒子&#xff0c;动手倒腾倒腾&#xff0c;准备安装Armbian&#xff0c;用来做矿机&#xff0c;但该型号的盒子ophub上面没有完全适配的镜像&#xff0c;故而想尝试下&#xff0c;看能否整个适配镜像出来。 操作系统 Windows Linux 工…

JMeter—逻辑控制器

JMeter逻辑控制器 JMeter逻辑控制器可以对元件的执行逻辑进行控制&#xff0c;除仅一次控制器外&#xff0c;其他可以嵌套别的种类的逻辑控制器  一、ForEach控制器 定义一个循环规则&#xff0c;关键参数说明&#xff1a;   输入变量前缀&#xff1a;可以在“用户自定义的…

10月TIOBE榜Java跌出前三!要不我转回C#吧

前言 Java又要完了&#xff0c;又要没了&#xff0c;你没看错&#xff0c;10月编程语言榜单出炉&#xff0c;Java跌出前三&#xff0c;并且即将被C#超越&#xff0c;很多资深人士预测只需两个月&#xff0c;Java就会跌出前五。 看到这样的文章&#xff0c;作为一名Java工程师我…

Cmake 3.27.5 发布,开源构建系统

导读CMake 是一个跨平台的自动化构建系统&#xff0c;它使用一个名为 CMakeLists.txt 的文件来描述构建过程&#xff0c;可以产生标准的构建文件&#xff0c;如 Unix 的 Makefile 或 Windows Visual C 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写&#xff0c;也…

静电地桩的安装和使用说明

静电地桩的安装使用需要遵循以下步骤&#xff1a; 确定静电地桩的位置&#xff1a;静电地桩应该安装在需要消除静电的区域&#xff0c;如易燃易爆场所、电子厂、医院等。在安装前需要对地面进行清洁和处理&#xff0c;确保地面平整、干燥、无灰尘等杂物。 安装静电地桩&#xf…

FPM-FORM

FPM DEMO&#xff1a;FPM_OVP_COMPONENT FORM&#xff1a; IF_FPM_GUIBB_FORM TABLE LIST&#xff1a; IF_FPM_GUIBB_LIST TREE&#xff1a; IF_FPM_GUIBB_TREE SEARCH LIST&#xff1a; IF_FPM_GUIBB_SEARCH 需求&#xff1a;FPM启动时默认从EKPO去一条采购订单数据&#xff…

想要用Chat GPT写申请文书?先看各大名校招生官对它的态度是什么?

新的申请季已经正式开始&#xff0c;一些热门项目的ED截止日期也不再遥远&#xff0c;因此很多准留学生们都已经开始了关于文书的创作。 而随着科技的不断发展&#xff0c;以ChatGPT为首的一众AI工具也作为一种辅助手段愈发融入了我们的生活。 那么不免就会有一些同学在准备申…

提升后端API性能的几种解决方案

&#x1f514;目的 提升后端API性能的主要目的是为了提高系统整体的响应速度、并发能力以及可用性。主要原因包括: 提高用户体验 后端API性能好可以减少响应延迟,给用户流畅的体验。 提高系统吞吐量 优化API性能可以提高系统的整体吞吐量,处理更多用户请求。 节省服务器资源…

wps演示时图片任意位置拖动

wps演示时图片任意位置拖动 1.wps11.1版本&#xff0c;其他版本的宏插件可以自己下载。2.先确认自己的wps版本是不是11.13.检查是否有图像工具4.检查文件格式和安全5.开发工具--图像6.选中图像控件&#xff0c;右击选择查看代码&#xff0c;将原有代码删除&#xff0c;将下边代…