起底震网病毒的来龙去脉

图片

2010年,震网病毒被发现,引起世界哗然,在后续的10年间,陆陆续续有更多关于该病毒的背景和细节曝光。今年,《以色列时报》和《荷兰日报》又披露了关于此事件的更多信息,基于这些信息,我们重新梳理了震网病毒的来龙去脉。

伊朗自从上世纪50年代开始便有意开展核计划,但直到本世纪初才在浓缩铀生产有所突破,这得益于巴基斯坦核武器之父阿卜杜勒·卡迪尔·汗(Abdul Qadeer Khan)的帮助,此人在上世纪80年代从一家荷兰公司窃取了离心机的设计图纸,并卖给了伊朗。2003年,美国和英国截获了一艘计划向伊朗运输离心机的利比亚船只,其离心机采用的是德国西门子的Step-7型号。

小布什政府和奥巴马政府认为,如果伊朗被证实发展核武器,以色列可能会对伊朗核设施发动空袭,进而引起一场地区战争。之后,一个名为“奥林匹克运动”的计划开始执行,该计划涉及五个国家的情报机构,包括美国、以色列、荷兰、德国以及英国,该计划的目的是通过投放计算机病毒至伊朗的铀浓缩基地,以破坏或推迟伊朗的核武器计划,也被看作一种兵不血刃的方式。

计划的核心是一款名为Stuxnet的蠕虫病毒,中文称为震网病毒,该病毒的研发始于小布什政府时期,并在奥巴马政府期间被继续执行。根据卡巴斯基事后对于该病毒规模和复杂性的评估,震网病毒至少有10人以上的研发团队,历经2-3年研发,大约花费10亿美金。虽然美国和以色列政府都没有正式承认研发了此病毒,但2011年为庆祝以色列国防军领导人加比·阿什肯纳兹(Gabi Ashkenazi)退休而制作的一段视频中,将震网病毒列为了他领导下的成果之一。

震网病毒的攻击目标伊朗纳坦兹(Natanz)工厂(一所从2000年开始建设的铀浓缩工厂)的Windows系统、Windows系统中控制离心机的西门子软件以及PLC自身的嵌入式软件,当震网病毒感染一台计算机时,它会检查该计算机是否连接到西门子Step-7型号的可编程逻辑控制器(PLC,是计算机与工业机械交互和控制的方式)。如果没有检测到PLC,病毒什么也不做,如果有检测到,那么病毒会改变PLC的编程让离心机不规则旋转,从而损坏离心机。同时通过控制器计算机显示离心机一切工作正常,这就使得工作人员很难检测或诊断出离心机的问题。

震网病毒被设计为可以通过U盘传播,运行时包括了用户模式和内核模式,并窃取和利用两个台湾设备制造商的私钥证书来为病毒的内核程序做数字签名,同时利用了至少四个Windows系统的0-day漏洞:一个Windows快捷方式漏洞、一个打印假后台程序漏洞、两个特权升级漏洞、西门子PLC软件的0-day漏洞。

为了让震网病毒能够进入纳坦兹的铀浓缩工厂的计算机,攻击者通过一些渠道将病毒投放到纳坦兹工厂,这需要在伊朗本地的人员完成,因此荷兰情报机构AIVD在2005年招募了一名伊朗工程师埃里克·范·萨本(Erik van Sabben)作为间谍,此人有技术背景,在伊朗有自己的生意,社会关系强大,并在伊朗有自己的家人,因此是理想的间谍人选。

为了称为纳坦兹工厂的供应商,美国和以色列成立了两家公司尝试成为纳坦兹工厂的供应商,其中一家成功获得了工厂的供应商资质,这名伊朗工程师便以这家公司员工名义开展工作和行动。在此期间,该工程师还向情报机构提供了有关离心机和安装的数据,以便病毒的研发人员能够针对纳坦兹工厂中的系统进行开发。之后,震网病毒通过这名工程师成功完成了投放和植入,并又通过工厂内的计算机完成了相互传播和感染。

最先发现蠕虫病毒影响的外界人士是国际原子能机构(IAEA)的检查人员,他们获准进入纳坦兹设施,他们的部分工作是检查并从铀浓缩工厂中移除受损的离心机,以确保它们不会被用于将铀偷运到其他地区。在纳坦兹这样规模的工厂中,每年大约有800台离心机无法使用。但在2010年,IAEA开始注意到损坏离心机的数量异常之高,一位检查员估计有近1000台离心机无法使用,但IAEA并未意识到这种异常和病毒相关。

