REST API面临的7大安全威胁
副标题[/!--empirenews.page--]
近年来,互联网上安全漏洞显著增多。互联网安全的话题也被技术博客和论坛讨论得越来越频繁:安全性非常重要,尤其是在REST API的世界中。 根据Jitterbit公司2018年API集成状态报告: APIs 正在改变商业 令人印象深刻的是,现在有64%的组织机构正在创建用于内部或外部用例的APIs。虽然现在有四分之一的受访者根本没有创建APIs,但是有40%的受访者正在使用内部和外部用例中的APIs。 API的创建和管理落到了开发人员的肩上 如今,大多数利用APIs的组织都依赖开发人员来编写和管理这些api。33%的受访者使用专门的技术来管理APIs,而90%的受访者则依赖开发团队或外部资源从头开始编写APIs。 由于在越来越多的新的云应用程序之间编写集成代码,组织已经不堪重负,因此要求开发人员为业务创建和管理APIs。 REST API安全 在设计、测试和部署REST API时,安全性问题必须是需要考虑的重要方面。随着REST API的惊人发展,安全级别,大部分时间,在API的设计和开发中被低估了。敏感数据的安全性,无论是组织的还是个人的信息,都是当今困扰开发人员的一个重要因素。REST api也不例外,它是需要针对安全威胁和破坏进行保护的基本系统的一部分。 根据2018年Postman community report (survey),越来越多的开发者开始关注REST API的安全性: 在这篇文章中,我将介绍当今IT世界中最常见的7种REST API安全威胁,以便引起每个人的注意,并帮助了解能够反映REST API性能的安全威胁。 REST的安全性问题。 REST通常使用HTTP作为它的底层协议,这带来了一系列安全问题:
在REST架构中,端到端处理意味着一系列潜在的脆弱操作:
REST框架中的分层转换序列意味着链中的一个薄弱环节可能使应用程序变得脆弱。 7大REST API安全威胁: 1. 注入攻击 在注入攻击中,危险的代码被嵌入到不安全的软件程序中进行攻击,,尤其是SQL注入和跨站点脚本编写。实际上,可以通过将不受信任的数据作为查询或命令的一部分传输到API中来操纵此公开。输入随后由解释器实现,这可能导致攻击者获得未经授权的信息访问或进行其他破坏。 阻止或拒绝注入攻击的最有效方法是添加输入验证,下面是最关键的指导原则:
2. DoS 攻击 在拒绝服务(DoS)攻击中,攻击者在大多数情况下会推送大量请求服务器或网络的消息,以建立由无效返回地址组成的请求。如果不采取适当的安全预防措施,这种攻击能够将RESTful API呈现为拒绝使用的情况。最近,无论您的API是否公开,其他人(包括攻击者)都可能访问它。 随着这些API DoS攻击变得越来越普遍,随着组织越来越多地依赖于API来满足业务需求,安全专家应该积极地计划处理此类攻击。即使禁用了用于应用程序身份验证的API密钥(或访问令牌),也可以通过标准浏览器请求轻松地重新获取密钥。因此,使当前的访问令牌无效不是一个长期的解决方案。如果DoS攻击可以追溯到特定的IP地址,那么将该IP地址列入黑名单也不是一个长期的解决方案,因为攻击者可以很容易地获得一个新的IP地址。 这就是为什么需要多种访问控制方法。对于非敏感信息,使用API键可能就足够了。但是,为了更好地防止DoS攻击,需要使用HTTPS和更健壮的身份验证机制,包括OAuth、相互(双向)TLS(传输层安全)身份验证或SAML(安全断言标记语言)令牌。 为了防止大量API请求导致DDoS攻击或API服务的其他误用,对每个API在给定时间间隔内的请求数量进行限制(也称为峰值停止)。当超过速率时,至少暂时阻塞API键的访问,并返回429(太多请求)HTTP错误代码。 如果您开始构建新的REST API,请检查具有许多面向安全特性的web服务器。 3. 打破身份验证 这些特定的问题可能使攻击者绕过或控制web程序使用的身份验证方法。缺少或不充分的身份验证可能导致攻击,从而危及JSON web令牌、API密钥、密码等。攻击的目的通常是控制多个帐户,更不用说攻击者获得与被攻击用户相同的特权了。应该只允许经过身份验证的用户访问api。 使用OpenId/OAuth令牌、PKI和API密钥可以很好地满足API的授权和身份验证需求。永远不要通过未封装的连接发送凭证,也不要在Web URL中显示会话ID。 4. 暴露敏感数据 (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |