要有光:确保整个API生命周期的可视性

安全 应用安全
可视化技术在API生命周期中的应用,使得网络安全态势以更加形象具体的方式,呈现给包括非技术人员在内的所有系统用户。

在如今的开放生态系统中,集中安全是一项挑战

实现API可视化之前,我们必须认识到的,当今企业都在极力避免用单独一个系统来管理所有API。IBM的集成工程总监Tony Curcio表示,他的许多客户企业已经在使用包含典型内部基础设施的混合架构,同时跨多家云供应商,采用SaaS和IaaS模式来获取服务。

这些体系结构旨在提高安全韧性和灵活性。但我们清楚地意识到,这会使集中化工作变得更加复杂,也就是说:提高安全韧性和灵活性的代价是集中化工作的复杂化。因此,就必须要有一个的集中的API管控位置,以确保API相关业务活动的可视性以及更好地管理。

因为随着时间的推移,这种复杂程度可能会不断加深,所以安全团队面临的问题是,没有一个集中的地方可以让开发团队管理所有API。此外,这种复杂性并不仅局限在基础设施层,而是会持续到应用层。

Deloitte的高级技术执行官Moe Shamim认为非整体应用程序开发是关键。他声称,为了保持竞争力,同时将威胁降至最低,组织现在必须将数百万行的代码分解为基于API的模块化流程和系统。这需要将API网关、IAM、节流等因素纳入考虑,来进行重新的思考。这意味着需要花费大量的时间和资源。

随着时间的推移,组织的API足迹不再有规律地增加。他们由各种API组成,包括兼并和收购而来的API、版本控制API、内部API、第三方API以及一些偏离预期用途、开发、测试、调试和诊断目的API等。然而,许多API都没有文档记录和管理,甚至有些连保护措施都没有,这使得复杂性问题变得更加严重。

“Shadow APIs”从何而来?

在这种混合云的现实背景下,将相同的程序运行于不同的企业资产所在环境中是一种挑战。在选择技术栈时,应该考虑到这一挑战,以便在任何地方都能顺利地落实政策并实施治理。

但这说起来容易做起来难,尤其是在收购其他组织,或与其他组织合并的成功企业中:每个业务都使用着不同的技术,并且需要为每个新增环境都设置一个自定制的API安全流程。

API生命周期?API工作方式!

根据Moe Shamim的说法,API的生命周期可以归结为下图。在制定API安全策略时,必须考虑架构、分布、设计以及影响组织开发API方法的其他方面。你可以将这些方面视为在API生命周期中每个阶段引入的控件。它本质上与上述的可视性和集中性有关。

一张关于API生命周期的图

设计阶段决定了API是仅在网络防火墙内使用还是公开使用,以及身份验证等问题。同时它还将涉及更多的技术问题,如开发、网关类型以及使用的编程语言。重要的是考虑到威胁模型的同时,做出一个与你工具的生态系统相一致的选择,这适用于你做出的每一个有关安全态势的决定。

构建阶段,必须扫描OWASP前10个问题。对此,SAST工具是个很好的选择。渗透测试和版本控制虽不一定会集成到安全态势中,但它们都是强大的机制,有益于扩充你的安全“军火库”。

运营阶段包括节流、缓存和日志记录等问题。完备的日志记录和监控机制是修复阶段的必备工具,它能够帮助修复不同版本的漏洞。

最后但却同样重要的是下线阶段。删除不再使用的端点是一项基本的最佳做法;一般情况下,如果你不再需要一项服务,那么就不要让它一直处于开启状态。如果你不再需要某个API了,就关掉它;云账户也是如此。

Tony Curcio声称,API项目治理的关键原则之一是API的开发人员、产品经理和消费者之间的协作。查看每个角色的安全配置,并对确保使用安全的API策略进行协调,这是组织安全态势的一个基本方面。

在组织内树立API优先的理念是有益的。例如,IBM开发了自己的API管理技术,使他们能够更容易地公开和保护自己的API。但像Imvison那样,拥有先进的API技术,还有很长的路要走。他们的人工智能技术帮助我们更多地了解,包括其来源等关键问题的攻击途径。

采取情报主导的安全应对方式

MAERSK的高级解决方案架构师Gabriel Maties提出了另一种观点。由于MAERSK有着三年的API项目经验,并且期间遭遇了一场严重的危机,所以在网络安全方面,他一直认为即使不能比攻击者做得更好,至少也要做得与其同样好。

Gabriel分享了他对可视性的看法,因为API管理在内部共享资源,所以他从一开始就将API管理视为一项多参与者的工作。因此,系统的每个入口点及其支持机制都应该进行仔细的检查并集中监控。

这种集中化很重要,因为可视性是多维的,从来没有监控某个单独的方面。这就需要对API进行全面的了解,使你能够轻松了解API部署在哪里、拥有者是谁、使用者是谁、如何使用、正常使用的状态是什么样的以及每个API如何受到保护等问题。而且,集中化还有利于更好地了解每个API的生命周期是什么样的、存在多少版本、共享哪些数据、存储在哪里以及谁在使用这些数据等问题。

集中化是确保以最大效益以及最小风险的方式,管理这个复杂生态系统的唯一方法。

一张可视性层次的图

拥有集中的观察能力可以进一步进行洞察,从而对观察结果采取行动。可视化使你能够观察正在进行的、未知的主动攻击,同时制定策略,并且使你能够利用观察得来的见解来采取行动。

