Ataque do StrandHogg / Vulnerabilidade da afinidade de tarefa

Categoria OWASP: MASVS-PLATFORM: interação com a plataforma (link em inglês)

Visão geral

A vulnerabilidade de ataque StrandHogg / afinidade de tarefas foi ativada / causada por um bug no design na maneira como o Android processava várias tarefas, especificamente o recurso chamado "reassociação de tarefas". A reassociação de tarefas do aplicativo é um recurso que permite que um app mova uma atividade de uma tarefa para outra.

O ataque StrandHogg explora a falta de clareza sobre como examinar as atividades da pilha de tarefas de aplicativos recebidas e permite que um aplicativo malicioso:

  • Mova uma atividade maliciosa de ou para uma pilha-alvo.
  • Defina a atividade maliciosa como a pilha de retorno após a conclusão de uma atividade-alvo.

Essa vulnerabilidade é explorada ao manipular as configurações allowTaskReparenting e taskAffinity.

Impacto

Um aplicativo malicioso pode definir a afinidade de tarefas de uma das atividades dele para corresponder ao nome do pacote de um aplicativo de destino. Isso pode ser acoplado à invasão de intent para que, na próxima vez que o aplicativo de destino for iniciado pelo usuário, o aplicativo malicioso também seja iniciado e mostrado por cima do aplicativo de destino.

A vulnerabilidade de afinidade de tarefas pode ser usada para invadir ações legítimas do usuário.

O usuário pode ser induzido a fornecer credenciais a um aplicativo malicioso. Por padrão, depois que uma atividade começa e é associada a uma tarefa, essa associação persiste durante todo o ciclo de vida da atividade. No entanto, definir allowTaskReparenting como verdadeiro quebra essa restrição, permitindo que uma atividade já existente seja associada de novo a uma tarefa "nativa" recém-criada.

Por exemplo, o App A pode ser alvo do App B, redirecionando as atividades do App A para uma pilha de atividades do App B ao retornar da atividade concluída do App A. Essa transição de um app para outro fica oculta ao usuário e cria uma ameaça de phishing significativa.

Mitigações

Atualize para android:minSdkVersion="30".

A vulnerabilidade de ataque StrandHogg / afinidade de tarefas foi corrigida originalmente em março de 2019 com uma variante mais recente e abrangente corrigida em setembro de 2020. As versões 30 e mais recentes do SDK do Android (Android 11) contêm os patches do SO adequados para evitar essa vulnerabilidade. Embora seja possível reduzir parcialmente a versão 1 do Ataque StrandHogg nas configurações específicas dos aplicativos, a versão 2 do ataque só pode ser impedida por esse patch de versão do SDK.

Recursos