网络安全保护进入新时代

注意后门网络安全攻击。2015年12月的瞻博网络(Juniper Networks)事件改变了业界对设备安全的看法,黑客利用故意安装在软件中的漏洞进行攻击。终端用户、集成商和设备制造商需要适应并为这一新现实做好准备。遵循以下网络安全步骤。

通过杰夫·梅尔罗斯 2016年3月22日

一个软件工程师正试图完成一个主要的代码块,但他的老板剪掉了一大块,包括一些从互联网上下载的开源例程。替换这些例程会增加项目的时间。他跑到老板的办公室恳求道:“我需要在系统中使用那个软件。”

“你不能用它。它已经被破坏了。”

工程师点了点头,预料到了这个回答。“是的,它是开源的,来自网络,但我们以前用过它。我还与软件工程师进行了交谈,他们将逐行审查源代码和目标代码。”

老板抬头看了看他在一个秘密地点工作多年的奖状。他说:“你永远无法确定里面没有什么东西。”

这个简短的场景听起来像是悬疑电影中的情节,但考虑到最近网络安全领域发生的事件,这种情况可能是非常真实的。大多数人认为软件在大多数时候都是做它应该做的事情,因此有时会忽视潜在的危险。

试图为设备和工业系统编写代码的软件工程师希望避免重复发明轮子。如果有人已经编写了代码来完成某项工作,并且它有效,他们就不想再写了。他们宁愿从网上下载免费软件和开源代码来节省时间。或者,他们可以从早期产品中挑选已有的代码,这些代码具有经过验证的跟踪记录。所有这些都被拼凑在一起并加载到一个新设备中。只要它能正常工作,没人需要知道或关心它是从哪里来的。

这种假设已经存在了很长一段时间,但情况正在发生变化。随着民族国家、黑客活动分子和网络犯罪分子的出现,网络安全世界正变得越来越令人困惑。黑客和他们的努力反映了广泛的技能水平。有些是笨拙的,很容易被发现。另一些则更加阴险,除了最老练的取证网络专家之外,所有人都无法察觉。

虽然工程师希望简化项目的意图是好的,但他的老板是对的:不安全的代码可能潜伏在这样的软件中。有时它可以被发现并移除,但最近的一个网络安全漏洞的例子证明,这种威胁可以很好地伪装起来。

密码为"<<< %s(un= ' %s ') = %u"

我们这些年龄足够大的人还记得,在家里听到“密码”游戏节目主持人对观众低声说出关键字。没有人会猜到这一点,但它将在普通用户中变得普遍,因为它正在改变威胁格局。

2015年12月,Ars Technica发表了一份令人震惊的报告2015年12月17日,瞻博网络发布了一份紧急安全通知,称该公司的一些NetScreen防火墙和安全服务网关(SSG)设备使用的操作系统(OS)中发现了“未经授权的代码”。我们向受影响的设备操作系统发布了一个补丁,法医调查确定未经授权的代码充当了进入设备的后门”(见图1)。

最令人震惊的是密码的隐藏方式。法医调查确定用于逃避正常身份验证的管理员密码为“<<< %s(un= ' %s ') = %u”。安全研究人员看到这段胡言乱语可能会意识到,它被精心设计成软件源代码文件中的调试或测试代码。由此可以得出两个结论:

  1. 未经授权的后门是故意放在那里的。
  2. 它被精心设计以逃避侦查。

这是网络犯罪威胁新时代的开始。我们都习惯了攻击者利用软件缺陷造成的漏洞的概念。这是一种常见的策略,每个人都意识到这一点。软件补丁应该修复这些缺陷并解决这些漏洞。

现在我们似乎正在进入这样一个时代:漏洞被故意植入软件,然后小心翼翼地隐藏起来。知道隐藏代码功能的攻击者可以在他们喜欢的时候使用这种植入的漏洞。

当然,一些公司非常重视这一威胁。例如,思科(Cisco)曾努力查看其产品中是否存在类似的后门,结果发现确实存在。和瞻博网络一样,思科也在开发补丁以防止漏洞。

富通也承认它的各种产品中都存在后门。硬编码密码是远程管理的一个特性。

其他公司的反应并不总是那么快。在Juniper之前,还有RuggedCom该公司在其坚固的操作系统(Rugged Operating System)产品中加入了一个后门。然而,他们并没有通知购买者。2011年,一名用户发现了这个问题,但该公司不愿解决这个问题。这个后门显然也是故意安装的。

