首页 > 其他分享 >【api安全】发展趋势与防护方案

【api安全】发展趋势与防护方案

时间:2024-10-02 17:02:23浏览次数:7  
标签:API 防护 风险 攻击 Mark 发展趋势 安全 api 攻击者

原创 让数据更安全 德斯克安全小课堂

近期, 全球知名IT咨询和调研机构Gartner 在 API 安全方面的两位分析师Mark O'Neill和Dionisio Zumerle,合作举办了一场主题为“如何保护API免受攻击和数据泄露”的网络研讨会。这次会议分享的内容,对于正在探寻API安全保护方案的安全人员来说具备极高价值。

Gartner预测,到2022年,API滥用将成为导致企业Web应用程序数据泄露的最常见攻击媒介,甚至在2024年API安全问题引起的数据泄露风险将翻倍。而在多种典型的API攻击方式中,因API逻辑缺陷带来的攻击难以避免,无法利用传统的安全工具来防控。API的安全防护需要在整个生命周期中的所有环节都进行考虑,特别需要注重在API发现及涉敏API的分级分类管理,以及API风险感知能力上的补充及增强。

在本文中,我们将展开分享会中的一些重点并提出观点,希望可以帮助大家更理解API安全风险及如何进行API保护。

API 已成最常见攻击媒介

2024年因API滥用导致的数据泄露将翻倍

Gartner曾在其《如何建立有效的API安全策略》报告中预测,“到2022年,API滥用将成为导致企业Web应用程序数据泄露的最常见攻击媒介。”

而最近 ,Gartner 更新了这一预测,称“到 2024 年,API 滥用和相关数据泄露将几乎翻倍。” 这说明了API安全问题严峻性在不断加剧,而背后的原因主要是很多企业目前还没有提高意识去针对性防护,让API成为了攻击者可以轻松咬到的肥肉。

在海外安全机构salt发布的《2021 年 API 安全状况报告》显示,几乎所有受访者 (91%) 在 2020 年都在其所开发的 API 中遭遇了安全事件,这些事实足以让企业管理者和安全人员敲响警钟。

典型的API攻击方式中

API逻辑缺陷带来的风险最大且难以避免

API攻击的方式有很多种,Mark 和 Dionisio 描述了其中最典型的四种API被攻击的方式:

1、存储库和存储中不安全的 API 密钥
2、应用程序中的硬编码凭据(包括 API 密钥)
3、API 逻辑缺陷
4、嗅探 API 调用

从目前来说,以上四种攻击方式的前两个和第四个还是能够通过一些方案来解决,比如以下的这些思路和方式:

1、尽量避免不安全的 API 密钥暴露在云存储或 Git 等代码存储库。因为暴露这些凭据可能会让攻击者以合法用户或管理员的身份未经授权访问 API。

2、API 密钥和其他凭据不要硬编码到应用程序和设备中,例如 IoT 端点。原因与上面所说的点类似,查找密钥和凭据可能会让攻击者获得对 API 的未授权访问。Dionisio 在会议中也详细介绍了这一点,并提供了一些思考来避免这种情况的发生,在本文后面的章节,我们会做详细阐述。

3、攻击者通常会使用几种常用工具(例如 Burp Suite)在攻击期间来重复调用API。开发团队必须确保攻击者无法在日志中或通过嗅探找到能够进行调用的 API ,以防止他们在攻击中重复这些调用,获取到关键信息。

而第三个被攻击方式:API 逻辑缺陷,就不是开发团队能够去完全避免的了,目前也没有任何应用程序安全工具能够完美的解决这个问题。原因正如 Mark 指出的那样,“每一个 API 都是不同的,产生的漏洞逻辑也是独一无二,我们必须深度了解 API 的工作原理才能完全保护好它,但无论是从时间成本还是从深入了解 API细节是一项很繁杂的工作来说,这件事情都不现实。

