OpenCyber Academy
Graduação · Capítulo 18 · Português
Código do curso: OCA-109Capítulo 18: OCA-109-C018

Capítulo 18 — Métodos de pesquisa I

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

Mapa da aula

Aula 18 publicada. Mapa, exemplo, EX052.

flowchart TD
  N0["18.1 Formular perguntas"]
  N1["18.2 Literatura"]
  N2["18.3 Desenho experimental"]
  N3["18.4 Variáveis"]
  N4["18.5 Validade"]
  N5["18.6 Ética"]
  N6["18.7 Registro"]
  N7["Execução piloto"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX052"]

Desenho lógico

flowchart LR
  N0["18.1 Formular perguntas"]
  N1["18.2 Literatura"]
  N2["18.3 Desenho experimental"]
  N3["18.4 Variáveis"]
  N4["18.5 Validade"]
  N5["18.6 Ética"]
  N6["18.7 Registro"]
  N7["Execução piloto"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX052"]
[18.1 Formular perguntas]
    |
    v
[18.2 Literatura]
    |
    v
[18.3 Desenho experimental]
    |
    v
[18.4 Variáveis]
    |
    v
[18.5 Validade]
    |
    v
[18.6 Ética]
    |
    v
[18.7 Registro]
    |
    v
[Execução piloto]
    |
    v
[Exemplo resolvido] --> [Exercício EX052]

Objetivos de aprendizagem

Você vai (1) formular uma pergunta de pesquisa sobre a prática pericial; (2) revisar a literatura de forma sistemática; (3) planejar um experimento simples; (4) considerar a validade.

18.1 Formular perguntas

Leah percebe que muitos artefatos dependem da versão do sistema operacional. Pergunta: "O build do sistema operacional da ws-114 registra no prefetch a execução de programas iniciados via rundll32, e com quais carimbos de tempo?" Uma boa pergunta de pesquisa é estreita o bastante para ser respondida com um experimento. A pergunta de Leah nomeia um build do sistema operacional, um método de execução e duas coisas a medir: se existe uma entrada e quão precisos são seus horários. Uma pergunta mais ampla, como "quão confiável é o prefetch?", não poderia ser respondida em um semestre.

18.2 Literatura

Ela busca o comportamento documentado e encontra documentação de profissionais e trabalhos revisados por pares sobre artefatos do Windows. Garfinkel (2010) argumentou que a pesquisa forense precisa de dados padronizados e métodos reproduzíveis; Leah aplica isso testando em máquinas virtuais limpas. Ler primeiro evita repetir trabalhos já conhecidos e mostra o que ainda é incerto. Leah registra cada fonte, o que ela testou e em qual build, e anota onde as fontes divergem. Essa lista vira o referencial do seu estudo e a ajuda a explicar por que seu experimento acrescenta algo.

18.3 Desenho experimental

Montar uma máquina virtual com o mesmo build do sistema operacional. Executar uma DLL sintética e inofensiva via rundll32 dez vezes, em horários registrados. Examinar o prefetch depois. Comparar os horários registrados com o log de execução. Dez execuções dão repetições suficientes para ver se o comportamento é consistente; registrar os horários de forma independente permite medir a precisão comparando duas fontes. Usar uma DLL de teste inofensiva mantém o experimento seguro e reproduz o caminho de execução visto na ws-114. Ela tira um snapshot da VM antes de cada execução para poder repeti-la a partir do mesmo estado se algo der errado.

18.4 Variáveis

Independente: método de execução. Dependente: presença e precisão das entradas de prefetch. Controles: build do sistema operacional, configurações, relógio sincronizado. Manter os controles fixos significa que qualquer diferença nos resultados do prefetch vem do método de execução, e não de uma configuração alterada ou de um relógio que derivou. Leah registra o valor de cada controle nas suas notas, como o número do build e se o prefetch está habilitado. Um controle que muda durante o experimento torna os resultados difíceis de interpretar, por isso ela os verifica antes e depois de cada execução.

18.5 Validade

Validade interna: as diferenças são causadas pelo método de execução? Validade externa: os resultados valeriam em outros builds ou configurações? Ela limita as afirmações ao build testado. A validade interna é reforçada quando se muda uma única coisa por vez e se repetem as execuções. A validade externa é limitada porque ela testou um só build; outra atualização ou configuração poderia mudar o comportamento. Limitar as afirmações ao que foi testado não é fraqueza, mas precisão, e o leitor pode então decidir se o resultado se aplica à ws-114.

18.6 Ética

Nenhum dado real de usuário, uma DLL de teste inofensiva e máquinas virtuais isoladas. A DLL de teste não faz nada além de ser carregada, então não há risco se ela escapar da VM. Não usar dados reais significa que nenhuma informação pessoal fica exposta nos resultados. VMs isoladas impedem que qualquer tráfego de teste chegue à rede da universidade. O Dr. Ferreira aprova o plano antes de ela começar, e a aprovação é arquivada com suas notas para que um leitor posterior possa ver que o experimento foi autorizado.

18.7 Registro

Cada passo é registrado com o horário e o ID do snapshot da VM para que outros possam repeti-lo. Os IDs de snapshot permitem que ela ou um colega restaure o estado inicial exato e repita uma execução. Registrar os horários de execução a partir de um log independente é o que torna possível medir a precisão. Sua tabela de resultados lista cada execução com seu snapshot, horário de execução, resultado do prefetch e diferença em segundos, para que o leitor possa conferir cada número do resumo com os registros brutos. A tabela e os snapshots são arquivados juntos ao fim do semestre.

Execução piloto

Antes das dez execuções registradas, Leah faz duas execuções de treino para confirmar que seu registro funciona e que o relógio da VM está sincronizado. Ela descarta os dados de treino, registra que fez isso e só então volta a um snapshot limpo para os ensaios reais.

Exemplo resolvido

Resultados: as entradas de prefetch aparecem para o rundll32 em todas as dez execuções; os horários da última execução coincidem com os logs de execução com diferença de até um segundo. Leah escreve: "Neste build do sistema operacional, com as configurações padrão, o prefetch registrou as execuções do rundll32 com horários de última execução a até um segundo do início (10 de 10 execuções)."

Caso sintético. O experimento é inventado.

Erros e limites

Dez execuções em um só build são um estudo pequeno; a constatação apoia a interpretação da ws-114, não de todos os sistemas Windows.

Exercícios

Síntese

Experimentos pequenos e bem controlados permitem aos peritos interpretar artefatos nos sistemas exatos que examinam.

Continue estudando — capítulo 18 de 40

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

Respostas comentadas

EX052. A variável independente é o método de execução (via rundll32); a variável dependente é se o prefetch o registra e com que precisão.

EX053. O comportamento dos artefatos pode mudar com o build do sistema operacional e as configurações, então os resultados podem não se transferir.

EX054. Ela informa o build do sistema operacional e as configurações, o número de execuções e a precisão medida, em vez de uma afirmação geral.