Por uma questão de dinheiro: pesquisa e exploração de vulnerabilidades em terminais de pagamento móvel



Os pagamentos com cartão estão se tornando cada vez mais populares. Os terminais de pagamento móvel (terminais mPOS) contribuem para o desenvolvimento dessa tendência, reduzindo as barreiras à entrada no mercado de pagamento com cartão para pequenas empresas e empreendedores privados. Além disso, sob certas condições, as operações ainda podem ser realizadas em muitos países (incluindo a Rússia) usando a fita magnética. Cada nova rodada de progresso tecnológico ameaça o ecossistema de pagamentos. Quais questões de segurança podem facilitar o acesso ao mercado de pagamentos com cartão? E o que estamos arriscando continuando a confiar nas antigas tecnologias de cartões, em particular na fita magnética?

Nos últimos anos, o número de operações realizadas com terminais mPOS aumentou significativamente. A intensa concorrência entre os provedores de mPOS tornou extremamente fácil obter esse terminal de pagamento. A assinatura de um contrato leva menos de cinco minutos, e os próprios terminais mPOS geralmente são fornecidos gratuitamente. Agora eles podem ser vistos em todos os lugares. Como terminais POS regulares, eles são o elo final na infraestrutura de pagamento. Isso os torna interessantes e facilmente acessíveis aos atacantes.

Campo de estudo


Avaliamos os produtos dos principais fornecedores de terminais mPOS: PayPal, Square, iZettle e SumUp. Alguns deles prestam serviços em várias regiões do mundo. Tentamos obter acesso a serviços em diferentes regiões onde era possível, uma vez que o processo de pagamento, aplicativos e dispositivos, bem como as configurações de segurança, diferem dependendo da localização.

O fornecedorFabricanteTerminalRegião
SquareSquareTerminal sem contato
cartões e cartões com o chip Square (S8)
EUA
SquareSquareTerminal para cartões magnéticos
Quadrado (S4)
EUA
SquareSquareTerminal para cartões sem contato e cartões com o chip Square (S8)Europa
SquareSquareTerminal quadrado magnético para cartões (S4)Europa
SquareSistemas MiuraMiura M010EUA
Sumup(não é público)AIR1 E001Europa
iZettleDatacsYRWCRONEEuropa
PaypalSistemas MiuraMiura M010Europa

Fabricantes e fornecedores de terminais mPOS




terminais mPOS

Realizamos uma análise de segurança dos dispositivos em cinco categorias:

  • comunicação entre o telefone e o servidor do sistema de pagamento;
  • comunicação entre o telefone e o terminal mPOS;
  • mecanismos de proteção física do terminal mPOS;
  • aplicativo para celular;
  • fatores adicionais que afetam a segurança, em particular a verificação durante o registro.




As principais áreas de pesquisa

Processo de pagamento


Estudamos minuciosamente os vetores de ataque e os problemas de segurança de pagamento com cartão. As vulnerabilidades descobertas por nós põem em risco a principal funcionalidade do terminal mPOS.

A principal diferença entre o mPOS e os terminais POS convencionais é que o vendedor não está diretamente conectado ao banco adquirente. Em vez disso, os fornecedores de mPOS atuam como agregadores de pagamento, que cobram uma taxa de transação. Esses serviços de pagamento nem sempre podem garantir o nível de segurança fornecido pelo banco adquirente. Os fornecedores de MPOS minimizam os riscos de segurança à sua maneira, muitas vezes transferindo a responsabilidade por fraudes para o banco adquirente. É importante entender que esses agregadores de pagamento são realmente vendedores que interagem com o banco adquirente.



O processo de pagamento via terminal mPOS

Riscos de pagamento com cartão


Existem vários métodos de pagamento com cartão. Eles dependem do sistema de pagamento, emissor e país de emissão. Durante a transação, o cartão transmite uma lista dos métodos de verificação do titular do cartão (CVM), que descreve os métodos suportados e sua prioridade. A CVM também regula o que deve acontecer se o método selecionado não funcionar. O terminal armazena o arquivo de configuração, que também descreve os métodos de verificação suportados. O terminal compara esses dois arquivos e tenta realizar a transação usando o método de primeira prioridade. O método de prioridade deve fornecer um alto grau de garantia de que o titular do cartão estava presente durante a operação.

