API安全研究报告(2022年Q2)丨永安在线

VSole2022-07-22 11:44:55

 前 言 

随着互联网技术的快速发展,API作为连接服务和传输数据的核心通道,需求正大量增长,API在企业的发展过程中也扮演着越来越重要的角色。然而,API巨大价值的背后也同时隐藏着不可忽视的安全风险。

根据永安在线《2022年Q2 API安全研究报告》(下文简称《报告》)数据显示,2022年Q2季度API风险态势依旧严峻,针对API的攻击持续高发,被攻击的API数量月均超过25万,相比Q1明显增长;API攻击波及到政务平台、智慧停车、数字藏品等多个行业。

Gartner曾预测,“到2022年,API将成为网络攻击者利用最频繁的载体,而通过攻击API可以非授权使用企业的应用数据”。

在Q2季度,永安在线研究团队也监测到了一系列因API安全防护不到位而发生的数据泄露事件,如多地政务系统遭恶意攻击,攻击者对政务系统中有缺陷的API进行攻击,从而获取公民身份证、手机号、姓名、住址等个人隐私信息,永安在线追溯到此类攻击均出自于同一个黑产团伙;多个智慧停车平台因查询缴费API接口均存在安全缺陷而被攻击,攻击者大规模爬取停车信息以获取个人隐私行踪。

面对越来越多的API攻击以及由此导致的数据泄露风险,企业除了已有的防御体系外,也需要针对性地构建API安全防护体系,其中风险情报是重要的组成部分,基于情报及早感知及时防御,从而保障企业及其用户的数据安全。

永安在线长期致力于业务反欺诈和API安全的研究,通过全网布控+风险感知技术快速捕获API风险,并由情报专家分析并提取API安全情报和风险态势,整合形成《API安全研究系列报告》

该系列报告围绕每个季度API风险态势,全面解析API攻击趋势、主要攻击场景以及受攻击行业,并结合API风险案例给出相应的防御建议。希望借此报告,帮助企业在解决API安全难题中提供新视角、新思路和新方法,助力企业在数字化浪潮中健康、安全、稳定发展。

该系列报告目前已发布一期:永安在线API安全研究报告(2022年Q1)

 一、2022年Q2API 风险态势 

本章节基于永安在线Karma情报平台捕获到的针对API的自动化攻击工具、攻击流量进行分析,对2022年Q2的API安全风险态势进行客观的展示。

1. 网络攻击持续高发,API攻击量月均超25万

从Karma情报平台捕获到的数据来看,2022年Q2遭受攻击的API数量月均超过了25万,相比Q1大幅增加,其中,5月份的攻击数量更是达到了29.4万。

2. 营销作弊仍是主要的API攻击场景,数字藏品被攻击热度依旧高涨

永安在线情报研究人员根据捕获到的针对API自动化攻击的工具名称做热词统计,从图中可以看到:

1)“邀请”、“抢购”、“注册”、“捡漏”等围绕营销活动的作弊攻击工具数量最多的,意味着在Q2针对API的攻击主要集中在营销作弊场景;

2)“数藏”、“ibox”、“元宇宙”等与数字藏品相关的工具仍占据不少,可见针对数字藏品的攻击热度依旧高涨。

此类自动化攻击会带来大量的虚假用户,短期内似乎“促进”了用户增长,但这种虚假繁荣会严重阻碍企业甚至行业的健康发展,企业需要引起重视,及早发现及早治理。(注:感兴趣的读者可以阅读Q1报告中详细的案例分析。)

3. 恶意爬虫针对API进行破解和伪造,房源、招聘等信息成重点爬取对象

恶意爬虫是企业核心数字资产被黑产或竞品窃取的主要方式之一。通过对Q2捕获的恶意爬虫攻击流量进行分析,我们发现除了传统的网页爬虫之外,还存在大量破解和伪造接口协议的API爬虫。其中,房地产、招聘、出行等行业是这些恶意API爬虫重点攻击行业,房源、招聘、机票等信息成为了重点爬取对象。

相比于传统的网页爬虫,API爬虫更加难以检测和防范,因为传统的网页爬虫使用PhantomJS、Selenium等浏览器自动化技术的网页爬虫,可以通过检测webdriver等方式来进行识别;

API爬虫通过破解协议,其发起的请求和正常的请求从内容上可以做到无任何差别。同时,这些爬虫基本都会通过代理IP、秒拨IP平台获取大量用于攻击的IP资源,从而绕过风控策略中针对IP请求频率的限制,以及通过打码平台绕过图片、滑块等人机识别验证码。恶意API爬虫对于企业反爬工作来说,无疑提出了更大的挑战。

4. 利用API非法窃取数据,数字政务成为重点攻击目标

通过Karma情报平台,永安在线情报研究团队在Q2发现了一个非法窃取数据的大型网络犯罪团伙,该团伙利用政企单位线上业务API接口存在的缺陷,开发了数十款自动化攻击工具,主要针对政务平台、金融行业以及通信行业,非法窃取企业用户和公民个人隐私数据。其中各地的数字政务平台是该团伙的重点攻击目标,在Q2就有超过30多个的数字政务平台遭受恶意攻击。

永安在线研究团队分析,政务平台、金融行业和通信行业遭受API攻击的共性原因为:大部分平台的API接口在设计上都存在安全缺陷,因此很容易被黑产恶意利用,导致大量用户姓名、地址等敏感信息被泄露。(详情可查看第三章节关于数字政务的案例分析。)

 二、API安全缺陷分析 

API存在安全缺陷是导致API攻击的主要原因。本章节基于永安在线API安全管控平台Q2的流量审计结果,从危害性、可利用性、普遍性三个维度,列出了Q2需要引起重视的四类API安全缺陷。

1.未授权访问

未授权访问,属于《OWASP API Security Top 10》中排名第一的“API 1:Broken Object Level Authorization(失效的对象级别授权)”,是危害最大的API安全缺陷之一,一旦被利用往往会导致严重的数据泄露。

前文提到的非法窃取数据的犯罪团伙,在攻击中就是利用了API接口的未授权访问缺陷,在接口请求中填入他人的账号、身份、属物等信息,在未取得任何授权的情况下,非法获取到他人的手机号、身份证、地址等敏感信息。

安全建议

1)除非资源完全对外开放,否则访问默认都要授权,尤其是访问用户的资源或者受限制资源;

2)通过白名单的方式来严格控制无需授权的API接口的访问。

2. 允许弱密码

允许弱密码,属于《OWASP API Security Top10》中排名第二的“API 2:Broken Authentication(失效的用户身份认证)”。弱密码缺陷是黑产盗取账号的主要手段之一,从Q2捕获的攻击数据中,我们发现了大量的撞库和密码暴破攻击,其中就存在弱密码导致被黑产成功登录账号的情况。

攻击目标以游戏公司,以及海外的一些数字钱包、数字银行平台为主,这些账号被黑产控制后,会在极短的时间把里面的资产洗劫一空。

安全建议

1)除非在用户注册、登录、密码重置等相关场景中对输入密码复杂度进行检查,建议密码长度不低于8位,且包含大小写字母、数字及特殊符号;

2)通过密码不允许设置为重复字符串、邮箱、生日等关联信息;

3)引入一段时间内强制修改密码机制。

3. 错误提示不合理

错误提示不合理,在Q1的报告中我们没有将其归于《OWASP API Security Top 10》的某个风险,经过谨慎的考虑,我们认为其属于“API 3: Excessive Data Exposure(过度的数据暴露)”。主要基于以下两点原因:

1)移动互联网时代,绝大多数平台的账号就是用户的手机号,不合理的错误提示,会暴露手机号在哪些平台注册过,这属于个人的隐私数据,是没必要且不应该暴露的;

2)该缺陷已经被黑产广泛运用于“扫号”(遍历手机号)攻击中。筛选出来的手机号,一方面可以提高黑产实施进一步攻击(撞库、密码暴破等)的效率,另一方面,黑产也会在黑市上出售这些信息,导致手机号主遭受广告营销骚扰甚至电话诈骗。

