Pular para o conteúdo
Luiz Hogrefe

AnyAudit

Demonstrador de pesquisa para evidências de auditoria em software da era da IA

Demonstrador de pesquisa

O que um sistema precisa registrar, e como, para que o seu comportamento possa ser auditado depois por alguém que não o construiu?

Visão geral

O AnyAudit extrai do AnyDPP a camada de evidências de auditoria para uma biblioteca reutilizável. Ele propaga um contexto de rastreio pelas requisições, grava eventos de auditoria versionados que armazenam apenas um hash do seu conteúdo e os acrescenta a uma cadeia de hashes SHA-256 que pode ser verificada de ponta a ponta.

Ele usa deliberadamente uma cadeia de hashes, e não uma blockchain: o objetivo é tornar adulterações evidentes dentro de um sistema, não obter consenso entre desconhecidos.

Uma cadeia que revela adulteração

Uma cadeia que revela adulteração
  1. Evento 1review.acceptedrastreio: 7f3a-19c2hash do conteúdo: f5e10178anterior: 00000000
  2. Evento 2attribute.updatedrastreio: 7f3a-19c2hash do conteúdo: 64f2c5a3anterior: f5e10178
  3. Evento 3passport.composedrastreio: 7f3a-19c2hash do conteúdo: e298dad5anterior: 64f2c5a3
  4. Evento 4credential.issuedrastreio: 7f3a-19c2hash do conteúdo: 77c82a49anterior: e298dad5

Verificar a cadeia: Cadeia íntegra

Altere um evento e a verificação falha a partir daquele ponto.

Descrição em texto do diagrama

Quatro eventos de auditoria em sequência, cada um mostrando o seu identificador de rastreio, o hash do seu conteúdo e o hash da entrada anterior. Quando o segundo evento é alterado, o seu hash deixa de corresponder ao que a terceira entrada registrou, e a verificação aponta a ruptura.

Elementos básicos

  • Contexto de rastreio

    Um identificador propagado por cada requisição, tarefa e serviço envolvidos em uma operação.

  • Evento de auditoria

    Um esquema de evento versionado que armazena um hash do conteúdo, não o conteúdo em si.

  • Cadeia de hashes

    Cada entrada se vincula à anterior, de modo que uma entrada alterada ou removida quebra todos os elos depois dela.

  • Verificação da cadeia

    Uma função que percorre a cadeia e informa onde ela se rompe.

  • Decorator e middleware

    Formas de acrescentar auditoria a código existente sem reescrevê-lo.

O que um auditor recebe

  1. 1

    Um revisor aceita um valor em um fluxo de trabalho de passaporte.

  2. 2

    A requisição carrega um identificador de rastreio pela API e pela tarefa em segundo plano.

  3. 3

    Um evento de auditoria registra quem fez o quê, sob qual versão, com um hash do conteúdo.

  4. 4

    Meses depois, um auditor verifica a cadeia e segue o rastro da entrada à publicação.

Em que se diferencia

  • AnyAuditAnyTraceProtótipo de pesquisa · não publicado

    O AnyTrace registra a proveniência de coisas do mundo. O AnyAudit registra o comportamento do software.

    AnyTrace
  • AnyAuditAnyVerifyProtótipo de pesquisa · não publicado

    O AnyVerify julga se as evidências sustentam uma alegação. O AnyAudit não faz julgamento algum; ele mantém um registro que pode ser conferido.

    AnyVerify
  • AnyAuditAnyValidProtótipo de pesquisa · não publicado

    O AnyValid consulta uma autoridade externa. O AnyAudit não consulta ninguém; ele prova que o seu próprio registro não mudou.

    AnyValid

Estado

Demonstrador de pesquisa

Implementado como demonstrador de pesquisa, apresentado em anyaudit.eu, com a biblioteca no repositório da AnyLAI.

Limitações

  • Evidência de adulteração, não prevenção de adulteração: uma cadeia mostra que algo mudou, não impede a mudança.
  • A cadeia não é ancorada fora do sistema que a grava.
  • Um registro de auditoria é evidência para uma auditoria, não o resultado de uma auditoria.

Voltar para Projetos