OpenCyber Academy
Pós-graduação · Capítulo 11 · Português
Código do curso: OCA-158Capítulo 11: OCA-158-C011

Capítulo 11 — Projeto aplicado

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 11 publicada. Mapa, exemplo, EX051.

flowchart TD
  N0["11.1 Escopo"]
  N1["11.2 Planejamento"]
  N2["11.3 Execução"]
  N3["11.4 Avaliação"]
  N4["11.5 Entrega"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX051"]

Desenho lógico

flowchart LR
  N0["11.1 Escopo"]
  N1["11.2 Planejamento"]
  N2["11.3 Execução"]
  N3["11.4 Avaliação"]
  N4["11.5 Entrega"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX051"]
[11.1 Escopo]
    |
    v
[11.2 Planejamento]
    |
    v
[11.3 Execução]
    |
    v
[11.4 Avaliação]
    |
    v
[11.5 Entrega]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX051]

Objetivos de aprendizagem

Você vai (1) definir o escopo de um projeto aplicado de segurança de IA com uma organização; (2) planejar o trabalho, as evidências e as decisões; (3) executar com autorização e segurança; (4) avaliar os resultados contra critérios; e (5) entregar resultados que a organização possa usar.

11.1 Escopo

Um bom projeto responde a uma decisão que a organização precisa tomar: "Devemos habilitar a remarcação autônoma?", "A deduplicação reduz o vazamento do nosso modelo ajustado?" Combine quem é o responsável pela decisão, os sistemas no escopo, a autorização por escrito, as regras de dados (sintéticos ou aprovados), os critérios de sucesso e o cronograma. O projeto de Tomás, no exemplo resolvido abaixo, teve o escopo definido dessa forma, com critérios combinados para a vantagem e a qualidade das respostas. No projeto de Tomás, a responsável pela decisão era Amira, o sistema no escopo era uma cópia isolada do modelo de sugestão de respostas e os dados eram mensagens sintéticas de clientes. Escreva tudo isso e obtenha a assinatura antes de começar qualquer teste.

11.2 Planejamento

Planeje em fases: linha de base (estado atual e risco), intervenção (projeto ou controles), avaliação (testes controlados), apoio à decisão (relatório e recomendação), entrega. Cada fase tem um entregável e uma revisão. Mantenha um registro de riscos do próprio projeto: danos causados pelos testes, exposição de dados, atrasos no cronograma. No projeto de Tomás, as fases foram uma medição de vazamento de linha de base, a deduplicação como intervenção, testes controlados na cópia isolada, uma recomendação e a entrega. Cada entregável foi revisado com Amira, a responsável pela decisão, e o registro de riscos era atualizado na revisão semanal.

11.3 Execução

Trabalhe em cópias isoladas. Registre todo teste. Pare e escale se encontrar uma vulnerabilidade ativa que afete clientes; isso tem prioridade sobre o cronograma do projeto. Faça revisões semanais com o responsável pela decisão. Tomás trabalhou apenas na cópia isolada da Corvane e registrou cada execução com as versões. Anote no log do projeto qualquer coisa inesperada, mesmo que não tenha mudado o resultado, e conte ao responsável pela decisão na revisão semanal seguinte. Mantenha os dados de teste e os logs na cópia isolada.

11.4 Avaliação

Meça contra os critérios combinados no escopo, incluindo os efeitos colaterais.

"""Lab M: membership inference against an overfit 1-nearest-neighbour 'model'
that returns a confidence score. Synthetic records only; teaching model."""
import random, math
rng = random.Random(5)
def rec(): 
    y = rng.random() < 0.5
    return [rng.gauss(0.6 if y else -0.6, 1.0) for _ in range(4)], int(y)
members = [rec() for _ in range(150)]; nonmembers = [rec() for _ in range(150)]
def confidence(x, y, k):
    # k-NN vote share for the true label, computed over the training set
    d = sorted((sum((a-b)**2 for a, b in zip(x, m)), my) for m, my in members)
    return sum(1 for _, my in d[:k] if my == y)/k
def auc(pos, neg):
    s = sum((p > n) + 0.5*(p == n) for p in pos for n in neg)
    return s/(len(pos)*len(neg))
for k in (1, 5, 25):
    pos = [confidence(x, y, k) for x, y in members]
    neg = [confidence(x, y, k) for x, y in nonmembers]
    best = max(sum(p >= t for p in pos)/len(pos) - sum(n >= t for n in neg)/len(neg)
               for t in sorted(set(pos + neg)))
    print(f"k={k:2d} attack_auc={auc(pos, neg):.3f} best_advantage={best:.3f}")

Saída esperada:

k= 1 attack_auc=0.600 best_advantage=0.200
k= 5 attack_auc=0.521 best_advantage=0.073
k=25 attack_auc=0.520 best_advantage=0.060

Tomás mediu a vantagem e a qualidade das respostas contra os critérios combinados no escopo: vantagem abaixo de 0,1, com perda de qualidade inferior a 2 pontos. Ele relatou as duas, incluindo o custo em qualidade. Se um critério não for atingido, diga isso e explique o que seria necessário para atingi-lo. Use casos reservados na medição final e inclua casos adaptativos escritos por alguém que não construiu a defesa. Relate os números com intervalos.

11.5 Entrega

Entregue: o relatório; o harness de avaliação e os conjuntos de testes, para que os testes possam ser reexecutados; as mudanças de configuração; os runbooks; e uma lista de riscos em aberto com responsáveis. Um projeto que não pode ser repetido depois que você sai tem valor limitado. Tomás entregou o harness, a tarefa de deduplicação e um runbook para testar de novo após cada ajuste, para que a Corvane possa repetir a medição. Inclua responsáveis nomeados para os riscos em aberto e uma data para o primeiro novo teste. Verifique se outra pessoa consegue rodar o harness antes de você sair.

11.6 Exemplo resolvido (caso sintético da Corvane)

Um estudante em estágio, Tomás, assume a pergunta de Amira: deduplicar as mensagens de clientes antes de ajustar um modelo de sugestão de respostas reduz o vazamento por inferência de pertencimento? Critérios: vantagem do ataque abaixo de 0,1, com perda inferior a 2 pontos na qualidade das respostas. No análogo do laboratório, um modelo que na prática memoriza seus registros de treinamento (k = 1) dá vantagem de 0,20; à medida que generaliza (k maior), a vantagem cai para cerca de 0,06–0,07. Na cópia isolada da Corvane, a deduplicação reduz a vantagem de 0,17 para 0,06, com perda de 1 ponto de qualidade. Ele entrega o harness, a tarefa de deduplicação e um runbook para testar de novo após cada ajuste. Os critérios foram atingidos.

11.7 Erros e limites

Três erros são comuns: projetos sem responsável pela decisão; testar em produção; e entregar um relatório, mas nenhum harness. Cada erro limita o valor do projeto. Sem um responsável pela decisão, os resultados não têm para onde ir. Testar em produção pode prejudicar clientes e viola a autorização. Um relatório sem o harness não pode ser repetido depois do próximo ajuste, e é por isso que Tomás entregou seu harness e seu runbook. Resolva os três pontos no plano do projeto antes de o trabalho começar e peça ao seu orientador que os confirme por escrito.

Exercícios

Síntese

Projetos aplicados servem a uma decisão real, rodam com segurança sob autorização, medem contra critérios combinados e deixam ferramentas que a organização pode reutilizar.

Continue estudando — capítulo 11 de 12

← Capítulo 10 (rascunho) · Índice de capítulos do curso · Capítulo 12 (rascunho) →

Respostas comentadas

EX051. Decisão: as saídas do DocRead podem alimentar o faturamento sem revisão humana? Responsável: o diretor de operações. Escopo: uma cópia isolada do DocRead. Autorização: por escrito. Dados: digitalizações sintéticas. Critérios: taxa de erro de campos abaixo de 1%, sem nenhuma digitalização adversarial alterando valores. Cronograma: 12 semanas.

EX052. Danos a sistemas de teste compartilhados → cópia isolada. Exposição de dados → apenas dados sintéticos. Atraso no cronograma → entregáveis por fases. Expansão do escopo → registro de mudanças aprovado pelo responsável.

EX053. Interromper essa linha de testes. Preservar as evidências. Relatar imediatamente ao líder de segurança pelo processo de incidentes. Seguir as orientações de contenção. Retomar o projeto só quando liberado.

EX054. No laboratório, o modelo que na prática memoriza seus registros de treinamento (k = 1) dá a maior vantagem de ataque (0,20), e a vantagem cai para cerca de 0,06–0,07 à medida que um k maior o faz generalizar, de modo que a memorização determina quanto do pertencimento vaza; mensagens duplicadas favorecem justamente essa memorização. Na cópia da Corvane, a deduplicação reduziu a vantagem de 0,17 para 0,06. Isso sustenta a deduplicação como mitigação, mas o laboratório é um brinquedo, por isso verifique no ajuste real.

EX055. O relatório, o harness de avaliação, os conjuntos de testes, a tarefa de deduplicação e sua configuração, um runbook de novo teste e uma lista de riscos em aberto com responsáveis.