- Foi confirmado que um firmware personalizado do Flipper Zero contorna completamente a segurança de código rolante de automóveis
- Ao contrário do método RollJam tradicional, este ataque permite clonar todas as funções dos botões ao capturar apenas um único sinal da chave
- A técnica usada no ataque utiliza engenharia reversa de sequência ou força bruta em uma grande lista de códigos
- O firmware é baseado no princípio de ataque RollBack apresentado em artigo científico recente
- Diversos fabricantes são alvos, incluindo Chrysler, Ford e Hyundai, e não há solução simples
Vulnerabilidade de segurança de código rolante via Flipper Zero
Um firmware sob medida recém-aplicado ao Flipper Zero foi demonstrado no canal do YouTube Talking Sasquach contornando o sistema de segurança de rolling code usado em chaves remotas de automóveis
Rolling code e métodos de ataque anteriores
- O sistema de rolling code gera um novo código de uso único a cada vez, com base em um algoritmo sincronizado entre transmissor (chave) e receptor (veículo)
- Esse esquema foi adotado para evitar ataques de repetição (replay) e acesso não autorizado
- No passado havia o método RollJam, que captura e reutiliza sinais ao interromper (jam) as transmissões do veículo, mas sua aplicação prática é difícil
Nova técnica de ataque
- Nesta nova técnica, capturar o sinal de um único botão já permite clonar funções como travar, destravar e abrir o porta-malas
- Esse método não exige interferência separada de sinal nem equipamentos adicionais; o Flipper Zero sozinho é suficiente
- Quando o sinal da chave é capturado, a chave remota original fica fora de sincronia e passa a não poder mais ser usada
Princípio do ataque
- O atacante faz engenharia reversa do padrão de código rolante a partir de um vazamento de sequência ou de brute force baseado em uma lista extensa de sequências
- Alguns especialistas analisam que esse firmware se inspirou na teoria do ataque RollBack divulgada em estudo recente
- O método RollBack é baseado em reproduzir um código rolante capturado em uma ordem específica para reverter o sistema de sincronização
Impacto e status de resposta
- Na demonstração em vídeo, é possível ver que o controle remoto completo é emulado com apenas uma captura
- Entre os fabricantes afetados estão Chrysler, Dodge, Fiat, Ford, Hyundai, Jeep, Kia, Mitsubishi, Subaru e outros
- Neste momento, não há correção de software ou reparo simples viável, e além da alternativa extrema de um grande recall de veículos, não foi identificada nenhuma solução de implantação imediata
2 comentários
Dizer que se trata de “firmware da dark web” é escolher uma palavra chamativa para argumentar, mas é só acionar os sensores que já estão no aparelho.
O Flipper Zero não é um equipamento criminal profissional; é basicamente um brinquedo, uma coleção de sensores com um sistema operacional amigável, e não é motivo de orgulho ter sido “invadido" só por isso.
Com um nível de segurança frágil o suficiente para isso, é como sair por aí com a porta da casa aberta. Mesmo sem o Flipper Zero, qualquer pessoa pode comprar alguns sensores pela internet por meios legais e fazer a mesma coisa.
Opinião do Hacker News
Digo que muitos dos sistemas de chave rolante disponíveis no mercado atual são baseados em KeyLoq. O KeyLoq é um sistema bem projetado, mas tem uma falha grande. Existe uma manufacturer key, e todos os dispositivos que suportam pareamento no local do controle remoto precisam dela. Se essa manufacturer key vazar, com apenas duas amostras já dá para descobrir a sequência da chave. Sem a manufacturer key, um ataque de parada+reprodução (replay) é possível, mas quebrar a chave de sequência por brute force é irrealista. Mas, como receptores com programação local necessariamente precisam dessa “chave mágica” do fabricante, qualquer pessoa pode comprar esse tipo de aparelho e extrair essa chave.
Em vez de uma chave mestra fixa, daria para usar uma chave aleatória gerada de forma única para cada receptor e permitir pareamento com conexão física real entre controle remoto e receptor (a parte trancada dentro do carro). Um sistema tão genérico provavelmente não seria adotado, porque ia contra o controle da fabricante sobre reparo e mercado de reposição.
Correto. O próprio cifrador KeeLoq já não é mais seguro, mas a Microchip já migrou para AES. O KeeLoq também é usado em controles de portão de garagem, não só em carros. Alguns receptores KeeLoq têm um “modo de aprendizado”, no qual registra sinais de um transmissor KeeLoq que usa a mesma manufacturer key quando eles chegam. O modo de aprendizado pode ser ativado pelo botão na placa (PCB) ou por um transmissor “mestre”. https://en.wikipedia.org/wiki/KeeLoq
Não entendo por que é problema o que foi divulgado no “dark web”. Pode cair no 18 U.S.C. 1029/30 nos EUA, mas é algo que pode ser usado em qualquer lugar da internet. Fico curioso sobre por que questões de dark web sempre viram politização e disputa por cliques. No fim, é a internet inteira.
Porque esse firmware está sendo vendido por um hacker em marketplace do dark web por US$ 1.000. E, desta vez, isso realmente está sendo vendido no dark web.
Acredita-se que o autor do firmware tenha publicado em fórum baseado em onion com intenção real de roubar carros.
Parece um caso de trocar “internet” por algo como “newspeak” para se referir a uma internet sob forte censura do tipo Reino Unido/China.
Por esses motivos, acho o botão de “partida sem chave” de carro ruim. Como no modelo antigo, a funcionalidade de key fob só para abrir a carroceria e a chave real para ligar o carro seria mais segura. É melhor ter vários níveis de segurança. Pela minha experiência no setor de segurança automotiva, as montadoras não gostam mesmo de ver seus carros roubados; se o seguro paga, mais veículos novos são vendidos.
Pelo que sei, algoritmo de código rolante não é usado em start por botão; é usado só na função de key fob. Especialmente na Europa, por causa de regras de imobilizador, e em outras regiões também. Normalmente, função de key fob de longo alcance e função de start de proximidade são separadas por segurança. Marcas europeias, em geral, parecem ter criptografia de chave melhor, por uma combinação de fatores como regulação vinculada a seguradoras e histórico de alta taxa de roubo.
Se pensar no absurdo de certos seguros subirem, escolher uma marca como Hyundai pode significar arcar com um seguro extremamente caro. Esse dano de imagem não vai sair barato.
Pode soar um pouco ácido, mas talvez “segurança” caiba melhor que “seguro”. Se criminosos conseguem roubar facilmente carros estacionados, pode ser, no geral, socialmente mais seguro; reduz ameaças físicas em que o motorista é forçado a perder o veículo. Se você realmente quer proteger seu carro, o ideal é colocar dentro dele só coisa velha e depreciada e só dirigir. O meu já é velho, vive brigando com ferrugem, e no carro não tem nada além de tralha.
Sobre “montadora gosta de roubo de carros”, Hyundai e Kia também deveriam se pronunciar.
Em modo DIY, com certeza dá para adicionar segurança parecida com MFA via interruptor simples ou relé. Porém isso não ajuda em problemas de “desync” ou de travamento de desbloqueio.
O vídeo em questão tem muita fala e pouquíssimo conteúdo realmente útil, então é difícil avaliar. Pelo que foi mostrado, parece só uma versão enfeitada de uma falha clássica de código rolante. https://github.com/jamisonderek/flipper-zero-tutorials/tree/main/subghz/apps/rolling-flaws
Se o sinal de comunicação do veículo não fosse (a) broadcast ou (b) não perceptível para humanos, esse tipo de problema de segurança já seria bem menor. Por exemplo, se a maçaneta da porta tivesse contato elétrico, seria muito mais difícil alguém externo farejar ou injetar o sinal. Se o sinal fosse audível, o jamming seria detectável instantaneamente. Na prática, meu uso principal do key fob à distância é travar o carro; para destravar vejo pouco risco.
Sobre sinal auditivo e jamming, isso seria realmente popular no Leste Asiático. Lá há um monte de alertas sonoros: panela elétrica com melodia, faixa de pedestre com música, caminhão do lixo com tema musical. O Japão é um país de alertas sonoros.
Você disse que usa “travar” à distância e não “destravar”; se trancar e destravar usam a mesma chave rolante, o risco é igual. Se a montadora usar chaves rolantes diferentes para trancar e destravar, isso já seria bem curioso.
É previsível que políticos ignorantes vão querer banir o Flipper Zero. Eu não espero que aceitem que a segurança do key pop automotivo é fraca.
Sobre a matéria dizendo que “com a captura de um único sinal de botão, sem jamming, todas as funções de key pop ficam clonadas”, fiquei curioso se eu fico seguro por nunca apertar o botão do key pop. No meu caso, a função usada é só a da maçaneta, pressionando que a chave perto reconhece e abre/fecha.
Se você deixa a chave do carro perto de casa, por exemplo, ela fica transmitindo continuamente; o criminoso pode retransmitir esse sinal e pressionar à distância o botão da maçaneta. Isso abriria o carro sem a chave real.
Pelo que eu sei, ao abrir ou ligar com chave física ou equivalente ainda se usa desafio/resposta. Alarme e imobilizador validam se a chave é real ou um ataque. Não sei como funciona exatamente o ataque da matéria, mas acho que esse fluxo também pode ser quebrado.
Pergunta boa. Se essa função não usar NFC ou outro protocolo especial, ainda espero que ela seja vulnerável.
Como o código rolante pode sair de sincronia e parar de funcionar, como citado no artigo, fiquei curioso se o usuário pode fazer reset sozinho ou se isso só é feito em loja.
Se o ataque fizer a chave original não funcionar mais, talvez o risco real seja alguém capturar o sinal no estacionamento e causar só incômodo — guincho + reprogramação — sem roubar o veículo.
No que já usei, com o key fob completamente morto ainda dava para abrir e dirigir com chave física. Fiquei curioso para saber de quais carros não há alternativa além do guincho.
Esse ataque também pode permitir ao invasor levar bens importantes deixados no carro.
O atacante pode capturar o sinal de travamento quando o usuário entra na loja e roubar o carro enquanto ele ainda está lá.
Um cenário ainda mais cruel é impedir a vítima de usar o carro como refúgio em situações de emergência (tentativa de homicídio, sequestro etc.).
Fiquei curioso por que carros não usam criptografia de chave pública. A aplicação em key pop é pesada demais para computação?