8 pontos por GN⁺ 2025-03-23 | 1 comentários | Compartilhar no WhatsApp
  • STPA (System Theoretic Process Analysis, análise teórica de processos de sistemas) é um método para modelar os loops de controle-feedback de sistemas complexos com base em teoria de sistemas e de controle
    • O Google usa STPA para analisar sistemas de software e descobrir riscos potenciais
  • O STPA trata a segurança do sistema como um problema de controle e analisa todas as ações de controle que podem levar o sistema a um estado de risco
  • Em vez de focar no resultado de ações individuais, ele busca as causas-raiz ao se concentrar nos estados de risco
    • Ao entender as ações de controle que levam a estados de risco, é possível preveni-las ou fazer recuperação automática
    • Quando a recuperação automática é difícil, também é possível alertar operadores humanos

Por que o Google está customizando o treinamento de STPA

  • Aumentaram os casos de sucesso em que o STPA encontrou problemas ainda não identificados com antecedência e evitou incidentes
  • Os materiais tradicionais de treinamento em STPA são centrados em sistemas físicos, o que dificulta sua aplicação em ambientes de software
  • Passou a ser necessário um treinamento personalizado para os sistemas puramente de software do Google

Primeiras tentativas de treinamento em STPA

  • O treinamento inicial começou em 2021 (para 40 engenheiros do Google)
  • Uso de exemplos de sistemas físicos, como a queda da Mars Polar Lander → pouca identificação por parte de engenheiros de software
  • Ficou claro que eram necessários casos reais aplicados aos sistemas do Google

Ensino do conceito de estrutura de controle

  • A estrutura de controle (control structure) é composta por um loop básico de controle-feedback
    • O controlador gerencia mudanças de estado → verifica o estado via feedback e decide a próxima ação
  • Exemplos de aplicação em ambiente de software
    • Ex.: exclusão ou correção de conteúdo inadequado em um banco de dados de conteúdo gerado por usuários
    • Se o loop de feedback não for projetado corretamente, podem ocorrer ações de controle incorretas
  • Desafios no treinamento
    • É difícil ensinar, em tempo limitado, como projetar estruturas de controle realmente úteis
    • Como cada sistema de software tem uma estrutura de controle diferente, é difícil fornecer feedback

Estratégia para melhorar o treinamento em STPA

  • Ensinar todas as etapas do STPA → apoiar engenheiros para que consigam executar STPA de forma independente
  • Uso de casos reais do Google → explicar a teoria e depois aplicá-la em exemplos reais
  • Foco em reforçar os caminhos de feedback da estrutura de controle
    • Feedback incorreto → ação de controle incorreta → análise de casos que levaram a incidentes
    • Falta de feedback para operadores humanos → surgimento de estados de risco

A importância do feedback

  • Em um sistema do Google, um feedback incorreto levou, 30 dias depois, a uma ação de controle errada → ocorreu um incidente
  • As causas foram feedback incorreto e falta de feedback para operadores humanos
  • Com um bom projeto de feedback, o incidente poderia ter sido evitado
  • A explosão do foguete Ariane 5 também é um caso de erro de feedback
    • O erro ocorreu ao converter dados de ponto flutuante em inteiro
    • Erro de feedback → percepção incorreta do estado → erro de direção do foguete e explosão

Diagrama de fluxo de dados vs. estrutura de controle

  • Diagrama de fluxo de dados (Dataflow Diagram)
    • Mostra como os dados se movem entre componentes de software
    • Feedback e estrutura de controle não ficam claros
  • Estrutura de controle (Control Structure)
    • Mostra ações de controle e feedback → deixa clara a hierarquia de controle
    • Facilita identificar problemas de feedback → permite rastrear a causa de problemas em interações complexas do sistema

Efeitos da aplicação de STPA

  • Em softwares complexos, reduz trechos potencialmente problemáticos de milhões de linhas de código para algumas centenas de linhas
  • Ao transformar ações de controle perigosas em cenários, é possível identificar o código problemático
  • Em casos reais, após construir a estrutura de controle, foi possível identificar e corrigir a falta de feedback

