Десятки iOS-приложений, оперирующих конфиденциальными данными пользователя, уязвимы к атакам «человек посередине» с перехватом TLS-трафика. Использование 19 из 76 приложений, проанализированных в Sudo Security Group, сопряжено с высокими рисками: они позволяют локальному злоумышленнику скрытно перехватывать идентификаторы к финансовым и медицинским сервисам и/или токены сессий аутентифицированного пользователя.

В своем отчете исследователи поименовали лишь приложения низкой степени опасности, вендорам остальных разосланы уведомления и дан срок от 60 до 90 дней на внесение исправлений. В комментарии Threatpost исполнительный директор Sudo Уилл Страфач (Will Strafach) пояснил, что эти приложения содержат сетевой код, позволяющий принимать самоподписанные сертификаты; видимо, эта возможность была привнесена разработчиками на этапе отладки. Подобный недочет позволяет злоумышленнику внедрить собственный сертификат в поток трафика и перенаправить предположительно защищенные данные в свою сторону.

«Автор атаки может самостоятельно подписать сертификат, поместить прокси-инструмент в позицию «человек посередине» и заставить его предъявлять этот кастомный сертификат и перехватывать все ближние соединения, — рассказывает Страфач. — Наиболее вероятное объяснение, полагаю, — это внедрение разработчиком кода в приложение для проведения внутренних тестов на вспомогательном сервере. Внутренние серверы не выходят в сеть общего пользования, поэтому для них применяются самоподписанные сертификаты. Видимо, они просто не удалили этот код».

Страфач также подчеркнул, что Apple не способна исправить положение, не нарушив безопасность, уже заложенную в приложениях. Некоторые кастомные приложения, к  примеру, работают за сетевым экраном и используют самоподписанные сертификаты, привязанные к внутреннему доверенному набору сертификатов или открытых ключей.

По свидетельству Страфача, введенный в iOS 9 стандарт App Transport Security предполагает использование HTTPS, поэтому будет неэффективен при подобных ошибках конфигурации. Наличие TLS-сертификата этот протокол воспримет как признак валидного соединения TLS и проверку подлинности сертификата оставит приложению.

Из 76 iOS-приложений, изученных Sudo (совокупно 18 млн загрузок), 33 оценены как низкой степени опасности, так как в случае MitM-атаки ее автор сможет завладеть лишь информацией о мобильном устройстве и некоторыми персональными данными. Больше двух десятков программ сопряжены с умеренными рисками, 19 — с высокими.

«Это тот самый случай, когда разработчик должен удостовериться, что все сделал правильно, — говорит Страфач. — Если Apple введет блокировку, проблем станет больше, и безопасность приложений снизится. Разработчикам следует тщательно проверять уровень кода, вносимого в приложения. Если они используют для тестирования самоподписанные сертификаты и не удалят этот код, он сильно повысит риски для пользователей».

Чтобы избежать компрометации, пользователь может отключать Wi-Fi при пересылке конфиденциальных данных по публичным сетям, так как в большинстве случаев такие атаки, по свидетельству Страфача, проводятся через Wi-Fi. Данная уязвимость присутствует также в сетях сотовой связи, однако эксплойт здесь намного сложнее и дороже, поэтому риск невысок. «Исправить ситуацию можно, изменив строку кода или несколько строк, — говорит эксперт. — В целом вывод прост: всегда проверяйте, не остался ли отладочный код в рабочем приложении».

Категории: Аналитика, Уязвимости