Capítulo 22 — Segurança de IA e aprendizado de máquina: modelos de sistema e de dados
Mapa da aula
Aula 22 publicada. Mapa, exemplo, EX064.
flowchart TD
N0["22.1 Diagramas de fluxo de dados para IA"]
N1["22.2 Proveniência e contaminação"]
N2["22.3 Ativos, pontos de entrada, sinks"]
N3["22.4 Modelos de dados"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX064"]
Desenho lógico
flowchart LR
N0["22.1 Diagramas de fluxo de dados para IA"]
N1["22.2 Proveniência e contaminação"]
N2["22.3 Ativos, pontos de entrada, sinks"]
N3["22.4 Modelos de dados"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX064"]
[22.1 Diagramas de fluxo de dados para IA]
|
v
[22.2 Proveniência e contaminação]
|
v
[22.3 Ativos, pontos de entrada, sinks]
|
v
[22.4 Modelos de dados]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX064]
Objetivos de aprendizagem
Você vai (1) construir diagramas de fluxo de dados para sistemas de IA com níveis de confiança; (2) modelar a proveniência e a contaminação (taint) dos dados; (3) identificar ativos, pontos de entrada e sinks privilegiados; e (4) usar os modelos como insumos para a análise de ameaças.
22.1 Diagramas de fluxo de dados para IA
Desenhe entidades externas (usuários, fornecedores), processos (ingestão, modelo, política, ferramentas), repositórios de dados (conjunto de treinamento, banco vetorial, logs) e fluxos. Anote em cada fluxo o nível de confiança e a classificação dos dados. A IA acrescenta elementos novos: pipelines de treinamento, registros de modelos, templates de prompt e repositórios de avaliação. As anotações fazem o trabalho analítico. Um fluxo rotulado "boletim de fornecedor, externo, não classificado" que chega a um processo rotulado "modelo, pode propor ordens de serviço" é visivelmente um caminho de baixa confiança para alto impacto. Templates de prompt entram no diagrama como repositórios porque quem os edita muda o comportamento do sistema, e os registros de modelos também, já que um modelo trocado muda todas as decisões a jusante.
22.2 Proveniência e contaminação
O rastreamento de contaminação marca os dados vindos de fontes não confiáveis e os acompanha durante o processamento. Em sistemas de LLM, qualquer texto derivado de entrada não confiável — inclusive o resumo que um modelo faz de um documento não confiável — continua contaminado. Chamadas de ferramenta cujos argumentos estão contaminados merecem verificações extras. Greshake et al. (arXiv:2302.12173) demonstraram como o conteúdo injetado viaja de uma fonte recuperada até ações. Resumos parecem mais limpos que sua fonte, mas uma instrução pode sobreviver ao resumo, ou o próprio resumo pode ser conduzido pelo texto de origem. Por isso o Wrench carrega uma marca de contaminação de cada trecho recuperado até qualquer proposta construída a partir dele, e o serviço de política exige confirmação, com a fonte exibida, sempre que um argumento de ferramenta depende de texto contaminado.
22.3 Ativos, pontos de entrada, sinks
Ativos: dados, pesos, decisões, credenciais, reputação. Pontos de entrada: qualquer lugar por onde os dados entram (uploads, recuperação, sensores, feedback). Sinks privilegiados: ações com impacto (enviar e-mail, gravar registros, acionar equipamentos). Os caminhos mais importantes vão de pontos de entrada de baixa confiança a sinks de alto impacto. Listar os três separadamente evita um ponto cego comum: pontos de entrada que não parecem entradas. Botões de feedback, leituras de sensores e documentos enviados por colegas entram todos no sistema. Os sinks são listados por impacto, de modo que a análise dedica mais tempo aos caminhos que terminam em consequências físicas ou financeiras. Para cada caminho desses, a equipe nomeia o controle que fica entre o ponto de entrada e o sink, ou registra que ainda não existe nenhum.
22.4 Modelos de dados
Descreva a composição dos dados de treinamento (fontes, classes, condições), seu processo de atualização e quem pode modificá-los. Um datasheet (Gebru et al., arXiv:1803.09010) é a forma de documentação; o modelo de dados é a forma de engenharia. O modelo de dados declara fatos que os engenheiros podem verificar e sobre os quais podem agir: que parcela das imagens do TrackEye vem de passagens ao amanhecer, qual fornecedor contribuiu com cada lote, como as reetiquetagens são aprovadas e quem tem acesso de escrita ao repositório. Quando a lacuna do amanhecer apareceu, o modelo de dados mostrou de imediato que as imagens do amanhecer eram escassas, apontando a correção. Ele também define o processo de atualização, de modo que uma nova fonte não pode ser acrescentada sem passar pelas verificações de proveniência e de amostragem.
22.5 Exemplo resolvido (caso sintético da NRS)
O DFD de Sam para o Wrench marcou boletins de fornecedores e notas de terceirizados como de baixa confiança, manuais como de confiança média (vêm dos fabricantes, mas raramente são alterados) e o chat dos técnicos como autenticado. A contaminação se propagou pelos resumos do modelo até os argumentos de create_work_order. Foram encontrados três sinks privilegiados: criação de ordens de serviço, e-mail de peças e uma ferramenta esquecida de "atualizar status do ativo" que um piloto havia habilitado. Sam removeu essa terceira ferramenta até que ela tivesse sua própria revisão. A ferramenta esquecida mostra por que os diagramas são construídos a partir da configuração, e não da memória.
22.6 Erros e limites
Três erros são comuns: diagramas sem níveis de confiança; tratar a saída do modelo como limpa porque o modelo a "processou"; e deixar de fora ferramentas e repositórios de dados esquecidos. Um diagrama sem níveis de confiança mostra o encanamento, mas não o risco. Tratar a saída do modelo como limpa ignora que o modelo pode repetir ou seguir o que leu. Ferramentas e repositórios esquecidos são as omissões mais perigosas, porque ninguém revisa controles de componentes cuja existência desconhece. Sam constrói os diagramas a partir da configuração implantada e do registro de ferramentas, e depois os compara com o esboço da própria equipe; as diferenças costumam ser onde estão os achados.
Exercícios
- EX064 — Contaminação. Por que o resumo que um modelo faz de um documento não confiável continua contaminado? Rubrica: 3 = o resumo pode carregar instruções/conteúdo injetados ou agir sobre eles; 2 = parcial; 1 = vago; 0 = errado.
- EX065 — Sinks. Liste três sinks privilegiados em um assistente de e-mail baseado em LLM. Rubrica: 3 = enviar, excluir/mover, encaminhar ou alterar calendário/contatos; 2 = dois; 1 = um; 0 = nenhum.
- EX066 — DFD. Descreva um DFD para o pipeline de treinamento do TrackEye com níveis de confiança. Rubrica: 3 = entidades, processos, repositórios, fluxos com anotações de confiança; 2 = sem confiança; 1 = vago; 0 = nenhum.
Síntese
Modelos de sistema e de dados mostram onde dados não confiáveis entram e onde podem causar dano. Anotações de contaminação e de confiança tornam visíveis os caminhos críticos para a análise de ameaças.
Continue estudando — capítulo 22 de 50
← Capítulo 21 (rascunho) · Índice de capítulos do curso · Capítulo 23 (rascunho) →