乐趣区

关于api:API-全生命周期管理如何解决企业-API-安全问题

Eotalk 是由 Eolink 和各合作方一起发动的泛技术聊天流动,每期咱们会邀请一些技术圈内的大牛聊聊天,聊一下对于技术、守业工作、投融资等热点话题。

本期 Eotalk 咱们邀请到的嘉宾是来 自星阑科技的 CTO 徐越~ 👏👏

徐越是一位 90 后,他在学生时代就曾经十分沉迷于编程、黑客技术相干的货色。过后就通过找一些软件破绽、甚至找到大厂零碎的破绽取得了不少赏金,起初去参加国内的黑客大赛,并且开源了本人的平安我的项目。他经验了整个 Web 平安、主机平安、容器平安方面的产品建设。

之前是在某个大厂外面工作,负责云平安相干的产品线。有十分丰盛的破绽攻防和大数据安全教训。明天咱们一起聊聊 怎么通过 API 的全生命周期治理来解决 API 平安问题

徐越: 明天十分开心加入 Eotalk 和大家一起交换,我是星阑科技的 CTO 徐越。

星阑科技在做的事件和 API 高度相干,咱们相当于 API 平安的供应商,属于网络安全赛道,帮忙企业在 API 的利用或业务上避免一些攻打流动,升高他们的入侵危险和损失。明天咱们就聊聊平安。

刘昊臻: 星阑在过来的几年倒退得十分疾速,在国内安全畛域,是十分有竞争力的。明天咱们聊到 API 的平安,在企业方面大家会面临什么样的 API 平安的问题?有什么样的挑战?有些什么案例能够跟大家分享一下?

徐越: 企业平安关注的事件很多,API 平安目前来讲是一个十分新兴的,然而十分重要的一个热点。软件世界数据通信万物互联的背景下,从我的视角来看,API 是一种新的可能更低成本去让数据买通,让软件集成融为一体,以及在某种程度上甚至可能以一种更好的生产方式,疾速实现企业软件交付的一种新模式。大家也曾经看到,各行各业的企业都曾经在做一些做业务或者做 API 化的策略转型,其实就在 API 外面。

基础设施增长的背地,肯定也会带来平安问题。咱们讲的黑客攻击,以利益为主导的黑客攻击它无非就是想管制你的资产,或者想偷你的数据,而 API 这两点它是都具备。

一方面,API 自身是裸露在网络上的,相当于软件构建的零碎,对网站攻打的手法齐全能够利用到 API 的场景里。API 的后端,比方一些 Java 的代码,也是各种各样的零碎,这些零碎它存在的破绽,也能够通过 API 打进去,最终导致本人的资产实现。这是传统攻防畛域的状况。

最近咱们看到一个更严厉的趋势,越来越多的 API 导致了十分重大的数据泄露。数据泄露对企业来讲,尤其是大型企业,以及关系到民生或基础设施的企业,他们一次大范畴的数据泄露是十分致命的,可能不仅仅是业务上损失,还会波及到监管层面。

以前的数据泄露事件,要层层攻打,从外网到内网到数据库打进去,打进去很吃力,最终能力把数据库的数据拖出来。当初不一样了,咱们只须要找到一个没有认证受权的 API 数据,轻易一个脚本就能够把数据拖出来,这是一个非常简单疾速的入侵链路,然而它的杀伤力微小。当初越来越多企业除了要面对破绽攻打,还要面对 API 导致的数据泄露。

刘昊臻: 当初都在探讨万物互联、微服架构、API,这些的确让整个攻打老本变得十分的低。当初你想要找一个企业、一个产品到底有什么 API,都不必像以前那样去扫描。间接关上它的官网,按下 F12 你就能够看到有什么申请,所以它有两面性。

一方面,当初零碎对接会简略得多,但同时,攻打的老本也会比以前低得多。确实在最近的两年,咱们会发现从用户的角度,从客户侧大家在意识下面会更加关注所谓的平安问题。而且咱们看到业内的一些报告,比如说过来的网络安全,有半数以上的数据泄露事件都是因为 API 平安而导致的,像之前咱们说国内的某个中央有信息的泄露,它的泄露的形式其实也通过 API。

这方面挑战确实是很严厉,有什么样的思路可能让咱们去参考或借鉴?

徐越: API 自身曾经存在十分久了。像一些头部的、数字化水平十分高的企业,比如说 BAT 类型的厂商,其实深耕 API 畛域也有很久了。包含国外的 API 的生态,可能在平安这个畛域会比国内走得更前沿一点。他们为客户也做了很多尝试,当初咱们看到的 API 平安的终局,还有软件全生命周期的理念,为了保障最终交付物是平安的,咱们肯定要在它的生产环节里,从设计到开发到运行,再到它销毁生命周期完结的整个流程,不同的点位都须要植入平安能力。

