◇ OpenCyber Academy
Técnico · Capítulo 12 · Português

Capítulo 12 — Laboratório controlado I

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 12 — Laboratório controlado I

Mapa da aula

Aula 12 publicada. Mapa, exemplo, EX045.

flowchart TD
  N0["12.1 O laboratório controlado"]
  N1["12.2 Resultados do laboratório"]
  N2["12.3 Interpretar o padrão"]
  N3["Laboratório — Visualizações de prontuários fora da c"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX045"]

Desenho lógico

flowchart LR
  N0["12.1 O laboratório controlado"]
  N1["12.2 Resultados do laboratório"]
  N2["12.3 Interpretar o padrão"]
  N3["Laboratório — Visualizações de prontuários fora da c"]
  N0 --> N1 --> N2 --> N3 --> Q["EX045"]
[12.1 O laboratório controlado]
    |
    v
[12.2 Resultados do laboratório]
    |
    v
[12.3 Interpretar o padrão]
    |
    v
[Laboratório — Visualizações de prontuários fora da c]
    |
    v
[Exemplo resolvido] --> [Exercício EX045]

Objetivos de aprendizagem

Você vai (1) conduzir uma análise controlada de log de auditoria; (2) interpretar acessos incomuns; (3) tratar os achados com justiça.

12.1 O laboratório controlado

O primeiro laboratório controlado de Leila usa uma cópia sintética do log de auditoria do sistema de gestão clínica, preparada com as ferramentas de teste do fornecedor e aprovada dentro do seu escopo. O log registra que conta da equipe viu qual prontuário e em que clínica. Nenhum paciente ou funcionário real aparece. O Sr. Okafor define as regras: o laboratório roda num computador isolado, os resultados nunca saem dele e só são compartilhados com o encarregado e o instrutor, e qualquer nome nas conclusões se refere apenas a contas sintéticas.

12.2 Resultados do laboratório

O laboratório analisa 5.060 visualizações de prontuários e encontra 179, 3,5%, de pacientes registrados numa clínica diferente da do funcionário. A maioria tem poucas visualizações assim, o que é esperado, porque os pacientes às vezes vão a outra clínica. Uma conta sintética, S07, tem 53 visualizações externas espalhadas por várias clínicas, muito mais que qualquer outra; as seguintes são S13, com 9, e S27, com 7. O padrão é incomum o bastante para justificar um olhar mais atento, mas não prova uso indevido. É o contexto que decide o que vem depois.

12.3 Interpretar o padrão

Leila lista explicações possíveis para S07: um cargo que cobre várias clínicas, como uma auxiliar regional ou um gerente, uma designação temporária, uma conta compartilhada ou curiosidade sem motivo sobre os pacientes. Ela confere a lista sintética da equipe e descobre que S07 é recepcionista de uma única clínica. Mesmo assim, não conclui que houve irregularidade. Em vez disso, prepara um resumo factual para o encarregado, que num caso real seguiria o procedimento de investigação da Marlow, incluindo conversar com a pessoa e com o gerente dela antes de qualquer decisão.

12.4 Justiça e limites

O Sr. Okafor ressalta que a análise de logs de auditoria afeta os funcionários, que também têm direito à privacidade e a um tratamento justo. A equipe precisa ser informada, no aviso de privacidade dos funcionários, de que os acessos são registrados e revisados. Os limites devem ser aplicados de forma consistente, e os achados devem ser conferidos antes de qualquer ação. Leila anota os limites do laboratório: o log sintético não tem informações sobre tarefas legítimas entre clínicas, então uma revisão real combinaria o log com a escala e os cargos antes de tirar conclusões, protegendo a equipe de suspeitas injustas.

Laboratório — Visualizações de prontuários fora da clínica do funcionário

"""Flag record views outside a staff member's own clinic in a synthetic audit log (stdlib only)."""
import random, collections
random.seed(5)
staff = {f"S{i:02d}": random.randint(1, 8) for i in range(40)}
log = []
for _ in range(5000):
    s = random.choice(list(staff)); home = staff[s]
    clinic = home if random.random() < 0.97 else random.randint(1, 8)
    log.append((s, clinic))
log += [("S07", c) for c in (2, 3, 4, 5, 6, 7, 8, 2, 3, 4, 5, 6) * 5]
out = [(s, c) for s, c in log if c != staff[s]]
per = collections.Counter(s for s, _ in out)
print(f"record views {len(log)}; outside own clinic {len(out)} ({100*len(out)/len(log):.1f}%)")
top = per.most_common(3)
print("top staff by outside views:", ", ".join(f"{s} {n}" for s, n in top))

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

record views 5060; outside own clinic 179 (3.5%)
top staff by outside views: S07 53, S13 9, S27 7

Exemplo resolvido

Leila encontra 179 de 5.060 visualizações (3,5%) fora da clínica dos funcionários, identifica S07 com 53 visualizações externas, lista explicações e prepara um resumo factual sem concluir que houve uso indevido.

Caso sintético. O log de auditoria é sintético.

Erros e limites

Um acesso incomum é um sinal, não uma prova; siga um procedimento justo.

Exercícios

Continue estudando — aula 12 (capítulo 12 de 18)

← Capítulo 11 · Índice das aulas · Capítulo 13 →

Continue para a próxima aula já escrita.