Executando verificação de segurança...
6

Identificando e bloqueando transações fraudulentas com FingerprintJS

Introdução

Se você tem uma plataforma que lida com vendas e sua empresa apresenta um grande volume de transações feitas, é comum que problemas relacionados a fraudes aconteçam devido a elementos externos. Geralmente, o fraudador utiliza-se de informações pessoais que já foram vazadas anteriormente para efetuar a compra e, mesmo com sistemas avançados de bloqueio, a identificação de um fraudador é um trabalho difícil visto que o mesmo, se for esperto, vai utilizar-se de mecanismos para ocultar a sua identidade. Infelizmente, não existe uma formula mágica para que as fraudes não aconteçam em um site/aplicativo o que pode ser feito é introduzir camadas de segurança que dificultem a fraude em si.

Para esses casos podemos pensar em um bloqueio do dispositivo a qual o fraudador está tentando efetuar a compra. Nesse artigo irei focar apenas em um cenário onde a transação está sendo feita por meio de um navegador.

Fingerprint do navegador

Um fingerprint, no mundo digital, nada mais é do que uma identidade digital do usuário que é composta por informações de seu hardware, aplicativos, extensões e preferências de navegação. Informações como fontes instaladas, resolução de tela e navegador usado são exemplos de elementos que são parte do fingerprint, reunir essas informações faz com que seja mais fácil diferenciar seu computador de outros.

Implementação do FingerPrintJS e outras técnicas

Tendo as informações supracitadas em mente podemos inferir que o bloqueio de um determinado equipamento, utilizado por um fraudador, fica mais fácil; bastando atribuir um identificador nesse conjunto de dados que foram reunidos. Apesar dessa técnica apresentada ser uma das mais precisas e difícil de ser burlada outras técnicas também podem ser utilizadas, como a detecção por meio do canvas. A detecção por meio de canvas que pode ser resumido por meio de 3 passos

1 — Ao usuário acessar a página um script desenha um texto com uma fonte e tamanho, posteriormente, adicionando cor ao desenho feito

2 — O script faz uma chamada para API do canvas obetendo o pixel da tela em um formato base64

3 — Após isso é gerado um hash que vai servir como fingerprint do usuário

Essa biblioteca do Javascript captura diversas informações além das já citadas e pode ser utilizada para diversos casos: Roubo de conta, Fraudes em transações, SPAM, entre outros. De acordo com o que apresentada na página o seu nível de acurácia é de 99.5%, sendo possível até mesmo guardar um histórico de visita da página além de está de acordo com a diretrizes estabelecidas na GDPR.

Exemplo de implementação

`

Exemplo FingerprintJS

FingerprintJS Example

<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<script>
    // Aguarde até que o documento esteja carregado
    document.addEventListener("DOMContentLoaded", function () {
        // Crie uma instância do FingerprintJS
        const fpPromise = FingerprintJS.load();

        // Obtenha a impressão digital do navegador
        fpPromise
            .then((fp) => fp.get())
            .then((result) => {
                // Exiba a impressão digital no elemento com id "fingerprint-result"
                document.getElementById("fingerprint-result").textContent = JSON.stringify(result, null, 2);
            })
            .catch((error) => console.error("Erro ao obter a impressão digital:", error));
    });
</script>
`
Carregando publicação patrocinada...
5

O artigo destaca uma estratégia vital para combater fraudes online: o "fingerprinting" do navegador. O exemplo de implementação oferece uma visão clara de como a ferramenta pode ser integrada em uma plataforma.

Para quem é novo no conceito de "fingerprinting", é como ter uma identificação biométrica para o seu dispositivo, fundamental para a segurança, mas com implicações éticas e de privacidade a serem consideradas.

Quer ver como isso funciona na prática? Visite o site "Am I Unique?" para ter uma ideia de quão distintivo é o seu "fingerprint".

  • Implicações Positivas:

    • Segurança e Prevenção de Fraudes: Como visto no artigo sobre o FingerprintJS, a identificação única do dispositivo pode ser uma ferramenta poderosa para combater transações fraudulentas. Ao identificar um dispositivo suspeito, as empresas podem adotar medidas preventivas.

    • Personalização da Experiência do Usuário: Ao reconhecer o dispositivo de um usuário, os serviços online podem oferecer experiências mais personalizadas, melhorando a usabilidade e satisfação do cliente.

  • Implicações Negativas:

    • Invasão de Privacidade: A capacidade de rastrear dispositivos pode ser usada de forma invasiva, monitorando as atividades dos usuários sem o seu conhecimento explícito.

    • Rastreamento Pervasivo: Grandes corporações e anunciantes podem usar essa técnica para traçar perfis detalhados de usuários, unindo informações de diferentes fontes e atividades online, independente de onde ou em qual conta o usuário está logado.

    • Dificuldade em Manter o Anonimato: Para aqueles que valorizam o anonimato online, o "fingerprinting" torna mais difícil manter essa privacidade, tornando técnicas, como VPNs inúteis.

A tecnologia de "fingerprinting", embora útil em muitos contextos, reforça a necessidade contínua de equilíbrio entre conveniência, segurança e privacidade. Os usuários precisam estar cientes das ferramentas e técnicas à sua disposição, tanto para se protegerem contra fraudes quanto para manterem sua privacidade online.