首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么需要考虑API的安全性?

各类企业在智能手机的应用程序中,越来越多地依赖API与客户端进行交互,但这种方式也有一些弱点。

随着网络攻击者继续利用易受攻击的人、过程和技术,他们的行动也瞄向了常规目标之外;似乎没有任何事情不在他们的目标范围之内,没有人能百分之百地免受他们的恶意攻击。

尽管组织机构在保护自己方面取得了进展,但是一旦一个组织被击破,其他的很快也就暴露了。

今天的攻击者尤其关注API,它们正迅速成为新的攻击前沿阵地。最近的报告表明,到2022年,API滥用将成为企业web应用程序中数据泄露的罪魁祸首。因此,保护API变得越来越重要。

虽然API安全这些概念还有些新,但是通过API执行攻击的行为并非最近才出现。多年来,大多数组织机构都遇到过类似的威胁,这些威胁正是针对其网络和面向Internet的应用程序。

现在,他们必须把精力集中在移动应用程序、API和后端服务器上,因为网络攻击者过去采用了类似方法,把这些应用程序、API和后端服务器作为了攻击目标。在讨论与今天的API相关风险之前,我们必须首先准确地理解是什么使它们显得独特和易受攻击。

基于API的应用程序与传统应用程序的对比

基于API的应用程序与传统应用程序有很大的不同。例如,在过去,用户/访问者会通过浏览器访问web服务器,而大多数“数据处理”是在服务器上执行的。但随着客户端设备变得越来越多样化,变得越来越强大——即有了更快的CPU、更大内存、更多带宽等等——很多逻辑从后端服务器转移到了前端(即客户端设备本身),如下图所示。

在现代应用程序中,下游服务器更像是基于API的应用程序所使用数据的一个网关代理。在此实例中,渲染组件就是使用原始数据的客户端,而不是服务器本身。

例如,还记得在早些年,人们使用智能手机和传统网站预订机票。人们会在手机上打开浏览器,尝试使用航空公司网站,这些网站是专为大型电脑显示器而非小型智能手机屏幕设计的。

但这并没有带来很好的用户体验,所以公司开始更新他们的网站,使其对智能手机用户更加友好。尽管这改善了用户体验,但浏览网站和完成机票预订仍然相当麻烦。

因此,航空公司、酒店、汽车租赁公司等都开始开发自己的移动应用程序。人们预订航班时,不再试图从手机上的浏览器里打开该航空公司移动版网站,而是下载并安装该公司的移动应用程序,并直接从智能手机上使用该应用程序进行预订。那么,这带来了什么变化呢?

当使用航空公司的移动应用程序预订航班时,该应用程序使用API调用与后端服务器交互,主要用于获取航班时间表、可乘坐航班、价格和座位等数据。该应用程序还与用户进行交互,允许用户指定旅行日期、出发和到达城市、座位选择和购买选项。

在这种情况下,智能手机可以不使用浏览器,而是在移动应用程序内部执行了几乎所有的机票预订处理负载。尽管这极大地改善了使用智能手机时的机票预订体验,但也带来了一个问题:

API是否也像基于浏览器的应用程序一样容易受到网络攻击?

与API相关的风险

不幸的是,API也暴露在攻击之下,并且类似于基于浏览器的应用程序,基于API的应用程序在很大的程度上也存在着类似的安全问题。

但是,由于API暴露了移动应用程序的底层实现,并且用户的状态通常由客户端应用程序维护和监视,每个HTTP请求(对象ID、过滤器等)中会发送更多的参数,所以有一些API的安全问题具有其独特性。在大多数情况下,这些问题导致的漏洞可以从以下三个方面来考虑:

  • 泄露敏感数据
  • 被拦截的通讯
  • 对后端服务器发起拒绝服务攻击(DoSS)

一个具有高尚动机的好项目

随着威胁范围的扩大和API使用的增加,我和Inon Shkedy(Traceable.ai的安全研究主管)带头领导了OWASP API十大安全项目。该项目旨在帮助组织、开发人员和应用程序安全团队更加了解API的风险。

这个项目之所以重要,是因为:“在当今应用程序驱动的世界中,创新的一个基本元素就是API。从银行、零售、运输到物联网、自动驾驶汽车和智慧城市,API是现代移动端、SaaS和web应用程序的关键部分,我们可以在面向客户、面向合作伙伴和机构内部的应用程序中随处可见API的使用。从本质上讲,API暴露了应用程序的逻辑和敏感数据,如个人身份信息(Personally Identifiable Information,简称PII),正因为如此,它越来越多地成为攻击者的目标。没有安全的API,快速创新将是不可能的。”

OWASP API安全项目旨在开发、发布和跟踪组织在使用API时所面临的十大风险,类似于OWASP十大最关键的Web应用程序安全风险项目。从中断的对象级授权到不充分的日志记录和监视,这个列表汇总了企业面临的最关键的API风险,同时还提供了示例攻击场景和减轻这些威胁的建议。

所以,IT团队、安全专业人员和开发人员都应该仔细阅读这个列表,以便更好地理解API带来的好处,同时了解在攻击者将目光投向这个新兴目标时,API的实现所带来的潜在风险。

英文原文:

Why You Need to Think About API Security

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/G8X4cpGQtAxG6TNtULUB
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券