在科幻小说《三体》中提到,三体人通过一种名为“智子”的微观粒子对人类基础科学研究进行技术锁死,从而实现对人类文明的降维打击。那么在实际国家间的对抗中,是否也存在这样的场景呢。答案是肯定的,纵观人类发展历程,以直接冲突的形式进行降维打击、装备碾压的事件数不胜数,比如类人进化过程对其他物种的抹杀、美洲大陆土著的消失等等。然而,单纯从技术的角度在不知不觉中对一个国家发展进行技术锁死,时至今日,依然觉得不可思议。而震网在这场对抗中就扮演了“智子”的角色。
值得一提的是,在“震网”事件始末,从未出现组织或国家宣称对此次事件负责,只有安全机构通过所捕获病毒样本的蛛丝马迹对攻击过程的推断。
震网作为一个划时代的网络攻击,一举将网络安全从“脚本小子”们为了博人眼球的嬉耍打闹,推到了国家之间对抗的重型武器;将简易单一的网络攻击,转变为通过战略、战术、过程的结合,协同多种攻击技术达成目标的复杂过程;网络空间从互联互通的工具,上升为继海、陆、空、天、网后的第五维作战空间;0day攻击第一次步入公众视野,成为一种战略资源;缺乏供应链关键设备的自主可控,物理隔离的系统对于某些组织来说就像自家的后花园一样随意出入;也让人们意识到全球化过程中如果基础设施和核心部件不能自主可控,上层的繁华都是空中楼阁,随时都可能被釜底抽薪。
战争作为政治的延续,从某种意义上讲,如果能够达到政治上的战略目标,采用地面部队,还是网络武器,并不绝对!因此可以说,这是一次改变游戏规则的攻击。
震网事件的影响之大,以至于在十几年后的今天,每次进行网络空间安全领域的技术论证和项目答辩时,该事件十有八九都会出现在背景描述中,一方面是因为震网事件太过于典型,已经成为了一个符号化、现象级的攻击;另一方面是因为震网攻击太过于复杂,可以从多个角度进行解读,包括但不限于:0day漏洞直接入侵的未知攻击检测问题;物理隔离被轻易突破的隔离无法保证绝对安全问题;篡改SCADA(数据采集与监视控制系统)数据引起的CPS(信息物理融合)安全问题;过度依赖全球化供应商导致的供应链安全问题。
究其原因,还是因为网络安全的大部分工作无法被具体量化,无法明显体现其对生产过程中经济效益的提升,以至于无论是学术界,还是工业界都迫于无奈拿着合规性要求和网络安全事件到处贩卖危机。
震网之所以能够成功达到战略目标,得益于其精巧的构造、大胆的创意和颠覆性的攻击理念,对其的剖析也一直为人们所津津乐道,在整理了大量的文献和音视频资料后,能够一定程度还原这个“世界首个网络空间破坏性武器”的攻击过程,也能够管中窥豹,看到其中所蕴含的网络风险和危机。
战略目标
两伊战争后,伊朗开始发展核工业,在通过巴基斯坦获得相关的技术资料后,于2000年建立纳坦兹工厂,经历了与美国、英国、以色列、荷兰情报组织和国际原子能机构的多轮博弈后,于2007年正式启动核计划,为纳坦兹工厂安装离心机。
图1伊朗位于纳坦兹的核设施
美国为了保证后期不陷入“轰炸别人,或被被人轰炸”的两难境地,与同样受到威胁的以色列达成战略目标的一致,即遏制伊朗核工业发展。由于伊朗所处的地理环境特殊,通过空袭对纳坦兹工厂进行破坏几乎不可能完成,而美国也不愿开启除伊拉克的另一个战场。通过网络进行破坏的计划被批准和执行。
攻击事件:
从多个报告的时间线进行总结,攻击的过程大致如下。
2005年,伊朗撕毁核武器协议,开始核武器研制计划。
2005年,震网0.5版本,其C&C服务器注册时间。
2006年,第一批原料开始从纳坦兹的实验工厂产出。
2006年,美国军方和情报官员向时任总统的布什政府提交了一个对伊朗发动网络攻击的提案,名为Olympic Games计划,普遍认为当时的攻击代码已经基本完成,并在模拟环境中能够成功实现了攻击效果。
2007年,伊朗正式启动核计划,在纳坦兹安装1700台离心机。
2007年9月24日,攻击者对代码进行了最后的修改,修改了完成攻击所需的关键功能,并在该日期编译了代码。该代码旨在关闭随机数量的离心机上的出口阀门,提升离心机内部压力,损坏离心机。
2008年,伊朗时任总统艾哈迈迪.内贾德在纳坦兹的控制室观看SCADA的场景。普遍认为当时纳坦兹的离心机已经受到攻击,这张照片也一直因泄露过多工业现场细节而为人们诟病。
图2 伊朗高层视察纳坦兹
2010年3月,震网1.0版本,改进离心机破坏部分,随机地提高离心机转速到超出设计范围,再降低,破坏离心机本身和萃取过程。同时,代码失控。
2010年6月,白俄罗斯的安全公司VirusBlokAda受邀为一些伊朗客户检查系统第一次发现震网病毒,根据病毒代码中出现的特征字“stux”,新病毒被命名为“震网病毒(Stuxnet)”,并加入到VirusTotal,公布给业界人士研究。
2010年6月~10月,震网病毒在世界范围内被捕获和分析,多家安全企业发布震网研究报告及感染情况。此时,伊朗意识到频繁毁坏的离心机可能是由于网络攻击导致的。
2010年11月29日,两位顶尖的伊朗核科学家被暗杀在德黑兰街头。
攻击过程
震网病毒从所处的空间可以分为开发阶段、感染传播阶段和内网破坏阶段。
图3 震网病毒攻击过程
在开发阶段,为了能够精准的定位和打击目标,即从全球网络空间,到伊朗网络,到纳坦兹核工厂,到工控现场数据采集与监视控制系统,到工业现场的离心机,以及最终执行攻击并隐藏故障发生的情况,需要以来一系列情报和专业知识进行支撑。
这其中涉及到的情报包括但不限于:
- 伊朗核工业的采购供应链信息,工控软件、打印机、离心机、办公软件、铀浓缩离心机等;
- 伊朗核工业的网络架构信息,部分网络拓扑、分区隔离情况、网络资产、隔离设备、防病毒情况;
- 伊朗核工业的人员信息,行政人员、安保人员、科研人员、工程师、运维人员、供应链人员等;
- 战略资源,包括0day漏洞、数字证书、设备样机等。
涉及到的专业知识包括但不限于:
- 计算机相关知识,包括网络协议、数据库、安全漏洞、数字证书、远程访问、防病毒、安全审计、告警机制等;
- 工业控制系统专业知识,包括SCADA系统、PLC、工控协议、组态软件等;
- 核工业专业知识,铀浓缩离心机、物理环境要求等;
想要获取上述的资源,单凭个人、或是一般的攻击组织几乎是不可能获取的,根据报道,该计划可能得到美国、以色列、荷兰、德国、法国等国家相关机构的支持,最终,通过物理渗透,不断收集情报,改进工具,持续对抗,最终实现对伊朗核工业的破坏。
在感染传播阶段,战略目标是在全球网络空间中定位伊朗的核工业设施,对其进行物理隔离突破。公网传播阶段包括了三个过程,一个是目标定位过程,二是物理隔离突破的感染过程,三是通过蠕虫代码的提权和传播过程。
在多个报告中,物理隔离突破的过程是一致的,即通过执行快捷方式文件解析漏洞(MS10-046)实现,该漏洞利用Windows平台显示图标信息调用资源时加载DLL文件的过程,由于图标的加载是自动执行的,所以攻击者将恶意代码挂载在图标加载的驱动程序中进行隐藏,在加载指定DLL文件时进行触发,从而实现U盘和电脑之间的相互感染,突破物理隔离。
然而,对于目标定位的过程却存在多种说法,主要原因时震网所表现出来的大范围感染现状,与其苛刻严谨的执行环境筛选设计之间的矛盾。从今天的视角看,要突破物理隔离,可以采用鱼叉、水坑等社会工程学攻击针对特定人员进行定向诱导。而事实上,震网病毒一方面感染约45000个网络,并且感染设备会反馈其位置和设备信息到指定C&C,病毒本身在网络上也存在多个版本;另一方面,震网病毒60%的受害主机位于伊朗境内,对其样本的逆向显示其攻击目标具有极强的针对性,会对操作系统位数、版本、注册表进行识别,以甄别攻击目标。
2010年前后的报告普遍认为震网采用了广泛感染、定向攻击的方式,通过0day漏洞在网络空间中大范围感染设备,直到U盘被工作人员带入核电站的内部计算机中,载荷成功植入,返回成功感染的信息,这种大胆的方式基于对0day漏洞战略资源的绝对信心,以及对网络空间的绝对掌控,属于技术流的攻击方式。2019年的报告提出震网病毒依靠荷兰情报人员在攻击方的要求下招募人员,伪装成维修工人接触到了核电站内部电脑以达到物理隔离的突破。
无论是上面哪一种目标识别方式,可以确定的是,在震网病毒植入核电站内部网络后,会进一步进行提权和传染,以识别安装工控系统组态软件的目标主机,该过程利用了RPC 远程执行漏洞(MS08-067)与提升权限漏洞,以及打印机后台程序服务漏洞(MS10-061),这两个漏洞均通过构造请求获取任意权限,实现震网蠕虫在内网中的传播。最终通过判断受感染主机中的注册表信息,判断该主机是否安装WinCC工控组态软件,在震网蠕虫感染后,通过构造台湾瑞昱及智微的数字签名以躲避防病毒软件的查杀。
在内网攻击阶段中。震网病毒一旦识别到WinCC系统,则展开攻击。WinCC(SIMATIC Windows Control Center)视窗控制中心,是能够运行在Windows平台下的SCADA系统,采集PLC上的运行数据,并对工控过程的异常进行告警,是操作人员与工业过程之间的人机接口。在攻击过程中,首先通过硬编码中储存的默认用户名和口令获取系统SQL数据库的控制权限,其次,在WinCC执行Step7软件过程中,针对DLL加载过程进行攻击,实现查询、读取数据的替换。
攻击团队基于核工业的相关知识,将攻击目标定位在铀浓缩离心机上特定的变频器上,离心机是高度精密的仪器,通过高速旋转来实现核材料的浓缩提纯,低浓缩铀用于发电,纯度超过90%即为武器级核材料,用于制造核武器。根据相关的报告,“震网”病毒潜入伊朗核设施后,先记录系统正常运转的信息,等待离心机注满核材料,才开始展开攻击。共实施了两种攻击,一种是通过关闭随机数量的离心机上的出口阀门,致使铀能进不能出,通过提升离心机内部压力,损坏离心机;另一种是随机提高离心机转速到超出设计范围,再降低,破坏离心机本身和萃取过程。两种方式均取得了很好的效果,致使伊朗近1/5的离心机毁坏,使得伊朗核计划倒退两年。
Mandiant公司最早开始APT攻击的研究,建立了如图所示的APT生命周期模型,共包括初始攻击、建立立足点、权限提升、内部侦查、横向拓展、持续控制、目标达成七个阶段。其中,根据目标系统的复杂情况不同,权限提升、内部侦查、横向拓展、持续控制四个阶段会循环进行。采用该模型对震网病毒进行描述。
图4 APT攻击生命周期模型
表1 震网攻击过程描述
阶段 | 执行过程 | 工具方法 |
初始攻击 | 1. 收集目标情报,确认攻击资产 2. U盘与主机相互传播,大面积感染 | U盘 |
建立立足点 | 3. 通过U盘摆渡,突破物理隔离 4. 与外部C&C建立连接 | U盘摆渡 0day:MS10-046 |
权限提升 | 5. 加载可信的数字证书 6. 提升驻足点控制权限,搜集环境信息 | 0day:MS08-067 数字证书 |
内部侦查 | 7. 执行蠕虫病毒,在内部进行扫描 | 0day:MS08-067 |
横向拓展 | 8. 识别WinCC系统 9. 拷贝蠕虫病毒副本 | 0day:MS10-061 0day:MS08-067 |
持续控制 | 10. 静默搜集正常运行信息 11. 获取西门子工控上位机权限 | 0day:硬编码漏洞 0day:dll加载漏洞 |
目标达成 | 12. 劫持离心机与工控系统间通信 13. 执行攻击代码,造成工业过程失控 | 攻击载荷 |
Stuxnet和APT
与震网病毒同时期产生的还有APT(高级持续性威胁,Advanced Persistent Threat)攻击的概念,APT这一术语是2006年由美国空军上校格雷戈里·拉特雷首次提出,指某组织对特定对象展开的隐匿而持久的攻击活动。通常是出于商业或政治动机,由某些人员精心策划,针对特定的目标,并在长时间内保持高隐蔽性的威胁。高级长期威胁包含三个要素:高级、长期、威胁。高级强调的是使用复杂精密的恶意软件及技术以利用系统中的漏洞。长期暗指某个外部力量会持续监控特定目标,并从其获取数据。威胁则指人为参与策划的攻击。
APT攻击不是一个技术概念。事实上,业界通过某一攻击事件对高隐蔽、强对抗、组织化、针对性等特性的满足情况来对攻击事件是否属于APT类型进行判定。APT攻击与震网病毒几乎是同时期的产物,很难讲是APT攻击对震网病毒进行了定义,还是震网病毒产生了APT攻击的概念。肯定的是,震网病毒满足了APT攻击涉及到的几乎所有特性,而APT攻击也通过总结震网病毒的特性明确了该种类型攻击的原型。其中:
高隐蔽的特性,震网病毒采用U盘摆渡的方式突破物理空间防御,以及多个0day漏洞和可信的数字证书规避入侵检测,并在程序设计过程中谨慎甄别蠕虫病毒所处的环境以限制破坏范围,在对物理设备破坏的过程中将破坏现场伪装成设备故障,具有极高的隐蔽性。
持续性方面,根据根据最早注册的C&C域名时间推测,攻击可能持续了5~6年之久,在不断的收集信息、制定策略、开发攻击代码、验证攻击效果的循环迭代中,逐级渗透,隐蔽破坏,攻击团队依赖强大的情报资源和专业技能,很有耐心的执行了此次攻击。
组织化方面,通过对获取到的病毒程序分析,其简洁、高效、严密的代码逻辑使得难以从程序代码中推测出攻击组织的信息,但为了达到当前已知的攻击效果,其所依赖的攻击资源、情报信息和专业知识,已经远非一般的网络黑客所能具备,结合攻击目标的战略地位,能对攻击组织有较为准确的推断。
针对性方面,主要表现为攻击目标是直接针对伊朗的核工业设施,尤其结合当时国际复杂的政治、军事环境,其攻击效果直接导致伊朗核计划拖延。
攻击总结
在攻击发生了十多年间,政府组织、安全机构、媒体资讯等机构通过各自的信息渠道,结合专业知识,将震网病毒从政治、军事、工业、核能、网络安全等角度描绘出了一个较为清晰的轮廓,但震网病毒真实的框架构成、详细的设计意图、以及具体的攻击过程,即使是经过数十年的分析,依然难以给出准确的描述。但可以确定的是,震网病毒启了一个网络攻击的全新时代。
首先,震网病毒是第一个武器化的网络病毒,自此,网络武器成为了国家间军事对抗的重要手段,网络空间也称为继海、陆、空、天后的第五维战场。在2010年卡巴斯基实验室针对震网病毒的分析中提到:Stuxnet蠕虫是一种十分有效并且可怕的网络武器原型,这种网络武器将导致世界上新的军备竞赛,一场网络军备竞赛时代的到来,攻击者打开了“潘多拉之盒”。这句话一语成谶,自震网病毒产生以来,APT攻击频发,已经成为国家间政治、军事对抗的一种新形态,其中涉及的0day漏洞更是被视为战略资源,多个国家组织的网络对抗演习、科研计划、成果应用,均印证了这一事实。
其次,震网病毒打破了物理隔离能够隔绝一切安全问题的幻想。随着APT攻击能力的提升,不仅仅是核工业,其他重要基础设施,如电力、能源、交通、水利、制造等,从前依赖私有协议、物理隔离所带来的安全防护优势被大大削弱,两化融合加深后,由技术、产品、业务、产业融合带来的安全问题将直接威胁到国家安全。亟需从基础架构,行业法规,到人员意识等方面的提升。
最后,供应链全球化给关键基础设施带来严重威胁。由于各国信息化、互联网技术发展起点不同,欧美等国家能够利用先发优势实现技术垄断,再通过不断营造产业生态,将落后多家的信息化建设纳入到自身已有的技术架构中,包括在基础层面的芯片技术、通信标准、网络协议、操作系统,以及技术生态的工业软件、智能框架、核心算法、移动互联网产业链等。此类基础产业的不受控不仅会导致未知风险通过供应链被带入信息系统,还会导致上层应用像空中楼阁一般,随时被釜底抽薪。
参考文献
Last-minute paper: An indepth look into Stuxnet
卡巴斯基实验室深度分析Stuxnet蠕虫
Stuxnet Under the Microscope
Stuxnet - Infecting Industrial Control Systems
对 Stuxnet 蠕虫攻击工业控制系统事件的综合分析报告
Zero Days