本文来自微信公众号“安全牛”。
在数字化时代,几乎所有的企业都需要依赖大量API进行服务连接、数据传输和系统控制,在此背景下,确保各类API的安全应用也变得越来越重要。然而,有很多企业还没有对API应用存在的安全威胁给予足够重视,这也导致了API安全状况与企业的实际需要之间存在了很大差距。
API安全挑战
当前,企业在API应用中面临的安全挑战主要包括以下方面:
01
扩大企业攻击面
随着云计算技术的广泛应用,越来越多的Saas化业务系统和服务被迁移上云,在为更多用户提供服务的同时,也将大量API暴露到云中,相对于传统数据中心的单点式调用,云上的东西向和南北向访问都可能成为威胁API安全的攻击面。
02
忽视API安全能力构建
敏捷开发模式是当今主流开发模式,敏捷开发强调个体和互动、工作的软件、客户合作、响应变化,虽然提升了创新速度和灵活性,但是对于如何构建API安全性却缺少合适的方法,导致在软件构建过程中难以顾及API安全。
03
API蔓延
API是由程序员编写,因此除了API应用的开发者,很少有人会意识到这些API的存在,这使得大量的API缺少维护,并经常容易被忽略。当组织缺乏适当的API可见性、治理机制和生命周期策略时,僵尸、影子和幽灵等可怕的API威胁就会出现,并给企业业务开展造成损害。
04
低估API安全风险
一些企业会假设软件系统都应该按照设计中的流程运行,从而导致API被攻击的可能性以及其后果被严重低估,因此未采取充分的防护措施。此外,第三方合作伙伴系统的API,也容易被组织所忽视。
传统安全工具的不足
由于API在设计架构上的特殊性,它们无法通过传统的应用安全工具进行有效的保护,比如API应用网关、日志分析和WAF等。据最新的API安全研究数据显示,77%的受访者表示,传统的安全工具难以满足其API安全防护需求,主要原因包括:
01
缺乏API特有的功能
传统安全工具主要是为保护传统业务应用程序和网络基础设施而设计的,缺乏解决API特有漏洞所需的具体功能,比如无效的对象级授权(BOLA)、输入验证不充分或访问速率限制不足。
02
复杂的API生态
现代应用程序常常包含来自不同提供商的大量API。这种生态的复杂性使得传统安全工具难以全面准确地监控API流量和检测可疑活动。
03
可见性有限
传统安全工具无法提供检测特定API攻击(比如撞库攻击和蛮力破解)所需的可见性,因为这类攻击往往会发生在多个API之间,需要实现细粒度的API级可见性。
04
身份验证不到位
很多企业中存在大量历史遗留应用程序,因此,使用API而不进行身份验证是目前很常见的现象。这些未经身份验证的API一旦公开暴露,就会对企业的应用系统安全构成威胁。API需要提供比传统安全工具更高级的身份验证和授权机制,比如基于令牌的验证和授权。
05
动态变化的环境
API是在高度动态变化的环境中运行,需要不断部署新的API,并经常更新现有的API。传统安全工具难以跟上快速的变化,从而导致在API安全控制方面出现缺口,可能被人利用。
新一代API防护技术
保障API应用安全并不仅仅是修复几个安全漏洞的问题,它需要安全团队的全面关注,并从更广泛的角度解决API应用安全缺口。日前,F5公司安全与反欺诈架构师Joshua Goldfarb总结了新一代API安全防护技术应该具备的10种能力,以帮助企业在选型API防护方案时提供参考。
01
API资产发现和可见性
在确保API安全之前,需要先识别它并了解它。出于种种原因,一些API会在企业IT或安全团队不知情的情况下创建并使用,这些API并未纳入到资产管理对象中,也不受安全和合规策略及控制措施的制约。因此,API可见性和发现性是确保API安全的第一步,也是新一代API安全技术必须要具备的功能。
02
输出模式验证
试图通过使用无效或不当的输入来诱导API错误输出是攻击者经常采用的一种技术。因此,确保API行为的有效性和正确性是实现整体API安全方法的重要部分。要求所有API请求和响应遵守模式和所有规范是保护这些API免受攻击和破坏的重要步骤。这将对实现API安全应用有很大帮助。
03
安全策略执行
企业都会制定相应的API安全策略,但如果没有严格执行,这些策略将变得没有意义。保证企业的API安全策略(速率限制、IP信誉和允许/拒绝列表等)能够得到有效的执行,是对新一代API安全技术的最基本要求之一。
04
保护敏感数据
API的主要安全漏洞之一就是泄露敏感数据。因此,保护敏感数据应该是任何API安全解决方案的一部分。要保护敏感数据安全,需要确保API被正确设计和保护,还需要验证敏感数据没有在不恰当地传输或泄露。
05
滥用和DoS防护
当人们想到防范服务滥用或拒绝服务(DoS)攻击时,首先会想到OSI模型的第3层和第4层,而API所在的应用层(第7层)却经常会被遗忘。攻击者们也注意到了这点,随时准备针对应用层的攻击,因而新一代API技术防范滥用和DoS功能的能力必不可少。
06
全面地攻击防护
攻击者在不断寻找破坏和恶意利用API的方法。新一代API安全解决方案将包括基于特征、基于异常和基于AI的攻击保护机制,以防范各种各样的新型攻击。
07
访问控制
不适当的访问控制(包括身份验证和授权)一直都是困扰API安全应用的主要问题之一。无论是由于疏忽、人为错误、主观恶意还是其他任何原因,对API的访问控制不当都意味着灾难性后果。新一代API安全解决方案必须要能够提供身份威胁发现服务、身份验证服务和API访问控制服务。
08
恶意用户检测
通过机器学习可以分析出与API交互的客户端行为是否存在异常,这有助于在安全攻击实际发生前做好预防。作为整体API安全解决方案的一部分,检测和阻止恶意用户有助于更好保护API免受攻击、破坏和泄密。
09
安全配置和管理
API的配置和管理不当导致了大量的安全威胁。因此,新一代API安全解决方案需要支持企业轻松部署和实施正确的安全模型,这有助于确保API不会被错误配置,避免人为API安全漏洞的产生。
10
行为分析
API访问行为分析应该是新一代API安全产品必备的安全能力。通过研究从应用程序的端点和API收集而来的各种日志,就能总结出各类API应用请求路径的行为,并生成一组行为安全性参照指标,比如请求大小、响应大小、数据延迟、请求率、错误率以及响应吞吐量。这是一个迭代过程,会随时间的推移而持续更新,并不断优化。