domingo, 19 de dezembro de 2010

EMV

Nesse Artigo discutirei sobre um assunto que desperta muita curiosidade nas pessoas e eu só não postei um artigo sobre EMV antes pois esse assunto tende a atrair todo tipo de pessoa mal intencionada (leia-se Estelionatários), porém pensando bem nem todos são assim e tem o direito de saber o quanto "seguro" são os cartões com chip que carregam na carteira. O sistema bancário afirma que não existe formas de fraude em cartões com chip, tanto que até se negam a reembolsar e a culpa nesses tipos de fraude recai sobre os clientes, porém não existe sistema seguro, ainda mais o inventado por homens e o EMV não é uma exceção ele possui falhas e brechas algumas muito burras outras nem tanto como vocês perceberão ao longo deste polemico artigo, então espero que aproveitem!


O que é EMV?
Também conhecido por Chip an PIN o EMV é um consórcio criado inicialmente por 3 empresas sendo elas Europay, Master Card e Visa (Europay foi comprada pelo grupo Master Card anos mais tarde), novas empresas foram se unindo a este consórcio mais tarde como American Express, esse consórcio tem como principal função estabelecer normas e padrões que cartões com chip também conhecidos como ICC (Integrated Circuit Card), devem seguir para se adequarem ao padrão EMV, desde especificações elétricas até a regra de negócios a ser seguido. A história por traz do Smart Card vocês já conhecem se não de uma olhada no meu primeiro artigo "Gênesis" o qual faço referencia a uma breve história sobre Smart Cards.
A motivação por trás de sua criação era a excessiva quantidade de fraudes exercidas sobre os cartões com Tarja Magnética na década de 90, a sua criação causou uma queda significativa em 98% das fraudes. Outra razão além do expressivo ganho de segurança foi a interoperabilidade entre diversas operadoras de cartões.
A especificação EMV se utiliza em grande parte das especificações contidas na ISO7816 para cartões de contato e ISO14443 para cartões de proximidade, adicionando a elas a regra de negócios e definições de segurança. Esse artigo será baseado exclusivamente no EMV voltado para Cartões de Contato, por serem os mais abundantes no mercado brasileiro na época em que esse artigo estava sendo escrito (2012).

Cartões Magnéticos (Magnetic Stripe Cards)
Não poderíamos falar de EMV sem antes falarmos sobre seu predecessor o cartão magnético, embora não pareça EMV possui uma grande afinidade com os cartões magnéticos inclusive em uma vulnerabilidade como será vista mais para frente nesse artigo.
Basicamente um cartão magnético possui uma Cinta Magnética conhecida também por Banda Magnética, e funcionam exatamente da mesma forma que as antigas Fitas K7 de áudio, vídeo ou os antigos disquetes.
Tanto que a cabeça de leitura de um cartão magnético é idêntica as cabeças de leitura de um gravador antigo de fitas K7, diferenciando-se apenas por possuir três pontos de leitura ao invés de uma do leitor K7.
A Banda Magnética de um cartão possui três trilhas para armazenamento de dados sendo que para uso Bancário apenas as 2 primeiras são usadas efetivamente a terceira trilha pode ser ignorada.
Na primeira trilha geralmente podemos encontrar o PAN (Primary Account Number) ou seja o número de sua conta bancária (para cartões bancários) ou o número do seu cartão de crédito, seu Nome composto de até 26 caracteres, Data de Expiração do Cartão e o CCV (Card Verification Value) composta de uma Chave usada para autenticar seu PIN (Senha), a senha não fica gravada no cartão.
Na segunda trilha podemos encontrar novamente o PAN a Data de Expiração e um registro de serviço para este cartão, esse registro é responsável por definir como o cartão será tratado pelo Terminal seja ele Bancário ou pelo POS (as famosas maquininhas).
Dependendo desse registro a Senha deverá ou não ser requisitada, o cartão possui ou não um chip, determinada transação deverá se executada ou não via chip, o cartão é ou não internacional, o cartão é bancário ou crédito ou ambos, etc.
São cartões extremamente fáceis de serem lidos e replicados, a única "barreira" seria a senha, antigamente o Terminal possuía a autoridade de autentica-la de forma off-line já hoje em dia não mais a autenticação é executada on-line, por isso os estelionatários tem tanto interesse em pega-las de você.

