Эксперты Symantec Threat Hunter Team, входящей в состав Broadcom Software, предупредили, что разработчики мобильных приложений часто раскрывают учетные данные от Amazon Web Services (AWS) в своем коде, а такая халатность может представлять угрозу для всей цепочки поставок.
В общей сложности исследователи нашли 1859 приложений, содержащих жестко закодированные учетные данные от AWS, большинство из которых (98%) — приложения для iOS. Android-приложений обнаружилось только 37 штук.
Примерно 77% изученных приложений содержали действительные токены доступа для AWS, которые можно использовать для прямого доступа к приватным облачным сервисам. Более того, 874 приложения содержали действительные токены для AWS, которые могут использоваться для доступа к облаку, где хранятся БД работающих сервисов, содержащие миллионы записей.
Обычно такие БД хранят информацию об учетной записи пользователя, логи, регистрационную информацию и другие конфиденциальные данные, в зависимости от типа приложения.
В своем отчете аналитики выделили три ярких примера того, как утечка токенов AWS может иметь катастрофические последствия как для авторов проблемного приложения, так и для пользователей.
Одним из примеров стала неназванная B2B-компания, предоставляющая услуги интранета и связи более чем 15 000 малым и средним бизнесам. SDK, который эта компания предоставляет своим клиентам для доступа к услугам, содержит ключи AWS, раскрывающие все личные данные клиентов, хранящиеся на платформе.
Другой случай — это SDK, использующийся для сторонней цифровой идентификация и аутентификации, который в ходу у нескольких банковских приложений для iOS. Из-за жестко закодированных учетных данных в облаке доступна вся аутентификационная информация всех клиентов этих банков (примерно 300 000 человек), включая имена, даты рождения и даже биометрические данные (отпечатки пальцев).
Также эксперты Symantec обнаружили уязвимую платформу для спортивных ставок, которую используют 16 приложений для онлайн-гемблинга. Из-за ошибки разработчиков платформа раскрывала всю свою инфраструктуру и облачные сервисы, предоставляя потенциальным злоумышленникам права на чтение и запись на уровне администратора.
В конце отчета исследователи выделили сразу несколько причин, из-за которых разработчики допускают подобные просчеты и оставляют в коде действительные токены и учетные данные:
- скачивание или загрузка ассетов и ресурсов, необходимых для работы приложения (обычно больших медиафайлов, записей или изображений);
- доступ к файлам конфигурации приложения и/или регистрации устройств, а также сбор информации об устройствах и ее хранение в облаке;
- доступ к облачным сервисам, требующим аутентификации, например к службам перевода;
- без конкретной причины, код давно не обновлялся и/или использовался для тестирования, но так и не был очищен должным образом.