Эксперты из норвежской компании Promon обнаружили уязвимость в Android, которая позволяет вредоносным приложениям модифицировать легитимные и выполнять вредоносные операции от их имени.
Уязвимость, получившая название StrandHogg, может обманом вынудить пользователя предоставить опасные привилегии вредоносному приложению, причем когда пользователь взаимодействует с приложением легитимными. Также баг можно использовать для показа жертвам фальшивых страниц логина во время подключения к легитимным приложениям.
По данным экспертов, проблема уже используется злоумышленниками. Так, уязвимость была обнаружена, когда неназванная восточноевропейская компания, занимающаяся безопасностью финансового сектора, обратилась к Promon за помощью, так как несколько банков в Чешской Республике сообщили об исчезновении денег со счетов клиентов. Восточноевропейский партнер предоставил исследователям образец для анализа, и те сумели обнаружить проблему StrandHogg.
Аналитики Promon, совместно с экспертами из компании Lookout, установили, что уязвимость эксплуатируют как минимум 36 вредоносных приложений. Исследователи не раскрывают их названия, но подчеркивают, что ни одно из приложений не распространялось напрямую через официальный каталог Google Play Store. Чаще всего приложения попадали на устройства пользователей в качестве пейлоадов второй стадии атаки, то есть сначала жертвы загружали и устанавливали из Play Store другую малварь.
Если говорить о технической стороне дела, корень уязвимость StrandHogg заключается в том, как Android переключается между различными процессами, которые связаны с разными операциями и приложениями. В сущности, проблема StrandHogg кроется в компоненте, отвечающем за многозадачность. В итоге, когда пользователь запускает легитимное приложение, вредоносное получает возможность использовать StrandHogg для запуска вредоносного кода, применяя, к примеру, taskAffinity и allowTaskReparenting.
Так, пользователь запускает легитимное приложение, но выполняется код из вредоносного. Такой код может запрашивать опасные права или отображать фишинговые страницы. Так как все это происходит после нажатия на иконку легитимного приложения, пользователь будет считать, что запрос на получение права или экран логина тоже были созданы именно этим приложением, и вряд ли заподозрит подмену.
По информации Promon, StrandHogg не требует root-доступа и работает на всех версиях Android, включая последнюю версию Android 10. Кроме того, эксперты проверили 500 наиболее популярных приложений из Google Play Store, и обнаружили, что процессы этих приложений могут быть скомпрометированы с помощью StrandHogg и использованы для выполнения вредоносных действий.
Исследователи пишут, что уведомили инженеров Google о проблеме еще минувшим летом, однако уязвимость не была устранена за положенные 90 дней.