五大API安全漏洞及缓解措施

VSole2023-04-20 14:00:27

API流量约占全球互联网流量的83%,是数字经济的“关键基础设施”,同时也是最热门的攻击目标之一。

随着云计算、物联网、移动互联网和人工智能技术的快速普及,API安全已经成为当下企业和互联网面临的最严峻的网络安全挑战之一,根据Gartner的研究,2022年,超过九成Web应用程序遭到的攻击来自API,而不是人类用户界面。

根据Wallarm的最新报告,API攻击数量在2022年暴增两倍,API漏洞数量下半年比上半年增长了78%,API漏洞利用时间(漏洞CVE发布到漏洞利用POC发布之间的时间)从二季度的58天骤减到四季度的-3天,2023年API安全将延续这一趋势。

面对日趋恶化的API安全态势,安全团队需要重点排查和缓解以下五个API关键漏洞:

一、弱认证

身份验证用于核实用户或设备是否是其声称的身份,防止没有正确权限的人员或设备访问信息和资源。如果身份验证流程容易被绕过或入侵(例如弱密码或容易猜到的密码),攻击者可以临时甚至永久伪装成合法用户。

措施

强制使用强密码和多因素身份验证来访问敏感资源(如银行帐户),减少帐户接管的可能性。更重要的是确保密码和身份验证流程按预期工作。这需要广泛的测试,特别是会话cookie的管理,因为会话cookie很容易引入可利用漏洞。会话cookie应该是完全随机且不可预测的,并在每次成功登录或更改访问级别后刷新。任何未经正确身份验证访问资源的尝试都应收到“401未经授权”响应状态代码。限制登录尝试失败的次数,超出后帐户将被锁定。可使用API密钥来识别用户,但不进行身份验证或授权,因为密钥太容易暴露和滥用。

二、错误的对象级授权

API通常公开用于访问资源的对象。当这些端点上没有正确实施访问控制时,攻击者可以查看或操作他们不应该访问的资源。此漏洞影响所有类型的API架构,包括SOAP、REST和GraphQL。

例如,攻击者更改请求的用户ID,以查看是否返回有关其他用户的信息,这可能导致未经授权访问数据。值得注意的是,2019年Uber的API中发现了此漏洞,该API使司机只需更改用户ID即可访问其他司机的数据。如果数据修改函数也缺乏正确实施的授权检查,攻击者还可能更改或删除数据,甚至完全接管另一个用户的帐户。

措施

对象标识符应该是随机且不可预测的,而不是可以轻松猜测的可预测的顺序值。服务器端检查还应验证以下内容:

  • 用户有权访问请求的对象。
  • 用户拥有对对象执行特定操作所需的权限。

三、注入漏洞

当API收到用户提交的数据但在处理请求之前未对其进行分析和验证时,攻击者可以发送恶意数据或命令来触发注入攻击。数据库查询和操作系统命令都可以通过XML、JSON、跨站点脚本(XSS)、SQL和NoSQL注入来访问数据或未经授权执行恶意命令。

措施

与其创建自己的函数来验证和清理传入数据,不如调用专业白名单库来确保数据是所需的类型和长度,对每个传入请求运行这些检查,并删除意外的字符、参数以及已知的注入命令。

四、过多的数据暴露

数据暴露是API的常见漏洞,即API响应请求时返回的数据远远多于完成请求所需的数据。这通常是因为开发人员编写从表中返回整行数据的代码比仅返回所需特定字段更简单。例如,消息传递应用程序上的个人资料页面可能仅仅会显示某人的姓名和年龄,但API请求往往会返回存储的有关该用户的所有信息,而不仅仅是根据其出生日期计算的该用户的姓名和年龄。

尽管应用程序可能会过滤响应并仅显示姓名和年龄,但攻击者很容易读取和收集请求中返回的其他详细信息,包括个人身份信息,例如出生日期、电子邮件地址和位置。这种敏感数据的公开可能会违反数据访问策略规则和相关数据安全法规。

措施

API响应仅返回满足请求所需的数据,具体来说就是API进行的数据库查询应仅获取相关记录和字段。API文档应说明满足请求所需的数据,确保数据库查询与请求的字段和记录匹配。请记住,客户端应用只能筛选用户可见的数据,而不能筛选它接收的数据。

五、安全配置错误

