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

311,078 views ・ 2011-03-29

TED


Dubbelklicka på de engelska undertexterna nedan för att spela upp videon.

Översättare: Anders Björk Granskare: Matti Jääaro
00:15
The idea behind the Stuxnet computer worm
0
15260
3000
Idén bakom datamasken Stuxnet
00:18
is actually quite simple.
1
18260
2000
är egentligen ganska simpel.
00:20
We don't want Iran to get the bomb.
2
20260
3000
Vi vill inte att Iran ska få Kärnvapen.
00:23
Their major asset for developing nuclear weapons
3
23260
3000
Deras största tillgång för att utveckla kärnvapen
00:26
is the Natanz uranium enrichment facility.
4
26260
4000
är Natanz urananriktningsanläggning.
00:30
The gray boxes that you see,
5
30260
2000
De gråa lådorna som ni ser,
00:32
these are real-time control systems.
6
32260
3000
dessa är realtidsstyrsystem.
00:35
Now if we manage to compromise these systems
7
35260
3000
Om vi lyckas sätta dessa system ur spel
00:38
that control drive speeds and valves,
8
38260
3000
som styr rotationshastigheter och ventiler,
00:41
we can actually cause a lot of problems
9
41260
3000
kan vi faktiskt skapa en massa problem
00:44
with the centrifuge.
10
44260
2000
med centrifugen.
00:46
The gray boxes don't run Windows software;
11
46260
2000
På de gråa lådorna körs inte Windows;
00:48
they are a completely different technology.
12
48260
3000
det är en helt annan teknologi.
00:51
But if we manage
13
51260
2000
Men klarar vi av
00:53
to place a good Windows virus
14
53260
3000
att placera ett ordentligt Windowsvirus
00:56
on a notebook
15
56260
2000
på en bärbar dator
00:58
that is used by a maintenance engineer
16
58260
2000
som används av en systemingenjör för
01:00
to configure this gray box,
17
60260
3000
att konfigurera den här gråa lådan,
01:03
then we are in business.
18
63260
2000
då är vi hemma.
01:05
And this is the plot behind Stuxnet.
19
65260
3000
Och det här är tillvägagångssättet bakom Stuxnet
01:08
So we start with a Windows dropper.
20
68260
5000
Så vi startar med en Windowsbaserad transportör.
01:13
The payload goes onto the gray box,
21
73260
3000
Lasten [programmet] överförs till den gråa lådan,
01:16
damages the centrifuge,
22
76260
2000
skadar centrifugerna,
01:18
and the Iranian nuclear program is delayed --
23
78260
2000
och det Iranska kärnvapenprogrammet försenas --
01:20
mission accomplished.
24
80260
2000
uppdraget utfört!
01:22
That's easy, huh?
25
82260
2000
Det låter enkelt eller hur?
01:24
I want to tell you how we found that out.
26
84260
3000
Jag vill berätta hur vi tog reda på detta.
01:27
When we started our research on Stuxnet six months ago,
27
87260
3000
När vi startade vår forskning om Stuxnet för sex månader sen,
01:30
it was completely unknown what the purpose of this thing was.
28
90260
3000
var det fullkomligt okänt vad syftet med den här saken var.
01:33
The only thing that was known
29
93260
2000
Den enda sak som var känd
01:35
is it's very, very complex on the Windows part, the dropper part,
30
95260
3000
var att den innehöll en väldigt, väldigt komplex Windowsdel, transportören,
01:38
used multiple zero-day vulnerabilities.
31
98260
3000
använde multipla noll:te-dags sårbarheter.
01:41
And it seemed to want to do something
32
101260
3000
Och den såg ut att vilja göra någonting
01:44
with these gray boxes, these real-time control systems.
33
104260
2000
med de här gråa lådorna, de här realtidsstyrsystemen.
01:46
So that got our attention,
34
106260
2000
Så det fångade vår uppmärksamhet,
01:48
and we started a lab project
35
108260
2000
och vi startade ett laboratorieprojekt
01:50
where we infected our environment with Stuxnet
36
110260
4000
där vi infekterade vår utvecklingsmiljö med Stuxnet
01:54
and checked this thing out.
37
114260
2000
och undersökte den här saken.
01:56
And then some very funny things happened.
38
116260
3000
Och då hände några väldigt roliga saker.
01:59
Stuxnet behaved like a lab rat
39
119260
3000
Stuxnet betedde sig som en labbråtta
02:02
that didn't like our cheese --
40
122260
3000
som inte gillade vår ost --
02:05
sniffed, but didn't want to eat.
41
125260
2000
den luktade, men ville inte äta.
02:07
Didn't make sense to me.
42
127260
2000
Jag kunde inte förstå mig på den.
02:09
And after we experimented with different flavors of cheese,
43
129260
3000
Och efter experimenterande med olika typer av ostar,
02:12
I realized, well, this is a directed attack.
44
132260
4000
Insåg jag, det här är en riktad attack.
02:16
It's completely directed.
45
136260
2000
Den var fullständigt riktad.
02:18
The dropper is prowling actively
46
138260
2000
Transportören skannade aktivt
02:20
on the gray box
47
140260
2000
av den gråa lådan
02:22
if a specific configuration is found,
48
142260
3000
för att se om en specifik konfiguration fanns inuti den,
02:25
and even if the actual program code that it's trying to infect
49
145260
4000
och till och med om det program det försöker infektera med
02:29
is actually running on that target.
50
149260
2000
i själva verket redan körs på målet [gråa lådan].
02:31
And if not, Stuxnet does nothing.
51
151260
3000
Och om inte, gör Stuxnet ingenting.
02:34
So that really got my attention,
52
154260
2000
Så det här fångade verkligen min uppmärksamhet,
02:36
and we started to work on this
53
156260
2000
och vi började jobba på det här
02:38
nearly around the clock,
54
158260
2000
nästan dygnet runt,
02:40
because I thought, "Well, we don't know what the target is.
55
160260
3000
för att jag insåg, nåväl, vi vet inte faktiskt vad som är målet.
02:43
It could be, let's say for example,
56
163260
2000
Det skulle kunna vara, låt oss säga till exempel,
02:45
a U.S. power plant,
57
165260
2000
ett Amerikansk kraftverk,
02:47
or a chemical plant in Germany.
58
167260
2000
eller en kemifabrik i Tyskland.
02:49
So we better find out what the target is soon."
59
169260
3000
Så det är nog bäst att vi fort listar ut vad målet är.
02:52
So we extracted and decompiled
60
172260
2000
Så vi extraherade och dekompilerade
02:54
the attack code,
61
174260
2000
attackkoden,
02:56
and we discovered that it's structured in two digital bombs --
62
176260
3000
och vi upptäckte att den var strukturerad som två digitala bomber --
02:59
a smaller one and a bigger one.
63
179260
3000
en mindre och en större.
03:02
And we also saw that they are very professionally engineered
64
182260
4000
Och vi såg också att de var väldigt professionellt gjorda
03:06
by people who obviously had all insider information.
65
186260
4000
av folk som uppenbarligen hade tillgång till all insider-information.
03:10
They knew all the bits and bites
66
190260
2000
De kände till alla bitar och bytes
03:12
that they had to attack.
67
192260
2000
som de var tvungna att attackera.
03:14
They probably even know the shoe size of the operator.
68
194260
3000
De visste troligtvis till och med vilken skostorlek operatören hade.
03:17
So they know everything.
69
197260
2000
Så de visste alltså allting.
03:19
And if you have heard that the dropper of Stuxnet
70
199260
3000
Och om ni har hört att transportören av Stuxnet
03:22
is complex and high-tech,
71
202260
2000
är komplex och högteknologisk
03:24
let me tell you this:
72
204260
2000
låt mig berätta det här:
03:26
the payload is rocket science.
73
206260
2000
lasten är på raketforskningsnivå.
03:28
It's way above everything
74
208260
2000
Den är på en nivå långt över allt
03:30
that we have ever seen before.
75
210260
3000
som vi överhuvudtaget sett förut.
03:33
Here you see a sample of this actual attack code.
76
213260
3000
Här kan du se ett smakprov av den verkliga attackkoden.
03:36
We are talking about --
77
216260
2000
Vi talar om --
03:38
around about 15,000 lines of code.
78
218260
3000
i runda slängar 15.000 rader kod.
03:41
Looks pretty much like old-style assembly language.
79
221260
3000
Det ser ganska likt ut gammaldags assemblerspråk.
03:44
And I want to tell you how we were able
80
224260
2000
Och vill tala om hur det var möjligt för oss
03:46
to make sense out of this code.
81
226260
2000
att få ut något vettigt av denna kod.
03:48
So what we were looking for is, first of all, system function calls,
82
228260
3000
Så det vi tittade efter först var anrop av systemfunktioner,
03:51
because we know what they do.
83
231260
2000
eftersom vi visste vad de gör.
03:53
And then we were looking for timers and data structures
84
233260
4000
Och sen tittade vi efter timers och datastrukturer.
03:57
and trying to relate them to the real world --
85
237260
2000
och försökte relatera dem till verkliga världen --
03:59
to potential real world targets.
86
239260
2000
till potentiella verkliga mål.
04:01
So we do need target theories
87
241260
3000
Så vi behövde teorier om vilka målen var
04:04
that we can prove or disprove.
88
244260
3000
som vi kunde bevisa eller förkasta.
04:07
In order to get target theories,
89
247260
2000
För att kunna ta fram dessa målteorier
04:09
we remember
90
249260
2000
drog vi oss till minne att
04:11
that it's definitely hardcore sabotage,
91
251260
2000
eftersom detta definitivt var sabotage på högsta nivå,
04:13
it must be a high-value target
92
253260
2000
så måste det vara ett mål med högt värde,
04:15
and it is most likely located in Iran,
93
255260
3000
och mest troligt lokaliserat till Iran,
04:18
because that's where most of the infections had been reported.
94
258260
4000
eftersom de flesta infektionerna hade rapporterats där.
04:22
Now you don't find several thousand targets in that area.
95
262260
3000
Det går inte att hitta flera tusen mål i det området.
04:25
It basically boils down
96
265260
2000
Det kokar praktiskt taget ned
04:27
to the Bushehr nuclear power plant
97
267260
2000
till Bushehrs kärnkraftverk
04:29
and to the Natanz fuel enrichment plant.
98
269260
2000
och Natanz bränsleanriktningsfabrik.
04:31
So I told my assistant,
99
271260
2000
Så jag bad min assistent,
04:33
"Get me a list of all centrifuge and power plant experts from our client base."
100
273260
3000
"Ge mig en lista på alla centrifug- och kraftverksexperter ur vår klientdatabas."
04:36
And I phoned them up and picked their brain
101
276260
2000
Och jag ringde upp dem och bollade lite idéer med dem
04:38
in an effort to match their expertise
102
278260
2000
i ett försök att matcha deras expertis
04:40
with what we found in code and data.
103
280260
3000
med vad vi hade hittat i koden och datat.
04:43
And that worked pretty well.
104
283260
2000
Och det funkade ganska bra.
04:45
So we were able to associate
105
285260
2000
Så vi lyckades associera
04:47
the small digital warhead
106
287260
2000
den lilla digitala stridsspetsen
04:49
with the rotor control.
107
289260
2000
med rotorstyrningen.
04:51
The rotor is that moving part within the centrifuge,
108
291260
3000
Rotorn är den rörliga delen i centrifugen,
04:54
that black object that you see.
109
294260
2000
det svarta objektet du ser här.
04:56
And if you manipulate the speed of this rotor,
110
296260
3000
Och om du manipulerar farten på denna rotor,
04:59
you are actually able to crack the rotor
111
299260
2000
så kan du i själva verket få rotorn att spricka
05:01
and eventually even have the centrifuge explode.
112
301260
4000
och till slut kommer hela centrifugen att explodera.
05:05
What we also saw
113
305260
2000
Vad vi också såg
05:07
is that the goal of the attack
114
307260
2000
är att målet med attacken
05:09
was really to do it slowly and creepy --
115
309260
3000
i verkligen var att göra det långsamt och krypande --
05:12
obviously in an effort
116
312260
2000
uppenbarligen i ett försök
05:14
to drive maintenance engineers crazy,
117
314260
3000
att driva underhållsingenjörerna till vansinne,
05:17
that they would not be able to figure this out quickly.
118
317260
3000
så att de inte skulle kunna klura ut det hela snabbt.
05:20
The big digital warhead -- we had a shot at this
119
320260
3000
Den stora digitala stridsspetsen -- vi gjorde ett försök
05:23
by looking very closely
120
323260
2000
genom att väldigt noggrant
05:25
at data and data structures.
121
325260
2000
titta på data och datastrukturer.
05:27
So for example, the number 164
122
327260
2000
Så till exempel, talet 164
05:29
really stands out in that code;
123
329260
2000
är något som verkligen står ut i koden;
05:31
you can't overlook it.
124
331260
2000
det går helt enkelt inte att förbise det.
05:33
I started to research scientific literature
125
333260
2000
Jag började forska i vetenskaplig litteratur
05:35
on how these centrifuges
126
335260
2000
om hur de här centrifugerna
05:37
are actually built in Natanz
127
337260
2000
verkligen var installerade i Natanz
05:39
and found they are structured
128
339260
2000
och såg att de var strukturerade
05:41
in what is called a cascade,
129
341260
2000
i något som kallas en kaskad,
05:43
and each cascade holds 164 centrifuges.
130
343260
4000
och varje kaskad består av 164 centrifuger.
05:47
So that made sense, that was a match.
131
347260
2000
Så det verkade vettigt, det passade ihop
05:49
And it even got better.
132
349260
2000
Och det blev till och med bättre.
05:51
These centrifuges in Iran
133
351260
2000
De här centrifugerna i Iran
05:53
are subdivided into 15, what is called, stages.
134
353260
4000
är uppdelade i 15, så kallade steg.
05:57
And guess what we found in the attack code?
135
357260
2000
Och gissa vad vi hittade i attackkoden?
05:59
An almost identical structure.
136
359260
2000
En nästan identisk struktur.
06:01
So again, that was a real good match.
137
361260
3000
Så åter igen, passade det ihop mycket bra.
06:04
And this gave us very high confidence for what we were looking at.
138
364260
3000
Och detta gav oss starkt självförtroende för vad vi verkligen tittade på.
06:07
Now don't get me wrong here, it didn't go like this.
139
367260
3000
Uppfatta mig inte fel nu, det gick inte så lätt.
06:10
These results have been obtained
140
370260
3000
De här resultaten nåddes
06:13
over several weeks of really hard labor.
141
373260
3000
genom många veckors verkligen hårt arbete.
06:16
And we often went into just a dead end
142
376260
3000
Och vi kom ofta till en återvändsgränd
06:19
and had to recover.
143
379260
2000
och var tvungna komma vidare därifrån.
06:21
Anyway, so we figured out
144
381260
2000
Hursomhelst, vi klurade ut
06:23
that both digital warheads
145
383260
2000
att de båda digitala stridsspetsarna
06:25
were actually aiming at one and the same target,
146
385260
2000
verkligen var riktade mot ett och samma mål,
06:27
but from different angles.
147
387260
2000
men från olika vinklar.
06:29
The small warhead is taking one cascade,
148
389260
3000
Den lilla stridsspetsen tar en kaskad,
06:32
and spinning up the rotors and slowing them down,
149
392260
3000
och ökar hastigheten på rotorerna och sen minskar den,
06:35
and the big warhead
150
395260
2000
och den stora stridsspetsen
06:37
is talking to six cascades
151
397260
2000
pratar med sex kaskader
06:39
and manipulating valves.
152
399260
2000
och manipulerar ventiler.
06:41
So in all, we are very confident
153
401260
2000
Så på det stora hela, var vi övertygade
06:43
that we have actually determined what the target is.
154
403260
2000
att vi verkligen hade kommit fram vad målet var.
06:45
It is Natanz, and it is only Natanz.
155
405260
3000
Det är Natanz, och enbart Natanz
06:48
So we don't have to worry
156
408260
2000
Så vi behövde inte oroa oss
06:50
that other targets
157
410260
2000
att andra mål
06:52
might be hit by Stuxnet.
158
412260
2000
skulle bli drabbade av Stuxnet.
06:54
Here's some very cool stuff that we saw --
159
414260
3000
Här några väldigt coola saker som vi såg --
06:57
really knocked my socks off.
160
417260
2000
som verkligen fick mig falla av stolen.
06:59
Down there is the gray box,
161
419260
2000
Här nere är den där gråa lådan,
07:01
and on the top you see the centrifuges.
162
421260
3000
och här upptill ser du centrifugerna.
07:04
Now what this thing does
163
424260
2000
Vad denna sak nu gör
07:06
is it intercepts the input values from sensors --
164
426260
3000
är att den genskjuter indata från sensorerna --
07:09
so for example, from pressure sensors
165
429260
2000
exempelvis från trycksensorerna
07:11
and vibration sensors --
166
431260
2000
och vibrationssensorerna --
07:13
and it provides legitimate program code,
167
433260
3000
och skickar vidare helt "normala" värden,
07:16
which is still running during the attack,
168
436260
2000
som fortfarande körs under attacken
07:18
with fake input data.
169
438260
2000
med falska indata.
07:20
And as a matter of fact, this fake input data
170
440260
2000
Och faktum är, att dessa falska indata
07:22
is actually prerecorded by Stuxnet.
171
442260
3000
i själva verket är förinspelade av Stuxnet.
07:25
So it's just like from the Hollywood movies
172
445260
2000
Så det är precis som i Hollywoodfilmer
07:27
where during the heist,
173
447260
2000
där under en bankkupp,
07:29
the observation camera is fed with prerecorded video.
174
449260
3000
observationskameran matas med en förinspelad video.
07:32
That's cool, huh?
175
452260
2000
Det är allt lite coolt eller hur?
07:35
The idea here is obviously
176
455260
2000
Tanken här är uppenbarligen
07:37
not only to fool the operators in the control room.
177
457260
3000
att inte bara lura operatörerna i kontrollrummet.
07:40
It actually is much more dangerous and aggressive.
178
460260
4000
Den är i själva verket mycket farligare och aggressivare.
07:44
The idea
179
464260
2000
Tanken
07:46
is to circumvent a digital safety system.
180
466260
3000
är att kringgå ett digital säkerhetssystem.
07:50
We need digital safety systems
181
470260
2000
Vi behöver de här digitala säkerhetssystemen
07:52
where a human operator could not act quick enough.
182
472260
3000
där en mänsklig operatör inte kan hinna reagera tillräckligt snabbt.
07:55
So for example, in a power plant,
183
475260
2000
Så till exempel, i ett kraftverk,
07:57
when your big steam turbine gets too over speed,
184
477260
3000
när din stora ångturbin roterar med överhastighet,
08:00
you must open relief valves within a millisecond.
185
480260
3000
så måste man öppna säkerhetsventiler inom en millisekund.
08:03
Obviously, this cannot be done by a human operator.
186
483260
3000
Så uppenbarligen, kan inte det göras av mänsklig operatör.
08:06
So this is where we need digital safety systems.
187
486260
2000
Så det är här vi verkligen behöver digitala säkerhetssystem.
08:08
And when they are compromised,
188
488260
2000
Och när de är satta ur spel,
08:10
then real bad things can happen.
189
490260
3000
kan väldigt hemska saker hända.
08:13
Your plant can blow up.
190
493260
2000
Ditt kraftverk kan flyga i luften.
08:15
And neither your operators nor your safety system will notice it.
191
495260
3000
Och varken dina operatörer eller ditt säkerhetssystem kommer märka det.
08:18
That's scary.
192
498260
2000
Det är skrämmande.
08:20
But it gets worse.
193
500260
2000
Men det blir värre.
08:22
And this is very important, what I'm going to say.
194
502260
3000
Och det här är väldigt viktigt, det jag är på väg att säga.
08:25
Think about this:
195
505260
2000
Tänk er detta.
08:27
this attack is generic.
196
507260
3000
Det här är en generisk attack.
08:30
It doesn't have anything to do, in specifics,
197
510260
4000
Den har ingenting specifikt att göra
08:34
with centrifuges,
198
514260
2000
med centrifuger,
08:36
with uranium enrichment.
199
516260
3000
med urananrikning.
08:39
So it would work as well, for example,
200
519260
3000
Så den hade fungerat lika bra, till exempel,
08:42
in a power plant
201
522260
2000
i ett kraftverk
08:44
or in an automobile factory.
202
524260
3000
eller i en bilfabrik.
08:47
It is generic.
203
527260
2000
Den är generiskt.
08:49
And you don't have -- as an attacker --
204
529260
2000
Och du behöver inte -- som vi denna attack --
08:51
you don't have to deliver this payload
205
531260
3000
behöver inte leverera denna nyttolast
08:54
by a USB stick,
206
534260
2000
med hjälp av ett USB-minne,
08:56
as we saw it in the case of Stuxnet.
207
536260
2000
som vi såg i fallet med Stuxnet.
08:58
You could also use conventional worm technology for spreading.
208
538260
3000
Man skulle kunna använda konventionell datavirusteknologi för spridningen.
09:01
Just spread it as wide as possible.
209
541260
3000
Bara sprida den så brett som möjligt.
09:04
And if you do that,
210
544260
2000
Och om du gör det,
09:06
what you end up with
211
546260
2000
kommer du i slutänden få
09:08
is a cyber weapon of mass destruction.
212
548260
5000
det som är ett cybermassförstörelsevapen.
09:14
That's the consequence
213
554260
2000
Det är konsekvensen
09:16
that we have to face.
214
556260
3000
vi måste stå inför.
09:19
So unfortunately,
215
559260
3000
Så olyckligtvis,
09:22
the biggest number of targets for such attacks
216
562260
3000
ligger det största antalet mål för sådana attacker
09:25
are not in the Middle East.
217
565260
2000
inte i mellanöstern.
09:27
They're in the United States and Europe and in Japan.
218
567260
3000
De är i USA och i Europa och i Japan.
09:30
So all of the green areas,
219
570260
2000
Så alla de här gröna områdena,
09:32
these are your target-rich environments.
220
572260
3000
de är våra mål-rika miljöer.
09:35
We have to face the consequences,
221
575260
3000
Vi måste ta konsekvenserna
09:38
and we better start to prepare right now.
222
578260
3000
och det är bäst att vi börjar förbereda oss nu.
09:41
Thanks.
223
581260
2000
Tack.
09:43
(Applause)
224
583260
6000
(Applåder)
09:49
Chris Anderson: I've got a question.
225
589260
2000
Chris Andersson: Jag har en fråga.
09:53
Ralph, it's been quite widely reported
226
593260
2000
Ralph, det har rapporteras ganska flitigt
09:55
that people assume that Mossad
227
595260
2000
att folk antar att Mossad
09:57
is the main entity behind this.
228
597260
2000
är organisationen som i huvudsak ligger bakom detta.
09:59
Is that your opinion?
229
599260
3000
Är det din åsikt?
10:02
Ralph Langner: Okay, you really want to hear that?
230
602260
2000
Ralph Langner: OK, Vill du verkligen höra detta?
10:04
Yeah. Okay.
231
604260
2000
Jaha. OK.
10:06
My opinion is that the Mossad is involved,
232
606260
3000
Min åsikt är att Mossad är inblandad,
10:09
but that the leading force is not Israel.
233
609260
3000
men att den ledande kraften bakom inte är Israel.
10:12
So the leading force behind that
234
612260
2000
Så den ledande kraften bakom detta
10:14
is the cyber superpower.
235
614260
3000
är en cyber-supermakt.
10:17
There is only one,
236
617260
2000
Det finns bara en,
10:19
and that's the United States --
237
619260
2000
och det är USA --
10:21
fortunately, fortunately.
238
621260
2000
lyckligtvis, lyckligtvis.
10:23
Because otherwise,
239
623260
2000
För i annat fall,
10:25
our problems would even be bigger.
240
625260
3000
skulle våra problem vara till och med ännu större.
10:28
CA: Thank you for scaring the living daylights out of us. Thank you, Ralph.
241
628260
4000
CA: Tack för att du skrämde livet ur oss. Tack Ralph.
10:32
(Applause)
242
632260
2000
(Applåder)
Om denna webbplats

På den här webbplatsen hittar du YouTube-videor som är användbara för att lära sig engelska. Du kommer att få se engelska lektioner som ges av förstklassiga lärare från hela världen. Dubbelklicka på de engelska undertexterna som visas på varje videosida för att spela upp videon därifrån. Undertexterna rullar i takt med videouppspelningen. Om du har några kommentarer eller önskemål kan du kontakta oss via detta kontaktformulär.

https://forms.gle/WvT1wiN1qDtmnspy7