Julio Della Flora

17 de jun de 202019 min

Fault Injection Attacks com Enfase em Ultrassom h2hc

Atualizado: 18 de jun de 2020

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]

    330
    0