A API de áudio da Web é uma ferramenta poderosa para trabalhar com áudio no navegador, fornecendo a capacidade de processar, sintetizar e analisar sinais de áudio. Originalmente criada para criar efeitos sonoros interactivos, jogos e aplicações musicais, a tecnologia encontrou aplicação em sistemas antifraude, onde as suas capacidades permitem identificar caraterísticas únicas de dispositivos. #### História e objetivo da Web Audio API A API de áudio da Web foi introduzida como parte da especificação HTML5 no início da década de 2010. Foi desenvolvida para substituir tecnologias antigas como o Flash, proporcionando um elevado desempenho e versatilidade na criação de conteúdos áudio. A primeira implementação da tecnologia foi introduzida pela Google no navegador Chrome em 2011. Em 2014, a Web Audio API tornou-se um padrão suportado por todos os navegadores modernos. O principal objetivo da API de áudio da Web é criar e processar áudio em tempo real, incluindo a geração de sons, a adição de efeitos e a análise de dados de áudio. No entanto, tal como acontece com o Canvas, uma das aplicações inesperadas da Web Audio API é em sistemas antifraude, em que as suas capacidades são utilizadas para identificar de forma única os dispositivos dos utilizadores. #### Capacidades tecnológicas da API Web Audio A Web Audio API fornece aos programadores um conjunto alargado de ferramentas para trabalhar com som: - **Geração de sons.** Criação de sons simples e complexos, incluindo efeitos de sintetizador. - **Processamento de áudio:** a possibilidade de aplicar efeitos como reverberação, filtros e equalização. - **Análise de dados de áudio. **A Web Audio API permite-lhe analisar sinais de áudio em tempo real, obtendo dados de resposta em frequência e amplitude. Estas capacidades fazem da Web Audio API uma ferramenta de desenvolvimento Web versátil para jogos, aplicações multimédia e interactivas. #### Web Audio API e anti-fraude: proteção contra os autores de fraudes Os sistemas antifraude utilizam a Web Audio API para criar uma impressão digital de áudio, uma impressão digital de um dispositivo que ajuda a identificar o utilizador de forma única. #### Como é que a API Web Audio ajuda a identificar um utilizador? Quando um browser gera áudio ou analisa um sinal de áudio, cada dispositivo processa o áudio de forma ligeiramente diferente. Isto deve-se a caraterísticas de hardware e software: - Diferenças nos processadores de sinal digital (DSPs). - Utilização de diferentes controladores de placas de áudio. - Peculiaridades da implementação da API de áudio da Web nos navegadores. Estes factores fazem com que o mesmo áudio processado por diferentes dispositivos contenha caraterísticas únicas que podem ser captadas. Os sistemas antifraude utilizam estas caraterísticas para criar uma impressão digital do dispositivo, analisando os sinais de áudio ao nível das caraterísticas de frequência e tempo. #### Técnicas de falsificação de impressões digitais de áudio na Web Os atacantes que tentam contornar os sistemas antifraude utilizam vários métodos para falsificar a impressão digital do áudio: - **Distorção do sinal.** Incorporação de pequenas alterações no sinal de áudio para que a impressão digital do dispositivo pareça única. Pode ser a alteração da amplitude, da fase ou a adição de ruído. - **Utilização de dados pré-gravados.** Os sinais de áudio pré-gravados podem falsificar a reprodução real do áudio, produzindo dados espúrios. Esta abordagem dificulta a deteção de falsificação porque os sinais parecem corretos. - **Emulação de hardware de áudio.** Os programas emuladores podem criar uma impressão digital de áudio idêntica à do dispositivo real, contornando a verificação. #### Como é que os sistemas antifraude detectam a falsificação de impressões digitais? Os sistemas antifraude utilizam uma variedade de abordagens para detetar adulterações: - **Análise de resposta de frequência.** Ao comparar espectrogramas de sinais de áudio, os sistemas podem detetar anomalias caraterísticas de dados alterados artificialmente. - **Geração de sinais dinâmicos.** Criação de sinais de áudio em tempo real, seguida da análise do seu processamento. Estes testes são mais difíceis de falsificar, uma vez que exigem uma resposta rápida do dispositivo. - **Comparação com dados de referência.** O sistema compara os resultados do processamento do sinal com as caraterísticas esperadas, avaliando os desvios. #### Sinais de áudio dinâmicos Os testes dinâmicos que envolvem alterações nas caraterísticas de áudio (por exemplo, frequência ou amplitude) dificultam a ação dos autores de fraudes. Estes testes permitem-lhe avaliar o desempenho do dispositivo em tempo real e identificar inconsistências no processamento de sinais. #### Análise da impressão digital do WebAudio Vejamos que dados podem ser obtidos sobre um utilizador utilizando a API Web Audio abrindo a página browserleaks.com/javascript no nosso navegador Chrome:  Vamos abrir a página no nosso browser anti-deteção:  Este sítio recebe uma pequena quantidade de informação utilizando a tecnologia Web Audio API. Vamos abrir a nossa página de teste test-webapi.tech/audiofull num computador Intel no navegador Chrome:  Nesta página, em Dispositivos multimédia, obtemos informações sobre o dispositivo. Na secção Audio Fingerprint (HEX), obtemos o comprimento dos resultados de dois cálculos com trabalhos diferentes para verificar as capacidades do dispositivo (Fingerprint Length) e o resultado MD5 Hash da codificação dos resultados dos cálculos e dos valores dos parâmetros do dispositivo. Na secção Audio Context Data (Dados de contexto de áudio), podemos ver os parâmetros do dispositivo obtidos através da Web Audio API e os respectivos valores. Vamos abrir esta página num browser anti-deteção sem aplicar ruído:  Podemos observar que os resultados da impressão digital de áudio (HEX) coincidem, o nosso browser anti-deteção não falsifica os resultados do cálculo. Mas é estranho que não existam dispositivos de saída de áudio na secção Dispositivos multimédia do perfil do nosso browser anti-deteção. Vamos repetir a verificação com a sobreposição de ruído de áudio no browser anti-deteção:  Podemos ver que o comprimento da cadeia de caracteres com os resultados do cálculo aumentou significativamente e o valor MD5 Hash foi alterado. Podemos concluir que o Navegador Anti-Deteção está a modificar com sucesso a impressão digital de áudio. Para compreender como os sistemas Anti-Fraude podem reagir a tal alteração, vamos verificar os resultados noutros dispositivos de secretária. Computador AMD:  Computador portátil AMD:  Computador portátil Intel:  Note que obtivemos a mesma pegada de áudio em dispositivos desktop. Vamos continuar a verificar em dispositivos móveis:    Para dispositivos móveis, as diferenças nas impressões digitais de áudio são mais comuns do que em dispositivos de desktop, mas vale a pena notar que o valor do comprimento da impressão digital varia pouco entre os tipos de dispositivos, ao contrário do comprimento da cadeia de resultados no navegador anti-deteção de sobreposição de ruído. #### Deteção de ruído da API de áudio da Web De acordo com os resultados dos testes que apresentámos anteriormente, podemos observar que, quando é imposto ruído, o tamanho da cadeia de resultados aumenta significativamente, o que pode ser considerado pelos sistemas antifraude como uma discrepância em relação aos resultados esperados. Vamos tentar perceber como é que os sistemas antifraude podem detetar com mais precisão a utilização de ruído na impressão áudio. Vamos abrir a nossa página de teste test-webapi.tech/audiotamper num computador com o navegador Chrome:  Vamos abrir a mesma página num navegador anti-deteção sem sobreposição de ruído:  Vamos repetir o teste usando ruído na pegada de áudio:  Neste teste, utilizámos o seguinte método para determinar o ruído: verificamos as partes da impressão que não devem mudar em diferentes dispositivos e comparamo-las com valores de referência. Quando o ruído é utilizado, alguns dos valores dessas partes da impressão mudam, o que facilita a deteção de falsificação. Outra forma de detetar a falsificação é obter os valores reais das caraterísticas de áudio e compará-los com as caraterísticas indicadas nas propriedades do browser. Vamos tentar efetuar este teste: vamos abrir a página test-webapi.tech/audiodetect no navegador Chrome:  Vamos efetuar o teste  Vamos abrir a mesma página num browser anti-deteção sem utilizar ruído:  Vamos repetir o teste no browser anti-deteção com ruído aplicado:  Testes como este podem detetar falsificação de valores de propriedades de áudio medindo a diferença de valores e comparando-a com valores aceitáveis para testes específicos. #### Conclusão Neste artigo, vimos como a impressão digital de áudio é utilizada em sistemas antifraude. A API Web Audio não é única e os sistemas antifraude não podem identificar com precisão um utilizador que a utilize. Ao mesmo tempo, a utilização de ruído na impressão digital de áudio é detectada de forma bastante simples e os utilizadores que utilizam spoofing podem ser facilmente identificados pelos sistemas antifraude. No próximo artigo, continuaremos a análise das tecnologias de navegação utilizadas nos sistemas antifraude. *Bannykh M.V.*