2010年,震网病毒被意外传播到了纳坦兹工厂之外的其他计算机中,当时伊朗一个办公室的计算机遇到重启和蓝屏死机的情况,即便重装系统也无济于事,当地的安全专家无法定位问题和原因,于是联系了远在白俄罗斯的反病毒公司工作的朋友谢尔盖.乌拉森(Sergey Ulasen),乌拉森和他的团队经过一整天排查后设法隔离了病毒,并意识到其利用的0-day漏洞之多前所未见,于是将他们的发现公之于众,在安全社区进行分享,震网病毒的存在最终被曝光。

荷兰情报机构招募的间谍工程师埃里克·范·萨本(Erik van Sabben)在计划成功实施后成功逃离了伊朗,并在两周后在迪拜的他家附近死于一场摩托车事故。

震网病毒在2010年被曝光时引起了媒体的广泛关注,时至今日,它仍然是历史上最先进的恶意软件之一。

这款病毒之所以广泛被关注且影响深远,原因包括:

  • 它是世界上第一个数字武器,能够对计算机控制的设备造成物理破坏,开创了通过恶意软件攻击他国基础设施的先例。

  • 它在当时被认为是最复杂的网络战攻击。

  • 它毁掉了伊朗近五分之一的离心机,并导致1000台离心机受损,导致伊朗核计划至少推迟了2年。

  • 它利用四个不同的0-day漏洞进行攻击,这在2010年是非常罕见的,至今仍不常见。

  • 震网病毒的攻击证明物理隔离的网络也是可以通过U盘等人为操作无意识中被攻破。

作者:裴伟伟

2024年5月24日

洞源实验室 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/639585.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 Docker 部署 Jenkins 并设置初始管理员密码

使用 Docker 部署 Jenkins 并设置初始管理员密码 每一次开始,我都特别的认真与胆怯,是因为我期待结局,也能够不会那么粗糙,不会让我失望,所以,就多了些思考,多了些拘束,所以&#xf…

软件测试:功能测试-接口测试-自动化测试-性能测试-验收测试

软件测试的主要流程 一、测试主要的四个阶段 1.测试计划设计阶段:产品立项之后,进行需求分析,需求评审,业务需求评级,绘制业务流程图。确定测试负责人,开始制定测试计划; 2.测试准备阶段&…

不小心丢失mfc140u.dll文件怎么办?mfc140u.dll丢失的解决办法

当您发现mfc140u.dll文件不见了或者受损,别担心,我们可以一起解决这个问题!首先,您可能会注意到一个小提示,当您尝试打开某些程序时,屏幕上会跳出一个消息说“找不到mfc140u.dll”或者“mfc140u.dll文件缺失…

心识宇宙 x TapData:如何加速落地实时数仓,助力 AI 企业智慧决策

使用 TapData,化繁为简,摆脱手动搭建、维护数据管道的诸多烦扰,轻量代替 OGG、DSG 等同步工具,「CDC 流处理 数据集成」组合拳,加速仓内数据流转,帮助企业将真正具有业务价值的数据作用到实处&#xff0c…

Python的selenium爬取

1.selenium 1.1.前言 使用python的requests模块还是存在很大的局限性,例如:只发一次请求;针对ajax动态加载的网页则无法获取数据等等问题。特此,本章节将通过selenium模拟浏览器来完成更高级的爬虫抓取任务。 1.2.什么是seleniu…

学习单向链表带哨兵demo

一、定义 在计算机科学中,链表是数据元素的线性集合,其每个元素都指向下一个元素,元素存储上并不连续。 1.可以分三类为 单向链表,每个元素只知道其下一个元素是谁 双向链表,每个元素知道其上一个元素和下一个元素 …

抖音小店不能做无货源了吗?当然不是,而是玩法更先进了!

大家好,我是电商糖果 自从2023年抖音小店开始严查无货源,不少商家被平台处罚,被逼无奈退出抖音小店。 网上关于抖音小店不能做无货源的声音越来越多。 可是一年多过去,大家渐渐的发现,平台内还是有很多无货源商家&a…

Sping源码(八)—registerBeanPostProcessors

