Google потратил годы на защиту, хакеры — 16 часов на взлом

Google потратил годы на защиту, хакеры — 16 часов на взлом

Google переписал безопасность cookies — и случайно помог взломать Windows.

image

Google снова оказался в центре внимания специалистов по кибербезопасности после того, как компания внедрила новую технологию защиты данных пользователей в браузере Chrome — AppBound Cookie Encryption . Несмотря на амбициозный подход к защите конфиденциальности, исследование показало, что новая система имеет уязвимости, позволяющие злоумышленникам обходить ограничения и получать доступ к cookies даже с минимальными привилегиями.

До появления AppBound Cookie Encryption вредоносным программам требовалось получить доступ к двум ключевым файлам на компьютерах с Windows: базе данных SQLite под названием Cookies , где хранились зашифрованные данные, и json-файлу Local State, содержащему ключ для их расшифровки. Этот ключ защищался с помощью Windows Data Protection API (DPAPI), однако сам механизм имел уязвимость — любой процесс, работающий от имени того же пользователя, что и браузер, мог с его помощью расшифровать cookies.

Чтобы устранить этот недостаток, Google усложнил схему шифрования. Новый подход добавил дополнительный уровень защиты с использованием DPAPI на уровне SYSTEM, что ограничило доступ к cookies только процессами с правами SYSTEM. Поскольку сам браузер работает с правами обычного пользователя, Google внедрил специальный компонент — elevation service, работающий как COM-сервер с правами SYSTEM. При необходимости расшифровки cookies браузер отправляет запрос этому сервису, который проводит двойное расшифрование и возвращает ключ обратно.

Однако, несмотря на усложнённую архитектуру, специалисты обнаружили способы обхода защиты. Первый из них — это уязвимость к так называемому COM-хайджингу. Поскольку elevation service — это стандартный COM-сервер, его можно перехватить. Например, злоумышленник может подменить путь к исполняемому файлу сервиса, направив браузер на несуществующую библиотеку. В этом случае Chrome не сможет обратиться к оригинальному сервису и автоматически вернётся к старому методу шифрования cookies, уязвимому для атак. Хотя таким способом нельзя получить доступ к уже сохранённым данным, вредоносное ПО может дождаться появления новых cookies и расшифровать их.

Более серьёзной проблемой стала вторая обнаруженная уязвимость, получившая название C4 — Chrome Cookie Cipher Cracker. В её основе лежит так называемая Padding Oracle Attack , один из известных криптографических методов взлома данных, зашифрованных с использованием режима AES-CBC. Несмотря на высокую надёжность AES при стандартном применении, особенности его реализации с цепочечным шифрованием (CBC) и паддингом (PKCS7) позволяют с помощью модифицированных запросов и анализа системных журналов Windows постепенно раскрыть зашифрованные данные.

Суть атаки заключается в следующем: злоумышленник модифицирует фрагменты зашифрованного cookie-ключа и многократно отправляет их на расшифровку через elevation service. Системные логи Windows, фиксирующие ошибки расшифровки, служат своеобразным «оракулом», который указывает, была ли расшифровка успешной на уровне структуры данных. Постепенно подбирая байты и отслеживая ответы системы, злоумышленник может раскрыть весь зашифрованный фрагмент, несмотря на то, что сама схема использует двойное шифрование с участием SYSTEM-DPAPI.

После снятия внешнего слоя защиты остаётся внутренний, зашифрованный для пользователя. Однако, так как вредоносный код работает от имени этого пользователя, стандартный вызов функции CryptUnprotectData позволяет расшифровать остаток информации. Дополнительно для браузера Chrome применяется этап «постобработки» ключа с использованием жёстко заданного ключа и операции XOR, но и его исследователи смогли обойти.

Хотя атака требует значительных вычислительных ресурсов и времени — полный процесс расшифровки может занять до 16 часов, — она полностью меняет понимание защищённости cookies в Chrome и других продуктах на базе Chromium.

Более того, специалисты показали, что атака C4 может использоваться не только для кражи cookies. Любые данные, зашифрованные DPAPI с учётом SYSTEM-привилегий, становятся потенциальной целью. Например, в Windows Credential Manager исследователи обнаружили объекты, зашифрованные SYSTEM-DPAPI, содержащие SOAP-XML документы с учётными записями. Также удалось показать теоретическую возможность извлечения сохранённых паролей из Task Scheduler, если те были введены при настройке автоматических задач.

Исследование показало, что попытки строить новые уровни защиты поверх устаревших механизмов могут приводить к неожиданным результатам. В данном случае внедрение AppBound Cookie Encryption дало злоумышленникам возможность использовать существующие системные компоненты Windows для атак.

Команда, обнаружившая уязвимость, сообщила о своих находках Google и Microsoft. Google признала проблему и начала работу над исправлениями. Частичное обновление уже доступно в Chrome, однако оно отключено по умолчанию. Полноценное устранение уязвимости ожидается в следующих версиях браузера. Microsoft же отказалась классифицировать проблему как угрозу безопасности, сославшись на низкую практическую применимость из-за необходимости физического доступа и определённых условий эксплуатации.

Ситуация вокруг AppBound Cookie Encryption и атаки C4 ещё раз подтверждает: даже самые сложные системы безопасности могут иметь слабые места, особенно если опираются на многослойные, но несовершенные механизмы вроде DPAPI и CBC.

Хакеры ненавидят этот канал!

Спойлер: мы раскрываем их любимые трюки

Расстройте их планы — подпишитесь