加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 安全 > 正文

API团队须知的几种安全威胁

发布时间:2022-07-27 10:57:59 所属栏目:安全 来源:互联网
导读:如今,无论是以API为主营服务(API-first)的公司,或是单页面应用/JAMStack,都通过各种丰富的API对外公布着大量的数据。不过,由于这些数据能够被直接地访问到,而且绕过了浏览器的预防机制。因此,我们需要担心的不再是SQL注入和XSS等入向问题,而是敏感数
  如今,无论是以API为主营服务(API-first)的公司,或是单页面应用/JAMStack,都通过各种丰富的API对外公布着大量的数据。不过,由于这些数据能够被直接地访问到,而且绕过了浏览器的预防机制。因此,我们需要担心的不再是SQL注入和XSS等“入向”问题,而是敏感数据记录可能被窃取等API“出向”安全性问题。此外,由于API被设计为能够向单个客户端提供大量的API访问,因此诸如验证码(Captchas)和浏览器指纹识别之类的典型预防机制,也不再能够起到明显的效果。
 
  那么,我们该如何开始做好API的安全防护呢?在此,让自己从攻击者的角度来检查目标API,以阻断常见的未知对象攻击,并参照OWASP安全API列表
 
  大多数API都提供了对于实体列表(例如/users或/widgets)的资源访问。诸如浏览器之类的客户端通常会使用如下方式,来进行过滤和分页(pagination),以限制返回给客户端的条目数:
 
  复制
  First Call: GET /items?skip=0&take=10  
  Second Call: GET /items?skip=10&take=10
 
  但是,如果该实体中含有任何PII(个人身份信息)或其他敏感信息,那么攻击者就可能通过该端点,获取数据库中的所有实体信息。一旦这些实体的PII被意外泄露,竞争对手就能够推断出贵企业的采购信息和客户状况,甚至是大量的邮件列表。如果您对此有兴趣的话,可以参看《如何清除Venmo数据》
 
  为了防止分页攻击,您应该跟踪在一定时间段内,用户或API密钥访问某个资源的数量,而不是仅仅停留在请求本身。您可以在用户或API密钥达到阈值时(例如:每个用户或API密钥在一个小时内之允许调用1,000,000条记录)阻止它们。当然,具体阈值的设定取决于您的API用例,以及它们的订阅方式。就像每分钟只能发送一次验证码那样,此举减缓了黑客调用目标API的速度。对此,攻击者不得不手动创建更多新的帐户或API密钥。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读