Baixe o meu e-book sobre Ferramentas para Hardware Hacking em: https://juliodellaflora.com
1
00:00:01,650 --> 00:00:11,639
[Música]
2
00:00:13,130 --> 00:00:20,489
bom pessoal boa noite boa tarde gente já
houveram as apresentações não preciso
3
00:00:20,490 --> 00:00:25,559
ficar me prolongando muitas
apresentações ainda mais hoje que essa
4
00:00:25,560 --> 00:00:30,509
palestra ela teve que se encaixado em
ser recolhida e teoricamente essa
5
00:00:30,510 --> 00:00:35,909
palestra deveria ter mais ou menos 50
minutos a uma hora então eu vou tentar
6
00:00:35,910 --> 00:00:39,389
fazê lo com 40 minutos mas é um pouco
corrido ou diminuir uma introdução para
7
00:00:39,390 --> 00:00:44,878
vocês e gente levanta a mão aí quem já
ouviu falar default injecte um ataque em
8
00:00:44,879 --> 00:00:49,319
hardware ataque de injeção de falha de
hardware beleza umas quatro cinco
9
00:00:49,320 --> 00:00:54,718
pessoas seis legal bastante gente até a
minha idéia aqui é trazer um pouquinho
10
00:00:54,719 --> 00:00:59,189
desse universo relacionado eletrônica
tanto analógica ou digital e trazer para
11
00:00:59,190 --> 00:01:03,689
vocês uma fusão entre o universo
eletrônico o universo da computação mas
12
00:01:03,690 --> 00:01:07,739
mais especificamente na área da
segurança da informação segurança em
13
00:01:07,740 --> 00:01:12,658
hardware é um trending topic e agora que
aí o titular em voga então tem muita
14
00:01:12,659 --> 00:01:18,839
coisa de ot que a gente pode tratar
eu trouxe dois duas provas de conceito
15
00:01:18,840 --> 00:01:23,879
para apresentar a vocês que já estão
aqui meio em dourados e se tudo der
16
00:01:23,880 --> 00:01:28,079
certo vou conseguir mostrar ao vivo as
provas de conceito a vocês
17
00:01:28,080 --> 00:01:33,719
entretanto caso de algo errado elas
estão gravadas em formato gif formato de
18
00:01:33,720 --> 00:01:38,309
vídeo ao total eu tenho se não me engano
são quatro provas de conceito nessa
19
00:01:38,310 --> 00:01:42,118
palestra então uma palestra densa tem
bastante coisa apresentar para vocês e
20
00:01:42,119 --> 00:01:47,188
pouco tempo vamos correr lá é bom vocês
já viram a introdução no meu nome é
21
00:01:47,189 --> 00:01:52,648
julho de uma flora eu sou professor e
coordenador da pós-graduação em ética o
22
00:01:52,649 --> 00:01:58,408
hacking e cyber security na unis iv é
quem tiver interessado em uma poça e
23
00:01:58,409 --> 00:02:05,699
puxando jabá já sou também analista de
segurança da com viso é e aí estão as
24
00:02:05,700 --> 00:02:09,988
minhas referências nessa o bacharel em
computação e fiz especializações e fiz
25
00:02:09,989 --> 00:02:13,409
mestrado também na área
bom gente
26
00:02:13,410 --> 00:02:17,219
como começara iniciando aí com o
objetivo desse grupo de ataques é o que
27
00:02:17,220 --> 00:02:21,269
é objetivo do falte injection dos
ataques de injeção de falha né
28
00:02:21,270 --> 00:02:24,839
o objetivo do falte injection é
basicamente introduzir algum tipo de
29
00:02:24,840 --> 00:02:29,609
falha no alvo com o objetivo de buscar
algum tipo de alteração no comportamento
30
00:02:29,610 --> 00:02:33,509
daquele hardware
então é injetar uma falha para buscar
31
00:02:33,510 --> 00:02:36,089
uma alteração no comportamento padrão do
32
00:02:35,430 --> 00:02:38,309
hardware
esse tipo de falha geralmente ela é
33
00:02:38,310 --> 00:02:44,489
introduzida através de um tipo de
manipulação de condições ambientais e
34
00:02:44,490 --> 00:02:47,579
falasse porra julho mas que tipo de
condição ambiental
35
00:02:47,580 --> 00:02:51,659
vou trazer pra frente pra vocês vão ver
que é manipulação eletromagnética
36
00:02:51,660 --> 00:02:57,749
manipulação elétrica manipulação do
clock manipulação na luz entre outras
37
00:02:57,750 --> 00:03:03,989
vertentes default jackson mas o objetivo
é manipular variáveis do ambiente de
38
00:03:03,990 --> 00:03:08,789
forma que você consiga comprometer um
microcontrolador ou os demais
39
00:03:08,790 --> 00:03:14,879
componentes presentes no alvo
o que acontece é que não só você precisa
40
00:03:14,880 --> 00:03:19,949
ou pode manipular e introduzir falhas
nome que o controlador no processador
41
00:03:19,950 --> 00:03:25,229
você pode também introduzir falhas nos
dispositivos periféricos do
42
00:03:25,230 --> 00:03:29,339
microprocessador como por exemplo uma
memória flash você pode induzir falhas
43
00:03:29,340 --> 00:03:33,929
ou sistema microeletromecânico que o
chamado mês por exemplo os giroscópios e
44
00:03:33,930 --> 00:03:37,859
acelerômetros eu vou mostrar tudo isso
na palestra espero conseguir mostrar pra
45
00:03:37,860 --> 00:03:40,919
vocês tudo isso na palestra
vamos começar com um pouquinho de
46
00:03:40,920 --> 00:03:44,699
história eu já cortei bastante a
história inclusive uma história bem
47
00:03:44,700 --> 00:03:48,899
interessante mas eu cortei bastante ela
para poder caber ea idéia aqui é o
48
00:03:48,900 --> 00:03:53,639
seguinte pessoal
bom vocês conhecem um chip né esse é o
49
00:03:53,640 --> 00:04:00,029
chip de computador bem antigo da época
da década de 80 é década de 90 é alguns
50
00:04:00,030 --> 00:04:03,779
aí são chips da toshiba
vocês podem perceber que quando eu falo
51
00:04:03,780 --> 00:04:08,519
que o chip de computador
o que vocês acham que tudo isso o chip
52
00:04:08,520 --> 00:04:11,909
essa parte preta inteira é o chip do
computador
53
00:04:11,910 --> 00:04:17,208
na verdade o chip do computador é o o o
sistema realmente há o sistema
54
00:04:17,209 --> 00:04:22,918
eletrônico do micro controlador ou do
microprocessador ele essa pastilha
55
00:04:22,919 --> 00:04:26,789
pequena brilhante dentro do chip e toda
essa
56
00:04:26,790 --> 00:04:31,589
o lucro preto é chamado de
encapsulamento é onde o chip fica para
57
00:04:31,590 --> 00:04:38,369
ser protegido de eventuais problemas
eventuais distorções ou de enfim de
58
00:04:38,370 --> 00:04:42,449
qualquer tipo de problema ambiental que
venha a existir como calor é uma
59
00:04:42,450 --> 00:04:47,399
interferência entre outros
então a idéia aqui é que o que acontece
60
00:04:47,400 --> 00:04:52,979
lá em 1970 alguns pesquisadores
descobriram que quando eles encapsula
61
00:04:52,980 --> 00:05:00,059
vão certos circuitos eletrônicos é
algumas poucas partes de urânio eram
62
00:05:00,060 --> 00:05:05,699
colocadas sem querer dentro do
encapsulamento desses micro chips
63
00:05:05,700 --> 00:05:10,739
essas pequenas partes de urânio elas te
caiu nem vocês não sei se conhece o
64
00:05:10,740 --> 00:05:14,279
processo de caimento radioativo da 6ª
série nesta 7ª série
65
00:05:14,280 --> 00:05:20,489
o irã o urânio de cair se não me engano
catório e e libera uma partícula alfa e
66
00:05:20,490 --> 00:05:24,389
essa partícula ou só tem 2 e tem dois
prótons e dois nêutrons e ela é
67
00:05:24,390 --> 00:05:29,429
carregada com a partículas carregadas em
disparada de um elemento radioativo ela
68
00:05:29,430 --> 00:05:33,209
causa alteração no comportamento de um
microcontrolador ou de um
69
00:05:33,210 --> 00:05:35,759
microprocessador
olha que coisa maluca né os cientistas
70
00:05:35,760 --> 00:05:41,309
descobriram isso lá em 1970 depois de
ficarem quase loucos porque os chips são
71
00:05:41,310 --> 00:05:45,659
comportamentos diferentes do que o
imaginado eles não sabiam porque esses
72
00:05:45,660 --> 00:05:50,129
chips de um comportamento diferente e
descobriram que ali duas ou três partes
73
00:05:50,130 --> 00:05:55,289
por milhão de urânio já era suficiente
para gritar o chip para causar beach
74
00:05:55,290 --> 00:05:59,939
flip que seria beach flip é quando o
microcontrolador que é que aquela
75
00:05:59,940 --> 00:06:04,319
instrução aquele bicho seja zero mas
aquele biffle padre vira um então isso é
76
00:06:04,320 --> 00:06:10,889
uma corrupção ou freeze um flip the
beach isso acontecia já desde 1970 e já
77
00:06:10,890 --> 00:06:17,599
estudado desde 1970 inclusive sondas
espaciais que são muito suscetível
78
00:06:17,600 --> 00:06:21,509
suscetíveis a raios cósmicos possuem os
mesmos problemas
79
00:06:21,510 --> 00:06:28,349
uma sonda chamado fogos guti em 2014
caiu na rússia é o projeto foi foi
80
00:06:28,350 --> 00:06:31,799
cancelado e eles acharam que foi um
ataque que é um ataque dos estados
81
00:06:31,800 --> 00:06:37,379
unidos entretanto eles descobriram que
foram raios cósmicos que ultrapassaram a
82
00:06:37,380 --> 00:06:41,909
camadas de blindagem da sonda e
acharam o circuito dela é não
83
00:06:41,910 --> 00:06:45,719
operacional
isso acabou com o projeto de bilhões de
84
00:06:45,720 --> 00:06:48,899
dólares da rússia
simplesmente porque eles não mediram e
85
00:06:48,900 --> 00:06:54,179
não conseguiram fazer o isolamento
apropriado para os raios cósmicos aqui
86
00:06:54,180 --> 00:06:59,099
dentro da nossa atmosfera os raios
cósmicos são bem menores né mas quando a
87
00:06:59,100 --> 00:07:03,059
gente fala de projetos espaciais a gente
tem que levar isso em consideração tudo
88
00:07:03,060 --> 00:07:06,719
isso é apenas uma introdução para que
vocês entendam um pouco o que é esse tal
89
00:07:06,720 --> 00:07:11,189
de ataque de injeção de falha quando
você injeta falha do hardware como eu
90
00:07:11,190 --> 00:07:14,609
falei pra vocês
existem alguns tipos de injeção de falha
91
00:07:14,610 --> 00:07:19,769
alguns deles são por exemplo luz branca
você consegue injetar falhas e citando
92
00:07:19,770 --> 00:07:24,719
certos componentes com luz branca você
consegue disparar feixes de laser e
93
00:07:24,720 --> 00:07:29,459
também inoperável e não utilizar certos
componentes de acordo com a freqüência
94
00:07:29,460 --> 00:07:35,039
do laser com acordo de acordo com a
potência também o clock falte jackson é
95
00:07:35,040 --> 00:07:39,179
quando você modifica altera ou cria
gritos no clock e só vou mostrar pra
96
00:07:39,180 --> 00:07:45,899
vocês na prática é temperatura tensão e
eletromagnetismo segue pela mesma linha
97
00:07:45,900 --> 00:07:51,539
tem certo chips que aquecendo esse chip
ele cria comportamento anômalo por
98
00:07:51,540 --> 00:07:57,059
exemplo tem certo chips que você aquece
e esse chip ele para de gravar
99
00:07:57,060 --> 00:08:00,959
instruções ou para de lei instruções de
uma determinada temperatura então ele
100
00:08:00,960 --> 00:08:05,159
começa só ler instruções ou começa só
agravará instruções em determinada
101
00:08:05,160 --> 00:08:10,109
temperatura tem vários projetos e várias
pesquisas científicas acerca de gestões
102
00:08:10,110 --> 00:08:16,019
de falha com temperatura também há uma
outra coisa que eu ia falar para vocês é
103
00:08:16,020 --> 00:08:20,789
a gente vai abordar um novo tipo de
ataque que começou a ser conhecido nos
104
00:08:20,790 --> 00:08:27,569
últimos anos que são ataques baseados em
ultra som em som de outra freqüência ea
105
00:08:27,570 --> 00:08:32,609
idéia aqui pessoal é que eu comecei a
estudar esse tema quando eu me deparei
106
00:08:32,610 --> 00:08:40,709
com os etf chamado rick waugh km2 em
2016 inclusive pelo site live flow onde
107
00:08:40,710 --> 00:08:47,639
o dono do do blog e o dono do canal do
youtube live overflow ele fazia um rap
108
00:08:47,640 --> 00:08:53,239
aqui pessoal se jogam ctf levanta a mão
aí quem joga já jogou joga stf
109
00:08:53,240 --> 00:08:58,249
esse ct é que você teve baseada em
hardware muito interessante você precisa
110
00:08:58,250 --> 00:09:02,719
da plaquinha do hardware para você
conseguir jogar e você faz o upload do
111
00:09:02,720 --> 00:09:08,028
firmware para conseguir quebrar consegui
achar essas flex que acontece que esse
112
00:09:08,029 --> 00:09:13,309
risco é o rock m2 de 2016
ele não foi jogado por nenhum time
113
00:09:13,310 --> 00:09:16,669
brasileiro então não tem percebido pelo
gráfico não tem nenhum time brasileiro
114
00:09:16,670 --> 00:09:23,629
que jogou pra ser mais exato uma das
chances de encerrar km2 é uma chamada
115
00:09:23,630 --> 00:09:29,389
glitch ataque fiesta que era um falso
injection um ataque de injeção de falhas
116
00:09:29,390 --> 00:09:34,969
que custava 100 pontos ele dava 100
pontos para quem conseguisse quebrar o
117
00:09:34,970 --> 00:09:40,219
que acontece nesse falte get on aqui eu
tenho um arduino já vou começar a parte
118
00:09:40,220 --> 00:09:46,369
prática que para mostrar pra vocês
vou mostrar como cara do bairro flor é o
119
00:09:46,370 --> 00:09:52,579
colega do meu flow fez a a a estrutura
de ataque dele e como eu tentei fazer a
120
00:09:52,580 --> 00:09:57,019
minha baseado na falha de conseguir
reproduzir dele eu conseguir fazer uma
121
00:09:57,020 --> 00:10:01,729
maneira mais simples de conseguir obter
essa flag simplesmente que eu falhei e
122
00:10:01,730 --> 00:10:06,169
obter a flec da maneira mais complexa
que foi a maneira que ele obteve mostrar
123
00:10:06,170 --> 00:10:13,249
aqui para vocês o seguinte eu vou abrir
a câmera do notebook para que vocês
124
00:10:13,250 --> 00:10:21,398
consigam ver então o pessoal
125
00:10:29,670 --> 00:10:32,389
a tirada
126
00:10:33,490 --> 00:10:42,639
percebam e gente aqui um arduino ano né
vocês já ouviram falar ele está
127
00:10:42,640 --> 00:10:48,599
confirmado é especial onde ele está com
uma instrução lupi quando eu coloco ele
128
00:10:48,600 --> 00:10:52,419
e fico lendo a porta serial percebo aqui
que eu estou lendo a porta serial
129
00:10:52,420 --> 00:10:59,889
através de um conector conversor néon
rs232 de um adaptador de serial pra usb
130
00:10:59,890 --> 00:11:05,319
quando eu uso esse adaptador eu consigo
ler o console serial do edu ilan e
131
00:11:05,320 --> 00:11:10,778
através daí eu sei que ele dá uma
instrução de locke que eu vou fazer aqui
132
00:11:10,779 --> 00:11:15,039
agora eu vou conectar o meu e do hino e
meio difícil que vocês percebam que
133
00:11:15,040 --> 00:11:21,219
ficar com o microfone em conectar as
coisas mas a idéia aqui vamos lá eu
134
00:11:21,220 --> 00:11:25,619
conectar o meu eduíno conectar o rs 232
135
00:11:27,100 --> 00:11:34,299
eu já fiz a cagada aqui conectar até
agora mostrar pra vocês o console seria
136
00:11:34,300 --> 00:11:36,838
ao que ele está fazendo
137
00:11:45,660 --> 00:11:50,729
aqui o pessoal que eu vou fazer
por conectar através do comando screen
138
00:11:50,730 --> 00:11:55,489
já ouviram falar desse comando não é pra
acessar o terminal
139
00:12:05,250 --> 00:12:11,439
então deve ter te y é eu preciso dar um
ponto aqui achou ele o w
140
00:12:11,440 --> 00:12:15,419
é o wc h usb né
141
00:12:15,600 --> 00:12:24,969
o pará alpa a vontade que acontece aqui
pessoal é ele tenha um balde rede de 19
142
00:12:24,970 --> 00:12:29,799
200 então vou colocar aqui o banco de
leite 19 200 e vamos ver o que acontece
143
00:12:29,800 --> 00:12:37,569
percebam aí o chip da lockheed que
acontece aqui ou agora sim ficou show de
144
00:12:37,570 --> 00:12:44,739
bola embora não vão precisar segurar o
microfone vai ser linda tabela ainda não
145
00:12:44,740 --> 00:12:48,429
ligou
percebam aí que tá em locke
146
00:12:48,430 --> 00:12:52,569
vocês conseguem imaginar que dentro do
arduino tem uma instrução onde ele está
147
00:12:52,570 --> 00:12:56,769
dentro de um loop e para conseguir a
flag é preciso sair desse lupi
148
00:12:56,770 --> 00:13:00,459
agora imagine como é que eu saio do loop
no hardware que eu posso fazer para
149
00:13:00,460 --> 00:13:06,099
tirar o o software é executado dentro do
hardware de um loop é um negócio meio cá
150
00:13:06,100 --> 00:13:10,479
brozzo nessa nova etapa dentro do raio é
que eu faço com isso tá executado direta
151
00:13:10,480 --> 00:13:21,449
ram times é tão direto o que puder fazer
gol e continuou no loc aqui
152
00:13:23,810 --> 00:13:28,129
o que acontece pessoal é que não leve
overflow ele utilizou uma técnica
153
00:13:28,130 --> 00:13:36,249
chamada voltas falte jackson que é onde
você faz é a atenção cair para baixo da
154
00:13:36,250 --> 00:13:43,989
operação padrão do hardware
então vamos ver lá quando eu chego aqui
155
00:13:43,990 --> 00:13:50,119
funcionando já o microfone ainda não
deva continuar não tá tranquilo por
156
00:13:50,120 --> 00:13:59,559
enquanto é tranquilo daqui a pouco eu
tenho que então percebeu em gent funil
157
00:13:59,560 --> 00:14:06,949
que acontece aqui pessoal é que essa
imagem ela mostra o usuário leve ao fogo
158
00:14:06,950 --> 00:14:11,809
e ele está fazendo utilizando um
hardware fpga para simular uma queda de
159
00:14:11,810 --> 00:14:17,179
tensão quando ele simula esta queda de
tensão ele faz com que certos locais o
160
00:14:17,180 --> 00:14:22,639
microcontrolador funcionem e certos
locais não isso causa certos tipos de
161
00:14:22,640 --> 00:14:28,639
bichos flip e esses bichos clipes é por
padrão vão acabar quebrângulo então ao
162
00:14:28,640 --> 00:14:34,159
objetivo dele é desligar muito
rapidamente a atenção da alimentação do
163
00:14:34,160 --> 00:14:38,479
micro controlador e ligar novamente de
maneira que eu consiga pular um loop
164
00:14:38,480 --> 00:14:47,479
então observe eu vou tentar pular lupi
eu tenho que dizer pra vocês não foi
165
00:14:47,480 --> 00:14:52,639
legal ótico tem que dizer para vocês que
percebam aí ele tem um osciloscópio né a
166
00:14:52,640 --> 00:14:59,899
mesma questão a lot tal e percebam
naquele pedaço pequeno em branco que ele
167
00:14:59,900 --> 00:15:06,079
deu uma queda de tensão essa queda de
tensão é o que propicia a essa falha é o
168
00:15:06,080 --> 00:15:10,219
ataque dessa falha eu também tentei
fazer isso aí tem um gif
169
00:15:10,220 --> 00:15:15,859
eu construí com arduino mas quali e
miseravelmente porque o meu arduino ele
170
00:15:15,860 --> 00:15:21,499
conseguia injetar falhas detenção de 125
nanossegundos eu precisava de mais ou
171
00:15:21,500 --> 00:15:28,159
menos 2 e eu precisava de mais ou menos
64 anos segundos para entrar no loop e
172
00:15:28,160 --> 00:15:31,789
quebrar esse look então não conseguir
fazer com meu irmão mas percebo que a
173
00:15:31,790 --> 00:15:36,379
técnica ali e saía um osciloscópio e
esse é o seu os coppio ele está ligado
174
00:15:36,380 --> 00:15:39,909
maior domínio
estou fazendo atenção cair põe
175
00:15:39,910 --> 00:15:44,749
nanossegundos não é por menos de
milésimos - de de décimos de milésimo
176
00:15:44,750 --> 00:15:48,648
segundo né
então o que acontece
177
00:15:48,649 --> 00:15:53,119
só pra falar pra vocês o amigo do
liverpool conseguiu fazer por volta de
178
00:15:53,120 --> 00:15:57,499
paul jackson eu tentei não consegui
a explicação do voltante fort jackson
179
00:15:57,500 --> 00:16:03,079
tac já expliquei pra vocês é como é que
funciona e mostra pra vocês que tentei
180
00:16:03,080 --> 00:16:08,148
coloquei lá o microcontrolador direto na
placa alimentei direto na placa mesmo
181
00:16:08,149 --> 00:16:11,629
assim eu não tinha velocidade suficiente
para fazer isso tá
182
00:16:11,630 --> 00:16:15,319
o tempo estava se esgotando e eu pensei
assim bom se eu não conseguir fazer por
183
00:16:15,320 --> 00:16:19,159
voltas
que tal fazer por clock com que a idéia
184
00:16:19,160 --> 00:16:24,139
do clube falta em jackson então ele gera
uma base uma uma variação aí que ela é
185
00:16:24,140 --> 00:16:29,119
baseada na má interpretação do clock
vocês sabem que o bloco tem um tempo
186
00:16:29,120 --> 00:16:33,919
definido por se chamar clock como bom
senso porque tem um clock de 16
187
00:16:33,920 --> 00:16:39,049
a mega hits estão 16 milhões de vezes
188
00:16:38,180 --> 00:16:41,329
por segundo
milhões e milhões na mega hertz aquilo
189
00:16:41,330 --> 00:16:46,789
hair 16 milhões de vezes por segundo
a idéia aqui é o injetar pequenas
190
00:16:46,790 --> 00:16:52,879
variações de clock
pra quê quando o injete e se coloque a
191
00:16:52,880 --> 00:16:58,579
instrução que está sendo executada e não
termine de ser executado em uma nova
192
00:16:58,580 --> 00:17:03,559
instrução passe a ser executada isso
cria um pânico geral no software não
193
00:17:03,560 --> 00:17:08,659
sabe mais o que fazer porque ele não
terminou de executar a instrução n e eu
194
00:17:08,660 --> 00:17:14,088
já bati o martelo do clock eles executar
o n mais um tão isso deixa o software
195
00:17:14,089 --> 00:17:19,698
completamente maluco porque o hardware é
baseado em confiança e eu tô trazendo
196
00:17:19,699 --> 00:17:24,529
ali um oscilador de cristal que
teoricamente teria que oscilará 16 mega
197
00:17:24,530 --> 00:17:30,709
hertz ele não está oscilando ele tem
picos de the clock aleatórios além dos
198
00:17:30,710 --> 00:17:35,329
16 mega hertz é exatamente isso que
estou mostrando nesse slide percebam ali
199
00:17:35,330 --> 00:17:39,109
que a seta azul é um pico de oscilação
anômala
200
00:17:39,110 --> 00:17:43,058
então é uma anomalia na freqüência de
geração do clock
201
00:17:43,059 --> 00:17:50,509
aí eu vou mostrar pra vocês ao vivo que
acontece quando a gente faz isso né
202
00:17:50,510 --> 00:17:58,599
dentro da minha da minha plataforma aqui
do meu arduino é eu agora eu tô voltando
203
00:17:58,840 --> 00:18:07,999
pro meu desktop gente sumiu
eu vou tentar não ficar trocando de tela
204
00:18:08,000 --> 00:18:13,549
viu gente trancada no problema pro
pessoal é que assim o troco né de tela e
205
00:18:13,550 --> 00:18:19,009
da ele não percebo aqui pessoal que ele
continua lá em locke e bloc do ok e
206
00:18:19,010 --> 00:18:24,139
blogs né
a idéia é o seguinte o que eu vou fazer
207
00:18:24,140 --> 00:18:27,829
aqui eu vou pegar o meu arduino que
acabei de mostrar pra vocês
208
00:18:27,830 --> 00:18:34,579
ele tem um pequeno cristal um pequeno
cristal oscilador de 16 mega hertz e eu
209
00:18:34,580 --> 00:18:38,749
vou fazer um curto circuito
nesse cristal oscilador de maneira que
210
00:18:38,750 --> 00:18:43,039
eu tente reverter a flag é que eu tenho
que sair do loop do lote para ver o que
211
00:18:43,040 --> 00:18:46,489
tem além desse no pico com tentar fazer
ao vivo não necessariamente vou
212
00:18:46,490 --> 00:18:49,369
conseguir mas vamos lá na esperança é a
213
00:18:48,470 --> 00:18:51,979
última que morre
não vou pegar aqui vou pegar uma agulha
214
00:18:51,980 --> 00:18:58,669
linha aqui um pedacinho de metal e vou
passar ele no meu é o oscilador do meu
215
00:18:58,670 --> 00:19:02,979
cristal oscilador percebam aí vamos ver
se vai dar certo
216
00:19:13,670 --> 00:19:20,089
é só porque a gente quer né aí lá
pessoal eu consegui pular um loop
217
00:19:20,090 --> 00:19:25,789
eu dei um erro na instrução ele
conseguiu pular o loop e além do loop
218
00:19:25,790 --> 00:19:31,039
dessa instrução que seria provavelmente
um raio é uma instrução aeiou é depois
219
00:19:31,040 --> 00:19:33,529
eu vou mostrar pra vocês um código
parecido com esse aqui porque não tem
220
00:19:33,530 --> 00:19:37,849
esse código porque é uma é uma chaminé
então eles não disponibilizam código mas
221
00:19:37,850 --> 00:19:44,659
percebam aí que tá escrito chip lockheed
né e a flag é o ai é mais rir
222
00:19:44,660 --> 00:19:49,009
quer dizer o que eu estou fazendo aqui
né não deveria estar aqui então eu pulei
223
00:19:49,010 --> 00:19:53,899
uma instrução
eu pulei um laço de repetição utilizando
224
00:19:53,900 --> 00:19:58,009
uma falha de hardware e só isso é uma
coisa mais global e não é uma coisa que
225
00:19:58,010 --> 00:20:02,059
vai meu deus do céu eu consigo fazer um
hardware funcionar da maneira que eu
226
00:20:02,060 --> 00:20:06,889
quero inclusive pessoal que desbloqueia
console tem esse tipo de técnica e muito
227
00:20:06,890 --> 00:20:12,229
tempo pessoal que desbloqueou xbox 360 é
mais ou menos a mesma técnica é pessoal
228
00:20:12,230 --> 00:20:17,839
é que burke o nintendo wii eo e depois o
suíte também utilizavam técnicas
229
00:20:17,840 --> 00:20:22,789
parecidas para conseguir o boot é para
conseguir acesso ao kernel loading do
230
00:20:22,790 --> 00:20:26,809
que beleza
vou tirar isso aqui continua pra vocês o
231
00:20:26,810 --> 00:20:30,949
próximo é utilizando um roteador fica um
pouco mais interessante que eu por ser
232
00:20:30,950 --> 00:20:37,839
uma rotina
então gente vou deixar o código aqui ó
233
00:20:38,560 --> 00:20:44,659
desse jeito pra num me ferrar de novo a
apresentação não é tão a idéia aqui eu
234
00:20:44,660 --> 00:20:50,059
fiz um código no arduino depois é
tentando simular esta challenge e
235
00:20:50,060 --> 00:20:54,679
percebam a ikea que faz esse código
mas basicamente nada né é um fórum
236
00:20:54,680 --> 00:21:00,139
dentro e outro fora e ele faz
incrementos depois ele vê o resto do j /
237
00:21:00,140 --> 00:21:05,029
sem se o resto foi 0 ele incremento um
computador quando o incremento esse
238
00:21:05,030 --> 00:21:11,899
contador em teoria ele precisa o
computador precisa dar sempre 2500 um
239
00:21:11,900 --> 00:21:17,719
número de 2.500 inteiro
percebo que acontece aqui no meu arduino
240
00:21:17,720 --> 00:21:22,239
isso já é um exemplo real e agora
infelizmente vou ter que mudar ea gente
241
00:21:22,240 --> 00:21:26,939
tem que fazer o slide ficar full screen
de novo
242
00:21:26,940 --> 00:21:33,209
mas percebo que acontece com o meu
arduino com esse código que é um código
243
00:21:33,210 --> 00:21:36,059
realmente feito um cenário real que pode
existir
244
00:21:36,060 --> 00:21:41,549
observe o que acontece quando utilizou a
mesma técnica no arduino num cenário
245
00:21:41,550 --> 00:21:44,099
real
aí já não é mais o racha flec já não é
246
00:21:44,100 --> 00:21:48,719
mais um ctf né
observe a little utilizando um pedaço de
247
00:21:48,720 --> 00:21:51,899
metal
esse pedaço de metal toco tocando ali as
248
00:21:51,900 --> 00:21:58,529
lides do do meu micro controlador é do
meu cristal senador e percebam que têm
249
00:21:58,530 --> 00:22:06,859
alguns locais que ele o controle ó tá
2425 ele não pode isso ele precisa dar
250
00:22:06,860 --> 00:22:12,299
2.500 ea ltda 2425 então eu pulei
pedaços do look
251
00:22:12,300 --> 00:22:17,809
eu pulei pedaços do incremento né e
então percebeu você consegue fazer um
252
00:22:17,810 --> 00:22:23,999
flip de beach um friso em the beach e
isso funciona também pra sistemas
253
00:22:24,000 --> 00:22:29,219
modernos de arquitetura moderna pode ser
a arm pode servir esportes e x86 vai
254
00:22:29,220 --> 00:22:32,399
funcionar da mesma maneira óbvio que
você tem que saber o que você vai
255
00:22:32,400 --> 00:22:36,209
cutucar né
mas a ideia mas a mesma isso aqui é o
256
00:22:36,210 --> 00:22:41,609
clock você pode fazer por temperatura
por voltas você pode fazer é utilizar o
257
00:22:41,610 --> 00:22:47,129
laser utilizar luz branca utilizar é ela
é o magnetismo entre outros
258
00:22:47,130 --> 00:22:53,849
aqui é o meu segundo cenário onde eu
mostro pra vocês como conseguir uma uma
259
00:22:53,850 --> 00:22:57,839
coisa bem interessante no roteador
através de uma falha que vai se basear
260
00:22:57,840 --> 00:23:02,819
não somente nome que o controlador no
processador mais vai se basear na
261
00:23:02,820 --> 00:23:08,449
transmissão na falha da transmissão
entre a memória flash e um processador
262
00:23:08,450 --> 00:23:16,579
da do do haiti do circuito dodô meu
embarcado no caso é um roteador
263
00:23:16,580 --> 00:23:23,189
a idéia aqui é o seguinte pessoal vou
pegar o roteador e vou ligar o meu
264
00:23:23,190 --> 00:23:31,139
roteador novamente aqui vou lá para a
interface serial de novo gente vai não
265
00:23:31,140 --> 00:23:38,729
dar nenhum problema e aqui vamos lá
vamos nós de novo deixou desligar esse
266
00:23:38,730 --> 00:23:50,668
e é o que eu vou fazer pessoal novamente
screen e barra deve perder y um ponto e
267
00:23:50,669 --> 00:23:58,709
aqui já é outro e se bené usb serial
aqui nós já 15 minutos putz
268
00:23:58,710 --> 00:24:04,019
aqui funciona assim o balde hate 11 52
00
269
00:24:04,020 --> 00:24:10,918
perceba o que acontece quando eu ligo
meu roteador ou ligar rotina normal né
270
00:24:10,919 --> 00:24:14,359
espera um pouquinho e tal
271
00:24:14,850 --> 00:24:18,899
vocês percebam que depois que ele fizer
todo o processo de boot ele vai cair
272
00:24:18,900 --> 00:24:22,979
numa num mano requisito de credencial e
senha
273
00:24:22,980 --> 00:24:27,209
esse requisito de credencial e senha eu
vou ter que colocar uma senha e um login
274
00:24:27,210 --> 00:24:31,439
e uma senha e pode ser que eu não saiba
esse login e sem que eu posso fazer para
275
00:24:31,440 --> 00:24:35,399
tentar vai passar esse roteador
levando em consideração que ele não tem
276
00:24:35,400 --> 00:24:39,689
uma interface de gee tag por exemplo é
porque os filmes do jpeg podem estar
277
00:24:39,690 --> 00:24:42,839
rompidos
não percebo o login e senha não sei o
278
00:24:42,840 --> 00:24:45,449
login e senha
o que eu posso fazer eu posso tentar
279
00:24:45,450 --> 00:24:52,259
gente é corromper as instruções que são
carregados da memória flash processador
280
00:24:52,260 --> 00:24:56,819
corromper essas instruções
eu talvez se eu tiver sorte eu caiu num
281
00:24:56,820 --> 00:25:01,439
console administrativo
o meu limite próximos pode cair numa
282
00:25:01,440 --> 00:25:05,819
chave ruth olha o que acontece então vou
ligar desligar e ligar de novo e agora
283
00:25:05,820 --> 00:25:12,599
eu vou pegar esse pedacinho aqui de
metal e voa a aterrar o chip select da
284
00:25:12,600 --> 00:25:18,119
minha memória flash com o data out são
dois pinos né township select ou aterrar
285
00:25:18,120 --> 00:25:25,199
esses dois e vejam o que acontece agora
liguei-lhe gay vou esperar um pouco e
286
00:25:25,200 --> 00:25:28,879
vou começar a induzir falhas daqui a
pouco
287
00:25:28,880 --> 00:25:34,009
beleza vou começar a reduzir falha agora
vamos ver se vai
288
00:25:35,680 --> 00:25:41,559
olá as quais foi o system erro então
estou causando erros no squash qual se
289
00:25:41,560 --> 00:25:48,369
tem um mês ele não reiniciar né
e se ele não entrar no boot infinito em
290
00:25:48,370 --> 00:25:50,789
um loop infinito
291
00:25:51,850 --> 00:25:56,289
pode ser que eu não consiga na primeira
vez ela não conseguindo a primeira vez
292
00:25:56,290 --> 00:25:59,039
vamos tentar de novo
293
00:25:59,500 --> 00:26:07,779
vamos lá vou esperar mais um pouquinho
né porque ele está carregando que não é
294
00:26:07,780 --> 00:26:13,599
pessoal e carrego quero beleza desemboca
carregado e reunificar francisco fala
295
00:26:13,600 --> 00:26:17,829
pessoal
isso é uma rotina um chute ou da oms
296
00:26:17,830 --> 00:26:21,539
aqui ó né
297
00:26:22,450 --> 00:26:28,569
olha que absurdo né
é incrível porque pensa só mandar um top
298
00:26:28,570 --> 00:26:35,049
que vocês venham rodando status que é
isso aqui
299
00:26:35,050 --> 00:26:39,639
o que acontece é pra dar uma uma ideia
geral para vocês é tem a ver com este
300
00:26:39,640 --> 00:26:44,679
processo que quando ele não consegue
carregar a o software padrão ele põe
301
00:26:44,680 --> 00:26:50,169
padrão administrativamente a a segunda
coisa que vai carregar seria uma ruschel
302
00:26:50,170 --> 00:26:55,389
então aí que eu fiz eu acabei de vai
passar a segurança do roteador é
303
00:26:55,390 --> 00:27:00,639
simplesmente fazendo um curto circuito
nos pinos netão percebam aí é mais ou
304
00:27:00,640 --> 00:27:04,629
menos essa idéia
bom gente agora eu quero passar
305
00:27:04,630 --> 00:27:07,319
rapidinho né
306
00:27:08,440 --> 00:27:14,109
só pra mostrar pra vocês
a beleza mas tem alguma coisa mais
307
00:27:14,110 --> 00:27:18,189
profissional pra gente mexer é tem sim
pra vocês começarem a brincar com isso
308
00:27:18,190 --> 00:27:24,039
eu sugiro pra vocês uma de vela por boyd
nelma uma placa desenvolvimento fpga
309
00:27:24,040 --> 00:27:29,199
geralmente muito boas a fazer qualquer
coisa com o ipva também um arduino pra
310
00:27:29,200 --> 00:27:33,969
você poder brincar com ele a arquitetura
a vr é interessante checar do rio há um
311
00:27:33,970 --> 00:27:40,089
nó james eo daee já é expresse planejar
é outra arquitetura e e obviamente seria
312
00:27:40,090 --> 00:27:44,829
interessante vocês têm um osciloscópio
para saber quando faz o ataque um
313
00:27:44,830 --> 00:27:48,379
analisador lógico para saber quando
quais são os momentos
314
00:27:48,380 --> 00:27:51,709
está carregando o que quer não está
carregando é que o boot carrega o piano
315
00:27:51,710 --> 00:27:54,019
e tal
e quais são os momentos que o qual se
316
00:27:54,020 --> 00:28:00,759
está fazendo é trocando informações nem
entre o processador e memória flash
317
00:28:00,760 --> 00:28:08,529
até aqui tudo bem barato tranqüilo aqui
já fica feio aqui é mais profissional
318
00:28:08,530 --> 00:28:14,419
então observe o preço
isso aqui é um equipamento do pessoal da
319
00:28:14,420 --> 00:28:17,449
skill que é o mesmo pessoal que fez
aquele ctf de hardware
320
00:28:17,450 --> 00:28:22,909
esse pessoal o equipamento deles é
completo com todos os feixes de laser e
321
00:28:22,910 --> 00:28:27,759
tal segmento de laser
ele custa aproximadamente 500 mil euros
322
00:28:27,760 --> 00:28:33,169
mais 50 mil euros de licença por ano
não muito longe da nossa realidade
323
00:28:33,170 --> 00:28:37,549
entretanto chibiu isso foi muito
interessante 250 dólares já é uma
324
00:28:37,550 --> 00:28:42,439
ferramenta legal para fazer clock falte
jackson para fazer voltas pop jackson é
325
00:28:42,440 --> 00:28:45,109
bem legal para quem quiser dar uma
olhada no chip whisper ótima ferramenta
326
00:28:45,110 --> 00:28:49,819
do colinho flynn
depois procure no google agora o pessoal
327
00:28:49,820 --> 00:28:55,779
eu quero causar uma falha não mais no
processador mas sim num dispositivo
328
00:28:55,780 --> 00:28:59,569
microeletromecânico no sistema
microeletromecânico conhecido como mês
329
00:28:59,570 --> 00:29:05,179
que são giroscópios e acelerômetros eu
vou causar e nesse dispositivo que é um
330
00:29:05,180 --> 00:29:11,509
giroscópio chamado de l3 g 4 200 de esse
é e se esse circo tinha aqui ó
331
00:29:11,510 --> 00:29:16,819
aqui é uma imagem ampliada de cada
centímetro 200 nanômetros um nanômetro
332
00:29:16,820 --> 00:29:23,029
não micrômetros e percebam que ele tem
quatro massas de prova essas massas
333
00:29:23,030 --> 00:29:27,589
elas são elas mexem conforme você mexe o
celular como comprar você mexe o
334
00:29:27,590 --> 00:29:33,379
aparelho e essa bolinha aqui ela mexendo
ela cria variações de energia dentro
335
00:29:33,380 --> 00:29:37,429
desse sistema aqui que é mais ou menos
como se fosse um capacitor fazendo com
336
00:29:37,430 --> 00:29:42,289
que você saiba e que posição o celular
está num espaço é assim que funciona um
337
00:29:42,290 --> 00:29:46,759
giroscópio mas fala se em beleza
mas isso aqui é metal e metal entra em
338
00:29:46,760 --> 00:29:51,889
ressonância com qualquer outra coisa no
mundo todo é tentar acertar a freqüência
339
00:29:51,890 --> 00:29:56,359
correta de ressonância desse metal vai
tudo quebrado em um mês exatamente vai
340
00:29:56,360 --> 00:30:02,178
tudo vibrar para essa nova experiência
eu utilizei o meu é gerador de funk
341
00:30:02,179 --> 00:30:07,398
não que é um osciloscópio instar
utilizei um amplificador de áudio e um
342
00:30:07,399 --> 00:30:11,178
alto-falante normal
observe coloquei o meu celular que o
343
00:30:11,179 --> 00:30:19,248
chai homem me 5s plus e percebam pelo
vídeo que acontece quando eu gera uma
344
00:30:19,249 --> 00:30:26,508
onda de 20 mil e quatrocentos hertz
já no espectro ultrassom é porque mais
345
00:30:26,509 --> 00:30:33,768
de 20 mil redes já é outra som é o
ouvido humano em teoria houve até 20.000
346
00:30:33,769 --> 00:30:38,658
hertz beleza
observe o que acontece a uma freqüência
347
00:30:38,659 --> 00:30:44,089
de 20.400 percebam que o meu
oscilloscope o meu giroscópio dentro do
348
00:30:44,090 --> 00:30:48,558
meu celular está vibrando entra em
ressonância junto com freqüência
349
00:30:48,559 --> 00:30:54,618
eu fiz isso no celular mas se eu fizesse
um drone se utilizasse uma arma né de
350
00:30:54,619 --> 00:30:59,628
fecho direcionado e apontasse um drone
este é o ataque mais sólido possível
351
00:30:59,629 --> 00:31:03,829
para esse tipo de tecnologia porque você
está atacando o dispositivo de hardware
352
00:31:03,830 --> 00:31:07,788
não interromper no conexão de wifi
conexão de bluetooth
353
00:31:07,789 --> 00:31:12,768
eu tô falando para o drone que ele está
de ponta-cabeça eu estou deixando maluco
354
00:31:12,769 --> 00:31:17,298
o dispositivo que é responsável por
fazer o drone equilibrar isso derruba
355
00:31:17,299 --> 00:31:23,178
qualquer drone enfim qualquer outro
dispositivo observa em aí esse é bem
356
00:31:23,179 --> 00:31:28,878
interessante também
esse é um robô que ele se auto balanceia
357
00:31:28,879 --> 00:31:34,248
ele é alto balanceado quando já era uma
determinada função de freqüência a
358
00:31:34,249 --> 00:31:39,558
perceba que ele perde o balanço porque o
giroscópio dele começa a vibrar em
359
00:31:39,559 --> 00:31:44,359
ressonância com essa freqüência gerada e
ele acaba caindo parando de funcionar
360
00:31:44,360 --> 00:31:49,158
isso tem uma série de aplicações
esses dias atrás mesmo a gente conseguiu
361
00:31:49,159 --> 00:31:55,638
a gente não é pesquisadores conseguiram
aí utilizar gazelle upra matar iphones 7
362
00:31:55,639 --> 00:31:59,868
para cima vocês viram esta notícia
utilizando gás hélio ele interrompe o
363
00:31:59,869 --> 00:32:03,439
funcionamento do sistema
microeletromecânico dentro do iphone que
364
00:32:03,440 --> 00:32:07,398
era também um sistema
microeletromecânico que era o gerador ou
365
00:32:07,399 --> 00:32:11,449
cristal oscilador do iphone
ele parava de funcionar então quando
366
00:32:11,450 --> 00:32:15,979
você deixa o iphone num ambiente com
muito ele o cristal oscilador do iphone
367
00:32:15,980 --> 00:32:21,349
para de funcionar eo iphone morre
observe só por conta do gás velho essa e
368
00:32:21,350 --> 00:32:27,409
saiu semana passada esse ataque né então
algumas conclusões possíveis pessoal é
369
00:32:27,410 --> 00:32:30,439
possível arbitrar qualquer padrão de
ressonância
370
00:32:30,440 --> 00:32:34,459
nesse celular algo que eu mostrei pra
vocês né com certa facilidade tendo o
371
00:32:34,460 --> 00:32:38,928
hardware necessário e o smartphone
testado é relativamente um modelo
372
00:32:38,929 --> 00:32:43,189
relativamente recente é o meu smartphone
o único que eu tinha em casa para testar
373
00:32:43,190 --> 00:32:46,579
é o texto geralmente com as coisas que
tenho casa em sair comprando um monte de
374
00:32:46,580 --> 00:32:50,869
coisas a fazer prova de conceito então
muitos outros dispositivos que utilizam
375
00:32:50,870 --> 00:32:56,058
os sistemas microeletromecânicos são
chamadas de mães também podem ser
376
00:32:56,059 --> 00:33:01,399
explorados da mesma maneira ou podem ser
explorados é utilizando mais ou menos a
377
00:33:01,400 --> 00:33:06,259
mesma técnica beleza pessoal então a
ideia mas mesmo essa pra aguçar a
378
00:33:06,260 --> 00:33:10,279
vontade de vocês para mexer com hardware
para vocês tenham uma noção geral dos
379
00:33:10,280 --> 00:33:15,649
sistemas de como funcionam as falhas de
gestão em hardware para que vocês têm
380
00:33:15,650 --> 00:33:18,469
uma procurada nisso quando chegar em
casa se tiverem interesse
381
00:33:18,470 --> 00:33:22,428
beleza gente pra a idéia dessa palestra
foi juntar um pouco de eletrônica com
382
00:33:22,429 --> 00:33:27,849
ranking há um raking mais baseada
eletrônica que é uma coisa que o nosso
383
00:33:27,850 --> 00:33:33,499
keynote jogo durante faz muito bem é
dodô grandes estúdios que é o que vai
384
00:33:33,500 --> 00:33:36,979
ter as 8 horas agora no palco principal
esteio principal
385
00:33:36,980 --> 00:33:41,869
então é só um nome muito interessante
para vocês verem o grande mico osman
386
00:33:41,870 --> 00:33:48,199
john fitzpatrick collins o flu entre
outros pesquisadores que são engenheiros
387
00:33:48,200 --> 00:33:52,699
é eletricistas mais focados na área de
hard rock
388
00:33:52,700 --> 00:33:56,869
bom pessoal era isso que eu queria dizer
quem quiser lá conversar comigo pode
389
00:33:56,870 --> 00:34:02,899
adicionar facebook pode mandar e mail
pode me conversar comigo pelo twitter tô
390
00:34:02,900 --> 00:34:09,459
aberto aí a perguntas às vezes demora um
pouco para responder mas é isso aí gente
391
00:34:09,550 --> 00:34:41,999
[Música]
Comments