到去年末,移动互联网的使用量已超过台式机的使用量。无论是移动消费者,移动工作人员还是移动服务,许多业务交易的一部分都在移动中完成。旅途中的信任始于身份验证,但不仅仅是用户ID和密码。你真的说你是谁吗?您可以信任要使用的服务吗?您可以信任用于访问该服务的应用程序吗?您的装置安全吗?当您在旅途中时,零信任意味着参与链中的每个环节,无论是人员,软件还是硬件,都必须经过身份验证。
移动流量就是API流量
我们越来越多的活动和信息正在移动设备上存储和执行。黑客当然不会错过这一趋势。来自2019年的报告中指出,一系列犯罪和有针对性的攻击者团体正在增加对移动平台的攻击,而移动安全成熟度水平则落后于传统平台,导致攻击者在受感染的移动设备上的停留时间延长。
同时,过去五年来,互联网上的API流量激增。2014年,通过其安全CDN的流量中有47%是API数据包,而在2018年,这些API数据包已增长到83安全流量的百分比。
在传统的基于浏览器的应用程序中,数据处理是在服务器端进行的,结果网页显示的状态或结构化数据很少存储在浏览器中。
相比之下,移动应用程序使用API来发送和接收数据,而该应用程序则管理UI并维护状态和设备上的更多数据。
认识到API在现代应用程序体系结构中的使用不断增长,OWASP发起了API安全项目并于2019年发布了OWASP Top 10:
· API1:损坏的对象级别授权
· API2:身份验证失败
· API3:数据暴露过多
· API4:缺乏资源和速率限制
· API5:损坏的功能级别授权
· API6:批量分配
· API7:安全性配置错误
· API8:注射
· API9:资产管理不当
API会公开敏感数据和关键业务功能,因此,身份验证和授权自然会在十大风险中扮演重要角色。请仔细注意,如果只有经过身份验证的用户的经过身份验证的应用程序有权进行API调用,那么其他API安全漏洞也将受到保护,以防止被利用。
上下文中的身份验证
人们常常认为认证只是用户认证。如果是这种情况,那么黑客将努力收集用户凭证,接管帐户并渗透后端服务,并从任何设备或机器人随意调用API。
在2018年的八个月中,检测到27985920324次凭据滥用尝试。
完全依靠用户凭证显然是一个坏主意。还可以考虑许多其他指标:进行API调用的应用程序的身份,设备的时间和位置,以前的API调用的顺序,验证码,人类行为感知,生物特征等等。
这些因素中的一些因素会限制隐私权,而其他因素可能会给用户带来极大的不便。没有一个因素是足够的,但是对API调用周围的更多上下文进行身份验证将导致更具弹性的身份验证。
应用程序身份验证作为关键上下文指示器
对正在调用的用户进行身份验证很重要,但是了解并信任正在调用的应用程序,甚至知道它是真实的应用程序而不是机器人,也是一个重要的上下文指示。
如果您可以确保调用的应用程序是真实的,没有被篡改并在安全的环境中运行,那么您已将API调用的有效负载和序列限制为有效应用程序的API和有效载荷,以及使用被盗的外部bot攻击用户凭据已关闭。
不幸的是,API密钥是用于将应用识别为正版的常见做法。API密钥太容易被盗,一旦被盗,它们就可以在应用程序外部轻松使用,以任何顺序对任何数据进行API调用。
应用程序证明-更智能的API密钥
即使API密钥是安全的,它们也无法防止应用程序被篡改,也无法评估运行时环境的安全性。应用程序身份验证需要扩展到静态标识之外,并且必须不断评估应用程序的完整性。
当应用程序身份验证更加全面和动态时,通常称为“软件证明”,或在这种情况下称为“移动应用程序证明”。例如,在2019年,宣布了新的PCI安全标准,用于在商用现货设备上基于软件的PIN输入,该标准支持在付款时将客户PIN输入到电话或平板电脑等商业设备中卡是通过小型安全设备处理的。使用软件证明检查,而不是依赖于静态身份验证数据。
寻找证明变得更加普遍,尤其是在移动环境中,以确保客户端应用程序的真实性。
采取行动
就像陈词滥调一样,一条链的强度与其最弱的链接一样强,因此每个链接都应经过正确的身份验证。这反映在越来越多的寻求更多上下文因素的推动中,而不仅仅是基本的ID和密码凭据。为了确保API安全,必须增强应用程序身份验证技术。像PCI SPOC规范一样,软件认证将日益成为零信任API安全的要求。
以上就是关于正确获得身份验证,确保API安全的全部内容,想了解更多关于API安全的信息,请继续关注中培教育。