API运行在复杂的基础架构上,资源配置会根据需求自动扩展和缩减。如果未在每一层正确配置安全控制,则敏感数据和系统可能会面临风险。常见的错误配置包括未修补的设备和应用程序、不安全的默认配置、未加密的数据传输以及开放和不安全的云存储和服务。

措施

API应仅公开HTTPS端点。但是,由于HTTPS端点对互联网开放,因此正确设置速率限制,控制请求速率和请求的资源数量也很重要,否则将受到DoS和暴力攻击。禁用未使用的HTTP方法(如TRACE),并添加相应的HTTP响应安全标头,如X-Content-Type-Options:nosniff,以防止XSS和X-Frame-Options:deny以防止点击劫持尝试。此外,API请求生成的任何错误消息都应仅包含最少的信息,以确保不会泄露有关系统的敏感数据,例如关于错误的详细技术信息。

如何提高API整体安全性

要想避免API成为“攻击门户”,关键是身份与访问管理。这意味着启动身份验证和授权检查,不是一次性,而是通过零信任策略持续进行。

同样重要的是基于威胁建模进行API设计,在API开发阶段就整合安全控制,例如强身份控制和访问管理功能,以缓解已知风险。此外还需要测试这些控件是否能在DevOps工作流中发挥作用。

攻击者在利用API漏洞实施网络攻击之前,可能会花费数天时间进行侦察。企业应部署全面的API流量日志记录和监控,以便在造成损害之前发现并阻止攻击。建议使用最新的API清单,并定期查看安全控制和配置是否正确有效。

对于高度分布式的API基础设施来说,传统的基于边界的安全方法不足以阻止攻击。容器、微服务、云存储和持续集成/持续交付管道的定期安全审计对于防止未使用或遗忘的接入点至关重要。

最后,也是最重要的:API开发应该“安全挂帅”,强调“安全优先”而不是速度优先,这是从根本上减少甚至消除API安全漏洞的关键。

信息安全api
本作品采用《CC 协议》,转载必须注明作者和本文链接
近年来,在国家政策的引导、互联网技术的更新迭代和数字经济行业的努力下,人工智能、5G、云计算等为代表的数字基础设施不断建设完善,我国数字经济发展迅速。但同时不容忽视的是,数据安全也成为极大的隐患,如何平衡好数据开放与数据保护成为数字经济健康发展的关键。
以银行信用卡业务API安全为例,剖析当下银行API存在的安全挑战,并提供有效的解决方案。这些信息均属于用户个人隐私,一旦被泄露,很容易被犯罪分子恶意利用并实施诈骗等违法行为。僵尸API僵尸API是指业务已经停止,但相关的API接口还未下线。僵尸API往往存在于企业安全视线之外,安全防护相对薄弱,很容易成为攻击者的突破口。
近日,国家信息安全漏洞库(CNNVD)收到关于Apache Apisix 授权问题漏洞(CNNVD-202112-2629、CVE-2021-45232)情况的报送。成功利用漏洞的攻击者,可以在未经授权的情况下获取或更改设备的配置信息,进而构造恶意数据对目标设备进行攻击。Apache APISIX Dashboard 2.10及其之前版本均受此漏洞影响。目前,Apache官方已经发布了版本更新修复
11月19日,“EISS-2021企业信息安全峰会上海站”召开,永安在线COO邵付东受邀出席大会并在数据安全专场中进行分享。
建议用户尽快采取修补措施。
工业信息安全资讯
12月3日,首届API安全管理论坛在深圳成功举办众多安全领域技术专家以及企业信息安全决策与实践者齐聚一堂,围绕数字化时代下API面临的挑战及如何进行API安全管理进行了分享与探讨,论坛现场座无虚席,精彩观点不断。
API采用率的大幅增长为攻击者提供了更多方法来破坏身份验证控制、泄露数据或执行破坏性行为。
解答API 安全和数据安全之间的关系是什么?怎么样通过 API 安全的手段或 API 安全这个点来解决数据安全的问题。
下一代加密技术接口是微软在 Windows 下实现的取代上一代加密应用程序接口的密码服务接口。其目的是提供一种可扩展的方式以支持各种应用程序和未知的密码算法,以便不同的算法、协议向操作系统注册,并对应用程序提供统一的调用接口,应用程序无需改造即可支持对新算法的使用。研究了基于下一代加密技术接口在操作系统中注册国密SM2、SM3 算法,完成解析和验证国密 SM2 证书,实现了国密算法在系统中的注册及
VSole
网络安全专家