Код Kyber, скомпилированный Clang, может слить секретный ключ шифрования

Код Kyber, скомпилированный Clang, может слить секретный ключ шифрования

Код Kyber, скомпилированный Clang, может слить секретный ключ шифрования

В эталонной реализации механизма инкапсуляции ключей (KEM) обнаружена уязвимость, позволяющая получить секретные данные через атаку по стороннему каналу. Опасная проблема Kyber, виновником которой оказался компилятор, уже устранена.

Американский институт стандартов и технологий (NIST) собирается стандартизировать Kyber как ML-KEM, пригодный для квантово-устойчивого шифрования. Однако даже самый криптостойкий алгоритм может оказаться неэффективным, если его реализация содержит уязвимости, и такой подводный камень обнаружили в PQShield.

Выявленная уязвимость может проявиться, когда компилятор — в данном случае Clang — оптимизирует код. Как оказалось, он при этом порождает в функции poly_frommsg переход, зависящий от обрабатываемого секрета.

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

Для этого, по словам экспертов, достаточно просто измерить время, за которое совершается декапсуляция. PoC-код, созданный в PQShield для машин с архитектурой x86, успешно эксплойтит тайминг-уязвимость и позволяет получить ключ ML-KEM 512 менее чем за 10 минут.

Исследователям удалось найти противоядие, объединив усилия с командой Kyber. Ненадежное условное перемещение было реализовано как функция в отдельном файле, и Clang, встретив флаг условия, переставал модифицировать код.

Об опасной находке были извещены авторы проектов на базе Kyber, в частности, liboqs, aws-lc, pq-code-package, WolfSS, PQClean и rustpq/pqcrypto. Исследователи не исключают, что уязвимыми могут оказаться даже библиотеки, не использующие функцию poly_frommsg.

В конце прошлого года в некоторых реализациях KEM были выявлены уязвимости, тоже грозящие раскрытием криптоключей через тайминг-атаку. Им было присвоено общее имя KyberSlash.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Gorilla: новый Android-вредонос учится воровать и подслушивать

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

Gorilla, который уже успел привлечь внимание специалистов из Prodaft, написан на Kotlin и первым делом лезет в СМС — просит стать приложением по умолчанию.

Зачем? Чтобы читать, перехватывать и даже отправлять сообщения от вашего имени. А потом ещё и сортирует их по меткам: «Banks», «Yandex» — не к лучшему, правда?

Но не только СМС едины. Малварь запрашивает доступ к номеру телефона, данным сим-карты, списку приложений, модели устройства и даже тому, включён ли экран. Всё это аккуратно улетает операторам по WebSocket’у каждые 10 секунд. Такая вот «связь с центром».

Кстати, на панели управления у злоумышленников каждому заражённому устройству присваивается одна из трёх меток:

  • State Authority — видимо, это «особо интересные» цели,
  • Important — «второй сорт, но пригодны»,
  • Trash — всё остальное.

И это уже тревожный звоночек: возможно, Gorilla готовят не только для краж денег, но и для более серьёзного дела — вроде слежки за госслужащими или активистами.

 

Чтобы не вылетать из памяти, Gorilla запускает себя в фоновом режиме с помощью FOREGROUND_SERVICE и даже просит пользователя отключить для себя оптимизацию батареи. Особенно настойчиво — на устройствах Huawei и Honor, где он ещё и замедляет «сердцебиение» (частоту связи с сервером), чтобы не попасть под зачистку системой.

А ещё внутри кода обнаружили «запасные» функции:

  • WebViewActivity — по сути, это задел для будущих фишинговых атак через фальшивые страницы банков.
  • USSDReceiver — класс, который может активироваться, если набрать специальный код вроде *#0000#. Возможно, это будет использоваться как скрытая команда для активации малвари.

И хотя сейчас Gorilla только разминается, эксперты уверены: потенциал у него большой и явно не в добрую сторону. Перехваты СМС, слежка, хитрые трюки для выживания — в будущем он может стать серьёзным игроком на поле Android-угроз.

Так что включаем паранойю на минималках: дважды проверяем, что ставим, не раздаём права направо и налево и, как всегда — держим защитный софт в боевой готовности.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

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