基于规则的安全性是非常有效的,并且机器学习和深度学习这两种技术可以使其自动化和程序化。主要是因为没有其他可供选择的技术来处理海量的数据。并且,这两种技术还能够实现自适应威胁保护来帮助应对新的威胁。

坏消息是,黑客也在使用同样的技术,而且处理这些技术需要组织成熟度,以采取必要的行动。我们这里讨论的是一些繁重的操作,比如关闭负载平衡器、切换防火墙,以及自动、快速地进行的其他基础设施的更改。如果没有整个组织的高度成熟度,就无法实现这一点。

监督机器学习可以帮助组织提高这种成熟度。它使你能够处理大量规则集并进行洞察,以便设计自动操作流。而且,数据科学在跟踪特定攻击者行为方面提供了重要的技术诀窍。当组织面临不同资源或者持续的高级威胁时,这些诀窍至关重要。

规则和流程发生改变和更新时,这种以智能为主导的安全响应能够依靠量化的证据做出持续的自适应、自反的响应。这是应对不断增加且不断复杂化攻击的唯一方法。

黑屏:一个真实的攻击事件

Gabriel谈论过他在Maersk工作时经历的一次真实攻击。大约是在他加入Maersk九个月后的一天,他们的屏幕突然黑屏了。断开服务器和拔插头也都无济于事。已经太晚了,短短几分钟之内,数千台计算机便瘫痪了。

这不是以敛财为目的的攻击,而是一次破坏性的攻击,意在让Maersk屈服。由于攻击者使用了单向加密,所以Gabriel和他的团队只能选择重建系统。显然,重建系统时,网络安全是最为优先的事项。他们认为动态分析至关重要,为的是进行实时分析,以增强持续学习和适应威胁的能力。因为80%的攻击都是内部行为,所以他们的目标是了解哪些行为是正常的,以及哪些什么是不正常的。

攻击发生后,Gabriel提出了可视性的、健康检查的四个级别和一个能够判断系统安全是否受到损害的方法。现在,所有流程和架构决策都必须通过网络安全评估,都必须通过大量的检查和平衡处理。但这并不意味着必须满足所有条件,才能获得新流程或决策的批准。因为关键点在于推动你对自己差距和弱点的了解。这样你才能利用合适的功能和供应商,来实现你的安全理念。

在过去两年中,我们看到越来越多的组织采用特定的API工具来帮助监控、发现和消除shadow API,以便更好地了解其风险。这是一个伟大的进步,因为API与我们的应用世界完全不同。采用专门为其构建的独特工具和流程是保护API的唯一方法。

API安全:使董事会上船

正如我们所见,网络安全攻击数量和严重性正不断提高,这引起了了许多企业的董事会和高管对API保护的重视。而提高可视性程度是让高管了解所面临风险的另一种方式。如果你能找到一种方法,让你的高管们知道有多少未受保护的数据容易受到威胁,那么你已经赢了一半。

这种可见性反过来将增强一种更具适应性和自反性的网络安全态势,使你能够不断学习、洞察并调整自己的态势,以应对不断的新型攻击。

在不同的企业资产中建立一致的、可视化的安全态势是完善网络安全战略的核心原则。这种安全态势必须考虑API生命周期的四个阶段:设计、构建、运营和下线。为了正确地做到这一点,你必须选择一种合适的技术。这种技术要能够实施你在API安全管理初期所决定的策略、工具和治理。

最后,制定一个整体的、集中的战略,以增强可见性来保护资产,也同样重要。Imvision等创新公司提供的先进ML和深度学习技术一定可以帮助你实现这一目标。

点评

随着API应用场景的增加,系统被攻击的风险也不断提升。API安全的维护不仅是网络安全部门的工作,更要得到整个企业,尤其是领导决策层的重视。可视化技术在API生命周期中的应用,使得网络安全态势以更加形象具体的方式,呈现给包括非技术人员在内的所有系统用户。这样不但能使用户其更好地了解当前系统的安全状态,同时也充分发挥了群体决策的优势。

责任编辑:赵宁宁 来源: 数世咨询
相关推荐

2012-06-07 09:49:28

广域网WAN

2012-06-06 15:55:36

Hadoop数据

2015-07-08 16:28:23

weak生命周期

2022-04-19 07:20:24

软件开发安全生命周期SSDLC应用安全

2009-06-11 11:28:35

JSF生命周期

2010-07-14 10:48:37

Perl线程

2022-08-23 13:36:06

数字化转型大数据物联网

2015-07-08 16:44:02

雷蛇烈焰神

2022-04-21 14:03:54

开发API生命周期

2012-04-28 13:23:12

Java生命周期

2011-06-16 09:31:21

ActivityAndroid

2009-06-18 13:32:39

Java线程生命周期

2009-06-17 15:06:50

Hibernate实体

2019-10-16 10:50:13

Linux内核测试

2013-07-29 05:11:38

iOS开发iOS开发学习类的'生命周期'

2012-01-16 09:00:56

线程

2020-04-18 20:21:16

网络安全可视性安全工具

2022-10-11 09:07:02

微服务设计

2019-07-30 10:16:41

云计算IT混合云

2018-05-03 09:36:19

多云环境云计算可视
点赞
收藏

51CTO技术栈公众号