虽然很多企业对注册和登录API接口的错误提示信息做了模糊处理,如“账号或密码错误”,使得黑产无法进行“扫号”。但黑产还会通过其他一些API接口,如短信验证码发送接口、密码找回接口等寻找突破口。下图就是黑产利用某个奢侈品交易平台的密码找回接口,大规模实施“扫号”攻击:

如果手机号未注册,提示“该账户不存在”;如果注册过,则返回执行下一步的路径,黑产据此就能暴破出平台上所有注册用户的手机号。

安全建议

1)针对登录、注册、验证码发送、密码找回等接口的错误提示信息进行模糊化处理,比如返回“用户名或密码不正确”;

2)通针上述接口,对于调用量过大及调用频次过高等异常行为加强监控。

4. 云服务配置错误

云服务配置错误,在《OWASP API Security Top 10》中属于“API 7:Security Misconfiguration(安全配置错误)”。在云服务广泛运用的同时,由于开发或运维人员的疏忽,导致对外暴露了不应公开的云服务API接口,攻击者通过这些API接口,可以轻易获取敏感数据或执行敏感操作。

永安在线API安全管控平台在Q2针对常用的云服务及组件,其可能存在的配置错误缺陷,进行了全面的梳理和审计。从审计结果来看确实存在不少问题,比如一些会造成严重危害的配置错误仍然存在于部分企业后台的云服务当中。其中比较典型的有:

  • Spring Boot Actuator 配置错误缺陷:Actuator是Spring Boot提供用来对应用系统进行监控的功能模块,使得开发者可以很方便地对应用系统某些监控指标进行查看、统计等。如果开发人员对Actuator的进行了错误的配置,或者使用了较低的版本(默认存在未授权访问),攻击者可直接通过Actuator的API接口获取到应用系统中的监控信息,导致信息泄露,甚至数据库、服务器被接管。
  • Elasticsearch 配置错误缺陷:Elasticsearch是一个基于Lucene库的搜索引擎,在Elasticsearch 7.x 下,默认允许未授权访问。如果开发者使用了该版本的Elasticsearch,且进行了错误的配置,攻击者可直接通过Elasticsearch的API接口获取到敏感数据,甚至可以对数据进行删除和篡改。

安全建议

1)全面排查使用的组件/服务的版本,尽量升级到最新版本;

2)全面检查配置是否正确,避免出现组件/服务暴露未授权访问API。

 四、API风险案例分析 

1.数字政务平台API风险案例

——数字政务线上化趋势加深,API安全风险随之而来

近年来,政务平台一直在追求业务转型,由传统行业转向互联网+以及云业务发展,许多API接口由内网转向外网,由此造成数据安全风险敞口,这些接口一旦遭受恶意探测与爬取,将造成大量的敏感信息泄露。

近期,永安在线API风险情报平台就监测到针对多个政务系统的恶意攻击事件,攻击者利用政务系统注册、查询等业务场景存在API逻辑缺陷进行攻击,从而获取用户身份证、手机号或姓名、住址等个人隐私信息。通过对多起政务系统攻击事件进行溯源分析发现,这些攻击均出自于同一个黑产团伙

从该黑产的作恶流量来看,目前这个黑产团伙仍在对多个省份的政务系统进行攻击,其中包括教育、医保、疾控等多个政务行业。数千万用户的个人信息有可能因此被泄露,其中包括公民手机号、个人身份证、医保信息、家庭信息等敏感信息。

案例1:

以某市医保政务平台为例,永安在线监测到不需要任何授权下,攻击者在API请求中填入身份证号,即可获取对应用户的医保信息,包括姓名、地址、医保缴纳情况等

黑产团伙攻击后执行返回的结果

而造成这种数据泄露的原因正是API自身的安全隐患,由于该平台开放的数据查询接口没有做严格的身份校验和访问控制,攻击者通过修改请求参数即可获取到他人的医保信息。

案例2:

永安在线研究团队发现某地区的新冠疫苗接种信息查询后台,无需任何授权的情况下,攻击者在API请求中填入身份证号,就能查询到用户的姓名、手机号等隐私信息

