Corro para avisar os leitores: este artigo foi escrito apenas para fins informativos e, em nenhum caso, não exige nenhuma ação ilegal. O autor não é responsável por nenhuma ação ilegal cometida por pessoas que usem as informações deste artigo.

Saudações ao leitor. Hoje eu quero falar sobre a segurança dos sistemas de controle e gerenciamento de acesso (ACS) em geral e o exemplo do meu LCD. As principais vulnerabilidades serão examinadas, bem como uma tentativa bem-sucedida de copiar chaves. Todas as manipulações serão principalmente de natureza de hardware.
No meu complexo residencial, o sistema de interfone Sinthesi S2 está instalado, bem como o pátio / entrada / piso do sistema de acesso produzido pelo Urmet Group. É tão legal o painel da rua.

até que um dia comecei a ficar assim:

Ela ficou assim por alguns dias e depois migrou para um contêiner de lixo próximo. Tinha apenas um leitor e um teclado. Como uma das áreas da minha empresa é o desenvolvimento de leitores de alta frequência, não resisti e decidi estudar esse leitor de RFID com mais detalhes. A partir da documentação, encontrei apenas um
catálogo enorme, do qual se pode concluir que este é o FD-020-017 - um leitor de 13,56 MHz com a interface Wiegand26. Dentro, havia um sanduíche de placas de leitor (
MFRC531 ) e MK com BLE (
CC2541 ) coladas com adesivo hot-melt no gabinete, que foi claramente desenvolvido não para este painel.

A placa MK é inundada com um composto macio, aparentemente para proteger a parte do rádio da umidade. Torcendo o quadro em minhas mãos, eu o adiei.
Até recentemente, o sistema não me interessava, pois era parcialmente iniciado (apenas os bloqueios de acesso funcionavam, mas eles tinham um código de acesso que eu sabia e não usava uma chave). Depois que o sistema foi iniciado completamente e os códigos de acesso foram cancelados, comecei a estudá-lo com mais detalhes. Começou uma das noites em que voltei para casa e descobri que a porta do vestíbulo já estava funcionando e minha esposa já estava dormindo. Eu só tinha coisas de bolso comigo, mas, como se viu, isso foi suficiente para contornar toda a segurança de elite (como Urmet garante).

Tudo que eu precisava era desaparafusar os 2 parafusos que prendem a estrutura do painel com a chave do carro, remover os 2 blocos e usar a mesma chave para fechar o canal de relé que vai para a fechadura da porta do vestíbulo. Tudo ...
Após esse incidente, quando assisto outro filme de Hollywood (“Passageiros” (2016) no KDPV) e vejo como as portas super secretas são abertas removendo o painel de códigos e colocando pinos no quadro (necessariamente com faíscas e uma abertura espetacular da porta), vejo bastante situação real.
Na minha memória, a maioria dos ACS que eu vi têm acesso ao bloqueio diretamente no painel de códigos e essa é a principal vulnerabilidade. Toda a segurança é fornecida por alguns parafusos que seguram este painel e na crença de que este sistema é confiável. Mas, ao mesmo tempo, é possível aumentar significativamente o limiar de entrada (vamos chamá-lo de proteção contra uma pessoa com uma chave de fenda) usando travas com cérebros controlados por uma interface - mesmo que seja a mais simples. Essa medida reduzirá drasticamente a probabilidade de entrada espontânea.
Dados de origem
O LCD da ACS como um todo, seu funcionamento, reação a outras teclas, bem como uma maneira de adicionar teclas:
- É emitida uma chave gratuita para o apartamento, cada uma delas é de 300 rublos e está registrada na conta pessoal da ACS. Você só pode comprar no Reino Unido. O bate-papo do LCD escreveu que as copiadoras do mercado não podiam duplicar - isso significa que o sistema é mais frio do que apenas ler o UID.
- Ao apresentar qualquer outro cartão mifare, o leitor nem mostra que o vê.
- Quando você leva a chave para outra escada / piso, o leitor pega uma leitura, mas nada acontece.
- Ao ler o conteúdo das chaves 8 e 12, os blocos ficam ocultos e possuem uma chave de acesso diferente das chaves conhecidas da Mifare. Então o segredo está lá fora em algum lugar.

Início do trabalho
Primeiro, copiei o Bloco 0 (o que contém informações sobre o UID e o Fabricante) no disco Mifare Zero e verifiquei que isso não era suficiente - o chaveiro não funcionou. O leitor nem sequer respondeu à apresentação desse clone. Tornou-se claro que você precisa procurar a chave dos setores 8 e 12. Depois de ler todas as bugigangas disponíveis, vi que apenas uma delas tem 12 blocos bloqueados; no restante, é zero; portanto, é óbvio que a mágica está contida no bloco 8.
É hora de adquirir um leitor talentoso e examiná-lo mais de perto. Portanto, temos a interface Wiegand26 FD-020-017 - 13,56 MHz. O MFRC531 e o CC2541 são conectados por um pente de 10 pinos. E ele trabalhou perfeitamente em cima da mesa - sem o resto do sistema. Reagiu às teclas da mesma maneira que o resto dos leitores. Primeiro, vamos ver o que sai:

Silêncio exatamente antes da apresentação de um chaveiro válido. Depois de ler a interface, a mensagem sai em total conformidade com
Wiegand26 . Então decodifiquei o pacote que minha chave envia. Com a ajuda de um multímetro, restaurei a pinagem, verificou-se que os chips se comunicavam pela SPI. Nós conectamos o analisador,

trazemos um chaveiro válido e assistimos à troca pela SPI:

Em seguida, comecei a examinar a documentação do chip
MFRC531 e quase
caí de mãos quando percebi que ele tinha uma EEPROM especial para armazenar chaves. Encontrei os comandos para carregar a chave:

O comando 0x0B é carregado da EEPROM, o comando 0x19 do FIFO, que por sua vez recebe a chave via SPI. Parece que se você carregar uma chave da EEPROM, não tenho chance de reverter esse caminho, MAS para minha surpresa, não há comando de troca 0x0B, mas há um comando 0x19

Resta apenas coletar a chave de acordo com o formato

E adicione à folha de chave.

Bingo !!! Verificou-se que o bloco 8 começa com 3 bytes diferentes de zero, que apenas vão para Wiegand quando o chaveiro e o leitor coincidem. Esses dados não têm nada a ver com o UID - provavelmente é apenas um número de série quando emitidos no Código Penal. Meus porta-chaves tinham 3 números seguidos + um muito diferente. A gravação do espaço em branco foi bem-sucedida. Combinei a chave do LCD com a do escritório, que funciona pela UID.
Conclusão
Para uma invasão bem-sucedida do sistema, preciso agradecer ao programador do Urmet Group, que enganou francamente ao escrever um software para o leitor, porque se houver hardware capaz de eliminar esse método de invasão (geralmente bastante simples), você não poderá fazer isso, não poderá nomear nada além de hackear o trabalho.
A maioria das pessoas que trabalha com a tecnologia RFID sabe que o algoritmo de criptografia
Crypto-1 usado nos cartões Mifare (Classic) está quebrado há muito tempo e foi possível obter a chave do bloco de uma maneira mais "limpa", mas fui direto.
Em nossos próprios projetos, usamos leitores programáveis com dicionários de senha única para criptografia. Isso permite que você se proteja da clonagem se o cartão original estiver conectado ao leitor antes do clone; caso contrário, ele detectará duplicação (o cartão original deixará de funcionar).