独家连载 | 零日漏洞:震网病毒全揭秘(33)
作者:星期三, 十月 28, 20150

640.webp

发布了“震网意在破坏PLC”的研究结论之后,钱哥团队遇到了难题。理应站出来承担责任的西门子公司却像个缩头乌龟一言不发,美德官方CERT也是作壁上观。只有一个德国佬怒了。他就是“风流倜傥高富帅、四处放炮广树敌”的拉尔夫•朗纳……

第十章 精确制导武器

德国汉堡。工业控制系统安全专家拉尔夫•朗纳(Ralph Langner)正坐在办公室里,看着他的两个同事在测试机上运行震网代码,演示出一系列巧妙的欺骗动作。为了验证并再现震网向PLC释放载荷的特定条件,朗纳和他的团队已经工作了好几天,却发现这件事远非他们想象的那么容易。

640.webp

拉尔夫•朗纳

几天前,朗纳团队找了一台计算机,在上面安装了西门子Step 7软件,碰巧手头还有一台西门子的PLC,就把计算机和PLC连上了。为了监视两者之间的通信,还装了一台网络分析器。与赛门铁克的研究员不同,朗纳团队一直以研究PLC为主业,他们非常清楚装有Step 7软件的计算机和PLC之间的通信方式。因此,他们觉得在其中发现异常现象并不困难。但是,当他们把震网病毒导入计算机后,却没发现任何动静。这太奇怪了。经过反复试验,他们发现震网只对两种特定型号的西门子PLC感兴趣:S7-315和S7-417,但他们手上没有这两种型号的PLC。

他们只好在测试计算机的Windows系统上装了一个调试工具,一来观察震网在释放载荷之前的行为,二来设计出一种方法、让震网误以为找到了目标PLC。原来,震网拉了一个很长、很详细的配置清单,条分缕析的跟“目标PLC”进行比对。朗纳和他的同事搞不懂它在做什么,还好他们也不需要搞清楚。每当震网“质疑”目标“哪一条不对”时,他们就连猜带蒙的编造出一些响应值,直到震网“认为”可以通过比对为止。这实在是一种简单粗暴的破解方法,因此效率不高,花了他们好几天的时间。当他们好不容易凑齐了正确答案,并让震网顺利结束清单比对工作时,终于看到了赛门铁克公司研究员在研究报告中所描述的情景——震网将一系列恶意代码段注入了PLC。朗纳当时兴奋的说,“这鬼东西,总算被我们逮到了。”

在将震网病毒导入测试计算机之前,他们通过分析测试机和PLC间的正常通信,已经掌握了Step 7发往PLC代码段的正常大小和基本特征。因此,当看到感染震网之后的测试机发过去的代码段所占空间略微大于正常值时,他们判断其中必定有鬼。

那时,他们还不知道震网的恶意代码能对PLC做什么,但发现PLC被恶意代码感染本身,就是一件重大新闻。作为工控系统安全专家,他们从未向客户警示过这种形式的风险,也从未想象过会有这种攻击手段。

在赛门铁克的钱哥和法里尔看来,当他们于2010年8月17日发布消息,称震网的目的是破坏PLC时,似乎根本无人关注此事。但实际上,在德国某地郊外的一间办公室,有一个人对这条消息非常感兴趣。他就是朗纳。多年来,他一直警告工业界的客户们说,可能有一天、有人会对控制系统发动网络攻击,并对系统造成严重破坏。那么,这条消息的出现,意味着这一天真的来了。

朗纳是一家由3人小公司的老板。他的公司只做一项业务,就是工业控制系统安全。他对通用计算机安全毫无兴趣,对那些以PC为目标的病毒发布公告漠不关心。即使是通用操作系统或软件的零日漏洞,也吸引不了他的注意。因此,当震网首次登上科技新闻排行榜、并引发安全论坛上的广泛讨论时,他完全不知道有这回事。但当听到赛门铁克说,震网破坏了PLC时,朗纳立刻来了精神。

