Os engenheiros de segurança do Google Martin Pelikan, Giles Hogben, e Ulfar Erlingsson, escreveram um algoritmo de cluster para analisar automaticamente os aplicativos Android e detectar quais podem ser considerados intrusos.
Os aplicativos intrusivos são aqueles que exigem que o usuário conceda um conjunto maior de funcionalidades do que seria estritamente necessário para o seu bom funcionamento. Por exemplo, um aplicativo para colorir não normalmente não precisa, ter acesso a dados de geolocalização. Outros exemplos de informações que nem todos os aplicativos necessitam para fazer seu trabalho são o acesso a dados pessoais, câmeras, catálogo de endereços, etc. Conceder mais privilégios do que o estritamente necessário é potencialmente prejudicial, já que você pode não saber para o que esses dados serão realmente usados. Entre os casos mais freqüentes de comportamentos prejudiciais desses aplicativos estão: backdoors, spyware, coleta de dados, negação de serviço e muito mais.
A abordagem que o Google segue para detectar aplicativos intrusivos baseia-se no conceito de agrupamento por funcionalidade, ou seja, um grupo de aplicativos que compartilham recursos semelhantes e que, portanto, devem exigir um conjunto similar de autorizações. Uma vez que esses grupos são formados, torna-se possível detectar aplicativos anormais em cada grupo, ou seja, aqueles aplicativos que exigem mais privilégios do que aplicativos similares. Esta abordagem requer o monitoramento do Android Play Store, coletando estatísticas detalhadas e descobrindo as expectativas dos usuários, para que os grupos de aplicativos possam ser determinados automaticamente. De acordo com os engenheiros do Google, a categorização fixa e manual seria uma tarefa tediosa e propensa a erros.
Para tornar essa abordagem mais eficaz, o Google usa Deep Learning para descobrir grupos de aplicativos que compartilham características semelhantes usando os metadados destas aplicações, que incluem descrições textuais e métricas de instalação. Uma vez que os grupos são definidos, a detecção de anomalias é usada dentro de cada grupo para identificar aplicativos anormais, ou seja, aplicativos que mostram uma incompatibilidade entre os privilégios que eles exigem e suas funcionalidades. Esses aplicativos são inspecionados cuidadosamente para decidir quais são realmente intrusivos. Essa informação é usada também para determinar quais aplicativos devem ser promovidos, bem como para entrar em contato com desenvolvedores de aplicativos potencialmente intrusos e ajudá-los a melhorar a privacidade e segurança destes apps.