14-летняя уязвимость позволяла создать клон YubiKey через тайминг-атаку

14-летняя уязвимость позволяла создать клон YubiKey через тайминг-атаку

14-летняя уязвимость позволяла создать клон YubiKey через тайминг-атаку

Французские исследователи доказали, что аппаратные ключи безопасности YubiKey можно получить через атаку по стороннему каналу. Метод EUCLEAK требует физического доступа к устройству, спецоборудования стоимостью $11 тыс. и хороших технических навыков.

Используемую уязвимость (привязана к микроконтроллеру Infineon SLE78) компания Yubico уже устранила с выпуском прошивок 5.7.0 (для YubiKey и Security Key) и 2.4.0 (для YubiHSM).

Криптобиблиотеку Infineon попросту заменили собственной разработкой, однако проблема затронула также продукты других вендоров на МК Infineon (кроме SLE78, уязвимы также Optiga Trust M и Optiga TPM).

Как выяснили в NinjaLab (PDF), данная ошибка в реализации ECDSA (алгоритм цифровой подписи на основе эллиптических кривых), а точнее, расширенного алгоритма Евклида (используется при вычислении обратного по модулю), присутствует в чипах Infineon с 2010 года. Для операций модульной инверсии не предусмотрено константное время, то есть отсутствует типовая защита от атак по стороннему каналу.

Еле заметная разница во времени выполнения открывает возможность для получения эфемерного ключа ECDSA (нонс-значения) путем замеров электромагнитного излучения с помощью осциллографа. Последующий анализ позволил исследователям воссоздать секретный ключ ECDSA и тем самым нарушить безопасность YubiKey-токена.

При наличии определенных навыков атака EUCLEAK, протестированная на YubiKey 5Ci, занимает меньше часа и проводится следующим образом:

  1. Кража логина и пароля на доступ к целевому аккаунту жертвы (защищенному по FIDO приложению, можно через фишинг).
  2. Получение физического доступа к YubiKey без ведома владельца (на пару минут).
  3. Отправка на устройство запросов на аутентификацию с использованием украденных учеток, параллельные измерения (для этого придется вскрыть YubiKey-девайс и подключить к плате соответствующее оборудование, а потом замести следы, заменив поврежденный корпус).
  4. Незаметный возврат токена жертве.
  5. Анализ результатов измерений, извлечение приватного ключа ECDSA, связанного с целевой учетной записью.

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

Python-пакет pyronut превращает Telegram-ботов в точку входа для атакующих

В репозитории PyPI обнаружили вредоносный Python-пакет pyronut, который маскировался под библиотеку для работы с Telegram и превращал ботов в удобную точку входа для атакующих. Исследователи из Endor Labs пишут, что пакет выдавал себя за альтернативу популярному Pyrogram — фреймворку для Telegram MTProto API, который используется довольно широко.

Схема была не совсем классическим тайпсквоттингом: названия pyrogram и pyronut не так уж похожи.

Поэтому исследователи предполагают, что пакет, скорее всего, продвигали через чаты в Telegram, форумы или туториалы, где разработчики могли просто копировать команду установки, не слишком вчитываясь в метаданные.

Дополнительный красный флаг — автор скопировал описание легитимного проекта почти слово в слово, а в качестве исходного репозитория указал несуществующий GitHub-адрес.

Пакет прожил недолго, но этого вполне хватило. На PyPI успели появиться только три версии — 2.0.184, 2.0.185 и 2.0.186, обе были вредоносными. По данным исследователей, их обнаружили и отправили в карантин 18 марта 2026 года, так что окно заражения оказалось сравнительно коротким.

Особенно неприятно то, как именно работал pyronut. В отличие от многих зловредных пакетов, которые срабатывают ещё во время установки, здесь полезная нагрузка активировалась только при запуске Telegram.

Злоумышленник модифицировал метод Client.start() так, чтобы тот незаметно подтягивал скрытый модуль и запускал бэкдор, при этом все ошибки молча подавлялись, а приложение со стороны выглядело нормально.

Дальше начиналось самое интересное. Бэкдор регистрировал скрытые обработчики команд /e и /shell, которые принимались только от двух заранее зашитых Telegram-аккаунтов атакующего.

Команда /e фактически превращала заражённого бота в удалённую Python-консоль с доступом к объектам клиента, чатам, контактам, истории сообщений и низкоуровневым API Telegram. А /shell давала уже более привычный доступ к системе: произвольные команды передавались в /bin/bash -c, а результаты возвращались злоумышленнику через сам Telegram.

Если такой пакет попадал в рабочее окружение, атакующий получал сразу два бонуса: контроль над сессией в Telegram и возможность выполнять команды на самом хосте, где крутится Python-процесс. А это уже дорога к краже токенов, ключей, файлов конфигурации и дальнейшему закреплению в инфраструктуре.

Специалисты рекомендуют проверить зависимости на наличие pyronut этих версий, посмотреть, не подтягивалась ли библиотека meval, и отдельно поискать подозрительные дочерние процессы вида /bin/bash -c, запущенные из Python-приложений. Если пакет всё же оказался в окружении, исследователи советуют отзывать Telegram-сессии, перевыпускать токены ботов и менять все потенциально засвеченные секреты.

RSS: Новости на портале Anti-Malware.ru