回到Juniper的案例,后门的目的显然是为了访问网络设备的配置及其用于虚拟专用网(VPN)加密例程的种子参数。Juniper使用一组非标准参数来初始化加密,获得加密参数的唯一方法是获得管理员访问权限。关于是谁干的,有很多猜测,但“为什么”的问题很容易回答。后门的目的是创建一个进入网络的入口。

一扇通往网络的门

网络设备供应商是这种方式的目标,因为他们的产品是网络的入口点。访问路由器或网关提供了进入工业或企业系统的入口。因此,网络设备安全经常被证明是许多组织防御策略的软肋。这样一个秘密放置在设备中的后门,隐藏着看起来正常的代码,其价值是巨大的,更大的影响是可怕的。

许多组织将其网络设备简单地视为基础设施;具体来说,就是信息分发系统中的航路点。一想到信息交换机以一种无法察觉的方式被访问,就真的令人不安。更大、更令人担忧的信息是,过去20年的网络安全最佳实践中的大部分现在已经过时了。

最佳实践不再是最佳的

为什么?让我们考虑一些例子,看看这种新的网络设备威胁将如何改变安全最佳实践:

  • 通过网络交换机实现工控网络和业务网络之间的VLAN分离已经不足够了。没有任何组织可以设计带有VLAN分离的网络并期望它们是安全的。如果设备可以在管理级别受到损害,那么就不能保证任何虚拟分离。是时候回到物理分离了,这会造成巨大的沟通问题。
  • 依靠VPN加密作为保护机密性的灵丹妙药已经不够了。一个组织需要开始考虑它在多大程度上依赖VPN技术作为他们在安全网络上移动信息的“首选”解决方案。VPN隧道在任何网络上都不再安全,特别是对于全球组织内的长距离通信。
  • 假设一切正常,网络设备配置就不再安全了。许多组织都遵循一种基本做法:如果没有人触摸设备,那么设备的配置就和以前一样。但现在情况已经不同了。公司将需要加强配置控制和审计,以考虑设备配置被未经授权的方式改变的可能性。

这些都是明显的安全威胁,并且随着这种情况的全面影响的实现,将会出现更多的安全威胁。随着网络设备中可疑代码的潘多拉魔盒被打开,没有人真正知道重新思考网络安全的道路会走多远。考虑到这一新的现实,最终用户、集成商和设备制造商应该分别遵循一些提示。

了解有关最终用户、集成商和设备制造商可能受益的技巧的更多信息。

怎么做:最终用户

查看设备补丁状态-显然,任何组织都应该做的第一件事是开始在组织范围内审查易受攻击和潜在易受攻击的网络设备。这不仅适用于Juniper硬件,也适用于所有其他网络设备供应商。首先假设所有供应商的设备都受到了类似的损害。

修补或尝试修补所有网络设备-审核后,应将补丁应用于所有现有设备,甚至在批准非juniper设备的补丁之前。这样做的原因有两个方面:确定哪些设备处于特别关键的领域(如工业控制系统),并找到那些太旧而无法更新的设备。

创建一个风险矩阵前两个步骤的结果将生成信息,这些信息可以帮助定义攻击面(参见图2)。这个矩阵应该有两个轴:第一个是补丁的能力,从由于年龄的原因不可能运行到由于供应商的合作而容易运行。第二个是操作重要性,从关键的24/7工业网络的高到小型分支机构交换机的低。关键操作中不可修补的设备应更换。遵循此分析将帮助您的组织在不可避免地披露其他网络设备受到此类黑客攻击之前保持领先一步。

制定一个计划来改变你的攻击面弱点矩阵应该指导制定修补计划的任何努力。有了所有这些信息,安全人员可以提供一个烧毁列表,其中包含基于百分比的指标,显示新网络设备漏洞出现时带来的风险。矩阵还提供了一个很好的行动计划,如果最坏的情况发生:一个新的和可利用的网络漏洞被发现零日恶意软件

增加网络和配置监控如果一个组织正在使用Snort, Fox-IT已经有了IDS签名来帮助检测这种攻击。还应该在整个组织范围内进行努力,将所有网络设备置于配置控制之下。定期安全审计不仅需要验证网络设备的配置,还需要通过测试流量模式来评估实际的网络配置。

