API安全能力建设桔皮书 奇安信科技集团股份有限公司2022年1月 API安全能力建设桔皮书©奇安信集团股票简称:奇安信股票代码:688561第2页,共35页 版权声明 本文中出现的任何文字叙述、文档格式、插图、图片、方法、过程等内容,除另有特别注明,版权均为奇安信集团 (指包括但不限于奇安信科技集团股份有限公司、网神信息技术(北京)股份有限公司、北京网康科技有限公司)所有,受到有关产权及版权法保护。任何个人、机构未经奇安信集团的书面授权许可,不得以任何方式复制或引用本文的任何片段。 前言 对数据要素掌控和利用能力,已成为经济增长的核心驱动力。在数字化时代,数据是重要资产,数据的安全是网络安全乃至国家安全和社会安定不可或缺的重要要素。在云计算、大数据、人工智能等新兴技术的推动下,众多行业都在经历一场轰轰烈烈的数字化转型大潮。伴随着数字化进程的发展,API作为连接数据和应用的重要通道,在物联网、微服务、云原生等场景都得到了非常广阔的应用,通过API的能力将企业的数据资源整合,即将其服务、能力和资产打包到可重复利用的模块化软件中,让数据在不同环境中使用,包括将其与合作伙伴及其他第三方有价值的资产结合起来。API在数字化转型中的扮演的角色将愈发重要,通过API进行数据交换成为最重要的传输方式之一,也因此成为攻击者窃取数据的重点攻击对象。 近两年来因API安全问题导致的数据泄漏事件频频发生,可以看到API安全是一个常见但似乎又不为人熟知的挑战。行业对API安全的认识仍处于早期,OWASPAPISecurityTop10(失效的对象级授权、失效的用户认证、过度的数据暴露、资源缺失&速率限制、功能级别授权已损坏等)指出了API最常见的安全风险。 本报告结合面向实战化的安全实践,通过将API的安全能力和组件,嵌入到业务体系,构建自适应的内生安全机制。按照“发现”、“检测”、“防护”、“响应”的安全模型进行API安全体系建设,并不断地创新与迭代,提供万物互联时代的数据交换、大规模分布式架构、云计算、数字化改造等场景的数据安全保障 目录 一、数字化转型浪潮催生API高速发展1 (一)API发展历程1 1.单体架构2 2.分布式架构3 3.SOA架构4 4.微服务架构4 5.Serverless架构5 6.CloudNative云原生架构6 (二)数字化转型带来云原生的发展6 1.云原生赋能政企数字化转型7 2.云原生成为驱动业务增长的重要引擎7 3.云原生是下一代云计算的技术核心7 (三)API成为资源连接利器8 1.API是云原生架构的技术核心之一8 2.数字化转型依赖API整合能力8 3.API成为企业发展的战略需求9 (四)API成为政企数字化转型的核心能力9 1.API是一种核心能力9 2.API化是一种必然的趋势10 3.API是企业的核心数字资产10 二、API爆发式增长催生新的安全挑战10 (一)API防护缺失已成数据安全最大风险敞口10 (二)API安全面临的主要安全问题12 1.缺乏可见性12 2.攻击面增加13 3.多种攻击隐患15 4.敏感数据泄漏17 三、围绕API安全构建全新数据安全体系18 (一)场景变化带来的防护难点18 (二)新技术、新业务带来的防护难点18 (三)API格式的多样性、复杂性面临的防护难点19 (四)传统防护手段无法应对API安全风险19 四、API安全防护要求与建议22 (一)持续构建发现能力23 1.API资产发现与管理23 2.API漏洞发现24 3.API滥用发现24 (二)持续构建检测能力24 1.针对API漏洞攻击检测24 2.逻辑异常攻击检测24 3.异常行为检测24 4.数据异常流转及泄漏检测25 5.失陷主机检测25 (三)持续构建防护能力25 1.认证授权体系25 2.访问控制26 3.加解密能力26 4.API限流限速26 (四)持续构建响应能力26 1.漏洞管理与响应26 2.威胁分析与处置26 3.威胁预警能力27 五、结束语27 一、数字化转型浪潮催生API高速发展 API(ApplicationProgrammingInterface,应用程序接口)是一种计算接口,定义了软件之间的数据交互方式、功能类型。随着互联网的普及和发展,API从早期的软件内部调用的接口,扩展到互联网上对外提供服务的接口。调用者通过调用API,可以获取接口提供的各项服务,而无须访问源码,也无须理解内部工作机制的细节。 (一)API发展历程 API服务的发展历程可以看作企业数字化过程中系统集成需求不断变化的过程。 21世纪初期,随着ERP、CRM等企业内部管理系统的普及,各类系统沉淀了海量的关联数据,基于早期的数据库和HTTP1.0通信协议,API在企业内部数据打通后开始崭露头角,系统集成进入API1.0时代。 2007年前后,随Web2.0时代到来,企业信息和资源跨出企业内 部,各企业系统不再是孤立状态,系统资源和数据的整合需求也扩散至外部,进而出现了UDDI技术规范和基于SOAP协议的API接口,系统集成步入API2.0时代。 2015年后,云服务主导了企业服务市场,大型企业在内部系统集成理顺的基础上,将企业核心资源以带有适当安全和监管措施的“API+云服务”形式向合作伙伴、客户、乃至普通大众输出。基于此,RESTfulAPI开始被大量应用,API服务正式步入3.0时代。在API3.0时代,客户和普通大众可以利用企业通过API输出的资源来完成各自的产品和服务的开发,最终延伸出庞大的价值链。 在云技术与容器技术兴起之前,单体架构一直是构建应用程序的主流架构,然而这两种技术的兴起,为企业快速部署项目以及持续集成带来了很大便利。伴随着容器技术与云技术的发展,微服务已成为高速增长公司中构建应用程序的首选。 1.单体架构 在应用程序发展的早期,大部分软件项目是将所有的服务端功能模块打包到单个巨石型(Monolith)应用(典型的三级架构,前端(Web/Wap/APP)+中间业务逻辑层+数据库层。这是一种典型的JavaSpringmvc或者PythonDjango框架的应用)中,如很多企业的Java应用程序打包为war包然后发布到Tomcat中,其架构图如下所示: 2.分布式架构 分布式架构是单体架构的并发扩展,将一个大的系统划分为多个业务模块,业务模块分别部署在不同的服务器上,各个业务模块之间通过接口进行数据交互。数据库也大量采用分布式数据库,如:Redis、ES、solor等。通过DNS&LVS/Nginx/F5负载均衡处理器(DNS是用于实现地理级别的负载均衡,而Nginx&LVS&F5用于同一地点内机器级别的负载均衡。其中Nginx是软件的7层负载均衡,LVS是内核的4层负载均衡,F5是硬件做4层负载均衡),将用户请求均衡地负载到不同的服务器上。相对于单体架构来说,分布式架构提供了负载均衡的能力,大大提高了系统负载能力,解决了网站高并发的需求。其架构图如下所示: 3.SOA架构 SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口联系起来。SOA中的接口独立于实现服务的硬件平台、编程语言,采用中立的方式进行定义,这使得构建在各系统中的服务可以以一种统一和通用的方式进行交互。面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。SOA可以理解为:对单体架构的系统按照实际业务,拆分成功能简单、层次清晰、可独立部署的模块,每个模块之间相互独立,通过服务治理管理这些单独的模块进行工作。其架构图如下所示: 4.微服务架构 微服务(MicroservicesArchitecturePattern)是由MartinFowler在2014年提出的,将单体架构的系统应用,转化为多个可以独立运行、独立开发、独立部署、独立维护的服务或者应用的聚合,从而满足业务快速变化及分布式多团队并行开发的需求。如康威定律 (Conway’sLaw)所言,任何组织在设计一套系统(广义概念)时, 所交付的设计方案在结构上都与该组织的通信结构保持一致,微服务与微前端不仅仅是技术架构的变化,还包含了组织方式、沟通方式的变化。 微服务架构,主要是中间层分解,将系统拆分成很多小应用(微服务),微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。当前应用产生的故障不会影响到其他应用,单应用的负载也不会影响到其他应用,其代表框架有Springcloud、Dubbo等。其架构图如下所示: 5.Serverless架构 Serverless架构能够让开发者在构建应用的过程中无须关注计算资源的获取和运维,由平台来按需分配计算资源并保证应用执行的SLA(服务等级协议),按照调用次数进行计费,有效地节省应用成本。其架构图如下所示: 6.CloudNative云原生架构 云原生是通过构建团队、文化和技术,利用自动化和架构来管理系统的复杂性和解放生产力。云原生(CloudNative)的定义包含以下三个方面:应用容器化、面向微服务架构、应用支持容器的编排调度。其架构图如下所示: (二)数字化转型带来云原生的发展 随着各行业数字化转型的深入,资源弹性与简化运维的价值是企业上云的基础,传统云服务已经远远不能适应企业的需要。 1.云原生赋能政企数字化转型 资源极致弹性、应用敏捷开发迭代正在发展成为云服务的新常态。因此,“火爆”的云原生也成为互联网企业和传统政企的共同选择,云原生不仅掀起了云计算时代一股新浪潮,也开辟出一条企业数字化转型的最佳路径。随着云原生应用深入企业各个业务场景,跨云、跨地域统一协同治理,保证一致应用体验等新的需求日渐突出。 2.云原生成为驱动业务增长的重要引擎 云计算的发展已进入成熟期,云原生作为新型基础设施支撑数字化转型的重要支撑技术,逐渐在人工智能、大数据、边缘计算、5G等新兴领域崭露头角,成为驱动数字基础设施的强大引擎。伴随全行业上云的逐步深化,企业云原生化转型进程将进一步加速。 3.云原生是下一代云计算的技术核心 在传统应用架构下,网络流量大多是南北走向,但是到了云原生平台时代,东西向流量占比越来越多,这对整个数据的传输、存储和计算产生非常大的压力。为了让数据移动得更快,存储得更多,适应更广泛,这就要求我们需要更快速地步入云原生时代。 目前CNCF(云原生计算基金会)对云原生的定义为:“云原生技术有利于各组织在公有云、私有云和混合云等新型动 态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。 这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。 结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统做出频繁和可预测的重大变更”。 (三)API成为资源连接利器 GoogleCloud的研究显示:为应对2020年的新冠疫情对企业带来的连锁效应,近3/4的企业持续投入数字化转型。这些企业当中,有2/3正在增加投资或完全改变战略,想成为领先的数字型公司。 1.API是云原生架构的技术核心之一 在微服务架构下,各个应用都被极尽可能的细分,因此它们彼此间更需要API来进行数据交互,API数量出现爆发式的增长。应用微服务化开发,服务之间使用标准的API接口进行通信。松耦合架构会减轻因需求变更导致的系统迭代成本,为多团队并行开发提供基础,并加快交付速度。 2.数字化转型依赖API整合能力 数字化转型依赖于企业的整合能力,即将其服务、能力和资产打包到可重复利用的模块化软件中。每个企业都在其系统中储存了有价值的数据,然而要利用好这些价值,就要通过API的能力打破数据孤岛,让数据在不同环境中使用,包括将其与合作伙伴及其他第三方有价值的资产结合起来。 即使一些系统从未设计互通能力,API也能让开发人员轻松访问并组合不同系统中的数字资产,从而更好地实现整体协同。API是软件和软件之间进行“对话”的最基