Mapa da aula
Aula 03 publicada. Mapa, exemplo, EX027.
flowchart TD
N0["3.1 Mapear os sistemas"]
N1["3.2 Desenhar os fluxos de dados"]
N2["3.3 Fornecedores e dependências"]
N3["Laboratório — Contagem dos serviços que dependem de"]
N4["3.4 Pontos únicos de falha"]
N5["3.5 Usar o mapa"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX027"]
Desenho lógico
flowchart LR
N0["3.1 Mapear os sistemas"]
N1["3.2 Desenhar os fluxos de dados"]
N2["3.3 Fornecedores e dependências"]
N3["Laboratório — Contagem dos serviços que dependem de"]
N4["3.4 Pontos únicos de falha"]
N5["3.5 Usar o mapa"]
N6["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX027"]
[3.1 Mapear os sistemas]
|
v
[3.2 Desenhar os fluxos de dados]
|
v
[3.3 Fornecedores e dependências]
|
v
[Laboratório — Contagem dos serviços que dependem de]
|
v
[3.4 Pontos únicos de falha]
|
v
[3.5 Usar o mapa]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX027]
Objetivos de aprendizagem
Você vai (1) mapear os sistemas e os fluxos de dados da Saltmarsh; (2) identificar fornecedores e dependências; (3) encontrar onde uma única falha pararia muitos serviços.
3.1 Mapear os sistemas
Leah lista os principais sistemas da Saltmarsh com seus responsáveis: o sistema bancário central no bureau de serviços, o internet banking, o novo sistema de empréstimos, o e-mail e as ferramentas de escritório em nuvem, os PCs das agências, o processador de cartões e o sistema telefônico. Para cada um, ela registra que dados ele guarda e quem o usa. Os saldos e as transações das contas dos associados ficam no sistema bancário central; os documentos de empréstimo ficam no sistema de empréstimos; a correspondência com os associados fica no e-mail. Saber onde os dados vivem lhe diz quais sistemas precisam da proteção mais forte.
3.2 Desenhar os fluxos de dados
Leah desenha como se move uma solicitação de empréstimo: um associado envia documentos pelo site; o sistema de empréstimos os armazena; um agente de crédito os revisa num PC da agência; a aprovação dispara um pagamento pelo sistema bancário central; o associado recebe um e-mail. Ela rotula cada fluxo com os dados que ele carrega e marca onde ele passa para um fornecedor. Shostack (2014) recomenda atenção cuidadosa a esses cruzamentos, porque cada um depende dos controles de outra parte e de suposições sobre o que o outro lado já verificou.
3.3 Fornecedores e dependências
A Saltmarsh depende muito de fornecedores: o bureau de serviços, o fornecedor do sistema de empréstimos, o provedor de e-mail em nuvem, o processador de cartões, o provedor de identidade usado no login da equipe e dois provedores de internet. Leah registra o papel de cada fornecedor, os dados que ele guarda, o responsável pelo contrato e o que acontece se ele falhar. Ela observa que o provedor de identidade é usado por quase todos os sistemas, então sua falha ou seu comprometimento afetaria quase tudo. As dependências fazem parte da arquitetura, mesmo que a Saltmarsh não as opere.
Laboratório — Contagem dos serviços que dependem de cada fornecedor
# Count services depending on each supplier (synthetic map).
services = {"online banking": ["identity", "bureau", "internet"], "loan system": ["identity", "loan vendor", "bureau"],
"email": ["identity", "cloud email"], "branch PCs": ["identity", "internet"],
"card services": ["card processor", "bureau"], "staff intranet": ["identity", "cloud email"],
"member payments": ["identity", "bureau"]}
count = {}
for s, deps in services.items():
for d in deps: count[d] = count.get(d, 0) + 1
for d, n in sorted(count.items(), key=lambda x: (-x[1], x[0])): print(f"{d:14} {n} service(s)")
Execute com python3 lab_deps.py. Saída verificada:
identity 6 service(s)
bureau 4 service(s)
cloud email 2 service(s)
internet 2 service(s)
card processor 1 service(s)
loan vendor 1 service(s)
3.4 Pontos únicos de falha
O laboratório conta quantos serviços dependem de cada fornecedor. O provedor de identidade sustenta seis serviços, e o bureau de serviços, quatro; a maioria dos outros sustenta um ou dois. Leah discute os resultados com a gerente. Para o provedor de identidade, eles acordam uma conta de administrador de emergência (break-glass) guardada com segurança offline e um procedimento testado para fazer login se o provedor falhar. Para o bureau de serviços, eles contam com os compromissos contratuais de recuperação e mantêm um procedimento manual para saques urgentes de associados nas agências.
3.5 Usar o mapa
Leah guarda juntos a lista de sistemas, o diagrama de fluxos de dados e a tabela de dependências como a primeira visão geral de arquitetura da Saltmarsh. Quando, mais tarde, o conselho avalia um novo aplicativo de orçamento doméstico para os associados, a visão geral mostra que ele acrescentaria um novo fornecedor com dados de transações e mais uma dependência do provedor de identidade. O conselho faz perguntas de segurança ao fornecedor antes de assinar. Felix observa que um mapa simples se paga na primeira vez em que molda uma decisão antes que o dinheiro seja gasto. Leah fixa uma data anual para atualizar a visão geral.
Exemplo resolvido
Leah mapeia os sistemas e os fluxos de dados dos empréstimos, lista seis fornecedores, conta as dependências para identificar o provedor de identidade como principal ponto único de falha e usa o mapa numa decisão do conselho.
Caso sintético. Os sistemas, os fornecedores e as contagens são sintéticos; Shostack (2014) é real.
Erros e limites
Os mapas ficam desatualizados sem atualizações. As falhas de fornecedores podem se propagar por quartas partes.
Exercícios
-
EX027 — Onde ficam os saldos. Que sistema guarda os saldos e as transações das contas?
Mostrar critérios de avaliação
Rubrica: 3 = o sistema bancário central no bureau de serviços;; 2 = sistema central;; 1 = sistema de empréstimos;; 0 = nenhuma. -
EX028 — Etapas do fluxo de empréstimo. Descreva o fluxo da solicitação de empréstimo.
Mostrar critérios de avaliação
Rubrica: 3 = envio, sistema de empréstimos, revisão do agente, pagamento pelo sistema central, e-mail;; 2 = a maioria das etapas;; 1 = vago;; 0 = nenhuma. -
EX029 — Atenção aos cruzamentos. Por que os cruzamentos com fornecedores exigem atenção?
Mostrar critérios de avaliação
Rubrica: 3 = cada um depende dos controles e das suposições de outra parte;; 2 = suposições;; 1 = vago;; 0 = nenhuma. -
EX030 — Registro do fornecedor. O que Leah registra para cada fornecedor?
Mostrar critérios de avaliação
Rubrica: 3 = papel, dados guardados, responsável pelo contrato e impacto da falha;; 2 = três;; 1 = vago;; 0 = nenhuma. -
EX031 — Contagem da identidade. Quantos serviços dependem do provedor de identidade no laboratório?
Mostrar critérios de avaliação
Rubrica: 3 = seis;; 2 = 6;; 1 = um;; 0 = nenhuma. -
EX032 — Contagem do bureau. Quantos serviços dependem do bureau de serviços?
Mostrar critérios de avaliação
Rubrica: 3 = quatro;; 2 = 4;; 1 = vago;; 0 = nenhuma. -
EX033 — Break-glass. Que contingência foi acordada para o provedor de identidade?
Mostrar critérios de avaliação
Rubrica: 3 = uma conta break-glass offline e um procedimento de login testado;; 2 = break-glass;; 1 = vago;; 0 = nenhuma. -
EX034 — Contingência do bureau. Que contingência existe para o bureau de serviços?
Mostrar critérios de avaliação
Rubrica: 3 = recuperação contratual e um procedimento manual de saque nas agências;; 2 = manual;; 1 = vago;; 0 = nenhuma. -
EX035 — Aplicativo de orçamento. O que o mapa revelou sobre o aplicativo de orçamento?
Mostrar critérios de avaliação
Rubrica: 3 = um novo fornecedor com dados de transações e mais dependência da identidade;; 2 = novo fornecedor;; 1 = vago;; 0 = nenhuma. -
EX036 — Ação do conselho. Como o conselho reagiu ao aplicativo de orçamento?
Mostrar critérios de avaliação
Rubrica: 3 = fez perguntas de segurança ao fornecedor antes de assinar;; 2 = perguntas;; 1 = assinou;; 0 = nenhuma. -
EX037 — Retorno do mapa. Quando um mapa simples se paga?
Mostrar critérios de avaliação
Rubrica: 3 = na primeira vez em que molda uma decisão antes de o dinheiro ser gasto;; 2 = primeira decisão;; 1 = nunca;; 0 = nenhuma. -
EX038 — Mapas desatualizados. O que limita a utilidade do mapa ao longo do tempo?
Mostrar critérios de avaliação
Rubrica: 3 = fica desatualizado sem atualizações;; 2 = desatualização;; 1 = vago;; 0 = nenhuma.
Síntese
Mapear sistemas, fluxos de dados e dependências mostra onde a proteção e os planos alternativos importam mais.