Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1282

Атака по времени

ПроверилCybersecurity entrepreneur & security researcher

Что такое Атака по времени?

Атака по времениАтака по стороннему каналу, восстанавливающая секретную информацию путём измерения времени выполнения операции при разных входных данных.


Атаки по времени эксплуатируют зависящее от входных данных время выполнения в криптографическом и аутентификационном коде. Классические цели — сравнения строк не за постоянное время (при первом несовпадающем байте сравнение прерывается досрочно и выдаёт, до какого места угадывание совпало), модульное возведение в степень (square-and-multiply раскрывает биты ключа), обращения к таблицам AES, зависящие от состояния кэша, и запросы к учётным записям, длительность которых показывает, существует ли имя пользователя. Даже наносекундные различия можно усилить, усредняя тысячи измерений для подавления сетевого джиттера.

Работа Пола Кохера 1996 года впервые превратила это в оружие против RSA и Diffie-Hellman. Принципиально важно, что в работе Бромли и Боне 2003 года «Remote Timing Attacks Are Practical» (USENIX Security) закрытый ключ RSA из OpenSSL 0.9.7 был извлечён по сети за счёт эксплуатации разницы во времени при редукции Монтгомери и переключении между умножением Карацубы и обычным умножением — именно поэтому OpenSSL включил ослепление (blinding) RSA по умолчанию. Lucky Thirteen (CVE-2013-0169, 2013) восстановил открытый текст TLS, измеряя разницу во времени проверки MAC при обработке паддинга в режиме CBC.

flowchart TD
  A[Атакующий отправляет множество подготовленных входов] --> B[Точно измерить время отклика]
  B --> C[Усреднить выборки для подавления джиттера]
  C --> D{Коррелирует ли время<br/>с секретом?}
  D -->|Да| E[Вывести один бит/байт секрета]
  E --> F[Повторить, сужая пространство ключей]
  F --> G[Секрет полностью восстановлен]
  D -->|Нет| H[Код с постоянным временем: утечки нет]

Защита требует реализаций с постоянным временем: условных пересылок без ветвлений, сравнений за фиксированное время (crypto_memcmp, hmac.compare_digest в Python, MessageDigest.isEqual в Java), ослепления для RSA/ECC и стойких к кэш-атакам примитивов шифрования. Автоматизированные инструменты (dudect, ctgrind, MicroWalk) помогают проводить аудит зависящего от данных времени выполнения, а ограничение частоты запросов сокращает бюджет измерений атакующего на сетевых границах.

Примеры

  1. 01

    Атака по времени Кохера 1996 года, восстанавливающая биты закрытого ключа RSA/Diffie-Hellman.

  2. 02

    Lucky Thirteen (CVE-2013-0169) — тайминговая атака на CBC-паддинг в TLS.

Частые вопросы

Что такое Атака по времени?

Атака по стороннему каналу, восстанавливающая секретную информацию путём измерения времени выполнения операции при разных входных данных. Относится к категории Уязвимости в кибербезопасности.

Что означает Атака по времени?

Атака по стороннему каналу, восстанавливающая секретную информацию путём измерения времени выполнения операции при разных входных данных.

Как защититься от Атака по времени?

Защита от Атака по времени обычно сочетает технические меры и операционные практики, как описано в определении выше.

Какие есть другие названия Атака по времени?

Распространённые альтернативные названия: Тайминговый сторонний канал.

Связанные термины

См. также