Исследователь бельгийского стартапа Aikido Security Джо Леон обнаружил, что ключи API могут оставаться активными до 23 минут после удаления, несмотря на заявления облачного провайдера. Это даёт злоумышленникам небольшой, но значительный промежуток времени для дальнейшего злоупотребления.
Леон проанализировал период отзыва — время между удалением ключа и его последней успешной аутентификацией — для ключей API облачного гиганта. Он заявил, что клиенты Google Cloud Platform (GCP) ожидают немедленного прекращения доступа к API после удаления ключа, но это не так.
В серии тестов Леон обнаружил, что медианный период отзыва составляет около 16 минут, а самый длинный — до 23 минут, «невероятно долгое время» для успешной аутентификации ключей API.
«Злоумышленник, удерживающий ваш удалённый ключ, может продолжать отправлять запросы, пока один из них не достигнет сервера, который ещё не обновился. Если Gemini включён в проекте, он может выгрузить загруженные вами файлы и украсть кэшированные сообщения. Консоль GCP не покажет ключ и не сообщит вам, что он всё ещё работает. Вы полагаетесь на инфраструктуру Google, которая в конечном итоге обновится», — сказал Леон.
Исследователь рассказал, что его вдохновило на изучение окон отзыва ключей в GCP исследование Эдуарда Агаврилоае, соучредителя Offensai. Оно было опубликовано в конце прошлого года и было посвящено задержкам отзыва учётных данных AWS. Но, как отметил Леон, время этих задержек составляли всего четыре секунды, и в AWS отреагировали на проблему.
Окна отзыва ключей API Google, напротив, были значительно дольше. Исследовательская группа Aikido провела 10 тестов в течение двух дней, в ходе которых были созданы виртуальные машины (ВМ) в разных регионах GCP. Затем ключи API удаляли и отправляли до пяти аутентифицированных запросов в секунду, чтобы посмотреть, как долго они работали после удаления.
Результаты тестов оказались «крайне непредсказуемыми»: в одном из испытаний показатель успешности аутентификации составил 79% через минуту, в то время как в другом — всего 5%. Кроме того, в Aikido обнаружили, что показатели успешности значительно различаются в зависимости от региона ВМ.
Например, в регионе asia-southeast1 медианный показатель успешности запросов на аутентификацию составил всего 22% через минуту, в то время как показатели успешности в регионах us-east1 и europe-west1 достигали около 49%. Леон отметил, что виртуальные машины, расположенные дальше от США, быстрее обрабатывали запросы на удаление, и это «противоположно тому, чего можно было бы ожидать», хотя причина такого поведения неясна. «Маршрутизация запросов Google сложнее, чем “регион виртуальной машины равен региону сервера”, и виртуальная машина в Сингапуре не обязательно взаимодействует с серверами в Сингапуре. Но эта закономерность сохранялась во всех тестах, а это указывает на то, что разница обусловлена региональной инфраструктурой, кэшированием или привязкой маршрутизации», — написал Леон.
Он говорит, что региональные различия «полностью обусловлены тем, откуда исследователь (или злоумышленник) отправлял свои запросы», и не зависят от географического местоположения клиента.
Задержки при удалении ключей API осложняют реагирование на инциденты. В отчёте Aikido говорится, что пользовательский интерфейс GCP обещает: «После удаления ключи больше нельзя использовать для отправки запросов API». Это оставляет клиентов в неведении относительно того, когда ключ API полностью удалён.
Периоды аннулирования ключей API Google, а также непредсказуемые показатели успешности аутентификации усложняют работу групп реагирования на инциденты, которые сталкиваются с потенциальным взломом.
«Это разрушает привычную модель работы групп реагирования на утечки учетных данных. Предполагается, что после нажатия кнопки “Удалить” или “Аннулировать” учётные данные больше не работают», — говорит Леон.
Теперь командам реагирования на инциденты необходимо помнить, что для учётных данных GCP существует временной промежуток, в течение которого эти «удалённые» данные всё ещё работают. В связи с этим Aikido рекомендовала командам безопасности и специалистам по реагированию на инциденты использовать 30-минутный интервал для удаления ключей API Google. Кроме того, организациям следует отслеживать свои запросы API по учётным данным через раздел «Включённые API и сервисы» в консоли GCP и проверять запросы API по учётным данным. «Если вы видите неожиданное использование этих учётных данных после удаления, кто-то может активно их эксплуатировать», — написал Леон.
Aikido сообщила о результатах своей работы в Google, но компания закрыла отчёт с пометкой «не будет исправлено».
Леон отметил, что Google быстрее аннулирует другие типы учётных данных: для служб оно срабатывает примерно за пять секунд, а новый формат ключей API Gemini полностью аннулируется примерно за одну минуту. По мнению исследователя, сокращение сроков отзыва ключей API Google «технически возможно».
«Распределённые системы в масштабах Google — сложная задача, и это не критика команды GCP IAM. Но 23-минутный срок отзыва принципиально противоречит ожиданиям пользователей от кнопки удаления», — заключил Леон.
Ранее Google опубликовала эксплойт-код для неустранённой уязвимости в кодовой базе своего браузера Chromium. Она угрожает миллионам пользователей Chrome, Microsoft Edge и практически всех других браузеров на основе движка. Код использует программный интерфейс Browser Fetch, стандарт, позволяющий загружать длинные видео и другие большие файлы в фоновом режиме. Злоумышленник может использовать эксплойт для создания соединения с целью мониторинга некоторых аспектов использования браузера пользователем, а также в качестве прокси для просмотра сайтов и запуска атак типа «отказ в обслуживании».
ссылка на оригинал статьи https://habr.com/ru/articles/1038388/