写点什么

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

评论

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

React的理念与V16的架构变化

郭明

React

MySQL之my.cnf配置文件

TimeFriends

8月月更

C#/VB.NET:在 Word 中设置文本对齐方式

Geek_249eec

C# word VB.NET 文本对齐

《迁移学习导论》第2版,升级内容抢先看!

博文视点Broadview

【LeetCode】分组的最大数量Java题解

Albert

LeetCode 8月月更

萌宠来袭,如何让“吸猫撸狗”更有保障?

旺链科技

区块链 产业区块链 宠物行业

CentOS6搭建nginx+uwsgi+flask

haiger13

签约计划第三季

Jina 实例秀|七夕神器!比你更懂你女友的口红AI

Jina AI

七夕 神经网络架构搜索

开源一夏|ArkUI如何自定义弹窗(eTS)

坚果

开源 HarmonyOS OpenHarmony 8月月更

转转测试环境的标签域名实践

转转技术团队

nginx hosts

浅聊偏函数

掘金安东尼

JavaScript 函数式 8月月更

华为开源:聚焦开源基础软件,共建健康繁荣生态

科技热闻

STM32+SIM800C采用MQTT协议登录OneNet上传温湿度、MQ2烟雾浓度、GPS数据

DS小龙哥

8月月更

什么是 DevOps?看这一篇就够了!

胡说云原生

管理 DevOps 运维 开发 签约计划第三季

如何过一个充满科技感的七夕?华为告诉你

最新动态

再次搞定 Ali 云函数计算 FC

小鑫同学

签约计划第三季

SAP 人工智能解决方案的演进史 - 从 SAP Leonardo 到 SAP Data Intelligence

汪子熙

人工智能 机器学习 AI SAP 8月月更

【黄啊码】MySQL入门—1、SQL 的执行流程

黄啊码

MySQL 8月月更

技术干货 | 用零信任保护代码安全

权说安全

直播回放含PPT下载|基于Flink & DeepRec构建Online Deep Learning

阿里云大数据AI技术

深度学习

语音社交app源码——具备哪些开发优势?

开源直播系统源码

软件开发 语聊房 直播系统源码 语音聊天系统 语音聊天app

mysql进阶(二十六)MySQL 索引类型

No Silver Bullet

MySQL MySQL索引 8月月更

临床研究方法学,到现场,到数据真实发生的地方 | 对话数智 x 张维拓

ModelWhale

数据分析 人才培养 数据科学 8月月更 临床医学

秒云成功入选《2022爱分析 · 银行数字化厂商全景报告》,智能运维能力获认可

MIAOYUN

人工智能 银行数字化转型 智能运维 智能运维AIOps

SchedulX V1.5.0发布,提供快速压测、对象存储等全新功能!

星汉未来

云原生 k8s IT运维 降本增效 星汉未来

开源一夏 | 查询分页不只有limit,这四种分页方法值得掌握

知识浅谈

开源 8月月更

Rust 入门指南 (用 WASM 开发第一个 Web 页面)

王泰

rust Wasm WebAssenbly ​Rust

Jina 实例秀|基于神经搜索的网络安全威胁检测(一)

Jina AI

神经网络架构搜索 Python.

仿钉钉审批流程后端 PHP 处理(一)

CRMEB

Java使用IReport导出复杂报表

源字节1号

微信小程序 软件开发 前端开发 后端开发

【黄啊码】MySQL入门—2、使用数据定义语言(DDL)操作数据库

黄啊码

MySQL 8月月更

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