Capítulo 1 — Sistemas computacionais
Mapa da aula
Aula 01 publicada. Mapa, exemplo, EX001.
flowchart TD
N0["1.1 Camadas"]
N1["1.2 Onde os modelos ficam"]
N2["1.3 Recursos"]
N3["1.4 Camadas e controles"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX001"]
Desenho lógico
flowchart LR
N0["1.1 Camadas"]
N1["1.2 Onde os modelos ficam"]
N2["1.3 Recursos"]
N3["1.4 Camadas e controles"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX001"]
[1.1 Camadas]
|
v
[1.2 Onde os modelos ficam]
|
v
[1.3 Recursos]
|
v
[1.4 Camadas e controles]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX001]
Objetivos de aprendizagem
Você vai (1) descrever as camadas de hardware e software sobre as quais um serviço de IA roda; (2) explicar onde modelos, pesos e dados ficam durante a execução; (3) identificar os recursos computacionais que um atacante pode esgotar; e (4) relacionar as camadas do sistema aos controles de segurança de IA.
1.1 Camadas
Um assistente de compras como o Ask Brightwell não é "só um modelo". Uma requisição passa por um navegador, um balanceador de carga, uma aplicação web, um serviço de orquestração que monta o prompt, um serviço de recuperação, um servidor de modelo (muitas vezes a API de um fornecedor) e serviços de ferramentas, como o banco de dados de pedidos. Cada camada roda sobre um sistema operacional, em hardware físico ou virtual, e cada uma tem suas próprias contas, seus registros e seus modos de falha. O trabalho de segurança começa desenhando essas camadas. O primeiro desenho que Jonas fez do Ask Brightwell encontrou um problema numa camada que ninguém considerava IA: os registros do orquestrador.
1.2 Onde os modelos ficam
Um modelo é um arquivo de números (os pesos) mais o código que o executa. Quando é hospedado internamente, os pesos ficam em disco, são carregados na memória e normalmente rodam em GPUs. Quando é acessado por uma API, o fornecedor guarda os pesos e você envia texto. Em qualquer caso, o prompt, os documentos recuperados e as saídas passam pela memória e pelos registros de sistemas que você opera — lugares onde dados sensíveis podem vazar. No Ask Brightwell, os pesos ficam com o fornecedor, mas os prompts montados pelo orquestrador, incluindo endereços de clientes trazidos pela ferramenta de pedidos, estavam num repositório de registros compartilhado. Já os arquivos do modelo hospedado internamente do CodePilot ficam nos próprios discos da Brightwell, onde as verificações de integridade são responsabilidade da Brightwell.
1.3 Recursos
A inferência de modelos de linguagem é cara: cada requisição usa tempo de GPU e memória proporcionais ao tamanho da entrada e da saída. Atacantes que enviam requisições muito longas ou em grande quantidade podem elevar os custos ou negar o serviço; o OWASP classifica isso como LLM10 Consumo Ilimitado (Unbounded Consumption). Saber qual recurso é escasso — GPU, tokens, dinheiro — indica o que limitar. No Ask Brightwell, o recurso escasso é o dinheiro: cada token enviado à API do fornecedor é cobrado, de modo que um endpoint sem limites permite que qualquer pessoa faça a conta disparar. É por isso que a primeira proposta de Jonas combinou um limite de taxa de requisições com um orçamento diário de tokens por conta.
1.4 Camadas e controles
Associe os controles às camadas: autenticação na borda, limites de taxa no gateway, montagem do prompt e tratamento da saída no orquestrador, controle de acesso na recuperação e nas ferramentas, verificações de integridade nos arquivos do modelo em disco e registros em toda parte. No Ask Brightwell, o diagrama de Jonas mostra onde cada controle está hoje e onde falta algum. Não havia limite de taxa no gateway, e os registros de prompts do orquestrador podiam ser lidos por 40 engenheiros; assim, duas camadas não tinham controles que o mapa torna evidentes. O serviço de políticas acrescentado depois pertence à mesma camada do orquestrador, entre o modelo e as ferramentas.
1.5 Exemplo resolvido (caso sintético da Brightwell)
Jonas desenha o Ask Brightwell: navegador → CDN → aplicação web → orquestrador → (índice de recuperação com 3.000 páginas de políticas e de produtos; API do modelo do fornecedor; ferramentas de consulta de pedidos e de devoluções) → bancos de dados. Ele observa que o orquestrador registra os prompts completos, incluindo os endereços de clientes trazidos pela ferramenta de pedidos, num repositório de registros compartilhado que 40 engenheiros podem ler. Ele inclui isso na lista de problemas da equipe. O achado não tem nada a ver com o modelo: é um problema comum de controle de acesso na camada de registros. Como os registros guardam endereços que a ferramenta de pedidos buscou, o repositório se tornou um dos maiores depósitos de dados de clientes do sistema sem que ninguém tivesse decidido isso.
1.6 Erros e limites
Três erros são comuns: tratar o modelo como se fosse o sistema inteiro; esquecer registros e caches como depósitos de dados; e ignorar o custo como alvo de ataque. O desenho de Jonas protege contra os três. Ele mostra o modelo como uma caixa entre muitas, lista o repositório de registros compartilhado como um depósito de dados com endereços de clientes e marca a API do fornecedor como um custo a proteger. Cada erro, se não fosse corrigido, teria deixado uma fraqueza real do Ask Brightwell fora da lista de problemas. Os capítulos seguintes voltam a cada camada com testes e controles.
Exercícios
- EX001 — Diagrama de camadas. Desenhe as camadas de um chatbot de IA que você usa e indique um controle por camada. Rubrica: 3 = pelo menos seis camadas com controles adequados; 2 = quatro ou cinco; 1 = duas ou três; 0 = nenhuma.
- EX002 — Onde os dados ficam. Liste quatro lugares onde o endereço de um cliente poderia ser armazenado durante uma requisição ao Ask Brightwell. Rubrica: 3 = quatro lugares plausíveis; 2 = três; 1 = um ou dois; 0 = nenhum.
- EX003 — Recurso escasso. Num modelo hospedado internamente, qual recurso você limitaria primeiro, e como? Rubrica: 3 = tempo de GPU ou tokens, limites por usuário e tamanhos máximos; 2 = parcial; 1 = vago; 0 = nenhum.
Síntese
Serviços de IA são sistemas em camadas. A segurança começa mapeando por onde passam as requisições, os modelos e os dados, e quais recursos os atacantes podem esgotar.
Continue estudando — capítulo 01 de 30
← Página do curso · Índice de capítulos do curso · Capítulo 02 (rascunho) →