API是当今现代应用的基础,但只有少数企业真正意识到API的重要性或其风险水平。API对于攻击者来说是如此具有吸引力,以致于其本身的规模不合适,但是太多的企业认为Web应用防火墙和API网关能够完全保护其自身的API。事实上,由于固有的设计局限性,这些技术无法阻止大多数类型的API攻击,往往会给企业造成API和API驱动应用安全的虚假感觉。API对每个企业来说都很特别,对API的真正攻击往往不遵循已知漏洞的明确模式。无论攻击者使用什么样的攻击技术,都需要在运行时安全来对抗这种安全风险。
安全团队需要使用WAF或API网关以外的技术来解决API安全问题。记得2005年左右,有人争论网关供应商会站出来满足额外安全功能的需求,至少Apigee确实发布了安全附加模块。但API安全毕竟很大程度上是一组独立供应商的专属领域,而不是API网关企业的专利。企业通过API暴露了大量的应用程序和海量的数据。API引起的数据泄露和未经授权的访问非常常见。今天的API安全由大量的工具组成:一些应用程序安全工具扩展到API保护,一些解决特定安全用例的API管理工具,可以测试API的应用程序安全测试工具门用于API的安全工具。
常规补丁和漏洞管理工具无法保护API。
虽然补丁和漏洞管理程序可以帮助安全团队应对现成软件和组件的安全风险,但应用程序和API安全策略需要的不止这些。不幸的是,由于急于避免成为99%已知漏洞的受害者,企业在补丁和漏洞管理方面投入了大量精力。已发布的软件或硬件中定义的漏洞通常通过通用漏洞和暴露(CVE)分类来跟踪记录。然而,这种分类方法根本无法捕捉企业在构建或集成应用程序和应用程序时可能引入的各种潜在漏洞和弱点。攻击者有时会针对软件中众所周知的漏洞,比如最近的Exchange服务器黑客攻击。然而,更常见的情况是,攻击者在目标企业中寻找独特的API或API集成漏洞。企业创建或集成的代码不能由安全工程师用来缝合应用程序和API。
通用缺陷列表(CWE)ID更适合描述自主开发的应用程序和API中缺陷的分类方法。如果企业自行开发代码或集成其他代码,安全人员应熟悉CWE和OWASPTop10。这些是更相关的分类方法,更适合自己构建应用程序或API,而不是从使用CVEID的其他地方购买。