Aumento da proteção e segurança de dados nos Sistemas Android

A equipe da plataforma Android está empenhada em proteger o sistema Android para todos os usuários em todos os dispositivos. Além de atualizações mensais de segurança para corrigir vulnerabilidades relatadas à equipe por meio do Programa de Recompensas de Vulnerabilidade (PRV), o Android também é arquitetado proativamente para proteger contra vulnerabilidades não descobertas por meio de medidas de fortalecimento, como aplicação de mitigações baseadas em compilador e melhoria de sandboxing.

A abordagem geral da Segurança do Android é multifacetada e alavanca vários princípios e técnicas para chegar a soluções guiadas por dados para tornar a exploração futura mais difícil. Em particular, quando se trata de fortalecer a plataforma, a equipe de Segurança do Android tenta responder às seguintes perguntas:

  • Quais dados estão disponíveis e como eles podem orientar as decisões de segurança?
  • Quais mitigações estão disponíveis, como podem ser melhoradas e onde devem ser ativadas?
  • Quais são os desafios de implantação de atenuações específicas e quais compensações devem ser consideradas?

Eles respondem da seguinte forma: “Ao lançar alguma luz sobre o processo que usamos para escolher os recursos de segurança do Android, esperamos fornecer um melhor entendimento da abordagem geral do Android para proteger nossos usuários.”

Tomada de decisão de segurança baseada em dados

Eles usam uma variedade de fontes para determinar quais áreas da plataforma se beneficiariam mais com os diferentes tipos de atenuações de segurança. O Programa de Recompensas de Vulnerabilidade (PRV) do Android é uma fonte muito informativa: todas as vulnerabilidades enviadas por meio deste programa são analisadas pela equipe de engenheiros de segurança para determinar a causa raiz de cada vulnerabilidade e sua gravidade geral (com base nas diretrizes). Outras fontes são relatórios de bugs internos e externos, que identificam componentes vulneráveis e revelam práticas de codificação que normalmente levam a erros. O conhecimento dos padrões de código problemáticos, combinado com a prevalência e gravidade das vulnerabilidades que eles causam, pode ajudar a informar as decisões sobre quais mitigações provavelmente serão mais benéficas.

Tipos de vulnerabilidades de gravidade crítica corrigidas nos boletins de segurança do Android em 2019:

  • Memória: 59%
  • Permission Bypass: 21%
  • Integer Overflow: 6.5%
  • Type Confusion: 4.0%
  • Outros: 9.5%

Confiar única e exclusivamente em relatórios de vulnerabilidade não é suficiente, pois os dados são inerentemente tendenciosos: muitas vezes, os pesquisadores de segurança migram para áreas “quentes”, onde outros pesquisadores já encontraram vulnerabilidades (por exemplo, Stagefright). Ou eles podem se concentrar em áreas onde ferramentas prontamente disponíveis tornam mais fácil encontrar bugs (por exemplo, se uma ferramenta de pesquisa de segurança é postada no Github, outros pesquisadores normalmente utilizam essa ferramenta para explorar mais a fundo).

Para certificar que os esforços de mitigação não sejam direcionados apenas para áreas onde bugs e vulnerabilidades foram relatados, os Red Teams internos analisam partes menos escrutinadas ou mais complexas da plataforma. Além disso, fuzzers automatizados contínuos são executados em escala em máquinas virtuais Android e dispositivos físicos. Isso também garante que os bugs possam ser encontrados e corrigidos no início do ciclo de desenvolvimento. Todas as vulnerabilidades descobertas por meio desse processo também são analisadas quanto à causa e gravidade, que informam as decisões de implantação de atenuação.

O Android PRV recompensa os envios de exploit-chains completas que demonstram um ataque completo de ponta a ponta. Essas exploit-chains, que geralmente utilizam várias vulnerabilidades, são muito informativas na demonstração de técnicas que os invasores usam para encadear as vulnerabilidades para atingir seus objetivos. Sempre que um pesquisador envia uma cadeia de exploração completa, uma equipe de engenheiros de segurança analisa e documenta a abordagem geral, cada elo da cadeia e quaisquer estratégias inovadoras de ataques usadas. Esta análise informa quais estratégias de mitigação de exploração podem ser empregadas para evitar girar diretamente de uma vulnerabilidade para outra (alguns exemplos incluem Randomização de Layout de Espaço de Endereço e Integridade de Fluxo de Controle) e se a superfície de ataque do processo pode ser reduzida se tiver acesso desnecessário aos recursos.

Frequentemente, há várias maneiras diferentes de usar uma coleção de vulnerabilidades para criar uma exploit-chain. Portanto, uma abordagem de defesa em profundidade é benéfica, com o objetivo de reduzir a utilidade de algumas vulnerabilidades e alongar as exploit-chains para que a exploração de falhas bem-sucedida exija mais vulnerabilidades. Isso aumenta o custo para um invasor desenvolver uma exploit-chain completa.

A equipe de segurança do Android acompanha os desenvolvimentos da comunidade de segurança mais ampla, isso faz com que eles entendam o cenário das atuais ameaças, quais técnicas são usadas atualmente para exploração de falhas e como serão as tendências futuras. Esse comportamento envolve, mas não está limitado a:

  • Colaboração próxima com a comunidade de pesquisa de segurança externa
  • Participação em conferências e leitura de artigos
  • Monitoramento de técnicas usadas por malware
  • Seguindo as tendências de pesquisa de segurança em comunidades de segurança
  • Participar de esforços e projetos externos como KSPP, syzbot, LLVM, Rust e mais

Todas essas fontes de dados fornecem feedback para a estratégia geral de fortalecimento da segurança, onde novas atenuações devem ser implantadas e quais atenuações de segurança existentes devem ser aprimoradas.

Conclusão:

Em cada versão do Android, toda a equipe trabalha muito para equilibrar as melhorias de segurança que beneficiam todo o ecossistema com desempenho e estabilidade, aproveitando ao máximo os dados disponíveis a eles.

Informações obtidas/adaptadas de: https://security.googleblog.com/2021/01/data-driven-security-hardening-in.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+GoogleOnlineSecurityBlog+%28Google+Online+Security+Blog%29