Proteja a sua app e combata o abuso com as flags de segurança FLAG_SECURE e REQUIRE_SECURE_ENV

Na qualidade de programador do Google Play, desempenha um papel fundamental para garantir a segurança da sua app e dos respetivos utilizadores. Com o aumento de campanhas de abuso de engenharia social, que segmentam particularmente populações vulneráveis, é mais importante do que nunca tomar medidas proativas para proteger os utilizadores e a integridade da sua app.

Este artigo apresenta uma vista geral de duas flags de segurança do Android e do Google Play úteis que podem melhorar a segurança da sua app: FLAG_SECURE e REQUIRE_SECURE_ENV. Ao compreender e usar estas flags de forma eficaz, pode ajudar a combater abusos direcionados e salvaguardar ainda mais o ecossistema da sua app.

FLAG_SECURE

A flag FLAG_SECURE indica que a sua app se destina a ser executada num ambiente mais seguro, mitigando potenciais vulnerabilidades, monitorizações e ataques. É uma flag de ecrã declarada no código de uma app para indicar que a respetiva IU contém dados confidenciais que se destinam a ser limitados a uma superfície segura durante a utilização da app, indicando a outras apps e serviços que os dados não devem aparecer em capturas de ecrã nem ser vistos em ecrãs não seguros. Os programadores declaram esta flag quando o conteúdo da app não deve ser transmitido, visto nem transmitido fora da app ou do dispositivo dos utilizadores. Por exemplo, se um ecrã da sua app contiver dados confidenciais que possam apresentar um risco de segurança se forem vistos por terceiros, como uma app de apoio técnico remoto, a flag FLAG_SECURE é uma forma de declarar essa sensibilidade e ajudar a disponibilizar um ambiente seguro.  Por questões de segurança e privacidade, todas as apps distribuídas no Google Play são obrigadas a respeitar a FLAG_SECURE, o que implica não facilitar nem criar soluções para contornar as definições de flags noutras apps.

REQUIRE_SECURE_ENV

Os ataques de engenharia social são particularmente preocupantes para a população de idosos e outros grupos vulneráveis que podem ser mais suscetíveis a manipulação e fraude. Estes ataques envolvem, muitas vezes, induzir os utilizadores a revelarem informações confidenciais, como palavras-passe ou detalhes financeiros, ou transferirem conteúdo malicioso.

Ao implementar as flags FLAG_SECURE e REQUIRE_SECURE_ENV, pode ajudar a mitigar ataques de engenharia social na sua app. Usadas de forma independente ou simultânea, estas flags ajudam a proteger contra vulnerabilidades que os atacantes exploram frequentemente para aceder a dispositivos ou dados pessoais e confidenciais do utilizador.

Proteger os utilizadores idosos e as populações vulneráveis contra o abuso de engenharia social

Os ataques de engenharia social são particularmente preocupantes para a população de idosos e outros grupos vulneráveis que podem ser mais suscetíveis a manipulação e fraude. Estes ataques envolvem, muitas vezes, induzir os utilizadores a revelarem informações confidenciais, como palavras-passe ou detalhes financeiros, ou transferirem conteúdo malicioso.

Ao implementar as flags FLAG_SECURE e REQUIRE_SECURE_ENV, pode ajudar a mitigar ataques de engenharia social na sua app. Usadas de forma independente ou simultânea, estas flags ajudam a proteger contra vulnerabilidades que os atacantes exploram frequentemente para aceder a dispositivos ou dados pessoais e confidenciais do utilizador.

Medidas de proteção adicionais

Além de usar flags de segurança, considere incorporar estas medidas adicionais para ajudar a proteger os utilizadores contra o abuso de engenharia social:

  • Informe os utilizadores sobre táticas de engenharia social: faculte avisos claros e concisos na sua app acerca de técnicas comuns de engenharia social, como esquemas de phishing e chamadas de apoio técnico falsas.
  • Implemente mecanismos de autenticação seguros: use métodos de autenticação robustos, como a autenticação de dois fatores, para impedir o acesso não autorizado a contas de utilizador.
  • Atualize regularmente a sua app: mantenha a app atualizada com os patches de segurança e as correções de erros mais recentes para resolver potenciais vulnerabilidades que possam ser exploradas por atacantes.

