Menor Privilégio - Blog do Prof. PC | Meus achados preciosos · Mudar senhas do sistema ! Baixar...
Transcript of Menor Privilégio - Blog do Prof. PC | Meus achados preciosos · Mudar senhas do sistema ! Baixar...
4 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
Programa não deve ser executado com mais privilégio do que o necessário para realizar uma tarefa
5 28/05/14 © P C F de Oliveira 2014
Princípio do Menor Privilégio
Todo programa e todo usuário de sistema deve operar com um conjunto mínimo de privilégios necessários para concluir o trabalho. Primeiramente, este princípio limita os danos que podem resultar de um acidente ou de um erro. Ele também reduz ao mínimo o número de potenciais interações entre os programas privilegiados para a operação correta, de modo que usos não-intencionais, indesejados ou impróprios de privilégio são menos prováveis de ocorrer.
Capítulo 05 Menor Privilégio
Saltzer, J.; Schroeder, M. (1975)
6 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
LOCAL SYSTEM NON-ADMIN
ADMIN / SYSTEM
§ Ler arquivos do usuário
§ Mudar senhas do sistema
§ Baixar arquivos maliciosos
§ Qualquer coisa
NON-ADMIN
§ Ler arquivos do usuário
§ Mudar senhas do sistema
§ Baixar arquivos maliciosos
§ Possibilidades reduzidas
7
Capítulo 05 Menor Privilégio
28/05/14 © P C F de Oliveira 2014
Seção 1.2 Menor Privilégio no Mundo Real
9 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
Ataques da Internet
Vírus, Trojans, Worms
§ Vírus: programa que se auto-reproduz e copia sua carga para os usuários
§ Trojan: programa que contém função inesperada ou oculta que é prejudicial
§ Worm: programa que replica-se automaticamente impedindo sua remoção
Desfiguração de Servidores
§ Ataque a um site que muda a aparência visual dele ou uma de suas páginas
§ Geralmente conhecida como “grafitagem” eletrônica
10 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
Back Orifice
§ Permite invasor remoto:
§ Reiniciar computador
§ Executar aplicativos
§ Visualizar conteúdo de arquivos
§ Instalação tenta se gravar diretório Windows
§ Só administrador
11 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
SubSeven
§ Permite invasor acessar a máquina sem conhecimento
§ Cria uma cópia dele mesmo no diretório Windows e atualiza Win.ini e System.ini
§ Só administrador
12 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
FunLove
§ Quando executado concede aos usuários acesso a todos arquivos modificando código de acesso ao kernel do SO
§ Grava um arquivo no diretório de sistema aplicando um patch no kernel
§ Só administrador
13 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
ILoveYou
§ Propaga-se com o Microsoft Outlook
§ Grava a si mesmo no diretório do sistema
§ Só administrador
14 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
Desfiguração de Servidores
§ Desfigurar sites famosos
15 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
Melhores Práticas
Aplicação fraudulenta resultar em uma violação da segurança, o processo deve ser dividido entre dois ou mais indivíduos
Em vez de uma pessoa ter responsabilidade
exclusiva de uma função, pessoas são
periodicamente movidas de uma responsabilidade
de trabalho para outra
Somente uma quantidade mínima de privilégios necessários
para realizar sua função de trabalho deve ser dada a cada usuário
Se uma condição não for explicitamente atendida, então ela deve ser rejeitada
16 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
Maioria dos usuários executa todo o tempo como membros
do grupo Administradores (Admins, root no UNIX)
Muitas aplicações Windows requerem
privilégios de administrador quando não
é necessário (least privilege incompatibility –
LPI)
Ameaças de segurança aumentaram: comprometimento da aplicação do usuário è comprometimento do sistema e.g. estouro de buffer no Instant Messenger
Realidade Sistema Windows
17 28/05/14 © P C F de Oliveira 2014
Seção 1.3 Por quê aplicações requerem privilégios elevados?
Capítulo 05 Menor Privilégio
18 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
ACL (questões) Privilégio (questões)
Uso dos Segredos da Local Security Authority (LSA)
Por quê privilégio elevado?
19 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio § Usuário “Everyone”
§ Somente operação de leitura deveria ser configurada
§ Estabelecer harmonia entre usabilidade e segurança
§ Usabilidade: aplicativo funciona realizando operação de leitura
§ Segurança: aplicativo lê apenas o arquivo e nada mais
§ Solução:
§ Abrir recursos com permissões necessárias e não mais
§ Não gravar dados de usuário em áreas do SO
§ Atenuar/afrouxar ACLs
ACL (questões)
20 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
§ Se usuário necessitar de privilégio específico (e.g. fazer Backup)
§ Administrador deve ser cuidadoso ao adicionar privilégios perigosos às contas de usuários
§ Administrador não deve exigir que seus usuários tenham quantidade excessiva de privilégios desnecessários
§ Solução:
§ Somente dê privilégio necessário para terminar uma tarefa
§ Não distribuir privilégio para todo mundo
Privilégios (questões)
21 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio § LSA pode armazenar dados
secretos de um aplicativo
§ Para usar segredos da LSA processo deve ser membro do grupo Administradores
§ Solução:
§ Usar uma API de proteção de dados (DPAPI – data protection API)
§ Aplicativo não requer usuário seja administrador para acessar dados secretos
§ Dados são protegidos por chave associada ao usuário
Uso dos Segredos da LSA
22 28/05/14 © P C F de Oliveira 2014
Seção 1.4 Processo para determinar privilégio adequado
Capítulo 05 Menor Privilégio
23 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
§ Encontrar os recursos usados pelo aplicativo
§ Crie uma lista de todos recursos usados pelo aplicativo
§ Dados configuração § Diretório de dados onde
gravar arquivos § Diretório do programa
§ Estabeleça o tipo de acesso para cada um deles
§ Encontrar APIs privilegiadas usadas pelo aplicativo
§ Analise quais são elas § Qual conta é requerida § Determine se aplicativo
requer uma conta de administrador para ser executado
§ Ou se a tarefa do aplicativo requer conta de sistema local para execução
Passo 1
Passo 2
Passo 3
24 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
§ Obtenha conteúdo do token
§ Determine os SIDs (security identifier) e privilégios no token da conta determinada no passo anterior
§ Todos os SIDs e privilégios são necessários?
§ Faça que membros da equipes de projeto, desenvolvimento e teste analisem cada SID e privilégio no token e determinem se cada um é exigido
§ Comparar lista de recursos e API (passos 1 e 2) com conteúdo token (passo 4)
§ Ajuste o token § Reduza capacidade token
§ Permitir contas menos privilegiadas executar aplicativo
§ Remover privilégios desnecessários permanentemente
Passo 4
Passo 5
Passo 6
Token: estrutura de dados criada quando usuário se loga no sistema (após autenticação)
26 28/05/14 © P C F de Oliveira 2014
Capítulo 05 Menor Privilégio
Evitar mau hábito de executar serviços como
administrador
Desafio do menor privilégio: superar obstáculos no desenvolvimento do aplicativo
Projete, construa e teste com menor privilégio
Elevar privilégios somente quando necessário, e libere-os quando seus objetivos forem cumpridos
Aplicativos legados: execute-os em ambientes virtualizados
Aplicativo seguro: aquele que faz o que deve fazer e nada mais