O Android incorpora recursos de segurança líderes do setor e trabalha com desenvolvedores e implementadores de dispositivos para manter a plataforma e o ecossistema Android seguros. Um modelo de segurança robusto é essencial para permitir um ecossistema vigoroso de aplicativos e dispositivos criados na plataforma Android e em torno dela e com suporte de serviços em nuvem. Como resultado, durante todo o seu ciclo de vida de desenvolvimento, o Android esteve sujeito a um rigoroso programa de segurança.
O Android foi projetado para ser aberto. Os aplicativos Android usam hardware e software avançados, bem como dados locais e fornecidos, expostos por meio da plataforma para trazer inovação e valor aos consumidores. Para concretizar esse valor, a plataforma oferece um ambiente de aplicativos que protege a confidencialidade, a integridade e a disponibilidade dos usuários, dos dados, dos aplicativos, do dispositivo e da rede.
Proteger uma plataforma aberta requer uma arquitetura de segurança forte e programas de segurança rigorosos. O Android foi projetado com segurança em várias camadas que é flexível o suficiente para oferecer suporte a uma plataforma aberta e, ao mesmo tempo, proteger todos os usuários da plataforma. Para obter informações sobre como relatar problemas de segurança e o processo de atualização, consulte Atualizações e recursos de segurança .
O Android foi projetado para desenvolvedores. Os controles de segurança foram projetados para reduzir a carga dos desenvolvedores. Os desenvolvedores experientes em segurança podem trabalhar facilmente e confiar em controles de segurança flexíveis. Os desenvolvedores menos familiarizados com segurança estão protegidos por padrões seguros.
Além de fornecer uma plataforma estável para desenvolvimento, o Android oferece suporte adicional aos desenvolvedores de diversas maneiras. A equipe de segurança do Android procura vulnerabilidades potenciais em aplicativos e sugere maneiras de corrigir esses problemas. Para dispositivos com Google Play, o Play Services fornece atualizações de segurança para bibliotecas de software essenciais, como OpenSSL, que é usado para proteger as comunicações de aplicativos. A segurança do Android lançou uma ferramenta para testar SSL ( nogotofail ) que ajuda os desenvolvedores a encontrar possíveis problemas de segurança em qualquer plataforma que estejam desenvolvendo.
O Android também aproveita o suporte de hardware subjacente para segurança. Por exemplo, a tecnologia ARM TrustZone é usada para fornecer armazenamento seguro para chaves criptográficas, bem como atestados de integridade de inicialização. [DICE](https://pigweed.googlesource.com/open-dice/+/refs/heads/main/docs/android.md) é usado para medir o firmware carregado antes da inicialização do Android. Isso permite a verificação remota de que o firmware não é afetado por vulnerabilidades críticas conhecidas que poderiam ser exploradas para prejudicar desenvolvedores e usuários.
Mais informações para desenvolvedores de aplicativos Android podem ser encontradas em developer.android.com .
O Android foi projetado para usuários. Os usuários recebem visibilidade das permissões solicitadas por cada aplicativo e controle sobre essas permissões. Esse design inclui a expectativa de que os invasores tentem realizar ataques comuns, como ataques de engenharia social para convencer os usuários de dispositivos a instalar malware e ataques a aplicativos de terceiros no Android. O Android foi projetado para reduzir a probabilidade desses ataques e limitar bastante o impacto do ataque caso fosse bem-sucedido. A segurança do Android continua a progredir depois que o dispositivo está nas mãos do usuário. O Android trabalha com parceiros e o público para fornecer patches para qualquer dispositivo Android que continue recebendo atualizações de segurança.
Mais informações para usuários finais podem ser encontradas na Central de Ajuda do Nexus , na Central de Ajuda do Pixel ou na Central de Ajuda do fabricante do seu dispositivo.
Esta página descreve os objetivos do programa de segurança do Android, descreve os fundamentos da arquitetura de segurança do Android e responde às perguntas mais pertinentes para arquitetos de sistemas e analistas de segurança. Ele se concentra nos recursos de segurança da plataforma principal do Android e não discute questões de segurança exclusivas de aplicativos específicos, como aqueles relacionados ao navegador ou ao aplicativo de SMS.
Fundo
O Android fornece uma plataforma de código aberto e um ambiente de aplicativo para dispositivos móveis.
As seções e páginas abaixo descrevem os recursos de segurança da plataforma Android. A Figura 1 ilustra os componentes de segurança e as considerações dos vários níveis da pilha de software Android. Cada componente pressupõe que os componentes abaixo estão devidamente protegidos. Com exceção de uma pequena quantidade de código do sistema operacional Android executado como root, todo o código acima do kernel Linux é restrito pelo Application Sandbox.
Os principais blocos de construção da plataforma Android são:
- Hardware do dispositivo: o Android é executado em uma ampla variedade de configurações de hardware, incluindo telefones celulares, tablets, relógios, automóveis, smart TVs, caixas de jogos OTT e decodificadores. O Android é independente de processador, mas aproveita alguns recursos de segurança específicos de hardware, como ARM eXecute-Never.
- Sistema operacional Android: O sistema operacional principal é construído sobre o kernel Linux. Todos os recursos do dispositivo, como funções de câmera, dados de GPS, funções de Bluetooth, funções de telefonia e conexões de rede são acessados através do sistema operacional.
- Tempo de execução de aplicativos Android: os aplicativos Android são geralmente escritos na linguagem de programação Java e executados no tempo de execução Android (ART). No entanto, muitos aplicativos, incluindo os principais serviços e aplicativos do Android, são aplicativos nativos ou incluem bibliotecas nativas. Os aplicativos ART e nativos são executados no mesmo ambiente de segurança, contido no Application Sandbox. Os aplicativos obtêm uma parte dedicada do sistema de arquivos na qual podem gravar dados privados, incluindo bancos de dados e arquivos brutos.
Os aplicativos Android estendem o sistema operacional Android principal. Existem duas fontes principais de aplicativos:
- Aplicativos pré-instalados: o Android inclui um conjunto de aplicativos pré-instalados, incluindo telefone, e-mail, calendário, navegador da web e contatos. Eles funcionam como aplicativos de usuário e fornecem recursos importantes do dispositivo que podem ser acessados por outros aplicativos. Os aplicativos pré-instalados podem fazer parte da plataforma Android de código aberto ou podem ser desenvolvidos por um fabricante de dispositivo para um dispositivo específico.
- Aplicativos instalados pelo usuário: o Android oferece um ambiente de desenvolvimento aberto que oferece suporte a qualquer aplicativo de terceiros. O Google Play oferece aos usuários centenas de milhares de aplicativos.
Serviços de segurança do Google
O Google fornece um conjunto de serviços baseados em nuvem que estão disponíveis para dispositivos Android compatíveis com Google Mobile Services . Embora esses serviços não façam parte do Android Open Source Project (AOSP), eles estão incluídos em muitos dispositivos Android. Para obter mais informações sobre alguns desses serviços, consulte Análise do ano de 2018 da segurança do Android.
Os principais serviços de segurança do Google são:
- Google Play: o Google Play é um conjunto de serviços que permite aos usuários descobrir, instalar e comprar aplicativos de seus dispositivos Android ou da web. O Google Play facilita que os desenvolvedores alcancem usuários do Android e clientes em potencial. O Google Play também oferece análise da comunidade, verificação de licença de aplicativos, verificação de segurança de aplicativos e outros serviços de segurança.
- Atualizações do Android: o serviço de atualização do Android oferece novos recursos e atualizações de segurança para dispositivos Android selecionados, incluindo atualizações pela Web ou pelo ar (OTA).
- Serviços de aplicativos: estruturas que permitem que aplicativos Android usem recursos de nuvem, como ( backup ) de dados e configurações de aplicativos e mensagens de nuvem para dispositivo ( C2DM ) para mensagens push.
- Verifique aplicativos: avisa ou bloqueia automaticamente a instalação de aplicativos prejudiciais e verifica continuamente os aplicativos no dispositivo, alertando ou removendo aplicativos prejudiciais .
- SafetyNet: um sistema de detecção de invasões que preserva a privacidade para auxiliar no rastreamento do Google, mitigar ameaças de segurança conhecidas e identificar novas ameaças de segurança.
- Atestado SafetyNet: API de terceiros para determinar se o dispositivo é compatível com CTS. O atestado também pode identificar o aplicativo Android que se comunica com o servidor do aplicativo.
- Gerenciador de dispositivos Android: um aplicativo da web e um aplicativo Android para localizar dispositivos perdidos ou roubados.
Visão geral do programa de segurança
Os principais componentes do Programa de Segurança Android incluem:
- Revisão de design: o processo de segurança do Android começa no início do ciclo de vida de desenvolvimento com a criação de um modelo e design de segurança ricos e configuráveis. Cada recurso principal da plataforma é revisado por recursos de engenharia e segurança, com controles de segurança apropriados integrados à arquitetura do sistema.
- Teste de penetração e revisão de código: Durante o desenvolvimento da plataforma, os componentes criados no Android e de código aberto estão sujeitos a rigorosas revisões de segurança. Essas análises são realizadas pela equipe de segurança do Android, pela equipe de engenharia de segurança da informação do Google e por consultores de segurança independentes. O objetivo dessas revisões é identificar pontos fracos e possíveis vulnerabilidades bem antes dos lançamentos principais e simular os tipos de análise realizados por especialistas externos em segurança após o lançamento.
- Revisão de código aberto e da comunidade: o AOSP permite uma ampla revisão de segurança por qualquer parte interessada. O Android também usa tecnologias de código aberto que passaram por uma revisão de segurança externa significativa, como o kernel Linux. O Google Play oferece um fórum para usuários e empresas fornecerem informações sobre aplicativos específicos diretamente aos usuários.
- Resposta a incidentes: Mesmo com essas precauções, podem ocorrer problemas de segurança após o envio, razão pela qual o projeto Android criou um processo abrangente de resposta de segurança. Os membros da equipe de segurança do Android em tempo integral monitoram a comunidade de segurança específica do Android e a comunidade de segurança geral para discutir possíveis vulnerabilidades e revisar bugs de segurança arquivados no banco de dados de bugs do Android. Após a descoberta de problemas legítimos, a equipe do Android tem um processo de resposta que permite a rápida mitigação de vulnerabilidades para garantir que o risco potencial para todos os usuários do Android seja minimizado. Essas respostas suportadas pela nuvem podem incluir a atualização da plataforma Android (atualizações AOSP), a remoção de aplicativos do Google Play e a remoção de aplicativos de dispositivos em campo.
- Atualizações mensais de segurança: a equipe de segurança do Android fornece atualizações mensais para dispositivos Google Android e todos os nossos parceiros fabricantes de dispositivos.
Arquitetura de segurança da plataforma
O Android busca ser o sistema operacional mais seguro e utilizável para plataformas móveis, reaproveitando os controles de segurança do sistema operacional tradicional para:
- Proteja dados de aplicativos e usuários
- Proteja os recursos do sistema (incluindo a rede)
- Forneça isolamento de aplicativos do sistema, de outros aplicativos e do usuário
Para atingir esses objetivos, o Android fornece estes principais recursos de segurança:
- Segurança robusta no nível do sistema operacional por meio do kernel Linux
- Sandbox de aplicativo obrigatório para todos os aplicativos
- Comunicação segura entre processos
- Assinatura de aplicativo
- Permissões definidas pelo aplicativo e concedidas pelo usuário