OpenCyber Academy
Mestrado · Capítulo 1 · Português
Código do curso: OCA-183Capítulo 01: OCA-183-C001

Capítulo 1 — Pergunta de pesquisa e método de revisão da literatura

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 01 publicada. Mapa, exemplo, EX001.

flowchart TD
  N0["1.1 Do interesse à pergunta"]
  N1["1.2 Buscar em duas comunidades"]
  N2["1.3 Triagem e concordância"]
  N3["Síntese do capítulo"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX001"]

Desenho lógico

flowchart LR
  N0["1.1 Do interesse à pergunta"]
  N1["1.2 Buscar em duas comunidades"]
  N2["1.3 Triagem e concordância"]
  N3["Síntese do capítulo"]
  N0 --> N1 --> N2 --> N3 --> Q["EX001"]
[1.1 Do interesse à pergunta]
    |
    v
[1.2 Buscar em duas comunidades]
    |
    v
[1.3 Triagem e concordância]
    |
    v
[Síntese do capítulo]
    |
    v
[Exemplo resolvido] --> [Exercício EX001]

Objetivos de aprendizagem e conexão

Depois deste capítulo, você consegue (1) transformar um interesse vago numa pergunta pesquisável sobre uma malha de controle, (2) buscar em veículos de engenharia de controle e de segurança usando sinônimos, (3) remover duplicatas e fazer a triagem com métricas de concordância e (4) redigir um protocolo de revisão de escopo. Ele prepara o seminário do Capítulo 2.

1.1 Do interesse à pergunta

"Segurança de TO" é um campo, não uma pergunta. Uma pergunta pesquisável nomeia um sistema, um fenômeno, uma comparação e um escopo. Exemplo do Harbor Loop: numa malha sintética de nível com um único tanque, um CUSUM de resíduo que usa um medidor de vazão com fiação independente detecta o replay de um único sensor com maior revocação por evento e menor taxa de alarmes falsos do que um alarme de faixa de ±1,5, e essa vantagem desaparece quando o medidor de vazão também é falsificado? A pergunta já codifica a condição de falha — um hábito de nível de mestrado que poupa meses de alegações excessivas.

1.2 Buscar em duas comunidades

A detecção baseada em física aparece como "redundância analítica" e "geração de resíduos" nos periódicos de controle, e como "injeção de dados falsos" e "falsificação de sensores" nos veículos de segurança. Monte uma tabela de sinônimos antes de buscar no IEEE Xplore, na ACM DL, no Scopus e no arXiv. Inclua a literatura cinzenta (white papers da IEC, alertas da CISA) como um fluxo separado, com regras de elegibilidade próprias, porque ela não passa por revisão por pares da mesma forma.

Execute cada string de busca em todas as bases e salve as exportações com a data, a consulta exata e o número de resultados, para que um examinador possa repetir a busca. Espere que as duas comunidades descrevam o mesmo detector com palavras diferentes, e espere duplicatas entre veículos; o Laboratório 1 mostra com que rapidez elas aparecem quando um mesmo survey é indexado tanto pelo IEEE quanto pela ACM.

1.3 Triagem e concordância

Dois revisores fazem a triagem de títulos e resumos de forma independente; relate o kappa de Cohen. O Laboratório 1 mostra uma exportação sintética com remoção de duplicatas por DOI e por título-ano e um kappa de 0,462 — concordância moderada, puxada pela discordância sobre um white paper de fornecedor e um artigo de medições de DNP3. Concordância baixa é um sinal para consertar os critérios de elegibilidade, não para forçar o consenso.

Escreva as regras de elegibilidade como afirmações testáveis antes da triagem: o estudo avalia um detector numa malha de controle, nomeia seu modelo de atacante, relata uma métrica além da acurácia? Faça juntos a triagem de um pequeno lote de calibração, discuta cada discordância e só então faça a triagem do restante de forma independente. Registre cada regra alterada e a data da alteração.

1.4 Exemplo resolvido e Laboratório 1

# Lab 1 (masters OT, synthetic): deduplicate a search export and compute Cohen's kappa for two screeners.
import re
RECORDS=[
 ("ieee","Physics-based anomaly detection for ICS: a survey",2018,"10.1145/3203245"),
 ("acm","Physics-Based Anomaly Detection for ICS: A Survey",2018,"10.1145/3203245"),
 ("ieee","Modbus security: a survey of attacks and defenses",2020,""),
 ("arxiv","Sensor replay attacks on water treatment testbeds",2021,""),
 ("ieee","Sensor Replay Attacks on Water Treatment Testbeds",2021,""),
 ("grey","Vendor white paper: securing SCADA with AI",2022,""),
 ("ieee","DNP3 Secure Authentication field measurements",2019,""),
 ("acm","Zone and conduit design for IEC 62443",2020,""),
 ("ieee","False data injection in power systems: a survey",2011,"10.1109/TSG.2011.2129544"),
 ("arxiv","False Data Injection Attacks against State Estimation in Electric Power Grids",2011,"10.1109/TSG.2011.2129544"),
]
def key(r):
    doi=r[3].strip().lower();
    if doi: return ("doi",doi)
    t=re.sub(r"[^a-z0-9]","",r[1].lower()); return ("title",t,r[2])
seen={}; kept=[]
for r in RECORDS:
    k=key(r)
    if k in seen: continue
    seen[k]=True; kept.append(r)
# two reviewers: I=include X=exclude; disagreements on grey and DNP3
A="IIXIXIIXIX"[:len(kept)]; B="IIXIXXXIIX"[:len(kept)]
def kappa(a,b):
    n=len(a); agree=sum(x==y for x,y in zip(a,b))/n
    pa=sum(x=="I" for x in a)/n; pb=sum(x=="I" for x in b)/n
    pe=pa*pb+(1-pa)*(1-pb)
    return round(agree,3), round((agree-pe)/(1-pe) if pe!=1 else 1.0,3)
print("raw",len(RECORDS),"kept",len(kept),"dropped",len(RECORDS)-len(kept))
print("agree,kappa",kappa(A,B))
print("kept titles:",[r[1][:40] for r in kept])

Saída esperada:

raw 10 kept 7 dropped 3
agree,kappa (0.714, 0.462)
kept titles: ['Physics-based anomaly detection for ICS:', 'Modbus security: a survey of attacks and', 'Sensor replay attacks on water treatment', 'Vendor white paper: securing SCADA with ', 'DNP3 Secure Authentication field measure', 'Zone and conduit design for IEC 62443', 'False data injection in power systems: a']

Três duplicatas são descartadas por DOI ou por título normalizado. O kappa de 0,462 com 71,4% de concordância bruta mostra a correção pelo acaso em ação.

O laboratório mantém o primeiro registro de cada par duplicado, de modo que a versão do IEEE do survey sobre detecção baseada em física fica e a cópia da ACM sai. Dois registros sem DOI só são fundidos porque seus títulos normalizados e anos coincidem exatamente; uma pequena mudança de redação deixaria passar uma duplicata. Confira a lista mantida a olho antes da triagem e relate no protocolo a contagem bruta, a contagem mantida e a contagem descartada, como o laboratório as imprime.

1.5 Erros comuns e limites

Buscar apenas em veículos de segurança; tratar artigos de fornecedores como evidência revisada por pares; relatar a concordância bruta sem o kappa; escrever uma pergunta sem condição de falha.

Uma pergunta sem condição de falha convida a uma dissertação que só pode dar certo. A pergunta do Harbor Loop evita isso ao perguntar quando a vantagem do CUSUM desaparece. A busca tem um limite parecido: as bases mudam sua indexação, então uma busca feita em março pode não devolver o mesmo conjunto em setembro. Registre a data de cada execução e trate o corpus como um retrato instantâneo.

Exercícios — capítulo 1

Síntese do capítulo

Um projeto de mestrado começa com uma pergunta que já nomeia sua condição de falha, uma busca que atravessa comunidades e um processo de triagem cujas discordâncias consertam os critérios.

Respostas comentadas

EX001. "Numa malha de nível sintética com Modbus/TCP, habilitar a proteção contra escrita nos registradores de setpoint reduz em ≥90% as mudanças de setpoint não autorizadas bem-sucedidas, em relação a uma linha de base sem proteção, sob uma rajada de escritas roteirizada, e essa proteção compromete a disponibilidade quando a estação de engenharia precisa de escritas legítimas?"

EX002. Controle: geração de resíduos, redundância analítica, FDI baseada em observadores, validação de sensores. Segurança: injeção de dados falsos, falsificação de sensores, replay, manipulação da visão, ADS baseado em física.

EX003. Incluir medições ou surveys revisados por pares sobre detecção/protocolos de ICS de 2010–2026; excluir marketing de fornecedor sem método. White paper do fornecedor → excluir; medição de campo do DNP3 → incluir.

EX004. "E comercial": key() remove os caracteres não alfanuméricos, então um registro cinzento intitulado "Sensor replay attacks on water-treatment testbeds" (2021) colapsa sobre o registro do arXiv, mas "Modbus security: a survey of attacks & defenses" não coincide com o registro do IEEE, porque a palavra "and" sobrevive à normalização enquanto o "&" desaparece — converta "&" em "and" antes de remover os caracteres. O kappa varia quando uma decisão muda, porque a concordância ao acaso depende das taxas marginais.

EX005. Protocolo: IEEE/ACM/Scopus/arXiv 2010–2026; sinônimos do EX002; dois revisores de triagem; meta de κ≥0,6 depois do conserto dos critérios; fluxo cinzento separado.

EX006. O DOI identifica a mesma obra entre variantes de título; a chave por título sozinha mantém as duplicatas "Survey" e "survey" quando a pontuação difere, a menos que haja normalização — DOI primeiro é mais rigoroso.

EX007. Giraldo: survey revisado por pares (alto, para o enquadramento). Alerta da CISA: evidência de praticantes (médio, para a existência de problemas). Blog de fornecedor: marketing (baixo; só hipótese).