为了说明 API 逻辑缺陷的风险,Mark 重点介绍了OWASP API 安全 TOP 10 列表中的第一大威胁:损坏的对象级授权 (BOLA)。BOLA 是目前大多数 API 攻击中常见的 API 安全问题,这几乎在所有 API 漏洞的披露中都突出显示。而这种威胁正是利用 API 逻辑缺陷,特别是授权缺陷,获得对数据的未授权访问。

虽然现在开发人员在安全性方面不断提高,但在互联网时代,基本所有企业都在要求开发人员能够快速开发代码进行应用功能创新。在这种需要快速开发迭代的要求之下必然会对API安全性造成一定的损害,这就意味着 API 将不可避免地带有潜在的漏洞。

在研究之中,我们也发现保护 API的复杂性也在于它很多情况下是由许多应用程序 API 所组合而成,因此API也是众多逻辑的组合。而且为应用程序开发 API 的不仅仅是一个团队,有可能是由多个团队组成,这些团队也会来自第三方。而利用外部开发的 API 很可能导致对 API 逻辑的可见性和控制变得更少,从而增加了保护它的复杂性。

其次, API 所经历的变化迭代频率也相当高。API 通常是启用 CI/CD 开发实践的关键组件,这意味着它们的功能和逻辑会定期更新,更新频率可以是每周甚至每天。这种变化频率,让API很难有万无一失的规则来进行动态保护,在开发阶段的安全测试工作也难以跟上节奏。

以上的这些因素,清晰的告诉我们不能完全依赖开发人员来解决 API 安全问题,更需要的是通过在API上线运行时加强涉敏数据分级分类管理以及风险感知能力来堵住开发过程中不经意产生的安全疏漏。

对策:在API整个生命周期进行安全管理

Mark 指出,API的安全防护需要在API整个生命周期中的所有环节都进行考虑。
他通过生命周期中的四个关键功能概述了在何处进行 API 安全防护:

API 发现(设计时): 此阶段所指的发现包括我们需要清楚的了解是谁在开发/创建 API、正在创建的API有哪些以及这些 API 会用在什么地方、将携带着什么类型的信息。

API 安全测试(设计时): 在此阶段进行严密的安全测试可以让 API 在上线之前就能及时发现并解决潜在的漏洞和风险。

API 发现(运行时):在此阶段对API进行深度的资产梳理和发现,对于帮助安全团队了解不同应用程序使用的 API 以及它们可能暴露的潜在敏感数据来说非常重要。因为很多时候只有在API运行时才能够呈现出逻辑全貌。因此在API运行时进行梳理,还能够帮助识别出在设计开发阶段未能识别到的未知影子API和僵尸API。

API 风险感知及阻断(运行时):随着攻防面的变化及攻击者手段的隐秘多变,在API运行时加强外部风险感知能力和风险阻断能力的建设尤为重要,这样才能够及时准确的感知到 API 的任何滥用情况,并及时阻断攻击者的进一步行动。

分析:哪些产品有助于 API 安全防控

Mark 和 Dionisio 分析了许多有助于提高 API 安全性的产品。比如在针对API管理目前使用得比较多的 API 网关。Mark 指出 ,API 网关很多时候仅能保护使用该工具注册的 API,如果开发人员没有注意进行人工注册,就管理不到这些API,而随着业务发展迅速API数量的增加,会沉淀下来大量的未知API,极易造成不可估量的风险。

此外,API安全网关这类产品依赖于传统的安全防护方式,例如身份验证授权加密消息过滤速率限制。虽然这些都是重要的基础安全功能,但在保护 API 方面却远远不够。以身份验证为例,在海外安全机构salt发布《2021 年 API 安全报告》中显示,96% 的漏洞发生在经过身份验证的 API 上。也如上面所述,OWASP API 安全 TOP 10 名单上的第一大威胁:损坏的对象级授权 (BOLA),就是攻击者利用常见的授权缺陷来进行攻击,足以表明依赖传统的安全方式,并不能保护好每一个API。