序言 之前我们用大量的篇幅介绍过invokeBeanFactoryPostProcessors()方法的执行流程。 而invokeBeanFactoryPostProcessors的主要逻辑就是遍历执行实现了BeanDefinitionRegistryPostProcesso类(主要是针对BeanDefinition的操作)和BeanFactoryPostProcessor(主要针对BeanFacrot…

spring-boot集成slf4j(二)logback配置详解

一、configuration 根节点:configuration,作为顶级标签, 可以用来配置一些lockback的全局属性,常见的属性如下: (1)scan“true” :scan是否开启自动扫描,监控配置文件更…

XShell-连接-Centos 7

XShell 连接Centos 7 一.准备 安装XShell XShell下载地址: 在虚拟机上安装Centos 7,具体操作自行学习 二.Centos 7的准备 1.网络适配器修改为NAT 2.获取IP 输入命令: ip addr我的Centos 7对外IP为192.168.174.129 三.XShell连接Cento…

Big Demo Day第十三期活动即将启幕,Web3创新项目精彩纷呈,PEPE大奖等你抽取

5月28号在香港数码港 Big Demo Day第十三期 活动即将拉开帷幕,活动将汇集众多Web3领域的创新项目,为参会者带来一场科技与智慧交融的盛宴。在这里,你不仅能深入了解区块链、AI等前沿技术的最新应用,还能有机会赢取丰厚的PEPE大奖。…

使用maven-helper插件解决jar包冲突

发现问题 maven-helper分析问题 如上所述,问题就是依赖版本冲突了,出现版本冲突的原因是因为由于Maven具有依赖传递性,所以当你引入一个依赖类的同时,其身后的依赖类也一起如过江之鲫纷至沓来了。 举个例子:   A依赖…

保护元件-详实的熔断器(保险丝)知识

目录: 一、汽车保险丝设计与选型 1、概述 2、构造及工作原理 1)构造 2)工作原理 3)保险丝熔断及分断时间 4)时间/电流特性曲线 5)环境温度修正系数 3、熔化热能值I2t★ 4、三种电流模型 1&a…

废物回收机构|基于SprinBoot+vue的地方废物回收机构管理系统(源码+数据库+文档)

地方废物回收机构管理系统 目录 基于SprinBootvue的地方废物回收机构管理系统 一、前言 二、系统设计 三、系统功能设计 1管理员功能模块 2 员工功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍…

瑞芯微RV1126——人脸识别框架分析

项目核心是在Linux平台上利用摄像头采集人脸,并进行人脸识别。这个项目使用的是FFMPEGOPENCV虹软框架完成。 FFMPEG的主要工作是负责采集摄像头的数据并把摄像头数据发送给opencv。 Opencv的主要工作则是把摄像头数据转换成矩阵数据。 虹软的主要功能则是利用Open…

K8s 二进制部署---下篇(多master节点 负载均衡 高可用)

一 master02 节点部署 master01192.168.11.5kube-apiserver,kube-controller-manager,kube-scheduler,etcdmaster02192.168.11.12kube-apiserver,kube-controller-manager,kube-scheduler,etcdnode01192.1…

WebGL渲染引擎优化方向——渲染帧率的优化

作者:caven chen 对此内容感兴趣还可以看前文: WebGL渲染引擎优化方向——加载性能优化 前言 WebGL 是一种强大的图形渲染技术,可以在浏览器中快速渲染复杂的 3D 场景。但是,由于 WebGL 的高性能和高质量要求,如果…

白嫖免费图床!CloudFlare R2太香了!

1 为啥要折腾搭建一个专属图床? 技术大佬写博客都用 md 格式,要在多平台发布,图片就得有外链后续如博客迁移,国内博客网站如掘金,简书,语雀等都做了防盗链,图片无法迁移 2 为啥选择CloudFlare…

记录一个写SpringBoot中Hive数据可以正常提取但无法存到MySQL的bug

【背景】 我正在用SpringBoot框架写一个数据治理项目,目前所处阶段是将hive和hdfs中的元数据提取出来,存储到MySQL中,我的hive和hdfs上的数据存储在三台Linux服务器上(hadoop102-104),MySQL在我本地Window…

运行vue2项目基本过程

目录 步骤1 步骤2 步骤3 补充: 解决方法: node-scss安装失败解决办法 步骤1 安装npm 步骤2 切换淘宝镜像 #最新地址 淘宝 NPM 镜像站喊你切换新域名啦! npm config set registry https://registry.npmmirror.com 步骤3 安装vue-cli npm install…