API攻击原理,以及如何识别和预防( 二 )


对于身份验证,该公司的移动和基于Web的应用程序使用了较旧的JAVA技术,但他们正在使用软件开发套件将其全部转移到基于API的身份验证中 。而对于外部合作伙伴,该公司也正在努力为其API调用建立零信任模型 。
以前,对于通过自己的Web或移动应用程序访问该机构的消费者,会存在持久性,这就意味着消费者不需要多次进行身份验证过程 。而该公司的零信任模型意味着不再允许任何类型的会话持久性以及任何类型的cookie 。用户必须每次都要重新认证 。就“安全”“方便”和“快速”三个要求而言,你可以同时拥有两个,但没办法全部都实现 。
对于位于公司安全范围内的API,还有另一种方法 。Serota介绍称,在公司内部,我们更倾向于使用轻量级的零信任以外的方法 。目前,我们正在使用IP安全性,根据要进行的操作,服务将进行身份验证,并执行更多基于Active Directory的操作 。
行为分析还可以用来检测内部和外部流量的可疑行为,并自动过滤明显的不良消息 。Serota称,我们会使用所有内容——从IP信誉到行为分析再到用户和账户模式等,来分析任何可疑行为 。例如,我们有一个用户每隔一个周五会存入200美元存款,而现在每个周三都会存入800美元 。这时候就会引起我们的注意 。这不仅是为了保护我们的资产,也是确保我们主动报告了可能存在“洗钱”或“人口贩卖”的情况 。
Serota还表示,通过使用自动化,该公司能够将到达其网络运营中心和网络安全事件响应团队的问题数量减少35%,出现在他们身上的误报变得越来越少 。
机器人(Bot)对API的攻击API流量不断增长,但恶意API流量却增长得更快 。数据显示,Salt Security客户每月的API调用量增长了51%,而恶意流量则增长了211% 。
根据Akamai对来自金融服务、零售、媒体和娱乐行业的100个企业客户一个月的API数据进行的分析发现,在总数7440亿个API调用中,有12%来自已知的恶意行为者;25%来自既非web浏览器又非移动设备或应用程序的终端客户,这就意味着它们可能来自恶意行为者,而非合法用户 。
安永(Ernst&Young)网络安全董事总经理Rishi Pande表示,传统的前端应用程序(网站和移动应用程序)具有针对攻击者的保护措施,其中包括针对DDoS、凭据填充和其他自动攻击的防御 。不过,纵然前端受到保护,但如果API网关不受保护的话,同样会危及前端安全 。
API正在迅速发展,一些企业认为他们的技术可以提供适当的保护,而实际上这些工具本身还没有准备好应对挑战 。
实际上,针对API层的攻击正越来越受到黑客的欢迎,因为它更加匿名,而且API的保护程度通常不及网站和移动应用程序 。甚至可以说,如今的API安全性就如同应用程序安全性在2009年的发展水平 。
一旦攻击者分解了一个移动应用程序并弄清楚了它的通信方式,他们就可以使用相同的API通道发送请求 。人工智能和机器学习可以帮助抵御这种情况,因为通过机器人发出的API请求看起来与使用合法应用程序的真实人类发出的请求不同 。
是时候解决孤岛问题了根据Postman的《2020年API状态报告》,该报告对13,500多名开发人员进行了调查,结果显示只有36%的公司对其API进行了安全性测试 。相比之下,进行功能测试的公司占70%,而进行集成测试的公司则占67% 。
而根据SmartBear的《2020年API状态报告》显示,可用性是开发人员对API的最大关注,其次是功能,再次才是安全性 。
造成这种问题的部分原因在于,开发团队与安全团队,以及安全团队与网络和基础架构团队间彼此孤军作战,缺乏充分的沟通和合作 。而孤岛问题的解决方案就是DevSecOps 。现在,我们可以集成测试并将测试控制权交给应用程序开发人员 。我们要使每个人都成为安全团队的成员 。
从一开始就将安全性纳入应用程序开发流程,要比尝试使用API网关之类的技术来保护事物更为重要 。公司应该专注于更好的体系结构、更好的安全性和更好的API调用 。这样做可能需要很长的时间,但是想要获得更好的保护就必须开发出更安全的应用程序 。只有应用程序足够强大以抵御攻击,我们才不需要其他元素来提供额外的安全性 。
如今,通过DevSec团队协作,开发人员开始对安全性有了更多的了解 。不过,在API安全方面仍然存在诸多问题 。首先就是业务逻辑问题,这是应用程序安全性的其中一个关键方面 。随着将monolithic应用程序分解为通过API连接的小型服务,发现并缓解逻辑问题的挑战被放大了 。该应用程序可以完全按照其设计的方式运行,身份验证机制也可以完全安全,它可以完全摆脱漏洞,但是如果编码中存在问题,则仍然可能发生违规行为 。


推荐阅读