政务系统紧密联系民生,平台上保存着海量的公民隐私数据,这些信息包括姓名、电话、地址、身份证号等个人隐私信息,一旦被泄露,就很有可能被不法分子利用,造成不可估量的严重后果。因此,政务平台的API安全防护已经是势在必行,必须加强政务系统的安全保障措施,确保公民信息的安全。

安全建议

1)限制政务平台信息查询的接口只有登录后的用户才可以查询,并且只有当前用户绑定的身份证与查询的身份证一致时才能够查到用户个人信息;

2)如不可避免直接通过身份证查询用户个人信息,建议该接口不要暴露到互联网,只允许内网访问,并且限定人员的访问权限,做好日志记录。

2.智慧停车平台API风险案例

——智慧停车信息泄露严重,API安全防护刻不容缓

近几年,智慧停车平台蓬勃发展,让城市生活更加便利的同时,随之而来的安全问题也逐渐暴露。

案例:

永安在线研究团队从蜜罐监测到的流量中,发现大量针对多个智慧停车平台的攻击行为,而这些智慧停车平台覆盖了市民能接触到的大多数停车场。

通过分析发现,这些平台的查询缴费API接口均存在未授权访问缺陷,攻击者利用该缺陷爬取了大量的用户停车信息。以其中一个被攻击的平台为例,黑产团伙通过代理IP平台频繁切换IP,对该平台的查询缴费API接口进行持续攻击,在输入车牌号信息后,如车辆无入场,返回“车辆未入场”;如车辆有入场,则会返回该车辆相关停车信息,包括停车时间、地点、资费情况等。

攻击代码片段:

也就是说,黑产团伙利用该API缺陷,任意输入一个车牌号,在不需要车主授权的情况下,就可以查询到车辆停在哪个停车场、入场时间等信息。这些信息往往会被黑产在黑市上进行售卖并获利,比如近期在黑产TG群里,就有卖家提供车辆信息、定位等查询服务。

而别有用心的犯罪分子可以根据这些信息顺藤摸瓜获取到车主的家庭住址、工作单位等,给车主及家人的生命财产安全造成威胁,后果不堪设想。

因此,智慧停车平台需要加强自身的安全建设,尤其是针对API的安全建设。我国现行法律法规也明确要求平台切实履行主体责任,如我国个人信息保护法规定,个人信息处理者应当对其个人信息处理活动负责,并采取必要措施保障所处理的个人信息的安全。

安全建议

1)限制车辆停车的信息接口需要先进行身份验证,比如绑定微信号、手机号等才可以进行查询;

2)对接口查询做好频率限制,比如短时间内单个身份查询的车牌号不能超过2个。

3.API接口验证码泄露风险案例

——短信验证码泄露,身份验证形同虚设

短信验证码是移动互联网用户进行注册或登录的重要凭证之一,一旦发生泄露,很有可能会被不法分子恶意利用。

一般来说,移动端App都支持手机号+短信验证码进行注册或登录,如果短信验证码只会发送到用户所持有的手机上,这是没有安全问题的,然而部分开发人员缺乏安全意识,将短信验证码通过API接口直接返回到前端,并在前端进行验证码的比对,黑客可以通过抓包等方式轻易获取到验证码,从而伪造任意用户的身份进行注册和登录。

这是一个非常典型的业务逻辑缺陷,在永安在线API安全管控平台的Q2审计结果中,我们就发现了这样的案例。某教育类APP的验证码发送API接口,在返回体中泄漏了完整的验证码内容。下图为发送到用户手机上的短信验证码:

API接口返回到前端的响应体中,也出现了同样的验证码:

一旦遭受攻击,黑客可以利用泄露的短信验证码登录任意用户的账户,甚至篡改密码,用户则会面临个人信息泄露甚至财产损失的风险。

安全建议

1)避免将短信验证码信息暴露到前端;

2)验证码校验功能需要将用户输入的验证码传递到后端,由后端完成校验后将结果返回到前端。

 结 语 

