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

310,465 views ・ 2011-03-29

TED


Моля, кликнете два пъти върху английските субтитри по-долу, за да пуснете видеото.

Translator: Darina Stoyanova Reviewer: Anton Hikov
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
е съоръжението за обогатяване на уран в Натанц.
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
които контролират скоростa на движение и клапаните,
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
да поставим добър Windows вирус
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
И това е историята зад 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
до атомната електроцентрала Бушер
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
Така например, числото 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
всъщност са построени в Натанц
05:39
and found they are structured
128
339260
2000
и установих, че са структурирани
05:41
in what is called a cascade,
129
341260
2000
по начин нарeчен каскада,
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
е свързана с шест каскади
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
могат да бъдат засегнати от 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
Крис Андерсън: Имам един въпрос.
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
(Аплодисменти)
Относно този уебсайт

Този сайт ще ви запознае с видеоклипове в YouTube, които са полезни за изучаване на английски език. Ще видите уроци по английски език, преподавани от първокласни учители от цял свят. Кликнете два пъти върху английските субтитри, показани на всяка страница с видеоклипове, за да възпроизведете видеото оттам. Субтитрите се превъртат в синхрон с възпроизвеждането на видеото. Ако имате някакви коментари или искания, моля, свържете се с нас, като използвате тази форма за контакт.

https://forms.gle/WvT1wiN1qDtmnspy7