MASTG-TEST-0222: Código Independente de Posição (PIC) Não Habilitado
Visão Geral¶
Este caso de teste verifica se as bibliotecas nativas)) do aplicativo são compiladas sem ativar o Position Independent Code (PIC))), uma técnica comum de mitigação contra ataques de corrupção de memória.
A partir do Android 5.0 (nível de API 21), o Android exige que todos os executáveis vinculados dinamicamente suportem PIE.
Guia de Mantenedores do Sistema de Build - Argumentos Adicionais Obrigatórios: O Android exige executáveis independentes de posição a partir da API 21. O Clang compila executáveis PIE por padrão. Se estiver invocando o linker diretamente ou não usando Clang, use
-pieao vincular.
Etapas¶
- Extraia o conteúdo do aplicativo ( Explorando o Pacote do Aplicativo).
- Execute Obtendo Recursos de Segurança Fornecidos pelo Compilador em cada biblioteca compartilhada e pesquise por "pic" ou a palavra-chave correspondente usada pela ferramenta selecionada.
Observação¶
A saída deve listar se o PIC está ativado ou desativado.
Avaliação¶
O caso de teste falha se o PIC estiver desativado.