美国APT供应链打穿伊朗物理隔离的核工厂案例分析(第2篇)
Part1 前言
大家好,我是ABC_123。在上一篇文章《第74篇:美国APT网络攻击破坏伊朗核设施全过程复盘分析(震网病毒上篇)》中,我详细介绍了美国APT组织如何通过网络攻击破坏伊朗核设施工厂的流程,并着重描述了美国NSA在此之前所做的准备工作。多数读者一直认为震网病毒是通过特工将带有病毒的U盘插入核设施工厂内部网络,但这个说法并不准确,后续的震网病毒已经实现了自动化入侵绝对物理隔离的伊朗核设施工控内网。这听起来令人难以置信,一个病毒怎么可能自动化突破国家级别的物理隔离呢?然而美国APT组织确实成功实施了这一行动,他们采用的方法正是现在国内攻防比赛中对于难打目标的主战打法——供应链攻击。
Part2 供应链攻击思路
供应链攻击诞生的背景
早期美国政府通过荷兰招募的特工成功把藏有震网病毒0.500版本的U盘带入伊朗纳坦兹核工厂的工控内网,并成功插入工控系统的重要主机,导致一批离心机损坏。后期特工进入核设施工厂越来越困难,奥巴马总统上台之后,美国政府要求美国NSA修改病毒代码,实现通过编程手段让震网病毒自动进入伊朗核设施,由此诞生了震网病毒1.x系列。该版本病毒内置4个windows操作系统级别的0day漏洞,在内网中可以通过网络共享目录、U盘传播、快捷方式解析漏洞、打印后台服务漏洞来横向传播。
挑选5家核工厂的供应链公司
美国APT组织的思路非常巧妙,虽然伊朗核设施内网是绝对物理隔离不通外网的,但是诺大的核设施工厂,里面的软件系统、硬件系统、水管电力等需要人更新维护,这就需要承包商的技术人员进入核设施工厂以内去进行维护,于是震网病毒1.x版本的攻击思路就非常明显了。它首先感染这些承包商的公司内网,然后获取相关技术人员的电脑权限,把病毒自身复制到这些技术人员的笔记本电脑或者U盘中,等到这些技术人员下次进入核设施工厂内部时,一旦他们将笔记本或者U盘连接到工控内网中,这些震网病毒会立马苏醒,开始自动化地进行内网横向传播与渗透,寻找工控系统的工作站机器、操作员机器,改变下发给PLC的指令,进而改变离心机转速,导致离心机损坏或爆炸。
为此,美国APT组织结合前期获取到的情报,重点挑选了伊朗纳钽兹核设施工厂的5家供应商进行网络入侵,可以看到这5家公司都位于伊朗,其业务都与工业控制系统SCADA、工控集成,或者是某些核设施工厂内部需要的管道设备、电力零部件、设备部件的相关公司等等。最重要的是他们都是纳钽兹核设施工厂的承包商,而且经常有员工出入工控系统内网,为震网病毒的传播提供了通道。美国APT组织先后于 2009年6月、2010年3月和2010年4-7月发起了三轮攻击,值得注意的是,百坡炯这家公司同时被3个版本的震网病毒在3次供应链入侵中攻击。
ABC_123通过网络搜索,将这5家供应链公司的简介整理如下,希望能让读者直观感受到美国APT挑选这5家公司进行入侵的缘由。
弗拉德技术工程公司。FOOLAD Technic Engineering Co(FIECO)公司为伊朗工业设施(主要为生产钢铁和电力)生产自动化系统,拥有许多伊朗最大的工业企业的数据、图纸和计划。
百坡炯工业自动化公司。Behpajooh Co. Elec & Comp. Engineering公司,位于伊朗-伊斯法罕,靠近伊朗新的铀转化工厂,该工厂的任务是把铀矿转化为铀化物气体,作为纳钽兹铀浓缩的原料。主要业务包括电子设计与制造、计算机系统集成、自动化控制系统、网络和通信技术等,主要开发工业自动化系统,为其它公司安装Wincc、Step7、西门子S7-400型PLC等。
尼达工业集团。Neda Industrial Group公司,业务包括设计、安装工业控制系统,该公司的业务包括包括建筑、工程、制造和能源等,在建筑领域承担了许多大型项目,涵盖了住宅、商业和基础设施等不同类型的建筑。该公司在工程领域拥有丰富的经验,参与了道路、桥梁、隧道和水利等基础设施项目的建设。
高士达自动化公司。Control-Gostar Jahed Company是伊朗的一家工业自动化公司,业务包括设计、安装工业控制系统,致力于为各种行业提供自动化和控制系统的设计、开发和实施。他们的解决方案涵盖了工业自动化、过程控制、机器人技术、智能建筑系统等领域,与伊朗最大的石油生产、冶金、能源等企业有着非常深入的合作。
卡拉杨电力公司。Kala Electric公司是一家专注于电气工程和制造的公司。他们致力于提供高质量的电气设备和解决方案,是铀浓缩离心机设备IR-1最主要的供应商,同时实际任务是管理Natanz工厂和为核计划秘密采购设备部件。
Part3 供应链攻击与传播流程
震网病毒1.001版本
在2009年6月22日,震网病毒1.001版本编译上线,它增加了两种传播方式。一种是通过U盘传播,利用Windows的Autorun功能;另一种是利用打印后台服务的一个0day漏洞,通过拿下其它主机权限进行传播。
在2009年6月29日星期一晚上11点20分,当天德黑兰街道出现了游行示威运动,悼念在近期抗议活动中的遇害者。当天晚上,震网病毒攻击了百坡炯公司。2009年7月7日凌晨5点,震网病毒攻击了尼达工业集团的计算机和高士达工业自动化公司。2009年7月22日,尼达公司在西门子论坛发帖子抱怨dll文件反复报错。这几家公司被入侵之后,在6月到8月之间,伊朗的核设施的运行状态的离心机数量开始出现下滑。
震网病毒1.100版本
2010年1月19日,伊朗拒绝了美国政府提出的缓解核武研发计划的方案。6天后,美国震网团队完成了新一轮攻击的准备工作。2010年1月25日,震网攻击者为新版震网中的两个驱动程序文件签发了从台湾瑞昱公司盗取的数字证书。2010年3月1日,震网病毒1.100编译完成,新增了2个提权0day漏洞、快捷方式文件解析0day漏洞传播方式。
2010年3月23日,伊朗传统新年诺鲁孜节公共假期最后一天发动攻击,大部分伊朗上班族还在家中与家人和朋友过年,而震网恰恰选在这个时刻发动新一轮攻击。这次震网病毒只选择了一家公司作为攻击目标,就是百破炯公司。
而以色列急攻心切,决定大干一场,对伊朗核设施的离心机发起全面攻击,在未得到美国NSA同意的情况下,私自在震网病毒代码中插入新的功能,修改了其传播机制,并私自投放了震网病毒修改版本,最终导致震网病毒失控,并扩散到全球。以色列打开了潘多拉魔盒,释放到了病毒,使震网病毒扩散到全世界。
震网病毒1.101版本
2010年4月14日,震网病毒1.101编译完成,这是震网病毒最后一个版本,美国NSA主要修复了其传播机制,阻止它进一步扩散。
2010年4月26日,震网病毒再次入侵弗拉德科技公司。2010年5月11日,两周之后,震网病毒感染了卡拉扬电力公司。2010年5月13日,百坡炯公司第3次被攻击。百坡炯这家公司每次都被选作攻击目标,足以说明它在震网病毒自动化入侵过程中的重要作用,而且成功率很高。
震网病毒终止日
震网病毒的设计者为了保持病毒的可控性,为每一个版本的病毒设置了一个终止日期,所有版本的震网病毒中,最晚的终止日期是2012 年 6 月 24 日。每当震网病毒进入一台新的计算机,都会检查计算机上的日期,如果晚于这个日期,病毒就会停下来放弃感染。已经被感染机器上的恶意程序载荷仍然会继续运作,但震网病毒将不会再感染新的计算机。
震网病毒造成的影响
究竟震网病毒造成了多少离心机损坏,目前说法不一,预估有2000台以上的离心机被破坏,但是造成的更严重的影响有两方面:一是在03年到11年之间,震网病毒不断给伊朗核设施工控系统制造麻烦,严重拖慢了伊朗核武研发进程,使其在7、8年的时间里一直被离心机故障困扰,使伊朗核计划进程完全脱离预定轨道,为此还解雇了一批技术人员和科学家;另一个影响就是震网病毒通过各种方式造成的离心机的各种故障,导致伊朗的核原料大量的消耗,也造成了离心机零部件的供应紧张,这些对于伊朗来说都是依赖于进口的。
同时,震网病毒也规避了军事行动固有风险和代价,大大减少了人员伤亡和经济损失,对伊朗核武研发计划的影响可以与派遣军机进行空袭轰炸相媲美。
Part4 未完待续
震网病毒以一种隐蔽的方式破坏了伊朗核工厂的离心机设备,而且持续了长达6至7年的时间,而伊朗并未察觉到,震网病毒是如何做到隐蔽这么长时间的,其中的手法是超级复杂,ABC_123会在下一篇文章尽可能地给大家讲明白,敬请关注。