当前位置: 首页 > 科技观察

了解API安全以及如何开始

时间:2023-03-13 02:56:14 科技观察

我们当前的世界逐渐由云计算、移动设备和微服务组成。我们与之交互的几乎每个应用程序都由API提供支持,尤其是在那些领先的云服务提供商、移动应用程序和微服务环境中。这使得API成为组织攻击面的关键部分。Akamai估计大约83%的互联网流量是基于API的。SaltSecurity等其他研究认为,从2021年到2022年,API攻击将增加600%;而Gartner预测,由于暴露的API,90%的Web应用程序将形成更大的攻击面。Imperva最近的一项研究表明,受损的API每年给组织造成400亿至700亿美元的损失。导致API攻击面扩大的另一个关键因素是K8s和微服务的使用。最近的一项研究发现超过380,000个暴露的K8sAPI服务器,这足以引起关注——毕竟K8sAPI服务器是容器部署的核心控制组件。这也说明,尽管API已经是推动现代数字生态的粘合剂,但很少有人关注API的安全性。API不仅用于访问和请求数据,还可以在此过程中进行数据丰富和修改。这意味着不仅API本身需要安全,而且流经它们的数据也需要安全。这一现实强调了在关注API安全时应用程序和数据安全最佳实践的不可分割性。与许多其他技术领域一样,大多数企业都在努力完成构建自己的API库的基本任务。这表明他们缺乏可视化自己拥有哪些API、与哪些API交互以及API与哪些攻击面相关联的能力。ResurfaceLabs和TraceableAI等组织已经开始着手解决这个问题,但仍有许多工作要做。以下是组织应该开始了解其API攻击面及其潜在陷阱的三件事。如何开始评估API攻击面API安全性对于刚开始从事安全工作的组织来说可能是一项艰巨的任务,尤其是对于API库杂乱无章的大型企业而言。也就是说,需要一系列有效的措施和方法来应对这个广阔且无法解决的安全领域。这种方法需要结合治理、基础设施安全和应用程序级最佳实践来降低组织风险。与组织所有现有API的存储库不同,一种可能更好的入手方式是识别和理解最常见的API安全问题。幸运的是,OWASP社区已经有了一份API安全性前10名的列表。该列表包括诸如受损对象、用户授权/认证、过度数据暴露、缺乏速率限制等风险。受损的对象级授权是指破坏代码级结构,确保用户只能访问他们被授权的对象。这种风险又回到了最小权限访问控制的老问题上,这个问题在零信任中不断被推动。受损的用户身份验证可以采取多种形式,包括弱身份验证机制、URL中的敏感身份验证信息、凭据填充等。这些都是恶意人员通过获取的认证信息反复尝试突破认证交互。这些漏洞的解决方案包括了解身份验证过程、机制以及使用行业标准的身份验证方法。过多的数据暴露是一个非常普遍的问题。当涉及到API时,这种隐患往往发生在API向用户返回数据时,返回的是不应该暴露的敏感数据。组织解决此类问题的方法包括验证API响应中包含的数据,以确保不会无意中包含敏感数据。组织还应部署响应验证机制,以确保不暴露敏感数据。与其他常见陷阱相比,缺乏速率限制控制对系统可用性的影响大于机密性或完整性。鉴于API通常充当现代微服务、云和移动应用程序之间的粘合剂,最终为客户提供价值并产生收入,因此可用性的影响至关重要。业务中断意味着收入或用户信任的损失。如果是在公共事务领域或者国家领域,对市政服务或者国家安全都会有很大的影响。鉴于身份验证、授权和DoS攻击司空见惯,这些问题对于经验丰富的安全从业者来说可能是显而易见的。换句话说,考虑到上述组织内部和互联网上的API问题,再加上恶意行为者API攻击的快速增长,潜在的风险变得更加复杂。API的横向移动由于API通常用作应用程序和数字环境的前门,因此针对API的攻击通常涉及系统之间的横向移动。API可作为攻击的起点,然后可用于访问底层系统、工作负载和数据。这使得保护API变得极其重要。API的主要攻击向量包括对象和用户级别的身份验证和授权。因此,恶意行为者的目标不仅仅是API,而是API可以访问和传输的数据,以及它们背后的底层系统。更加关注API安全虽然很多攻击手段不仅仅针对API,但是一旦这些攻击与API在现代数字生态系统中的大规模使用相结合,就会出现很大的问题。幸运的是,一些趋势正在出现,包括对API安全公司和产品的更多投资、更多的API安全指南,以及行业对API安全问题的认识不断提高。如果API已经成为连接现代数字生态系统的纽带,那么我们必须确保这些纽带非常牢固,因为我们不需要用泡泡糖和鞋带连接起来的生态。虽然传统的基于边界的安全性可能正在消退,但API仍然是现代系统的关键入口点和支点。这不仅包括外部系统,还包括内部交互系统。我们也可以看到在软件供应链上越来越多的努力。该链主要通过API将软件驱动的系统连接在一起。这意味着API安全作为更广泛的软件供应链生态的关键组成部分,保障了整个链条的安全。回顾API安全从某种程度上来说并不是什么新鲜话题,毕竟过去一年我们已经看到了很多相关内容。然而,API安全性的实施并不总是理想的。一个很重要的原因是API本身渗透到数字环境的方方面面。无论是从应用的角度还是从数据的角度,都无法完整描述API安全的内容。多样化的应用场景必然带来API可视化管理的困难;业务的快速发展和IT技术的演进,必然导致当前环境下API数量庞大,难以管理。从API面临的风险入手,确实能在一定程度上缓解初入API安全时的迷茫,但仍不能彻底解决API可视化管理的问题。从目前来看,企业很难单独将整个企业的API安全解决方案完全覆盖。正如本文最后提到的,API安全还涉及到软件供应链中的问题,这也是一个需要多方合作才能解决的领域。