-
-
三个原因导致API安全问题频发
-
发表于: 2021-11-3 15:12 7727
-
近年来,API作为在移动互联网时代中连接数据和应用的重要通道,承载着越来越复杂的应用程序逻辑和越来越多的敏感数据。正因如此,API也成为黑产的重点攻击目标,API遭受攻击的事件屡见不鲜并影响巨大。这也让企业越来越意识到需加强API的安全管控来防控风险发生。但目前企业对如何采用正确的路径来搭建API安全防护体系,仍然存在不少误区。
在长期对企业业务安全跟踪研究中,我们发现导致企业在API 安全性方面遭遇问题的主要原因有三个。无论你的企业目前的API防护处在哪个阶段,都需要去了解这些原因才能避免API安全问题的发生。
一、API安全风险意识薄弱
许多企业到现在为止都不认为自己的API存在风险。原因在于承载数据交互的API往往由于其“不可见”的特点,其存在的安全问题就很容易被企业忽略。同时,API 的可见性通常取决于人工操作,人工操作很难提供完整的API信息,而公司内部人员的不断变化及业务的快速迭代更新,使得API的可见性和管理更具挑战。这也致使许多企业对API安全管控还存在以下几种思维误区:
01、我们没有太多API,不存在管理问题
许多企业实际上并不清楚自己拥有多少API,通常只会关注到在频繁使用的业务API,一些历史系统的API和老版本的API很容易就被忽略掉,而正是这些被遗忘的影子API和僵尸 API 存在着极大的安全风险。
永安在线在帮助众多客户进行API资产梳理中发现,客户提供过来的API文档与梳理出来的 API 进行比较,有明显的数量差距。如,某金融客户提供的文档中只有100多个API,但经过永安在线API识别引擎的梳理后,得出的API总量有500多个,包含从V1到V8共八个历史版本的API,其中一些老版本中的API携带着极其敏感的数据,如果没有进行深度的API资产梳理,安全团队根本无法了解 API 真实资产情况,也意识不到将会带来数据暴露风险。
02、我们的API都在内网,所以很安全
在许多企业看来,他们所有的 API 都在内网环境中,所以很安全。现实情况是,API 比你想象的更加公开。研发人员常常会因为测试便利、启用第三方开发人员访问以及为合作伙伴演示等不经意原因向外部公开 API。如果在安全团队不知情的情况下暴露所有这些情况,则会带来重大风险。
03、API流量并不多,不会暴露任何重要信息
从本质上讲,API 已是获得各种高价值服务和敏感数据的重要途径。有些API 的流量可能较低,但仍是业务的关键部分,并且这些类型的 API 很可能携带着敏感数据,这就需要安全人员清楚了解携带敏感数据的API是否应该携带,其数据处理方式是否合法以及涉敏数据是否被恶意使用等。
比如,忘记密码这类API的流量往往很低,但却是很多黑产攻击的目标,原因就在于这个API可以让黑产通过撞库的方式轻易拿到用户信息。由此可知,攻击者有时候并不只是攻击流量大的API,他们关心的是攻击目标所携带的价值。
04、攻击API很难
许多人认为 API都隐藏在幕后,因此在某种程度上是相当安全的。现实情况是,与传统 Web 应用程序相比,API 本质上暴露了应用逻辑和更多数据。攻击者有多种方法来找到更多的API甚至隐藏的API,如逆向APP、分析JS、小程序反编译等,进而使用微妙的方法绘制 API 地图、了解逻辑并查找漏洞,实际上攻击API的成本和技术门槛都不高。
如下图,黑产利用网络上成熟的工具wxappUnpacker反编译小程序,某小程序在10分钟内就被完成反编译,得到所有API。
再通过自动化请求这些API接口,进一步发现了某些API接口存在未授权访问,并返回了敏感信息,很轻松就获取到公司及联系人等敏感信息。从这个例子,就能清楚的看到整个攻击过程不仅耗时短,而且基本没有过高的技术门槛。
二、对传统安全工具的保护过度自信
API 和 API 漏洞绝不是一成不变的。然而,许多企业仍然依赖传统安全工具,如 API 网关和 Web 应用程序防火墙 (WAF) 以及传统的API安全保护方法,这些方式目前为止均不能对API风险进行准确感知和防御。2019年底,OWASP发布了API 安全问题TOP 10,这份榜单包含了70%的新威胁,与Web 安全问题 Top 10相比,就突出了API与传统Web应用程序的区别。
API 网关通常采用如身份验证、授权、加密和速率限制等方式进行安全防护,这些方式在一定程度上是可以保护应用的关键部分,但还不足以抵御新出现的 API 安全威胁。
比如身份验证,其为应用程序提供的保护力实际上不高。对于设置帐户的应用程序,只需几分钟,攻击者就有权查看和调查 API,仅凭身份验证并不能保护更多受限制的应用程序。此外,糟糕的密码做法、泄露的凭据和网络钓鱼也都会导致仅依赖于身份验证的风险。在Salt 发布的《API 安全状况报告》中研究发现,96% 的漏洞发生在经过身份验证的 API 上,足以表明仅靠身份验证是不够的。
其次是限速。它确实可以帮助阻止一些攻击,如 DDoS、凭据填充和机器人活动。但是,攻击者也可以用很多方式来避免速率限制。如可以使用秒拨机运用大量代理lP进行攻击,秒拨地址总数巨大,秒拨ip地址可作到秒级转换。先不说防御方是否能通过限速大量阻隔lP的post请求,在现实情况中,许多用户也会进行频繁的访问,甚至IP也混在秒拨IP库中,进行限速就会造成对普通用户的误伤,容易遭到客诉。这就让限速这种方式受制性很强。
通过授权的方式防护也是常用的,但要 100% 进行正确的授权很困难。OWASP API 安全十大威胁中最常见的漏洞就是破坏对象级别授权 (BOLA),背后正是利用了错误配置的授权。随着目前API 和 API 逻辑的复杂性不断增加与快速迭代的情况下,只会使得授权更难以正确和维护。
一些企业认为 API 只是另一个应用程序,因此可以扩展诸如WAF 之类的工具就能有足够的保护。许多 WAF 供应商也在其营销文章中都提到了 API,表示WAF 可以保护 API 免受威胁。但事实上,WAF具有有限的架构,并不能防御针对 API 逻辑漏洞形成的攻击。这些攻击存在于API业务逻辑当中,具有独特性,并且API几乎每天都在快速迭代,WAF难以及时更新规则来进行有效防护。
此外,使用传统的API安全产品也存在天然的技术缺陷。传统API安全产品的实现方式是基于已知特征和规则进行风险审计,在这种技术路径下的缺陷在于行为特征规则越复杂,规则的可依赖性就越低。由于业务的不确定性和持续迭代特点,会让行为特征本身的可依赖性降低,这使得无法直接判定风险,且会产生较高的误判率。
三、过度依赖开发团队来解决安全问题
近年来,采用 DevOps 进行研发的企业已经实现了开发周期效率的提升。因此,企业也希望开发团队能够直接完全解决安全问题,他们也认为API的安全性是开发团队应该在开发过程中就去解决的,否则应用程序将实现不了真正的安全。
我们在海外安全机构salt发布的《2021 年 API 安全状况报告》中也看到了这一观点,其中 36% 的受访者表示开发人员或 DevOps 团队对保护 API 应负有主要责任。部署前的工作包括从安全编码最佳实践、代码扫描和手动测试所有内容。API 安全状况报告还显示,91% 的受访者在 2020 年经历了 API 安全事件,证明这些 DevOps 安全实践虽然重要,但远远还不够。
首先,开发人员并不是攻击者,他们更专注的是应用程序功能的开发。在暗处的攻击者通常会以意想不到的方式攻击应用程序。需要兼顾快速交付代码的开发人员无法有效地转换到攻击者的心态去消除所有潜在的漏洞。
其次,世界上没有 100% 无错误的代码。因此,开发人员也会在代码进入应用前使用代码扫描器和利用渗透测试来识别潜在漏洞。但这些工具和实践都有其局限性,并且由于成本和复杂性,一般的企业一年都做不了几次渗透测试,而API不断快速在迭代,可以说很多代码的各个方面都很少经过测试就上线了。
此外,开发人员也没有太多的时间来关注API整体安全性。在数字化浪潮下,代码迭代的越来越快,API承载的逻辑越来越复杂,在版本快速迭代的要求下安全审计工作全部跟上是很困难的,到最后的上线时点前首要任务也只能测试主要应用或特定功能领域的安全性,很难覆盖到全部。
还有一个重要因素是,很多时候攻击者是利用每个API逻辑中的独特漏洞进行的攻击,属于那一个API独有的逻辑漏洞。许多扫描工具都依赖于已知规则和行为识别漏洞,这种方法都很难识别出唯一的逻辑漏洞。即使用自定义和人工手动工作,如渗透测试,也很难识别到逻辑漏洞,因为其中许多漏洞仅在运行时间出现。
企业该侧重考虑什么?更优的API安全防护思路
01、API资产全貌梳理,准确掌握API现状
正如你不能给予别人你没有的东西,你也不能对不可见的API施加安全策略。因此,如果你并不知道企业所有的 API资产情况,则第一步就是需要清晰梳理出存在哪些API以及API涉敏情况等。上文已提到人工管理方式对于历史版本API、加密API、影子API等难以全量发现。使用像永安在线API安全管控平台这样的自动化工具,将更有助于企业对API资产的精准管控。永安在线研发的API识别引擎,能够自动和持续地发现 API(包括已知和未知的 API)并创建完整的API目录,并在 API 发生变化时保持对 API 的真实状态的洞察;也可实现自动化检测API传输中的数据涉敏情况,分级分类敏感数据API,进行有针对性的保护及保障合规使用。
02、重视情报的价值,补足未知风险感知能力
诚然身份验证、授权、加密和频率限制在保护 API 方面依然在发挥重要作用,但它们显然是不够的。而像依赖已知特征和规则审计风险的传统API安全产品,则难以对新型的未知风险做到提前感知,极易产生误判、漏判。
永安在线API安全管控平台通过精准情报为业务建立API安全基线,并结合人工智能和数据分析技术,构建风险检测模型。误判率低,可用性高,可及时全面感知内外部API风险。基于精准预警输出的攻击者IOC情报,可以联动WAF或风控系统等快速处置攻击风险。
#
精准情报来源于永安在线长期运营已建立起的业务风险黑产情报库,涵括黑产工具情报、黑产资源情报、黑产交易情报、黑产舆情情报等。丰富的情报收集渠道可以对暗网、网盘、在线文库、代码托管、群聊论坛等黑灰产通道进行全传播链路的全方位监测。再结合人工智能和数据分析技术能实时对API风险进行预警,指引安全团队及时进行防御治理。同时,基于情报能够外部溯源攻击源头的产业链上游团伙,还原攻击场景及攻击目标;内部溯源违规操作账号和API,还原攻击路径。为企业进行下一步的法务侧跟进追责和提供可靠的依据。
结语
API虽然不为大众所知,但在技术、开发人员眼里则是“必需品”,是企业数字化战略的基石。可以预见,API在今后将继续扮演连接用户前台与后台服务的关键桥梁作用,切实保障这些桥梁足够安全、足够可靠,毋庸置疑是确保数据安全的重中之重,企业应当提起更高的重视。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课