一方面是企业侧,目前国内很多企业会说我的 API 以前被打过,我要怎么办?可能他是在一些攻防演练中被打过,或者说有过一些数据泄露,尽管咱们从公开的信息外面看不到,然而实际上是有十分多的,这些方面会推动着企业真正去反思这件事件。

另一方面就是监管侧,监管侧也逐步延展到 API 这一畛域。通过这两个驱动力,咱们看到最多的状况是:我的确要做这件事件,然而还没想好怎么样启动,怎么样去布局。咱们首要要做的,是帮忙企业走出第一步。

第一步咱们会帮忙企业建设三个根底能力:资产的梳理能力、威逼的可视能力、以及数据的梳理能力。通过后期的流量剖析计划帮忙企业去打地基。有了地基之后,就曾经能摸清本人的家底,即能够针对性的基于本人业务的需要去思考下一步要怎么走。

刘昊臻: 明确,咱们频繁提起国家去年颁布的数据安全法,确实是会让大家对个人隐私,、企业数据泄露的问题更加器重。

徐越: 帮忙企业打一个 API 平安的地基,咱们分为三个步骤。

第一:模清家底。很多的大型企业的平安团队和业务团队就是做 API 生产流程的团队和守护 API 平安的团队,它们往往是有肯定的部门沟通老本。在企业逐步壮大之后,无论是从人员配合机制、洽购的流程等等都有肯定的割裂,负责平安的同学第一个想的是爱护 API。那到底这项业务到底有多少个 API?这些 API 是哪些部门在管?怎么管?大部分的平安团队是摸不清的。咱们要帮忙企业在不晓得哪些服务器上写的哪些程序,有多少 API 在通信的状况下,从网络流量做疾速的梳理。那么,咱们只须要在网络侧外围汇聚层的一些节点上监控 API 的通信流量,即什么样的 API 在存活,就能够在没有频繁的部门间沟通的状况下,间接帮忙安全部门摸清:这一项业务到底多少个 API?它的通信模式是什么?所以,平安建设的第一步就是先要摸清家底。

第二:我要能看见他人打我。这是作为平安守护者最根底的职责。可能以前企业的业务团队会从运维的角度,对 API 通信的过程有日志记录,然而这个记录很难满足平安的诉求。比方我想断定一次攻打是否胜利,须要记录 API 的残缺的原始流量,无论是四层还是七层,都是不能通过数据加工的,而是须要最原始的流量。所以第二项能力就是咱们帮忙平安团队,从流量的视角,比如说他人在攻打我,流量上会有肯定的痕迹,咱们能够看见攻打。

第三:API 数据流动的绘制。API 自身的价值就是传输数据,无论是从企业外部的平安,还是从成果角度,或者业务角度来讲,都会有关注数据的场景。比方举办活动,有一些流动的减免,刷单薅羊毛等等,这是异样的拜访流量。再比方一些接口是否有越权未受权的拜访,没有认证就开进来了,导致大批量的数据泄露,这样的例子曾经见过太多了。还有就是一些 SAAS 或 PAAS 的服务,咱们不晓得哪些开发者可能买了你的服务,忽然有一天就把 API 的 AK 和 Token 间接传到了 github 上,咱们须要监控这一类行为。监测 API 的数据流动,一方面是合乎安全部门的监管合规审计要求,另外一方面是真正防止业务侧的损失。

刘昊臻: 了解,首先如果要对平安有一个比拟好的防护,得晓得到底有什么 API,所以第一件事件是做一个相似于 API 资产的整顿或者是梳理。咱们以前也遇到过相似的状况,某个银行客户外部零碎有 200 多个,他们本人可能统计到的 API 有靠近 1 万个,还有些是他们不晓得的,有的零碎很老旧,开发人员可能也到职了或者他们本人也不记得,咱们就必须要做 API 整个资产的梳理。

第二步,整顿好了 API 资产之后,就要去监控它下面的一些流量,到底有没有异样,有些危险,比方会不会有人攻打你,或者它的申请频率、次数可能不那么失常,这个中央可能会对流量建模,其行为可能跟平时不太一样。

第三步就是对于 API 的数据还要做更多的辨认,比方是不是有一些敏感信息?有些不应该呈现在外网的数据,它竟然通过了网关,或者通过接口被裸露了进来,甚至还波及到人员的违规操。

刘昊臻: 是否给大家介绍一下你们在做的萤火 API 平安平台?

徐越: 咱们产品能力就是围绕方才提到的三个次要的场景。比方在资产梳理外面,用户的第一个角度是要尽可能残缺的梳理出已有的 API 资产。咱们通过流量侧,跟 API 网关进行数据买通,把曾经注册进来的资产用不同类型的标签标注进去,它是属于哪些业务,它的资产注册量,还有一些咱们叫做影子 API 没有注册进来的,把 API 对立管控,这是资产角度的问题。从资产视角来看,光晓得它有哪些 API 资产是不够的,平安团队不论是人数还是估算都是无限的,必定要把精力排高优先级,哪些资产它是最危险的,就要优先去做。

