一、前言
在2022RSA大会上,来自Techstrong Research[1]的Mitch Ashley发表了一个名为“The Rise of API Security:It’s 10 pm – Do You Know Where Your APIs Are?”的演讲。该议题主要针对目前不断增长的API安全进行了调查和探讨。Mitch Ashley从API安全增长的原因,目前企业的API安全建设现状,以及API的管理建设分析了当前API安全的发展趋势。
二、API安全增长的原因
API(Application Programming Interface)作为程序之间交互的桥梁,承担着数据传输的重大作用。随着软件工程的不断发展,企业的系统结构也在顺应潮流不断发展。
传统的单体应用的架构因为其单一应用,非模块化,只区分UI界面,数据,业务逻辑,只需要对外暴露少量API即可。但是这种模式比较臃肿,不够灵活。因此,催生出对面服务的SOA架构,将各个模块功能拆分为服务,对外暴露,并使用broker服务发现,并定义特定的数据传输协议和各种远程调用协议,例如早期的zookeepr,dubbo。成功地将传统的单体应用变成了分布式的应用,模块的扩展也更加灵活。随着云原生技术的发展,容器化技术,可编排,微服务,服务网格等技术使得业务的架构管理更加灵活。与之同时,带来的也是各个模块之间交互的API的大量增长。
图1 软件架构引进过程
面对越来越细化的业务需求,如图2所示传统的瀑布式的开发流程也如同单体架构一样愈显臃肿。从项目的需求,设计,开发,测试,发布,运营,整个流量往往是以季度为单位。新的API的引入的周期也比较长。
图2 瀑布流式开发模式
因此图3所示的DevOps形式的敏捷开发流程也越来越受到公司的青睐。需求快速迭代,往往2-4周就一个迭代周期。新的功能也能比较快地上线,API引入的代价也会比瀑布式开发流程低很多,这也导致了会更容易引入新的API。
图3 敏捷开发流程
但与之同时,如何对快速增长的海量API进行安全治理与管控也成了企业实施DevOps时必须考虑的一个重要环节。
三、企业API安全建设现状和问题
根据图4企业2022年API 安全项目调查显示,目前仅有 18.3%的企业建立了API安全的项目,但是在图5的DevSecOps流程是否优先考虑API安全性调查中显示,有45.53%的企业期望在其DevSecOps中优先考虑API安全性。这表明API安全仍有着很大的市场。
图4 企业2022年API 安全项目调查
图5 DevSecOps流程是否优先考虑API安全性调查
图6中,用户最关心的3个API安全的问题,大家主要担心的是数据泄露、扩展了攻击面和被外部实体利用。数据是企业最重要的资产之一,我国的《数据安全法》也在2021年正式实施。API新引入的攻击面与广泛存在的API对外暴露场景,也要求企业对API的暴露面与正确使用做好相应的管控。API安全建设是企业安全建设的一个重要环节。
图6 用户最关心的3个API安全的问题
四、API安全建设
API安全建设是一个持续的建设的过程。API的安全建设主要覆盖以下3个方面,如图7所示。
API生命周期的管理:覆盖API的创建,发布,实现,维护,以及退出的整个周期。
API安全:需要做好API的认证,授权,发现,防护,测试,分析。
API协议:API涉及多种类型的协议和数据类型,做好不同类型的协议和数据的分析只是也只API安全建设中很重要的一环。
图7 持续的API管理
关于API安全的管理。Mitch Ashley提出“API先行”(API-FIRST)的理念。企业应该将API安全治理相关的设计放到产品设计的初期阶段。在API的生命周期里面就应当考虑到API的安全设计,做到持续的面向API的安全治理,并确保API安全与DevOps/DevSecOps相融合,实现安全能力的左移,在系统设计初期就引入安全能力,将能够有效的规避后期可能出现的大量风险。这要求我们在API的设计之初就需要遵循一定的设计安全规范,来保障安全的有效性。关于需要遵循的API安全实践,通常有以下方面:
· 遵循OWASP API TOP10的规范[2]
· 采用OAuth或者API鉴权
· 添加合适的流控限制
· 零信任
· API网关
· 做好代码审计扫描
五、总结
在现在云原生的环境下,随着系统架构和开发模式的迭代更新,API的数量呈现飞速上涨趋势,API的安全风险也越来越不容忽视,越来越多的攻击瞄准了系统的API。而从调查来看,目前企业的API安全建设还不够完善。这也意味着这里存着在一个比较大市场机会。关于如何做好API安全,企业可以通过API先行的方式,在系统设计初期就做好API的管理,规避API的安全风险。同时做好API的整个生命周期的安全管理,遵从API安全实践,减少API风险,降低企业攻击的暴露面,防止网络攻击与数据泄露。
参考文献
参考文献
[1] https://techstrongresearch.com
[2] https://owasp.org/www-project-api-security
内容编辑:创新研究院 陈建军
责任编辑:创新研究院 顾 奇
本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。