赛门铁克在公告中并没有明确震网到底对PLC做了什么,只是很隐晦的说震网将恶意代码注入了PLC所谓的“阶梯逻辑”(即PLC控制离心机的核心代码段)——这或许意味着将使PLC失效,又或许意味着将造成不愿言明的更严重后果。朗纳意识到,包括他们公司客户在内的数千家西门子PLC用户正在面临着一个“杀手级病毒”的潜在攻击,并焦急的等待着西门子公司或赛门铁克公司告诉他们,震网到底能对PLC实施怎样的破坏。但奇怪的是,赛门铁克在发出这条令人震惊的公告后,再也没了下文。

朗纳怀疑,赛门铁克的研究员怕是遇上了难题,因为他们一天到晚跟PC打交道,缺乏PLC和工业控制系统方面的知识和经验。可有意思的是,西门子也是一言不发。朗纳想,哎,这就怪了。不管怎么说,被攻击的是西门子家的产品,西门子有义务对恶意代码进行分析,并告诉用户应该怎么办。但这家德国著名公司在7月份发布了几条简短的声明之后,就陷入了沉默。

朗纳怒了。虽然震网的目标只是安装Step 7软件的计算机,但谁知道它到底要干什么?谁又敢说它不会利用相关漏洞对其他系列和型号的PLC造成破坏?最重要的是,震网用于将恶意代码注入西门子PLC的漏洞,可能同时存在于其他工业控制系统中。而彼时,因特网上已经可以自由下载震网的样本,任何黑客、犯罪分子、恐怖组织可以研究这些代码,并以其为模板设计出针对其他类型PLC、可大规模传播、更具攻击性的病毒来。

这让另外两个当事人——德国国家计算机应急响应团队和美国国土安全部的工业控制系统网络应急响应团队(ICS-CERT)——的沉默更加令人费解。他们都是专门负责维护本国关键基础设施控制系统安全的政府机构,但却不约而同的,对震网的曝光及相关事态不置一词。根本没人听说ICS-CERT发出了“有病毒注入西门子PLC”的警报,一句话也没有。德国官方的沉默就更没天理了。要知道,大多数叫得出名字的德国发电厂和大型工厂,用的都是西门子公司的工业控制系统。

于是,朗纳把问题抛给了他的两位同事:拉尔夫•罗森(Ralf Rosen)和安德烈亚斯•蒂姆(Andreas Timm)。经过讨论,他们决定,要亲自啃下这块硬骨头。虽然这两位工程师之前从未做过病毒的逆向工程,但是,既然没有其他人告诉他们震网病毒到底对PLC做了什么,他们只好自己动手了。这意味着,他们要在完成正常的、有钱赚的工作的同时,挤出时间来“做公益”。不过,他们确信,这正是他们的使命所系。

朗纳他们3个人建立的这个团队有点奇特,但非常高效。在工控系统安全这样一个行业里,人们对工程师的印象往往是衣着邋遢、脸色苍白、头发乱糟糟的,而42岁的朗纳恰恰有着令人眼前一亮的外型。他梳一头利索的黑色短发、间或夹杂着几缕灰色,穿一身时尚贴身的商务套装,脚蹬一双精心保养的皮鞋。他有一双狡黠的蓝眼睛,皮肤是健康的小麦色,还有着如登山客般匀称、健美的身材。而这些,都是他常年在阿尔卑斯山中滑雪旅行和徒步攀越的副产品。而且,朗纳的行事风格直率、大胆。可以这样说,他既是个颜值爆表的男神,又是个特立独行的怪咖。在业界,他以直言不讳、持论偏激而著称,经常发表一些让业内同行怒不可遏的刺激性言论。多年来,他一直喋喋不休的抱怨控制系统的安全问题。他这种又臭又硬的倔脾气,经常让最需要听取他意见的人敬而远之。与他相反,罗森和蒂姆这两个40多岁的自身工程师,穿着随意、谈吐温和,在团队中扮演着朗纳背后的辅佐角色。

虽然这3个人怎么看都不搭,但对于分析震网病毒而言,可能再也没有比他们更适合的组合了。蒂姆已经为朗纳工作了10年,罗森来的比蒂姆还要早3年。在长久的时间内,他们积累了关于工业控制系统的广泛知识,特别是与西门子公司产品有关的知识。因为,西门子作为他们最大的长期客户,经常买他们公司的软件产品,并且有时会让他们对员工进行培训。可以说,翻遍整个西门子公司,恐怕也找不出几个比他们仨更了解西门子工业控制系统的员工来。(待续)

译者:李云凡

 

关键词:

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!