◇ OpenCyber Academy
Engenharia · Capítulo 8 · Português

Capítulo 8 — Arquitetura de computadores

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 8 — Arquitetura de computadores

Mapa da aula

Aula 08 publicada. Mapa, exemplo, EX022.

flowchart TD
  N0["8.1 Componentes"]
  N1["8.2 Níveis de privilégio"]
  N2["8.3 Processos e threads"]
  N3["8.4 Caches e desempenho"]
  N4["8.5 Caminhos de armazenamento"]
  N5["8.6 Firmware"]
  N6["8.7 Caso"]
  N7["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX022"]

Desenho lógico

flowchart LR
  N0["8.1 Componentes"]
  N1["8.2 Níveis de privilégio"]
  N2["8.3 Processos e threads"]
  N3["8.4 Caches e desempenho"]
  N4["8.5 Caminhos de armazenamento"]
  N5["8.6 Firmware"]
  N6["8.7 Caso"]
  N7["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX022"]
[8.1 Componentes]
    |
    v
[8.2 Níveis de privilégio]
    |
    v
[8.3 Processos e threads]
    |
    v
[8.4 Caches e desempenho]
    |
    v
[8.5 Caminhos de armazenamento]
    |
    v
[8.6 Firmware]
    |
    v
[8.7 Caso]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX022]

Objetivos de aprendizagem

Você vai (1) explicar como CPU, memória, armazenamento e E/S moldam a telemetria; (2) relacionar processos e privilégio aos eventos de endpoint; (3) raciocinar sobre os custos de desempenho dos sensores; (4) identificar fontes arquiteturais de evidência.

8.1 Componentes

Um computador executa instruções numa CPU, mantém os dados de trabalho na memória, guarda arquivos em discos e fala com o mundo por dispositivos de entrada/saída. Cada componente pode ser observado: uso de CPU, regiões de memória, gravações de arquivos e pacotes de rede. Cada ponto de observação responde a uma pergunta diferente. A criação de processos mostra o que rodou; a inspeção da memória pode revelar código que nunca tocou o disco; as gravações de arquivos mostram o que foi alterado ou deixado; os pacotes de rede mostram para onde os dados foram. Nenhuma visão isolada vê tudo, e é por isso que os SOCs combinam dados de endpoint, de rede e de logs em vez de depender de uma única fonte.

8.2 Níveis de privilégio

Os processadores separam o código privilegiado do kernel dos programas de usuário. Agentes de detecção de endpoint muitas vezes rodam em parte no kernel para ver com confiabilidade a criação de processos e a atividade de arquivos, o que é poderoso, mas significa que defeitos no agente podem derrubar máquinas. O código no kernel consegue ver e interceptar atividades que os programas de usuário não conseguem, inclusive tentativas de adulterar o próprio agente. O mesmo poder significa que um componente de kernel defeituoso pode parar a máquina inteira, por isso as atualizações do agente são distribuídas em etapas, com grupos de teste primeiro. Os engenheiros pesam a visibilidade ganha contra o risco de estabilidade nos servidores críticos.

8.3 Processos e threads

Um processo é um programa em execução com memória própria; threads são caminhos de execução dentro dele. A telemetria de endpoint registra a criação de processos, o processo pai e a linha de comando, que as detecções usam intensamente. As relações pai–filho contam uma história: um processo de servidor web que inicia um shell de comandos é incomum e merece atenção, enquanto a área de trabalho de um usuário que inicia um navegador não é. Detecções que combinam pai, filho e argumentos da linha de comando são muito mais precisas do que as que olham apenas o nome de um processo.

8.4 Caches e desempenho

Os sensores consomem ciclos de CPU e memória. Um agente que inspeciona cada gravação de arquivo pode deixar lento um servidor ocupado. Os engenheiros equilibram visibilidade e desempenho, testando em máquinas representativas. Inspecionar cada gravação de arquivo significa interceptá-la, examiná-la e deixá-la seguir, o que acrescenta latência a discos ocupados. Os agentes muitas vezes excluem caminhos conhecidos de alto volume, como arquivos de banco de dados, para reduzir o custo, mas cada exclusão é um ponto cego que atacantes poderiam usar. Os engenheiros testam os agentes sob carga realista e documentam cada exclusão com seu motivo.

8.5 Caminhos de armazenamento

Os logs passam de buffers na memória para o disco e para a rede. Uma queda pode perder eventos em buffer. Conhecer o caminho explica lacunas depois de reinicializações. A maioria dos sistemas de log guarda os eventos em buffer na memória e os grava em lotes, por eficiência. Uma perda súbita de energia ou uma queda descarta o que estava no buffer. Os encaminhadores podem armazenar em buffer de novo antes de enviar pela rede. Saber onde ficam os buffers ajuda o analista a explicar por que os últimos segundos antes de uma queda estão faltando, em vez de suspeitar de apagamento. Encaminhadores com filas apoiadas em disco perdem menos.

8.6 Firmware

Abaixo do sistema operacional fica o firmware. Mudanças nele raramente são visíveis para a telemetria normal, por isso verificações de integridade e atualizações do fornecedor importam. O firmware roda antes de o sistema operacional iniciar e pode influenciar tudo o que vem depois, o que torna as mudanças nele especialmente graves. Os agentes de endpoint comuns começam tarde demais para observar boa parte dele. Os defensores contam com a inicialização medida, com a verificação de assinaturas do fornecedor nas atualizações e com a comparação das versões de firmware com valores esperados em toda a frota. Diferenças inesperadas de versão entre servidores idênticos são investigadas, não descartadas.

8.7 Caso

Os servidores do portal da Lindqvist rodam um agente de endpoint. Durante a rajada, a CPU de um servidor chega a 95%, principalmente por causa do serviço web, não do agente; Amara verifica antes de culpar o sensor. Culpar o agente teria sido um palpite fácil, já que os sensores costumam ser suspeitos quando os servidores ficam lentos. Amara confere os números de CPU por processo e vê o serviço web consumindo a maior parte enquanto responde à enxurrada de tentativas de login. A fatia do agente continua pequena. A constatação aponta para a limitação de taxa no portal, e não para o ajuste do sensor.

Exemplo resolvido

Paolo pergunta por que o servidor do portal perdeu 30 segundos de eventos do agente às 10:06. Amara lê o log de saúde do agente: o buffer de eventos encheu enquanto o enlace de rede estava saturado pela rajada, e os eventos mais antigos foram descartados. Ela propõe um buffer maior e um alerta de saúde quando houver descartes.

Caso sintético. Os servidores e os logs são inventados.

Erros e limites

O conhecimento de arquitetura explica onde os dados podem se perder, mas cada produto se comporta de um jeito; leia a documentação do fornecedor.

Exercícios

Síntese

A arquitetura explica que telemetria existe, quanto ela custa e onde pode se perder.

Continue estudando — capítulo 08 de 50

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