怎么定义资产的威逼水平?从它历史有没有不平安通信的查看项,有没有曾经被攻破的入侵事件,以及它传递的数据否是十分涉敏的,从这几个维度去描述 API 资产的威逼水平,为平安团队的经营工作,提出优先级倡议。

接下来危险监测,咱们在摸清资产之后要把这批资产的行为监控起来,免得呈现安全事件又意识不到导致严重损失。危险监测方面咱们能做的事就比拟多了,目前咱们曾经集成了大略有 100 多种的检测项,不同类型的威逼,基本上也都可能笼罩。就像方才提到的破绽攻打类,咱们背地有平安工程师继续保护,针对行业外部呈现的各种中间件、各种组件,只有跟 API 攻打相干的,都会第一工夫进行剖析保护,让产品时刻带有最新的检测能力。

再就是通过行为剖析,甄别 API 的异样行为。针对数据咱们内建了一些通用的隐衷数据辨认模型,目前大略有 100 多种,比方常见的卡号、手机号、邮箱、人名、地名、出版物、公司外部重要文件的敏感信息等等,这些是最底层最根底的辨认能力,只有你的 API 外面蕴含了这个数据,就能够主动地从文本里辨认进去。

辨认进去之后还要去判断数据到底敏感不敏感。比方一个手机号,他是 SAAS 用户的手机号、企业级客户的手机号、员工的手机号,还是老板的手机号,单从一条数据来讲,仅仅辨认出隐衷数据还是不够的,还要对它进行更深刻的研判。比方他在咱们外部是属于哪些业务跟业务层的治理,或者说针对咱们外部的数据分类分级的治理规范,再去进行下层的形象,这样能力把数据管好。

总体来讲就是资产入侵、危险监测和数据这三个点。

刘昊臻: 性能做得十分深度。我有些更具体的问题,比如说一开始讲到的资产梳理,可能观众也比拟好奇,通过流量咱们到底可能梳理出多少或者说可能梳理出多少准确的 API?

徐越: 流量辨认 API,流量剖析的产品十分多,抓到流量这件事并不难,只须要解析好所有支流 API 的协定就能够了。难的是两个点是,第一你能不能适配所有支流企业的不同技术架构,比方给到咱们一个简单的技术架构,你要监控哪几个点?从哪几个点通过什么样的技术手段去提取流量?以及在每一个节点里,流量的探针协定解析的速度和它的吞吐量的限度,是有肯定技术壁垒的。像流量解析,咱们有专门自研的一块引擎,专门从四层流量还原到七层,再从七层去剖析 API。可能我辨认到了 1 亿次申请,到底背地它是一亿个 API 还是一个 API?咱们目前是用聚合的算法去做,把所有的 API 无论是 URL 的局部还是 Body 的局部,把所有的参数全副形象成一个数据结构,再通过统计的办法去判断。比方我 path 里的第一块,前一个字段它可能是一个固定值,后一个字段是一个可变的参数,通过肯定的算法把通用的模式识别进去,再用这些通用的模式去打标签,这种增量的流量逐步的可能收敛掉,靠近到实在 API 的资产数量水平。

刘昊臻: 第二个问题,刚刚讲到敏感的数据辨认,咱们怎么晓得这个手机号它到底是有多敏感,或者说我怎么晓得它里边的哪个字段可能是敏感,是须要咱们在开始的时候先配置吗?还是说它其实有体验比拟好的、比拟主动一点的形式?

徐越: 咱们有专门的能力建设的同学去保护,针对支流的 100 来种的数据实体,基本上都是能够自动识别的。辨认计划分为不同的几种,可能相似于规定匹配类型的、相似于校验算法类型的,比方辨认身份证号的时候,如果只匹配一个数字的一个字符串的话,那它必定是不准的。咱们其实能够思考,比方它后面的省份是固定的,前面的一位其实是整个后面的一个校验位,这种咱们就会针对不同的实体类型。如果它自带校验的话,当然是最准的。

还有就是相似于中文类的,最简略的人名、企业地址,没法用模式匹配的形式去做。咱们也是训练了一些简略高效的小模型,比方真正从客户端获取到的一些场景化数据,以及其余的数据集积攒下来的标注样本,去训练一些数据辨认的模型进去。像这样话,其实在机器学习畛域也是一个比拟成熟的方向,咱们借用了过去解决一些平安的场景,自动识别根本就是这几种形式。