Afinidade EMV x Trilha Magnética
A afinidade mais notável e na minha modesta opinião, a mais Burra reside no Fato que as duas trilhas magnéticas do cartão ficam gravadas em um arquivo de registro dentro do Chip, exatamente da mesma forma e podem ser lidas do chip sem o uso de autenticação alguma!
Ai você meu leitor seleto e inteligente pode estar se perguntando "Será que se eu copiar as informações deste arquivo e replica-los e uma Tarja Magnética ele vai funcionar?" dizem que SIM eu porém nunca testei. =)

Estrutura de Arquivos e Aplicativos EMV
O EMV é organizado através de uma estrutura bem definida de Arquivos e Aplicativos de uma forma muito similar a estrutura de arquivos de um Sistema Operacional como o Windows por exemplo, e essa estrutura foi diretamente herdada da ISO7816 e levemente adaptada.
Aplicativos comuns EMV podem ser a do famoso Crédito e do Débito em Conta, porém o cartão pode ainda conter outros Aplicativos como um de Fidelidade, Vale Refeição, etc.
Cada aplicativo pode ser composto de diversos arquivos de dados, como por exemplo a da trilha 1 e 2 magnética, chaves de segurança, certificados digitais, etc.
Aplicativos EMV também possuem a capacidade de executar operações como validação de senhas e cálculos criptográficos.

EMV File System
A Imagem acima demonstra uma estrutura de Arquivos EMV.

Directory Definition File, também conhecido por Payment System Environment (PSE) o DDF é responsável por armazenar todos os aplicativos EMV disponíveis no cartão e ele pode ser acessado usando-se o comando select da ISO7816 pelo AID (Aplication Identifier): '31 50 41 59 2E 53 59 53 2E 44 44 46 30 31' (1PAY.SYS.DDF01 em caracter), após o select o cartão irá retornar imediatamente o File Control Information (FCI). O FCI é retornado encapsulado no formato BER TLV (link), se acostume com o formato BER pois ele é a forma padrão do EMV retornar dados a você.
O FCI informa inicialmente as preferências de linguagem do Cartão, como está organizado a estrutura de arquivos se por FID (Fixed File Identification) ou SFI (Short File Identification), o primeiro (FID) é muito incomum pois obriga o Terminal a conhecer a estrutura de arquivos do cartão, já o segundo (SFI) é maneira preferencial usada pois permite ao terminal escanear e montar dinamicamente em tempo real a estrutura de arquivos do cartão.
Logo podemos adquirir a Lista de ADF´s (Aplicativos EMV) simplesmente usando o comando read file da ISO7816 passando como parâmetro o SFI '01 0C', '02 0C', ... etc.
Cada leitura de um arquivo do DDF se existir irá retornar dados no formato BER contendo encapsulado o AID da Aplicação, o nome da Aplicação, dados proprietários, seria similar ao comando 'dir' dos DOS. Os Terminais executam essa varredura até o cartão retornar o erro 'arquivo não encontrado'. Com isso podemos montar a Lista de Aplicativos contido no Cartão.
O DDF com AID '1PAY.SYS.DDF01' é muito comum em cartões Visa porém nos cartões Master Card o AID pode ser diferente ou o DDF pode ser simplesmente suprimido, isso porque não é obrigatória a presença do DDF no cartão pois é possível se acessar os Aplicativos sem a necessidade dele como veremos abaixo.

Application Definition File, também conhecido por Payment Application (PA) o ADF é o aplicativo EMV, aplicativo esse que tem a função de realizar a transação de crédito quando você realiza a compra dos seus produtos.
Usualmente existem 1 ou 2 aplicativos destes no cartão, a de Crédito e a de Débito, porém pode haver mais aplicativos geralmente do emissor do cartão.
Existe duas maneiras de se acessar um Aplicativo EMV, listando-o através do DDF ou acessando diretamente através do comando select pelo seu AID, cada Bandeira possui sua lista de Aplicativos com seus AID´s únicos, por exemplo vamos listar os das bandeiras mais comuns a Visa e a Master Card:
  • Visa Crédito / Débito - AID : A0000000031010
  • Visa Electron - AID : A0000000032010
  • Master Card Crédito / Débito - AID : A0000000041010
  • Master Card Maestro - AID : A0000000043060
