在2013年7月召开的黑帽(Black Hat)会议上,Trend Micro公司发布了一篇报告,报告中提到了这家公司的一项试验,它在全世界设置了12个类似于市政供水设施工业控制系统(ICS)的蜜罐(Honey Pots)。从3月份到6月份,这些蜜罐吸引了74次国际黑客攻击,其中10次攻击黑客完全接管了控制系统。
为了分析此项试验并从中得到规划自身防御策略的重要启示,三名网络安全专家给出了他们的分析。
Michael Assante是美国系统网络安全协会(SANS)ICS和SCADA方向的项目负责人,他曾担任北美电力可靠性委员会(NERC)的副总裁和首席安全官。他负责开发了爱达荷国家实验室的控制系统策略,并担任过美国电力公司的副总裁和首席安全官。
Tim Conway是SANS协会 ICS和SCADA方向的技术总监,也曾担任过NERC总裁和北印第安纳州公用事业公司(NIPSCO)的运行技术总监。
Matt Luallen是Cybati的创立者,Cybati是一家安全培训和咨询公司,他还是Control Engineering杂志的专栏作家和安全栏目的撰稿人。
Q:首先让我们对此项研究及其所涉及的方面有一个大体的了解。报告的主旨是什么?项目背后的意义是什么?
Assante:Trend Micro公司将位于世界各地的多个蜜罐连接成一个整体,他们选择市政供水系统作为蜜罐的设计,所以蜜罐的外观、名称和标签就如同一个真的市政供水设施,而且其技术结构在某种程度上也类似一个与市政供水相连接的控制系统。系统对外可见,可通过网络访问。
该试验的研究人员对这种面向网络的控制系统受到的各种威胁活动的数量很关心,之前他们已经在这个领域做了一些研究,做这个项目有两个目的:首先,通过观察是否某些人在寻找这类目标来证实他的怀疑,如果那些人找到了蜜罐所虚拟的控制系统,那么他们会对它做什么。其次,研究人员希望评估那些寻找此类目标的人的技术能力。
Trend Micro公司的设计此实验的时候特别注意了下面两点:第一,他们选择了一个类似小型市政供水设施作为目标,并将其纳入自己控制之下。第二控制工程网版权所有,他们选择了一些更容易受到攻击的目标。作为目标,这类系统很有诱惑力。作为水处理系统,它是一个超小型控制系统,这一事实给我们传达了一个信息:再小的系统也有受到攻击的危险。总有一些人尾随而来,他们具有攻击能力CONTROL ENGINEERING China版权所有,锁定了这些目标。所以请不要认为自己的系统太小了根本不起眼,也不要认为这类攻击事件不会发生在自己身上。因为我们虚构了一些小型的系统,而黑客们还是来了。
Q:黑客们是否知晓如何接近工业系统和通讯协议,这些技术和协议能否起到降低黑客攻击效率的屏障作用?很多用户想当然地认为工业系统和通讯协议“高高在上”,认为黑客们不知道如何应对工业网络。
Assante:大多数被吸引而来的黑客仅仅具有通用网络的入侵能力,而并没有完全具备应对控制系统的能力。控制系统与通用网络具有一些通用元素,例如OS层和应用层,对于此文的讨论来说就是面向网络的远程访问。但是有一小部分被吸引而来的人就是准备好了入侵控制系统,而且他们具备接管整个系统的能力。其中有10个入侵控制系统的人完全接管了蜜罐所模拟的整个控制系统。其中有4个人是通过熟练使用工业协议和硬件来完成的入侵和接管。
那些黑客们配备了合适的工具,富于经验,还准备好了计划,明确在工业协议和硬件上要进行什么——不仅仅局限于应用层和OS层。
这就有了一个问题:那10个接管了整个流程的黑客是否做了对流程有害的事,或者仅仅只是一次演练而已?他们更改了HMI吗?他们移动了设定点吗?他们是否植入了木马便于以后访问?是否能从接管整个流程的黑客的动机得到一些启示?我们认为他们的目的是什么?我们能从他们的动机中学到什么?
Q:既然这仅仅是模拟的目标控制工程网版权所有,那么经验丰富的黑客是否能够意识到他并非进入了一个实际的控制系统?
Luallen:我为我的研究做了评估,我可以采用虚拟的形式或者使用真实的设备。当我评估虚拟路径的时候,我发现它并不具备我期望给黑客展示的复杂度。如果我换位思考www.cechina.cn,站在黑客的角度思考系统应该如何表现,那么我认为作为评估最好尽量做到真实,如果你不希望被发现,你就必须谨慎选择你的目标,并且在虚拟的环境中混入一定数量的真实设备。
Q:人们总是谈到黑客,但是对黑客的真实面目却知之甚少。
Assante:我们所说的黑客范畴很广,只不过某些个体和组织所实现黑客目的的技术手段不同而已。如果黑客能够切实地看到他们与目标系统之间的交互作用,并且他们对系统的组件以及这些组件的行为了如指掌,那么他们就能够发现他们正在面对一个模拟系统,而非实际系统。
有很多判断“我正在面对什么”的方法。你可以给出一个命令,等待一个特定的组件以特定的方式给出响应,如果没有得到预期响应,那么你面对的就不是真实情况。好消息是我并不认为那些黑客能够达到这种深度,对ICS组件也没那么了如指掌。每一个系统在不同的层级上都由很多不同的事物组成,不同的黑客擅长的领域也不同。
Conway:坏消息是高手并不多,如果是高手那么他很有可能已经意识到这是一个蜜网(Honey Net)了,于是这些高手就不再使用各种工具和技能进行入侵,而仅仅是让其他人发现自己做些分析了事。所以,如果你面对的不是高手黑客,那么你看看他们到底干了什么,这定会令你如骨在喉。这个系统上线的时间并不长,而闯入的黑客却不少,使用SQL注入实现HMI攻击、跨站请求伪造、盗取信用证书、提取VPN配置文件等等。发生的坏事着实不少,而且我们还可以认定这些坏事并非高手所为,因为如果是高手的话早就发现这是蜜网了。(蜜网的概念和蜜罐类似,但是前者所指是更大尺度的系统。)
Assante:另一个坏消息是我们对这种情况难以深入研究,因为蜜网受攻击的案例太少。在防御通讯循环中,我们知道侵入正在发生,我们已经通过ICS CERT生成了报告或者类似的东西,但是在现实世界中报告受到极大的限制。仅从此试验来看,我们不得不相信确实有一些黑客对真实的系统图谋不轨,企图攻击和入侵系统,而且这些问题对于系统业主来说非常难以发现。业主很难及时了解并理解系统正在遭受入侵,大多数最终用户并不具备检测的能力,对于那些具备检测入侵能力的最终用户,他们也不一定会愿意分享受到入侵的信息。因此,防御者往往对于事态的了解少之又少。
Q:这听上去让人忧心忡忡,那么我们应该如何应对?
Conway:“我们应该怎么做?”面对这个问题,我想有一系列对策可以采纳,例如断网、审查置信信源、禁止使用USB、为应用程序设置白名单等等。但是我扪心自问:“Trend Micro公司是否做了足够的努力使这些蜜网具有更高的可见性以至于更容易被当做目标锁定?”我回头审视了在使这些系统在Google上被搜索到所花费的巨大的时间和精力,他们确保这些系统可以在SHODAN中被搜索到。他们考虑了所有的环境并且根据环境进行了定制和修改,针对不同的网络浏览器设置了不同的语言。反过来说,业主们是否能够在对自有系统进行检测上付出如此多的努力。业主们应该扪心自问:“我们对黑客的吸引力大吗?我们的系统是否可以通过Google搜索到?我们的系统是否可以通过SHODAN搜索到?”如果答案是你的系统很容易被锁定,那么你怎么使自己不容易被黑客发现呢?我认为大隐隐于市的理念就是掩耳盗铃,特别是当你本身就容易被特殊锁定时。不过如果仅仅考虑被锁定的几率,那么降低可见性确实是一个方法。
Luallen:这是关键点。人们可以从很多地方获取企业的开源情报,比如从企业的自我宣传以及与控制系统的连接中,或是在SHODAN搜索中提供了太多信息,甚至是供应商文件和一些推广活动的展示文件上。
Assante:当有人试图使用某种能力或者某种工具寻找你的系统时(例如搜寻面向网络的ICS元件),降低你的系统的吸引力确实奏效。如果你降低了系统的可见性,这是个好事,但是如果有人因为其他目的搜寻你的系统时就适得其反了,我的意思你可以是自己的企业的目标,也可以是别人攻击的目标。
Q:作为一家独立的公司如何降低其可见性?
Assante:如果你的系统可以通过网络访问,那么有些事情你无法做到。你无法隐藏那个事实www.cechina.cn,但是你可以降低你与其他人所搜集目标的相关性。作为一个黑客,我可以从你的系统中找到A、B、C和D,因此我可以确定你是某一种类型的作业设施,然后我就可以判断使用这种工具来对付你。
首先应该做的事情就是好好审视自己并问“我在告诉人们什么信息?”,这是最先需要理解的。是否有某种原因让我不得不公开这些信息?公开信息是否对作业本身有好处?如果没有,那么找到消除这些信息的方法。做到这一步,你可以说:“我已经尽力了,为了降低风险下一步应该做什么呢?”
Q:对于企业来说似乎有一件事很困难,就是判断自己是否被黑客入侵。大多数企业不会建立蜜罐或者蜜网来核查是否有黑客闯入或者试图闯入。是有没有更简便的方法呢?预警器有用吗?
Assante:预警器是一种设备,当它发生了变化它会对可见性进行报警。预警器可以是一台位于子网上的其他计算机永远也不会访问的计算机。如果这台计算机被访问了,那么你知道肯定是来源于外部的非常规行为。
Conway:如果你的网络在常规通讯中使用TCP/IP V4或者Modbus,那么你就可以增加一个预警监听器,如果任何人通过不同的协议与其通讯,那你就知道可能哪里设置错了,或则有更糟糕的事情发生了。还有一种可能,大多数大型公用设施都配有测试网络,黑客无法判断自己是否身处测试网络。所以很多企业在应用预警器的时候实际上已经在使用蜜网的概念了。如果有人图谋不轨,那么它无法知道这是一套测试网络,而测试网络根本不会与实际的设备相连接。对于黑客来说,测试网络与真实的系统丝毫不差。你要深度挖掘测试网络的价值,它就是你的蜜罐。
Assante:你可以根据自身的技术特性设置预警器以实现监视和监听功能。虽然它无法用于后续的调查取证,但是至少可以在大问题发生之前给你敲响警钟。你可以找你的供应商问:“我们的系统支持预警器吗?”这是一种很重要的能力。
Luallen:盘点自身能力和资源,你可能非常不愿意投入额外的设备,但是安全这回事确实不是一项能够完全依赖现有员工而不花时间培训就能够实现的技术。
看看你的系统中有哪些工具,理解你现有的资源很重要。你已经有哪些种类的技能和工具?无需引入额外的系统就可以实现目的吗?预警器模型对于发现非授权访问非常有效,但是为了判断哪些是非授权访问,你必须首先知道哪些是授权访问。这意味你必须知道自己的系统配备了哪些设备以及这些设备是如何通讯的。从基础做起:我有什么?它们怎么通讯?当你确实配置了预警器,那么当预警器触发时你应该采取什么响应。
Assante:当你使用了全新的控制系统或者你现有的控制系统碰到了新状况,你必须首先建立一些判断标准。它是如何工作的?它工作需要哪些资源?什么是伪造的和非必要的?你需要从供应商处获得这些信息,最好是在采购阶段就能够获得。有一些工具可以使用,例如爱达荷国家实验室的SOPHIA工具,它可以在端口和通道层面为你的通讯自动设定了判断标准。
你需要建立系统模型,这样才能判断系统是否处于异常状态,大多数异常状态来自于误配置或者某人对设定值进行了修改。你不能坐以待毙,你需要调查清楚为什么它会被变更,这意味着时间和资源上的投入。
Luallen:你必须知道你不需要什么?当某人购买一套全新的控制系统时,在采购阶段他们将所有所需的功能特性都列出来了。到了现场安装阶段,控制系统配备了所有的功能。你必须询问供应商哪些功能是你并没有要求的。控制系统所配备的任何功能都需要进行安全防护和维护,即使你并不使用它们。现在一家主要的平板HMI供应商已经在其所有产品中都支持使用Adobe Reader软件。这个应用可能会产生一些漏洞,而且很有可能用户并不知道支持这种应用程序而根本不会为其打补丁。除非你有非常好的理由不得不使用它,否则就不要安装它。
Q:那么最后,这个测试是个好主意吗?
Assante:我为这个项目鼓掌,因为在工业控制系统领域,我们吃一堑长一智的机会少之又少。我们必须知道正在发生什么,并利用这些信息判断如何防护这些系统。蜜罐很好,因为配备了蜜罐的用户不用担心分享信息有什么后果。我们必须尽可能详细地分析这些信息,这样才能有所收获。