Skip to content

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 -pie ao vincular.

Etapas

  1. Extraia o conteúdo do aplicativo ( Explorando o Pacote do Aplicativo).
  2. 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.