Mudança na estratégia de treinamento

  • Treinamentos longos → transição para sessões curtas
    • Tutoriais de 30 a 60 minutos → incentivam engenheiros interessados a participar de workshops
  • Introdução de um modelo de aprendizado autodirigido
    • Vídeos curtos + exercícios → incentivam a aplicar STPA em sistemas reais
    • Reforço do treinamento para permitir a execução inicial de STPA sem intervenção de especialistas

Estratégia de disseminação do STPA no Google

  • Formação de especialistas em STPA → possibilita difundir STPA dentro das equipes
  • Sucesso inicial → expansão para outras equipes → aplicação de STPA em toda a organização
  • Após o treinamento em STPA, torna-se possível eliminar fatores de risco já na fase de projeto

Também pode ser aplicado em outras empresas

  • O STPA é uma ferramenta poderosa para encontrar "riscos ainda não identificados" em sistemas de software complexos
  • É possível começar com uma equipe pequena e expandir com a liderança de especialistas em STPA
  • O ponto-chave é desenvolver um treinamento em STPA personalizado para a empresa
  • Depois de tentativas e ajustes iniciais, é possível corrigir o rumo → no fim, melhorar a estabilidade e a confiabilidade do sistema

1 comentários

 
GN⁺ 2025-03-23
Comentários do Hacker News
  • Houve um caso no Google em que um controlador de software recebeu feedback incorreto e executou uma ação de controle perigosa

    • Essa ação foi agendada para ser executada 30 dias depois
    • Havia indicadores de que uma ação perigosa ocorreria, mas não havia nenhum engenheiro monitorando isso
    • No fim, 30 dias depois a ação de controle perigosa ocorreu e causou uma interrupção do serviço
    • Há comentários se perguntando se esse incidente foi o caso de exclusão de um banco de dados do governo
    • A tentativa de generalização sem culpabilização foi boa, mas o texto foi escrito de forma exagerada demais e não houve nada a aprender com ele
  • A aula de STPA é bem estruturada, e o exemplo do Google ajudou

    • Porém, o artigo em si não tinha exemplos concretos
  • STPA é um framework de revisão de design para encontrar modos de falha menos óbvios

    • FMEA é mais popular, mas apenas lista modos de falha que já conhecemos
    • STPA ajuda a preencher modos de falha nos quais não havíamos pensado
  • Há opiniões de que é difícil de entender, mas ainda assim vale a pena conhecer

    • É preciso uma explicação concreta de como isso se aplica a um serviço específico no Google
    • Falta explicar por que “B tem pouco feedback de C” é algo ruim
  • Se houvesse um caso real em que o STPA resolveu um problema de confiabilidade no Google, isso seria mais convincente

  • STAMP/STPA funciona bem como modelo e metodologia para sistemas complexos

    • Havia interesse em quantificação de risco cibernético
    • Em outras abordagens, não é dado um modelo que permita entender facilmente ações de controle perigosas
    • Seria bom se mais empresas adotassem isso
  • Depois de colaborar com especialistas do sistema para montar a estrutura de controle, ficou claro de imediato que faltava feedback de C para B

    • Existe um loop de feedback por meio de D
    • Há quem questione por que o problema da ausência de uma conexão direta de B para D não se aplicaria
    • Ao reler, perceberam que a direção vertical é importante para representar controle e feedback
  • É uma história corporativa exagerada, cheia de buzzwords, tentando fazer ideias antigas parecerem inovadoras

    • Há uma tentativa estranha de ligar histórias de conserto de rádio na infância ao STPA
    • O Google afirma que aplicar STPA a software é inovador, mas isso é um método antigo
    • A maior parte do conteúdo são conceitos básicos de engenharia sobre loops de feedback e estruturas de controle
    • A mensagem real é que o Google criou um programa interno de treinamento
    • O final segue a estratégia corporativa típica de sugerir que você precisa usar STPA
  • Há comentários dizendo que seria bom se o Google ficasse quieto por um ano inteiro, fazendo apenas um barulho de aspirador de pó