关注我们

WEB API安全性

LzersLzers 安全文摘 2018-06-29 644734 0

什么是API

应用程序编程接口(API)是允许应用程序彼此通信的软件中介。它为开发人员构建软件应用程序提供例程,协议和工具,同时以可访问的方式提取和共享数据。

Web API在应用程序和其他服务或平台(如社交网络,游戏,数据库和设备)之间进行连接。

此外,物联网(IoT)应用程序和设备使用API来收集数据,甚至控制其他设备。例如,电力公司可以使用API来调整恒温器上的温度以节省电力。

SOAP API和REST API

SOAP和REST是实现API的两种流行方法。

SOAP(简单对象访问协议)是一种用于在计算机之间交换信息的基于XML的消息传递协议。SOAP的内置WS-Security标准使用XML加密,XML签名和SAML令牌来处理事务性消息传递安全性考虑。SOAP还支持OASIS和W3C推荐。

与使用其他API实现(例如REST)相比,SOAP的内置标准和信封式有效载荷传输需要更多开销。但是,需要更全面的安全性和合规性的组织可能会从使用SOAP中受益。

REST(具象状态传输)使用HTTP获取数据并在远程计算机系统上执行操作。它支持SSL身份验证和HTTPS来实现安全通信。

REST使用JSON标准来消费API有效载荷,这简化了浏览器上的数据传输。REST是无状态的 - 每个HTTP请求都包含所有必要的信息,这意味着客户端和服务器都不需要保留任何数据来满足请求。与需要解析和路由每个请求以在本地Web服务上运行的SOAP不同,REST利用标准HTTP请求,并且不需要重新打包数据。

API安全威胁

API通常会自我记录信息,例如它们的实现和内部结构,这些信息可用作网络攻击的智能。其他漏洞,如弱认证,缺乏加密,业务逻辑缺陷和不安全的终端使API容易受到下面列出的攻击的攻击。

中间人(MITM)

一个在中间人(MITM)攻击的人包括攻击者偷偷中继,拦截或改变通信,包括API的消息,双方以获取敏感信息。

例如,一个犯罪者可以充当一个在HTTP头部发布会话令牌的API与用户浏览器之间的中间人。拦截该会话令牌将授予用户帐户的访问权限,该帐户可能包括个人详细信息,例如信用卡信息和登录凭证。

API注入(XSS和SQLI)

在代码注入攻击中,恶意代码被插入到易受攻击的软件程序中,以进行跨站点脚本(XSS)SQL注入(SQLi)等攻击

WEB API安全性

通过API执行浏览器XSS注入

例如,行为人可以将恶意脚本注入易受攻击的API中,即无法执行正确的过滤器输入,转义输出(FIEO)的恶意脚本,以发起针对终端用户浏览器的XSS攻击。此外,可以将恶意命令插入到API消息中,例如从数据库中删除表的SQL命令。

任何需要解析器或处理器的Web API都容易受到攻击。例如,包含JSON代码解析并且没有正确处理输入的代码生成器易于注入在开发环境中运行的可执行代码。

分布式拒绝服务(DDOS)

在分布式拒绝服务(DDoS)攻击中,多个系统会淹没目标系统(通常是一个或多个Web服务器)的带宽或资源。DDoS攻击上的web API试图通过与并发连接淹没它,或通过发送/请求大量的在每个请求信息压倒其存储器和容量。

例如,2017年初在FCC网站上发生的DDoS攻击使用商业云服务向评论系统发出大量API请求。这消耗了可用的机器资源并挤出了人类评论者,最终导致网站崩溃。

API安全最佳实践

针对上述攻击保护您的API应基于:

  • 认证 - 确定最终用户的身份。在REST API中,可以使用TLS协议实现基本认证,但OAuth 2和OpenID Connect是更安全的替代方案。

  • 授权 - 确定已识别用户可以访问的资源。应构建并测试API以防止用户访问其预定义角色之外的API函数或操作。例如,不应允许只读API客户端访问提供管理功能的端点。

其他最佳实践包括根据API架构验证您的API调用,这些API架构清楚地描述了预期的结构。扫描有效载荷并执行模式验证可以防止代码注入,恶意实体声明和解析器攻击。为每个API调用分配API令牌可验证传入的查询并防止对端点的攻击。

最后,使用TLS / SSL保护您的所有网页非常重要,TLS / SSL可以加密和验证传输的数据,包括通过Web API发送的数据。这样做有助于通过防止拦截网站流量来缓解MITM攻击的威胁。

WAF和API安全

Web应用防火墙(WAF)应用一组规则,以应用程序之间的HTTP / S对话。WAF通常用于保护API平台,因为它们能够防止滥用和利用,并有助于缓解应用层DDoS攻击。

此外,WAF使用定期打补丁,严格签名和SSL / TLS加密的列表来阻止注入攻击,并防止在MITM攻击中拦截网站流量。

Incapsula的基于云的WAF使用签名识别,IP信誉和其他安全方法来识别和阻止API的代码注入。Incapsula CDN上托管SSL / TLS证书以防止攻击并确保合规性。

使用Incapsula仪表板,安全团队可以跨多个子域强制执行SSL / TLS安全性,以进一步保护API免受协议降级攻击和cookie劫持企图。

最后,Incapsula还提供多种以安全为中心的监控服务和SIEM集成选项。这些提供了有关API使用情况的宝贵实时见解,可以及早发现针对API资产的攻击尝试。


版权声明

本文仅代表作者观点,不代表黑白网立场。
如文章侵犯了您的权利,请通过邮箱联系我们删除。
详情查看:版权纠纷
E-Mail:server@heibai.org

喜欢0发布评论

评论列表

发表评论

  • 昵称(必填)
  • 邮箱
  • 网址