Não aprendemos nada com o ataque à SolarWinds
Anos após a violação da SolarWinds, comentaristas argumentam que os problemas estruturais centrais na segurança de software continuam em grande parte sem समाधान, especialmente na cadeia de suprimentos de software. Eles destacam mecanismos fracos ou abandonados para verificar dependências, a profunda dependência de plataformas centralizadas como o GitHub e os incentivos econômicos que favorecem a entrega rápida de recursos em detrimento de uma segurança rigorosa. As soluções propostas vão de melhor compartimentalização e sistemas baseados em capacidades a computação confidencial e regimes regulatórios ou de responsabilidade mais fortes, mas muitos duvidam que isso possa ser amplamente adotado sem mudanças culturais e econômicas significativas.
Assinatura de Pacotes, Repositórios e Confiança em Dependências
- Vários comentários criticam a remoção de assinaturas PGP pelo PyPI e a falta mais ampla de assinatura/verificação robustas nos principais repositórios de pacotes.
- Alguns dependem de empacotamento de distro (.deb) e mirrors locais em vez do PyPI, observando melhor verificação de assinaturas e correção de pacotes quebrados.
- Ferramentas empresariais (por exemplo, do tipo JFrog/Sonatype) que fazem hash e etiquetam componentes entre ecossistemas são vistas como soluções provisórias úteis, mas não amplamente disponíveis em repositórios públicos.
- A forte dependência do GitHub como espinha dorsal de fato para CI, fontes de pacotes e hospedagem de código é vista como um risco sistêmico.
Varredura, Ferramentas Universais e Seus Limites
- Há interesse em serviços que analisem binários ou código-fonte em busca de ataques à cadeia de suprimentos, mas muitos duvidam de sua eficácia e escalabilidade.
- Ferramentas que detectam comportamento “suspeito” de pacotes (análise estática/dinâmica) existem e estão sendo desenvolvidas ativamente.
- Um gerenciador de pacotes universal é amplamente visto como inviável em escala.
Economia, Incentivos e Responsabilidade
- Os comentaristas enfatizam que as organizações querem segurança “boa o suficiente” ao menor custo possível; o verdadeiro endurecimento é visto como economicamente pouco atraente.
- Multas e pressão regulatória poderiam ajudar, mas talvez consolidassem ainda mais os grandes fornecedores e prejudicassem pequenas empresas e o open source.
- Alguns argumentam que deveríamos projetar sistemas para tolerar software comprometido por meio de compartimentalização e redução do raio de explosão, e não assumir que todo software pode ser tornado seguro.
Capacidades, Sandboxing e Design de SO
- Um modelo padronizado de capacidades é visto como ideal, mas politicamente e tecnicamente improvável, além de suscetível a abuso por fornecedores (por exemplo, redefinindo capacidades para proteger modelos de negócio).
- Outros enfatizam compartimentalização e redundância, fazendo analogia com sistemas de segurança crítica em que falhas isoladas não derrubam o sistema inteiro.
- Há discussão sobre modelos de permissão em dispositivos móveis (iOS/Android), sideloading e o trade-off entre plataformas fechadas “seguras” e a liberdade do usuário.
Segurança da Cadeia de Suprimentos e Atestação
- Alguns propõem sistemas de build endurecidos e isolados, além de metadados/atestação padronizados (por exemplo, in-toto, Witness) para rastrear e verificar etapas da cadeia de suprimentos.
- Computação confidencial com atestação remota é discutida como uma forma de provar que artefatos foram construídos a partir de um código-fonte específico com ferramentas específicas, mesmo em hosts comprometidos.
- Isso desloca os ataques para os próprios compiladores e ferramentas de build, aumentando o interesse em compiladores com segurança de memória e builds reproduzíveis.
Realidade Operacional e Conformidade
- Praticantes observam que, para ameaças avançadas, a prevenção é limitada; a prática moderna se concentra em EDR, logging, SIEM e detecção de comportamento pós-comprometimento.
- As redes corporativas são descritas como confusas, com muitas restrições legadas e trade-offs de experiência do usuário.
- Questionários de segurança e conformidade do tipo checklist são criticados por estarem desatualizados e desalinhados com arquiteturas cloud-native, embora existam tentativas de simplificá-los.