API接口安全运营研究

news2024/9/20 22:29:23

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

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

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

相关文章

国内外都可以使用的【免费AI工具】,实用性满满

受到ChatGPT的影响,大量的AI工具涌现,那么真的对我们学习和生活有用的免费AI工具都有哪些呢? 1.ChatSider ChatSider是一款可以对话的AI写作机器人。 ①学习上 推荐学生党使用它的“阅读助手”和“写作助手”功能。 阅读助手:…

SQL 常见函数整理 _ Stuff() 替换字符串中的一部分字符

1. 用法 用于替换字符串中的一部分字符 2. 基本语法 STUFF ( character_expression, start, length, replaceWith_expression )参数说明: character_expression:要进行替换的字符串start:替换的起始位置length表示要替换的字符数replaceWi…

Vue2和Vue3的emit、props、watch等知识点对比

1.props/defineProps 使用场景: 一般当父组件需要给子组件传值的时候会用到。 Vue2:props vue2在父组件里引入子组件以后需要在components里面注册后再使用&#xff1b; 父组件 <son-compnents :infoinfo></son-components>import SonCompnents from "./cp…

【虹科干货】Redis Enterprise 自动分层技术:大数据集高性能解决方案

越来越多的应用程序依赖于庞大的数据集合&#xff0c;而这些应用程序必须快速响应。借助自动分层&#xff0c;Redis Enterprise 7.2 帮助开发人员轻松创建超快的应用程序。何乐而不为&#xff1f; Redis将数据存储在内存中&#xff0c;因此应用程序能以最快的速度检索和处理数…

Pushgateway的场景使用

1,Pushgateway简介 Pushgateway为Prometheus整体监控方案的功能组件之一,并做为一个独立的工具存在。它主要用于Prometheus无法直接拿到监控指标的场景,如监控源位于防火墙之后,Prometheus无法穿透防火墙;目标服务没有可抓取监控数据的端点等多种情况。在类似场景中,可通…

如何有效管理公司分配给员工的个人微信,实现聚合聊天管理?

现在很多公司会在员工入职后&#xff0c;会把企业的微信账号分配给员工&#xff0c;让他们用微信与客户沟通业务。但这个过程有很多风险&#xff0c;比如不能实时掌握员工与客户的沟通情况&#xff0c;可能出现员工私自添加或删除重要客户&#xff0c;有的员工还会离职时带走公…

维吉尼亚密码

维吉尼亚密码属于多表代换密码 其中A<–>0&#xff0c;B<–>1&#xff0c;…&#xff0c;Z<–>25&#xff0c;则每个密钥K相当于一个长度为m的字母串&#xff0c;称为密钥字。维吉尼亚密码一次加密m个明文字母。 示例&#xff1a;设m6&#xff0c;密钥字为…

【数据结构】二叉树的基本概念

1.树概念及结构 1.1树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的 子树不能有交集&#xff0…

HashMap(1)前传

序、慢慢来才是最快的方法。 背景 终于到HshMap了&#xff0c;Java集合中非常典型的散列表结构&#xff0c;并且具有面试八股文的称号。 在认识HashMap之前&#xff0c;我们先预热一下HashMap所用到的技术点。 1.简介 HashMap的底层结构是基于分离链表发解决散列冲突的动态…

物业一站式工单管理系统哪家好?如何提升物业管理和维修服务质量?

在物业管理和维修服务领域&#xff0c;一个高效便捷的工单管理系统扮演着至关重要的角色。它不仅方便了住户提交报修请求&#xff0c;还极大地提高了物业管理和维修团队的工作效率。本文将深入探讨“的修”一站式工单管理系统在物业管理和维修服务中的重要作用。 一、“的修”一…

【编程技巧】用size_t定义数量有什么好处

