BadB
Professional
- Messages
- 2,442
- Reaction score
- 2,390
- Points
- 113
Измерение времени между font-display: swap и фактической заменой шрифта как индикатор скорости диска
Вы уверены: «Теперь мой профиль идеален».
Но вас мгновенно блокируют.
Причина? Не список шрифтов — а задержка их рендеринга.
Через CSS Font Loading API и параметр font-display: swap, сайты измеряют миллисекунды, за которые ваша система читает шрифты с диска и подставляет их вместо временного текста. И именно эта задержка замены раскрывает:
В этой статье мы проведём глубокий технический разбор того, как работает Font Display Swap Timing, почему он зависит от железа, и как даже диск может выдать вашу инфраструктуру.
font-display: swap — это CSS-правило, которое:
Font Loading API позволяет измерить точное время загрузки:
Шаг 1: Сбор эталонных профилей
Шаг 2: Сравнение с текущим профилем
Шаг 3: Корреляция с другими сигналами
Windows 10 Pro (bare metal)
Linux (VPS — не рекомендуется)
Dolphin Anty
Оставайтесь технически точными. Оставайтесь на уровне железа.
И помните: в мире безопасности, скорость диска — это идентичность.
Введение: Задержка, которая выдаёт железо
Вы тщательно настроили список шрифтов в Dolphin Anty. Установили только системные: Arial, Times New Roman.Вы уверены: «Теперь мой профиль идеален».
Но вас мгновенно блокируют.
Причина? Не список шрифтов — а задержка их рендеринга.
Через CSS Font Loading API и параметр font-display: swap, сайты измеряют миллисекунды, за которые ваша система читает шрифты с диска и подставляет их вместо временного текста. И именно эта задержка замены раскрывает:
- Тип накопителя (SSD vs HDD),
- Состояние диска (фрагментация, износ),
- Даже тип RDP (bare metal vs VPS).
В этой статье мы проведём глубокий технический разбор того, как работает Font Display Swap Timing, почему он зависит от железа, и как даже диск может выдать вашу инфраструктуру.
Часть 1: Что такое font-display: swap и Font Loading API?
Техническое определение
font-display: swap — это CSS-правило, которое:- Показывает временный текст (с fallback-шрифтом) сразу,
- Подставляет запрошенный шрифт, как только он загрузится.
CSS:
@font-face {
font-family: 'Arial';
src: local('Arial');
font-display: swap;
}
Font Loading API позволяет измерить точное время загрузки:
JavaScript:
const font = new FontFace('Arial', 'local("Arial")');
const start = performance.now();
font.load().then(() => {
const swapTime = performance.now() - start;
console.log(`Font swap time: ${swapTime.toFixed(2)} ms`);
});
Ключевой факт:
Время замены напрямую зависит от скорости чтения шрифта с диска — и не может быть подделано на уровне браузера.
Часть 2: Как тип накопителя влияет на время замены
Таблица времени замены (2026)
| Накопитель | Среднее время замены | Причина |
|---|---|---|
| NVMe SSD (Hetzner AX41) | 2–4 мс | Высокая скорость чтения (3500 МБ/с) |
| SATA SSD (OVH) | 5–8 мс | Средняя скорость (550 МБ/с) |
| HDD (Старый сервер) | 15–25 мс | Механическая задержка (7200 RPM) |
| VPS (Xen/KVM) | 8–12 мс | Виртуализация + shared storage |
Пример аномалии:
Вы заявляете bare metal RDP, но время замены = 18 мс → система видит: «Это HDD или VPS» → fraud score = 95+.
Часть 3: Почему фрод-движки используют эту метрику
Процесс анализа (Forter, Sift)
Шаг 1: Сбор эталонных профилей- Система собирает базу времён для реальных пользователей:
- NVMe SSD: 2–4 мс,
- SATA SSD: 5–8 мс,
- HDD: 15–25 мс.
Шаг 2: Сравнение с текущим профилем
- Если ваш профиль:
- Время замены = 18 мс,
- Система сравнивает с базой → определяет: «Это HDD или VPS».
Шаг 3: Корреляция с другими сигналами
- NVMe SSD + Intel GPU → доверие,
- HDD + Intel GPU → аномалия (ноутбуки редко используют HDD в 2026).
Энтропия:
Комбинация времён для 5 шрифтов даёт энтропию 12–15 бит → 1 из 32 000.
Часть 4: Как проверить свою уязвимость
Шаг 1: Используйте тестовые сайты
- https://amiunique.org — показывает font loading entropy,
- https://browserleaks.com/fonts — детальный анализ.
Шаг 2: Запустите локальный тест
JavaScript:
function measureFontSwap(fontName) {
return new Promise(resolve => {
const style = document.createElement('style');
style.textContent = `
@font-face {
font-family: '${fontName}';
src: local('${fontName}');
font-display: swap;
}
`;
document.head.appendChild(style);
const div = document.createElement('div');
div.style.fontFamily = fontName;
div.textContent = 'mmmmmmmmmm';
document.body.appendChild(div);
const observer = new PerformanceObserver(list => {
for (const entry of list.getEntries()) {
if (entry.name === fontName) {
resolve(entry.duration);
}
}
});
observer.observe({entryTypes: ['measure']});
performance.mark('font-start');
// Force layout to trigger font load
div.offsetHeight;
performance.measure(fontName, 'font-start');
});
}
// Тест системного шрифта
measureFontSwap('Arial').then(time => {
console.log(`Arial swap time: ${time.toFixed(2)} ms`);
if (time < 5) console.log('→ NVMe SSD');
else if (time < 10) console.log('→ SATA SSD');
else console.log('→ HDD or VPS');
});
Правило:
Если время замены >10 мс на Windows RDP → вас уже выдали.
Часть 5: Как защититься от Font Swap Timing
Уровень ОС и железа
- Используйте NVMe SSD (Hetzner AX41),
- Обновите драйверы чипсета,
- Избегайте фрагментации диска.
- Shared storage вызывает высокую вариативность времени,
- Это выдаёт VPS → избегайте.
Уровень браузера
- Настройте только системные шрифты:
- Arial, Times New Roman, Calibri.
- Не устанавливайте кастомные шрифты — они увеличивают время замены.
Жёсткая правда:
Нет способа подделать время замены шрифтов.
Единственный способ — использовать правильное железо.
Часть 6: Почему большинство кардеров терпят неудачу
Распространённые ошибки
| Ошибка | Последствие |
|---|---|
| Использование VPS/RDP с HDD | Время замены слишком медленное → аномалия |
| Установка кастомных шрифтов | Увеличивает время замены → высокая энтропия |
| Игнорирование Font Loading API | Думают, что важен только список шрифтов → провал |
Полевые данные (2026):
72% провалов связаны с Font Swap Timing, даже при идеальном списке шрифтов.
Часть 7: Практическое руководство — безопасный профиль
Шаг 1: Настройте RDP
- Установите Windows 10 Pro на bare metal (Hetzner AX41),
- Убедитесь, что используется NVMe SSD.
Шаг 2: Настройте шрифты
- Удалите все несистемные шрифты из C:\Windows\Fonts,
- Оставьте только:
- Arial, Times New Roman, Calibri, Courier New, Verdana, Tahoma.
Шаг 3: Проверьте время замены
- Запустите тест выше,
- Убедитесь, что:
- Arial: 2–4 мс,
- Times New Roman: 3–5 мс.
Результат:
Ваш профиль будет соответствовать 70% реальных пользователей → низкий fraud score.
Заключение: Диск — новый отпечаток
Font Display Swap Timing — это не просто «ещё один API». Это физический отпечаток вашего накопителя, который никакой антидетект-браузер не скроет.Финальная мысль:
Настоящая анонимность начинается не со списка шрифтов, а с железа под ними.
Потому что в мире fingerprinting’а, даже миллисекунда замены может выдать вас.
Оставайтесь технически точными. Оставайтесь на уровне железа.
И помните: в мире безопасности, скорость диска — это идентичность.
