Montando um plano de batalha para a segurança de aplicações: edição Esqueceram de Mim
20 de dezembro de 2022
0 minutos de leituraA época de festas é perfeita para rever alguns dos nossos filmes favoritos! Enquanto algumas pessoas preferem filmes de Natal bem açucarados (estamos de olho em você, Hallmark), outras aproveitam a oportunidade anual para assistir a um menino de 8 anos se vingar de dois bandidos atrapalhados no clássico de 1990 Esqueceram de Mim.
É engraçado imaginar um garoto defendendo sozinho a própria casa de dois ladrões usando carrinhos em miniatura, um ferro de passar e várias outras armadilhas pastelão. Mas é muito mais provável que empresas precisem defender seu patrimônio (ou seja, suas aplicações) contra invasores. Adotar as medidas certas de segurança de aplicações talvez não seja tão divertido quanto queimar a cabeça de um bandido com um maçarico, mas, em muitos aspectos, pode se parecer com o “plano de batalha” de Kevin McCallister.
Então, no clima das festas de fim de ano, vamos traçar o melhor “plano de batalha” para manter invasores longe das suas aplicações.

Os “andares” da sua aplicação
O plano engenhoso de Kevin incluía armadilhas em todos os andares da casa — no porão, no térreo e no primeiro andar. No filme, ele precisou bolar estratégias para cada entrada e cada cômodo. Afinal, não dava para prever como Harry e Marv (os ladrões) tentariam entrar na casa nem o que fariam depois de conseguir entrar.
Da mesma forma, um bom plano de segurança de aplicações cobre todos os “andares” da sua aplicação — o código-fonte, a cadeia de suprimentos de software e a infraestrutura.
Kevin não só espalhou armadilhas engenhosas (e francamente perversas) por todos os andares da casa, como também planejou para que fossem interconectadas. Marv subiu uma escada coberta de piche e teve que tirar os sapatos. Assim, ficou na posição perfeita para pisar em um prego (arrepiante!). Harry foi direto contra um plástico coberto de cola e, em seguida, tropeçou em um ventilador que jogou um monte de penas nele. Elas ficaram grudadas na cola! As pegadinhas de Kevin funcionaram perfeitamente em conjunto.
Assim como as armadilhas de Kevin, os elementos do seu plano de segurança de aplicações precisam funcionar em conjunto. Tudo o que acontece em um “andar” da aplicação precisa estar conectado aos esforços de segurança nos outros “andares”. Hoje, isso significa integrar os esforços de segurança no código-fonte — próprio e de código aberto —, além da infraestrutura em nuvem e dos contêineres. Vamos ver como é cada um desses “andares”.
Andar 1: Código-fonte
O bom e velho código-fonte desenvolvido internamente é o nível mais básico da sua aplicação. E, se não for escrito com a segurança em mente, pode se tornar uma porta escancarada para invasores.
Mas sua equipe de segurança não pode estar em todos os lugares ao mesmo tempo. Por isso, é preciso automatizar algumas partes do plano de batalha. Assim como Kevin usou fios de tropeço para acionar armadilhas automaticamente, sua equipe pode recorrer a testes estáticos de segurança de aplicações (SAST) automatizados para encontrar e corrigir código inseguro. Para proteger o código-fonte, são necessários dois passos: realizar testes estáticos de segurança de aplicações (SAST) regularmente e capacitar seus desenvolvedores nas melhores práticas, para que possam escrever código seguro desde o início.

Andar 2: Cadeia de suprimentos de software
O segundo “andar” da sua aplicação é a cadeia de suprimentos de software: as partes que são montadas, e não desenvolvidas do zero, como imagens-base de contêineres e componentes de código aberto. Mas corrigir problemas de segurança na cadeia de suprimentos de software exige recursos especializados. Você precisa de uma ferramenta criada para detectar vulnerabilidades específicas de contêineres e de outra que identifique os riscos do código aberto. As duas também precisam indicar com clareza como corrigir os problemas, por exemplo, voltando para a versão mais segura do componente.

Andar 3: Infraestrutura
Para criar uma estratégia completa de segurança de aplicações, você precisa considerar os elementos estruturais da aplicação, como o ambiente de nuvem e a infraestrutura como código (IaC). Quais serviços de nuvem você usa para armazenamento? Eles estão configurados corretamente, com as permissões e os controles de acesso adequados, ou podem expor sua aplicação a riscos? E seu código IaC está escrito de forma segura, assim como o código-fonte?
Proteger a infraestrutura da sua aplicação exige uma abordagem contextual. Afinal, seu ecossistema de nuvem não existe isoladamente. A forma como ele é usado depende muito da sua IaC.

Unindo todas as partes do plano de batalha
Todas essas ferramentas são úteis por si só, mas chamamos isso de “plano”, e não de “planos”, por um motivo! Se você não criar uma estratégia para alinhar todos esses esforços de segurança separados, vai perder o contexto completo das vulnerabilidades encontradas. Ferramentas desconectadas também dificultam a colaboração entre desenvolvedores, profissionais de segurança e arquitetos de nuvem nos esforços para proteger sua aplicação.
A Snyk enfrenta esse desafio com uma plataforma centralizada que cobre cinco áreas de segurança: código-fonte, código aberto, contêineres, nuvem e IaC. Também oferecemos treinamento para desenvolvedores, colocando o poder nas mãos de quem mais conhece essas áreas: as equipes de desenvolvimento. Saiba mais sobre nossa plataforma de segurança para desenvolvedores. Mas não se preocupe — se quiser fazer uma pausa para ler e assistir a _Esqueceram de Mim_, estaremos aqui quando você voltar!

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.
