◇ OpenCyber Academy
Tecnólogo · Capítulo 1 · Português

Capítulo 1 — Sistemas computacionais

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

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

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) →