Um trio de pesquisadores divididos entre a Itália e o Reino Unido recentemente publicou um artigo sobre inseguranças criptográficas encontradas em uma lâmpada inteligente amplamente conhecida.
Os pesquisadores parecem ter escolhido o dispositivo alvo, o TP-Link Tapo L530E, com base no fato de que é “atualmente [o] mais vendido na Amazon Itália,” portanto, não sabemos como outras lâmpadas inteligentes se comparam, mas o relatório deles tem muito a nos ensinar de qualquer maneira.
Os pesquisadores dizem que:
Entramos em contato com a TP-Link por meio do Programa de Pesquisa de Vulnerabilidades (VRP), relatando todas as quatro vulnerabilidades que encontramos.
Eles reconheceram todos eles e nos informaram que começaram a trabalhar em correções tanto no aplicativo quanto no firmware da lâmpada, planejando lançá-los no devido tempo.
Para o bem ou para o mal (os autores do artigo não dizem se alguma data de divulgação foi acordada com a TP-Link, por isso não sabemos há quanto tempo a empresa está trabalhando em seus patches), os pesquisadores revelaram agora como seus ataques funcionam, embora sem fornecer nenhum código de ataque copiável e colado para que aspirantes a hackers domésticos possam explorar à vontade.
Portanto, pensamos que valia a pena examinar o artigo.
Configurar Wi-Fi
Como muitos dispositivos chamados “inteligentes”, o Tapo L530E foi projetado para poder ser configurado de forma rápida e fácil via Wi-Fi.
Embora a configuração sem fio seja comum até mesmo para dispositivos alimentados por bateria que podem ser carregados e configurados por meio de portas USB integradas, como câmeras e acessórios de bicicleta, as lâmpadas geralmente não possuem portas USB, principalmente por questões de espaço e segurança. motivos, visto que foram projetados para serem conectados e deixados em uma tomada de luz.
Ao ligar e desligar uma lâmpada Tapo L530E repetidamente no interruptor de parede por um segundo de cada vez, você pode forçá-la a entrar no modo de configuração (aparentemente, a lâmpada pisca automaticamente três vezes para avisar quando está pronta para configuração).
Como a maioria dos dispositivos configuráveis automaticamente, isso faz com que a lâmpada inteligente se transforme em um ponto de acesso Wi-Fi com um nome de rede fácil de reconhecer no formato Tapo Bulb XXXX
, onde os X formam uma sequência de dígitos.
Em seguida, você se conecta a esse ponto de acesso temporário, que não é protegido por senha, a partir de um aplicativo no seu smartphone.
Em seguida, você diz à lâmpada como se conectar à sua rede Wi-Fi doméstica protegida por senha e à sua conta na nuvem TP-Link no futuro, após o qual o firmware da lâmpada pode reiniciar e conectar-se à Internet, permitindo que você a gerencie. do aplicativo no seu telefone.
A lâmpada pode ingressar na rede doméstica, o que significa que você pode contatá-la diretamente através do seu próprio Wi-Fi quando estiver em casa, mesmo que o seu ISP esteja offline no momento.
E a lâmpada pode se conectar pela Internet à sua conta na nuvem, para que você também possa enviar comandos indiretamente por meio da sua conta na nuvem enquanto estiver na estrada, por exemplo, para acender e apagar as luzes se você voltar atrasado. para dar a impressão de que tem alguém em casa.
Cuidado com impostores
Você provavelmente pode adivinhar onde isso está indo.
Se o aplicativo no seu telefone não tiver nenhuma maneira criptograficamente forte de descobrir que ele realmente está conectado a uma lâmpada genuína quando você passar pelo processo de configuração…
…então, um invasor próximo que por acaso inicia um falso Tapo Bulb XXXX
ponto de acesso no momento certo pode induzi-lo a enviar esses importantes segredos de configuração para o dispositivo “lâmpada impostora” em vez de para o dispositivo real, capturando assim a senha do seu Wi-Fi e os detalhes da sua conta TP-Link.
A boa notícia é que os pesquisadores notaram que tanto o aplicativo Tapo quanto o firmware L530E incluíam uma verificação básica de segurança para ajudar o aplicativo e suas lâmpadas a se encontrarem de maneira confiável, reduzindo assim o risco de o aplicativo revelar suas senhas quando deveria. 't.
Mas a má notícia é que o protocolo usado para isso você é realmente uma lâmpada? O intercâmbio foi claramente concebido para evitar erros e não para prevenir ataques.
Simplificando, o aplicativo localiza qualquer lâmpada em sua rede transmitindo pacotes UDP especiais para a porta 20002 e vendo quais dispositivos respondem, se houver.
Para ajudar qualquer lâmpada ouvinte a decidir que um você está aí? solicitação veio do aplicativo Tapo, e não de algum outro produto ou serviço desconhecido que também usa a porta 20002, a solicitação inclui o que é conhecido no jargão como hash com chave.
A Eu estou aqui! A resposta da lâmpada inclui o mesmo tipo de soma de verificação digitada para ajudar o aplicativo a filtrar respostas UDP inesperadas e indesejadas.
Simplificando, o hash com chave é uma soma de verificação baseada não apenas nos dados do pacote UDP, mas também em alguns bytes de chave adicionais que também são incluídos na soma de verificação.
Infelizmente, o protocolo Tapo usa bytes de chave fixos para sua soma de verificação, com a mesma “chave” conectada ao aplicativo e ao firmware de cada lâmpada Tapo.
Em outras palavras, uma vez que alguém descompilou o aplicativo, ou o firmware da lâmpada, ou ambos, e recuperou essa “chave”, você deve presumir que qualquer pessoa saberá o que é, tornando-os umvocê está aí?/Estou aqui! mensagens triviais de forjar.
Pior, os pesquisadores descobriram que não precisavam descompilar nada, porque essa “chave” não tão secreta tem apenas 32 bits, o que significa que, ao colocar sua própria lâmpada Tapo no modo de configuração e depois alimentá-la, você está aí? mensagens usando todos os 232 possíveis chaves de soma de verificação, você eventualmente acertará a tecla certa pelo que é conhecido como força bruta.
Isso é o equivalente criptográfico de girar os mostradores para testar todas as combinações em uma trava de bicicleta, digamos, de 000
para 999
, até você ter sorte e a fechadura se abrir. (Em média, você abrirá a fechadura depois de tentar metade das combinações possíveis, mas nunca levará mais de 1000 tentativas.)
Na verdade, eles não precisaram enviar 232 mensagens do aplicativo para uma lâmpada para quebrar a chave.
Ao capturar apenas uma mensagem genuína conhecida com um hash de chave válido, eles poderiam testar todas as chaves possíveis off-line até produzirem uma mensagem que tivesse o mesmo hash de chave que eles salvaram.
Isso significa que o ataque de força bruta pode ocorrer na velocidade da CPU, não apenas na velocidade do pacote da rede Wi-Fi, e os pesquisadores afirmam que “em nossa configuração, o ataque de força bruta sempre teve sucesso em 140 minutos, em média.”
(Presumimos que eles tentaram repetidamente apenas para testar se o código de cracking estava funcionando corretamente, embora com uma chave conectada compartilhada por todas as lâmpadas Tapo, apenas o primeiro crack teria sido suficiente.)
Contanto que você fale com segurança, não me importo com você que está
O próximo problema criptográfico surgiu na próxima etapa do processo de configuração da lâmpada e foi um tipo de erro semelhante.
Depois de aceitar uma lâmpada como genuína com base em um hash com chave que na verdade não tem chave, o aplicativo concorda com uma chave de sessão para criptografar seu tráfego com a lâmpada “genuína”…
…mas mais uma vez não há forma de verificar se o acordo chave ocorreu com uma lâmpada real ou com um impostor.
Concordar com uma chave de sessão é importante porque garante que ninguém mais na rede possa bisbilhotar as senhas de Wi-Fi e Tapo quando elas forem posteriormente enviadas do aplicativo Tapo para o que ele pensa ser uma lâmpada Tapo.
Mas não ter nenhum processo de verificação para o contrato de chave em si é como conectar-se a um site via HTTPS e depois não se preocupar em realizar a verificação mais básica no certificado da web que ele envia de volta: seu tráfego estará seguro em trânsito, mas no entanto, poderia ir directamente para as mãos de um vigarista.
O aplicativo Tapo se identifica com a lâmpada (ou o que pensa ser uma lâmpada) enviando-lhe uma chave pública RSA, que a outra extremidade usa para criptografar uma chave AES gerada aleatoriamente para proteger os dados trocados durante a sessão.
Mas o dispositivo lâmpada não fornece nenhum tipo de identificação, nem mesmo uma soma de verificação com uma chave de 32 bits conectada, de volta ao aplicativo Tapo.
Assim, o aplicativo não tem escolha a não ser aceitar a chave de sessão sem saber se ela veio de uma lâmpada real ou de um dispositivo impostor.
O resultado combinado dessas duas falhas é que um invasor em sua rede poderia primeiro convencê-lo de que seu ponto de acesso não autorizado era uma lâmpada genuína esperando para ser configurada e, assim, atraí-lo para o lugar errado e, em seguida, convencê-lo a enviá-lo. uma cópia criptografada de suas próprias senhas de Wi-Fi e Tapo.
Ironicamente, essas senhas vazadas seriam realmente seguras contra todos... exceto o impostor com o ponto de acesso não autorizado.
Número usado uma vez que é usado repetidamente
Infelizmente, há mais.
Quando dissemos acima isso “essas senhas vazadas seriam realmente seguras”, isso não estava totalmente correto.
A chave de sessão estabelecida durante o processo de acordo de chave descrito anteriormente não é tratada corretamente, porque os programadores cometeram um erro crasso ao usar o AES.
Quando o aplicativo criptografa cada solicitação enviada a uma lâmpada, ele usa um modo de criptografia chamado AES-128-CBC.
Não vamos explicar o CBC (encadeamento de blocos cifrados) aqui, mas mencionaremos apenas que o modo CBC foi projetado para que, se você criptografar o mesmo bloco de dados mais de uma vez (como solicitações repetidas para acender a luz e desligue a luz, onde os dados brutos na solicitação são sempre os mesmos), você não obtém a mesma saída todas as vezes.
Se todo luzes ligadas e luz apagada solicitação saiu de forma idêntica, então, uma vez que um invasor adivinhou o que era Desligue isso Como era a aparência do pacote, eles poderiam não apenas reconhecer esses pacotes no futuro sem descriptografá-los, mas também reproduzir esses mesmos pacotes sem precisar saber como criptografá-los.
Na verdade, a criptografia baseada em CBC depende efetivamente da “semeadura” do processo de criptografia para cada bloco de dados, primeiro misturando um bloco de dados único e escolhido aleatoriamente no processo de criptografia, criando assim uma sequência única de dados criptografados no restante. do pedaço.
Esses dados “sementes” são conhecidos no jargão an IV, abreviação de vetor de inicializaçãoe, embora não pretenda ser secreto, precisa ser imprevisivelmente diferente a cada vez.
Simplificando: mesma chave + IV exclusivo = saída de texto cifrado exclusivo, mas mesma chave + mesmo IV = criptografia previsível.
Os codificadores TP-Link, infelizmente, geraram um IV ao mesmo tempo em que criaram sua chave de sessão AES e, em seguida, usaram o mesmo IV repetidamente para cada pacote de dados subsequente, mesmo quando os dados anteriores foram repetidos com exatidão.
Isso é uma proibição criptográfica.
Enviei seis pacotes ou apenas cinco?
O último problema criptográfico que os investigadores encontraram é aquele que ainda pode prejudicar a segurança, mesmo que o problema do vector de inicialização seja corrigido, nomeadamente que mensagens antigas, quer um atacante saiba o que significam ou não, podem ser reproduzidas mais tarde como se fossem novas.
Normalmente, esse tipo de ataque de repetição é tratado em protocolos criptográficos por algum tipo de número de sequência, ou carimbo de data/hora, ou ambos, incluído em cada pacote de dados para limitar sua validade.
Como a data em uma passagem de trem que irá denunciá-lo se você tentar usá-la por dois dias seguidos, mesmo que a passagem em si nunca seja cancelada por uma máquina de bilhetes ou perfurada por um inspetor de passagens, números de sequência e carimbos de data e hora em pacotes de dados servem a dois propósitos importantes.
Em primeiro lugar, os invasores não podem registrar o tráfego hoje e reproduzi-lo facilmente mais tarde, o que pode criar confusão.
Em segundo lugar, códigos com bugs que enviam solicitações repetidamente por engano, por exemplo, devido a respostas perdidas ou falta de reconhecimentos de rede, podem ser detectados e controlados de forma confiável.
O que fazer?
Se você é usuário de lâmpada Tapo, fique atento às atualizações de firmware da TP-Link que resolvem esses problemas.
Se você é um programador responsável por proteger o tráfego de rede e configurações de produtos baseados em rede, Leia o artigo de pesquisa para garantir que você não cometeu erros semelhantes.
Lembre-se das seguintes regras:
- A criptografia não envolve apenas sigilo. A criptografia é apenas uma parte da “santíssima trindade” criptológica da confidencialidade (criptografar), autenticidade (verifique quem está do outro lado) e integridade (certifique-se de que ninguém mexeu nele ao longo do caminho).
- Certifique-se de que todas as chaves únicas ou IVs sejam verdadeiramente únicas. O termo do jargão comum nonce, usado para esse tipo de dados, é a abreviação de número usado uma vez, uma palavra que lembra claramente que os IVs nunca devem ser reutilizados.
- Proteja-se contra ataques de repetição. Este é um aspecto especial para garantir a autenticidade e integridade mencionamos acima. Um invasor não deve ser capaz de capturar uma solicitação que você está fazendo agora e reproduzi-la cegamente mais tarde, sem ser detectado. Lembre-se de que um invasor não precisa entender uma mensagem se puder reproduzi-la e potencialmente criar confusão.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Automotivo / EVs, Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- ChartPrime. Eleve seu jogo de negociação com ChartPrime. Acesse aqui.
- BlockOffsets. Modernizando a Propriedade de Compensação Ambiental. Acesse aqui.
- Fonte: https://nakedsecurity.sophos.com/2023/08/22/smart-light-bulbs-could-give-away-your-password-secrets/
- :tem
- :é
- :não
- :onde
- $UP
- 1
- 125
- 15%
- 25
- 32
- 700
- a
- Capaz
- Sobre
- acima
- absoluto
- ACEITAR
- aceitar
- Acesso
- acessórios.
- Conta
- reconhecido
- Adicional
- endereço
- AES
- Depois de
- novamente
- contra
- concordaram
- Acordo
- Todos os Produtos
- Permitindo
- juntamente
- tb
- Apesar
- sempre
- am
- Amazon
- an
- e
- qualquer
- nada
- app
- SOMOS
- AS
- aspecto
- assumir
- At
- ataque
- Ataques
- autor
- autores
- auto
- automaticamente
- média
- evitar
- longe
- em caminho duplo
- background-image
- Mau
- baseado
- basic
- base
- BE
- Porque
- sido
- MELHOR
- Melhor
- entre
- Pouco
- cegamente
- Bloquear
- fronteira
- ambos
- Inferior
- Radiodifusão
- força bruta
- construídas em
- mas a
- by
- chamado
- veio
- câmeras
- CAN
- capturar
- Capturar
- Cuidado
- causas
- Centralização de
- certificado
- carregada
- verificar
- a verificação
- escolha
- escolhido
- claramente
- Na nuvem
- código
- cor
- combinação
- combinações
- combinado
- comum
- Empresa
- Configuração
- configurado
- Contato
- conectado
- Conexão de
- Contacto
- controlado
- convencer
- correta
- poderia
- Para
- cobrir
- fenda
- crio
- criado
- Criar
- criptografia
- dados,
- Data
- Datas
- dias
- decidir
- descrito
- projetado
- detalhes
- detectou
- dispositivo
- Dispositivos/Instrumentos
- diferente
- dígitos
- diretamente
- divulgação
- Ecrã
- do
- parece
- Não faz
- não
- desistiu
- dois
- durante
- cada
- Mais cedo
- facilmente
- efetivamente
- ou
- outro
- criptografada
- criptografia
- final
- suficiente
- garantir
- garante
- assegurando
- inteiramente
- Equivalente
- estabelecido
- Mesmo
- eventualmente
- Cada
- exatamente
- exemplo
- Exceto
- exchange
- trocado
- Explicação
- Explorar
- Olhos
- fato
- falsificação
- alimentação
- filtro
- Encontre
- Primeiro nome
- fixado
- falhas
- seguinte
- Escolha
- força
- forjar
- formulário
- encontrado
- quatro
- da
- futuro
- geralmente
- gerado
- genuíno
- ter
- obtendo
- OFERTE
- dado
- Go
- vai
- vai
- Bom estado, com sinais de uso
- adivinhou
- tinha
- Metade
- mãos
- acontece
- prejudicar
- hash
- Ter
- ter
- altura
- ajudar
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Acertar
- Início
- pairar
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- i
- identificação
- identifica
- if
- importante
- in
- incluído
- inclui
- indiretamente
- informado
- em vez disso
- Internet
- para dentro
- ISP
- questões
- IT
- Itália
- ESTÁ
- se
- jargão
- juntar
- apenas por
- apenas um
- Guarda
- Chave
- chaves
- Saber
- Conhecimento
- conhecido
- Sobrenome
- Atrasado
- mais tarde
- mínimo
- esquerda
- níveis
- leve
- lâmpadas
- como
- LIMITE
- Escuta
- longo
- olhou
- procurando
- máquina
- moldadas
- fazer
- Fazendo
- gerencia
- muitos
- Margem
- max-width
- significar
- significa
- significava
- mencionado
- apenas
- mensagem
- mensagens
- Minutos
- desaparecido
- erro
- erros
- Misturando
- Moda
- momento
- mais
- a maioria
- devo
- nome
- nomeadamente
- você merece...
- necessitando
- rede
- Nome da rede
- tráfego de rede
- baseado em rede
- nunca
- mesmo assim
- Novo
- notícias
- Próximo
- não
- nenhum
- normal
- agora
- número
- números
- of
- WOW!
- modo offline
- Velho
- on
- uma vez
- ONE
- só
- aberto
- or
- ordem
- Outros
- A Nossa
- Fora
- Resultado
- saída
- Acima de
- próprio
- pacotes
- Papel
- parte
- Senha
- senhas
- Patches
- Paul
- Realizar
- telefone
- Lugar
- planejamento
- platão
- Inteligência de Dados Platão
- PlatãoData
- Jogar
- desempenhado
- Abundância
- Plugado
- ponto
- Pops
- posição
- possível
- POSTAGENS
- potencialmente
- Previsível
- evitar
- anterior
- provavelmente
- Problema
- prosseguir
- processo
- Produzido
- Produto
- Agenda
- Programador
- Programadores
- protegido
- protocolo
- protocolos
- fornecer
- fornecendo
- público
- chave pública
- fins
- colocar
- rapidamente
- gerado aleatoriamente
- em vez
- Cru
- pronto
- reais
- clientes
- razões
- recentemente
- reconhecer
- registro
- redução
- relativo
- liberar
- lembrar
- repetido
- REPETIDAMENTE
- resposta
- Denunciar
- Relatórios
- solicitar
- pedidos
- pesquisa
- pesquisadores
- responsável
- DESCANSO
- Revelado
- certo
- Risco
- estrada
- LINHA
- rsa
- regras
- Segurança
- Dito
- mesmo
- dizer
- Segundo
- Segredo
- seguro
- firmemente
- assegurando
- segurança
- visto
- parecem
- enviar
- envio
- envia
- enviei
- Seqüência
- servir
- serviço
- Sessão
- conjunto
- contexto
- instalação
- compartilhado
- Baixo
- rede de apoio social
- semelhante
- SIX
- smart
- smartphones
- bisbilhotar
- So
- sólido
- alguns
- Alguém
- Espaço
- falar
- especial
- velocidade
- divisão
- pilha
- Etapa
- começo
- começado
- Estado
- Ainda
- direto
- Tanga
- mais forte,
- subseqüente
- Subseqüentemente
- tal
- certo
- SVG
- Interruptor
- Tire
- Target
- dizer
- temporário
- prazo
- teste
- do que
- que
- A
- do Reino Unido
- deles
- Eles
- então
- Lá.
- assim sendo
- Este
- deles
- coisa
- Acha
- isto
- aqueles
- pensamento
- três
- Através da
- Assim
- bilhete
- tempo
- vezes
- timestamp
- para
- hoje
- levou
- topo
- tráfego
- Trem
- trânsito
- transição
- transparente
- experimentado
- trio
- verdadeiramente
- tentar
- VIRAR
- Virado
- Passando
- dois
- tipo
- Uk
- compreender
- Inesperado
- infelizmente
- único
- desconhecido
- até
- Atualizações
- URL
- us
- usb
- usar
- usava
- Utilizador
- usos
- utilização
- Verificação
- verificar
- via
- vulnerabilidades
- vulnerabilidade
- Esperando
- parede
- foi
- Caminho..
- we
- web
- Site
- BEM
- foram
- O Quê
- quando
- se
- qual
- enquanto
- QUEM
- Wi-fi
- largura
- precisarão
- de
- sem
- Word
- palavras
- Atividades:
- trabalhar
- pior
- Equivalente há
- seria
- Errado
- X's
- Vocês
- investimentos
- zefirnet