AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

  • 2019-10-12
  • 本文字数:1975 字

    阅读完需:约 6 分钟

为什么需要考虑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


2019-10-12 16:132561

评论

发布
暂无评论
发现更多内容

秒级响应,显著增效:明日控股携手奇点云,打造大宗贸易的数据中台标杆

极客天地

Nop入门:极简数据访问层开发

canonical

mybatis 低代码 ORM graphql

HDFS 小文件合并最佳实践

冰心的小屋

NameNode 海量小文件

最强GTD时间管理工具OmniFocus Pro 3 for Mac最新激活版 附注册机 兼容M1/M2

Rose

苹果软件 OmniFocus 下载 Mac任务管理器 OmniFocus Pro 3 GTD时间管理

2024年首期OpenHarmony繁星计划师资培训在东莞圆满举办

新消费日报

点赞!HashData连续三年获评数据猿“最具投资价值企业奖”

酷克数据HashData

产品经理需要掌握哪些技能?一文弄懂PM的方方面面!附知识图谱

彭宏豪95

产品经理 产品设计 PM 在线白板 团队协同

【豆瓣8.4】《RabbitMQ实战指南》PDF

程序员李木子

文心一言 VS 讯飞星火 VS chatgpt (187)-- 算法导论14.1 4题

福大大架构师每日一题

福大大架构师每日一题

【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入Kill指令探索)

码界西柚

Linux Shell 2024年第二十二篇文章 技术指令

【新手视频】在线快速搭建AI原生应用

AI大咚咚

百度 AI rag AI原生应用 Agent构建

Nop入门:极简服务层开发

canonical

gRPC 低代码 graphql SpringBoot3

听GPT 讲Rust源代码--compiler(30)

fliter

Programming Abstractions in C阅读笔记:p258-282

codists

Ableton Live如何设置中文?ableton live 11 mac中文破解版 永久可用

Rose

mac音乐制作软件 Ableton Live 11破解版 Ableton Live 11中文版

hazel mac破解版 自动化文件清理工具 含hazel激活码 兼容m1 m2

Rose

苹果软件资源 Hazel 下载 Mac自动清理工具 Hazel Mac破解版

【豆瓣9.1】《大数据处理框架Apache Spark设计与实现(全彩)》PDF

程序员李木子

Programming Abstractions in C阅读笔记:p254-p257

codists

在线 cURL 参数对比工具,让你的开发工作更加高效

秦少卫

curl 接口工具 调试工具 请求参数对比 参数格式化

C# 面向对象编程解析:优势、类和对象、类成员详解

小万哥

C# 程序人生 编程语言 软件工程 后端开发

Atlassian 停服 Bitbucket?三步快速迁移至极狐GitLab

极狐GitLab

应该如何选择轻量级低代码、重量级低代码、轻量级低代码+定制、纯定制软件开发?

天津汇柏科技有限公司

低代码开发 低代码,项目开发 定制软件开发 软件开发定制

为什么需要考虑API的安全性?_语言 & 开发_Erez Yalon_InfoQ精选文章