Então quando o Caixa lhe pergunta se é "Débito ou Crédito?" essa é a Aplicação EMV responsável pela autenticação de crédito das suas compras.
Imediatamente após selecionar a aplicação EVM através do comando select, o cartão irá retornar o File Control Information (FCI) com os seguintes dados encapsulados no formato BER, o nome do aplicativo, as preferências de linguagem, opções de processamento (PDOL), etc.
Após a seleção do Aplicativo EMV, podemos listar todos os arquivos disponíveis da aplicação, executar uma requisição de PIN (senha), executar uma transação completa de crédito, etc.

Application Elementary File, o AEF são basicamente arquivos contendo dados EMV, existem duas formas de se acessar esses arquivos, através do Fixed File Identification (FID) forma incomum pois exige que o Terminal conheça a lista de arquivos, ou pelo Short File Identification (SFI) que podem ser listado dinamicamente em tempo real. 
Arquivos EMV armazenam uma cópia da Trilha Magnética 1 e 2, regras de como o Terminal deve processar determinadas transações, chaves criptográficas públicas do emissor do cartão, assinatura digital dos dados do cartão, número da conta bancária / número do cartão de crédito (PAN), contadores de transação, etc. 

Comandos EMV
Conforme já comentado, EMV faz uso de diversas especificações ISO7816, e para trocas de dados entre Cartão / Terminal o formato padrão seguido é o APDU formato ISO7816-4 abaixo segue os comandos de pós produção de um cartão:

Application Block (0x1E), invalida o Aplicativo EMV selecionado, requer um canal seguro autenticado por nível criptográfico.

Application Unblock (0x18), restaura um aplicativo EMV anteriormente bloqueado pelo comando Application Block, requer um canal seguro autenticado por nível criptográfico.

Card Block (0x16), permanentemente bloqueia todos os aplicativos EMV do cartão permanentemente, requer um canal seguro autenticado por nível criptográfico.

External Authenticate (0x82), autentica um criptograma enviado pelo terminal, esse comando estabelece o canal seguro.

Generate Application Cryptogram (0xAE), esse é o comando base de uma autorização de transação de crédito, ele é dividido em 3 subcomandos, e é o principal responsável por autorizar ou não uma Transação de Crédito.
  • Application Authentication Cryptogram (AAC), usado para Negar uma Transação de Crédito, após o envio do ARQC para a emissora do cartão, ela calcula e valida o ARQC gerado pelo cartão e envia como resposta o Authorisation Response Cryptogram (ARPC) ou não, caso o ARPC seja obrigatório e não seja enviado pelo emissor ou o ARPC seja inválido, o cartão irá negar a transação gerando o AAC.
  • Authorisation Request Cryptogram (ARQC), esse é criptograma mais importante de toda transação de crédito, ele é gerado pelo cartão e enviado para a Visa, Master Card, etc. Com o intuito de se validar a transação de crédito, percebam que alguns comprovantes de pagamento trás impresso nele o ARQC. O ARQC é gerado a partir de um processo criptográfico sobre dados e contadores internos do cartão.
  • Transaction Certificate (TC), após o servidor enviar o ARPC (se ele for obrigatório) e ele for válido, o cartão irá gerar o ultimo criptograma de validação conhecido por Transaction Certificate, que aprova toda transação e envia ao emissor.
Get Challenge (0x84), usado para requerer um criptograma de "Desafio" usado para iniciar uma autenticação de nível criptográfico entre Terminal e Cartão. 

Get Data (0xCA), usado para requisitar dados do cartão, esses dados podem ser os seguintes:
  • Application Transaction Counter (ATC), contador de transações de créditos, esse contador é incrementado sempre que uma transação de crédito é iniciada, independente se terminada com sucesso ou não, o valor do ATC é um dos dados utilizados na geração do ARQC.
  • Last Online ATC Register, contador de ultima transação de créditos de forma on-line.
  • PIN Try Counter, contador de tentativas de erros remanescente de senhas incorretas (quantas tentativas erradas ainda restam).
  • Log Format, formato em que os Logs do cartão está armazenada (incomum na maioria dos cartões).
Get Processing Options (0xA8), o GPO é a forma de como o cartão detecta que uma transação de créditos começou, quando esse comando é invocado o contador ATC é incrementado e o comando retorna dois dados de extrema importância para o Terminal sendo eles:
  • Application Interchange Profile (AIP), o AIP dita todas as regras de como e o que o termina deverá executar durante a Transação de Créditos, cartões sem o AIP são extremamente raros.
  • Application File Locator (AFL), o AFL indica ao Terminal arquivos públicos AEF necessários para a conclusão de uma Transação de Créditos.

Internal Authenticate (0x88), assina dados enviados para o cartão tendo como referencia uma chave privada armazenada internamente pelo cartão. 

PIN Change / Unblock (0x24), altera ou desbloqueia um PIN, a especificação EMV recomenda que esse processo seja realizada através de um canal seguro de nível criptográfico, e que o novo PIN seja transmitido criptografado, porém é aberto a Instituição Bancária o procedimento escolhido. 

Read Record (0xB2), comando usado par ler os dados contidos nos diversos arquivos EMV. 

Verify (0x20), executa uma verificação de PIN.

A especificação EMV ainda define além desse comandos, mais um punhado de comandos específicos para a pré produção do Cartão, ou seja comandos utilizados durante a Pré Personalização, onde os diversos arquivos, chaves de criptografia, assinatura de dados são gravados no cartão, o processo de Pré Personalização está fora do escopo deste artigo e será então suprimido. 

Card Authentication Methods (CAM)
O CAM (Método de Autenticação do Cartão), é um grupo de diretivas utilizadas para garantir que o Cartão é realmente real, tal diretiva é retornada pelo cartão encapsulado no AIP, no momento em que uma transação EMV é iniciada através do comando Get Processing Options (GPO), o CAM define 2 diretivas sendo elas:
  • Offline Static CAM (SDA), indica que somente o Terminal irá realizar operações de criptografia, nesse modo o Terminal irá inicialmente Ler um Certificado Digital contido em um dos arquivos EMV, e a partir de um conjunto de dados sensíveis do cartão irá realizar uma autenticação baseada em Certificação Digital, para garantir que nenhum dado do cartão foi adulterada, geralmente utilizando o algorítimo RSA. (Esse é o modo mais comum e o mais utilizado, porém falho pois não detecta uma clonagem de cartão, pois desde que copiemos todos os dados sem alterar nenhum deles a checagem da assinatura digital vai ser válida mesmo em um cartão falso).
  • Offline Dinamic CAM (DDA), indica que ambos, tanto Terminal quanto Cartão realizará operações de criptografia, nesse modo a autenticação digital deve ser realizada mutualmente pelo Terminal e Cartão, ou seja o Cartão deve assinar dados dinâmicos utilizando uma chave privada interna e o Terminal validar essa assinatura através da chave pública do cartão. (Esse método em teoria é o mais seguro de todos, pois a chave privada está gravada internamente no cartão e nunca é exposta, porém é o método mais raro de todos. Porque? Porque cartões com algorítimo RSA são muito caros e raros, a grande maioria dos cartões EMV só possuem o algorítimo 3DES quando muito AES)
Cardholder Verification Methods (CVM)
O CVM (Método de Verificação do Titular do Cartão), é um grupo de diretivas utilizadas para garantir que o portador do cartão é realmente o verdadeiro e assim como o CAM o CVM vem encapsulado no AIP, CVM define 8 diretivas sendo elas:
  • No CVM requires, o cartão sugere ao Terminal que nenhuma verificação de PIN é necessária.
  • Online Enciphered PIN Verification, o cartão sugere que o Terminal faça a requisição do PIN, criptografe com um algorítimo simétrico e envie para o Emissor do Cartão para verificação.
  • Offline Enciphered PIN Verification, o cartão sugere que o Terminal faça a requisição do PIN, criptografe com um algorítimo simétrico e envie para o Cartão para verificação.
  • Plaintext Offline PIN Verification, o cartão sugere que o Terminal faça a requisição do PIN e o envie sem criptografar para validação no cartão. (Método mais comum e sem dúvidas o mais arriscado)
  • Signature Verification, o cartão sugere que a assinatura do cliente seja requerida e verificada com uma assinatura digitalizada de dentro do cartão.
  • Plaintext Offline PIN Verification and Signature Verification, junção de dos dois modos já citados acima.
  • Offline Enciphered PIN Verification and Signature Verification, junção de dois modos já citados acima.
  • Fail CVM processing, força o Terminal a finalizar a verificação do Titular do Cartão.
