Segurança Organizacional e Operacional

A base das boas práticas de segurança começa na sua organização.

Crie uma equipe de segurança e privacidade

Crie uma equipe dedicada de segurança e privacidade e estabeleça um líder para esta organização.

  • Construa uma equipe de segurança.
    • Certifique-se de que pelo menos um funcionário seja responsável pela segurança, privacidade e resposta a incidentes.
    • Defina uma missão e escopo para esta equipe.
    • Desenvolva um organograma e descrições de cargos para: Gerente de Segurança, Engenheiro de Segurança, Gerente de Incidentes.
    • Contrate funcionários ou prestadores de serviços externos para preencher essas funções.
  • Defina um ciclo de vida de desenvolvimento de segurança (SDL) . Seu SDL deve cobrir estas áreas:
    • Requisitos de segurança para produtos.
    • Análise de risco e modelagem de ameaças.
    • Análise estática e dinâmica de aplicações e código.
    • Processos finais de revisão de segurança para produtos.
    • Resposta a incidentes.
  • Avaliar o risco organizacional . Crie uma avaliação de riscos e desenvolva planos para eliminar ou mitigar esses riscos.

Processo de verificação de compilação

Avalie lacunas em seus processos internos existentes de verificação e aprovação de construção.

  • Identifique quaisquer lacunas em seu processo atual de verificação de build que possam levar à introdução de um Aplicativo Potencialmente Nocivo (PHA) em seu build.
  • Certifique-se de ter um processo de revisão e aprovação de código, mesmo para patches internos para AOSP .
  • Melhore a integridade da construção implementando controles nestas áreas:
    • Alterações de percurso . Rastreie engenheiros de software; mantenha registros de alterações.
    • Avalie o risco . Avalie as permissões usadas por um aplicativo; exigir revisão manual de alterações de código.
    • Monitor . Avalie as alterações feitas no código privilegiado.

Acompanhamento de alterações de código-fonte

Monitore modificações não intencionais de código-fonte ou aplicativos/binários/SDKs de terceiros.

  • Avalie parcerias . Avalie o risco de trabalhar com um parceiro técnico seguindo as seguintes etapas:
    • Estabeleça critérios de como avaliar o risco de trabalhar com um fornecedor específico.
    • Crie um formulário que pergunte ao fornecedor como eles resolvem incidentes e gerenciam a segurança e a privacidade.
    • Verifique suas reivindicações com uma auditoria periódica.
  • Alterações de percurso . Registre quais empresas e funcionários modificam o código-fonte e conduza auditorias periódicas para garantir que apenas as alterações apropriadas ocorram.
  • Manter registros . Registre quais empresas adicionam binários de terceiros à sua construção e documente a função que esses aplicativos executam e quais dados eles coletam.
  • Planeje atualizações . Certifique-se de que seus fornecedores sejam obrigados a fornecer atualizações de software durante toda a vida útil do seu produto. Vulnerabilidades imprevistas podem exigir suporte dos fornecedores para serem resolvidas.

Valide a integridade e o pedigree do código-fonte

Inspecione e valide o código-fonte fornecido por um fabricante de dispositivo original (ODM), atualização over-the-air (OTA) ou operadora.

  • Gerenciar certificados de assinatura .
    • Armazene as chaves em um módulo de segurança de hardware (HSM) ou em um serviço de nuvem seguro (não as compartilhe).
    • Garanta que o acesso aos certificados de assinatura seja controlado e auditado.
    • Exija que toda a assinatura de código seja feita em seu sistema de compilação.
    • Revogar chaves perdidas.
    • Gere chaves usando as práticas recomendadas.
  • Analise o novo código . Teste o código recém-adicionado com ferramentas de análise de código de segurança para verificar a introdução de novas vulnerabilidades. Além disso, analise a funcionalidade geral para detectar a expressão de novas vulnerabilidades.
  • Revise antes de publicar . Procure vulnerabilidades de segurança no código-fonte e em aplicativos de terceiros antes de colocá-los em produção. Por exemplo:
    • Exija que os aplicativos usem comunicação segura.
    • Siga o princípio do menor privilégio e conceda o conjunto mínimo de permissões necessárias para o funcionamento do aplicativo.
    • Garanta que os dados sejam armazenados e transferidos por canais seguros.
    • Mantenha as dependências do serviço atualizadas.
    • Aplique patches de segurança a SDKs e bibliotecas de código aberto.

Resposta a incidentes

O Android acredita no poder de uma forte comunidade de segurança para ajudar a encontrar problemas. Você deve criar e divulgar uma forma de terceiros entrarem em contato com você sobre questões de segurança específicas do dispositivo.

  • Estabelecer contato . Crie um endereço de e-mail, como your-company ou um site com instruções claras para relatar possíveis problemas de segurança associados ao seu produto ( exemplo ).
  • Estabeleça um Programa de Recompensas de Vulnerabilidade (VRP) . Incentive pesquisadores de segurança externos a enviar relatórios de vulnerabilidades de segurança que afetem seus produtos, oferecendo recompensas monetárias por envios válidos ( exemplo ). Recomendamos recompensar os pesquisadores com recompensas competitivas do setor, como US$ 5.000 para vulnerabilidades de gravidade crítica e US$ 2.500 para vulnerabilidades de gravidade alta.
  • Contribua com mudanças no upstream . Se você tomar conhecimento de um problema de segurança que afeta a plataforma Android ou dispositivos de vários fabricantes de dispositivos, entre em contato com a equipe de segurança do Android preenchendo um relatório de bug de segurança .
  • Promova boas práticas de segurança . Avalie proativamente as práticas de segurança de fornecedores de hardware e software que fornecem serviços, componentes e/ou código para seus dispositivos. Responsabilize os fornecedores por manter uma boa postura de segurança.