OpenCyber Academy
Engenharia · Capítulo 32 · Português
Código do curso: OCA-117Capítulo 32: OCA-117-C032

Capítulo 32 — Segurança da informação: confiabilidade

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 32 publicada. Mapa, exemplo, EX094.

flowchart TD
  N0["32.1 Restaurações como evidência"]
  N1["32.2 O laboratório da restauração"]
  N2["Laboratório — Verificando restaurações sintéticas de"]
  N3["32.3 Investigando as falhas"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX094"]

Desenho lógico

flowchart LR
  N0["32.1 Restaurações como evidência"]
  N1["32.2 O laboratório da restauração"]
  N2["Laboratório — Verificando restaurações sintéticas de"]
  N3["32.3 Investigando as falhas"]
  N0 --> N1 --> N2 --> N3 --> Q["EX094"]
[32.1 Restaurações como evidência]
    |
    v
[32.2 O laboratório da restauração]
    |
    v
[Laboratório — Verificando restaurações sintéticas de]
    |
    v
[32.3 Investigando as falhas]
    |
    v
[Exemplo resolvido] --> [Exercício EX094]

Objetivos de aprendizagem

Você vai (1) verificar a integridade dos backups com somas de verificação; (2) medir o sucesso das restaurações; (3) definir objetivos de recuperação.

32.1 Restaurações como evidência

A Saltmarsh acredita que seus backups funcionam porque as rotinas de backup relatam sucesso. Lindiwe explica que uma rotina de backup bem-sucedida mostra que os dados foram copiados, não que podem ser restaurados intactos. Ela propõe testes regulares de restauração que comparem os arquivos restaurados com as somas de verificação registradas no momento do backup. Se um arquivo estiver faltando ou sua soma de verificação for diferente, a restauração falhou para aquele arquivo. O Prof. Hale observa que somente os testes de restauração dão evidências para a exigência da seguradora de backups testados. O líder de segurança agenda o primeiro teste de restauração para o mês seguinte.

32.2 O laboratório da restauração

O laboratório cria 500 arquivos sintéticos, registra uma soma de verificação SHA-256 para cada um usando o módulo hashlib do Python e simula uma restauração. Cinco arquivos estão faltando na restauração e três têm somas de verificação divergentes, causadas por um único bit invertido. Isso deixa 492 arquivos verificados, 98,4 por cento. Lindiwe observa que a rotina de backup teria relatado sucesso e que, sem as somas de verificação, os três arquivos corrompidos pareceriam normais até alguém abri-los. Ela mostra ao líder de segurança a lista dos arquivos faltantes e corrompidos, e a equipe concorda em executar a mesma verificação mensalmente, sobre uma amostra rotativa de pastas de todos os servidores.

Laboratório — Verificando restaurações sintéticas de backup contra somas de verificação SHA-256

"""Verify synthetic backup restores against SHA-256 checksums (stdlib only)."""
import hashlib, random
random.seed(12)
files = {f"file{i}": random.randbytes(256) for i in range(500)}
manifest = {k: hashlib.sha256(v).hexdigest() for k, v in files.items()}
restored = {}
for k, v in files.items():
    r = random.random()
    if r < 0.006: continue                                    # missing from restore
    if r < 0.014: v = v[:-1] + bytes([v[-1] ^ 1])            # one bit flipped
    restored[k] = v
missing = [k for k in files if k not in restored]
bad = [k for k in restored if hashlib.sha256(restored[k]).hexdigest() != manifest[k]]
ok = len(files) - len(missing) - len(bad)
print(f"files {len(files)}; missing {len(missing)}; checksum mismatch {len(bad)}; verified {ok} ({ok/len(files):.1%})")

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

files 500; missing 5; checksum mismatch 3; verified 492 (98.4%)

32.3 Investigando as falhas

Lindiwe rastreia os cinco arquivos faltantes até uma pasta acrescentada depois que a seleção do backup foi configurada, de modo que ela nunca foi incluída. Os três arquivos corrompidos vêm de um disco com defeito no servidor de backup. As duas causas têm correção: a seleção é alterada para incluir todas as pastas sob uma pasta-mãe, e o disco é substituído. Ela aprende que os testes de restauração encontram problemas de configuração e de hardware que o monitoramento das rotinas de backup, sozinho, não consegue revelar. O teste mensal de restauração seguinte, executado depois das duas correções, verifica todos os arquivos da sua amostra.

32.4 Objetivos de recuperação

Lindiwe ajuda a Saltmarsh a definir objetivos de recuperação: quantos dados o negócio pode se permitir perder e com que rapidez cada sistema precisa voltar. O despacho pode perder no máximo uma hora de dados e precisa voltar em até quatro horas; a folha de pagamento pode perder um dia, mas precisa estar de volta antes do processamento dos pagamentos. Esses objetivos determinam a frequência dos backups e os métodos de restauração. O Prof. Hale observa que os objetivos acordados com os donos do negócio transformam os backups de um hábito técnico num compromisso. Os objetivos são aprovados pelo diretor de operações e pelo diretor financeiro.

Exemplo resolvido

Lindiwe verifica uma restauração sintética de 500 arquivos com somas de verificação SHA-256, encontra 5 faltantes e 3 corrompidos (492 verificados, 98,4 por cento), rastreia as causas e define objetivos de recuperação.

Caso sintético. Os arquivos são sintéticos; as saídas vêm de lab_restore.py.

Erros e limites

Uma rotina de backup bem-sucedida não prova que os dados podem ser restaurados intactos.

Exercícios

Respostas comentadas

EX094. 492 arquivos, 98,4 por cento.

EX095. Estavam numa pasta acrescentada depois que a seleção do backup foi definida.

EX096. Perder no máximo uma hora de dados e voltar em até quatro horas.