接下来,Mark 也介绍了 Web 应用程序防火墙 (WAF)。他指出该类别中的许多防火墙仅依靠传统的应用程序安全方法来保护 API,这些方法包括使用签名来识别已知的攻击模式。但由于每个 API 都有独特的漏洞,因此使用签名这种方式很多时候是无效的。而且这些基于代理的解决方案缺乏对 API 上下文所需的架构理解,因此也无法理解独特的逻辑,导致无法识别针对独特漏洞的攻击者。

Mark提到,目前许多新推出的 API 安全产品,关注到了更多API安全面临的现实挑战。
开始从 API 安全测试API 资产发现及管理API 访问控制以及API风险识别等维度来体系化思考 API 安全防护。

在API安全产品的选择上,企业应该侧重考虑应用对API未知风险能够准确识别的产品。因为网络攻防无止境,无论哪种防守方式都很难做到100%不被破解,因此对于API安全管理来说,如果能做到对风险的准确感知并及时阻断,更具有现实价值。同时,在API层面,很难做到强管控。PC互联网时代,一个软件或服务在发布或版本更新之前会有很多的流程,导致会经历很长的时间周期之后才会完成发布,但在当前这一个追求快速迭代的快节奏场景下,用强管控方式必然就会影响到业务。

所以,对API的管控固然重要,但不是最需要关注的点。企业需要的是在清晰了解API全量资产的前提下,更注重API运行时对风险的及时准确识别,这样才能更好管控API风险。

Mark表示,在选择API安全产品时重点了解的能力和问题就应该包括:产品提供商是如何发现 API?如何感知风险

?如何保障风险识别的准确性?如何监控和检测异常情况?如何阻止对 API 的攻击?

永安在线API安全管控平台

永安在线API安全管控平台是基于自身多年在黑灰产情报上的强大积累,以精准情报为底座建立的API安全管理产品。
它以精准情报建立API安全基线,结合人工智能,构建风险检测模型,形成API资产管理、API风险感知及溯源三大核心能力,具备误判率低、可用性高的优点,能切实帮助企业有效提高API安全管理能力。

● 在API资产梳理上,通过旁路流量分析及使用先进的图模型

技术,能自动化对API流量日志中的请求进行路径转义归类,不入侵到当前的业务中,就可自动地发现业务潜在的API接口,并进行梳理、盘点,部署实施成本极低,让安全部门轻松了解API资产现状,实时感知每个API接口的访问情况,并进行管控。

此外,还能实现自动化检测API传输中的数据涉敏情况,帮助业务部门进行有针对性的保护。系统内置最常用的10多种常见敏感数据

类型,30多种各行业常用敏感数据类型,包括姓名、身份证、手机号、银行卡等,并支持业务方动态自定义敏感字段的检测要求。

● 在API风险感知上,基于黑产攻击情报,能够精准感知利用API的逻辑缺陷造成的攻击事件,及早对攻击进行预防和阻断,减少数据外泄

和业务损失。

●在API风险溯源上,依托情报数据能够外部溯源攻击源头的产业链上游团伙,还原攻击场景及攻击目标;内部溯源违规操作账号和API,还原攻击路径。为下一步的追责处置提供可靠的依据。

结语

IT互联网产业一直以快著称,是一个快速增长、快速迭代的领域,稍不留神就会被淘汰出局。与国外相比,中国的互联网竞争态势更为激烈,安全基础设施水平却有所差距,整体呈现以下特色:

1、业务迭代速度更快,但对安全的投入却不大,缺少在API设计、研发、服务过程中对安全的投入和考虑;

2、服务部署的边界多样化,如IDC私有云公有云等混合服务让风险管控复杂性加大,并且安全基础设施薄弱,风险的暴露面更大;

3、攻击者的手段更加丰富,利用海量秒拨和代理IP资源、恶意手机号码、临时邮箱,绕过目前常规的安全检测的策略。

基于这些中国特色的网络安全现状,我们除了需要把API安全的概念往前面带,从API设计、开发、测试、上线各阶段进行安全管理,并梳理清晰API资产进行全面管控之外。在面对日新月异的攻击手法,也更需要提高API风险感知及阻断能力的建设。而情报对于识别外部风险具有天然的优势,通过外部情报可以第一时间感知到是否存在针对己方API的攻击以及攻击规模,并从情报中提取出攻击者所使用的技术和攻击逻辑,指引安全人员进行针对性阻断。

