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

Ральф Лангнер: Взламывая Стакснет, кибер-оружие 21 века

311,863 views

2011-03-29 ・ TED


New videos

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

Ральф Лангнер: Взламывая Стакснет, кибер-оружие 21 века

311,863 views ・ 2011-03-29

TED


Пожалуйста, дважды щелкните на английские субтитры ниже, чтобы воспроизвести видео.

Переводчик: Nikolay Frolov Редактор: Aliaksandr Autayeu
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
Серые коробки работают не под управлением 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
Вот по такому сценарию и действует Стакснет.
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
Когда мы начали исследовать Стакснет полгода назад,
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
в котором мы заражали нашу компьютерную среду Стакснетом
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
приблизительно о 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
в форме того, что называется каскадом,
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
могут быть поражены Стакснетом.
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
через USB,
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
(Аплодисменты)
Об этом сайте

Этот сайт познакомит вас с видеороликами YouTube, полезными для изучения английского языка. Вы увидите уроки английского языка, преподаваемые высококлассными учителями со всего мира. Дважды щелкните по английским субтитрам, отображаемым на каждой странице видео, чтобы воспроизвести видео оттуда. Субтитры прокручиваются синхронно с воспроизведением видео. Если у вас есть какие-либо комментарии или пожелания, пожалуйста, свяжитесь с нами, используя эту контактную форму.

https://forms.gle/WvT1wiN1qDtmnspy7