当前位置: 首页 > news >正文

起底震网病毒的来龙去脉

图片

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日

洞源实验室 

相关文章:

起底震网病毒的来龙去脉

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

[杂项]优化AMD显卡对DX9游戏(天谕)的支持

目录 关键词平台说明背景RDNA 1、2、3 架构的显卡支持游戏一、 优化方法1.1 下载 二、 举个栗子(以《天谕》为例)2.1 下载微星 afterburner 软件 查看游戏内信息(可跳过)2.2 查看D3D9 帧数2.3 关闭游戏,替换 dll 文件2…...

服务器没有图形界面没有显示器怎么办

可以用vnc。 vnc是开元的。什么是vnc? 使用vnc 下载vnc和vncserver命令。 每生成一个图形界面就叫做开启session会话。 vnc相关命令: start a new session: vncserver。 如果没有会话,一般从:1开始 端口5901 vncserver :2 #指定会话为:2 端…...

标准化软件实施方案(直接套用即可)

软件实施方案 二、 项目介绍 三、 项目实施 四、 项目实施计划 五、 人员培训 六、 项目验收 七、 售后服务 八、 项目保障措施 软件开发全套资料获取:(本文末个人名片也可直接获取)软件开发全套资料_数字中台建设指南-CSDN博客 软件产品&am…...

云和恩墨海外首秀在吉隆坡召开的2024中国智能科技与文化展览会

作为中马建交50周年官方重点推荐的活动之一,2024中国智能科技与文化展览会(第四届)于5月20至21日在毗邻吉隆坡双子塔的吉隆坡国际会展中心举办。本次展览会获得马来西亚科学技术创新部、马来西亚通讯部、中国驻马来西亚大使馆和马来西亚中华总…...

什么是react

React 是一个用于构建用户界面的 JavaScript 库,由 Facebook(现在的 Meta)开发和维护。它首次发布于2013年,并迅速成为最受欢迎的前端库之一。React 的主要目标是提供一种高效、灵活的方式来构建用户界面,特别是在大型…...

EPIC免费领取《骑士精神2》 IGN9分神作骑士精神2限时免费领

EPIC免费领取《骑士精神2》 IGN9分神作骑士精神2限时免费领 最近Epic一直为玩家们送出各种游戏,从《龙腾世纪审判》到《模拟农场22》,而就在今天,epic又为玩家们送出了IGN评分9分高分的骑士精神2.这款游戏,该游戏是一款由Tripwir…...

【Linux】icmp_seq=1 Destination Host Unreachable

执行ping 命令提示:From 192.168.XX.XX icmp_seq1 Destination Host Unreachable 这个错误消息通常表示以下几种情况之一: 网络连接问题:目标主机可能没有连接到网络,或者网络中的某个路由器无法将数据包转发到目标主机。 目标主…...

java性能优化

系列文章目录 文章目录 系列文章目录前言一、Java后端服务接口性能优化建议1.Java后端服务接口性能优化建议2.如何避免大量创建对象 二、使用步骤1.引入库2.读入数据 前言 提示:这里可以添加本文要记录的大概内容: 一、Java后端服务接口性能优化建议 …...

Apache JMeter操作

中文-新建组配置 测试计划界面介绍 异常信息 右上角那个小三角可以看到jemter的执行信息,如果你的压测执行不了可以去里面看看一般是报错了 用户自定义变量 可以在这里配置压测的全局变量,这样我们在使用的时候就不用传具体的值,传变量的…...

el-table 划入划出方法

<template><div><el-table :data"tableData" style"width: 100%" cell-mouse-enter"handleMouseEnter" cell-mouse-leave"handleMouseLeave"><el-table-column prop"ddd" label"日期2" widt…...

Todesk无法登录,提示服务器断开连接。(已解决)

坐标福建&#xff0c;近一两个月todesk手机端均无法登录&#xff0c;尝试卸载重装&#xff0c;更新等&#xff0c;均无效。也没搜索到有效的解决方案&#xff0c;今天去看了商店的低星评论&#xff0c;发现是针对福建地区的服务器“维护”&#xff0c;考虑到近期复杂的国际形势…...

NDIS小端口驱动(六)

消息信号中断 (MSI) 提供了网络设备及其微型端口驱动程序可以使用的传统基于线路的中断的替代方法。 从 Windows Vista 开始&#xff0c;操作系统支持两种类型的 MSI&#xff1a;PCI V2.2 MSI 和 PCI V3.0 MSI-X。 支持 MSI-X 的微型端口驱动程序可以指定 中断相关性&#xff…...

postgresql insert on conflict 不存在则插入,存在则更新

向一张表执行插入动作&#xff0c;如果插入的字段数据已存在&#xff0c;则执行更新操作&#xff0c;不存在则进行插入操作。 1、创建一张表 CREATE TABLE "user_info" ( "id" int2 NOT NULL, "name" varchar(20) COLLATE "pg_catalog&quo…...

kafka配置消费者重要参数

文章目录 fetch.min.bytesfetch.max.wait.msfetch.max.bytesmax.poll.recordsmax.partition.fetch.bytessession.timeout.ms和heartbeat.interval.msmax.poll.interval.msrequest.timeout.msauto.offset.resetenable.auto.commitpartition.assignment.strategy区间(range)轮询(…...

shell笔记脚本3

执行脚本文件demo2.sh, 观察打印VAR4效果 执行脚本文件后, 在交互式Shell环境打印VAR4, 观察打印VAR4效果 结论 全局变量在当前Shell环境与子Shell环境中可用, 父Shell环境中不可用 小结 自定义变量的分类 自定义局部变量: 就是在一个脚本文件内部使用 var_namevalue 自…...

Kafka消息丢失处理方式,消息丢失与消费失败区别和分别的处理

Kafka 消息丢失的处理方式可以从生产者、Broker 和消费者三个角度来考虑&#xff0c;以确保消息的可靠传递。以下是一些关键的处理措施&#xff1a; Kafka消息丢失处理方式 1. 生产者端的处理方式&#xff1a; 使用生产者确认&#xff08;acks配置&#xff09;&#xff1a;通…...

AI爆文写作:标题需要什么?情绪炸裂,态度要激烈,行为要夸张!

现在这个传播环境下&#xff0c;在公域中&#xff0c;轻声细语&#xff0c;慢慢的说&#xff0c;无法吸引到注意&#xff0c;没有人搭理。 标题要需要情绪张扬&#xff0c;态度激烈&#xff0c;行为夸张&#xff0c;大声喧闹。 唐韧的用户群是互联网产品经理&#xff0c;阅读量…...

Flyway SpringBoot中使用

Flyway 一、 介绍 通过版本化数据库&#xff0c;提高数据库迁移的可靠性。即启动项目时就按版本执行sql脚本&#xff0c;实现数据库自动迁移。 Flyway是一款开源的数据库版本管理工具&#xff0c;它能够实现数据库迁移和版本控制。Flyway通过SQL脚本或Java代码进行数据库变更…...

全志A133 Android10 lcd配置显示硬件参数说明

一&#xff0c;概述 全志平台&#xff0c;通过board.dts来配置一些通用的 LCD 配置参数。 内核板级配置&#xff1a; longan/device/config/chips/a133/configs/b6/board.dts二&#xff0c;硬件参数说明 1. lcd接口参数说明 lcd_driver_name Lcd 屏驱动的名字&#xff08;字…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...