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

311,863 views ・ 2011-03-29

TED


Please double-click on the English subtitles below to play the video.

00:15
The idea behind the Stuxnet computer worm
0
15260
3000
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
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
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
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
01:08
So we start with a Windows dropper.
20
68260
5000
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
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
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
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
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
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
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
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
04:29
and to the Natanz fuel enrichment plant.
98
269260
2000
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
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
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
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
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
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
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
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
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
08:56
as we saw it in the case of Stuxnet.
207
536260
2000
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
09:53
Ralph, it's been quite widely reported
226
593260
2000
09:55
that people assume that Mossad
227
595260
2000
09:57
is the main entity behind this.
228
597260
2000
09:59
Is that your opinion?
229
599260
3000
10:02
Ralph Langner: Okay, you really want to hear that?
230
602260
2000
10:04
Yeah. Okay.
231
604260
2000
10:06
My opinion is that the Mossad is involved,
232
606260
3000
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
10:32
(Applause)
242
632260
2000
About this website

This site will introduce you to YouTube videos that are useful for learning English. You will see English lessons taught by top-notch teachers from around the world. Double-click on the English subtitles displayed on each video page to play the video from there. The subtitles scroll in sync with the video playback. If you have any comments or requests, please contact us using this contact form.

https://forms.gle/WvT1wiN1qDtmnspy7