O recurso OnePlus App Locker no OnePlus 3, OnePlus 3T e OnePlus 5 executando OxygenOS pode ser facilmente ignorado iniciando uma atividade.
Este problema foi corrigido em OxygenOS versão 4.1.7 para o OnePlus 3 e OnePlus 3T.
O tipo de software encontrado nos telefones OnePlus é conhecido como OxygenOS. Ele adiciona alguns recursos interessantes ao Android padrão, sem se desviar muito do que você esperaria de um dispositivo Google. Recentemente, comecei a usar o OnePlus 5 como driver diário e, apesar das controvérsias, acho que é um ótima atualização para todos os fãs da linha Google Nexus. Dito isto, examino cada novo dispositivo que recebo para cada aspecto menor que eu gosto ou não gosto. Enquanto pesquisava nas configurações do OxygenOS, me deparei com o recurso OnePlus App Locker, que bloqueia aplicativos que você escolhe atrás de seu pin/senha/impressão digital.
Esquerda: XDA Labs oculto pelo App Locker. À direita: Feed XDA oculto pelo recurso App Lock.
Geralmente sou um fã de soluções de terceiros para solicitações de recursos, uma vez que elas não são impostas a você e geralmente oferecem mais recursos do que uma solução original. No caso de um bloqueio de aplicativo, porém, prefiro uma solução integrada, como o OnePlus App Locker, como deveriam ser. mais difíceis de eliminar (portanto, mais seguros), bem como mais rápidos (já que não dependem de serviços de acessibilidade ou leem as estatísticas de uso API). Fiquei chocado, no entanto, ao descobrir que o recurso de bloqueio do aplicativo OxygenOS poderia ser
facilmente contornado.A demonstração acima foi realizada em um OnePlus 5 rodando Oxigênio OS 4.5.8
Reconheço que estou não tratar isso como uma grande falha de segurança ou qualquer coisa, já que esse recurso é usado principalmente quando você deseja compartilhar seu telefone com alguém (espero alguém em quem você já confia). Se você confia nesse recurso, isso significa que você está entregando seu telefone já desbloqueado para alguém, então é não é como se esse desvio contornasse as principais medidas de segurança do seu telefone como senha/pin/impressão digital ou outras medidas de criptografia ou proteção contra redefinição de fábrica. Ainda assim, uma falha é uma falha, e se alguém como eu, que não é um pesquisador de segurança, pudesse encontrar isso, qualquer um poderia.
Explicação do desvio do OnePlus App Locker
Como mostrado no vídeo acima, eu escondi o Feed XDA aplicativo por trás do recurso de bloqueio de aplicativo. Como esperado, não consigo abrir o aplicativo sem inserir minha senha. Se eu tentar acessar Configurações -> Segurança e impressão digital -> App Locker, serei solicitado a inserir minha senha. Mas quando volto para a tela inicial e toco no ícone misterioso de um aplicativo que fiz chamado "OnePlus App Locker Bypass", abre a página de configurações do App Locker, onde posso desativar livremente qualquer aplicativo existente fechaduras.
O acesso ao recurso OxygenOS App Locker normalmente requer entrada de senha/PIN
Qualquer pessoa deve ser capaz de replicar esse processo em seu dispositivo OnePlus executando OxygenOS se tiver um iniciador como o Nova Launcher instalado (isso seria uma tonelada de gente) ou qualquer outro aplicativo que possa iniciar Atividades. Como o recurso de bloqueio de aplicativos é provavelmente usado por pessoas que desejam apenas ocultar determinados dados confidenciais aplicativos (como um aplicativo de galeria supersecreto contendo fotos totalmente familiares) enquanto mostra fora deles telefone novo e brilhante, é improvável que a maioria das pessoas pense em ocultar seu aplicativo inicializador. Além disso, como não há como ocultar o instalador do pacote atrás de um bloqueio de aplicativo, também é possível instalar um aplicativo de desvio como o meu para contornar o OnePlus App Locker.
Se você estiver usando o Nova Launcher e estiver curioso para saber como fazer isso, é simples. Basta adicionar um atalho de atividade ao “App Locker”, encontrado em “Painel”. Basta tocar neste atalho para iniciar as configurações do App Locker sem solicitar sua senha.
Atividade de configurações do OxygenOS App Locker
Não sei ao certo por que as configurações do App Locker não solicitam a entrada de senha quando a atividade é iniciada a partir de um aplicativo de terceiros. Uma maneira de resolver isso seria simplesmente tornar a atividade um atividade não exportada portanto, não pode ser acessado de nenhum outro aplicativo.
<activityandroid: label="@string/app_lock_label"android: name=".applocker.AppLockerSettingsActivity"android: screenOrientation="nosensor">
<intent-filter>
<actionandroid: name="com.oneplus.security.action.APP_LOCKER"/>
<categoryandroid: name="android.intent.category.DEFAULT"/>
intent-filter>
activity>
O AndroidManifest.xml
arquivo de com.oneplus.security
, parte do qual é reproduzido acima, mostra que de fato a atividade do recurso OnePlus App Locker é uma atividade exportada. Adicionando android: exported=false
ao rótulo da atividade deve resolver esse problema, acredito.
OnePlus está ciente, irá corrigir na atualização do OxygenOS
Notificamos a equipe do OxygenOS sobre esse problema e eles o reconheceram na seguinte declaração:
Estamos cientes desse problema e iremos corrigi-lo em um próximo OTA.
Se você estiver usando o recurso App Lock agora e quiser ter certeza de que ninguém poderá ignorá-lo, recomendo que você adicione qualquer iniciador e aplicativo de navegador além dos bloqueios de aplicativos existentes. Esse problema, na minha opinião, não prejudica a experiência de software do OnePlus 5, mas deixe que isso seja um lembrete de que qualquer medida de segurança pode potencialmente conter uma falha. Felizmente, desta vez, a falha de segurança é pequena.