使用 size_t 来定义数量有几个好处&#xff1a; 平台无关性&#xff1a;size_t 是一个无符号整数类型&#xff0c;其大小适应当前编译环境的体系结构&#xff0c;通常是足够大以容纳目标平台上的最大对象大小。这使得代码在不同平台上更具可移植性。 正确性和安全性&#xff…

提升市场调研和竞品分析效率:利用Appium实现App数据爬取

市场调研和竞品分析通常需要获取大量的数据&#xff0c;而手动收集这些数据往往耗时且容易出错。而利用Appium框架&#xff0c;我们可以轻松地实现自动化的App数据爬取&#xff0c;这种方法不仅可以节省时间和人力成本&#xff0c;还可以提高数据的准确性和一致性。 Appium是一…

OpenCV中initUndistortRectifyMap ()函数与十四讲中去畸变公式的区别探究

文章目录 1.十四讲中的去畸变公式2. OpenCV中的去畸变公式3. 4个参数和8个参数之间的区别4.initUndistortRectifyMap()函数源码 最近在使用OpenCV对鱼眼相机图像去畸变时发现一个问题&#xff0c;基于针孔模型去畸变时所使用的参数和之前十四讲以及视觉SLAM中的畸变系数有一点不…

Blender:对模型着色

Blender&#xff1a;使用立方体制作动漫头像-CSDN博客 上一步已经做了一个头像模型&#xff0c;我做的太丑了&#xff0c;就以这个外星人头像为例 首先切换到着色器编辑器 依次搜索&#xff1a;纹理坐标、映射、分离xyz和颜色渐变 这里的功能也是非常丰富和强大&#xff0c…

期权账户怎么开通的?佣金最低多少?

场内期权的合约由交易所统一标准化定制&#xff0c;大家面对的同一个合约对应的价格都是一致的&#xff0c;比较公开透明。期权开户当天不能交易的&#xff0c;期权开户需要满足20日日均50万及半年交易经验即可操作。 个人投资者想要交易期权首先就得先开户&#xff0c;根据规…

【LeetCode刷题笔记】哈希查找

771. 宝石与石头 解题思路&#xff1a; 1. HashSet &#xff0c;把所有 宝石 加入 set , 然后遍历检查 每一块石头是否包含在set中 &#xff0c;若包含就是宝石。 2. 计数数组map, 把所有 宝石 进行 count 数组 计数 &#xff0c;, 然后遍历检查 每一块石头是否 count[stone] …

了解交互设计:深入研究五个重要维度

交互设计是用户体验&#xff08;UX&#xff09;设计的重要组成部分。本文将解释什么是交互设计&#xff0c;并分享一些有用的交互设计模型&#xff0c;并简要描述交互设计师通常做什么。 如何解释交互设计 交互式设计可以用一个简单的术语来理解&#xff1a;它是用户和产品之…

在字节跳动和滴滴干了5年测试,月薪25K,熬夜总结出来的划水经验.....

先简单交代一下背景吧&#xff0c;某不知名 985 的本硕&#xff0c;17 年毕业加入字节&#xff0c;之后跳槽到了滴滴&#xff0c;一直从事软件测试的工作。之前没有实习经历&#xff0c;算是5年的工作经验吧。 这5年之间完成了一次晋升&#xff0c;换了一家公司&#xff0c;有…

【数据结构】算法的时间复杂度

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.算法时间复杂度定义 二.大O阶渐近表示法 &#x1f38f;大O阶渐近表示法的定义 &#x1f38f;推导大O阶方法 三.常见的时间复杂度 &#x1f4cc;常数阶 &#x…

5款好用的工具软件推荐给你

​ 人类与99%的动物之间最大差别在于是否会运用工具&#xff0c;借助好的工具&#xff0c;能提升几倍的工作效率。 1.三维建模——Rhinoceros ​ Rhinoceros是一款专业的三维建模和渲染软件&#xff0c;它可以创建、编辑、分析和转换NURBS曲面和实体。NURBS是一种数学描述曲面…