Capítulo 2 — Matemática discreta
Mapa da aula
Aula 02 publicada. Mapa, exemplo, EX004.
flowchart TD
N0["2.1 Conjuntos de usuários e direitos"]
N1["2.2 Relações e funções"]
N2["2.3 Grafos de confiança"]
N3["2.4 Lógica para regras"]
N0 --> N1 --> N2 --> N3
N3 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX004"]
Desenho lógico
flowchart LR
N0["2.1 Conjuntos de usuários e direitos"]
N1["2.2 Relações e funções"]
N2["2.3 Grafos de confiança"]
N3["2.4 Lógica para regras"]
N0 --> N1 --> N2 --> N3 --> Q["EX004"]
[2.1 Conjuntos de usuários e direitos]
|
v
[2.2 Relações e funções]
|
v
[2.3 Grafos de confiança]
|
v
[2.4 Lógica para regras]
|
v
[Exemplo resolvido] --> [Exercício EX004]
Objetivos de aprendizagem
Você vai (1) usar conjuntos para descrever direitos de acesso; (2) modelar confiança e dependências como grafos; (3) expressar regras de segurança em lógica.
2.1 Conjuntos de usuários e direitos
Lindiwe descreve o acesso na Saltmarsh como conjuntos: funcionários, contas, grupos e permissões. O conjunto das contas com acesso à folha de pagamento deve ser um subconjunto do grupo de finanças. A diferença de conjuntos torna as violações visíveis: as contas com acesso à folha de pagamento menos os funcionários de finanças deve ser vazio. Se não for, alguém tem direitos fora da sua função. Ela escreve essas condições como regras que podem ser conferidas automaticamente, observando que a notação de conjuntos torna uma política de segurança precisa o bastante para ser testada, e não apenas discutida. Ela executa a verificação sobre uma exportação sintética do diretório e encontra quatro contas desse tipo.
2.2 Relações e funções
Uma relação liga contas a pessoas. Lindiwe confere se ela é uma função: cada conta nominal deve pertencer a exatamente uma pessoa. As contas compartilhadas quebram isso, porque as ações não podem ser rastreadas até um indivíduo. Num diretório sintético, ela encontra várias contas de terminais do armazém usadas por turnos inteiros. Ela explica que a responsabilização, uma propriedade central de segurança, depende de esse mapeamento ser uma função, e que as contas de serviço precisam de um dono nomeado, mesmo que nenhuma pessoa faça login com elas. Cada conta de turno é listada.
2.3 Grafos de confiança
Lindiwe modela os sistemas da Saltmarsh como um grafo direcionado, com uma aresta onde um sistema confia em outro, por exemplo um servidor de arquivos que aceita logins do diretório. A alcançabilidade mostra o que um atacante poderia alcançar depois de comprometer um nó. Um notebook de depósito comprometido que alcança o diretório pode potencialmente alcançar quase tudo. Ela aprende que a análise de grafos fundamenta o raciocínio sobre caminhos de ataque, e que remover algumas arestas, como uma confiança administrativa desnecessária, pode cortar muitos caminhos de uma vez. Ela desenha o grafo de vinte sistemas centrais.
2.4 Lógica para regras
As regras de segurança podem ser declaradas em lógica. Lindiwe escreve: para toda conta, se a conta é privilegiada, então a autenticação multifator está ativada. Ela confere a contrapositiva: qualquer conta sem autenticação multifator não pode ser privilegiada. O Prof. Hale mostra como declarações precisas evitam discussões entre equipes sobre expressões vagas como os administradores devem ser protegidos. Ela aprende que escrever primeiro as regras de forma formal torna as verificações em código e as evidências de auditoria coerentes com a redação da política. Ela lista cinco contas privilegiadas que violam a regra no diretório sintético, e a equipe de identidade concorda em cadastrar cada uma antes da próxima auditoria.
Exemplo resolvido
Lindiwe usa a diferença de conjuntos para encontrar acessos à folha de pagamento fora da função, confere o mapeamento de contas para pessoas, modela a confiança como um grafo e escreve em lógica uma regra de MFA.
Caso sintético. O diretório é sintético.
Erros e limites
Uma regra formal ainda pode codificar a política errada; confirme-a com os donos.
Exercícios
-
EX004 — Diferença vazia. Que diferença de conjuntos deve ser vazia? Rubrica: 3 = contas com acesso à folha de pagamento menos funcionários de finanças;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
-
EX005 — Contas compartilhadas. Por que as contas compartilhadas prejudicam a responsabilização? Rubrica: 3 = as ações não podem ser rastreadas até uma pessoa;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
-
EX006 — Cortando caminhos. Como muitos caminhos de ataque podem ser cortados de uma vez? Rubrica: 3 = remover algumas arestas de confiança;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
Continue estudando — aula 02 (capítulo 02 de 50)
← Capítulo 01 · Índice das aulas · Capítulo 03 →
Continue para a próxima aula já escrita.