参考

标签:API,防护,风险,攻击,Mark,发展趋势,安全,api,攻击者
From: https://www.cnblogs.com/o-O-oO/p/18429683

相关文章

  • 【动态Web API学习(三)】动态方法
    1.应用程序模型ASP.NETCoreMVC根据控制器、操作、操作参数、路由和筛选器的结果,定义模型如下:ApplicationModel、控制器(ControllerModel)、操作(ActionModel)和参数(ParameterModel)。上一节中只是告诉系统封哪个是控制器,还要为控制器模型初始化值,比如路由、请求方式(post、get)、方......
  • dedecms(织梦)网站安全防护设置
    织梦CMS是国内常用的免费开源管理系统之一,但由于其广泛使用,也存在许多已知的安全漏洞。为了提高织梦CMS网站的安全性,以下是一些有效的安全防护设置步骤:1.修改网站后台的访问路径修改后台路径:默认后台路径为 http://域名/dede/。修改为更复杂的路径,例如 http://域名/admi......
  • 33_分布式文档系统_bulk api的奇特json格式与底层性能优化关系大揭秘
    课程大纲bulkapi奇特的json格式{"action":{"meta"}}\n{"data"}\n{"action":{"meta"}}\n{"data"}\n[{"action":{},"data":{}}]1、bulk中的每个操作都可能要转发到不同的node的shard去执行2、如果采用比较良好的......
  • 26_上机动手实战演练mget批量查询api
    1、批量查询的好处就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍2、mget的语法(1)一条一条的查询GET/test_index/test_type/1GET/test_index/te......
  • 教你如何免费获取股票数据用python、JavaScript (Node.js)、JAVA等多种语言的实例代码
    ​近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据......
  • 【常用API】Math,System,Runtime,BigDecimal
    Math代表数学,是一个工具类,提供的都是对数据进行操作的一些静态方法。Math类提供的常见方法方法名说明publicstaticintabs(inta)获取参数的绝对值publicstaticdoubleceil(doublea)向上取整publicstaticdoublefloor(doublea)向下取整publicstaticintround(......
  • 【常用API】Object、Objects、包装类、StringBuilder、StringBuffer、StringJoiner
    API:应用程序编程接口就是java帮我们已经写好了一些程序,如:类、方法等,直接拿过来解决一些问题。1.Object它常用的方法:toString():返回对象的字符串形式;存在意义,让子类重写,以便返回子类对象的内容。equals():默认比较两个对象的地址是否相等;存在意义,让子类重写,以便用......
  • Recaptcha2 图像识别 API 对接说明
    Recaptcha2图像识别API对接说明本文将介绍一种Recaptcha2图像识别2API对接说明,它可以通过用户输入识别的内容和Recaptcha2验证码图像,最后返回需要点击的小图像的坐标,完成验证。接下来介绍下Recaptcha2图像识别API的对接说明。申请流程要使用API,需要先到Re......
  • 小骨英雄杀手》游戏故障排查:steam_api64.dll文件丢失怎么办?
    面对《小骨英雄杀手》游戏中出现的“steam_api64.dll文件丢失”的故障,玩家可以采取以下措施进行排查和解决:一、确认问题原因未通过Steam启动:如果直接从游戏目录启动游戏,而非通过Steam客户端,可能会导致此问题。文件丢失或损坏:在安装过程中该文件可能未能正确复制,或者被杀毒软......
  • Chromium 屏蔽缺少 Google API 密钥,因此 Chromium 的部分功能将无法使用。c++
    新编译的Chromium工程默认gn参数如下:可以利用gnargs--listout/debug>1.txt导出默认参数google_api_key  Currentvalue(fromthedefault)=""   From//google_apis/BUILD.gn:43  SetthesetobakethespecifiedAPIkeysandOAuthclient ......