Volver al Blog
Huella digital

Proteccion de Huellas WebAuthn con BotBrowser

Como BotBrowser controla las senales de WebAuthn y FIDO API mediante proteccion de huellas digitales basada en perfiles.

El riesgo de privacidad

Las APIs de WebAuthn pueden revelar informacion del dispositivo y la plataforma sin requerir permiso del usuario. Estas senales contribuyen a la huella digital del navegador cuando se combinan con otros datos.

Como BotBrowser controla las senales WebAuthn

BotBrowser gestiona las senales relacionadas con WebAuthn a nivel del motor del navegador. Cuando se carga un perfil con --bot-profile, las capacidades WebAuthn del navegador coinciden con la plataforma objetivo del perfil.

chrome --bot-profile="/profiles/windows-chrome-122.enc" \
       --user-data-dir="$(mktemp -d)"

El perfil controla la disponibilidad del autenticador de plataforma, soporte de algoritmos, soporte de extensiones y comportamiento de tipos de transporte. Todos los valores se capturan de dispositivos reales, asegurando consistencia interna.

Consistencia multiplataforma

Ejecuta un perfil de Windows en Linux. BotBrowser asegura que las senales WebAuthn coincidan con la plataforma del perfil, no con la maquina host.

Consistencia con y sin interfaz grafica

BotBrowser mantiene un comportamiento WebAuthn consistente tanto en modo con interfaz como sin interfaz (headless).

Verificacion

Despues de iniciar con un perfil, verifica que las senales WebAuthn coincidan con la plataforma esperada:

const { chromium } = require('playwright-core');

const browser = await chromium.launch({
  executablePath: '/path/to/botbrowser/chrome',
  args: ['--bot-profile=/profiles/macos-chrome-122.enc'],
  headless: true,
});

const page = await (await browser.newContext()).newPage();
const webauthnInfo = await page.evaluate(async () => {
  const results = {};
  results.platformAuth = await PublicKeyCredential
    .isUserVerifyingPlatformAuthenticatorAvailable();
  results.conditionalUI = await PublicKeyCredential
    .isConditionalMediationAvailable();
  return results;
});
console.log('WebAuthn signals:', webauthnInfo);
await browser.close();

Los resultados deben coincidir con la plataforma indicada por el perfil cargado.

Primeros pasos

  1. Descarga BotBrowser desde GitHub
  2. Elige un perfil del repositorio de perfiles
  3. Inicia con --bot-profile para aplicar la proteccion WebAuthn junto con todas las demas senales
  4. Verifica con el script anterior que las senales coincidan con la plataforma del perfil
#webauthn#fido#fingerprinting#authentication#privacy