Блочный шифр ГОСТ взломан

Блочный шифр ГОСТ взломан

В разгаре международной стандартизации шифра ГОСТ, известный исследователь в области шифрования и криптоанализа утверждает, что он не обеспечивает уровня стойкости, требуемого ISO, поскольку имеет серьезные изъяны, которые дают практически неисчерпаемые возможности для злоумышленников.  

ГОСТ 28147-89 - хорошо известный блочный шифр с 256 битным ключом, был введен еще в 80х годах. Он является альтернативным вариантом шифрования для AES-256 и тройному DES. Наиболее точную эталонную реализацию исконно российского происхождения сейчас можно встретить в библиотеках OpenSSL и Crypto ++.

В дополнение к очень большому размеру ключа, стоимость его исполнения гораздо ниже, чем AES, которому требуется в четыре раза больше аппаратных логических вентилей, но при этом он обеспечивает гораздо меньший уровень безопасности. 

Как известно в 2010 году шифр был представлен в комитет по сертификации ISO для получения международного стандарта шифрования. Вплоть до настоящего времени ученые и исследователи всего мира полагали, что он является самым безопасным, поскольку за 20 лет существования его так и не удалось никому взломать.  

Однако французкий исследователь и основоположник алгебраического шифрования Николя Куртуа в своей последней работе заявил, что ему удалось взломать ГОСТ, который, как оказалось, далеко не так совершенен, как все думают. В подтверждение этого, автор показал эффективный способ взлома, коим оказалась алгебраическая атака (XSL-атака). Стоит отметить, что это метод криптографического анализа, основанный на алгебраических свойствах шифра. Метод предполагает решение особой системы уравнений и требует  намного меньше памяти, чем известные ныне способы взлома. Кроме того, отсутствует необходимость использования свойств отражения.

В настоящее время известно более 20 способов, позволяющих проведение успешной атаки на этот шифр. Например,  на конференции FSE 2011 была предпринята попытка взлома этого метода шифрования с помощью атаки "MITM с отражением". Исследователь отмечает, что это первый случай в истории, когда серьёзный стандартизированный блочный шифр, созданный для защиты секретов военного уровня и предназначенный для защиты документов государственной тайны для правительств, крупных банков и других организаций, оказался взломан математической атакой.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

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