企业的数字转型通常是基于API(应用程序编程接口)之上的,API可驱动新的运营模型,提供对业务逻辑应用程序和数据的直接访问。
虽然这种访问对于企业的员工、合作伙伴、客户来说非常宝贵,但它也使API成为黑客和僵尸网络具有吸引力的目标。随着越来越多的攻击和API漏洞的增加,扩展安全性变得越来越重要。
现有的解决方案(例如访问控制、速率限制等)提供基本的保护,但不足以完全阻止黑客的网络攻击。如今的安全团队需要识别并响应动态变化的攻击,这些攻击旨在利用单个API的独特漏洞。企业可以采用人工智能来检测API和未暴露数据的异常行为,自动阻止对整个API基础设施的攻击,设计自学习解决方案是安全的未来。这种方法为IT基础设施提供了深入的可视性,并使安全团队能够在识别恶意行为时立即采取行动。
API数据泄露
2019年,澳大利亚最大的房地产估价服务商LandMark White公司发生API数据泄露事件,导致房产估价内容和客户信息泄露。在这种情况下,最初用于企业内部使用的API最终可以从外部访问。
这些漏洞导致了不同程度的数据泄露行为,其中包括账户接管、私人信息和照片被盗,以及信用卡号码被他人提取。在此次数据泄露事件之后,LandMark White公司的声誉受到严重影响,而其很多客户和银行合作伙伴退出,并争相与其他厂商合作。
数据泄露事件通常需要数周或数月才能检测到,其他类似的违规行为几乎需要一年时间才能完全解决。还有许多公司现在面临这种情况。要了解如何防范这些威胁,人们必须首先了解API所带来的潜在漏洞。
API漏洞
许多企业目前依靠不充分的安全措施来保护其API。虽然API管理工具提供了一组重要的安全功能,其中包括身份验证和速率限制,但这些做法通常无法阻止专门为违反API及其提供访问权限的数据和系统而构建的攻击。
不完整和遗漏的验证
缺少权利检查是最近一系列API违规中频繁出现的漏洞模式。这些缺失的权利检查会在生产API中暴露漏洞。在某些情况下,完全缺乏访问控制已经使API完全开放,使得具有基本技能的不良行为者可以进行恶意攻击。
在Facebook、USPS和Verizon/LocationSmart公司的数据泄露案例中,黑客使用有效账户对API行为进行反向工程,以识别多个漏洞,其漏洞可以在没有正确凭据检查的情况下提供对来自其他账户的数据的访问,同时看起来像普通用户。这种技术有可能提供对大量账户的访问,并用于破坏银行和保险公司的账户。
使用调用API的应用程序时,不会暴露此类漏洞。通过跳过客户端应用程序(例如,Web应用程序)并直接调用API来观察数据和控制流,可以进行恶意访问。客户端应用程序极大地限制了通过用户界面限制使用API的方式。依赖应用程序可能会产生安全盲点,尤其是在API层的应用程序之外未执行测试时。
除了访问控制之外,API安全性还必须包括内容验证。在2019年初发现(并修补)的Kubernetes的API服务器的情况下,这种缺乏安全性是显而易见的。被授权向Kubernetes API服务器发出补丁请求的用户也可能发送过量消耗资源的特定补丁,这种偶然(或故意)的行为导致对API服务器的拒绝服务(DoS)攻击。
利用此类漏洞可以极大地破坏服务。如果传入的JSON补丁包含10,000多个操作,则Kubernetes API服务器修复包括返回413类型的错误。这种类型的内容验证很容易在API网关中配置,但它经常被遗漏,因为这样做需要超越自动生成的JSON模式,这些模式只定义简单的规则类型,需要人工干预才能识别特定验证的需要,并确保正确的配置和测试。
扩散和缺乏可见性
API的扩散只会增加其漏洞。API的部署速度比以往任何时候都要快,而且由许多不同的团队负责。在某些情况下,持续不断的创新、减少摩擦、创造新收入流的压力会导致开放API可能产生意外的影响。
因此,许多利益相关者报告其组织部署的所有API缺乏可见性,这并不奇怪。事实上,许多API相关的漏洞在几个月有时是几年之后才被发现,这进一步说明了对整体API流量缺乏可见性。
此外,一些API并不是公开的,可能只被视为总体项目的实施细节。这使他们从安全从业者的角度隐藏起来,进而导致缺乏具体的安全考虑。在其他情况下,来自组织不同部分的API可能会利用异构平台和不一致的安全策略。
无论如何,这些API可能与公共API一样容易受到攻击,因为它们同样容易被黑客通过反向工程进行攻击。为弥补这些差距,人们需要清楚地了解需要保护的内容。而对API流量的深入洞察将为改善网络弹性提供基础。
超越令牌验证的思考
验证令牌并验证请求用户的身份通常不足以支持API基础设施。在API层应用粒度访问控制的能力不仅符合逻辑,而且随着API成为访问开发人员需要管理的数据的最常用渠道,它将成为常态。
此外,定义应允许个人请求哪些数据的规则,不仅由API提供商定义,还由最终用户定义。例如,在OAuth握手期间,将会要求最终用户认可。这些决策允许用户在涉及他们拥有的数据时限制应用程序代表他们行事的方式。因此,用户认可的管理与核心API安全性概念紧密相关。
基础API安全准备的核心是审查和治理流程的定义,它们将所有这些概念结合在一起。新的API或更新的API必须经过审核,首先要确定问题的答案,其中包括:
•访问API需要哪些权限?
•预期的请求者是谁?
•此服务将利用哪些数据库和数据进行读写?
•此API与之交互的其他服务是什么?
•输入和输出参数是什么样的,应该如何限制它们?
这些问题的答案将告知哪些安全策略应该适用于正在发布的新API。
扩展基础API安全性
即使有正确的基础,安全性也只能与其配置一样强大。当配置受到人为错误的影响时,随着API层复杂性的增加,API漏洞通过测试并进入生产的风险也随之增加。即使企业已采取一切措施来防止数据泄露,仍然可能面临在API本身之外的不同向量暴露漏洞的风险。
例如,黑客经常通过网络钓鱼攻击窃取令牌,这些攻击允许他们构成合法的应用程序。此外,代表用户调用API的客户端应用程序也存在一些缺陷,并且在保密方面非常糟糕。这可能像API密钥一样简单,这些密钥是通过查看单页应用程序的JavaScript代码或通过HTTPS代理查看API流量而反向设计的。
例如,北卡罗来纳州立大学的一项研究表明,GitHub是一个用于调用API的应用程序机密宝库。该研究得出结论,如今已有10万多个存储库泄漏了API令牌和加密密钥。GitHub通过实施新的安全功能从提交到其平台的代码中扫描令牌来实现这一发现。
未检测到的漏洞
攻击者还使用远程访问特洛伊木马来窃取凭据,如Mimikatz。他们使用窃取的凭据来冒充用户并获取令牌。最后,另一个常见漏洞是授权服务器上的凭据填充,利用从先前漏洞中挖掘的凭证集合。
在这些场景中,攻击者通过利用用户、客户端应用程序或授权服务器上的漏洞(而不是API本身)获取令牌。这带来了许多问题,因为这些令牌似乎是合法的,黑客像一个有效的用户。即使企业采用了适当的访问控制策略,除了涉及到API本身的漏洞之外,这些攻击通常会在数月甚至数年的时间内也不会被传统的API安全工具检测到。
安全团队可以投入大量精力,向用户和API开发人员介绍客户端应用程序安全和身份基础设施,但他们仍然可能面临生产API漏洞和凭据泄露的风险。API提供商必须在其安全措施中考虑这一点,无论API是内部还是外部。企业可以通过应用人工智能(AI)来加速攻击检测和自动阻止攻击。
将人工智能应用于安全
安全团队可以根据客户、用户和通常展示的API行为来训练机器学习引擎。通过使用人工智能,安全团队可以识别良好和恶意流量,并在没有人工干预的情况下识别未遂的攻击和持续的攻击。
采用人工智能检测非典型行为
每个API调用、访问令牌或cookie的元数据以及某些操作的时间和顺序都可以提供给AI模型。在运行时,此机器学习引擎利用行为模型来识别潜在威胁,例如特定令牌或cookie是否在合法应用程序之外使用,数据是否被泄露或更改等。
利用基于人工智能的异常使用检测显著加快了威胁可见性,将攻击发现的时间从几个月减少到几分钟或几秒钟。一旦检测到可疑的API活动,用于获取API访问权限的访问令牌或cookie将被列入黑名单或吊销,立即停止所有API端点上使用该令牌的任何一方的访问。如果这些攻击背后隐藏着相同的用户身份,那么必须将用户身份本身列入黑名单并相应地进行标记。这种类型的监视、攻击检测和阻塞是在不需要操作人员采用自定义规则的情况下实现的。
使用API诱饵
API诱饵的使用也可以加速API黑客攻击的检测。这涉及添加伪造的API资源,这些资源会向请求者返回看似有效的响应。诱饵利用黑客倾向于以合法应用程序不具备的方式进行搜索,有效地利用围绕典型黑客行为的知识。
当黑客陷入这些陷阱时,他们会立即被识别出来。同时,他们的相关IP地址和访问令牌(如果他们当时拥有它们)会自动被视为泄露,并列入黑名单。诱饵侦听器能够识别出这些请求不可能从真正的应用程序传入,因为这些API资源并不是合法存在。这些安全措施不需要自定义规则或扩展配置。
阻止和修复
当然,检测只是解决方案的一部分。安全系统如何反应同样重要。一旦客户机标识符(如用户或令牌)被泄露,该标识符必须立即被撤销或列入黑名单。这些信息需要在所有API强制点、API网关和代理之间广泛传播。此外,必须记录这些事件以供后续审计,并且必须通知安全信息和事件管理(SIEM)系统以启动任何标准响应过程。
企业应该记录在检测和阻止泄露的凭证之前调用的方法和资源的详细信息。取证报告形式的信息允许API提供者、DevOps团队或安全团队采取必要的措施来修复或反向工程攻击造成的损坏。还可利用取证来帮助遵守GDPR、PSD2和开放式银行等法规。
保护API
Ping智能身份平台提供了一套解决方案,可解决专为API流量设计的基础API安全性和合规性实施。
PingAccess
PingAccess控制对企业内部和面向公众的API的访问。它作为反向代理部署在受保护网络的边界,或作为与API端点一起运行的代理部署。PingAccess支持精细的API访问控制,将用户限制为访问令牌中包含的授权范围所允许的API事务。
PingDataGovernance
PingDataGovernance通过启用评估API请求和响应主体的策略,对API和通过API流出的数据实施细粒度授权。在API请求中,细粒度授权策略可以限制用户在授权的API调用中可以做什么(例如,如果他们授权超过特定限制的支付,修改大量数据条目等)。在API响应中,PingDataGovernance根据未经授权、非预期、敏感或受限制数据的策略和同意记录检查出站数据,这些数据应在发布到客户端之前动态修改或从响应中删除。
针对API的PingIntelligence
PingIntelligence提供对API流量的深入可见性,自动发现API,提供基于AI的自动API攻击检测和阻止,并使用欺骗/蜜罐环境实时识别黑客攻击。其人工智能引擎为PingAccess、API网关、API管理平台和直接在App Server上实现的API(如Node.JS,WebLogic,Tomcat或WebSphere)带来了网络攻击保护和深入洞察API活动。
结论
API安全性是数字化转型计划的重要组成部分,可以提高跨渠道的网络弹性。
在零信任时代,采用以身份为中心的API安全基础设施是现代数字化转型战略的核心。为了确保API的安全性,企业需要深入了解API活动和AI驱动的漏洞检测。两者都需要在基本的API访问控制上进行分层,以捕获源自API漏洞的攻击,并在传统API安全系统的配置中修复人为错误的风险。
责任编辑:ct
评论
查看更多