API威胁防护实际之天清Web利用安全网关系统

颁布功夫 2018-06-25
随着 Web 2.0 时期的到来,由于 JSON 数据体式单一,容易开发�?⒄吒不妒褂� JSON 体式来编写 API,Web API 也出现发作性的增长。出格是近几年来,随着社交媒体和在线服务的发展,服务的提供者更喜欢对表提供盛开的 Web API 供开发者挪用�?⒄咄ü缗灿� Web API 实现登录认证、新闻推送、订单支付等职能,API 之间的相互挪用极大的提高了开发效能,开发者能够在短功夫内实现利用的设计与开发。只有服务提供者对表公开了 API,开发者就能够很单一的将服务集成进自己的利用,直接的享受该服务,分歧的服务提供者集中在一路钻营共同发展。

Web API 是支使用 HTTP 和谈进行网络挪用的API(Application Programming Interface),是一个利用的表部接口。对于一个利用法式,人们通常不关注内部结构实现细节,只关切表部职能的使用。那么挪用利用法式实现某个职能的规范步骤即可称之为法式的 API。

◆Web API 安全隐患◆

由于 Web API的宽泛遍及与使用,与传统的 Web 安全问题一样,也存在敏感信息被恶意获取,用户权限被恶意使用等问题。除了气象预报、地理地位等这类公共服务信息的提供,险些所有的 API 服务都存在用户认证、权限节造等,以便于服务提供商进行治理和收费。

近年来随着移动利用、云端利用的遍及,Web 站点与 Web API 配套开发的情景越来越多,API  安全问题也是与日俱增。如果 Web  API 缺点被恶意利用,用户隐衷被公开或者盗用,那么服务提供者将会失去信誉、失去用户,可能导致服务提供者破产倒关,始终无法再次赢得用户的信赖。

例如Instagram 在2017年由于 API 存在 bug,不少认证用户都发现自己的幼我资料(蕴含邮箱地址、电话号码等)可等闲被他人获取。事件产生后,Instagram 固然并未对缝隙细节做过多诠释,只是暗示缝隙已经建复。Instagram 对所有的注册用户发了电子邮件,提醒他们提防这次攻击,并幼心可能会出现的垂钓攻击,还有那些通过社工伎俩(邮件,短信,电话等方式)所带来的攻击。

● 安全隐患一:
客户端与服务器之间的监听与嗅探

Web API 和通常的 Web 站点一样,通过 HTTP 和谈在互联网上进行数据传输,由于HTTP和谈自身并未有任何加密的设计,因而不能保障通讯过程中不被监听。越来越多的公共Wi-Fi被黑客盯上,通常黑客设法和受害用户衔接在统一局域网内,只有打开嗅探监听工具,受害者在网络中的传输过的敏感信息将被黑客获取。若是被窃取的信息中直接含有幼我信息和密码,黑客可能通过这个信息直接登录受害人的用户,进一步可能造成信息泄露或财富损失。另表一种,黑客也可能劫持受害者用户的会话,服务器将无法分辨受害者还是黑客,黑客能够进行受害者权限领域内的所有操作。

Web API 在通讯时使用了 HTTPS 和谈通讯,将极大加强会话的安全性。那么是不是只有使用了HTTPS和谈通讯就能保障会话不被劫持,敏感信息不被获取呢?答案是否定的。

2014年4月发作的Heartbleed安全缝隙,导致攻击者可能获取到服务器上保留的明文信息。另表,使用 HTTPS加密通讯时,也有可能存在中央人攻击,因而必要保障使用有效的SSL证书进行加密认证。

● 安全隐患二:
使用浏览器接见API时产生的安全意表

Web API 是专门为法式间相互挪用而设计的,若是意表的使用浏览器来接见 Web API 则也可能存在安全问题。

? XSS攻击

XSS攻击将用户的犯法输入的JavaScript剧本在响应页面的HTML中执行。攻击者可能利用XSS缝隙劫持会话、盗取Cookie、篡改页面等操作。在Web API 返回 JSON 数据时,若是Content-Type 设置不合理便会造成 XSS 缝隙攻击。