Colaboração e formação contínua

Combater o abuso e proteger os utilizadores é um processo contínuo que requer a colaboração dos programadores, do Google Play e da comunidade de segurança em geral. Mantenha-se a par das práticas recomendadas de segurança lendo o nosso blogue sobre segurança.

Ao trabalhar em conjunto, podemos criar um ecossistema Android mais seguro e fidedigno para todos os utilizadores.

Perguntas frequentes

Clique numa pergunta abaixo para a expandir ou reduzir.

A utilização destas flags vai alterar negativamente as minhas apps? Quanto tempo demora a implementação?

Estas apps foram concebidas para melhorar a segurança e a privacidade, e não prejudicam o desempenho. No entanto, se as funcionalidades da sua app dependerem fortemente da partilha de capturas de ecrã ou gravações de ecrã, a definição da flag FLAG_SECURE pode impedir que os utilizadores capturem essas imagens nessas páginas específicas. Neste caso, é importante equilibrar as necessidades de segurança com a experiência do utilizador. Além disso, algumas personalizações ou extensões de apps de terceiros podem depender de métodos de captura de ecrã que podem ser afetados por estas flags. Se a sua app se integrar com essas ferramentas, é recomendável testar a compatibilidade.

Geralmente, o processo de implementação é rápido e simples. Normalmente, envolve a adição de algumas linhas de código às páginas relevantes ou atividades onde quer aplicar as flags. O tempo exato depende da complexidade da app e do número de páginas envolvidas.

Qual é a diferença entre a flag FLAG_SECURE e a REQUIRE_SECURE_ENV?

A FLAG_SECURE é uma flag ao nível da janela que, quando definida, indica que o conteúdo da janela é tratado como seguro, impedindo que apareça em capturas de ecrã ou que seja visto em ecrãs não seguros, enquanto a REQUIRE_SECURE_ENV indica a outras apps que a sua app tem de ser executada num ambiente seguro. Tanto a FLAG_SECURE como a REQUIRE_SECURE_ENV são flags de segurança que podem ser usadas para proteger as apps/os utilizadores do Android contra abuso e ataques.

Qual das seguintes opções é um exemplo de como a FLAG_SECURE funciona conforme previsto?

Quando uma app de serviços bancários usa a FLAG_SECURE no respetivo ecrã de início de sessão, cria uma janela especial que protege as informações confidenciais, como as credenciais de início de sessão do utilizador. Regra geral, esta proteção ajuda a evitar que o conteúdo da janela seja apresentado em ecrãs não seguros ou registado em capturas de ecrã, gravações ou tentativas de visualização remota. Assim, em vez de ver os detalhes de início de sessão de um utilizador, pode ver apenas uma área em branco nesses tipos de ecrãs.

Que tipos de apps podem usar as flags FLAG_SECURE e REQUIRE_SECURE_ENV?

Alguns exemplos de apps que podem usar estas flags são apps que processam dados pessoais e confidenciais do utilizador, como informações financeiras. As apps bancárias são alguns exemplos de apps que usam frequentemente a FLAG_SECURE. As apps que são particularmente vulneráveis a abuso, como as apps destinadas a populações vulneráveis ou idosos, também devem considerar a utilização da flag REQUIRE_SECURE_ENV.

A utilização destas flags vai alterar negativamente as minhas apps? Quanto tempo demora a implementação?

Para implementar a flag FLAG_SECURE, adicione a seguinte linha ao ficheiro AndroidManifest.xml:

XML

<activity android:name=".MyActivity"
          android:exported="true"
          android:windowSoftInputMode="adjustPan">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

Para implementar a flag REQUIRE_SECURE_ENV, adicione a seguinte linha ao ficheiro AndroidManifest.xml:

XML

<manifest ...>
  <application ...>
        …

    <property android:name="REQUIRE_SECURE_ENV" android:value="1" />

    …


  •   </application>
    </manifest>

A informação foi útil?

Como podemos melhorá-la?
Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
18011102175138968319
true
Pesquisar no Centro de ajuda
true
true
true
true
true
92637
false
false