Card x Terminal Flow (Fluxo entre Cartão e Terminal)

 EMV Flow (Fluxo EMV)
A ilustração acima demonstra um tipico fluxo de transação bancária através de um Cartão EMV onde :
  • Point of Sale (POS), o Ponto de Venda se localiza no estabelecimento comercial e normalmente se comunica com a Aquierer através de um link ethernet, GPRS ou telefônico.
  • Aquierer, também conhecido como Captadora, a Aquierer fica imediatamente entre o comerciante e o Issuer, exemplos de Aquierer brasileiras se encontram a Redecard, Cielo, Cirrus, Hipercard, etc.
  • Issuer, também conhecida por Emissor, é responsável por autenticar o PIN caso ele seja enviado pelo POS, autenticar o montante de créditos, etc. A Issuer pode ser ainda dividido em diversos servidores, nesse grupo encontramos no topo a Visa, Master Card, Amex, etc. Logo abaixo as Instituições Financeiras (Bancos).
Dentro deste modelo, existem 3 formas de se autenticar uma transação de crédito.
A mais básica de todos é a autorização offline, nesse modelo apenas o POS e o Cartão participam da autorização e nela o POS fica com a responsabilidade de checar a autenticidade do cartão, do portador e da aprovação dos créditos. (Hoje em dia um método muito incomum)
A segunda é a autorização offline, onde o POS realiza as mesmas operações da primeira porém em um momento oportuno o POS transmitirá todas as transações de crédito para a Emissora. (Método usado em locais com ausência ou link com o servidor limitados)
A terceira é o modo online, onde todos os elementos trabalham em conjunto como o exemplificado acima. (O modo mais utilizado atualmente)

Vulnerabilidades e Formas de Ataques contra o EMV
As Instituições Financeiras afirmam que o Chip and PIN, é inquebrável tanto que em alguns países a culpa sobre essas fraudes sempre recaem sobre os clientes.
O EMV é de longe 100% seguro, ele é responsável por uma grande queda nos casos de fraudes no mercado financeiro e um substancial aumento das explosões a caixas eletrônicos.
Isso porque a fraude sobre esse sistema é extremamente difícil. Porém Professores e Alunos do Laboratório de Computação da Universidade de Cambridge provam o contrário.

Explorando as Brechas
Se achou que eu iria vir com aquele papinho furado de que "as informações aqui contidas são para uso educacional e bla bla bla" se enganou, sim o EMV possui Brechas e se você quer se aventurar nisso, você já é bem grandinho(a) para discernir certo do errado, dito isso vamos ao que interessa.  

A Tarja Magnética
Reconhecidamente vulnerável, ela ainda continua lá mesmo em cartões com chip, passiveis de serem lidas e clonadas, sabe qual a única diferença da Tarja de um cartão com Chip para a de um cartão sem Chip? Apenas 1 Bit !
E se isso não fosse o suficiente, os mesmos dados contidas nas Trilhas Magnéticas estão contidas dentro de um dos arquivos EMV dentro do Chip, exatamente como uma Imagem, caso tenham curiosidade em um dos Livros da especificação EMV que se referem a esses dados é "Track 1 Discretionary Data" e "Track 2 Equivalent Data".
O Motivo disso? O cartão continua sendo compatível mesmo em sistemas onde não existe leitura de Chip.

