Skip to main content

A importância dos engenheiros de plataforma em um programa de segurança

Escrito por
feature snyk platform

13 de abril de 2023

0 minutos de leitura

Os engenheiros de plataforma precisam ter autonomia para contribuir com o programa de segurança de uma organização. O trabalho deles tem grande influência na postura de segurança de um produto e, sem dúvida, um impacto tão grande quanto o das vulnerabilidades de aplicações — alguns diriam até maior. Apesar da relevância desse trabalho, o papel desses profissionais nos programas de segurança ainda não está bem definido. Embora os provedores de nuvem publiquem modelos de responsabilidade compartilhada bem definidos para seus clientes, as organizações raramente especificam quem é responsável pela segurança: os desenvolvedores de aplicações ou os engenheiros de plataforma.

Nesta publicação, vamos explicar o que faz um engenheiro de plataforma e destacar alguns dos desafios que as equipes de segurança de produtos devem conhecer.

O que faz um engenheiro de plataforma?

Os engenheiros de plataforma criam ferramentas e sistemas que permitem aos desenvolvedores trabalhar com autonomia nas organizações. Eles criam caminhos padronizados que permitem aos desenvolvedores abrir mão de algumas opções em troca de uma menor carga cognitiva, uma experiência mais simples e um ciclo de desenvolvimento de software mais enxuto. Sem o paradoxo da escolha e as curvas de aprendizado acentuadas, os desenvolvedores de aplicações conseguem se concentrar melhor em encantar seus clientes.

Os engenheiros de plataforma consomem um grande conjunto de componentes de infraestrutura complexos e fragmentados e oferecem, em troca, um conjunto menor de componentes mais simples e com menos recursos. Na prática, eles juntam peças de Lego para criar algo parecido com Duplo.

Quando isso é feito corretamente, os desenvolvedores de aplicações têm toda a personalização de que precisam para 80% do trabalho, sem precisar se tornar especialistas em infraestrutura.

Qual é a relação entre engenharia de plataforma e segurança?

Ao abstrair os detalhes da própria infraestrutura, os engenheiros de plataforma tomam decisões sobre como ela deve ser configurada desde o início. Essas decisões têm um grande impacto na postura de segurança da organização. É possível argumentar que falhas de design e configurações incorretas têm um impacto maior na postura do programa de segurança do que uma vulnerabilidade em uma aplicação. De fato, no relatório State of Cloud Native Application Security de 2021 da Snyk, descobrimos que 45% dos entrevistados tinham vulnerabilidades causadas por configurações incorretas.

Pense em todos os erros que podem ocorrer no design e na implementação de cada camada de uma plataforma interna de desenvolvimento típica:

  • Gerenciamento de aplicações: agentes de logging, CD, orquestração de contêineres, gerenciamento de segredos, replicação de imagens, backup e ciclo de vida de dados, compilação e armazenamento de artefatos

  • Computação para aplicações: clusters de contêineres, VMs, balanceamento de carga, certificados

  • Rede: DNS, redes isoladas, conectividade com a internet, regras de entrada e saída

  • Acesso: identidade, privilégios

E essa lista só aumenta quando você conversa com um engenheiro de plataforma. Agora, vamos ver alguns dos problemas que esses profissionais podem enfrentar.

É difícil proteger um conjunto cada vez maior e mais complexo de peças de Lego

O conjunto de componentes é grande e está crescendo. Cada componente se torna cada vez mais sofisticado. Os microsserviços também estão se transformando em SaaS, à medida que os clientes transferem componentes da arquitetura para fornecedores externos de software.

Os engenheiros de plataforma costumam ser generalistas, com conhecimentos mais aprofundados em algumas áreas. Eles enfrentam uma lacuna de conhecimento sobre vulnerabilidades de segurança semelhante à dos desenvolvedores de aplicações. No entanto, essa lacuna é mais variada e difícil de entender, pois muitas vezes depende de um conhecimento aprofundado dos serviços e das configurações de cada fornecedor.

Gerenciamento de mudanças complexo, agravado por práticas de teste ainda imaturas