当服务器返回该 JSON 数据时,将响应头中的Content-Type设置为test/html 或者设置为Content-Type: text/plain(IE下能够执行)时,该 JSON 数据被诠释为 HTML 代码,浏览器直接执行了其中的JavaScript代码。

? CSRF攻击

Web API 防护CSRF 攻击的步骤和通例的 Web 网站并没有什么分歧。通常必要不容通过GET步骤批改服务端的数据,而是选取 POST、PUT、DELETE等步骤进行尺度化操作。即便设置了不允许GET方式批改服务器数据,CSRF依然能够通过Form表单使用POST步骤提议攻击,并且不受同源战术的影响。

● 安全隐患三:
业务层面的恶意接见

? 篡改ID犯法获取用户敏感信息

篡改要求参数获取敏感信息,攻击者能够通过批改客户端发送到服务器的参数,贪图获取权限领域之表的敏感信息。例如使用以下大局的

URL:
https://api.example.com/v1/user/123?info=email

从大局上来看,URL中的123可能为用户ID,如果提交该URL要求能够获取到ID为123用户的email信息,那么攻击者通过批改用户ID就能获取到其他用户的email信息。

下面具体分析一下这个问题,通常的有些Web API 设计敦睦,通常在URL里面使用user关键字或者在参数里面使用email关键字来批注业务的一些有关信息。设计者初衷是为了开发者越发单一了然的使用API来实现法式挪用,但是也给攻击者带来可乘之机。攻击者通过度析URL的大局特点并结合具体的业务对关键字进行篡改,贪图犯法获取敏感信息。

? 参数异常输入导致未授权操作

API的设计者在设计之初是为了方便的使用API进行法式间的挪用,有时思考不到太多的异常输入造成的安全隐患。例如驰名的WordPress网站系统已经存在REST API 由于异常输入造成权限绕过,攻击者能够通过API篡改网站页面内容。

WordPress 4.7以上的版本,WordPress REST API提供了一组易于使用的HTTP端点,用户能够以单一的JSON体式接见网站的数据,蕴含用户,帖子,分类等。检索或更新数据与发送HTTP要求一样单一。API 提供了对用户、文章、分类等分歧职能的节造,也能够通过 API 检索或批改文章。在WorePress 4.7.0和4.7.1版本中存在缝隙,由于权限节造失效导致内容注入或批改,攻击者通过批改id为一个异常值就能够实现网站内容的篡改,而不必要任何认证信息。

Wordpress 提供的部门 API 职能:

查看文章列表
GET /index.php/wp-json/wp/v2/posts

检索文章
GET /index.php/wp-json/wp/v2/posts/1

批改文章
POST /index.php/wp-json/wp/v2/posts/1?id=1
Content-Type: application/json
{"title":"test"}

提交以上批改文章的要求,服务器返回401 未认证。

若是稍微批改以上的URL内容,例如批改为POST /index.php/wp-json/wp/v2/posts/1?id=1abc,即将id参数的值由1批改为1abc,再次尝试提交。服务器返回200 OK,WordPress网站的第一篇文章标题被批改为test,攻击成功。

◆WAF检测与防护◆

Web API和通常的利用类似都是通过HTTP和谈对表服务,通常Web利用中存在的缝隙和缺点,在Web API 中同样也会存在。宝运莱官方网站WAF产品有专门API防护�?�,通过该防护�?橛隬AF职能相结合可对Web API的问题进行检测与防护,Web API防护�?榧癆PI攻击检测上报事务,如下:
 292106229195

292106226226

292106225964

宝运莱官方网站WAF产品适应从幼型企业到大型数据中心等各类规模和客户业务模型下的网络环境,并宽泛利用于金融、运营商、当局、能源、大企业、烟草、税务、交通、卫生、教育等行业领域。

宝运莱官方网站作为中国信息安全行业的领航企业,一向秉承诚信和创新心灵,致力于提供拥有国际竞争力的、自主创新的WAF安全产品。宝运莱官方网站WAF产品入围Gartner魔力象限,凭据第三方Frost& Sullivan权威机构WAF市场占有率陆续5年排名第一,宝运莱官方网站WAF产品陆续多年在大中国区WAF市场名列前茅。