◇ OpenCyber Academy
Tecnólogo · Capítulo 6 · Português

Capítulo 6 — Sistemas operacionais e virtualização

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 6 — Sistemas operacionais e virtualização

Mapa da aula

Aula 06 publicada. Mapa, exemplo, EX016.

flowchart TD
  N0["6.1 Registros do sistema operacional"]
  N1["6.2 Linhas de base"]
  N2["Laboratório — comparação antes/depois"]
  N3["6.3 Lendo o resultado"]
  N4["6.4 Virtualização"]
  N5["6.5 Cuidados com snapshots"]
  N6["6.6 Contêineres"]
  N7["6.7 Registro"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX016"]

Desenho lógico

flowchart LR
  N0["6.1 Registros do sistema operacional"]
  N1["6.2 Linhas de base"]
  N2["Laboratório — comparação antes/depois"]
  N3["6.3 Lendo o resultado"]
  N4["6.4 Virtualização"]
  N5["6.5 Cuidados com snapshots"]
  N6["6.6 Contêineres"]
  N7["6.7 Registro"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX016"]
[6.1 Registros do sistema operacional]
    |
    v
[6.2 Linhas de base]
    |
    v
[Laboratório — comparação antes/depois]
    |
    v
[6.3 Lendo o resultado]
    |
    v
[6.4 Virtualização]
    |
    v
[6.5 Cuidados com snapshots]
    |
    v
[6.6 Contêineres]
    |
    v
[6.7 Registro]
    |
    v
[Exemplo resolvido] --> [Exercício EX016]

Objetivos de aprendizagem

Você vai (1) explicar os componentes do sistema operacional relevantes para a evidência; (2) usar snapshots e listagens para detectar mudanças; (3) comparar estados de arquivos antes e depois; (4) entender as vantagens periciais da virtualização.

6.1 Registros do sistema operacional

O sistema operacional guarda metadados do sistema de arquivos, logs, o registro (no Windows), listas de serviços e tarefas agendadas. Carrier (2005) explica como os sistemas de arquivos armazenam os metadados separados do conteúdo, e é por isso que listagens com hashes podem revelar mudanças. Num desktop Windows como o CLERK-03, a lista de serviços mostrou o novo serviço, o sistema de arquivos mostrou o helper.exe e o svc.exe alterado, e o registro guardaria como o serviço está configurado para iniciar. Cada registro responde a uma parte diferente da pergunta sobre o que mudou e quando.

6.2 Linhas de base

Alder Falls mantém uma listagem semanal, com hashes, das principais pastas de sistema dos servidores e de uma amostra de desktops. Comparar uma listagem atual com a linha de base mostra os arquivos acrescentados, removidos ou alterados. A linha de base só é útil se for confiável, por isso Alder Falls guarda as listagens no servidor central, calcula o hash de cada uma e mantém várias semanas. O CLERK-03 estava na amostra de desktops, e só por isso a comparação com a listagem de 1º de maio foi possível. Os desktops fora da amostra não ofereceriam comparação alguma.

Laboratório — comparação antes/depois

"""Compare two synthetic directory listings (before/after snapshot)."""
before = {"C:/Users/jdiaz/Documents/permits.xlsx": "a1f3", "C:/Windows/System32/svc.exe": "9c2e",
          "C:/Users/jdiaz/Desktop/notes.txt": "77b0"}
after = {"C:/Users/jdiaz/Documents/permits.xlsx": "a1f3", "C:/Windows/System32/svc.exe": "4d18",
         "C:/Users/jdiaz/Desktop/notes.txt": "77b0", "C:/ProgramData/upd/helper.exe": "e5aa"}
print("added:", sorted(set(after) - set(before)))
print("removed:", sorted(set(before) - set(after)))
print("changed:", sorted(p for p in before if p in after and before[p] != after[p]))

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

added: ['C:/ProgramData/upd/helper.exe']
removed: []
changed: ['C:/Windows/System32/svc.exe']

6.3 Lendo o resultado

Um arquivo foi acrescentado — C:/ProgramData/upd/helper.exe — e um arquivo de sistema mudou: C:/Windows/System32/svc.exe tem um hash diferente. Nada foi removido. Um binário de sistema alterado é especialmente significativo: atualizações legítimas também alteram arquivos de sistema, por isso Jonah verifica se alguma atualização rodou; nenhuma estava agendada. Jonah registra o que a comparação não consegue dizer: quando, entre 1º de maio e o incidente, os arquivos mudaram, ou o que eles fazem. A linha de base dá um antes e um depois; a linha do tempo e o exame de um analista precisam preencher o resto.

6.4 Virtualização

Os servidores de Alder Falls são máquinas virtuais. Os snapshots preservam o estado do disco e da memória sem tocar no sistema convidado; os arquivos do snapshot podem ser copiados e ter o hash calculado para análise. Numa investigação, um snapshot tirado no momento certo permite a Renata examinar o estado de um servidor sem fazer logon nele, o que evita alterar seus logs e arquivos. O snapshot é uma cópia: precisa ser exportado, ter o hash calculado e ser registrado com quem o tirou e quando, para que sua integridade possa ser demonstrada depois. O relógio e os logs do próprio convidado ficam intactos.

6.5 Cuidados com snapshots

Snapshots consomem armazenamento e, se ficarem ativos, deixam os sistemas lentos. Exporte-os e calcule seus hashes, depois siga as regras de retenção. Um snapshot deixado ligado a uma VM em execução também cresce à medida que o convidado grava, e algumas plataformas o mesclam de volta quando ele é apagado. A lista de verificação de Jonah diz: tirar o snapshot, exportá-lo para o armazenamento de evidências, calcular o hash da exportação, registrá-la e só então remover o snapshot ativo, com a concordância do responsável pelo sistema. Essa ordem impede que uma mesclagem acidental destrua a cópia. As equipes de armazenamento devem saber a quem ligar antes de apagar snapshots antigos.

6.6 Contêineres

Contêineres têm vida curta; os logs precisam ser enviados a um ponto central, ou desaparecem quando os contêineres param. Para os investigadores, isso significa que a evidência de contêineres depende de preparação. Se um contêiner que executou código suspeito já parou e seus logs não foram enviados, pode não restar nada para examinar além da imagem a partir da qual ele foi construído. Alder Falls ainda não usa contêineres, mas Jonah registra o requisito no plano de prontidão antes que algum seja implantado. Os logs enviados ao ponto central sobrevivem ao fim do contêiner e mantêm seus carimbos de tempo.

6.7 Registro

Cada comparação registra a data da linha de base, o horário da listagem atual e a ferramenta usada. O relatório de comparação de Jonah para o CLERK-03 cita a linha de base de 1º de maio, o horário da listagem atual, o script e sua versão, para que outro analista possa repeti-lo exatamente. Sem esses detalhes, "o svc.exe mudou" é uma afirmação; com eles, é uma medição reproduzível que um revisor pode conferir. Os mesmos detalhes devem constar de toda listagem derivada guardada na pasta do caso, para que um leitor posterior encontre as entradas e repita a comparação sem precisar perguntar a Jonah.

Exemplo resolvido

Jonah relata: "Em comparação com a linha de base de 1º de maio, o CLERK-03 tem um executável novo (helper.exe em ProgramData\upd) e um svc.exe alterado em System32. Nenhuma atualização estava agendada para esse período." Renata pede que os dois arquivos sejam preservados para análise.

Caso sintético. As listagens são geradas pelo script do laboratório.

Erros e limites

As linhas de base valem o que valem sua cobertura e sua idade; uma linha de base de uma semana atrás deixa passar mudanças que vieram e foram embora nesse intervalo.

Exercícios

Síntese

Linhas de base e snapshots permitem que os tecnólogos detectem e preservem mudanças com o mínimo de perturbação.

Continue estudando — capítulo 06 de 30

← Capítulo 05 (rascunho) · Índice de capítulos do curso · Capítulo 07 (rascunho) →