在万物互联的数字时代,API承载着企业核心业务逻辑和敏感数据,在应用环境中变得越来越普遍。特别是在疫情常态化后,移动办公、在线教育等线上应用蓬勃发展,API作为能够支撑线上应用连接和数据传输重任的一种轻量化技术,受到国内外企业组织的青睐。与此同时,针对API的攻击正成为黑灰产及黑客的首选,相较于传统窗体和Web页,API承载的数据价值更大、攻击成本更低,通过攻击API来获取高价值数据、进行业务欺诈等成为越来越多非法分子的常规手段。据报道,2021年12月,Apache APISIX被曝攻击者在未授权的情况下可以访问Apache APISIX的API接口;2021年7月,媒体报道领英有超过7亿用户数据在暗网出售,黑客利用领英API下载用户数据;2020年3月,新浪微博被报道因用户查询接口被恶意调用导致APP数据泄露……这些频频爆出的与API相关的安全事件不得不引起人们对API安全的重视。永安在线长期致力于业务反欺诈和API安全的研究,围绕API重点关注全网针对API攻击的黑灰产情报,并基于情报发现API存在哪些安全风险、如何检测和修复风险,以及面对风险应怎样避免出现重大损失。在本报告中,永安在线·鬼谷实验室针对2022年Q1的API安全现状和攻击趋势进行分析,梳理了该季度典型的API攻击事件并给出防御措施,希望借此引起行业对API安全的重视,进一步推动API安全的发展。一、API 安全风险概况本章节基于永安在线Karma情报平台捕获到的针对API的自动化攻击工具、攻击流量进行分析,对2022年Q1的API安全风险概况进行客观的展示。1. API遭受攻击数量超15万/月,呈逐月上涨趋势从Karma情报平台捕获到的遭受自动化攻击的API数量来看,2022年1-3月遭受攻击的API数量均超过15万,逐月上涨,其中3月的数量达到了23.7万。2. 针对API的攻击主要集中在四大场景,营销作弊占比最大从API攻击场景来看,主要集中在营销作弊、数据风险、账号风险和流量欺诈。其中,营销作弊场景吸收了一半的API攻击。1)营销作弊:攻击者使用作弊手段参与平台的营销活动,通过攻击活动接口获取利益。2)数据风险:攻击者通过编写恶意爬虫等方式,伪造接口或网页请求,非法获取业务数据或用户数据,进而引发数据泄露风险。3)账号风险:攻击者针对平台的注册/登录接口发起恶意注册、扫号、撞库等攻击行为,从而引发虚假账号、账号盗取等风险。4)流量欺诈:攻击者针对平台发起虚假的业务请求,包括针对电商平台的刷单、黄牛抢购,针对社交平台的水军控评、刷量刷赞等。3. API攻击遍布各个行业,数字藏品热度最高从API攻击的行业分布数据来看,热度最高的是数字藏品行业,其次是电商行业、汽车行业。永安在线情报研究人员分析,从去年至今,数字藏品的热度一直居高不下,越来越多的人投入到数字藏品的交易中。但由于市场不规范、监管不足,数字藏品存在巨大非法获利空间,黑灰产人员开发了大量的抢购软件以此获利,因此针对数字藏品的攻击占比较多。详情可查看第四章节关于数字藏品的案例分析。二、数据泄露风险概况随着数字经济的快速崛起,数据已成为最有价值的资产之一。API作为数字时代各类服务、应用之间数据交互的桥梁,也成为攻击者瞄准的目标,借此非法获取高价值的数据。近几年频频爆发的数据泄露事件中,就有API攻击导致的,且影响非常恶劣,严重损害了企业组织、用户的合法权益,给经济、政治、社会等领域带来巨大风险。永安在线情报研究团队长期关注全网数据泄露情况,通过对泄露数据交易论坛、TG群、暗网等渠道进行全方位布控,获取数据泄露的第一手资讯。本章节基于永安在线数据资产泄露风险监测平台获取到的Q1数据泄露数据进行梳理和分析,得出以下结论:1. Q1数据泄露事件呈明显上升趋势,其中不少与API相关永安在线数据资产泄露风险监测平台数据显示,2022年Q1共监测到640余起数据泄露事件,涉及企业200余家。通过对部分数据泄露事件进行分析发现,其中有不少数据泄露与API风险有关,详情见第三和第四章节关于API缺陷导致的数据泄露案件分析。2. 物流和金融行业是数据泄露的重灾通过对Q1数据泄露事件所在行业分析,物流行业数据泄露事件最多,占比43.08%;其次是金融行业,包含金融借贷(占比20.44%)、证券(占比9.91%)、银行(占比6.76%)和保险(占比3.14%),共计占比40.25%。永安在线情报研究人员通过进一步分析,发现物流行业涉及的流程节点较多,接触人员广泛,且面单往往是公开显示的,因此存在数据泄露的环节比较多,如快递数据的录入、派发快递等环节都很容易造成数据泄露。在Q1数据泄露事件中有将近100件是因为快递派发环节面单拍摄导致数据泄露。3. 数据泄露涉及个人信息居多,手机号占比排名第一从泄露的数据类型来看,Q1数据泄露事件涉及40多种数据类型。其中泄露最多的是手机号,其次是姓名和个人地址。为什么平时有那么多电话骚扰和诈骗,主要就是因为手机号信息泄露。三、API安全缺陷分析API存在安全缺陷是导致API被攻击的主要原因。本章节基于永安在线API安全管控平台Q1的流量审计结果,从危害性、可利用性、普遍性三个维度,梳理需要引起重视的五个API安全缺陷。以下结合案例针对每一个缺陷进行详细解释:1.未授权访问从Q1的审计结果来看,存在未授权访问缺陷的API接口不多,但由于具有严重的危害性,所以仍然是最值得关注的API安全缺陷之一,在OWASP API Security Top 10 排名第一的 "API 1 : Broken Object Level Authorization(失效的对象级别授权)"中也包含了这类缺陷。2021年底,知名开源项目APISIX Dashboard就曾曝出过未授权访问漏洞(CVE-2021-45232)。以下是一个关于API未授权访问缺陷的实际案例:某公司内部系统可能是为了方便管理员查看所有账号信息,在API接口设计上支持传入某个账号,接口可返回该账号的相关信息(包括密码)。但是,这个接口可以从外网访问,而且访问不需要任何授权,传入任意一个账号(包括管理员账号),都可以获取到该账号的密码。虽然返回的不是明文密码,是密码的Md5,但由于密码的强度不高,在实际测试中通过“彩虹表”可还原出管理员的明文密码。这属于非常严重的安全漏洞,一旦遭到攻击,攻击者可轻易获取到管理员的账号密码,并拿到系统的最高权限。安全建议1)除非资源完全对外开放,否则访问默认都要授权,尤其是访问用户的资源或者受限制资源。2)通过白名单的方式来严格控制无需授权的API接口的访问。2. 允许弱密码虽然很多安全开发规范都有提到设置密码时,需要满足一定的强度,但从Q1的审计结果来看,仍有不少的API接口,尤其是一些管理后台登录的API接口,存在着弱密码缺陷。在OWASP API Security Top 10 排名第二的 "API 2 : Broken Authentication(失效的用户身份验证)"中,也包含了允许弱密码这类缺陷。下面是某公司管理后台登录接口的请求体:密码做了Base64编码,解码的内容是:11111,属于典型的弱密码。此外,从Q1的数据泄露事件中发现,不法分子流传出来的信息也多次出现了一些管理后台的截图,初步判断攻击者就是利用弱密码缺陷,暴破出了登录后台的账号密码:安全建议1)设置密码时,需要对密码强度做要求,比如长度至少8位,字母、数字、特殊符号多种组合等。2)不建议将密码设置为用户名、生日、手机号等关联信息。3. 敏感数据过度暴露敏感数据过度暴露指的是API接口不加任何限制或过滤,把后端存储的敏感数据返回到前端,这很容易导致数据泄露问题。在OWASP API Security Top 10中,这个缺陷排在第3位 – "API 3 : Excessive Data Exposure(过度的数据暴露)"。在Q1审计中发现存在敏感数据过度暴露问题的API接口不在少数,部分API接口一次性返回几百甚至上千条用户的涉敏数据,还有部分API接口返回了一个用户的所有敏感数据,即使有些数据是不需要的。以下是一个关于API敏感数据过度暴露的实际案例:某互联网公司的营销活动中,有一个中奖信息查询的API接口,除了返回前端需要展示的头像、昵称、城市、脱敏手机号之外,还返回了很多前端根本不需要的敏感数据,包括中奖人的姓名、收货地址、明文手机号等。这些中奖信息是公示出来的,任何人都可以查看,很容易被不法分子获取,在黑市上进行售卖,或利用这些信息对中奖人进行诈骗。安全建议API接口要对返回到前端的敏感数据进行严格过滤,只返回前端需要的数据。4.URL传输凭证或账号密码很多人不太重视URL传输凭证或账号密码问题,甚至不认为是安全缺陷,因此在Q1的审计结果中存在很多这类缺陷的API接口,但这类缺陷还是有挺高的危害性,不应该忽视。在OWASP API Security Top 10排名第二的 "API 2 : Broken Authentication(失效的用户身份验证)"中也明确指出通过URL传输敏感数据,包括凭证或密码是有问题的:为什么在接口的URL中传输凭证或账号密码会有问题呢?因为URL往往可以通过浏览器访问记录、请求referer,或者日志文件获取到,一旦这些地方被突破,攻击者就可以直接获取到登录凭证,进而导致系统权限失陷。以浏览器访问记录为例,今年1月,苹果的Safari浏览器就被曝出存在严重漏洞,会导致用户的浏览器历史访问记录泄露。安全建议以POST方式发起请求,在请求体中传输账号密码或凭证。5. 错误提示不合理错误提示不合理往往出现在账号注册、登录或者找回密码相关的API接口上,很多时候也会被忽略。从Q1的审计结果来看,存在这个缺陷的API接口也是较为普遍的。一个实际的案例:某APP的登录页面支持手机短信验证码登录,填入手机号后会调用发送验证码的API接口。对于已经注册过的手机号,接口返回信息:而对于还未注册的手机号,接口返回信息:从用户的交互体验上来说,这样的错误提示是没有问题的。但攻击者可以利用这个API接口实施扫号攻击(遍历手机号),从而知道哪些手机号在该APP上注册过。黑产掌握了这些信息,一方面可以提高进一步攻击(撞库、密码暴破等)的效率,另一方面可能会利用这些手机号进行广告营销或电话诈骗。安全建议1)针对登录、注册等接口的错误提示信息进行模糊化处理,比如返回“用户名或密码不正确”。2)针对登录、注册等接口,加强对调用量过大或调用频率过高等异常行为的监控力度。四、值得关注的API风险案例1.数字藏品产业API攻击案例——数字藏品火了,其背后的安全问题不容忽视你一定听说过,2021年3月11日,一张平平无奇的JPG图片,经过区块链技术处理后变成了数字藏品,最终以6934万美元(折合人民币4.51亿元)的价格在佳士得拍卖成交。自2021年起,国内越来越多的数字藏品发售平台如雨后春笋般涌现,关于数字藏品的讨论遍布于微信群、朋友圈、微博里,甚至是街头巷尾、地铁公交上,无处不在。而数字藏品产业链也逐渐吸引了不少人的投资和购买。数字藏品(NFT)作为一种非同质化代币,得益于数字内容资产化,依托区块链技术保证唯一性、真实性和永久性,以及去中心化的交易模式保证内容创作者的收益等特征,使得交易效率更高、交易成本更低、交易更为活跃,数字资产流动性明显增强。与此同时,由于新兴产业的不规范、监管不足,数字藏品行业存在巨大的非法获利空间,成为黑灰产虎视眈眈的“猎物”。在永安在线Karma情报平台Q1捕获的营销作弊自动化攻击中,涉及不少数字藏品企业。永安在线情报研究人员进一步研究分析,发现针对数字藏品的攻击已经形成了一个完整的黑产链条:黑产人员发现数字藏品发售平台的商机后,通过职业拉单人寻找相应的开发人员(工具作者),开发人员会对数字藏品平台相关API接口、协议(如注册、登录、验证等)进行研究,破解后开发工具,再通过发卡平台将工具售卖给黑产人员。黑产人员利用工具获取批量账号资源,再自动化抢购待发售数字藏品,并在相关二手平台转卖,最终实现获利。下面通过一个具体的案例来展示相关API遭受的攻击:3月中旬,永安在线Karma情报平台捕获到了一款名为“头号数藏V1.0.vmp.exe”的自动化攻击工具,攻击者利用API接口存在的安全缺陷(包括明文传输用户名和密码等接口参数),伪造相关API接口请求,从而套取活动中的奖励。从工具界面上,可以清晰地看到各种黑灰产资源的使用,包括通过接码平台获取作弊的账号资源、通过打码平台绕过人机识别验证码、通过代理IP平台绕过IP风控等。而从逆向分析出的攻击代码中,也可以清晰地看到接口请求的伪造过程:1)伪造注册接口请求:2)伪造登录接口请求:3)伪造验证接口请求:营销作弊攻击的出现,严重破坏了数字藏品交易市场的良性竞争:攻击者通过恶意手段占有数字藏品再高价卖出,严重破坏了数字藏品市场的秩序,损害交易平台及真正藏品买家的利益,也不利于数字藏品产业的长远发展。小结对于这类攻击,建议对API接口进行加固,以此提高攻击门槛,如像用户名和密码这样的关键接口参数加密后再传输,增加动态令牌对接口请求合法性进行校验等。此外,也可以利用黑灰产情报,对营销作弊攻击使用到的黑灰产资源(账号、手机号、IP等)进行识别和阻断。2. 线上政务平台API风险案例——作为疫情期民生业务办理的主力支撑,线上政务平台用户信息保护是关键新冠疫情以来,为减少人员聚集,同时不影响正常业务办理,各地政府机关都推出了线上政务服务,广大民众足不出户就可以在网上查询和办理各种业务。然而,有些业务的API接口缺乏有效的授权和认证机制,容易成为网络犯罪分子攻击的目标。2020年北京“健康宝”就出现了这样的问题:核酸检测结果查询接口只需输入姓名和身份证,无需其他授权就可以查看他人的核酸检测信息。这个问题导致了大量明星的核酸检测照片泄露并流传到网上大肆售卖。后来该系统加上人脸识别的认证机制,并在公安机关的介入下该事件才逐渐平息下来。永安在线数据资产泄露风险监测平台Q1捕获到了多起线上政务平台因API接口被攻击导致数据泄露的事件,泄露的信息涉及到公民的手机号、证件照片、工作信息、婚姻信息等,其中最为普遍的是公民手机号信息泄露(本报告上文中也提到泄露的数据类型中,手机号是最多的)。下面通过一起真实案例来详细说明攻击者是如何利用API来获取敏感数据的:1月底,永安在线Karma情报平台捕获到了一款名为“交警 V1.2.vmp.exe”的自动化攻击工具,并定位到了被攻击的API接口(目前已修复)。通过进一步分析,永安在线情报研究人员还原了整个攻击过程:攻击者只需要在接口参数中填入任意公民的身份证,无需其他认证信息,即可获取到该公民的手机号。模拟攻击代码如下:成功获取到手机号:进一步溯源分析,找到了调用该API接口的入口,属于某市交警的微信公众号,该公众号支持线上办理各种交管业务。业务办理的逻辑其实很简单,步骤如下:1)填入姓名和身份证后,会提示通过手机短信来进行身份验证。为了给到比较好的用户体验,页面上会展示出脱敏的手机号,便于用户进行确认:2)点击“获取验证码”,则会调用另外一个接口往手机上发送短信验证码。3)输入正确的验证码,即可完成身份认证,成功登录系统。根据以上信息,可以确认该API接口返回明文手机号的原因和问题:1)用于界面展示手机号(已在前端脱敏)。这里存在的问题是,敏感数据不应该在前端才进行脱敏,在后端就应该完成脱敏,API接口只需返回脱敏后的手机号。安全经验不足的开发人员往往会犯这种错误。2)用于发送短信。发送短信的接口需要传入手机号,但接口的调用完全可以在后端进行,不需要放在前端,从而避免明文手机号暴露到前端。小结线上政务给广大民众带来极大的便利,但线上政务的背后往往是大量的个人隐私数据。有哪些数据是可以通过API接口进行访问,访问是否需要身份验证和授权,哪些数据需要脱敏后再返回等,都需要经过仔细的设计和严格的审核,避免给民众带来便利的同时却泄露了个人隐私。3. 传统行业互联网+平台API风险案——数传统行业数字化转型“成有API的功劳,败也有API的责任”在新一轮科技革命和产业变革浪潮中,数字经济已成为不可逆转的时代潮流,传统行业也纷纷投身于数字化转型。但是,传统行业在网络安全投入和建设方面相对薄弱,API作为数字经济的基础设施,承载着企业数字化转型的业务交互和数据传输的重任,其安全与否一定程度上影响着企业数字化转型的进展。3月中旬,永安在线API安全管控平台通过自动化缺陷审计,发现某互联网+校服平台存在敏感数据过度暴露的问题。在平台的“服务企业”一栏中,可以查看到所有的供应商信息:该做法的本意是向大众公示合作的供应商具备良好的生产资质。然而,查询接口返回的信息中,除了需要公示的信息之外,还返回了很多无需公示的信息,其中就有非常敏感的个人隐私数据,包括企业法人的身份证号、身份证正反面照片、手机号、紧急联系人、许可证等。由于这些信息都是公开可访问的,容易被不法分子窃取,从而造成严重的数据安全问题,这不仅给数字化转型的企业造成实际的业务损失,一定程度上也打击了传统企业向数字化转型的信心。小结过度的敏感数据暴露是API安全中比较常见的问题,如该案例中开发者把平台厂商的所有注册信息从后台数据库中取出后,不加任何过滤全部返回给前端。对于这类问题,我们在设计API接口时,需要了解清楚业务需求,尽可能减少不必要的数据返回。API并不是什么新鲜事物,与其相关的安全问题也并非近期才出现,而API安全之所以成为当前业内普遍关注的重要问题,一方面是数字经济时代的互联网业务场景快速爆发,需要大量的API去交互数据,也就是说API数量增多了,承载着数据价值更高了;另一方面,随着业务快速发展,API的迭代和发布周期也随之加快,而当前很多企业“重业务,轻安全”的理念为API埋下了潜在的安全风险。API技术会持续发展,攻击者阴谋阳谋也会日益迭代,围绕API已形成了一个新的攻击面,其安全建设任重而道远。基于黑灰产情报精准发现和拆解攻击者的各种特征和招式,做到更精准的风险感知和更及时的阻断,将是API安全管理的更优解,这也是永安在线一直推崇的API安全建设理念。
本文出自快速备案,转载时请注明出处及相应链接。