Спецпроекты

Безопасность Интернет Веб-сервисы Техника

В Android-магазине Huawei найдена лазейка, позволяющая бесплатно скачивать платные приложения

В API магазина Huawei AppGallery обнаружена лазейка, позволяющая бесплатно загружать платные приложения. По словам нашедшего ее исследователя, та появилась не позднее середины февраля 2022 г и якобы до сих пор не закрыта. Причем с Huawei по ее поводу он связался еще зимой, а подтверждение от компании получил лишь 18 мая.

Брешь в API AppGallery

Уязвимость в API (программном интерфейсе) фирменного магазина мобильных приложений компании Huawei позволяет свободно загружать из него платные программы, причем без необходимости входить в учетную запись. Об этом сообщил портал 9to5Google.

Брешь в Huawei AppGallery в феврале 2022 г. обнаружил разработчик ПО для операционной системы Android Дилан Руссель (Dylan Roussel). Программист практически сразу же сообщил о своей находке представителям Huawei. По его словам, компания признала факт наличия уязвимости спустя примерно три месяца – 18 мая 2022 г., однако якобы до сих пор ее не устранила и не обозначила сроков выпуска исправления.

Huawei AppGallery – это платформа распространения мобильных приложений и одноименный менеджер пакетов для ОС Android. Магазин приложений был запущен в Китае в 2011 г., а в остальном мире стал доступен в 2018 г.

Huawei начала уделять больше внимания развитию платформы после того, как в мае 2019 г. власти США надавили на Google, и та закрыла ей доступ к своим сервисам. После этого все смартфоны Huawei, работающие на Android, стали выходить без YouTube, Gmail, а также без фирменного магазина Google Play.

hua600.jpg
В API Huawei AppGallery обнаружена лазейка, позволяющая бесплатно загружать платные приложения

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

Неожиданная находка

По словам Русселя, на баг в работе API Huawei AppGallery он наткнулся по воле случае. Один из его знакомых разработчиков опубликовал свое приложение в этом магазине, побудив самого Русселя немного «поковыряться» в API сервиса.

Спустя некоторое время он, обнаружил функцию (что это за функция, не уточняется; – прим. CNews), которая в качества аргумента принимала название пакета (pkgName) в AppGallery и возвращала объект формата JSON с детальной информацией о приложении – версией, датой релиза, ценой, различными идентификаторами и пр. Чего он, по собственному признанию, совсем не ожидал увидеть, так это строки “url”, содержащей полный путь до установочного файла (APK) приложения, расположенного на серверах Huawei. Полученная ссылка позволяла без каких-либо проблем загрузить упакованное приложения на любое устройство без необходимости проходить авторизацию.

Возвращаемый API AppGallery перечень параметров приложения в формате JSON, привлекший внимание разработчика

Затем, как утверждает Руссель, он повторил ту же процедуру с платным приложением и к своему удивлению вновь получил рабочую ссылку, причем с аналогичным набором параметров.

Исследователь предположил, что проверка факта покупки могла осуществляться внутри самого приложения, с использованием отдельного API, однако эта версия не нашла подтверждения – бесплатно загруженное по полученной ссылке коммерческое приложение корректно работало на Android-смартфоне без каких-либо проблем.

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

Взаимодействие с Huawei

Общение с представителями Huawei, судя по рассказу Русселя, оказалось не слишком продуктивным. 17 февраля 2022 г. он, по собственным словам, отправил зашифрованное (PGP) электронное письмо о найденной уязвимости на один из адресов компании для сообщений об обнаруженных уязвимостях, который ему удалось найти в интернете.

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

По словам разработчика, на данные условия Huawei согласилась, однако спустя обозначенные пять недель проблема так и не была решена. Руссель утверждает, что дважды пытался связаться с представителями компании по почте, но ни разу не получил ответа. Несмотря на то, что уязвимость не была закрыта в оговоренный срок, исследователь счел необходимым дать специалистам больше времени – пяти недель могло оказаться недостаточно.

17 мая 2022 г., спустя 13 недель (около трех месяцев), Руссель отправил еще одно сообщение в адрес Huawei, в котором предупредил о намерении опубликовать информацию об уязвимости, после чего на следующий день внезапно получил ответ. По словам разработчика, компания признала факт наличия бреши и присвоила ей идентификатор. Кроме того, предложила вознаграждение, от которого тот якобы отказался «по личным причинам».

Дмитрий Степанов

Короткая ссылка