Ralph Langner: Cracking Stuxnet, a 21st-century cyber weapon

315,524 views ・ 2011-03-29

TED


請雙擊下方英文字幕播放視頻。

譯者: K. C. Peng 審譯者: Crystal Tu
00:15
The idea behind the Stuxnet computer worm
0
15260
3000
電腦蠕蟲 Stuxnet 背後的概念
00:18
is actually quite simple.
1
18260
2000
其實相當簡單
00:20
We don't want Iran to get the bomb.
2
20260
3000
我們不希望伊朗擁有核武
00:23
Their major asset for developing nuclear weapons
3
23260
3000
而他們能發展核武的主要資產
00:26
is the Natanz uranium enrichment facility.
4
26260
4000
就是Natanz 鈾料濃縮工廠
00:30
The gray boxes that you see,
5
30260
2000
你看到的灰色方塊
00:32
these are real-time control systems.
6
32260
3000
就是即時控制系統
00:35
Now if we manage to compromise these systems
7
35260
3000
現在如果我們真的能操弄系統
00:38
that control drive speeds and valves,
8
38260
3000
控制速度與閥門開關
00:41
we can actually cause a lot of problems
9
41260
3000
那我們就能讓離心機
00:44
with the centrifuge.
10
44260
2000
出各種狀況
00:46
The gray boxes don't run Windows software;
11
46260
2000
這個灰色方塊無法執行 Windows 軟體
00:48
they are a completely different technology.
12
48260
3000
而是用全然不同的科技
00:51
But if we manage
13
51260
2000
但如果我們能
00:53
to place a good Windows virus
14
53260
3000
在筆記電腦中
00:56
on a notebook
15
56260
2000
放個 Windows 的病毒
00:58
that is used by a maintenance engineer
16
58260
2000
而那筆電是設備工程師用來
01:00
to configure this gray box,
17
60260
3000
控制系統的
01:03
then we are in business.
18
63260
2000
那我們就快成功了
01:05
And this is the plot behind Stuxnet.
19
65260
3000
這也就是 Stuxnet 的計畫
01:08
So we start with a Windows dropper.
20
68260
5000
讓我們從 Windows 的釋放程式開始
01:13
The payload goes onto the gray box,
21
73260
3000
使攻擊程式能進入灰色方塊
01:16
damages the centrifuge,
22
76260
2000
破壞離心機
01:18
and the Iranian nuclear program is delayed --
23
78260
2000
就會拖延伊朗的核武計畫
01:20
mission accomplished.
24
80260
2000
任務達成
01:22
That's easy, huh?
25
82260
2000
很容易對吧?
01:24
I want to tell you how we found that out.
26
84260
3000
我想要告訴大家我們是怎麼發現的
01:27
When we started our research on Stuxnet six months ago,
27
87260
3000
我們六個月前開始研究 Stuxnet時
01:30
it was completely unknown what the purpose of this thing was.
28
90260
3000
完全不明白這東西的攻擊目標是什麼
01:33
The only thing that was known
29
93260
2000
只知道這東西
01:35
is it's very, very complex on the Windows part, the dropper part,
30
95260
3000
是非常非常複雜的 Windows 釋放程式
01:38
used multiple zero-day vulnerabilities.
31
98260
3000
使用多個零日攻擊 (註: 指利用軟體未修補漏洞進行攻擊)
01:41
And it seemed to want to do something
32
101260
3000
它似乎想對這些灰色方塊
01:44
with these gray boxes, these real-time control systems.
33
104260
2000
也就是即時控制系統下手
01:46
So that got our attention,
34
106260
2000
所以引起我們的關注
01:48
and we started a lab project
35
108260
2000
開始一個實驗室計畫
01:50
where we infected our environment with Stuxnet
36
110260
4000
我們故意讓系統感染 Stuxnet 的病毒
01:54
and checked this thing out.
37
114260
2000
再試著檢查
01:56
And then some very funny things happened.
38
116260
3000
結果有趣的事發生了
01:59
Stuxnet behaved like a lab rat
39
119260
3000
Stuxnet 就像白老鼠一樣
02:02
that didn't like our cheese --
40
122260
3000
它不喜歡我們的起司
02:05
sniffed, but didn't want to eat.
41
125260
2000
聞了聞, 卻不想吃
02:07
Didn't make sense to me.
42
127260
2000
我覺得這完全沒道理啊
02:09
And after we experimented with different flavors of cheese,
43
129260
3000
我們試過不同口味的起司
02:12
I realized, well, this is a directed attack.
44
132260
4000
才明白這是一個指向性攻擊
02:16
It's completely directed.
45
136260
2000
徹底的指向攻擊
02:18
The dropper is prowling actively
46
138260
2000
釋放程式會主動潛伏在
02:20
on the gray box
47
140260
2000
灰色方塊裡
02:22
if a specific configuration is found,
48
142260
3000
如果它發現一個特定組態
02:25
and even if the actual program code that it's trying to infect
49
145260
4000
甚至是正在嘗試感染的程式
02:29
is actually running on that target.
50
149260
2000
都會確實在目標上執行
02:31
And if not, Stuxnet does nothing.
51
151260
3000
不然 Stuxnet什麼也不做
02:34
So that really got my attention,
52
154260
2000
所以這真的引起我的注意
02:36
and we started to work on this
53
156260
2000
我們沒日沒夜的
02:38
nearly around the clock,
54
158260
2000
進行研究
02:40
because I thought, "Well, we don't know what the target is.
55
160260
3000
因為我們並不知道它的目標為何
02:43
It could be, let's say for example,
56
163260
2000
可能是,打個比方
02:45
a U.S. power plant,
57
165260
2000
美國的核電廠
02:47
or a chemical plant in Germany.
58
167260
2000
或是德國的化工廠
02:49
So we better find out what the target is soon."
59
169260
3000
所以我們最好趕快發現它的目標
02:52
So we extracted and decompiled
60
172260
2000
我們抽出攻擊程式
02:54
the attack code,
61
174260
2000
並進行反組譯
02:56
and we discovered that it's structured in two digital bombs --
62
176260
3000
才發現 它是由兩個 數位炸彈構成的 --
02:59
a smaller one and a bigger one.
63
179260
3000
一個較小 一個較大
03:02
And we also saw that they are very professionally engineered
64
182260
4000
我們也發現 這是非常專業的設計
03:06
by people who obviously had all insider information.
65
186260
4000
設計者顯然知道一切內部資訊
03:10
They knew all the bits and bites
66
190260
2000
他們知道所有需要攻擊的
03:12
that they had to attack.
67
192260
2000
位元和字節
03:14
They probably even know the shoe size of the operator.
68
194260
3000
他們大概還知道控制員的鞋子尺寸
03:17
So they know everything.
69
197260
2000
總之 他們什麼都知道
03:19
And if you have heard that the dropper of Stuxnet
70
199260
3000
如果你們聽過Stuxnet釋放程式
03:22
is complex and high-tech,
71
202260
2000
的高科技與複雜程度
03:24
let me tell you this:
72
204260
2000
讓我肯定地說:
03:26
the payload is rocket science.
73
206260
2000
這病毒根本就像是火箭科技
03:28
It's way above everything
74
208260
2000
艱難得超過
03:30
that we have ever seen before.
75
210260
3000
過去我們所研究的所有程式
03:33
Here you see a sample of this actual attack code.
76
213260
3000
這裡是一小段實際攻擊程式的樣本
03:36
We are talking about --
77
216260
2000
總共約有
03:38
around about 15,000 lines of code.
78
218260
3000
15,000 行的代碼
03:41
Looks pretty much like old-style assembly language.
79
221260
3000
看起來像是舊式機器組合語言
03:44
And I want to tell you how we were able
80
224260
2000
讓我向大家說明
03:46
to make sense out of this code.
81
226260
2000
我們是如何理解這些代碼的
03:48
So what we were looking for is, first of all, system function calls,
82
228260
3000
首先,我們會找出其中電腦系統函式呼叫
03:51
because we know what they do.
83
231260
2000
因為我們知道它們的作用
03:53
And then we were looking for timers and data structures
84
233260
4000
再來找時間控制器與資料結構
03:57
and trying to relate them to the real world --
85
237260
2000
然後試著與真實世界中的運用連結
03:59
to potential real world targets.
86
239260
2000
也就是可能的真實攻擊目標
04:01
So we do need target theories
87
241260
3000
所以我們的確需要推測目標
04:04
that we can prove or disprove.
88
244260
3000
才能進一步證實
04:07
In order to get target theories,
89
247260
2000
為了要找到這個目標
04:09
we remember
90
249260
2000
我們想起
04:11
that it's definitely hardcore sabotage,
91
251260
2000
這會造成極大破壞
04:13
it must be a high-value target
92
253260
2000
一定是高價值的目標
04:15
and it is most likely located in Iran,
93
255260
3000
它非常可能位於伊朗
04:18
because that's where most of the infections had been reported.
94
258260
4000
因為據報大多數感染都在那裡發生
04:22
Now you don't find several thousand targets in that area.
95
262260
3000
現在已經不是數以千計的可能目標
04:25
It basically boils down
96
265260
2000
可以簡單歸納成
04:27
to the Bushehr nuclear power plant
97
267260
2000
Bushehr 核能電廠
04:29
and to the Natanz fuel enrichment plant.
98
269260
2000
以及 Natanz 核鈾料濃縮廠兩個
04:31
So I told my assistant,
99
271260
2000
我跟我的助理說
04:33
"Get me a list of all centrifuge and power plant experts from our client base."
100
273260
3000
"把我們客戶裡了解所有離心機與核電廠的專家列出一張表給我"
04:36
And I phoned them up and picked their brain
101
276260
2000
我一個個親自去電 聽取他們的意見
04:38
in an effort to match their expertise
102
278260
2000
努力把他們的專業知識
04:40
with what we found in code and data.
103
280260
3000
和我們在代碼與資料找到的訊息做比對
04:43
And that worked pretty well.
104
283260
2000
這部份很成功
04:45
So we were able to associate
105
285260
2000
我們確實找出
04:47
the small digital warhead
106
287260
2000
小型數位彈頭
04:49
with the rotor control.
107
289260
2000
與轉子控制間的關聯
04:51
The rotor is that moving part within the centrifuge,
108
291260
3000
而轉子就是離心機內重要的移動單元
04:54
that black object that you see.
109
294260
2000
也就是畫面中黑色物體
04:56
And if you manipulate the speed of this rotor,
110
296260
3000
若能控制轉子轉速
04:59
you are actually able to crack the rotor
111
299260
2000
你就能破壞轉子
05:01
and eventually even have the centrifuge explode.
112
301260
4000
最終甚至導致離心機爆炸
05:05
What we also saw
113
305260
2000
我們也發現
05:07
is that the goal of the attack
114
307260
2000
這攻擊的目的
05:09
was really to do it slowly and creepy --
115
309260
3000
是緩慢而不引人注意的達成目標
05:12
obviously in an effort
116
312260
2000
明顯的要把
05:14
to drive maintenance engineers crazy,
117
314260
3000
維修工程師們逼瘋
05:17
that they would not be able to figure this out quickly.
118
317260
3000
而他們也不能馬上想到這是怎麼一回事
05:20
The big digital warhead -- we had a shot at this
119
320260
3000
而這大型數位彈頭 -- 我們試著
05:23
by looking very closely
120
323260
2000
仔細查看它的
05:25
at data and data structures.
121
325260
2000
資料與資料結構
05:27
So for example, the number 164
122
327260
2000
比如說, 數字164
05:29
really stands out in that code;
123
329260
2000
在代碼裡相當突出
05:31
you can't overlook it.
124
331260
2000
很難忽視它
05:33
I started to research scientific literature
125
333260
2000
我開始研究科學文獻
05:35
on how these centrifuges
126
335260
2000
想了解這些離心機
05:37
are actually built in Natanz
127
337260
2000
是怎樣在Natanz建造的
05:39
and found they are structured
128
339260
2000
也找出他們的結構
05:41
in what is called a cascade,
129
341260
2000
是一層層的
05:43
and each cascade holds 164 centrifuges.
130
343260
4000
每一個層級有 164 個離心機
05:47
So that made sense, that was a match.
131
347260
2000
所以和我們的猜測相符
05:49
And it even got better.
132
349260
2000
我們更發現
05:51
These centrifuges in Iran
133
351260
2000
伊朗的離心機會下分為
05:53
are subdivided into 15, what is called, stages.
134
353260
4000
15個等級
05:57
And guess what we found in the attack code?
135
357260
2000
你猜 我們在程式中找到什麼?
05:59
An almost identical structure.
136
359260
2000
幾乎完全相同的架構
06:01
So again, that was a real good match.
137
361260
3000
又是完美的相符
06:04
And this gave us very high confidence for what we were looking at.
138
364260
3000
這給麼我們很大的信心
06:07
Now don't get me wrong here, it didn't go like this.
139
367260
3000
但別會錯意了 這其實是非常嚴謹的
06:10
These results have been obtained
140
370260
3000
一切都是經由
06:13
over several weeks of really hard labor.
141
373260
3000
好幾週的艱苦努力才得來的
06:16
And we often went into just a dead end
142
376260
3000
我們也常常遇到死胡同
06:19
and had to recover.
143
379260
2000
得重頭做起
06:21
Anyway, so we figured out
144
381260
2000
總之 我們推論出
06:23
that both digital warheads
145
383260
2000
兩個數位彈頭
06:25
were actually aiming at one and the same target,
146
385260
2000
都只針對一個目標
06:27
but from different angles.
147
387260
2000
但從不同角度
06:29
The small warhead is taking one cascade,
148
389260
3000
小彈頭是攻擊其中一個層級的
06:32
and spinning up the rotors and slowing them down,
149
392260
3000
轉子升速與降速
06:35
and the big warhead
150
395260
2000
而大的彈頭
06:37
is talking to six cascades
151
397260
2000
是攻擊6個層級
06:39
and manipulating valves.
152
399260
2000
控制閥門
06:41
So in all, we are very confident
153
401260
2000
簡言之 我們相當有信心
06:43
that we have actually determined what the target is.
154
403260
2000
我們已經找出真正的特定攻擊目標
06:45
It is Natanz, and it is only Natanz.
155
405260
3000
就是Natanz 只會是Natanz
06:48
So we don't have to worry
156
408260
2000
所以我們不用擔心
06:50
that other targets
157
410260
2000
會有其他的目標
06:52
might be hit by Stuxnet.
158
412260
2000
受到 Stuxnet 攻擊
06:54
Here's some very cool stuff that we saw --
159
414260
3000
我們發現一些相當酷的東西
06:57
really knocked my socks off.
160
417260
2000
讓我印象深刻
06:59
Down there is the gray box,
161
419260
2000
在這灰色方塊的下方
07:01
and on the top you see the centrifuges.
162
421260
3000
也就是離心機的上方
07:04
Now what this thing does
163
424260
2000
在這裡,病毒攻擊
07:06
is it intercepts the input values from sensors --
164
426260
3000
攔截感應器的測得數值
07:09
so for example, from pressure sensors
165
429260
2000
像是 壓力感應計
07:11
and vibration sensors --
166
431260
2000
和震動感應器
07:13
and it provides legitimate program code,
167
433260
3000
而病毒攻擊是持續提供正常數值
07:16
which is still running during the attack,
168
436260
2000
使得攻擊發生時 一切看似正常
07:18
with fake input data.
169
438260
2000
但卻是錯誤資料
07:20
And as a matter of fact, this fake input data
170
440260
2000
實際上 這一連串錯誤數值
07:22
is actually prerecorded by Stuxnet.
171
442260
3000
是預藏在 Stuxnet 內的
07:25
So it's just like from the Hollywood movies
172
445260
2000
就像好萊塢電影一樣
07:27
where during the heist,
173
447260
2000
在搶劫時
07:29
the observation camera is fed with prerecorded video.
174
449260
3000
監視器輸出畫面 被換入預錄的影像
07:32
That's cool, huh?
175
452260
2000
很酷吧?
07:35
The idea here is obviously
176
455260
2000
這個想法很明顯的
07:37
not only to fool the operators in the control room.
177
457260
3000
不只是要騙過控制室的操作人員
07:40
It actually is much more dangerous and aggressive.
178
460260
4000
它的目標其實更加大膽與危險
07:44
The idea
179
464260
2000
想要
07:46
is to circumvent a digital safety system.
180
466260
3000
規避數位電子安全系統
07:50
We need digital safety systems
181
470260
2000
我們需要數位電子安全系統
07:52
where a human operator could not act quick enough.
182
472260
3000
來補足人類操控員不夠快的時候
07:55
So for example, in a power plant,
183
475260
2000
舉例說 在電廠中
07:57
when your big steam turbine gets too over speed,
184
477260
3000
當大型蒸氣渦輪轉速過快
08:00
you must open relief valves within a millisecond.
185
480260
3000
你一定要在一毫秒內打開洩壓閥
08:03
Obviously, this cannot be done by a human operator.
186
483260
3000
很明顯這絕不是人類辦的到的
08:06
So this is where we need digital safety systems.
187
486260
2000
所以需要數位電子安全系統
08:08
And when they are compromised,
188
488260
2000
一旦它們被破壞
08:10
then real bad things can happen.
189
490260
3000
真正嚴重的事情就會發生
08:13
Your plant can blow up.
190
493260
2000
電廠可能會爆炸
08:15
And neither your operators nor your safety system will notice it.
191
495260
3000
而且人員和系統都無法及時察覺
08:18
That's scary.
192
498260
2000
這就可怕了
08:20
But it gets worse.
193
500260
2000
更糟的是
08:22
And this is very important, what I'm going to say.
194
502260
3000
接下來要說的是更重要的
08:25
Think about this:
195
505260
2000
想想看
08:27
this attack is generic.
196
507260
3000
這個攻擊是一般性的
08:30
It doesn't have anything to do, in specifics,
197
510260
4000
它不一定要和特定
08:34
with centrifuges,
198
514260
2000
核鈾料廠中的
08:36
with uranium enrichment.
199
516260
3000
離心機有關
08:39
So it would work as well, for example,
200
519260
3000
舉例說吧 它也能適用於
08:42
in a power plant
201
522260
2000
發電廠
08:44
or in an automobile factory.
202
524260
3000
或是汽車工廠
08:47
It is generic.
203
527260
2000
可以被廣泛利用
08:49
And you don't have -- as an attacker --
204
529260
2000
就攻擊形式而言
08:51
you don't have to deliver this payload
205
531260
3000
你不需要藉由
08:54
by a USB stick,
206
534260
2000
USB 碟傳遞病毒載體
08:56
as we saw it in the case of Stuxnet.
207
536260
2000
雖然這是 Stuxnet 預設方式
08:58
You could also use conventional worm technology for spreading.
208
538260
3000
你也可以 用傳統蠕蟲技術來散播
09:01
Just spread it as wide as possible.
209
541260
3000
盡可能的擴散出去
09:04
And if you do that,
210
544260
2000
這麼一來
09:06
what you end up with
211
546260
2000
最後你就有了
09:08
is a cyber weapon of mass destruction.
212
548260
5000
可以造成大規模破壞的數位武器
09:14
That's the consequence
213
554260
2000
那也是我們得面對的
09:16
that we have to face.
214
556260
3000
後果
09:19
So unfortunately,
215
559260
3000
不幸的是
09:22
the biggest number of targets for such attacks
216
562260
3000
大多數的攻擊目標
09:25
are not in the Middle East.
217
565260
2000
不是在中東
09:27
They're in the United States and Europe and in Japan.
218
567260
3000
是在美國 歐洲 與 日本
09:30
So all of the green areas,
219
570260
2000
所有綠色區域
09:32
these are your target-rich environments.
220
572260
3000
就是充滿攻擊目標的地方
09:35
We have to face the consequences,
221
575260
3000
我們得面對這些後果
09:38
and we better start to prepare right now.
222
578260
3000
而且最好現在就開始準備
09:41
Thanks.
223
581260
2000
謝謝大家
09:43
(Applause)
224
583260
6000
(掌聲)
09:49
Chris Anderson: I've got a question.
225
589260
2000
Chris Anderson: 我有個疑問
09:53
Ralph, it's been quite widely reported
226
593260
2000
Ralph, Stuxnet 已經廣為人知
09:55
that people assume that Mossad
227
595260
2000
而人們猜測它背後
09:57
is the main entity behind this.
228
597260
2000
的主使者是 Mossad (以色列特工)
09:59
Is that your opinion?
229
599260
3000
你也是這麼想嗎?
10:02
Ralph Langner: Okay, you really want to hear that?
230
602260
2000
Ralph Langner: 好, 你真的想知道?
10:04
Yeah. Okay.
231
604260
2000
是啊
10:06
My opinion is that the Mossad is involved,
232
606260
3000
我的看法是 Mossad 有參與其中
10:09
but that the leading force is not Israel.
233
609260
3000
但以色列絕不是主導角色
10:12
So the leading force behind that
234
612260
2000
所以背後的主導力量
10:14
is the cyber superpower.
235
614260
3000
就是網路超級大國
10:17
There is only one,
236
617260
2000
也只有一個了
10:19
and that's the United States --
237
619260
2000
那就是美國
10:21
fortunately, fortunately.
238
621260
2000
幸好、幸好
10:23
Because otherwise,
239
623260
2000
不然的話
10:25
our problems would even be bigger.
240
625260
3000
我們的問題會更嚴重
10:28
CA: Thank you for scaring the living daylights out of us. Thank you, Ralph.
241
628260
4000
CA: 謝謝你把我們都給嚇壞了 謝謝 Ralph.
10:32
(Applause)
242
632260
2000
(掌聲)
關於本網站

本網站將向您介紹對學習英語有用的 YouTube 視頻。 您將看到來自世界各地的一流教師教授的英語課程。 雙擊每個視頻頁面上顯示的英文字幕,從那裡播放視頻。 字幕與視頻播放同步滾動。 如果您有任何意見或要求,請使用此聯繫表與我們聯繫。

https://forms.gle/WvT1wiN1qDtmnspy7


This website was created in October 2020 and last updated on June 12, 2025.

It is now archived and preserved as an English learning resource.

Some information may be out of date.

隱私政策

eng.lish.video

Developer's Blog