API接口安全

API 组成要素

API 通常包含如下组成要素,在这些要素的共同作用下,API 才能发挥预期作用。
(1) 通信协议 :API 一般利用 HTTPS 等加密通讯协议进行数据传输,以确保数据交互安全。
(2) 域名 :用于指向 API 在网络中的位置。API 通常被部署在主域名或者专用域名之下,接入方可通过域名调用相关 API。
(3) 版本号 :不同版本的 API 可能存在巨大差异,尤其对于多版本并存、增量发布等情况,API 版本号有助于准确区分 API 的参数 设置。
(4) 路径 :路径又称“终点”(end point),指表示 API 及API 执行功能所需资源的具体地址。
(5) 请求方式 :API 常用的请求方式有 GET、POST、PUT 和 DELETE 四种,分别用于获取、更新、新建、删除指定资源。
(6) 请求参数 :即传入参数,包含数据格式、数据类型、可否为空以及文字描述等内容。传入参数主要包括 Cookie、Request 、header、请求 body 数据和地址栏参数等。
(7) 响应参数 :即返回参数或传出参数,返回参数本身默认没有值,用于带出请求参数要求 API 后台所返回的数据。
(8) 接口文档 :接口文档是记录 API 相关信息的文档,内容包括接口地址、请求方式、传入参数(请求参数)和响应参数等。
API安全风险分析:
1.API 漏洞导致数据被非法获取:不法分子可能利用 API 漏洞(如缺少身份认证、水平越权漏洞、垂直越权漏洞等)窃取用户信息、企业核心数据。例如在开发过程中使用非 POST 请求方式、Cookie 传输密码等操作登录接口,存在 API 鉴权信息暴露风险,可能使得 API 数据被非法调用或导致数据泄露。
2、针对 API 的常见网络攻击包括重放攻击、DDoS 攻击、注入攻击、会话 cookie 篡改、中间人攻击、内容篡改、参数篡改等。通过上述攻击,不法分子不仅可以达到消耗系统资源、中断服务的
目的,还可以通过逆向工程,掌握 API 应用、部署情况,并监听未 加密数据传输,窃取企业数据。
 
3.网络爬虫通过 API 爬取大量数据:通过开放 API 对 HTML 进行抓取是网络爬虫最简单直接的实现方式之一,不法分子通常采用假 UA 头和假 IP 隐藏身份,一但获取企业内部账户,可能利用网络爬虫获取该账号权限内的所有数据。如果存在水平越权和垂直越权等漏洞,在缺少有效的权限管理机制情况,不法分子可以通过掌握的参数特征构造请求参数进行遍历,导致数据被全量泄露。此外,移动应用软件客户端数据多以 JSON 形式传输,解析更加简单,反爬虫能力更弱,更易受到
网络爬虫威胁。
 
4.合作第三方非法留存接口数据:以个人身份验证类合作为例,在需要进行实名验证的时候,合作方可通过 API 请求调用相关个人身份信息。正常情况下,服务器获取请求后在后端进行验证并返回结果,此过程中恶意合作方可能留存验证结果,经过长时间积累,非法变相获取大量的个人身份信息资源,对企业数据库形成事实上的拖库。
结论:
企业应采用多种技术手段保护 API 安全,降低安全风险。一是 对 API 接口进行生命周期监控, 二是 健全账号认证机制和授权机制,三是 实时监控 API 账号登录异常情况, 四是 执行API敏感数据保护策略,五是 建立接口防爬虫防泄漏保护机制

你可能感兴趣的:(安全,网络,http,https)