Para os desenvolvedores de aplicações, os testes são bem compreendidos e amplamente praticados. Espera-se que os desenvolvedores escrevam testes para o próprio código e entendam as vantagens e desvantagens das diferentes estratégias de teste ao longo da pirâmide de testes. Por isso, o custo de integrar correções de segurança em aplicações é relativamente baixo: a organização pode confiar na maturidade dos testes para evitar regressões. Assim, muitas vezes, basta que a compilação seja bem-sucedida para integrar um patch de segurança.

A situação é diferente na engenharia de plataforma. A adoção da infraestrutura como código ainda avança lentamente nos diversos setores e dentro das empresas. Mesmo com esse requisito básico — o controle de versão —, as práticas de teste para mudanças na infraestrutura ainda não estão bem definidas. Como resultado, o risco de cada mudança é alto. Para piorar, nem todos os atributos de uma alteração de configuração têm o mesmo efeito. Algumas atualizações, remoções e inclusões de atributos acionam a substituição de recursos, o que pode ter sérias consequências para os recursos dependentes, as aplicações atendidas por eles e seus usuários.

Hoje, corrigir vulnerabilidades na infraestrutura custa mais. Os engenheiros de plataforma analisam cada mudança com apreensão, pois essa é a melhor forma que encontram de evitar problemas graves durante a implantação. Essa prática não é escalável, mas a comunidade ainda recente de engenharia de plataforma não definiu as melhores práticas.

O autoatendimento pode causar problemas na implantação

A engenharia de plataforma — ou plataforma como produto, como costuma ser chamada — consiste em oferecer um caminho padronizado para os usuários e permitir que os desenvolvedores trabalhem com autonomia. Algumas mudanças na plataforma são implementadas pelos próprios engenheiros de plataforma, incluindo alterações na configuração da infraestrutura nas instâncias da empresa. Outras, porém, dependem da adoção e instalação pelas equipes de desenvolvimento de aplicações, como novos charts do Helm, módulos do Terraform, orbs/plugins de implantação, bibliotecas de instrumentação e muitos outros itens.

A postura de segurança da organização muda entre essas versões. Atrasos nas atualizações de apenas algumas equipes podem criar desafios para todo o programa de segurança, sem que a equipe de segurança de aplicações saiba.

Resumo

Diante desses desafios, os engenheiros de plataforma precisam de ferramentas para identificar configurações incorretas no início do ciclo de vida de desenvolvimento de software (SDLC), além de ajuda para ir além dos testes e melhorar o design dos caminhos padronizados.

Os engenheiros de plataforma têm grande influência na postura de segurança de suas organizações e, de forma mais ampla, no mundo de software impulsionado por SaaS e por vários fornecedores. A adoção de boas práticas emergentes e os investimentos na maturidade das plataformas vão eliminar e reduzir riscos de segurança, além de permitir que os desenvolvedores de aplicações corrijam vulnerabilidades com mais rapidez e menor custo do que nunca.

Comece a participar de desafios de Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo sob demanda ao nosso workshop virtual introdutório.

Leia mais

Blog

Modelos de ponta encontraram as vulnerabilidades. Só o atacante encontrou as cadeias.

A análise estática encontrou as falhas, mas só os testes de ataque em aplicações ativas provaram como elas poderiam ser encadeadas para causar invasões. Uma comparação entre Evo COS, Claude Security e Claude Code Security.

feature insights context
Blog

Os ataques autônomos já chegaram. A defesa precisa acompanhar o ritmo.

Os atacantes autônomos estão reduzindo o tempo disponível para a defesa. Saiba como a descoberta, a correção, a validação e a prevenção contínuas ajudam as equipes de segurança a acompanhar esse ritmo.

Blog

Por que agentes de programação com IA continuam criando falhas de controle de acesso

Agentes de programação com IA podem gerar uma lógica de autorização que compila e passa pela revisão, mas permite que um tenant acesse os dados de outro. Saiba por que é difícil detectar falhas de controle de acesso e como evitá-las.