同时咱们察看到很多用户,有一些差异化的需要,比方可能波及到一个订单接口,那它第一个参数你也不晓得叫什么,它前面就是一个数字,这个数字就是它商品的价格,他要监控这个商品价格是否有零元异样,也是很多黑客或者白帽子,常常挖的破绽。这种状况下,咱们就给客户提出一些比拟敌对的,能够让他自定义的形式,间接在报文外面指定一项监控。

刘昊臻: 刚讲了 API 资产梳理,咱们有很多用户其实心愿不单纯是可能把文档给辨认进去,他还心愿晓得我到底有哪一些服务器或者哪一些用户,他调用了接口,这个接口背地对应的是我的哪一些服务,或者是哪一些 IP 地址。这个中央它应该会有个拓扑图,这个时候去做 API 资产整顿下其实会更好一些,目前这块你们是不是也有这个能力呢?

徐越: 是 的,自身咱们的底层技术架构是基于一个数据分析数仓的构造去做的,咱们基本上是用一些数据采集加工解决的能力,最终通过一个图的形式把 API 的调用链路可视进去。比方链路在集群外面可能就是每一个 service 之间的调用,可能在一般的虚拟机里以一个 IP 或者一个域名指代一个服务,两头两个 IP 之间它有多少个 API,这些 API 它存在哪些的通信模式,哪些的危险,咱们都能够用可视化的形式表达出来。

对平安团队来讲,第一我能够通过拓扑图一眼看进去这个 API 到底是干嘛用的。第二个,比方我的 API 被入侵了,接下来须要做止损和救火,这是平安团队的责任之一。然而救火可能会影响到业务,这个时候就要研判它的上下游到底是干什么用的。采取的伎俩也不一样,是间接拔网线还是间接封 IP,或者只能加一些规定过滤掉,还是服务器能够关停等等。调用链路可视化能够帮忙平安团队去研判,做救火的经营工作。

刘昊臻: 所以它其实跟很多其余产品是可能相互联合的。比方和 Eolink 的 API 治理和网关。像网关可能间接就有流量的流通,只有买通了,你们这边的一些平安规定就能够间接同步到网关下面去。比如说你们从网关那边失去流量实时剖析完之后,发现流量异样。就给网关那边同步一个长期的解决规定,及时把流量异样的流量给阻断掉,或者是把某个 IP 给封掉,这个场景应该在你们客户外面挺多的。

徐越: 是的,因为平安也是须要联动的,它是比较复杂的工作流。咱们也常常会遇到,最多的可能是跟 API 的网关做一些数据层的买通,包含跟一些安全设备,有些企业会心愿把几十款安全设备对立来治理,对立去经营它的告警,就相当于是给其余的上游设施,去收集数据,会有相应的对接或者集成。包含像进攻,咱们能够监测到一些威逼,他人正在拖我的数据,我要给他阻断掉,可能就会调用一些防火墙、或者一些堡垒机、或者一些网关类能阻断流量的产品,而后去买通,实现能力的联动,这是比拟丰盛的场景。

刘昊臻: 我由此衍生出一个疑难,咱们有很多客户心愿可能有相似于平安测试,比方我线上可能记录到了一些有危险的流量或异样流量,可能在下个版本迭代或者要做复盘的时候,我拿这些异样流量去做一次回放,去检测我的产品,这块不晓得你们有没有遇到过相似的诉求?

徐越: 有的,实质上来讲平安的问题就像咱们治病一样,大家都心愿在还没有发病的时候就把病给治了,平安也是一样,企业如果真正可能做到在开发的过程中,甚至在开发的设计阶段就躲避掉很多平安危险,那么它的老本是十分小的。等到他人打你了,你再去救,老本就很大了。平安测试在平安畛域倒退是最早的一项,也是历史比拟久的。

刘昊臻: 这些跟 Eolink 的 API 全生命周期治理产品有很多能够联合的点,因为 Eolink 不仅有 API 的文档、自动化测试,还有网关、监控等产品。很多用户也是心愿在咱们这边可能做平安测试,如果你们平安测试那块弄好的话,和咱们的产品能够很好的联合。

徐越: 是的,Eolink 会是咱们很好的合作伙伴,期待后续的单干~

刘昊臻: 明天非常感谢徐越来给咱们做分享!

Eotalk 往期举荐 ⭐⭐⭐⭐⭐:

【Eotalk Vol.04】如何平安凋谢 API 数据?|奇安信 负责数据安全的子公司技术负责人—简川力

【Eotalk Vol.03】联合 API & DaaS,让应用数据更不便|Tapdata CEO TJ 唐建法

【Eotalk Vol.02】从极客到 CEO,开发者如何晋升技术领导力?|甘果科技的 CEO 老甘(路文杰)

【Eotalk Vol.01】Eoapi,咱们心愿以开源的形式构建 API 生态系统| Eoapi 的外围开发者秦圆圆

退出移动版