O Android Q protegerá melhor sua privacidade com novos recursos

click fraud protection

A análise de uma versão vazada do Android Q mostra mais atualizações de privacidade chegando ao Android: bloqueio de leituras da área de transferência em segundo plano, melhor proteção de mídia e muito mais.

Cada nova versão do Android vem com novos recursos, o que significa que o Android precisa de novas permissões para bloquear o acesso a esses recursos. Encontrei muitas permissões novas na estrutura do Android Q (nem todas abordarei neste artigo porque muitas delas não são interessantes). Algumas das permissões que encontrei não tinham nenhuma descrição, mas seus nomes são bastante autoexplicativos de qualquer maneira. Vamos nos aprofundar e discutir os novos aprimoramentos de privacidade nos bastidores do Android Q, bem como alguns outros recursos interessantes que encontrei.

Agradecimentos especiais à PNF Software por nos fornecer uma licença de uso Descompilador JEB. JEB Decompiler é uma ferramenta de engenharia reversa de nível profissional para aplicativos Android.

Bloqueando o acesso à área de transferência em segundo plano

Você sabia disso todos os aplicativos no Android podem ler sua área de transferência, e você não precisa conceder a eles permissão de tempo de execução para fazer isso? Muitas pessoas provavelmente copiam informações confidenciais, como nomes de usuário, senhas, endereços, etc. o tempo todo, então seria fácil para qualquer aplicativo extrair esses dados em segundo plano. É por isso que muitos aplicativos gerenciadores de senhas como KeepPass têm seus próprios teclados que você pode usar para ignorar o gerenciador da área de transferência do Android. Os aplicativos gerenciadores de senhas geralmente limpam a área de transferência depois que você copia e cola qualquer coisa. A razão pela qual os aplicativos Android precisam ler a área de transferência é que eles não podem aceitar nenhum texto da área de transferência sem ela, o que significa que você não pode colar nenhum texto copiado. Felizmente, o Android Q está tentando mudar isso.

Uma nova permissão foi adicionada chamada “READ_CLIPBOARD_IN_BACKGROUND”Parece que fará exatamente o que diz: limitar quais aplicativos podem ler a área de transferência em segundo plano. O nível de proteção desta permissão é “assinatura”, o que significa que apenas aplicativos assinados pelo OEM podem receber essa permissão.

<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>

Suporte para downgrade de aplicativos?

Você já instalou uma atualização de um aplicativo no Google Play e se arrependeu imediatamente? Às vezes, um desenvolvedor envia uma atualização que quebra algo que ele não previu, mas depois que a atualização foi enviada e instalada, é tarde demais para fazer algo a respeito. O desenvolvedor precisa emitir rapidamente um hotfix e o usuário precisa parar de usar o aplicativo até que uma atualização seja lançada ou desinstalar o aplicativo e carregar uma versão mais antiga. Não há como fazer downgrade de um aplicativo, a menos que você tenha um dispositivo com acesso root e um aplicativo como TitânioBackup, porque o gerenciador de pacotes do Android impede a instalação de versões mais antigas de aplicativos. Há um bom motivo para fazer isso, porque a instalação de uma versão mais antiga de um aplicativo pode causar falhas se o os dados do aplicativo não são apagados ou podem expor o usuário a perigo se a versão mais antiga for vulnerável a um problema de segurança imperfeição.

Embora não tenhamos certeza se o Google permitirá que os usuários revertam aplicativos para uma versão mais antiga, encontramos várias permissões e comandos no Android Q que sugerem que isso será possível. Primeiro, o novo “PACKAGE_ROLLBACK_AGENT" e "MANAGE_ROLLBACKS”As permissões sugerem que o aplicativo Market pré-instalado pode atuar como um agente para gerenciar a reversão de versões do aplicativo. A primeira permissão é “assinatura”, enquanto a última é “instalador” em cima de “assinatura”, então isso significa apenas um aplicativo assinado pela plataforma com a capacidade de instalar aplicativos (normalmente apenas o gerenciador de pacotes, Google Play Store ou outras lojas de aplicativos originais, dependendo do dispositivo) pode usar essas permissões. Duas novas intenções de transmissão protegidas foram adicionadas: “PACKAGE_ENABLE_ROLLBACK" e "PACKAGE_ROLLBACK EXECUTED.” Essas transmissões não podem ser enviadas por aplicativos de terceiros e provavelmente têm como objetivo permitir que o aplicativo afetado saiba quando foi feito downgrade (muito como a forma como os aplicativos são informados quando foram atualizados, dando-lhes a chance de exibir alguma mensagem na próxima inicialização.) Por último, um novo sinalizador foi adicionado a o "pm install”Comando shell. A bandeira, chamada “--enable-rollback”, pode permitir reverter um aplicativo para uma versão anterior. Eu não consegui fazê-lo funcionar, no entanto.

