标准安全测试为何漏掉大多数Web API漏洞?专访Corey J Ball谈被忽视的攻击向量

API安全专家Corey J Ball指出,标准Web应用安全测试无法有效检测API漏洞,导致大量安全隐患被忽略。本文深入探讨API特有的安全挑战、侧信道攻击案例,并提供专业安全测试建议与学习资源。

‘大多数Web API漏洞被标准安全测试遗漏’——Corey J Ball谈保护被忽视的攻击向量

Ben Dickson
2023年2月20日 13:58 UTC
更新:2023年2月22日 11:20 UTC


API安全:渗透测试的“绝佳入门途径”

专访 保护Web API需要采用与经典Web应用安全不同的方法,因为标准测试通常会遗漏最常见的漏洞。这是API安全专家Corey J Ball的观点,他警告称,未针对Web API进行校准的方法会导致渗透测试人员产生假阴性结果。

Ball在2015年通过黑客书籍、HackTheBox和VulnHub学习Web应用渗透测试技术,之后在运行Cold Fusion、WordPress、Apache Tomcat和其他面向企业的Web应用的计算机上进一步磨练了技能。

他随后获得了CEH、CISSP和OSCP证书,最终获得机会帮助领导会计师事务所Moss Adams的渗透测试服务,目前仍在该公司担任首席Web应用渗透测试员。

最近,Ball更专注于Web API安全(一个 largely underserved 的领域),并推出了一个免费的在线课程,出版了《Hacking APIs: Breaking Web Application Programming Interfaces》(No Starch Press, 2022)。

在接受The Daily Swig采访时,Ball解释了Web API的日益普及如何要求我们改变保护应用程序的视角。


有吸引力的攻击向量

过去几年,Web API在各个行业的应用加速。2018年,Akamai报告称API调用占Web流量的83%。

“企业意识到它们不再需要成为通才,开发应用的每个方面(地图、支付处理、通信、身份验证等),”Ball说。“相反,它们可以使用Web API来利用第三方完成的工作,并专注于专业化。”

API代表应用程序编程接口,是一组用于构建和集成应用软件的定义和协议。

可以通过HTTP协议访问的Web API催生了API服务,这些服务将其技术、基础设施、功能和数据货币化。但API也吸引了网络犯罪分子的注意。

“不安全的API可用于破坏机密性、完整性和可用性,”Ball说。“这种潜力加上许多API面向互联网的事实,意味着易受攻击的API成为最佳攻击向量之一。”


适用不同规则

通过在设计过程中包括注重安全的团队成员、鼓励安全编码、进行定期安全测试以及监控编程调用以检测攻击和滥用,API可以减少责任。

根据Ball的说法,保护Web API需要采用与经典Web应用安全不同的方法。

“标准Web应用测试会导致Web API的假阴性结果,”他解释说。“未专门针对Web API校准的工具和技术将遗漏几乎所有常见漏洞。”

一个显著的例子是美国邮政服务(USPS)Informed Visibility API中的漏洞,该漏洞由安全研究员Brian Krebs首次报告。在Krebs报告数据暴露前一个月,该Web应用经过了彻底测试。

在测试过程中,像Nessus和HP WebInspect这样的工具被泛泛地应用于测试目标,因此一个重要的Web API漏洞未被检测到。这个未被发现的安全缺陷允许任何经过身份验证的用户获取与6000万客户相关的电子邮件地址、用户名、包裹更新、邮寄地址和电话号码。

“Informed Visibility系统外部攻击面的漏洞评估很好地展示了如果将Web应用黑客技术应用于API会发生什么,”Ball说。“这里的教训是,在测试API时必须应用正确的工具和技术。”


侧信道API攻击

Ball本人通过以API为重点的渗透测试发现了不少漏洞。他最喜欢的发现是一个侧信道计时攻击,从用于搜索客户记录的管理API中泄露信息。

通常,API会拒绝所有未经授权的请求,并返回标准的HTTP 401 Unauthorized响应。由于API缺乏速率限制,Ball可以发送许多请求,测试在被动侦察期间收集的不同用户ID和名称。这位安全研究员意识到某些响应的字节数略多于其他响应。

“经过仔细检查(使用Comparer),很明显,一个中间件头揭示了服务器处理某些请求需要多长时间,”他说。“我发现涉及现有记录的请求服务器处理时间是不存在记录的五倍。”

通过拼凑各种披露的信息项,Ball能够收集敏感信息,并将用户与其用户ID、邮政编码、电话号码、健康记录和SSN(社会安全号码)关联起来。

“我不需要泄露外部网络、绕过防火墙、在网络内进行 pivot,最终访问正确的数据库并找到泄露数据的方法;相反,我使用Web API揭示了皇冠上的明珠,”Ball总结道。


机会敲门

尽管Web API日益成为流行的攻击向量,Ball在专门研究该主题之前注意到缺乏关于测试其漏洞的资源。

“没有专注于API安全测试的书籍,没有认证,很少有博客文章[或]视频等,”他说。“我去参加会议,问那些发表最新Web应用黑客演讲的演讲者他们为API安全测试做了什么。他们要么不知道如何处理API,要么团队中只有一个人知道如何测试API。”

Moss Adams的一位合伙人鼓励Ball成为API主题专家。在几个月内,Ball duly 编译了大约150页关于该主题的笔记,然后意识到他已经完成了一半关于API安全的书籍写作。

“我看到了一个分享我的研究、武装测试人员并帮助防止下一次API相关数据泄露的机会,”他说。“我联系了No Starch Press。剩下的就是历史了。”

Ball还在APIsec University发布了一个免费的在线课程,他在其中教授API渗透测试过程的不同阶段,包括设置实验室、进行侦察、分析端点和策划各种攻击。


UnAPI时代

围绕API安全的资源和标准正在逐渐形成,包括2019年开源Web应用项目(OWASP)发布的十大API漏洞。

然而,Ball继续看到某些常见的API安全错误在网络中扩散。“授权仍然是野外最常见的API安全错误,”他说。

他经常看到破碎的对象级授权和破碎的函数级授权的实例,这两者都在OWASP的排行榜上。在大多数情况下,这些漏洞表现为一个经过身份验证的用户能够使用API获得对其他用户数据的未经授权访问。

“随着API授权漏洞的普遍存在,似乎对有效用户过于信任,并且没有足够的测试来确保用户和组不能访问或更改彼此的数据,”Ball说。


网关漏洞

随着API继续变得更加普遍,对API安全专家的需求日益增长。

“我相信API实际上是任何有兴趣成为渗透测试员的绝佳入门途径。API可能是新黑客黑客攻击的第一件事,”Ball说。

在哪里学习API安全?Ball建议以下资源:

  • APIsec University的API渗透测试
  • PortSwigger的* Web Security Academy
  • OWASP API安全项目

“非常熟悉Postman和Burp Suite,”Ball建议。“当然,如果你想从单一来源完成所有这些,请查看我的书《Hacking APIs》。”

*PortSwigger是The Daily Swig的母公司

相关 API安全:破碎的访问控制、注入攻击困扰2022年企业安全 landscape

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计