В 2023 году исследователи Trend Micro обнаружили критические уязвимости в цепочке поставок Microsoft PC Manager, связанные с чрезмерно открытыми SAS-токенами к облачным хранилищам Azure. Эти токены предоставляли злоумышленникам возможность незаметно подменять официальные дистрибутивы и распространять вредоносное ПО миллионам пользователей Windows.

PC Manager — инструмент для оптимизации Windows, доступный через официальный сайт , Microsoft App Store и через командную строку с помощью WinGet. Его распространение осуществляется через публичные облачные хранилища Azure, доступ к которым регулировался с помощью SAS-токенов (Shared Access Signature). Однако, как оказалось, настройки этих токенов были излишне щедрыми: они позволяли читать, записывать, удалять и просматривать содержимое контейнеров с дистрибутивами.
Первый сценарий атаки (ZDI-23-1527) был выявлен в сентябре 2023 года. Анализ YAML-манифестов WinGet, размещённых в репозитории microsoft/winget-pkgs на GitHub, показал, что начиная с 4 ноября 2022 года в открытом доступе находились ссылки с SAS-токенами к китайскому облачному аккаунту Azure distributestorage (blob.core.chinacloudapi.cn), контейнеру mvp размером 384 ГБ. Пример вредоносной ссылки:
Этот токен действовал до марта 2024 года и позволял не только скачивать, но и полностью изменять содержимое контейнера. Таким образом, любой желающий мог заменить все релизы PC Manager на вредоносные версии. Даже если WinGet предупреждает о несовпадении хэша SHA256, большинство пользователей продолжили бы доверять загрузкам из официального источника.
Второй сценарий (ZDI-23-1528) касался главного официального сайта . Кнопка загрузки на сайте вела через короткий адрес к дистрибутиву, хранящемуся в другом аккаунте Azure — pcmdistributestorage. Здесь контейнер mvp содержал 126,7 ГБ данных, а SAS-токен также позволял полный доступ к файлам. Особую опасность представлял тот факт, что автообновление включено по умолчанию в некоторых версиях, а MSI-файлы не были подписаны цифровым сертификатом. Теоретически, злоумышленник мог внедрить троян или подменить файлы на архивы с вредоносными скриптами, подписанными скомпрометированными сертификатами.
Риск усугублялся тем, что SAS-токены Azure бывают трёх типов: User Delegation (до 7 дней, требует Entra ID), Service и Account (до 9 999 лет, требуют ключа аккаунта). Если ключ аккаунта Azure утекал, создавалось неограниченное количество токенов с любыми правами. В случае обнаруженных уязвимостей токены были выданы слишком надолго и с избыточными правами.
Для обнаружения подобных инцидентов эксперты рекомендуют анализировать Azure Storage Analytics logs (несмотря на высокую стоимость и неполноту информации, например, отсутствие самой подписи токена), мониторить крупные передачи данных, отслеживать параметры
В ответ на отчёты исследователей Microsoft сначала ограничила права SAS-токенов только чтением, а затем полностью заменила открытые ссылки на загрузку прямыми URL Microsoft App Store, что исключило возможность сторонней подмены бинарных файлов.
Среди подобных инцидентов выделяется случай июня 2023 года, когда из-за чрезмерно открытого SAS-токена были раскрыты 38 ТБ внутренних данных Microsoft, включая резервные копии сотрудников и артефакты исследований ИИ.
Во избежание подобных проблем рекомендуется использовать SAS-токены с минимальными необходимыми правами (только чтение, только для одного файла), ограничивать срок действия до одного часа, делиться токенами только с доверенными клиентами, использовать политики отзыва (Stored Access Policy) и регулярно проводить аудит прав доступа. В случае утечки ключа необходимо срочно производить его ротацию, что аннулирует все активные токены.
Данные инциденты продемонстрировали, что даже крупные корпорации могут стать уязвимыми из-за ошибки в управлении облачными правами доступа, а своевременное реагирование и жёсткий контроль над облачной инфраструктурой критически важны для защиты цепочек поставок программного обеспечения.

