Исследования
Почти в половине Android-приложений используются уязвимые компоненты
Приложения содержат опасные уязвимости, раскрывают конфиденциальные данные, а также запрашивают слишком много разрешений.
Почти все самые популярные приложения Android используют компоненты с открытым исходным кодом, но многие из этих компонентов устарели и имеют как минимум одну опасную уязвимость, пишет SeructityLab.ru. Специалисты компании Synopsys провели анализ 3335 самых популярных мобильных приложений для Android в 18 категориях, включая игровые, финансовые и образовательные программы, и обнаружили, что 98% из них используют открытый исходный код, в среднем по 20 компонентов на приложение.
Согласно отчету, почти половина приложений (46%) содержат компонент с открытым исходным кодом с опасной уязвимостью, а почти три четверти известных уязвимостей были старше как минимум двух лет. Уязвимые компоненты были выявлены в 96% проанализированных бесплатных игр, 94% самых прибыльных игр, 88% банковских приложений и 84% приложений для составления бюджета. По данным Synopsys, около 1% из 3137 проблем, обнаруженных в ПО, являются уязвимостями удаленного выполнения кода.
Менее 5% опасных проблем в настоящее время не имеют исправлений. Уязвимые приложения раскрывают персональные данные, включая URL-адреса, IP-адреса и адреса электронной почты, а также более конфиденциальную информацию, например, OAuth-токены, асимметричные закрытые ключи, ключи AWS и web-токены JSON.
Еще одна проблема заключается в том, что приложения требуют в среднем 18 различных разрешений для устройств, более четырех конфиденциальных разрешений и трех разрешений, которые Google классифицировала как «не предназначенные для использования третьими лицами». Больше всего разрешений запрашивали финансовые программы — 24 разрешения или более.
Отчет призван предупредить разработчиков мобильных приложений о существующих проблемах и побудить их следовать методам безопасного кодирования, отслеживать компоненты с открытым исходным кодом, используемые при разработке, и регулярно обновлять свой код.