Este arcabouço atua como guia destinado à condução de avaliações de segurança orientadas à identificação de condições que possibilitam ataques de elevação de privilégio em sistemas Linux.
Além de servir como guia operacional, o arcabouço também tem o intuito de contribuir para a formação técnica do profissional. No âmbito educacional, o projeto busca fornecer aos profissionais iniciantes uma base conceitual sobre a lógica de como mecanismos do sistema, em determinadas circunstâncias, podem permitir ataques de elevação de privilégio. No âmbito operacional, o arcabouço visa apresentar (a princípio) fluxos para a execução de verificações, de modo a identificar riscos ou vulnerabilidades, funcionando como um guia para avaliações de segurança.
O arcabouço foi construído com base em uma modelagem conceitual (inspirada em ontologia) sobre técnicas de elevação de privilégio em sistemas Linux. A modelagem categorizou esse tema em duas classes principais: contexto privilegiado e técnicas de elevação de privilégio específicas.
A classe contexto privilegiado reúne os mecanismos que podem conceder capacidades especiais a usuários, arquivos ou processos. Exemplos incluem permissões especiais e delegações de privilégios via sudo. Cada subclasse do contexto privilegiado apresenta um desses mecanismos e expõe os riscos associados à sua configuração inadequada.
A classe técnicas de elevação de privilégio específicas representa os vetores concretos que, combinados a condições previamente identificadas no contexto privilegiado, permitem um ataque de elevação de privilégio bem-sucedido. Cada técnica depende de uma ou mais subclasses de contexto privilegiado e de um conjunto adicional de requisitos específicos para viabilizar um ataque.
Esta seção mostra a estrutura que cada página do arcabouço deve conter. Além disso, é descrito que tipo de conteúdo espera-se que haja em cada seção.
Esta seção elenca, em forma de lista, alguns assuntos fundamentais sobre sistemas operacionais cujo conhecimento prévio é necessário para o pleno entendimento da página de modo geral.
Esta seção busca mostrar o funcionamento da técnica de elevação de privilégio em questão. O objetivo é descrever como a exploração de vulnerabilidades permite a elevação de privilégio.
Esta seção contempla os guias práticos que consistem em sequências de instruções, incluindo o uso de ferramentas/comandos, de modo a permitir ao administrador avaliar de forma objetiva aspectos de segurança do sistema.
Atualmente, o que compõe a seção de Instruções Práticas é apenas um guia respectivo a cada classe, ou seja, dois possíveis guias. Esses dois guias são sutilmente diferentes entre si em relação a suas estruturas, mas seus objetivos variam substancialmente de acordo com a classe em questão. Para a classe contexto privilegiado, o guia atual visa avaliar potenciais riscos associados à más configurações. Para a classe técnicas de elevação de privilégio específicas, o guia atual visa verificar a presença de uma vulnerabilidade concreta que permite um ataque de elevação de privilégio bem-sucedido.
{% hint style="info" %} No parágrafo acima utilizou-se o termo "atual", pois espera-se que, no futuro, hajam outros guias para compor a seção Instruções Práticas. Por exemplo, um guia para mitigação de vulnerabilidades que trate de boas práticas e forneça instruções para melhorar a segurança do sistema em relação à elevação de privilégios. {% endhint %}
As estruturas do guia para avaliação de risco e do guia para verificação de vulnerabilidade são muito semelhantes. Por isso, ambas serão apresentadas juntas a seguir.
O guia para avaliação de risco apresenta verificações direcionadas exclusivamente a identificar más configurações do mecanismo em si, sem análise de explorabilidade específica. O propósito é avaliar configurações que podem sinalizar algum grau de risco.
Já o guia para verificação de vulnerabilidade apresenta uma sequência de instruções cujo objetivo é identificar a presença de uma vulnerabilidade específica em sistemas Linux que permita um ataque de elevação de privilégio. Para esse guia, essas instruções podem envolver, quando necessário para fins de confirmação técnica, a exploração controlada da falha como prova de conceito.
Ambos os guias são compostos por etapas de verificação. Cada etapa de verificação contém os seguintes elementos:
- Objetivo (o que verificar): descrição sucinta sobre o que será verificado nesta etapa; já nos guias para verificação de vulnerabilidade, o que será verificado é um aspecto/estado/configuração do sistema que viabilize essa etapa do processo de exploração através da técnica de EP em questão;
- Motivo (por que verificar): descrição sobre por que essa verificação deve ser feita;
- Método (como verificar): comandos ou instruções operacionais (textuais) para efetivamente identificar o que se busca;
- Indicadores de risco (opcional): lista de aspectos com potencial de risco em relação ao que pode ser descoberto durante a verificação. Este elemento está presente apenas em guias para avaliação de risco.
Seção com lista de fontes usadas para a elaboração do material, bem como recomendações para estudo aprofundado.