A Clonagem de Cartões
Chip an PIN são clonáveis? Seguramente que sim pois os níveis mais altos de segurança dos cartões ainda estão desativados, ai você me pergunta porque?
Porque alguns recursos não estão presentes nos cartões para diminuição de Custos, por exemplo o Recurso de DDA (Dinamic Card Authentication Method), exige que o cartão implemente RSA, o que o torna mais custoso monetariamente, e em tempo de processamento.
O Recurso de SDA (Static Card Authentication Metethod) utiliza dados estáticos do cartão assinado digitalmente pela Emissora no ato da pré personalização, então caso você clone o cartão integralmente sem realizar alterações nos dados o Terminal nunca perceberá que se trata de um clone.
O PIN raramente é verificado Online, então caso você sempre responda PIN OK para o Terminal ele dificilmente irá perceber que você não conhece o PIN Verdadeiro.
O Terminal raramente criptografa o PIN ao eviar para verificação no cartão, o seja é possível capturar o PIN somente espionando o APDU Verify.
O mais assustador sobre a Verificação de PIN é que ele não possui conexão alguma com a transação de créditos e também não bloqueia o uso dos outros comandos EMV, por exemplo se o Terminal realizar toda a transação de créditos sem verificar o PIN ela se completará sem problemas.
O EMV é um padrão aberto, sendo assim pode ser livremente desenvolvido para Smart Cards como por exemplo Java Card, Multos, .Net Cards, Basic Cards, etc. Inclusive é possível de se criar um Cartão perfeito desde que você tenha acesso as Chaves de Segurança Estáticas 3DES utilizadas na Pré Personalização dos Cartões, o Terminal sempre possui essa lista gravada internamente, e antigamente essas chaves eram Digitadas via Teclado durante a inicialização do Terminal!

YES Card Attack (Ataque por PIN OK)
Um dos ataques mais básicos de todos, trata-se de um cartão clone, onde todos os arquivos EMV estáticos são copiados para dentro do cartão clone, cuja a única função é responder PIN OK para qualquer PIN enviado pelo Terminal.
Após a cópia o cartão irá se comportar como um autentico EMV para o terminal, porém esse cartão não tem a capacidade de gerar os Criptogramas ARQC e TC.
Em transações de créditos Offline esse método funciona, porém é facilmente detectável em autenticações Online ou através do DDA (Dinamic Authentication Method).

Relay Attack ou Man in the Middle (O Homem no Meio)
Similar ao ataque desferido em redes TCP/IP, ou comunicação entre cartões MiFare Classic, esse ataque pode ser usado com o EMV.


O objetivo desse ataque será fazer Alice pensar estar pagando por um prato de comida de $20, quando na verdade estará pagando por um diamante de $2000.
Alice é a vítima, Bob o criminoso que está no caixa do Restaurante com um POS falso conectado a um notebook, Carol a criminosa com um notebook em uma mochila nas costas ligado a um cartão falso com fios e Dave o vendedor da jóia.
Basicamente esse ataque conectará o cartão de Alice ao POS de Dave sem que ela saiba que está comprando uma Joia ao invés de um almoço.

Ok, ok, obviamente você rolou de rir com a fantasiosa história, porém eis aqui o Kit que faz isso:


Ainda não acredita ser possível??? E se eu te disser que esse Golpe foi ao Ar pela BBC de Londres?

Formas de se defender desse tipo de ataque? Nenhum, é o unico método que põe por terra qualquer esquema de segurança hoje conhecido, também é obviamente a forma de ataque mais improvável de ser realizada.


Terminal Tampering Attack (Ataque por Adulteração do Terminal)
Esse é o tipo de ataque mais invasivo e o mais fácil (e certamente realizado), pode ser realizado de duas maneiras, via software ou via hardware.
Para explicar esse ataque é importante que você saiba diferenciar os equipamentos utilizados para realizar transações de créditos. Existem 2 tipos de equipamentos, o POS (Point of Sale) e o PED (Pin Entry Devices), ambos são similares visualmente porém internamente são bastante diferentes.

O POS
POS são equipamentos completos e independentes, eles possuem um MicroProcessador capaz de suportar um Sistema Operacional sobre ele, com isso aplicativos podem ser desenvolvidos para ele.
Fora isso ainda possuem todos os dispositivos necessários para realizar transações de crédito de forma independente, como impressora térmica, display colorido, slot para SIM Card GSM / GPRS, slot para SAM Card, Leitor de cartão com chip e tarja magnética, modem telefonico, interface de rede ethernet, etc. Com isso dispensam estar conectado a um Computador.
Um Tipico POS


