Как работает новая «атака по времени» и что с защитой

    Группа инженеров показала метод, позволяющий обойти ограничения классической атаки, связанные с джиттером. Расскажем, как выглядит такой подход и что ему противопоставляют.


    / CC BY / chuttersnap

    В чем суть классического метода


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

    Несколько лет назад специалисты из Стэнфордского университета доказали возможность взлома OpenSSL с помощью timing attack. Однако реализовать её достаточно сложно, так как джиттер в сети серьезно влияет на оценку времени. Но группа инженеров из Лёвенского католического университета в Бельгии и Нью-Йоркского университета в Абу-Даби показала, что это ограничение можно обойти.

    На конференции USENIX они продемонстрировали новый способ «атаки по времени» — timeless timing attack, который не зависит от параметров сети.

    Как работает новый подход


    Инженеры предложили отправлять запросы на сервер не друг за другом, а одновременно (в одном пакете). Сделать это можно или напрямую, или с помощью межсайтового скриптинга (стр.5).

    Свежие посты из нашего блога на Хабре:


    Так, погрешность вносят лишь параметры ответов сервера, что сокращает влияние джиттера в сети на результат. Так, хакер может оценить время работы криптографических алгоритмов с точностью до 100 наносекунд — это в сто раз меньше, чем у классической атаки. Инженеры протестировали написанный ими эксплойт с протоколами HTTP/2 и WPA3. В обоих случаях timeless timing attack была успешной.

    Как защититься


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


    / CC BY / Erik Mclean

    Еще один вариант защиты от Timeless Timing Attack — использовать протокол HTTP/1.1, который не поддерживает мультиплексирование. В этом случае злоумышленник не сможет направить несколько запросов, необходимых для проведения атаки, в одном пакете.

    Инженеры из Бельгии и Абу-Даби не приводят другие, не накладывающие серьезные ограничения на работу сетей, методы. Однако они планируют продолжить исследования в этом направлении.

    Что почитать в нашем корпоративном блоге:

    VAS Experts
    Разработчик платформы глубокого анализа трафика

    Комментарии 1

      0

      Я не понял как одновременная отправка устраняет эффект джиттера, тайминг ответа ведь все равно будет с каким-то разбросом?

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое