-
*35C3 Musica de Abertura*
-
Herald: Então, a próxima palestra se chama
“Smart Home - Smart Hacks"
-
Não sei vocês, sempre tenho
esses problemas de casa
-
mesmo assim, não tenho nada desses aparelhos
mesmo que meus dedos formiguem por isso.
-
Eu adoraria comprá-las, tem ótimas
coisas por aí. Mas não me atrevo
-
e por isso fiquei muito feliz por
poder anunciar esta palestra hoje.
-
Assim eu saberei. Então,
este é Michael Steigerwald e peço
-
que dêem uma grande
salva de palmas. Obrigado.
-
*Aplausos*
-
Michael Steigerwald: Olá. hoje é sobre a lâmpada.
Bem, na verdade não se trata apenas da lâmpada,
-
mas de quase todos os dispositivos
domésticos inteligentes
-
que você possa imaginar,
porque quase tudo contém a mesma coisa. Então
-
por que escolhi a lâmpada É muito simples,
-
a lâmpada é o objeto mais simples
como você pode imaginar,
-
é simplesmente um consumível. Antes
costumava ser só uma lâmpada, hoje
-
tudo tem que ser inteligente e tem que
ter internet e nuvem em tudo.
-
Se isso já estiver na lâmpada,
você pode pensar:
-
Onde mais isso está? . Todo mundo tem medo
de aparelhos com câmeras e microfones.
-
Descobriremos quais os perigos que
-
existem em tal lâmpada. É também sobre o fato de que
-
muitos provedores de nuvem onde você pode facilmente
-
trazer qualquer dispositivo para a nuvem e não precisa de nenhum conhecimento
-
eu dei uma olhada mais de perto em um provedor.
E vamos ver o quão seguro é
-
depois também fazer uma
prova de conceito de vários
-
cenários de ataque e dizer quais consequências
isso tem para o usuário. Certo! Lê na imprensa
-
sobre isso o tempo todo,
casa inteligente e sobre os perigos,
-
o que pode acontecer e
assim por diante e até a Agência de Cybersegurança
-
alertou sobre presentes inteligentes de Natal
antes do Natal. Principalmente
-
na frente de câmeras e dispositivos com microfones.
E como é Natal, pensei que
-
também tinha uma lâmpada inteligente
-
que gostaria de dar a alguém aqui.
Por favor. Agarrou bem.
-
*Aplausos*
-
Sobre minha pessoa: Meu nome é Michael
Steigerwald. Eu sou Desenvolvedor de Hardware
-
e software. Sou particularmente activo
na área da investigação em segurança
-
e a meio do ano fundei uma startup,
a VTRUST GmbH, onde também
-
cuidamos da segurança informática.
A motivação para a minha apresentação
-
foi que um cliente que veio até nós
querendo conectar seu dispositivo inteligente à nuvem
-
e disse:
Essa não é a nossa especialidade. Conhecemos
-
nosso produto, mas não a nuvem e
não com a segurança associada e ela
-
e perguntamos se poderíamos
ajudá-los a conectá-lo à nuvem.
-
E, claro, como sempre faz,
você dá uma olhada ao redor.
-
E aí? Já existem soluções prontas?
Existe algo no mercado que você
-
possa usar pra isso? E então me
deparei com um fornecedor que era ótimo,
-
sim, que já havia trazido mais
de 11 mil produtos diferentes para a nuvem.
-
Com mais de 10.000 fabricantes
em 200 países e mais de 20 bilhões
-
de solicitações por dia. As promessas
deste fabricante também são muito grandes,
-
ele fala de um desenvolvimento rápido
e que você pode fazer uma demonstração
-
em apenas seis horas e iniciar
a produção em massa em apenas 15 dias.
-
Isso parece muito pouco, mas na verdade
eu investiguei um pouco e realmente é.
-
Podem usar a tecnologia para conectar
seus dispositivos à Internet muito rapidamente.
-
E o que eu realmente gostei, claro,
foi que eles prometem segurança de
-
nível militar e falaremos disso mais tarde.
Então, o primeiro passo é se cadastrar.
-
Isso foi feito em 5 minutos
e depois, você pode começar
-
e criar seus dispositivos ou
escolher entre um grande portfólio. Um App OEM
-
para instalar é também bem fácil.
Você pode simplesmente personalizar o aplicativo existente
-
com seus logotipos e cores
e colocá-lo na Internet e
-
nas Play Stores e Apple Store em pouco tempo.
Isso era gratuito há seis meses.
-
Agora custa US$ 1.500 ou mais,
mas você definitivamente
-
não pode programar um aplicativo
com esse dinheiro. Depois de fazer isso,
-
você pode simplesmente solicitar
módulos prontos e/ou dispositivos prontos diretamente.
-
Por exemplo, você pode encomendar
essas lâmpadas diretamente,
-
imprimir sua própria logo nelas e
então se tornar um fornecedor de IoT.
-
Certo. Então. Agora,
quando cliquei neste formulário da web,
-
encontrei uma página que
me deixou um pouco desconfiado.
-
Tem atualizações de firmware e tem
os pontos de atualização silenciosa e atualização forçada.
-
Então pensei, ok, como faz pra
atualizar para uma lâmpada? Em geral,
-
pode ser possível através do aplicativo
ou algo assim,mas ninguém
-
sabe o que realmente acontece na lâmpada.
E eu já tinha encomendado 20 módulos para brincar,
-
mas até que sejam entregues da China,
pensei em usar apenas
-
uma grande transportadora,
eles entregam no dia seguinte e
-
encomendei várias lâmpadas
e também tomadas inteligentes
-
Certo. Então: como funciona?
Isso é simples. Você registra
-
a lâmpada com seu celular. Isso é bem
rápido. Você o coloca no modo
-
de configuração e então
transfere a configuração
-
e a lâmpada se conectará à nuvem
do fabricante via HTTP e MQTT. E
-
você pode desligá-la e ligá-la
porque o MQTT continua rodando
-
e talvez vocês não estejam familiarizados com ele:
MQTT protocolo de mensagens baseado em padrões
-
ou conjunto de regras. Na verdade,
ele é usado em todos os dispositivos IoT.
-
Este é um protocolo sobre controlar
remotamente uma lâmpada que está em
-
algum lugar em uma rede privada. Isso significa
que a própria lâmpada se conecta
-
ao servidor MQTT e pode então, sim,
enviar dados para dispositivos como o status ou
-
também pode ser comutada por meio dele. Então,
agora o primeiro ponto era: o que
-
realmente há nisso? Eu desmontei
alguns diferentes.Na verdade,
-
sempre encontrei um ESP8266. A maioria
das pessoas aqui conhece. É um
-
microcontrolador de 32 bits muito,
muito barato,com WLAN integrado
-
e com 1 MB de flash e também é muito,
muito fácil de ler. Isso significa
-
que simplesmente encontrei os cinco
pontos de contatos, soldei,
-
e conectei-os a uma porta serial. E então
pode-se simplesmente lê-lo com a ferramenta esp e
-
extrair o binário, sim, o firmware.
O que é muito importante é você ficar atento,
-
pois nem sempre os fabricantes da China fazem dessa forma.
-
Isso significa, pode
ter uma fase no terra CC
-
e eu tive que descobrir isso
da maneira mais difícil. Também bem importanta: Atenção,
-
são 230 Volts. Então. Agora li o flash.
Em geral é assim, tem partições
-
diferentes, no começo um
bootloader que está na posição 0.
-
Há duas partições de usuário,
em que está o firmware. Isso ocorre
-
porque há uma função de atualização,
e se então por exemplo: user 1 é
-
inicializado, o usur 2 pode
ser sobrescrito e revertido
-
então há uma partição de configuração
onde, a configuração é mantida,
-
mesmo numa atualização. E então
o que percebi é que meu SSID WiFi
-
e minha senha são armazenadas
sem criptografia na partição de configuração. Então
-
novamente usaram segurança de nível militar.
Você também pode pensar:
-
O que há de tão ruim nisso??
Pessoas que usam smart-lâmpadas
-
no jardim de casa. O vizinho pode
simplesmente pegar a lâmpada
-
e saber as senhas do WiFi.
Há outros usos e
-
não há razão alguma para
armazenar algo assim
-
não criptografado no flash.
Também encontrei várias chaves e códigos.
-
Por exemplo, tem o número de série,
que também é formado a partir
-
do endereço MAC e um prefixo,
depois tem a chave AUZ,
-
que é uma chave que é
usada e que o fabricante conhece
-
o ou o provedor de nuvem sabe que é também
é um verdadeiro módulo dele. E há
-
um ID do produto. Este ID do
produto é gerado quando o produto
-
é criado na nuvem. Ou seja,
anteriormente mostrei esta interface
-
que pode criar produtos facilmente. E
quando eu crio, esse ID do produto
-
é gerado e depois programado
no módulo pelo fabricante.
-
Há também uma chave local e uma chave sec,
que é exatamente como foi chamada
-
no arquivo Jason no Flash. Eles são
responsáveis por criptografar e
-
assinar as comunicações.
Como na verdade só comprei produtos
-
de um fornecedor terceirizado,
pensei sobre isso: Como posso
-
roubar isso? E o que eu pensei foi,
escrever meu ID do produto no Flash
-
no local onde está o ID do produto
e então você tinha que corrigir
-
o CheckSum - você também pode
fazer isso com a ferramenta da esp,
-
ou aquela checksum esp padrão
e coloquei-a de volta na lâmpada
-
e eis que: A lâmpada que comprei
estava na minha conta.Agora fiquei
-
muito surpreso por ter
visto diretamente isso... sim, perfeito!
-
outra vez usaram a segurança de
nível militar. Mas fiquei muito
-
surpreso porque o endereço de
e-mail que usei para me cadastrar
-
foi incluído no assunto. E aí eu
vi que se você entrar em detalhes
-
tem muito mais informação.Portanto,
há o endereço de e-mail vinculativo
-
com os números de série e assim por diante.
Geralmente é um número de telefone celular,
-
caso você tenha se registrado com seu
telefone celular.
-
Também há as coordenadas
e onde você esta. Agora não sei o porque
-
o fabricante ou o revendedor
Preciso saber onde minha lâmpada
-
será usada?! Mas provavelmente
também há razões para isso.Assim se
-
conhece quem liga e desliga
e em que horario faz. Todos
-
conseguem ver isso também. E por padrão
você recebe apenas 7 dias de registros de seus clientes.
-
Mas se você quiser mais, você só precisa
pedir. Depois, há ótimas estatísticas
-
onde você pode ver quantos
clientes ativaram quais dispositivos
-
e quando, para que você possa
simplesmente aproveitar melhor o mercado.
-
Para mim isso foi um pouco estranho e o
meu cliente só precisava proteger
-
os dados dos seus clientes.
E como não tenho ideia de quem
-
pode acessar os dados, simplesmente
escrevi um e-mail para o fabricante
-
e perguntei se você poderia
usar a tecnologia deles sem
-
que os dados fossem enviados
para a nuvem. Porque, como eu disse,
-
também não é bom para o meu cliente
as coordenadas de seus clientes serem
-
armazenadas na nuvem. A resposta foi:
Que não é possível usar esses
-
dispositivos IoT sem a nuvem e a troca
de dados. E eles me garantiram
-
que estavam protegendo os dados
"muito bem". E o que eles também
-
fizeram foi: Imediatamente
me enviaram um documento
-
de como cuidam dos dados do usuário. O princípio é
-
que nos aplicativos sempre
Existem diretrizes de proteção de dados,
-
mas são muito, muito...
longas e confusas.E se eu falasse
-
disso agora, ainda precisaria disso
mais uma hora. Assim isso pode virar uma
-
conversa completamente diferente
e não quero falar mais disso.
-
O Ministério Alemão de CyberSegurança
publicou um relatório de situação
-
em 2018 e depois dividiu-o em
diferentes situações de risco.
-
Primeiro: a situação de ameaça,
onde o usuário dos
-
dispositivos IoT é o alvo e sofre o dano.
E há pontos como manipulação de dados,
-
espionagem de dados,
sabotagem e backdoor em IoT.
-
E a segunda situação de
perigo que ele mencionou foi a situação
-
em que um grupo de pessoas poderiam
ser prejudicadas como resultado,
-
ex a criação de botsnets, roubo de
identidade,Ofuscação, mineração de criptomoeda,
-
fraude de cliques em banners e
assim vai.. E devo dizer destas
-
situações de perigo,
todas podem ser feitas com uma lâmpada.
-
A mineração de criptografia é
um pouco ruim porque o desempenho
-
não é suficiente, mas teoricamente seria
possível. Agora pensei sobre
-
qual poderia ser um possível
cenário de ataque ao usar uma lâmpada.
-
E em geralmente acontece que a lâmpada,
como participante da rede, tem
-
acesso a toda a rede local
e pode até mesmo acessar fotos
-
de férias ou quaisquer
outros dados por meio
-
de envenenamento da tabela ARP e
e enviá-los para um servidor externo.
-
E foi isso que eu fiz então. Então,
basicamente, a primeira ideia era:
-
obter os dados da rede WiFi somente
com o dispositivo, depois envia-los.
-
Fiz e funcionou sem problemas. Então,
resumidamente: qualquer pessoa
-
pode se tornar fabricante e revendedor.
Então, isso demora cinco minutos
-
ou você pode comprar qualquer dispositivo,
conectá-lo ao seu próprio produto e
-
colocá-lo em sua própria
nuvem para poder acessar
-
totalmente os dados. E então,
o próprio provedor de nuvem
-
pode acessar os dados, o
fabricante e também os fornecedores,
-
se quiserem. Todos eles também
têm acesso ao firmware. Você também pode
-
alterar o firmware durante a operação
O ruim, claro, é que você poderá
-
acessar todos os dados do usuário. E a
coleta de dados é realmente em
-
altíssima escala: com coordenadas GPS
e assim vai; Na verdade, não precisa
-
ser o caso de uma lâmpada. Disseram-me
que a obtenção de dados não
-
pode ser interrompida porque não é possível.
E isso também é um grande ponto.
-
Isto significa: Como um fabricante
alemão, não se pode usar
-
esses fornecedores. Colocar
esses dispositivos no mercado
-
também é muito fácil: É fácil
vendê-los: você pode comprar
-
muitos e pegar o lucro. Você
que ter muito cuidado no
-
mercado de usados porque você
nunca sabe o que tem dentro.
-
E esse jovem, recebeu um de presente meu.
Esta é, naturalmente, outra maneira
-
de colocar tais dispositivos
em circulação.Agora terminou meu
-
trabalho, pois eu não podia mais
ajudar meu cliente ou dizer
-
ok, nós temos um ótimo fornecedor
de nível Militar da Asia, então
-
devemos fazer por conta própria.
Com isso, eu tive minha nova
-
motivação. Em primeiro lugar,
é possível usar todos esses
-
dispositivos, como estão aqui,
sem nuvem. E em segundo lugar,
-
é claro, eu também queria ter uma
prova real de conceito do Trojan.
-
E isso significa que agora era
mais uma rodada para mim. Então,
-
fiz uma testesetup para isso.
Usei um Raspberry Pi
-
com Kali Linux e fiz um
ponto de acesso por software,
-
um hostapd. Então eu precisei
de meus servidores DNS para poder
-
redirecionar solicitações. Precisei também
de um servidor HTTP, e um Broker MQTT e para
-
análise tenho usado Wireshark e para o
ataque man-in-the-middle usei o bettercap.
-
Então primeiro fui para a análise
da rede.Primeiro observei
-
o que entra e sai do
lado da rede. É bem
-
simples. Na verdade, existem três coisas:
Tem DNS-Requests. Há requisições HTTP
-
Na verdade, eles são em sua maioria
não criptografados.
-
O mais importante, por exemplo, as chaves
são descriptografados. E o
-
MQTT também está disponível e descriptografado.
Mas mesmo que https e MQTTs sejam
-
implementados na própria lâmpada,
eles não são usados. E isto é
-
novamente "muito seguro". Como disse,
você não pode ver, mas a chave local
-
também está legível na solicitação.
E então fiz uma pequena
-
análise criptográfica para ver
o que havia nas dados
-
criptografados e, como o ESP é usado,
tem esse core Tensilica XTENSA,
-
fazer o Disassembler do binário
é muito difícil porque
-
não há bons plugins nem
bons apps de Disassembler.
-
E então olhei um pouco em volta.
E o provedor de nuvem tem uma
-
documentação de API muito boa,
que contém muitos erros,
-
mas também documenta parcialmente
partes muito importantes, como criptografia.
-
E tem outro SDK que eu pedi
mas antes de receber
-
também achei na internet
pois está disponível publicamente
-
e com ele havia bibliotecas pré-compiladas
nele, que eu poderia então
-
analisar e quando compilei meu próprio
firmware com ele, tive uma saída de amostra
-
e não precisei fazer Disassembling.
O resultado da análise criptográfica
-
foi que tinha todas as criptografias
usadas em um pequeno
-
script de 60 linhas,
e ele na verdade usa apenas
-
AES-128 com a chave local, e a soma de
verificação MD5 é parcialmente criada usando
-
certas partes dela, também como segurança,
e os dados também são assinados
-
com MD5. Então, primeiro
eu pesquisei como funciona
-
o registro. Então o registro de uma
lâmpada na nuvem funciona assim:
-
o aplicativo móvel solicita
um token da nuvem, envia via
-
protocolo Morse chamado SmartConfig
com as credenciais WiFi para a lâmpada,
-
que faz login na WLAN e então
envia o token de volta para a nuvem e recebe
-
os dados de login MQTT e pede
a Ativação. Esta também é uma solicitação HTTP,
-
aonde a chave local e a chave de segurança
são retornadas em texto simples. A
-
A chave local também vai para o aplicativo e
depois disso a lâmpada pode fazer login na nuvem
-
e continuar a se comunicar
com ela e pode ser usada. O que me
-
interessou muito foi a atualização, porque
eu queria trazer minha própria empresa
-
e para isso eu tinha uma
lâmpada que tinha um novo
-
firmware, uma atualização de firmware
e no final funciona assim:
-
o telefone pergunta se a
atualização deve ser feita.
-
Então um trigger é acionado e o
trigger é enviado para a lâmpada e a lâmpada pergunta
-
via HTTP onde está o novo firmware e
qual versão é ele, e assim por diante.
-
Em seguida, a lâmpada simplesmente baixa
o binário de um servidor HTTP e o instala
-
na partição de usuário não utilizada.
Para mim foi bem simples, primeiro
-
criei meu próprio servidor MQTT
e depois tentei gerar um gatilho
-
para iniciar. E então usei um ataque do
tipo man-in-the-middle para modificar
-
a solicitação HTTP e disse
à lâmpada para carregar o firmware
-
do meu próprio servidor.
Funciona de forma bem simples:
-
seu próprio servidor MQTT é usado.
Para fazer isso, eu tive que redirecionar
-
o servidor DNS para que ele não olhasse
mais para o servidor MQTT do provedor de nuvem,
-
mas para o meu servidor local. Você
pode ver que a lâmpada está
-
registrando e algumas mensagens estão
sendo trocadas. O próximo foi o mais
-
complicado. Esse foi o gatilho
da atualização, que analisei
-
primeiro. Na verdade, ele vem criptografado
e depois foi descriptografado com uma chave local.
-
Então você pode ver que o protocolo 15
essencialmente aciona a atualização.
-
Você pode então simplesmente gerar os
gatilhos com meus scripts. O Timestamp
-
que é usado na atualização
também é muito tolerante.Ele também
-
pode ser um pouco mais antigo ou você
pode usá-lo com mais frequência. Isso
-
funciona repetidamente
você poderia simplesmente acionar a atualização
-
usando o comando do Mosquito.Então automatizei um pouco as coisas para que tudo
-
acontecesse com um clique, por assim
dizer. Na verdade, fiz isso
-
para todos vocês, porque
publicarei tudo mais tarde.
-
*Aplausos*
-
O objetivo era mudar a fonte de atualização;
Para isso usei uma ferramenta pronta
-
chamada bettercap; Ela permite que
altere solicitações HTTP em tempo real. E
-
E como eu estava usando o Kali
como ponto de acesso de qualquer maneira,
-
consegui acessá-lo com relativa facilidade
e simplesmente escrevi os dados do meu novo
-
firmware na URL e no MD5. E isso pode ser feito
com alguns pequenos scripts. Isso significa,
-
fala-se que a atualização esta pronta
por Strings em respostas-HTTP então
-
simplesmente substitui e então
basta rodar ser servidor
-
HTTP para instalar e a Lampada
tem o Upgrade iniciado do Binario
-
que esta no meu servidor. Agora estamos
falando do nosso próprio firmware.
-
Eu já disse a você - ah,
já mencionei que queria fazer
-
versões diferentes, incluindo
uma que apenas envia
-
a senha do WiFi.E então
eu só gravei. Geralmente
-
é assim, agora tenho diferentes
terminais abertos, claro que
-
naturalmente pode simplificar, no
topo da primeira linha vemos
-
o ponto de acesso, então o Moskito-server e no
outro lado, tem um HTTP-Server
-
iniciado e que meu binário está localizado e
um script que descriptografa todos os
-
comandos em tempo real. Depois, há o
bettercap, que altera as solicitações,
-
e no canto inferior direito vemos um
terminal no qual, na verdade, vemos
-
a saída serial da lâmpada, e eu o
iniciei agora, e então enviarei
-
a solicitação de gatilho com o
último comando abaixo. E
-
então você deve ver como,
agora mesmo a solicitação está
-
chegando e agora as solicitações estão
chegando de todos os lugares e a lâmpada está reiniciando
-
e há um novo firmware nela, então bem rápido.Agora
esta rodando... Eu disse
-
que queria fazer uma prova
de conceito de um Trojan.O que
-
faz um Trojan? Bem simples, Ele
se conecta ao meu próprio servidor,
-
que está localizado em algum lugar
externo na Internet, envia as credenciais
-
da WLAN e abre um túnel reverso
pelo qual então retorno à rede local.
-
Na minha implementação, ele simplesmente
atua como um proxy HTTP ou Socks,
-
ou seja, você pode simplesmente
usar qualquer navegador,
-
digitar o endereço IP e a porta do meu
servidor externo e então estará na rede local
-
da lâmpada. Também era muito importante
para mim que tudo fosse transparente,
-
ou seja, que o usuário da lâmpada
não percebesse nada e a função normal
-
da lâmpada continuasse a mesma de antes.
Também tenho um pequeno demo aqui.
-
Acima tenho o terminal da própria lâmpada;
-
Então eu tenho um proxy forwarder no meu
servidor, que também é um pequeno
-
script Python, e abaixo eu tenho um computador
em algum lugar na Internet, veremos isso
-
em breve. Então eu fiz uma
simples consulta de IP. Agora
-
a lâmpada se conecta ao meu servidor
e faço uma consulta do IP abaixo,
-
isso é também um IP externo,
neste caso 213 é alguma coisa;agora faço
-
o mesmo com o proxy, Foi exatamente
aí que eu adicionei meu próprio proxy e,
-
de repente, posso ver que a solicitação está vindo
da própria lâmpada e, de repente, o
-
IP local da lâmpada está sendo enviado,
e então eu queria acessar algo na rede
-
interna para testá-lo e agora
simplesmente mudei para o fritz.box
-
fiz uma consulta e consegui
ver que também havia um Fritzbox na rede.
-
Fritzbox na rede. Isso significa que,
com o proxy, você não só pode usar a
-
conta de internet da vítima para
botnets e assim por diante, ou
-
para qualquer outra coisa, mas também
pode se mover facilmente pela rede local.
-
*Aplausos*
-
A grande pergunta é: Por que
é tão perigoso? Na verdade, você nunca sabe
-
o que há dentro de um dispositivo
como este e esse botão "Silent Upgrade"
-
em particular realmente me surpreendeu
e no meu caso nem sequer houve
-
qualquer confirmação ao usuário para
atualizar o firmware da lâmpada.
-
Isso significa que você
não vê e pode lançar
-
trojans em qualquer lâmpada,
o que pode ser feito em grande escala.
-
Isso significa que se eu tiver
vendido 20.000 lâmpadas,
-
posso clicar em meus aplicativos da web,
carregar o novo binário com o Trojan,
-
e ontem o que era uma lâmpada segura,
amanhã terá o Trojan,
-
e o usuário simplesmente
não notará isso. E, sim,
-
como eu disse, eu fiz, de início, flashing por meio de soldagem,
-
mas isso também pode ser feito com o
ataque do tipo man-in-the-middle, ou o
-
provedor de nuvem pode fazer
isso a qualquer momento . Outra
-
questão feita pra mim foi:
Posso fazer isso sem a Nuvem?
-
Agora que tenho uma lampada
como essa em casa, penso:
-
"Ok, existem vários softwares de
código aberto que têm muitos
-
recursos excelentes e
podem fazer ainda mais",
-
e o fluxo de trabalho normal para instalá-la é simplesmente abrir a lâmpada e
-
soldar os contatos...
Mas isso é muito difícil para a maioria. Agora
-
também podemos usar o método
que mostrei para instalar
-
um firmware diferente na lâmpada
para que possamos operá-la sem a nuvem.
-
E como eu disse, vou publicá-lo
para que cada um possa fazer
-
o que quiser com ele. Para a conclusão.
O nível de segurança desses dispositivos
-
é realmente mínimo. Então é
realmente verdade que tudo
-
que tentei funcionou imediatamente.
Não havia criptografia nos dados
-
armazenados no próprio dispositivo.
O firmware não foi assinado
-
nem as atualizações foram. Então posso
fazer atualizações diretamente.
-
O armazenamento de dados não é
criptografado e a transmissão de dados
-
também não é criptografada nos
casos mais críticos. E onde havia,
-
onde estava criptografado, não havia
Obstáculo. O que é muito mais assustador,
-
no entanto, é a coleta massiva de dados.
Para mim, não está completamente claro
-
por que o fabricante e o revendedor ou quem quer
que tenha acesso à conta precisa saber exatamente onde
-
esta lâmpada está localizada e isso foi
realmente para que as coordenadas GPS
-
fossem determinadas através do telemóvel, no
Registro. Mas eles foram muito precisos
-
e consegui encontrar a mesa em que
estava sentado nas coordenadas
-
e não vejo razão para isso. E, claro,
-
também é assustador quem tem acesso a ele.
O compartilhamento e armazenamento de dados
-
também são extremamente opacos. Por isso,
às vezes é dito que os dados são hospedados
-
na Alemanha, mas também podem ser
transferidos para o Oriente
-
a qualquer momento. E é claro que
ninguém sabe quem realmente tem
-
acesso a ele.
O grande problema para mim
-
e que eles são os consumíveis mais simples,
porque uma lâmpada está ali apenas para
-
emitir um pouco de luz, e para mim
eles são um consumível simples,
-
comparável ao papel higiênico. E agora
tudo está se tornando inteligente e
-
se até mesmo pequenos dispositivos
que são tão normais para todos nós porque
-
todo mundo tem uma lâmpada em casa,
de repente têm que ser inteligentes,
-
então isso traz muitos perigos para a sua
própria casa. E a maioria das pessoas
-
não tem consciência disso pois pensam: Ok.
Se alguém hackear a lâmpada, o que essa pessoa
-
pode fazer? Ligar/desligar a luz? Mas
a consequência real é, obviamente,
-
bem diferente: de repente, toda
a rede local fica acessível
-
do lado de fora e dados privados
podem ser acessados. A única coisa
-
positiva da minha experiência, no
entanto, é que você pode desligar
-
a nuvem do fabricante facilmente.
Mas isso mostra que
-
não é necessário, porque você pode usar
a lâmpada muito melhor com outro
-
firmware aberto
sem que esses dados
-
sejam salvos. E da minha parte,
faço um apelo aos fabricantes de IoT
-
para que forneçam essa tecnologia
boa , bonita e conveniente
-
aos usuários sem coletar todos esses dados.
E se o provedor me disser:
-
"é evitável", quando perguntado
se os dados não podem ser
-
salvos é na verdade uma mentira
e não, não é necessário.
-
Já anunciei que adicionarei mais
informações para download
-
em nosso site. Entre outras coisas,
também há scripts com os quais pode instalar outro
-
firmware nesses dispositivos.
Infelizmente,
-
ainda não terminei tudo isso,
-
mas isso acontecerá em breve.
Agora chegamos à parte das perguntas
-
e acho que alguém subirá ao
palco para fazer perguntas...
-
*Aplausos*
-
Herald: Sim, muito obrigado Micha.
Continuo preocupado e
-
não vejo nada de segurança militar.
Pergunta ao rapaz
-
que recebeu a lâmpada.
Você ainda quer mantê-los?
-
Tem certeza? OK bom. Temos alguma dúvida?
Vamos. Vamos começar por aí.
-
microfone 2 por favor.
microfone 2: O MQTT agora é criptografado
-
ou não? Não entendi muito bem.
-
Michael: O MQTT é criptografado. É
criptografado com AES e com a chave local,
-
que é exibido em texto simples por meio
do comando HTTP.
-
*Gelächter*
Herald: Obrigado. Vamos direto ao assunto
-
Você mais adiante. Você vem em seguida.
Sua pergunta por favor
-
Microfonefone 1: Como firmwares alternativos resolvem
o problema [inaudível] da senha
-
em texto simples do Wi-Fi?
Michael: Para ser sincero,
-
não procurei mais. Eu só..
Como é de código aberto, qualquer um
-
pode programar o que quiser e
tem controle total. E se
-
isso será salvo em claro ou
não, não posso dizer agora.
-
Herald: Ok, muito obrigado.
Próxima pergunta, Microfone 1 por favor.
-
Microfone 1: e as lâmpadas são tão populares,
-
não poderíamos ter uma fundação que
vendesse dez milhões de lâmpadas
-
nas quais então executaríamos
dez milhões de nós de saída Tor?
-
*Risadas* & *Aplausos*
-
Michael: É claro que essa é uma
-
ideia muito interessante e possível.
Teoricamente, pode
-
dizer que faz apenas uma
Catálogo de diferentes firmwares
-
que funcionam para diferentes
modelos e inclui coisas assim.
-
E então você poderia usa-lo
muito bem, embora a
-
velocidade ou a potência da
CPU sejam muito limitadas.
-
Herald: Ok, acho que vamos pegar o
próxima pergunta, microfone 1 novamente.
-
Microfone 1: Você disse no início da
apresentação que este é um fabricante
-
muito conhecido e respeitável,
com base apenas na plataforma de nuvem
-
e nos painéis. Você poderia nos
contar um pouco mais sobre outros
-
produtos que o fabricante produz
e vende além de lâmpadas?
-
Michael: Então realmente tem de
tudo. Não é apenas um fabricante,
-
é exatamente isso que é ruim,
é por isso que você não pode simplesmente
-
chamá-lo assim, eles estão apenas
usando essa tecnologia e ela está
-
realmente em todo lugar do mundo,
o que significa que há fabricantes
-
alemães que usam essa tecnologia e
você acha que está comprando um produto alemão.
-
Mas é isso que realmente tem lá dentro. E
os produtos também estão disponíveis. Tem
-
eletrodomésticos de cozinha, geladeiras etc
O fabricante lista 30 categorias diferentes.
-
Na verdade, está em quase tudo.
Para mim, a lâmpada foi
-
a mais fácil e também esses soquetes
elétricos porque eles são bem
-
populares e usados em todos os lugares.
Herald: Ich würde jetzt gern mit microfone
-
Nummer 3 weitermachen da stehen nämlich
auch schon zwei Leute. Ihre Frage bitte.
-
microfone 3: A questão é se você também
viu os Shelleys. Haben ja diese
-
Eles têm essa opção de conexão por cabo s,
mas também desativaram a nuvem.Você
-
sabe alguma coisa sobre isso?
Michael: Não, não sei, mas também não
-
sei se eles usam essa nuvem por padrão.
Eu não fiz isso.
-
Acho que é apenas hardware de
código aberto que não executa nada
-
do próprio fornecedor.
Herald: Ok obrigado, então vamos para a próxima
-
pergunta, número 2, por favor.
microfone 2: Não sou programador,
-
mas isso não melhora minhas noites,
então minha pergunta é:
-
no mundo das telas,
que conselho você tem? Não compra
-
da China? Somente produtos de marca?
Michael: Obviamente é muito
-
difícil dizer o que tem nele porque
você nunca sabe o que tem nele e,
-
como eu disse, também há fabricantes
alemães que o usam. Ainda não olhei
-
para os produtos dos concorrentes
só esse, assim, não posso dizer o que comprar,
-
mas para mim é claro que
é bom usar seu próprio
-
firmware e também o fabricante ser conhecido,
porque eles têm muito mais
-
a perder do que uma
pequena empresa Asiatica
-
que cria empresas com nomes diferentes
e não importa se elas causam algum
-
tipo de hack ou outras coisas.
Se há grandes nomes por trás disso,
-
é outra história, claro. É por isso
que é melhor comprar algo com um nome bem conhecido.
-
Herald: Ok, obrigado. Eu vejo a luz. Uma
luz me diz que a internet tem uma pergunta.
-
Caro Signalengel.
-
Signalengel: Sim, a pergunta é:
qual alternativa ao
-
armazenamento
da senha do Wi-Fi em texto simples?
-
Michael:Bem, na realidade você sempre
pode descobrir, mas é claro que não
-
precisa ser tão óbvio,eu sei disso,
porque se você realmente apenas ler
-
o binário e tiver a chave de texto simples,
é claro que é muito suspeito e
-
você o encontrará ao percorrer
o binário ou quando simplesmente
-
inserir strings. Se você tivesse
apenas passado algo por cima,
-
não seria tão perceptível quanto realmente é.
Herald: Ok, Dankeschön. Ich nehme erst mal
-
das microfone Nr. 7. Alguém está esperando
há mais tempo. A pergunta, por favor.
-
microfone 7: Sim, isso é quase
um comentário. Além disso...
-
Herald: Desculpe, mas infelizmente
não aceitamos comentários.Caso
-
tenha alguma dúvida, entre em contato conosco.
Não queremos comentários.
-
Obrigado. Dann microfone Nummer 8.
Bitteschön, danke.
-
microfone 8: A solicitação MQTT vai diretamente
para o provedor de nuvem, certo?
-
Michael: Exatamente, então o MQTT é,
em última análise, o protocolo usado
-
para transferir dados da Internet para a
rede local e há basicamente um túnel MQTT
-
configurado e há um tópico que é
basicamente assinado pela própria
-
lâmpada, onde ela basicamente aceita comandos.
E um que é usado para fazer publicações
-
onde as mensagens de status são enviadas.
Herald: Ok obrigado, nós temos uma
-
pergunta nº 5, obrigado por esperar
tanto.
-
microfone 5: Muito obrigado. Há alguma
restrição se eu configurar uma WLAN
-
de Internet das Coisas com
acesso muito limitado à Internet?
-
Michael: Na verdade, é possível rodar
localmente, mesmo com o firmware
-
instalado nele. Não creio que seja
assim com todos os dispositivos
-
que testei, mas a lâmpada ainda está
aberta na porta 6668; aceita comandos m
-
uito semelhantes e você pode controlá-lo
sozinho. Os dados são então criptografados
-
com a mesma chave local
Isso significa que se você desligar
a internet da própria lâmpada,
-
também será possível controlá-la l
ocalmente com seu celular.
-
Herald: Ok, obrigado. Eu diria que
temos mais três perguntas.
-
Michael: Sim, por favor
Herald: Ok, então o 1 aqui na frente, por favor.
-
Microfone 1: Você já observou a s
egurança no lado do servidor deste
-
provedor de nuvem? Então, se
pode fazer algo a respeito, se
-
pode acessar os dados de dispositivos
de terceiros e se pode potencialmente
-
falar com dispositivos de terceiros via MQTT.
Michael: Então tentei enviar um MQTT para
-
falar com dispositivos de terceiros
via MQTT. Isso não funcionou,
-
mas não procurei muito, nem
muito de perto, e não tentei
-
sequestrar nenhuma conta.
Microfone 1: Obrigado.
-
Herald: Certo, temos um pouco mais de tempo.
É por isso que faremos mais algumas perguntas,
-
se estiver tudo bem para você.
Michael. Ok, eu deixo o
-
Signalengel brilhar novamente.
-
Signalengel: A questão é: quais
seriam as melhores práticas para atualizar
-
dispositivos IoT? Se você fizer atualizações
automáticas, você estará vulnerável; se não
-
fizer, nunca será corrigido.
Michael: Sim, na verdade essa é uma
-
spergunta muito difícil porque é muito
difícil de implementar, mas ainda acho
-
que há possibilidades onde, por exemplo,
a atualização vem do aplicativo e então
-
é tal que o usuário definitivamente
tem controle sobre ela e está
-
ciente disso. Claro, é sempre uma
questão de implementação e
-
relativamente difícil oferecer
atualizações para esses dispositivos.
-
Herald: Ok, acho que o microfone 7
está com uma pessoa. Sua pergunta, por favor.
-
microfone 7: Foi a mesma pergunta.
Michael: Ok.
-
Herald: Foi a mesma pergunta dele.
microfone 8.
-
Michael:Acho que ainda há muitos
deles no canto.
-
*Lachen*
Herald: Alguém desistiu. Ok
-
ainda está piscando, vi corretamente?
Michael: Sim, aqui em cima.
-
Herald: Ah, ok, aqui estão os 3, obrigado.
microfonefon 3: Obrigado, que frequência
-
essa chave local em texto simples do HTTP é enviada?
Só na primeira vez ou ele envia
-
com mais frequência?
Michael: Isso acontece basicamente
-
apenas durante o registro, mas há
mensagens mais claras. Quero dizer que
-
o HTTP em geral não é criptografado quando
a nuvem envia algo para a lâmpada.
-
Mas as chaves só são transmitidas durante a ativação.
Herald:Certo, obrigado. Ainda temos
-
uma luz lá. Sua pergunta, por favor.
Signalangel: O palestrante
-
já encontrou um objeto IoT seguro?
Michael: Talvez, mas não que eu saiba.
-
*Lachen* & *Aplausos*
-
Herald: microfone 3 por favor.
-
microfone 3: Há alguma indicação de que os
dados estão sendo vendidos? E se não,
-
quão fácil seria descobrir?
Então estou pensando em uma palestra
-
que aconteceu chamada "construa sua própria NSA".
Uma empresa falsa tentou comprar os dados.
-
Então isso seria possível.
Michael: Então, qualquer coisa que dissesse
-
agora seria especulação e realmente
não quero isso, mas é impressionante
-
quanto dinheiro está por trás das empresas
e quantos dispositivos elas vendem
-
e, de alguma forma, a matemática não
faz sentido para mim. E para mim trata-se de
-
mais dinheiro do que você pode ganhar
com esses dispositivos. Mas como eu disse,
-
é tudo especulação e não posso
dizer mais nada sobre isso.
-
Herald: É uma boa idéia para
uma nova palestra.
-
Michael: Sim.
Herald: Talvez alguém queira descobrir.
-
Temos mais uma pergunta no
número 7. Aqui vai.
-
microfone 7: Estou correto em supor
que os dispositivos Zigbee não são afetados?
-
Michael: Isso depende se o servidor Zigbee
que o conecta à Internet é afetado.
-
Porque é claro que isso também acontece,
então se a própria ponte usa essa
-
tecnologia, por exemplo, então é
o mesmo jogo, porque então a vítima
-
não é mais a lâmpada em si, mas a ponte.
-
Herald: Mmh. Microfone 1 tem mais uma
pergunta. Por favor.
-
Microfone 1: Tenho uma pequena dúvida .
Com smartconfig, na configuração,
-
o SSID, senha, IP etc
é enviado para o dispositivo IOT.
-
Michael: Sim.
Microfone 1: Até que ponto posso
-
simplesmente simular um dispositivo Expressif,
digamos, para meu vizinho do apartamentos
-
e coletar as informações que ele envia.
-
Michael: Você não precisa
simular muito porque o protocolo é
-
todo aberto e no final é
muito fácil escutar esses processos
-
de ativação e exibi-los em texto simples. Isso
significa que pode-se descriptografar
-
facilmente os dados de acesso
WLAN e também o token.
-
Herald: Ok, temos mais uma pergunta
da Internet. Por favor faça a pergunta,
-
Signalengel.
Signalengel: Desculpe, não,
-
não é outra pergunta da internet.
Herald: Certo, então eu diria
-
que temos mais uma pergunta sobre o
número 1 e então podemos finalmente encerrar o dia.
-
Sua pergunta por favor.
Microfone 1: Foi dito que também
-
existem prestadores alemães que
utilizam este serviço. É legal,
-
de acordo com a lei alemã de proteção
de dados, ter esse direito de excluir dados?
-
Michael: Então não sou especialista
nisso. Meu colega trabalhou nisso
de..
-
um pouco mais ao longo do
tempo.. Então quando eu
-
analisei todas as coisas e talvez
eu o encoraje a dar uma palestra
-
sobre isso também. Porque
há realmente muitas coisas e
-
acho que você pode falar por muito e muito tempo
disso e porque há coisas
-
grotescas sobre os
regulamentos de proteção de dados
-
Herald: Parece uma interessante
continuação. Ok.
-
*Aplausos*
-
Herald: Este é o seu aplauso
-
*Aplausos*
-
*35c3 Musica Encerramento*
-
Legendas criadas por
Guilherme em 2024.