做什么:提供网络设备的集成商

审查实验室设备补丁状态和实施指南集成商应该修补任何实验室系统,然后更新其实施指南,以反映网络设备配置的变化。例如,Juniper现在为固件更新提供了代码签名步骤。实施人员应该做好准备,因为发现其他网络设备供应商也有类似的问题。

修补或尝试修补所有网络设备-集成商应尽快与客户和最终用户一起修补所有设备。还应该进行坦率的讨论,向客户解释这是新一代的威胁,强调为更多补丁和长期监测做好准备的重要性。将此描述为另一个震网类型的事件并不夸张。

集成商可以提供解决方案和服务,以增加设备监控系统集成商应该带头向客户通报这种新的威胁,并制定解决方案和服务,以加强对安全和网络设备的监控。有充分的理由促使客户考虑旨在确定网络配置控制和网络补丁实现级别的服务。

怎么做:设备制造商(包括工业控制设备)

审查开发和实施实验室设备补丁状态设备制造商应该立即修补任何开发和实验室系统。应更新安全策略和程序,以反映网络设备配置的变化。应该加强对迁移到开发环境中的设备和软件的控制。

重新检查开发实验室和开发办公室架构设备制造商需要对开发网络如何连接到其他网络更加偏执。瞻博网络可能会花费大量资源来查明后门是如何出现在其设备软件中的。可以肯定的是,Juniper将投资于更多的开发配置控制,并重新考虑其开发网络安全,以包括更多的审计和监控。

此外,用户应该重新检查软件开发策略和过程,以及人员审查。以下是一些可以遵循的基本准则:

  • 对所有开发中的源代码进行配置控制
  • 组态控制软件,包括所有人员触摸代码
  • 用于软件开发的隔离气隙网络
  • 两人完整性更新源代码文件
  • 关键文件,如加密例程、授权例程等,应该通过审计加强配置控制
  • 更新的安全策略——明确地声明对代码质量、安全性和完整性的遵守——对于软件工程师、测试人员和质量人员来说应该是强制性的
  • 对软件工程师、测试人员和质量人员进行背景调查
  • 根据关键安全服务实现源代码分类,对关键软件模块进行更多的安全检查
  • 代码审查和测试是否符合编码指南
  • 代码审查以验证关键代码的职责分离的实现
  • 编码指南详细说明了如何处理某些函数的格式,以防止恶意行为者混淆
  • 软件供应链审查,包括通过现场检查、审计和遵守供应商自己的安全策略对供应商进行定期检查,以及
  • 对所有进入开发网络的软件,包括所有商业打包软件,进行彻底的审查。

评估未来风险

在此事件之后,设备制造商将需要更密切地审查软件开发风险。这是一个转折点,类似于Stuxnet向工业世界展示了控制系统是如何被系统攻击和破坏的。每个设备制造商都应该将自己视为攻击目标,或许已经是此类攻击的受害者。风险管理是关键。在这种威胁环境中,必须从头到尾重新评估所有外部软件代码源。

如果在任何供应商的代码中发现这些类型的基本缺陷,所有制造商都会受到影响,特别是如果该公司不愿意修复它或提供减轻问题的方法。由于这种事件而失去的信任是很难重建的。

我们不应试图低估这一事件的影响。这个突破是如此的聪明和大胆,令人难以置信。我们所有从事工业自动化业务的人都必须将其视为一个警示故事,并尽一切可能防止新的事件发生,找出尚未发现的问题,并主动保护我们的客户免受已经部署的设备出现问题的影响。每个人——终端用户、集成商和设备制造商——都需要重新思考他们如何进行软件开发的基本原则。这确实是设备网络安全的新时代。

杰夫·梅尔罗斯GICSP,横河公司网络安全首席技术策略师,Chris Vavra编辑,CFE Media,控制工程cvavra@cfemedia.com

更多的建议

关键概念

网络安全方法这在过去是有效的,但由于新的和复杂的攻击正在实施,这种方法不再有效。

终端用户,集成商和设备制造商需要重新思考他们如何进行软件开发。登录www.globalelove.com查看更多网络安全报道,包括本文的更多在线信息链接。

考虑一下这个

公司可以采取哪些额外的保护措施来避免受到损害?

在线额外

请参阅下面关于网络安全方法的其他故事。