数字时代,安全为本。API作为程序之间交互的桥梁,承担着数据传输的重大作用,同时也成为了黑客窃取数据的头号目标。从Q1到Q2,针对API的攻击趋势是逐渐上涨,由API攻击导致的数据泄露事件也越来越多,构建完善的API安全防护体系是企业整体网络和数据安全建设的关键环节。

永安在线基于风险情报实现API资产梳理、敏感数据梳理、API漏洞检测和API攻击感知这四大能力,能够让企业自动化盘点API和流动数据资产安全情况,及时感知敏感数据和业务的攻击风险,先于攻击者发现攻击面,为企业的数据和业务安全保驾护航。

api用户接口
本作品采用《CC 协议》,转载必须注明作者和本文链接
//把Map的购物车转换为Item列表??//应付总价=商品总价+运费总价-总优惠??然后实现针对 VIP 用户的购物车逻辑。所以,这部分代码只需要额外处理多买折扣部分:public?
业务同学抱怨业务开发没有技术含量,用不到设计模式、Java 高级特性、OOP,平时写代码都在堆?CRUD,个人成长无从谈起。其实,我认为不是这样的。设计模式、OOP 是前辈们在大型项目中积累下来的经验,通过这些方法论来改善大型项目的可维护性。
在万物互联的数字时代,API承载着企业核心业务逻辑和敏感数据,在应用环境中变得越来越普遍。特别是在疫情常态化后,移动办公、在线教育等线上应用蓬勃发展,API作为能够支撑线上应用连接和数据传输重任的一种轻量化技术,受到国内外企业组织的青睐。
常见API接口漏洞了解接口常见漏洞,将帮助你在测试接口获取更多的思路。信息披露信息可能会在 API 响应或公共来源中披露。敏感数据可以包含攻击者可以利用的任何信息。例如,使用WordPress API的网站可能会在不知不觉中与导航到API路径的任何人共享用户信息。错误消息可帮助 API 使用者排查其与 API 的交互问题,并允许 API 提供者了解其应用程序的问题。其他良好的信息来源是在侦察期间收集的 API 文档和资源。
说实话,我非常希望自己能早点看到本篇文章,大学那个时候懵懵懂懂,跟着网上的免费教程做了一个购物商城就屁颠屁颠往简历上写。至今我仍清晰地记得,那个电商教程是怎么定义接口的:管它是增加、修改、删除、带参查询,全是 POST 请求一把梭,比如下面这样:修改用户的收货地址。现在看来,全部用 POST 请求估计是为了传参方便吧。本文希望通过串讲,梳理一下个人当前了解到的 API 知识体系,整理的同时也希望能对大家有一点点帮助。
金融借贷平台的用户数据,一直都是黑产眼中的香馍馍。黑产将获取到的用户信息在暗网或地下黑市出售给中介或其它竞争平台,甚至是犯罪分子,以获取高额收益。
近日,某互联网公司在使用永安在线API安全管控平台时捕获到一起数据泄露风险事件,攻击者使用大量动态代理秒拨IP对该公司某用户信息查询API进行低频的敏感数据爬取攻击。
基于这项研究,以下列出了开放API面临的10种值得注意的威胁。使用强大的身份验证机制保护API端点对于防范这种威胁至关重要。而目前流行的开放API可能是此类攻击的常见目标。在通常情况下,API网关会执行这一限速任务。应对开放API威胁为了应对以上讨论的威胁和漏洞,有必要在API的设计和开发阶段采用安全最佳实践。
漏洞描述 2020年11月4日,SaltStack 官方发布了一则安全更新公告,涉及3个 CVE 漏洞。CVE-2020-16846: 未授权账户可通过 Salt API 的 SSH 功能连接到客户端,进而利用 shell 功能执行任意命令。此漏洞影响所有开启 Salt API用户。从 CVE-2020-25592 模块的 commit 中可以看到,NetapiClient 类在处理 SSH 执行命令时并未进行身份校验,这会导致攻击者可以直接通过NetapiClient 提供的 API 进行 SSH 连接。产品侧解决方案 针对上述三个漏洞,阿里云 WAF 已默认更新防御策略,用户无需操作即可享受防护。
VSole
网络安全专家