Alguns tipos de pagamento são obviamente mais seguros que outros. O pagamento com cartão e com a inserção de um código PIN é considerado o método mais seguro, pois oferece um alto grau de garantia de que a operação foi aprovada pelo titular do cartão. A fita magnética é considerada uma tecnologia menos segura, porque um invasor pode clonar facilmente a fita magnética e os dados do Track2 armazenados nela e forjar a assinatura do titular do cartão. As operações realizadas com a fita magnética não garantem que o titular do cartão esteja realmente presente durante a transação. Diferentemente das transações com cartão que suportam o padrão EMV, as transações usando a fita magnética ocorrem sem um criptograma. Isso significa que essas operações não garantem a integridade e autenticidade da transação durante sua execução.

Adotando o padrão EMV


Cada vez mais pagamentos no mundo são realizados de acordo com o padrão EMV (Europay, Mastercard, Visa), ou seja, usando cartões com chip. No entanto, a adoção do padrão é mais lenta em algumas regiões do que em outras. Nos Estados Unidos, as transações EMV representam menos da metade de todas as transações . A maioria das operações ainda é realizada usando uma tira magnética. Na Europa, cerca de 90% de todas as operações são conduzidas de acordo com o padrão EMV .

Resultados da pesquisa


Manipulando o dispositivo: enviando comandos arbitrários


Um invasor pode se conectar ao dispositivo via Bluetooth e executar operações arbitrárias. Para isso, ele precisa de informações sobre os serviços Bluetooth em execução no dispositivo, bem como as características e funções correspondentes. Essas informações podem ser obtidas usando engenharia reversa antes do ataque. Um invasor precisa apenas acessar um terminal mPOS, um telefone que suporte o registro de eventos da interface do controlador host (HCI) e um aplicativo móvel. Usando o registro de eventos HCI, o invasor tentará obter informações sobre as principais funções do terminal mPOS. Para fazer isso, ele conduzirá operações de teste usando diferentes métodos de pagamento e comparando os resultados. Quando as informações necessárias são recebidas, o invasor que usa o Wireshark analisará a comunicação entre o telefone e o terminal mPOS. Essas informações, bem como os dados do aplicativo móvel, permitem comparar funções com seus comandos e identificadores. A Figura 5 mostra a mensagem “Insira (deslize) o cartão” no visor do terminal mPOS.



A mensagem "Inserir (furto) cartão" enviada ao visor

Se o cartão não estiver inserido corretamente, a mensagem de erro "Pegue o cartão" será exibida no visor. No log da HCI, vemos qual UUID é responsável por exibir o texto e um exemplo dos dados que estão sendo enviados.



A mensagem “Pegue o cartão” no visor do terminal mPOS



O primeiro pacote Bluetooth é responsável por enviar a mensagem "Por favor, pegue o cartão"



O segundo pacote Bluetooth é responsável por enviar a mensagem "Por favor, pegue o cartão" (a mensagem é dividida em dois pacotes devido ao pequeno tamanho máximo de um pacote Bluetooth Low Energy).

A figura abaixo mostra que o valor enviado ao terminal mPOS consiste em cinco partes. Inclui um prefixo que contém o identificador do comando, o valor do contador dos comandos enviados e o tamanho da carga, o texto principal na forma de caracteres ASCII, bem como o postfix, o valor da soma de verificação e o byte final.



Elementos dos dois pacotes responsáveis ​​pelo envio da mensagem "Pegue o cartão"

No exemplo a seguir, o terminal usa o Bluetooth Classic para se comunicar com o telefone. Vemos a mensagem “Inserir (deslizar) o cartão” enviada para o visor do terminal.



A mensagem “Insira (deslize) o cartão” no visor do terminal mPOS



Pacote Bluetooth (na janela Wireshark), responsável por enviar a mensagem "Inserir (deslizar) o cartão" para a tela do terminal mPOS

A figura abaixo mostra que esses dados consistem em três partes: prefixo, mensagem e soma de verificação. O prefixo também contém o contador, o ID do comando e o tamanho da carga útil. A mensagem contém o valor "Inserir (deslizar) cartão" na codificação ASCII. A soma de verificação é o XOR de todos os bytes da mensagem.



Elementos da embalagem responsável pelo envio da mensagem “Inserir (furto) cartão”

Usando essas informações, você pode criar um comando arbitrário e enviá-lo para a exibição do terminal mPOS. Três dos dispositivos que testamos mostraram-se vulneráveis ​​a esse vetor de ataque.

O fornecedorFabricanteLeitorRegião
Sumup(não é público)AIR1 E001Europa
iZettleDatacsYRWCRONEEuropa
SquareSquareQuadrado (S8)EUA

Lista de terminais vulneráveis ​​ao envio de comandos arbitrários. Embora o leitor Square (S8) não tenha uma tela, um invasor pode enviar outros comandos arbitrários.

Esse vetor de ataque pode ser usado em conjunto com a exploração de outras vulnerabilidades para oferecer ao cliente tipos de operações menos seguros, como tarja magnética. Este cenário é descrito nas Figuras 14-16. Além disso, um invasor pode enviar uma mensagem "Pagamento recusado" para forçar o titular do cartão a realizar várias transações.



O titular do cartão está tentando inserir um cartão



A mensagem “Por favor, desenhe um cartão” enviada ao visor do terminal força o titular do cartão a usar a tarja magnética



A operação foi bem sucedida - para a operação usando a fita magnética, você deve deixar uma assinatura.

Quantidade falsa


Existem diferentes maneiras de interceptar o tráfego entre o terminal mPOS e o servidor do sistema de pagamento. Já descrevemos um deles: gravar eventos de HCI em um celular e analisar os resultados. Para fazer isso, você deve habilitar o desenvolvedor (Android Developer Mode). Um invasor pode seguir outros caminhos, por exemplo, interceptando o tráfego HTTPS entre um aplicativo móvel e um servidor do sistema de pagamento. Isso é possível porque, na maioria dos casos, o servidor do sistema de pagamento gera comandos e os envia ao terminal mPOS. Para proteger o aplicativo móvel da interceptação de HTTPS, todos os fornecedores dos terminais testados por nós usam a fixação SSL.

A figura abaixo mostra um exemplo de pagamento inicial interceptado por dois métodos diferentes. Conseguimos interceptar o tráfego HTTPS usando o ataque man-in-the-middle e ativamos o modo de depuração. O valor da transação é fornecido em forma não criptografada. O valor 0100 corresponde a £ 1,00.



Pagamento inicializado usando o terminal mPOS

Tendo interceptado o tráfego HTTPS, podemos alterar o valor da transação. Então você precisa recalcular a soma de verificação. Depois disso, podemos enviar o valor alterado do valor ao servidor do sistema de pagamento para confirmar a transação. Encontramos cinco terminais vulneráveis ​​à modificação de quantidade em operações de tarja magnética.

O fornecedorFabricanteLeitorRegião
SumupAIR1 E001Europa
iZettleDatacsYRWCRONEEuropa
SquareMiuraMiura M010EUA
MiuraMiura M010EUA
Paypal
SquareSquareSquareEUA / Europa
Leitor de tarja magnética (S4)

terminais mPOS vulneráveis ​​à falsificação de quantidade

Um vendedor sem escrúpulos pode induzir o titular do cartão a confirmar uma transação por um valor muito maior. Durante a operação, o vendedor exibe uma quantia no visor do leitor, mas, ao mesmo tempo, uma quantia maior é enviada ao fornecedor do terminal mPOS para confirmação. Este ataque é mostrado na figura abaixo.



Esquerda: o valor enviado ao servidor do sistema de pagamento (1,23 £). Direita: a quantia que o titular do cartão vê (1 £)

Essa vulnerabilidade afeta terminais que suportam operações de tarja magnética. Durante as operações, o terminal envia apenas dados criptografados do Track2; a operação em si não é certificada. Esse vetor de ataque não funcionará se a operação for realizada de acordo com o padrão EMV, pois nessas operações as informações sobre a quantidade são armazenadas no criptograma. Os pagamentos PayPass e payWave sem contato que suportam os modos herdados (PayPass MAGSTRIPE e PayWave MSD) não fornecem esse nível de proteção, pois a quantidade de informações também não é protegida por um criptograma.

Para entender a magnitude do problema, basta lembrar que menos de 50% das transações nos Estados Unidos são realizadas de acordo com o padrão EMV. Além disso, os limites para uma operação com o uso da fita magnética verificada por nossos prestadores de serviços na Europa e nos EUA são incrivelmente altos e atingem € 50.000 e $ 50.000, respectivamente.

Esse ataque pode ser evitado usando o controle criptográfico da integridade dos campos de valor e moeda e comparando o valor e a moeda da operação no leitor com o valor confirmado pelo provedor de serviços. É importante observar que o padrão PCI DSS (versão atual 3.2.1), que regula o armazenamento, o processamento e a transmissão de dados do cartão, não exige essas verificações no caso de operações usando a fita magnética. Uma operação requer apenas a transferência de dados do Track2.

Execução remota de código


Dois dos terminais que testamos mostraram-se vulneráveis ​​à execução remota de código. A exploração desta vulnerabilidade fornece ao invasor acesso total ao sistema operacional do terminal. Depois que o invasor obtiver acesso total ao sistema operacional, ele poderá interceptar os dados do Track2 antes da criptografia ou ativar o modo não criptografado (para enviar um comando) no teclado do terminal para interceptar o código PIN.

O fornecedorFabricanteLeitorRegião
SquareMiuraMiura M010EUA
PaypalMiuraMiura M010EUA

Lista de terminais vulneráveis ​​à execução remota de código



Vídeo Nyan Cat no visor do terminal Miura M010. A execução remota de código fornece ao invasor acesso total ao sistema operacional do terminal

Protecção física


Os mecanismos de segurança física da maioria dos terminais mPOS são bastante confiáveis. O leitor de cartão magnético quadrado (S4) não garante o nível de segurança e sofisticação tecnológica característico dos leitores de cartão com chip e sem contato. No entanto, esse deve ser um requisito padrão do dispositivo, fornecido ao vendedor gratuitamente. Os terminais restantes fornecem o nível adequado de proteção física, mecanismos de suporte para evitar violações e outras medidas para impedir invasões de hardware.

Mecanismos anti-adulteração


Os sistemas anti-adulteração ajudam a impedir a abertura do terminal com uma broca e outras ferramentas. Quando você tenta abrir os interruptores, o dispositivo para de funcionar. Além disso, a maioria dos leitores opera com base em padrões proprietários. Sem acesso à documentação do desenvolvedor, é impossível obter informações valiosas abrindo fisicamente o dispositivo.



Unidade interna IZettle YRWCRONE



Sistema de detecção de violação IZettle YRWCRONE

Conclusão


Descobrimos que mais da metade dos terminais mPOS são vulneráveis ​​a ataques, enquanto, em geral, todos os fornecedores de terminais mPOS que analisamos se mostraram vulneráveis. Registramos vários problemas sérios de segurança, em particular vulnerabilidades para a execução de comandos arbitrários, falsificação de somas e execução de código remoto.
Na maioria dos casos, os mecanismos de proteção de terminais de hardware são confiáveis ​​e desenvolvidos. No entanto, outros aspectos, como os relacionados ao aplicativo móvel e ao procedimento de registro, são muito menos protegidos.

Os desenvolvedores de terminais mPOS enfatizam a facilidade de registro e uso de dispositivos. Esses são elementos-chave do modelo de negócios, mas não leva em conta que a redução das barreiras à entrada no mercado de pagamentos com cartão deve ser acompanhada por um aumento significativo da segurança. Não há dúvida de que a fraude do vendedor continuará sendo um problema sério para os fornecedores de terminais mPOS. É necessário desenvolver uma abordagem séria à segurança, incluindo a verificação durante o registro e o monitoramento rigoroso dos pagamentos.



Autores : Lee-Ann Galloway, Timur Yunusov, Artem Ivachev, Mark Kearney, Alexey Stennikov | Tecnologias positivas

Source: https://habr.com/ru/post/pt436952/


All Articles