03.07.2024 | Скелет в шкафу Apple: CocoaPods нарушала приватность в экосистеме iOS |
Специалисты EVA Information Security обнаружили уязвимости в менеджере зависимостей CocoaPods, которые оставались незамеченными более 10 лет и могли быть использованы для организации атак на цепочку поставок для macOS и iOS . Ошибки позволяли внедрить вредоносный код во многие из самых популярных приложений, что создавало риск для миллионов пользователей по всему миру. Уязвимости находились на сервере управления Trunk проекта CocoaPods. CocoaPods является репозиторием для открытых проектов на Swift и Objective-C, от которого зависят около 3 миллионов приложений для macOS и iOS. Когда разработчики вносят изменения в свои «pods» (индивидуальные пакеты кода), зависимые приложения автоматически интегрируют их через обновления, часто без какого-либо взаимодействия с конечными пользователями. Одна из обнаруженных ошибок позволяла атакующему внедрять код в приложения, которые могут получать доступ к конфиденциальной информации пользователей: данные кредитных карт, медицинские записи, личные данные и многое другое. Внедрение кода могло дать возможность использовать информацию для любых злонамеренных целей, таких как вымогательство, мошенничество, шантаж или корпоративный шпионаж. Компании, использующие уязвимые приложения, подвергались серьёзным юридическим и репутационным рискам. Три обнаруженные уязвимости связаны с небезопасным механизмом проверки электронной почты, используемым для аутентификации разработчиков отдельных модулей. Разработчик ввел адрес электронной почты, связанный с его модулем. Сервер Trunk ответил отправкой ссылки на адрес. Когда человек нажимал на ссылку, он получал доступ к учетной записи.
Обычно электронное письмо содержит действительную ссылку на сервер CocoaPods.org (сверху), но злоумышленник мог изменить URL-адрес так, чтобы он вел на вредоносный сервер (снизу). Были обнаружены следующие уязвимости:
После обнаружения уязвимостей CocoaPods оперативно устранила их в октябре. Разработчики заявили, что на момент устранения не было доказательств активной эксплуатации. Однако возможность таких атак была подтверждена. Для предотвращения подобных инцидентов в будущем CocoaPods внедрила новый процесс восстановления заброшенных «pods», требующий прямого обращения к разработчикам, что делает невозможным эксплуатацию уязвимостей, связанных с заброшенными пакетами. Хотя от разработчиков приложений и пользователей не требуется никаких действий, исследователи из EVA рекомендовали принять дополнительные меры предосторожности. Разработчики должны:
Особое внимание следует уделять зависимостям, которые широко используются, так как они являются привлекательной целью для атак. |
Проверить безопасность сайта