Mapa da aula
Aula 04 publicada. Mapa, exemplo, EX016.
flowchart TD
N0["4.1 Perguntas primeiro"]
N1["4.2 Comparação com a linha de base"]
N2["Laboratório — novos endereços de entrada"]
N3["4.3 Lendo o resultado"]
N4["4.4 Explicações concorrentes"]
N5["4.5 Confiança"]
N6["4.6 Repetibilidade"]
N7["Escrevendo hipóteses"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
N7 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX016"]
Desenho lógico
flowchart LR
N0["4.1 Perguntas primeiro"]
N1["4.2 Comparação com a linha de base"]
N2["Laboratório — novos endereços de entrada"]
N3["4.3 Lendo o resultado"]
N4["4.4 Explicações concorrentes"]
N5["4.5 Confiança"]
N6["4.6 Repetibilidade"]
N7["Escrevendo hipóteses"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX016"]
[4.1 Perguntas primeiro]
|
v
[4.2 Comparação com a linha de base]
|
v
[Laboratório — novos endereços de entrada]
|
v
[4.3 Lendo o resultado]
|
v
[4.4 Explicações concorrentes]
|
v
[4.5 Confiança]
|
v
[4.6 Repetibilidade]
|
v
[Escrevendo hipóteses]
|
v
[Exemplo resolvido] --> [Exercício EX016]
Objetivos de aprendizagem
Você vai (1) formular perguntas e hipóteses; (2) comparar a atividade com uma linha de base; (3) analisar registros de entrada; (4) enunciar constatações com níveis de confiança.
4.1 Perguntas primeiro
Lena escreve as perguntas: a conta de Joy foi usada por outra pessoa? Quando isso começou? O que essa pessoa fez? Mais alguém foi afetado? Cada pergunta indica os registros que poderiam respondê-la. Escrever as perguntas antes de abrir qualquer exportação mantém o trabalho dentro do escopo e impede que ele vire uma navegação sem rumo. Por exemplo, 'quando começou?' aponta para o log de entradas de 1 a 3 de março, enquanto 'o que essa pessoa fez?' aponta para a auditoria da caixa de correio e o rastreamento de mensagens. A última pergunta, sobre outros afetados, é a que depois exige que Dev amplie o escopo.
4.2 Comparação com a linha de base
Joy normalmente entra a partir do endereço do escritório 198.51.100.7. Uma entrada bem-sucedida a partir de um endereço nunca visto para a conta dela é um sinal forte, mas não uma prova: ela poderia ter trabalhado de casa. A linha de base no laboratório são dois dias de entradas: Joy a partir de 198.51.100.7 em 2 e 3 de março, e m.lee a partir de 198.51.100.9. Incluir m.lee confere que o script não sinaliza usuários comuns. A comparação apenas sinaliza; Lena ainda precisa perguntar a Joy onde ela estava e à TI se o novo endereço pertence à Marlow antes de chamá-lo de não autorizado.
Laboratório — novos endereços de entrada
"""Synthetic sign-in log: flag successful sign-ins from addresses new for each user."""
import csv, io
LOG = """time,user,ip,result
2026-03-02 08:01,j.okafor,198.51.100.7,success
2026-03-02 08:30,m.lee,198.51.100.9,success
2026-03-03 08:02,j.okafor,198.51.100.7,success
2026-03-03 09:12,j.okafor,203.0.113.50,failure
2026-03-03 09:14,j.okafor,203.0.113.50,success
2026-03-03 09:31,m.lee,198.51.100.9,success
"""
seen = {}
for r in csv.DictReader(io.StringIO(LOG)):
known = seen.setdefault(r["user"], set())
if r["result"] == "success":
if known and r["ip"] not in known:
print("NEW IP", r["time"], r["user"], r["ip"])
known.add(r["ip"])
print("users checked:", len(seen))
Execute com python3 lab_signin.py. Saída verificada:
NEW IP 2026-03-03 09:14 j.okafor 203.0.113.50
users checked: 2
4.3 Lendo o resultado
Uma entrada bem-sucedida a partir de um endereço novo: 203.0.113.50 às 09:14 de 3 de março, dois minutos depois de uma tentativa malsucedida do mesmo endereço. A colega m.lee não mostra nada novo. Joy confirma que esteve na sua mesa no escritório a manhã toda. A tentativa malsucedida importa: uma falha seguida, dois minutos depois, de um sucesso a partir do mesmo endereço é coerente com alguém testando uma senha capturada, embora também possa ser uma digitação errada. O script trata a entrada das 08:02 no escritório como já conhecida, porque 198.51.100.7 foi visto em 2 de março. A linha users checked: 2 confirma que as duas contas da amostra foram lidas.
4.4 Explicações concorrentes
O 203.0.113.50 poderia ser uma VPN da empresa? A TI verifica: não é um endereço da Marlow. Joy poderia ter usado o celular nos dados móveis? O aplicativo de e-mail do celular dela mostra o Wi-Fi do escritório. A explicação "outra pessoa entrou" é a que melhor se encaixa. Cada explicação é testada com um registro, e não descartada por impressão: a lista de faixas de endereços da Marlow mantida pela TI responde à pergunta da VPN, e as configurações de rede do celular respondem à dos dados móveis. Se qualquer uma das verificações tivesse falhado, a constatação teria caído para uma confiança menor. Lena escreve os dois testes nas notas, porque Dev vai perguntar quais alternativas foram descartadas e como.
4.5 Confiança
Lena escreve "confiança alta" para o acesso não autorizado (endereço novo, declaração de Joy, clique no phishing) e "desconhecido" para quem estava por trás dele. Os três apoios são independentes: o registro de entrada vem do provedor de identidade, a visita ao phishing vem do proxy e a negação vem da própria Joy. A concordância entre três fontes separadas é o que justifica escrever 'alta' aqui. Sobre a pessoa por trás do acesso, Lena tem apenas um endereço, e 203.0.113.50 diz de onde veio uma conexão, e não quem a fez. Escrever 'desconhecido' impede que o relatório sugira uma identificação que nenhum registro sustenta.
4.6 Repetibilidade
O script do laboratório e sua entrada são guardados, para que Dev possa rodar a verificação de novo. Lena guarda o lab_signin.py com o CSV exato que ele leu e registra a saída esperada: uma linha NEW IP para j.okafor às 09:14 e users checked: 2. Quando Dev roda o script de novo num ponto de controle, uma saída diferente significaria que a entrada ou o código mudaram. A repetibilidade também ajuda depois: quando a exportação das entradas é refeita com o intervalo completo de 1 a 3 de março, o mesmo script pode rodar sobre o novo arquivo e os dois resultados podem ser comparados.
Escrevendo hipóteses
Uma hipótese é uma afirmação testável, como 'a entrada das 09:14 não foi feita por Joy'. Lena lista qual evidência a sustentaria e qual a refutaria antes de olhar, para não cair na tentação de ler só os registros que confirmam.
Exemplo resolvido
A constatação de Lena: "Entrada não autorizada em j.okafor às 09:14 a partir de 203.0.113.50 (não é endereço da Marlow; nunca visto para esta usuária). Sustentada pela declaração de Joy e pela visita às 09:10 à página imitada. Confiança: alta."
Caso sintético. Os registros vêm do script do laboratório.
Erros e limites
Uma verificação de primeira ocorrência deixa passar atacantes que usam um endereço já visto ou uma VPN compartilhada.
Exercícios
- EX016 — Perguntas da investigação. Escreva três perguntas de investigação para o caso.
Mostrar critérios de avaliação
Rubrica: 3 = uso indevido da conta, horário de início, ações, outros afetados (três); 2 = duas; 1 = uma; 0 = nada. - EX017 — Saída do laboratório. O que o laboratório de entradas encontrou?
Mostrar critérios de avaliação
Rubrica: 3 = sucesso de j.okafor às 09:14 a partir de 203.0.113.50 depois de uma falha; nada para m.lee; 2 = parcial; 1 = errado; 0 = nada. - EX018 — Alternativas testadas. Quais duas explicações inocentes foram verificadas?
Mostrar critérios de avaliação
Rubrica: 3 = VPN da empresa; celular nos dados móveis; 2 = uma; 1 = vago; 0 = nada. - EX019 — Formulação da confiança. Por que "desconhecido" para quem estava por trás?
Mostrar critérios de avaliação
Rubrica: 3 = um endereço não identifica uma pessoa; 2 = parcial; 1 = é conhecido; 0 = nada. - EX020 — Ponto cego. Cite um ponto cego de uma verificação de endereço de primeira ocorrência.
Mostrar critérios de avaliação
Rubrica: 3 = atacante usando endereço conhecido/compartilhado ou VPN; 2 = parcial; 1 = vago; 0 = nada.
Síntese
Pergunte primeiro, compare com a linha de base, teste as alternativas e enuncie a confiança com clareza.
Continue estudando — capítulo 04 de 12
← Capítulo 03 (rascunho) · Índice de capítulos do curso · Capítulo 05 (rascunho) →