REGISTRO DOI: 10.5281/zenodo.10038993
Gerson Henrique Celestino Santos
Resumo
O cartão MIFARE Classic é um dos cartões mais utilizados no mundo. Foi criado pela NXP Semiconductors, e utiliza comunicação RFID compatível com o padrão ISO 14443A. Utiliza protocolo de criptografia proprietários, tendo como princípio a “segurança por obscuridade”. Este cartão vem sendo utilizado em sistemas de controle de acesso e principalmente substituindo tíquetes de transporte público. Em 2008 dois grupos de pesquisadores conseguiram chegar à engenharia reversa do protocolo de comunicação e da cifra Crypto-1 utilizados no cartão descobrindo uma série de fraquezas de segurança que comprometeram seriamente a reputação do cartão. Desde então, o MIFARE Classic tem recebido muita exposição na mídia, e vem sendo pesquisado outras formas de ataque, pois existem diversos sistemas importantes que ainda utilizam esta tecnologia com a segurança do cartão comprometida. Neste trabalho serão apresentados as características do cartão e os principais tipos de ataques.
Palavras-chaves: Mifare Classic, Mifare, NFC, Cartões NFC, SI, Segurança da informação, Segurança, Transporte público, Cartões de transporte, Crypto 1, Criptografia, Autenticação, Protocolos de acesso, Clonagem de cartão, Privacidade, Cartão Contactless, RFID, Infosec, controle de acesso
Introdução
Cartões de RFID (acrônimo para Radio-Frequency IDentification) s˜ao amplamente utilizados e uma ferramenta muito comum para o controle de acesso tanto pela sua praticidade quanto pelo seu baixo custo. O cartão MIFARE Classic já está no mercado a diversos anos, foi o cartão que iniciou a revolução dos cartões contactless em 1994 e é fabricado pela NPX Semiconductors. No ano de 2009 dos um bilhão de cartões contactless vendidos os cartões MIFARE Classic representavam uma fatia maior que setenta por cento desse número
Esses cartões são utilizados em diversos lugares do mundo para realizar o controle de acesso e pagamento de transporte público, alguns exemplos são:
- Massachusetts Bay Transportation Authority em Boston, Massachusetts nos EUA. São utilizados cartões MIFARE Classic no cartão de transporte público chamado CharlieCard;
- Até 2010 era utilizado pela TFL no cartão Oyster Card. Cartão de transporte utilizado em Londres e algumas regiões próximas, porém em fevereiro foi encerrada a emissão de novos cartões MIFARE Classic e passou a ser utilizado uma nova tecnologia de cartões chamada MIFARE DESFire EV1;
- Conforme COYNE na Austrália desde 2007 são utilizados os cartões MIFARE Classic onde leva-se o nome de SmartRider. Todavia, o país já possui um plano que vem sendo estruturado desde 2018 para implementar uma nova tecnologia na bilhetagem eletrônica que tem previsão de começar a ser utilizado em 2021. Segundo a ministra do transporte australiana Rita Saffioti “O sistema existente do Smart Rider serviu muito bem o público da Austrália mas, como toda tecnologia, chega um momento onde tanto a infraestrutura como a sua rede precisa ser melhorada e substituída”;
- EasyCard é utilizado no Taiwan desde 2002, e utilizou o MIFARE Classic até ser lançado a sua segunda versão em Agosto de 2012. É ́ usado para outras atividades além do transporte
- Na Holanda é utilizado o ov-chipkaart da empresa TRANSLINK, a partir de outubro de 2011 a empresa responsável pela emissão dos ov-chipkaart deixou de utilizar os cartões MIFARE Classic por motivo de segurança devido `às várias falhas encontradas nos cartões desde a sua criptografia foi ”crackeada”em 2008.
Dos cinco exemplos citados, quatro não utilizam mais o MIFARE Classic como a tecnologia de seus cartões de bilhetagem eletrônica.
Problema
Esses são um tipo de cartão RFID que utiliza uma criptografia chamada CRYPTO-1, a qual utilizou da segurança como obscuridade como meio de proteção. O cartão foi analisado por pesquisadores (GANS; HOEPMAN; GARCIA, 2008) e (NOHL; EVANS, 2008) e foi concluído que os MIFARE Classic utilizam uma camada de comunicação segura desenvolvida propriamente para ele, divergindo do padrão especificado ISO 1443, nessa camada é utilizada a cifra CRYPTO 1 para fornecer a confidencialidade e autenticação mútua entre cartão e leitor. Porém essa cifra sofreu uma engenharia reversa (GANS; HOEPMAN; GARCIA, 2008).
Durante o protocolo de autenticação, caso a leitora envie bits de pareamento inválidos o cartão encerra a comunicação. Porém, se os bits de pareamento estiverem corretos e a informação de autenticação errada, o cartão responde com um código de erro encriptado. Essa informação ao quebrar a confidencialidade da cifra, permitindo que seja estabelecido um side channel e abrindo a possibilidade de ataques de deste tipo. Um ataque side channel que quebra a criptografia utilizando informações vazadas pela mesma (PORUP, 2019).
Cartões de transporte precisam de um valor salvo dentro deles para a identificação do usuário do cartão, se um usuário mal intencionado tiver acesso a chave de leitura (para procurar o local do cartão onde fica salvo a identificação e de controle (para modificar o dado contido no cartão) e trocar essa identificação por a de outro usuário, caso o cartão não possua salvo dentro de si o valor em dinheiro depositado nele ao passar pela catraca do transporte seria descontado essa passagem no cartão de outro cidadão, considerando é claro que ela possuiria aquele valor disponível. E caso o cartão possua em si mesmo o valor depositado por aquele usuário? Nesse caso seria ainda mais simples, bastaria procurar com a chave de leitura o valor hexadecimal nos setores do cartão correspondente ao valor depositado no cartão ou seja uma informação que você já possui e poupa o trabalho de descobrir qual é a identificação do cartão.
Segurança da Informação
Segundo ALVES “visa proteger a informação de forma a garantir a continuidade dos negócios, minimizando os danos e maximizando o retorno dos investimentos e as oportunidades de negócios”.
A International Organization for Standardization (ISO) e a International Electrotechnical Commission (IEC) possuem uma padronização mundial a ISO/IEC 17799:2000, no Brasil a ABNT homologou a versão brasileira da norma, denominada NBR ISO/IEC 17799 que define em INFORMA BR a Segurança da Informação “como uma proteção das informações contra uma ampla gama de ameaças para assegurar a continuidade dos negócios, minimizar prejuízos e maximizar o retorno de investimentos e oportunidade comerciais”. Posteriormente foi criada com base na norma 17799 a BRASIL 27001, que contém os requisitos para implementar, estabelecer e documentar um sistema de gestão de segurança da informação.
SE MOLA define-se como “uma Área do conhecimento dedicada a proteção de ativos da informação contra acessos não autorizados, alterações indevidas ou sua indisponibilidade”.
Para FERREIRA a segurança da informação “protege a informação de diversos tipos de ataques que surgem no ambiente organizacional, garante a continuidade dos negócios, reduz as perdas e maximiza o retorno dos investimentos e das oportunidades”.
No passado, a forma com que era tratada a proteção dados era muito mais simplista, bastava um armário com chaves para os dados serem todos armazenados com uma segurança razoável. Isso porque todas as informações eram apresentadas apenas em papel. Com o passar do tempo, no século XX, foram introduzidos pequenos bancos de dados e armazenados no próprio computador com acesso restrito, isso porque poucas pessoas podiam manipular a máquina. Com o advento da internet essa situação foi mudando, já no final do século XX a Globalização veio e trouxe drásticas mudanças na administração de negócios. Informações não podem circular pelos computadores sem maiores preocupações pois os computadores eram conectados pelas redes de computadores e tornou possível acessos não autorizados.
Nos dias atuais a dependência que temos de sistemas informatizados é enorme, a complexidade de algumas organizações tornam seus funcionamentos dependente exclusivamente dos ditos sistemas, tornando-os ativos ainda mais importantes e valiosos dentro das organizações, pois, passam a integrar, organizar, processar e transmitir todos os dados corporativos tornando os processos mais rápidos e eficientes. Porém com grandes poderes vem grandes responsabilidades, graças a esse enorme poder dos sistemas de tornar mais eficiente os processos das empresas, também quer dizer que cada vez mais e mais dados estão disponíveis de forma digitalizada.
O trabalho da SI é garantir que seus princípios estejam todos sendo atendidos e com cada vez mais informações disponíveis de forma digitalizada e na rede, isso acarreta em uma maior importância em garantir a segurança desses dados.
Cartão MIFARE Classic
Este capítulo visa explicar o que é um cartão de RFID, abordar em detalhes, a história do cartão contextualizando a sua estrutura, vulnerabilidades e os principais ataques que levaram a ineficácia do MIFARE Classic.
O que é RFID
A tecnologia RFID (Radio frequency identification technology ) surgiu na segunda guerra mundial, onde era utilizada nos sistemas de radares de várias nações como Alemanha, Japão, Inglaterra e EUA. Esses radares criados pelo físico WATSON-WATT permitiam que fossem realizadas notificações de aproximação de aviões mesmo distantes (CIRIACO, 2009).
Figura 6 – Como funciona o RFID
Fonte: http://www.afixgraf.com.br/como-funciona-rfid/
Um sistema de RFID ́ é composto por no mínimo quatro itens como podemos ver na imagem 6. Primeiramente temos a Tag RFID, geralmente essa tag se encontra dentro dos cartões e nela é armazenado os dados que serão lidos posteriormente. A antena é utilizada pelo aparelho de leitura para enviar sinais de radio frequência em busca de tags a serem identificados. A leitora é a que vai ler os dados contidos na tag e se comunicar com o middleware. Middleware no contexto de RFID se refere a um software de tratamento dos dados antes de encaminhá-los para um software, geralmente, de gestão empresarial. O software utilizado depende totalmente do contexto no qual o sistema é implementado.
História do cartão
O MIFARE Classic foi introduzido em 1994 pela Philips (agora NXP Semiconductors), e é um dos mais amplamente implantados cartões inteligentes de RFID. Ao longo dos anos, vários proprietários de sistemas chegaram à conclusão de que o MIFARE Classic era um produto adequado para o uso, ou seja, um compromisso justo entre funcionalidade, velocidade, segurança e custo. O MIFARE Classic detém um design bastante antigo (1994) que logo se tornou um produto de sucesso, entretanto os problemas começaram desde o seu início com a falha escolha de design que nunca foi planejado, efetivamente, para ser um sistema de alta segurança, comparando-o com o chip GSM, que é um chip utilizado normalmente em comunicações telefônicas, em um ataque de força bruta o GSM exigia, em média 280 vez mais tentativas do que o MIFARE (MAYES; CID, 2010).
Em 1999, com os esforços da Electronic Frontier Foundation para construir um cracker sobre a chave DES ocorreu a recuperação de uma chave DES no cartão MIFARE após 22 horas de testes contínuos, com isso por volta dos anos 2000 já estaria claro que o cartão era vulnerável a ataques de força bruta caso o determinado algoritmo fosse a se tornar publico e um cracker de chave dedicado fosse implementado, logo após em 2004 já havia suspeita de que o produto havia sido submetido a engenharia reversa, embora não tenha sido divulgado publicamente na época.
Apesar da NXP manter o design em total sigilo, em 2007 o pesquisador alemão NOHL; EVANS apresentou suas descobertas iniciais sobre a engenharia reversa na conferencia do CCC e um ano após pesquisadores holandeses GANS; HOEPMAN; GARCIA e D. Garcia, Flávio; van Rossum, Peter; Verdult, Roel; Wichers Schreur recuperaram a descrição lógica da cifra e do protocolo de comunicação e após isso surgiram vários ataques devastadores ao cartão.
Estrutura do cartão
Esta seção explica sobre a estrutura física e lógica do cartão utilizando como base a data-sheet oficial do cartão fornecida pela NPX
O cartão é composto por 16 setores, e esses setores são compostos por 4 blocos, que possuem 16 bytes cada. A figura 7 detalha a estrutura lógica do MIFARE Classic 1K.
Figura 7 – Estrutura lógica do cartão MIFARE Classic 1k
Fonte: Wellington Baltazar de Souza
O primeiro bloco do primeiro setor é um bloco do fabricante, sendo assim, nele não é permitido modificações, somente a leitura. Nesse bloco fica contido o identificador único do cartão, seu UID, salvo nos primeiros 4 bytes do setor; no quinto byte temos um verificador de integridade que realiza uma operação de XOR nos bytes do UID do cartão. O restante dos bytes do bloco são reservados para informações do fabricante do cartão.
Como podemos ver na imagem 7, no último bloco de cada setor temos o bloco de trailer do setor, este setor contém duas chaves, cada uma com 6 bytes. A chave A é não é permitida a sua leitura, já a chave B é opcional e pode ser suscetível à leitura dependendo das configurações de condições de acesso, que são gravadas em 3 bytes. Existe também um byte livre referenciado como O que pode ser utilizado para armazenamento de dados, além disso, quando a chave B não for utilizada, sua área pode ser disponibilizada para o armazenamento de dados.
A cifra CRYPTO-1
A cifra CRYPTO-1 é um algoritmo proprietário desenvolvido pela NXP Semiconductors e projetada especificamente para o cartão Mifare Classic. A cifra se classifica como uma cifra de fluxo e sua principal peça é o gerador de bits pseudo-aleatórios que produz os bits do keystream gerados por um LFSR de 48 bits.
Vulnerabilidades
Vulnerabilidade é uma condição que, quando é encontrada e explorada por um invasor, pode resultar em uma violação na segurança do sistema. Vulnerabilidades são falhas no projeto, implementação ou configuração de programas ou serviços.
Bits de paridade
Os bits de paridade expõem uma frequência no protocolo de comunicação, o cartão calcula o bit de paridade do texto em claro ao invés do texto criptografado. Porém o padrão ISO 14443 define que todo byte enviado deve ser seguido de um bit de paridade. D. Garcia, Flavio; van Rossum, Peter; Verdult, Roel; Wichers Schreur demonstram que o estado interno do LFSR não é deslocado quando o bit de paridade é criptografado.
Autenticações aninhadas
Se um invasor conhece a chave de um único setor, existe uma vulnerabilidade que permite ao adversário recuperar mais chaves. Após a autenticação com essa chave, toda a comunicação entre o leitor e o cartão é cifras. Um comando de autenticação subsequente para um novo setor também será enviado cifrado. D. Garcia, Flávio; van Rossum, Peter; Verdult, Roel; Wichers Schreur explicam que depois do comando de autenticação, o estado interno da cifra recebe a chave do novo setor, e o protocolo de autenticação inicia-se novamente. Nesse momento, no entanto, o desafio do cartão também será enviado cifrado. Na prática, os dados de tempo entre a primeira e segunda tentativa de autenticação expõe muita informação adicional que permite ao invasor prever com precisão qual nonce será usado, pois a distancia entre os nonces utilizados pelo cartão em tentativas de autenticação consecutivas dependem fortemente do tempo entre essas tentativas. Além disso, os dados expostos através dos bits de paridade também podem ser utilizados para melhorar o desempenho do ataque.
Vazamento parcial do keystream
A exposição parcial do keystream nos bits de paridade é outra fraqueza no protocolo de comunicação. Durante o processo de autenticação o cartão efetua a verificação dos bits de paridade antes de verificar a resposta do leitor e se pelo menos um dos oito bits estiver errada, o cartão ignora e não responde. Porém, se todos os bits estiverem certos e a resposta estiver errada o cartão responde em 4 bits com um código de erro 0x5. Combinando o código 0x5 com sua versão criptografada, pode-se recuperar 4 bits do keystream (D. Garcia, Flávio; van Rossum, Peter; Verdult, Roel; Wichers Schreur).
Ataques
Neste subcapítulo foram introduzidos os principais tipos de ataques ao cartão MIFARE Classic que foram alguns dos principais alvos para a engenharia reversa.
Ataque por força bruta
O Ataque de brute force é o tipo de ataque mais simples. O invasor, controlando a leitora do cartão, tenta se autenticar em um setor da sua escolha dentre os 16 disponíveis no cartão fazendo o uso da vulnerabilidade de exposição parcial do keystream nos bits de paridade, respondendo o desafio do cartão com 8 bytes (e 8 bits de paridade) com uma probabilidade de 1/256 de acerto. Com os bits de paridade corretos, o cartão retorna-se a um código de erro criptografado de 4 bits.
Variando o nonce do leitor
Assumindo que o invasor consegue controlar o tempo de inicialização do cartão, consequentemente, podendo causar que o cartão produza sempre o mesmo nR (nonce do leitor). Neste ataque o invasor executa sessões de autenticação até adivinhar os bits de paridade corretos. O estado inicial da cifra de fluxo após alimentá-la com o nR é a 64. Após isso é executada a cifra de fluxo que executa uma outra sessão de autenticação mantendo os primeiros 31 bits da resposta e invertendo o último bit do nR. Agora ao alimentar a cifra de fluxo com o nR o seu estado é a64+1 ou seja, a64 com o seu último bit invertido. Já que a paridade do último byte do nR mudou ( já que foi invertido) e na primeira execução foi encriptado com F(a64) e na segunda execução com F(a64+1) podemos deduzir se o último bit do nR influencia ou não na encriptação, ou seja, saberemos se F(a64) = F(a64+1) ou não.
De acordo com D. Garcia, Flávio; van Rossum, Peter; Verdult, Roel; Wichers Schreur Aproximadamente 9.4% dos estados iniciais da cifra de fluxo possuem F(a64) =/= F(a64+1). Depois de encontrar um a64 que esteja dentre esses 9.4% ele pode fazer uma busca offline com apenas 9.4% de todos os estados existentes.
Variando o nonce do cartão
A metodologia utilizada no ataque é explicada em Variando o nome do leitor. O invasor mantém o mesmo NR durante todo o ataque com o objetivo de encontrar um específico que pode oferecer informações sobre o estado interno da cifra de fluxo. Neste ataque o oposto é realizado, a constante utilizada nesse caso é o nonce do cartão.
Autenticação aninhada
O tempo entre duas tentativas de autenticação pode variar de cartão para cartão, embora seja bastante indiferente para um cartão específico. Portanto o invasor pode estimar esse tempo autenticando-se duas vezes para o determinado setor e, com isso, pode-se estimar a distancia entre a primeira e a segunda tag nonce. Com essas informações o invasor pode autenticar para este setor e, subsequentemente, para outro setor.
ATACANDO O CARTÃO
Para realizar a leitura de qualquer cartão MIFARE Classic, é necessário as chaves de controle de acesso para o determinado cartão. Devido a vulnerabilidades já descritas neste trabalho, é possível recuperar todas as chaves do cartão com o auxílio ílio de algumas ferramentas.
Figura 8 – Fluxo de aplicação dos ataques
Fonte: o autor.
Ferramentas Relevantes
Ferramentas comumente utilizadas para exploração de vulnerabilidades do cartão são leitores de cartões especiais para ataques, leitores RFID normais, ou softwares especializados no MIFARE Classic.
Dentre os softwares mais utilizados e populares temos o MiFare Classic Universal toolKit
1 (NFC-TOOLS, 2021b), um toolkit contendo várias ferramentas constru´ıdas a partir da biblioteca libnfc e crapto1 com ˆenfase no Mifare Classic NXP/cart˜oes Philips RFID. Entre as funcionalidades do toolkit temos: Demonstração e exploração de fraquezas do mifare classic, demonstração do uso da libnfc, demonstrar o uso da implantação do Crapto1 para confirmar funcionamento interno e verificar ataques ou vulnerabilidades. Para sua utilização é necessário um leitor de cartão que possa conectar-se ao computador.
Ainda falando sobre softwares temos o Mifare Classic Offline Cracker (MFOC)(NFC- TOOLS, 2021a), uma implementação de código aberto do ataque de autenticações aninhadas offline, desenvolvido pela empresa de segurança da informação eslovaca Nethemba2. Esse programa permite resgatar chaves de autenticação do cartão MIFARE Classic, todavia, esse ataque apenas é bem sucedido caso já seja conhecida pelo menos uma chave de autenticação.
O Proxmark 3 RDV4 é a versão mais recente dos leitores PROXMARK 3, é um leitor avançado criado para facilitar a pesquisa de sistemas RFID, porém, nos dias atuais é utilizado em testes de penetração, desenvolvimento, pesquisas e por entusiastas de RFID. Conta com
uma comunidade que inclusive possui tutoriais dedicados a testes de penetração de cartões RFID, entre eles, um tutorial para invadir um cartão mifare através de um ataque de leitor (LEE, 2017).
Figura 9 – Leitor PROXMARK 3 RDV4.01
Fonte: o autor.
Ferramentas Utilizadas
O software utilizado como ferramenta no ataque de POC3 foi o MIFARE Classic Tool4, Aplicativo para android que tem como objetivo utilizar o NFC disponível nos smartphones para ler, escrever, analisar etc. Cartões MIFARE Classic. O aplicativo é open-source5 criado por Gerhard KLOSTERMEIERM em cooperação com SySS GmbH e a Universidade de Aalen, atualmente o repositório conta com 43 contribuidores, encontra-se disponível no github6 sob licença GPL-3.0 License.
Devido a falta de recursos e dificuldades de disponibilidade devido a pandemia, não foi possível utilizar ferramentas mais robustas como o Proxmark 3 RDV4, que seria o ideal para ataques subsequentes ao cartão e uma pesquisa mais completa. Foi utilizado um Samsung Galaxy A51 em conjunto com o MIFARE Classic Tool. 4.3 IDENTIFICANDO CHAVES DO CARTÃO
O MIFARE Classic Tool, por ser um aplicativo com funcionalidades muito básicas, não possui ferramentas para crackear ou hackear os cartões lidos, ele não possui nenhuma ferramenta ou capacidade para realizar um ataque de força bruta, por exemplo. Entretanto, segundo D. Garcia, Flavio; van Rossum, Peter; Verdult, Roel; Wichers Schreur a maior parte dos cartões utilizados em sistemas implementados no mundo real deixam as chaves padrão em setores não utilizados ou não diversificam as chaves de maneira alguma. Isso é um erro, pois, chaves de controle de acesso definidas como padrão acabamos entrando no mesmo exemplo citado anteriormente no capítulo Integridade, sua segurança está totalmente dependente da crença de que o invasor não vai acessar seu sistema com a chave padrão do fabricante do cartão. Além do que, conforme foi mencionado no capítulo Ferramentas Relevantes, existem técnicas de ataque especiais que facilitam demasiadamente a recuperação de todas as chaves quando o invasor já possui pelo menos uma.
Através do MIFARE Classic Tool e seu github, temos disponível uma lista contendo dois arquivos de listas de chaves bastante conhecidas por serem muito compartilhadas entre a comunidade de pesquisadores e penetration testers7. As listas, somadas possuem mil e oitenta e quatro chaves de controle de acesso. Realizar um ataque de dicionário com essa lista nos traz uma chance muito maior de sucesso por tempo decorrido do ataque do que um simples ataque por força bruta. Essa foi a metodologia utilizada no nosso trabalho para recuperar chaves de controle de acesso do cartão bem legal de transporte público de Maceió.
Para iniciar o processo de ataque através de dicionário, devemos primeiro abrir o aplicativo e selecionar a opção READ TAG (ler cartão). Com a tela de leitura selecionada vamos selecionar as listas extended-std.keys e std.keys, listas de chaves utilizadas como dicionário para o ataque. Com essa configuração inicial já realizada podemos aproximar o cartão do leitor NFC do dispositivo e na tela ele deverá aparecer que um cartão foi reconhecido.
Identificando Chaves Do Cartão
O MIFARE Classic Tool, por ser um aplicativo com funcionalidades muito básicas, não possui ferramentas para crackear ou hackear os cartões lidos, ele não possui nenhuma ferramenta ou capacidade para realizar um ataque de força bruta, por exemplo. Entretanto, segundo D. Garcia, Flavio; van Rossum, Peter; Verdult, Roel; Wichers Schreur a maior parte dos cartões utilizados em sistemas implementados no mundo real deixam as chaves padrão em setores não utilizados ou não diversificam as chaves de maneira alguma. Isso é um erro, pois, chaves de controle de acesso definidas como padrão acabamos entrando no mesmo exemplo7 profissional que identifica as vulnerabilidades existentes na arquitetura da empresa, as explora e entrega um relatório à empresa, que deverá então tomar as devidas ações para corrigir as falhas de segurança.
citado anteriormente no capítulo Integridade, sua segurança está totalmente dependente da crença de que o invasor não vai acessar seu sistema com a chave padrão do fabricante do cartão. Além do que, conforme foi mencionado no capítulo Ferramentas Relevantes existem técnicas de ataque especiais que facilitam demasiadamente a recuperação de todas as chaves quando o invasor já possui pelo menos uma.
Através do MIFARE Classic Tool e seu github, temos disponível uma lista contendo dois arquivos de listas de chaves bastante conhecidas por serem muito compartilhadas entre a comunidade de pesquisadores e penetration testers. As listas, somadas possuem mil e oitenta e quatro chaves de controle de acesso. Realizar um ataque de dicionário com essa lista nos traz uma chance muito maior de sucesso por tempo decorrido do ataque do que um simples ataque por força bruta. Essa foi a metodologia utilizada no nosso trabalho para recuperar chaves de controle de acesso do cartão bem legal de transporte público de Maceió.
Para iniciar o processo de ataque através de dicionário, devemos primeiro abrir o aplicativo e selecionar a opção READ TAG (ler cartão). Com a tela de leitura selecionada vamos selecionar as listas extended-std.keys e std.keys, listas de chaves utilizadas como dicionário para o ataque. Com essa configuração inicial já realizada podemos aproximar o cartão do leitor NFC do dispositivo e na tela ele deverá aparecer que um cartão foi reconhecido.
Conclusão
Ficou claro através do estudo que o cartão MIFARE Classic é vulnerável e não atende os requisitos de segurança apresentados no capítulo 2 deste trabalho. Suas vulnerabilidades são graves e métodos de ataque contra o cartão são diversos, no capítulo prático desse estudo foi realizado apenas uma metodologia de ataque por falta de recursos para outros testes que demandam equipamento específico, felizmente mas bastou uma metodologia de invasão para o ataque ser bem sucedido. Mesmo não sendo possível realizar o vazamento de todas as informações contidas no cartão devido a falta de um leitor RFID para posteriores ataques, com o Mifare Classic Tool para Android e um Smartphone Galaxy 51 foi possível descobrir quatro de dezesseis chaves de setores do cartão o que já demonstra uma falha de segurança do cartão utilizado pelo sistema de transporte público de Maceió pois deixa a possibilidade para ataques hardnested subsequentes explorando o fato de já se possuírem quatro chaves conhecidas.
Uma solução para tornar o sistema mais seguro seria a suspensão de novos cartões utilizando o MIFARE Classic e passar a utilizar cartões RFID com uma tecnologia mais moderna e segura, um exemplo de tal cartão seria o MIFARE DesFire, cartões que inclusive foi o recomendado pela NPX para a substituição do MIFARE Classic. Solução essa que foi adotada pela maioria dos países que enfrentaram problemas como esses em seus sistemas de transporte público que inclusive foram citados no capítulo 1 deste trabalho.
Impactos da invasão
A parte prática da invasão ao cartão, como podemos ver no capítulo de ATACANDO O CARTÃO, é simples para alguém como mínimo de conhecimento prévio em sistemas operacionais Linux. Portanto o esforço realizado para conseguir uma invasão bem sucedida é extremamente baixo.
A consequência de um ataque bem sucedido é o acesso a todas as informações contidas no cartão e utilizando um cartão Magic, torna possível a clonagem completa, inclusive da UUID e informações do fabricante, consequência essa, que é bastante grave.
Devido a limitações da pesquisa, não conseguimos confirmar se o valor armazenado no cartão de transporte é armazenado diretamente nele. Se sim, a vulnerabilidade do cartão se torna bastante mais grave, seria possível manipular o valor de créditos no cartão.
Trabalhos futuros
O trabalho teve uma limitação de equipamentos disponíveis para realizar diferentes metodologias de ataque, seria interessante para trabalhos futuros a realização dos mesmo
ataques com equipamentos mais robustos como o Proxmark 3 RDV4 ou seu sucessor e analisar a possibilidade de manipular o valor em créditos contido no cartão. Também é interessante para ser feita uma comparação do tempo de ataque entre a metodologia utilizada na parte prática deste trabalho e outras citadas aqui referenciadas pela literatura.
Além disso, também é interessante um trabalho analisando e comparando a segurança do cartão sucessor ao MIFARE Classic e o cartão recomendado para substituí-lo pela própria NPX, o cartão MIFARE DesFire.
Referências
ALMEIDA, Marcio. Hacking Mifare Classic Cards. 2014. Dispon ́ıvel em: https://www.blackhat. com/docs/sp-14/materials/arsenal/sp-14-Almeida-Hacking-MIFARE-Classic-Cards-Slides. pdf⟩.
ALVES, Gustavo Alberto. Segurança da Informação: uma visão inovadora da gestão. Rio de Janeiro: Ciência Moderna Ltda, 2006.
BRASIL, BSI. ISO/IEC 27001 Gestão de Segurança da Informação. 2021. Disponível em:⟨https://www.bsigroup.com/pt-BR/ISO-IEC-27001-Seguranca-da-Informacao/⟩.
CIRIACO, Douglas. Como funciona a RFID? 2009. Dispon´ıvel em: ⟨https://www.tecmundo. com.br/tendencias/2601-como-funciona-a-rfid-.htm⟩.
COYNE, Allie. WA govt wants smartphone, card payments for SmartlRider system. 2017. Disponível em: ⟨https://www.itnews.com.au/news/wa-govt-wants-smartphone-card-payments-for-smartrider-system-472991w⟩.
D. Garcia, Flavio; van Rossum, Peter; Verdult, Roel; Wichers Schreur, Ronny. Wirelessly Pickpocketing a Mifare Classic Card. 30th IEEE Symposium on Security and Privacy, 2009.
FENGYING, Liu. O legislador Xu Yaochang se esforça para estender o sistema de múltiplos cartões da Taiwan Railways para a estação de Miaoli. 2013. Disponível em:⟨http://n.yam.com/Article/20130531525541⟩.
FERREIRA, Fernando N. F. Seguranc¸a da Informa¸c˜ao. [S.l.]: Ciˆencia Moderna, 2003.
GANS, Gerhard de Koning; HOEPMAN, Jaap-Henk; GARCIA, Flavio D. A prática atacou o mifare classic. In: GRIMAUD, Gilles; STANDAERT, Francois-Xavier (Ed.). Smart Card Research and Advanced Applications. Berlin, Heidelberg: Springer Berlin Heidelberg, 2008. p. 267–282. ISBN 978-3-540-85893-5.
INFORMA BR. Segurança da informação. Norma ISO/IEC 17799:2000. 2021. Disponível em:⟨https://www.informabr.com.br/nbr.htm⟩.
KLOSTERMEIERM, Gerhard. MIFARE Classic Tool (MCT), An Android NFC app for reading, writing, analyzing, etc. MIFARE Classic RFID tags. 2021. Disponível em:⟨https://github.com/ikarus23/MifareClassicTool#mifare-classic-tool-mct⟩.
LEE, Lab 401. CHAMELEON MINI: MIFARE CRACKING VIA THE READER ATTACK. 2017. Disponível em: ⟨https://lab401.com/blogs/academy/ chameleon-mini-mifare-cracking-via-the-reader-attack⟩.
Massachusetts Bay Transportation Authority. Fares Overview. 2021. Disponível em:⟨https://www.mbta.com/fares⟩.
MAYES, Keith E.; CID, Carlos. The mifare classic story. Information Security Technical Report,v. 15, n. 1, p. 8–12, 2010. ISSN 1363-4127. Protocols and Cryptography. Disponível em:⟨https://www.sciencedirect.com/science/article/pii/S1363412710000348⟩.
NFC-TOOLS. mfoc: Mifare Classic Offline Cracker. 2021. Disponível em: ⟨https://github.com/nfc-tools/mfoc⟩. . MiFare Classic Universal toolKit (MFCUK). 2021. Disponível em: ⟨https://github.com/nfc-tools/mfcuk⟩.
NOHL, Karsten; EVANS, David. Reverse-Engineering a Cryptographic RFID Tag. In:
USENIX Security Symposium. San Jose: USENIX Security Symposium, 2008. Disponível em:⟨https://www.cs.virginia.edu/$\sim$evans/pubs/usenix08/usenix08.pdf⟩.
NPX. NXP Semiconductors MF1S50YYX-V1. 2018. 4-12 p. Disponível em: ⟨https://www.nxp.com/docs/en/data-sheet/MF1S50YYX V1.pdf⟩.
. MIFARE Classic. 2021. Dispon´ıvel em: ⟨https://www.nxp.com/products/rfid-nfc/ mifare-hf/mifare-classic:MC 41863⟩.
PFLEEGER, Charles. Security in computing. 5ª edic¸˜ao. ed. [S.l.: s.n.], 2015. v. 16. 880 p.
PORUP, J.M. What is a side channel attack? How these end-runs around encryption put everyone at risk. 2019. Dispon´ıvel em: https://www.csoonline.com/article/3388647/ what-is-a-side-channel-attack-how-these-end-runs-around-encryption-put-everyone-at-risk. html⟩.
PROXMARK. Proxmark RDV4, c2021. Dispon´ıvel em: ⟨https://proxmark.com⟩.
SANDOVAL, Thiago C.; JUNIOR, Claudio Penasio. ESTUDO DAS VULNERABILIDADES EM SISTEMAS ONDE A SEGURANÇA SE BASEIA NO PRINCÍPIO DA “SEGURANÇA ATRAVÉS DA OBSCURIDADE”.
SEˆMOLA, Marcos. Gestão da Segurança da Informação: uma visão executiva. Rio de Janeiro. Campus, 2003.
SERAFIM, Vin´ıcius da Silveira. Introdução à Criptografia: Cifras de Fluxo e Cifras de Bloco. 2012. Dispon´ıvel em: ⟨http://www.serafim.eti.br/academia/recursos/ Roteiro 05-Cifras de Fluxo e Bloco.pdf⟩.
SOUZA, Wellington Baltazar de. Cart˜ao MIFARE classic ataques e medidas de contorno. Universidade de São Paulo, 2011.
TFL. Oyster cards. 2021. Dispon´ıvel em: ⟨https://oyster.tfl.gov.uk/oyster/entry.do⟩. TRANSLINK. Home Page. 2021. Dispon´ıvel em: ⟨https://www.ov-chipkaart.nl/home.htm#/⟩.
WATSON-WATT, Robert Alexander. The pulse of radar: The autobiography of Sir Robert Watson-Watt. Primeira e. [S.l.: s.n.], 1959.
YAN-CHIH, Mo. Young engineer hacked into EasyCard, police say. 2011. 2 p. Disponível em:⟨http://www.taipeitimes.com/News/taiwan/archives/2011/09/28/2003514388⟩.
1 https://github.com/nfc-tools/mfcuk
2 ⟨https://nethemba.com/⟩