Атака по времени
(В английском — «Timing attack»‎)
Коротко

  • Одна из наиболее серьезных угроз для криптографических продуктов возникает из-за возможной реализации атаки по времени.
  • Большинство атак используют физический доступ к устройству и дорогое оборудование. Однако среди этих атак выделяются атаки по времени, для которых можно обойтись измерением посредством исключительно программных средств, а также без физического доступа к устройству.
  • В типичном сценарии атаки по времени злоумышленник удаленно обращается к уязвимой программе через интернет. Он измеряет время работы программы на предоставленном им входе. Далее, основываясь на предыдущих замерах времени, злоумышленник передает новые входные данные, стараясь с каждым запросом получить больше информации о секрете.
Подробно

Угроза со стороны атак по сторонним каналам на криптографические решения возрастает.
Даже теоретически стойкие и хорошо изученные криптографические решения могут быть уязвимы из-за неправильной реализации.
Атаки по сторонним каналам направлены на получение секретной информации (ключа) через измерение какой-либо физической величины во время работы продукта с уязвимой реализацией.

Измеряемые величины: питание, электромагнитное излучение, время выполнения алгоритма и другие величины.
Типичный сценарий атаки по времени
Атаки по времени, которым стоит уделять внимание при разработке криптосистем

Атаки по времени получили своё широкое развитие после статьи 1996 года. Защититься от атак по времени достаточно сложно. Для этого необходимо, чтобы время работы не зависело от секретных данных. Это условие требует от разработчиков высокой компетенции и придерживания нестандартных практик написания кода.

Это выливается в то, что подобные уязвимости находили практически в каждой криптографической библиотеке. По данным CVE (база данных общеизвестных уязвимостей информационной безопасности), в самой популярной библиотеке OpenSSL найдено 13 уязвимостей с оценкой "Medium" и 4 с оценкой "Low". Некоторые из атак уже описаны (статья 1 и статья 2).


Наиболее значимые атаки: Spectre и Meltdown. Из-за аппаратных уязвимостей процессоров стало возможным благодаря атакам по времени получать различную конфиденциальную информацию. Всё это показывает, что недооценивать атаки по времени нельзя, и даже наиболее компетентные разработчики и инженеры допускают ошибки.

Как защитить свои программно-аппаратные решения от атак по времени

Воспользуйтесь нашим программным продуктом — TAF (фреймворк для детектирования атак по времени).