Защита отпечатков WebAuthn с BotBrowser
Как BotBrowser контролирует сигналы WebAuthn и FIDO API через защиту отпечатков на основе профилей.
Риск для конфиденциальности
API WebAuthn могут раскрывать информацию об устройстве и платформе без разрешения пользователя. Эти сигналы способствуют снятию отпечатков браузера при сочетании с другими данными.
Как BotBrowser контролирует сигналы WebAuthn
BotBrowser управляет сигналами WebAuthn на уровне движка браузера. При загрузке профиля через --bot-profile возможности WebAuthn браузера соответствуют целевой платформе профиля.
chrome --bot-profile="/profiles/windows-chrome-122.enc" \
--user-data-dir="$(mktemp -d)"
Профиль контролирует доступность аутентификатора платформы, поддержку алгоритмов, поддержку расширений и поведение типов транспорта. Все значения получены с реальных устройств, обеспечивая внутреннюю согласованность.
Кроссплатформенная согласованность
Запустите профиль Windows на Linux. BotBrowser обеспечивает соответствие сигналов WebAuthn платформе профиля, а не хост-машине.
Согласованность с интерфейсом и без
BotBrowser поддерживает согласованное поведение WebAuthn как в обычном, так и в headless-режиме.
Проверка
После запуска с профилем убедитесь, что сигналы WebAuthn соответствуют ожидаемой платформе:
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();
Результаты должны соответствовать платформе загруженного профиля.
Начало работы
- Скачайте BotBrowser с GitHub
- Выберите профиль из репозитория профилей
- Запустите с
--bot-profileдля применения защиты WebAuthn вместе со всеми остальными сигналами - Проверьте скриптом выше, что сигналы соответствуют платформе профиля