TAF v2.1
Фреймворк для детектирования атак по времени в криптографических продуктах.
Повышение защищенности ваших программно-аппаратных решений.
Одна из наиболее серьезных угроз при разработке криптографических проектов возникает из-за возможной реализации атаки по времени.

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

На выходе фреймворк предоставляет ответ, удалось ли детектировать атаку, а также статистические данные, на основе которых можно узнать, например, насколько просто детектируется атака (а значит, злоумышленнику проще её эксплуатировать).

TAF реализован на C++ с учетом максимальной простоты использования
Пользователю необходимо определить 2 класса, описывающих, как запускать тестируемую функцию и что из себя представляет вход для функции.
Этапы работы TAF
Ключевые преимущества TAF
Фреймворк не направлен на автоматическое выявление атак по времени, вместо этого он пытается найти уязвимые места.

Так как работа фреймворка основана на непосредственном измерении времени работы программы на целевой платформе, то он учитывает все возможные причины утечек (ветвление программы, кэш, различное время работы инструкций).
Используется 2 вида статистических тестов
Welch's t-test — наиболее популярный статистический тест, во многих случаях показывает себя лучше других.
Kolmogorov-Smirnov test — более общий тест, использующий меньше предположений, в некоторых случаях позволяет быстрее детектировать атаку.
Удобное API
Возможность тестирования на более высокие порядки атак (такие атаки позволяют обойти используемые техники, называемые маскированием).
Уверенность в том, что используемый компилятор и платформа не привнесут уязвимость в безопасный код.
Использование фаззера для генерации входных данных.
Комплект поставки API TAF
Фаззер и инструкция по работе с ним для нужд фреймворка
TAF в виде бинарной библиотеки и набора заголовочных файлов
Документация по использованию
Алгоритмы, на которых можно проверить правильность работы
(Включают уязвимую и безопасную версию функции memcmp, а также уязвимую реализацию AES)

Сопутствующие услуги
Проведение тренинга для консультантов по работе с API TAF