震网病毒Stuxnet之子 – Duqu的现身

FreeBuf小科普:了解Stuxnet(震网)病毒

Stuxnet蠕虫病毒(震网,又名超级工厂病毒)是世界上首个专门针对工业控制系统编写的破坏性病毒,能够利用对windows系统和西门子SIMATIC WinCC系统的7个漏洞进行攻击。特别是针对西门子公司的SIMATIC WinCC监控与数据采集 (SCADA) 系统进行攻击,由于该系统在我国的多个重要行业应用广泛,被用来进行钢铁、电力、能源、化工等重要行业的人机交互与监控。

这是有史以来第一个包含PLC Rootkit的电脑蠕虫,也是已知的第一个以关键工业基础设施为目标的蠕虫。此外,该蠕虫的可能目标为伊朗使用西门子控制系统的高价值基础设施。[6][7]据报道,该蠕虫病毒可能已感染并破坏了伊朗纳坦兹的核设施,并最终使伊朗的布什尔核电站推迟启动。了解更多关于Stuxnet的内容,点我

Stuxnet之子 – Duqu的现身

Duqu最早出现在2011年9月,是继Stuxnet蠕虫后最为恶性的一种可窃取信息的蠕虫。

Boldizsár Bencsáth一边啃着汉堡一边盯着他的电脑屏幕。尽管在布达佩斯技术和经济大学2011年秋季开学之前他还有很多事情要做,但是他仍然感觉很快乐、很放松。夏末的蓝天白云和舒适的空气会让你忘记冷冽的秋季即将到来。

当 Jóska Bartos(一家公司的CEO)给他打电话时,他正坐在布达佩斯技术和经济大学加密和系统安全实验室(CrySyS)的桌前享受着他的午餐

Bencsáth狼吞虎咽的吃完了他的午餐,然后就直奔向了Jóska Bartos的公司。刚一进门,Bartos就说:“我们公司好像遭到黑客入侵了”。

他们在开发者的机器上发现了一个可疑的文件,文件的创建日期是晚上没有人工作的时候。文件被加密和压缩了,所以他们不知道文件里的内容。但是他们推测这应该是攻击者从机器上拷贝的并且打算之后再取走的数据。在调查公司的网络之后发现,还有一些其他的机器也出现了类似的情况。

公司应急小组的人员很确定他们是遭到了黑客的入侵,所以他们想让Bencsáth帮忙查出黑客是怎样入侵的。他们公司有一套比较齐全的保护措施,包括防火墙、杀毒软件、入侵探测和防御系统,但是现在还是被黑客入侵了。

Bencsáth只是一名计算机科学老师,他之前也从未做过这类的工作。在实验室里他只是一名研究生顾问,为欧洲联盟做过学术研究,偶尔还做过一些清理或者重装系统的工作,但是从来都没有接触过正真的黑客入侵事件。对于毫无经验的他来说,要解决这一问题是有很大难度的,而且他还不能求救于同事。因为该公司是一家依赖于顾客信任而运营的公司,一旦被顾客发现其系统遭到黑客攻击,它就会失去很多的客户,公司就很难再经营下去了。

初步分析

应急小组和Bencsáth用了一下午的时间对被入侵的硬盘进行了镜像分析,他们发现了一个记录密码和击键次数的恶意软件。它可以对连接到机器上的设备和系统进行分类,这样一来攻击者就可以构架公司内网的蓝图了。攻击者并没有利用恶意软件直接从受害者机器上窃取数据,而是把数据储存在一个临时的文件夹内。

在他们删除了其中的有一些敏感的客户数据之后,Bencsáth把镜像分析资料和公司系统日志带回了实验室(他还是没有对其同事透露任何信息)。而当他检查其中的一个内核模式驱动时,发现在电脑和诸如打印机的设备中存在一个通讯程序。经调查得出该恶意软件签名的数字证书来自于台湾的一家公司。

Bencsáth立即联想到了破坏伊朗铀浓缩工厂的Stuxnet蠕虫,它也使用了一家台湾公司的数字证书。不同的是,Stuxnet使用的是瑞昱半导体公司的数字证书,而新发现的恶意软件使用的是骅讯电子公司的数字证书。

Duqu和Stuxnet的关系

难道这两起事件之间是有联系的吗?应急小组成员把这两个恶意程序仔细认真的对比之后发现,它们除了数字证书不一样之外,其他的都一样。

在发现了这些之后,Bencsáth立即给Bartos打了个电话,请求让他实验室里的研究员也参与进来。因为这不再是一次简单的黑客入侵事件了,它可能会牵涉到国际间的安全问题。

Bencsáth搜集了很多关于Stuxnet的技术资料,当他读到Stuxnet隐藏其代码的加密惯例时,他发现这两个应用程序使用的加密密钥都是一样的。毫无疑问,这二者之间肯定有着千丝万缕的关系。

由于恶意程序创建的临时文件都是以 ~DQ开头,因此这个恶意程序被命名为Duqu。赛门铁克公司的Eric Chien和其同事在看到这一消息时都感到很兴奋,这是难得一见恶意病毒,他们预言Duqu将开启Stuxnet的新篇章。

Duqu的特点

从本质上来说,Duqu是一种远程访问的木马或者RAT,它有一个简单的后门可以为攻击者在受害者机器上提供一个长久的驻足点。

一旦建立了后门,Duqu就可接触到受害机器上的命令和控制服务器,然后攻击者可以在该服务器上下载附加的模块,以丰富其攻击程序的功能:

卡巴斯基实验室的研究员也对这一恶意软件有着极高的兴趣,他们认为Duqu是顶级程序员的作品,其代码与其他间谍和恶意软件的代码明显不同。Duqu还有一个很特殊的部分就是攻击者在受害者机器上下载额外负载模块(Payload)时所使用的组件。这个组件所使用的编程语言既不是C语言也不是C++语言,而是一种卡巴斯基实验室研究员们从来没有见过的编程语言。

Duqu攻击没有使用0day漏洞利用程序来帮助其传播,也不能像Stuxnet那样自动的传播。但是一旦机器感染了Duqu,攻击者只需手动的从受控制的服务器上发送攻击指令,它就可以立即感染其他的机器。Duqu执行的是系统性强且有条理的攻击,它甚至会根据不同的目标编译不同的攻击文件,执行不同的命令。

看来Stuxnet的故事还远没有完结,Duqu也许只是个开始。