◇ OpenCyber Academy
Pesquisa doutoral · Capítulo 4 · Português

Capítulo 4 — Replicação da linha de base e piloto

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 4 — Replicação da linha de base e piloto

Mapa da aula

Aula 04 publicada. Mapa, exemplo, EX021.

flowchart TD
  N0["4.1 Por que uma linha de base"]
  N1["Laboratório — Privilégios excessivos em relação às l"]
  N2["4.2 Pilotando o privilégio excessivo"]
  N3["4.3 Auditando a medida"]
  N4["4.4 Lições do piloto"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX021"]

Desenho lógico

flowchart LR
  N0["4.1 Por que uma linha de base"]
  N1["Laboratório — Privilégios excessivos em relação às l"]
  N2["4.2 Pilotando o privilégio excessivo"]
  N3["4.3 Auditando a medida"]
  N4["4.4 Lições do piloto"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX021"]
[4.1 Por que uma linha de base]
    |
    v
[Laboratório — Privilégios excessivos em relação às l]
    |
    v
[4.2 Pilotando o privilégio excessivo]
    |
    v
[4.3 Auditando a medida]
    |
    v
[4.4 Lições do piloto]
    |
    v
[Exemplo resolvido] --> [Exercício EX021]

Objetivos de aprendizagem

Você vai (1) replicar uma medição de linha de base antes do estudo principal; (2) pilotar uma medida de privilégio excessivo; (3) auditar a qualidade da medição.

4.1 Por que uma linha de base

Antes de testar efeitos, Yusuf precisa mostrar que suas medidas funcionam com os dados da Fernvale. Ele replica, com a sua extração, o número que a própria prefeitura relatou para a latência de correção crítica do ano anterior e encontra uma mediana a menos de um dia do valor relatado. Ele investiga a pequena diferença e descobre que a prefeitura excluiu os sistemas com desativação programada. Ele documenta a exclusão e decide segui-la, para que sua linha de base corresponda à definição que os departamentos já entendem. O líder de segurança da Fernvale confirma por escrito a regra de exclusão para o estudo.

Laboratório — Privilégios excessivos em relação às linhas de base das funções em 600 contas sintéticas

"""Measure excess privileges against role baselines in synthetic accounts (stdlib only)."""
import random
random.seed(17)
roles = {"clerk": {"read_cases", "edit_cases"}, "finance": {"read_ledger", "post_ledger"},
         "it_support": {"reset_password", "read_logs"}}
extra_pool = ["read_ledger", "post_ledger", "edit_cases", "admin_console", "read_logs", "export_all"]
accts = []
for i in range(600):
    r = random.choice(list(roles))
    perms = set(roles[r])
    for p in extra_pool:
        if p not in perms and random.random() < 0.06: perms.add(p)
    accts.append((r, perms))
excess = [(r, p - roles[r]) for r, p in accts if p - roles[r]]
n_extra = sum(len(e) for _, e in excess)
admin = sum(1 for _, e in excess if "admin_console" in e)
print(f"accounts 600; with excess privilege {len(excess)} ({100*len(excess)/600:.1f}%)")
print(f"excess grants {n_extra}; accounts holding admin_console without need {admin}")

Execute com python3 lab_privilege.py. Saída verificada:

accounts 600; with excess privilege 152 (25.3%)
excess grants 166; accounts holding admin_console without need 34

4.2 Pilotando o privilégio excessivo

A medida de privilégio excessivo é nova para a Fernvale, então Yusuf a pilota em seiscentas contas sintéticas distribuídas em três funções: escriturário, finanças e suporte de TI. Cada função tem um conjunto de permissões de linha de base. O laboratório encontra 152 contas, 25,3 por cento, com pelo menos uma permissão além da sua linha de base, com 166 concessões excessivas no total. Trinta e quatro contas têm a permissão do console administrativo sem precisar dela, o que é o achado mais grave, porque permite mudanças de configuração em todo o sistema. Yusuf relata esses números apenas ao líder de segurança, e não em rascunhos públicos.

4.3 Auditando a medida

Yusuf audita o piloto tomando uma amostra aleatória das contas sinalizadas e perguntando aos gerentes dos departamentos se cada permissão excessiva é de fato desnecessária. A maioria é confirmada como desnecessária. Algumas refletem atribuições temporárias não registradas na linha de base da função, como um escriturário que cobre as finanças durante uma licença. Ele refina a medida para excluir as permissões com uma exceção aprovada e ainda válida, e registra esse refinamento como uma mudança de definição pré-especificada, feita antes de qualquer comparação de desfechos, o que o pré-registro permite para esclarecimentos na fase de piloto. Os gerentes dão sua aprovação.

4.4 Lições do piloto

O piloto mostra que as próprias linhas de base das funções estão incompletas em alguns departamentos, o que poderia fazer os adotantes parecerem piores se a adoção também melhorasse as linhas de base. Yusuf acrescenta uma verificação: as linhas de base são congeladas no início do período do estudo, e as mudanças posteriores nelas são acompanhadas separadamente. A Prof.ª Hald observa que os pilotos muitas vezes revelam que o sistema de medição faz parte da intervenção, e que separar os dois é essencial para interpretar qualquer diferença posterior entre os departamentos. Yusuf acrescenta as linhas de base congeladas ao plano de gestão de dados e as arquiva com uma soma de verificação.

Exemplo resolvido

Yusuf replica a linha de base da latência de correção da prefeitura com diferença de menos de um dia, pilota o privilégio excessivo, encontrando 152 de 600 contas (25,3 por cento) com 166 concessões e 34 detentores desnecessários do console administrativo, audita as sinalizações e congela as linhas de base das funções.

Caso sintético. As contas são sintéticas; as saídas vêm de lab_privilege.py.

Erros e limites

Deixar as linhas de base mudarem durante um estudo confunde a medida com a intervenção.

Exercícios

Continue estudando — aula 04 (capítulo 04 de 08)

← Capítulo 03 · Índice das aulas · Capítulo 05 →

Continue para a próxima aula já escrita.