O PED
PED também conhecido por TEF, são equipamentos mais modestos e baratos, são dotados apenas de um Microcontrolador com apenas um teclado, um display verde, leitor de cartões com chip e tarja e um cabo serial RS232 ou USB (que é na verdade uma Serial RS232).
Exigem que seja conectado a um Computador e que um Programa para computador realize a maioria do trabalho necessário para realizar a transação de crédito.
Típico PED
Simples Barato e Perigoso, se um dia desconfiar que seu seguríssimo cartão EMV tenha sido clonado, existe uma chance altíssima de ter sido por um desses. 

Software Attack (Ataques via Software)
São voltados exclusivamentes a POS, esse ataque é para um POS o que um Trojan é para o Windows, antigamente os POS eram tão inseguros que bastava desenvolver uma aplicação nociva e instalar no POS, hoje em dia pode ser mais complexo pois exige que as aplicações sejam assinadas digitalmente via Smart Card ou Online, então basta você ter um Cartão de Desenvolvimento ou um Login Mágico, conhecer um pouquinho sobre cracking e um bom amigo motoqueiro para distribuir seu POS "especial" em postos de gasolina. 

Hardware Attack (Ataques via Hardware)
Também conhecido por Tampering, esse é sem dúvidas o ataque preferido do jeitinho brasileiro, bem mais elegante que sair por ai explodindo caixas eletrônicos é cláro.
Nesse tipo de ataque o PED é aberto e uma placa é inserida internamente, essa placa tem 2 finalidades, a primeira espionar senhas digitadas no teclado, a segunda espionar o conector de dados do chip (incomum) ou o canal TX da serial RS-232 (nice).
Hora mas porque a Serial RS-232? Simples porque nela trafega bonito e limpinho todos os arquivos EMV inclusive o arquivo com as 2 trilhas magnéticas e demais dados.


Considerações Finais.
Como podem ter visto EMV é extremamente seguro, pois põe por terra muita das tentativas de criminosos de pouca inteligencia, porém uma pequena parcela ainda consegue dar seus pulinhos, isso porque de Longe o EMV é 100% seguro. E os especialistas de plantão que vier dizendo que o POS/PED possui Tampering Protection e bla bla, um conselho seja bonzinho para Papai Noel lhe trazer presente no fim do ano.
Se possui falhas e são conhecidas porque não arruma-las? 
Simples, a quantidade em dinheiro perdida em fraudes ainda é muito baixa para as Emissoras se preocuparem com isso, qualquer contra medida adicionada ou habilitada irá consumir tempo e recurso com isso a quantidade de transações de crédito por segundo diminuirá, diminuindo o lucro.
Isso tudo em comparação como era antigamente com os cartões de tarja que podia ser clonado por qualquer manézinho sem a menor instrução.
Tudo isso não teria graça se eu não lhe mostrasse como ler seu cartão EMV não é? Pois então aguarde que no próximo Artigo demonstrarei como acessar cartões EMV usando o Jaccal aguardem!
Nada do que mostrei aqui é novidade e está livremente disponível na internet, abaixo segue o link de um dos documentos que tomei como referencia desse artigo:

Chip & PIN notes on a dysfunctional security system (link) 

E um último Video:
Chip and PIN PED security vulnerabilities (link) 

Até a próxima, e um abraço a todos!
PS. perguntas referentes a EMV serão prontamente IGNORADAS.

5 comentários:

  1. Muito bom texto! me fez lembrar do filme EXTERMINADOR DO FUTURO 2 quando jhon connor saca dinheiro no caixa.

    ResponderExcluir
  2. dificil de fazer esse programa para gravar no chip?????

    ResponderExcluir
  3. Que informação interessante!
    Mas realmente, quem consegue fraudar este sistema é um sujeito bem instruído. Então esconder estas informações só serve pra alienar o usuário do perigo.

    ResponderExcluir
  4. Muito bom artigo. Quanto a usar um sim card para autenticidade do terminal e da aplicação?(O POS tem normalmente de 1 a 4 slots para usar com estes chips não?) O terminal não possui um cnpj amarrado? (neste caso basta algumas consultas sql cruzando a informação do dono do terminal e das transações clonadas não?) Também é possível bloquear o terminal via mensageria iso8583 não? Abraço

    ResponderExcluir
  5. Este comentário foi removido por um administrador do blog.

    ResponderExcluir

Observação: somente um membro deste blog pode postar um comentário.