ai面相api
API已成为组织数字化转型计划的皇冠上的明珠,使员工,合作伙伴,客户和其他利益相关者能够在其整个数字生态系统中访问应用程序,数据和业务功能。 因此,难怪黑客增加了对这些关键企业资产的攻击浪潮。
不幸的是,看来问题只会恶化。 Gartner预测 ,“到2022年,API滥用将成为导致企业Web应用程序数据泄露的最常见攻击媒介。”
[ 也在InfoWorld上:人工智能,机器学习和深度学习:您需要知道的一切 ]
许多企业通过实施API管理解决方案来做出响应,这些解决方案提供了诸如身份验证,授权和限制等机制。 这些是必须的功能,用于控制谁可以访问整个API生态系统中的API以及访问频率。 但是,在构建内部和外部API策略时,组织还需要通过实现动态的,人工智能(AI)驱动的安全性来应对对API的更复杂攻击的增长。
本文研究了组织应合并使用的API管理和安全工具,以确保其API生态系统的安全性,完整性和可用性。
基于规则和基于策略的安全措施
可以以静态或动态方式执行的基于规则和基于策略的安全性检查是任何API管理解决方案的必需部分。 API网关是访问API的主要入口点,因此通常通过检查传入的请求是否符合与安全性,速率限制,限制等相关的策略和规则来处理策略实施。让我们仔细研究一些静态和动态安全性检查,以查看其他信息他们带来的价值。
静态安全检查
静态安全检查不依赖于请求量或任何先前的请求数据,因为它们通常根据一组预定义的规则或策略来验证消息数据。 在网关中执行不同的静态安全扫描,以阻止SQL注入,内聚解析攻击,实体扩展攻击和架构中毒。
同时,静态策略检查可以应用于有效负载扫描,标头检查和访问模式等。 例如,SQL注入是使用有效负载执行的常见攻击类型。 如果用户发送JSON(JavaScript对象表示法)有效负载,则API网关可以针对预定义的JSON模式验证此特定请求。 网关还可以根据需要限制内容中元素或其他属性的数量,以防止消息中的有害数据或文本模式。
动态安全检查
与静态安全扫描相比,动态安全检查始终会检查随时间变化的内容。 通常,这涉及使用现有数据做出的决定来验证请求数据。 动态检查的示例包括访问令牌验证,异常检测和限制。 这些动态检查在很大程度上取决于发送到网关的数据量。 有时,这些动态检查会在API网关外部进行,然后将决策传达给网关。 让我们看几个例子。
节流和速率限制对于减少攻击的影响很重要,因为每当攻击者访问API时,他们要做的第一件事就是读取尽可能多的数据。 限制API请求(即限制对数据的访问)要求我们在特定的时间范围内保持传入请求的计数。 如果请求计数当时超过分配的数量,则网关可以阻止API调用。 通过速率限制,我们可以限制给定服务允许的并发访问。
认证方式
身份验证可帮助API网关识别唯一调用API的每个用户。 可用的API网关解决方案通常支持基本身份验证,OAuth 2.0,JWT(JSON Web令牌)安全性和基于证书的安全性。 一些网关还在其之上提供了一个身份验证层,用于进行额外的细粒度权限验证,该验证层通常基于XACML(可扩展访问控制标记语言)样式策略定义语言。 当API包含多个资源且每个资源需要不同级别的访问控制时,这一点很重要。
[ 也在InfoWorld上:深度学习与机器学习:理解差异 ]
传统API安全性的局限性
围绕身份验证,授权,速率限制和限制的基于策略的方法是有效的工具,但是它们仍然留下黑客可以利用API的漏洞。 值得注意的是,API网关位于多个Web服务的前端,并且它们管理的API经常加载大量会话。 即使我们使用策略和流程分析了所有这些会话,如果没有额外的计算能力,网关将很难检查每个请求。
此外,每个API都有自己的访问模式。 因此,对一个API的合法访问模式可能表明对另一个API的恶意活动。 例如,当某人通过在线购物应用程序购买商品时,他们将在进行购买之前进行多次搜索。 因此,在短时间内向搜索API发送10到20个请求的单个用户可能是搜索API的合法访问模式。 但是,如果同一用户向购买API发送多个请求,则访问模式可能表示恶意活动,例如黑客试图使用被盗的信用卡尽可能多地提款。 因此,需要分别分析每个API访问模式以确定正确的响应。
另一个因素是内部发生了大量攻击。 在这里,具有有效凭据并可以访问系统的用户可以利用其攻击这些系统的能力。 基于策略的身份验证和授权功能并非旨在防止此类攻击。
即使我们可以对API网关应用更多的规则和策略来防止此处描述的攻击,API网关上的额外开销也是不可接受的。 企业无法通过要求真实的用户承担其API网关的处理延迟来挫败他们。 相反,网关需要处理有效的请求,而不会阻止或减慢用户API的调用。
添加AI安全层的情况
为了填补基于策略的API保护所留下的漏洞,现代安全团队需要基于人工智能的API安全性,该安全性可以检测并响应动态攻击以及每个API的独特漏洞。 通过应用AI模型来连续检查和报告所有API活动,企业可以自动发现API活动异常以及跨传统方法遗漏的API基础结构的威胁。
即使在标准的安全措施能够检测到异常和风险的情况下,也可能需要数月才能做出发现。 相比之下,使用基于用户访问模式的预先构建的模型,由AI驱动的安全层将可以近乎实时地检测到某些攻击。
重要的是,AI引擎通常在API网关外部运行并向其传达其决策。 由于API网关不必花费资源来处理这些请求,因此添加AI安全性通常不会影响运行时性能。
集成基于策略和AI驱动的API安全性
将基于AI的安全性添加到API管理实现中时,将有一个安全性强制执行点和一个决策点。 通常,由于所需的高计算能力,这些单元是独立的,但是不应允许等待时间影响其效率。
API网关拦截API请求并应用各种策略。 与之链接的是安全实施点,它描述了决策点的每个请求(API调用)的属性,请求安全决策,然后在网关中实施该决策。 由AI驱动的决策点不断学习每种API访问模式的行为,检测异常行为,并标记请求的不同属性。
[ 也在InfoWorld上:人工智能可以真正为您的业务做(以及不能做的事情) ]
应该有一个选择,可以根据需要在决策点添加策略并在学习期间调用这些策略(可能因API而异)。 一旦彻底了解了他们计划公开的每个API的潜在漏洞,安全团队便应定义任何策略。 但是,即使没有外部策略的支持,自适应的,由AI驱动的决策点和执行点技术也将最终学习并阻止一些我们无法通过策略检测到的复杂攻击。
具有两个独立的安全实施点和决策点组件的另一个优点是能够与现有API管理解决方案集成。 简单的用户界面增强和自定义扩展可以将安全实施点集成到API发布者和网关。 API发布者可以从UI中选择是否为发布的API启用AI安全性以及所需的任何特殊策略。 扩展的安全性强制执行点会将请求属性发布到决策点,并根据决策点的响应来限制对API的访问。
但是,将事件发布到决策点并根据其响应限制访问将需要时间,并且在很大程度上取决于网络。 因此,最好在缓存机制的帮助下异步实现。 这将对准确性产生一点影响,但是考虑到网关的效率,添加AI安全层对总延迟的影响最小。
人工智能驱动的安全层挑战
当然,收益不是没有成本的。 虽然由AI驱动的安全层提供了更高级别的API保护,但它提出了安全团队需要解决的一些挑战。
- 额外的开销 。 附加的AI安全层为消息流增加了一些开销。 因此,调解解决方案应该足够聪明,以处理主要调解流程之外的信息收集和发布。
- 误报 。 大量误报将需要安全专业人员进行额外审查。 但是,使用某些高级AI算法,我们可以减少触发的误报次数。
- 缺乏信任 。 当人们不了解如何做出决定时,他们会感到不舒服。 仪表板和警报可以帮助用户可视化决策背后的因素。 例如,如果警报明确指出用户在一分钟内被阻止以超过1,000次的异常速率访问系统,则人们可以理解并信任系统的决定。
- 数据漏洞 。 大多数AI和机器学习解决方案都依赖大量数据,这些数据通常是敏感的和个人的。 结果,这些解决方案可能容易出现数据泄露和身份盗用的情况。 符合欧盟GDPR(通用数据保护法规)有助于减轻这种风险,但不能完全消除。
- 标签数据限制 。 最强大的AI系统是通过有监督的学习进行训练的,这需要组织标签化的数据以使机器可以理解。 但是标记的数据有局限性,将来越来越困难的算法的自动创建只会加剧这个问题。
- 数据错误 。 AI系统的有效性取决于对其进行训练的数据。 坏数据经常与种族,社区,性别或种族偏见相关联,这可能会影响有关个人用户的关键决策。
[ 通过InfoWorld的App Dev Report新闻通讯了解软件开发中的热门话题 ]
鉴于API在当今企业中的关键作用,它们日益成为黑客和恶意用户的目标。 基于策略的机制(例如身份验证,授权,有效负载扫描,模式验证,限制和速率限制)是实现成功的API安全策略的基本要求。 但是,只有通过添加AI模型来连续检查和报告所有API活动,企业才能免受当今出现的最复杂的安全攻击。
Sanjeewa Malalgoda是WSO2的软件架构师和工程副总监,负责WSO2 API管理器的开发。 Lakshitha Gunasekara是WSO2 API Manager团队的软件工程师。
-
新技术论坛提供了一个以前所未有的深度和广度探索和讨论新兴企业技术的场所。 选择是主观的,是基于我们选择的技术,我们认为这些技术对InfoWorld读者来说是重要的,也是他们最感兴趣的。 InfoWorld不接受发布的营销担保,并保留编辑所有贡献内容的权利。 将所有查询发送到 newtechforum@infoworld.com 。
翻译自: https://www.infoworld.com/article/3516595/how-ai-will-improve-api-security.html
ai面相api