Изображение носит иллюстративный характер
PC Manager — инструмент для оптимизации Windows, доступный через официальный сайт , Microsoft App Store и через командную строку с помощью WinGet. Его распространение осуществляется через публичные облачные хранилища Azure, доступ к которым регулировался с помощью SAS-токенов (Shared Access Signature). Однако, как оказалось, настройки этих токенов были излишне щедрыми: они позволяли читать, записывать, удалять и просматривать содержимое контейнеров с дистрибутивами.
Первый сценарий атаки (ZDI-23-1527) был выявлен в сентябре 2023 года. Анализ YAML-манифестов WinGet, размещённых в репозитории microsoft/winget-pkgs на GitHub, показал, что начиная с 4 ноября 2022 года в открытом доступе находились ссылки с SAS-токенами к китайскому облачному аккаунту Azure distributestorage (blob.core.chinacloudapi.cn), контейнеру mvp размером 384 ГБ. Пример вредоносной ссылки:
officeplus.cn/mvp/10000/54247/MSPCManagerOffline_20230918.54247.exe?sv=2021-10-04&se=2024-03-16T09:17:53Z&sr=c&sp=rwdl&sig=...
Этот токен действовал до марта 2024 года и позволял не только скачивать, но и полностью изменять содержимое контейнера. Таким образом, любой желающий мог заменить все релизы PC Manager на вредоносные версии. Даже если WinGet предупреждает о несовпадении хэша SHA256, большинство пользователей продолжили бы доверять загрузкам из официального источника.
Второй сценарий (ZDI-23-1528) касался главного официального сайта . Кнопка загрузки на сайте вела через короткий адрес к дистрибутиву, хранящемуся в другом аккаунте Azure — pcmdistributestorage. Здесь контейнер mvp содержал 126,7 ГБ данных, а SAS-токен также позволял полный доступ к файлам. Особую опасность представлял тот факт, что автообновление включено по умолчанию в некоторых версиях, а MSI-файлы не были подписаны цифровым сертификатом. Теоретически, злоумышленник мог внедрить троян или подменить файлы на архивы с вредоносными скриптами, подписанными скомпрометированными сертификатами.
Риск усугублялся тем, что SAS-токены Azure бывают трёх типов: User Delegation (до 7 дней, требует Entra ID), Service и Account (до 9 999 лет, требуют ключа аккаунта). Если ключ аккаунта Azure утекал, создавалось неограниченное количество токенов с любыми правами. В случае обнаруженных уязвимостей токены были выданы слишком надолго и с избыточными правами.
Для обнаружения подобных инцидентов эксперты рекомендуют анализировать Azure Storage Analytics logs (несмотря на высокую стоимость и неполноту информации, например, отсутствие самой подписи токена), мониторить крупные передачи данных, отслеживать параметры
sp
в URL, выявлять доступы с подозрительных IP-адресов и user-agent, а также следить за анонимными запросами и попытками доступа к конфиденциальным файлам (например, .env
, config
, secret
). В ответ на отчёты исследователей Microsoft сначала ограничила права SAS-токенов только чтением, а затем полностью заменила открытые ссылки на загрузку прямыми URL Microsoft App Store, что исключило возможность сторонней подмены бинарных файлов.
Среди подобных инцидентов выделяется случай июня 2023 года, когда из-за чрезмерно открытого SAS-токена были раскрыты 38 ТБ внутренних данных Microsoft, включая резервные копии сотрудников и артефакты исследований ИИ.
Во избежание подобных проблем рекомендуется использовать SAS-токены с минимальными необходимыми правами (только чтение, только для одного файла), ограничивать срок действия до одного часа, делиться токенами только с доверенными клиентами, использовать политики отзыва (Stored Access Policy) и регулярно проводить аудит прав доступа. В случае утечки ключа необходимо срочно производить его ротацию, что аннулирует все активные токены.
Данные инциденты продемонстрировали, что даже крупные корпорации могут стать уязвимыми из-за ошибки в управлении облачными правами доступа, а своевременное реагирование и жёсткий контроль над облачной инфраструктурой критически важны для защиты цепочек поставок программного обеспечения.