<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>

Protegendo arquivos em armazenamento externo

O armazenamento de dados no Android envolve o “armazenamento interno” (/data excluindo /data/media) e “armazenamento externo” (/data/media e quaisquer cartões SD ou unidades USB montados). Os APKs e seus dados mais confidenciais são armazenados no armazenamento interno, enquanto qualquer mídia compartilhada, como documentos, imagens, vídeos, etc. são armazenados em armazenamento externo. Por padrão, os aplicativos só podem ler e gravar arquivos em um único diretório no armazenamento externo: /data/media/[user]/Android/data/[package_name]. (Para saber mais sobre esse comportamento, recomendo que você leia meu artigo sobre sdcardfs no Android Oreo.) Depois que o usuário concede a um aplicativo qualquer permissão no grupo de permissão de armazenamento externo (READ_EXTERNAL_STORAGE ou WRITE_EXTERNAL_STORAGE), o aplicativo poderá ler ou gravar qualquer arquivo no armazenamento externo. Isso é problemático porque você concede a um aplicativo a capacidade de coletar potencialmente muitos dados sobre você quando você apenas deseja permitir que ele leia ou grave determinados arquivos. Para corrigir isso, o Google parece estar introduzindo algumas novas permissões relacionadas ao armazenamento externo no Android Q. As permissões bloquearão os seguintes recursos:

  • Capacidade de ler os locais da sua mídia. (Provavelmente bloqueando o acesso aos metadados das imagens por padrão.)
  • Capacidade de acessar arquivos de música.
  • Capacidade de acessar fotos.
  • Capacidade de acessar vídeos.

Para aplicativos que já possuem o READ_EXTERNAL_STORAGE ou WRITE_EXTERNAL_STORAGE permissões antes da atualização do Android Q, eles receberão o novo ler permissões, mas não o novo escrever permissões. Por exemplo, um aplicativo que já recebeu READ_EXTERNAL_STORAGE pelo usuário será automaticamente concedido o READ_MEDIA_IMAGES permissão, mas não o WRITE_MEDIA_IMAGES permissão.

Strings relevantes do framework-res do Android Q

<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>



"android.permission.READ_EXTERNAL_STORAGE"

targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

consulte Mais informação

O retorno do acesso à localização em segundo plano

O Android Oreo e o Android 9 Pie deram grandes passos na proteção da privacidade do usuário, mas alguns usuários acharam que o Google levou as coisas longe demais. Uma dessas áreas que pode ser considerada uma regressão de características está em acesso à localização em segundo plano. O acesso à localização no Android Oreo e posterior é fortemente limitado, se não totalmente eliminado, para aplicativos executados em segundo plano, então os aplicativos precisam estar em primeiro plano ou ter um serviço em primeiro plano em execução se quiserem pesquisar continuamente o dispositivo localização. Isso impede que aplicativos espionem sua localização em segundo plano, mas também impede que o usuário mapeie sua própria localização usando um aplicativo em segundo plano. Este é um problema que abordamos em um artigo separado e parece que o Google está adicionando uma nova permissão no Android Q para atender às preocupações desses desenvolvedores e usuários.

No Android Q, uma nova permissão foi adicionada para permitir que um aplicativo tenha acesso em segundo plano à localização do dispositivo. A descrição da permissão ao usuário alerta que “o aplicativo sempre terá acesso à localização, mesmo quando você não estiver usando o aplicativo”. Esta permissão pode receber permissões “adicionais à localização aproximada ou precisa” para que o aplicativo “possa acessar a localização enquanto é executado em segundo plano”. Em contraste, a permissão de localização aproximada só pode obter sua localização com base em fontes de rede, como torres de celular ou redes Wi-Fi, mas somente quando o aplicativo estiver no primeiro plano.

Strings relevantes do framework-res do Android Q

<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

consulte Mais informação

Reconhecimento de atividade física

Uma nova permissão foi adicionada ao Android Q que permite que um aplicativo “reconheça sua atividade física”. Isso tecnicamente não é novo, pois é já faz parte do Google Play Services, mas pode significar que o Google dissociará a permissão do Play Services. Com o quão integral o Google Play Services tem sido no fornecimento dos principais recursos do Android, é bom ver parte de seu poder devolvido ao AOSP.

<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>

Para mais novidades sobre o Android Q, confira nosso marcação com as últimas notícias classificadas por data. Publicamos recentemente um artigo com muitas evidências apontando para o trabalho do Google em compatível com hardware de autenticação facial semelhante ao Face ID no Android Q. Também temos um prática inicial da versão vazada do Android Q (e tem até um vídeo) que você deve conferir aqui. Estaremos postando mais descobertas desta versão inicial do Android Q que obtivemos, portanto, fique ligado.