Retrospectiva do 2º trimestre de 2020 — relatório sobre o estado da segurança do código aberto, DevSecOps Hub e mais
29 de dezembro de 2020
0 minutos de leituraOntem, relembramos alguns dos posts que publicamos em janeiro, fevereiro e março de 2020. Lembra daquela época em que podíamos viajar e nos abraçar, encontrar amigos sem preocupação em bares e escritórios e socializar sem precisar usar o Zoom? Pois bem, neste post vamos conferir o que publicamos em abril, maio e junho. Vamos começar com um guia que todo desenvolvedor deveria ler e consultar.
VEJA TAMBÉM: Retrospectiva do 1º trimestre de 2020 — relatório sobre o ecossistema JVM, insights de DevSecOps e mais
Abril de 2020: Revisão de segurança de código: 8 boas práticas para revisar código em busca de problemas de segurança
Neste guia, Brian Vermeer e Trisha Gee apresentam 8 ótimas dicas para levar em conta ao revisar o código de outra pessoa. Na verdade, elas também são muito úteis na hora de escrever código. Por isso, antes mesmo de enviar seu pull request, avalie seu próprio trabalho com base nesses critérios!

Três boas práticas do guia que quero destacar são sanitizar as entradas, testar suas dependências de código aberto e, é claro, verificar se há problemas de segurança conhecidos no seu próprio código-fonte. Sanitizar as entradas é fundamental no seu código, mas nós, desenvolvedores, muitas vezes deixamos isso para outras pessoas ou presumimos que ninguém tem más intenções, pois só queremos fazer o caminho feliz funcionar. É importante que os desenvolvedores mudem de perspectiva e considerem que usuários podem tentar injetar dados ou atacar maliciosamente a aplicação de qualquer maneira possível por meio das entradas.
Testar estaticamente sua aplicação e também as dependências de terceiros é essencial para identificar onde vulnerabilidades conhecidas em bibliotecas e frameworks existentes ficam expostas pela aplicação e onde seu código personalizado introduz falhas de segurança. Com ferramentas gratuitas como o Snyk, que testa sua aplicação rapidamente no ambiente de IDE, nos repositórios e em vários outros lugares, não há mais desculpa para deixar de fazer isso.
Maio de 2020: Snyk lança o DevSecOps Hub
Em maio, Alyssa Miller lançou o DevSecOps Hub, uma coleção de artigos e conhecimentos reunidos por Alyssa, Patrick Debois e Francois Raynaud sobre alguns dos conceitos fundamentais do movimento DevSecOps. O Hub apresenta esses conceitos com uma abordagem familiar de Pessoas, Processos e Tecnologia, evitando o foco excessivo em ferramentas que às vezes domina as discussões sobre DevSecOps.
Pessoas -Embora muitos especialistas da Snyk pudessem compartilhar suas opiniões, queríamos incluir também aprendizados de toda a comunidade DevSecOps. Participantes do The Secure Developer Podcast contam ao nosso fundador, Guy Podjarny, histórias sobre seus sucessos e aprendizados ao lançar ou expandir sua abordagem de DevSecOps. Para levar essas informações valiosas até você por meio do DevSecOps Hub, incluímos a seção Compartilhe a jornada.
Processos - É sempre importante definir claramente os processos para que todos saibam o que fazer, quando fazer e quem deve fazer. Estabelecer responsabilidade e prestação de contas compartilhadas são temas fundamentais abordados nesta seção.
Tecnologia - Nesta seção, destacamos os principais recursos que devem fazer parte de qualquer pipeline e como as organizações podem adaptar abordagens padrão à sua própria estrutura. Como parte desse foco, o Hub apresenta destaques de tecnologias. Cada um deles explora uma ferramenta ou tecnologia específica que pode ajudar a sustentar o pipeline de DevSecOps. Também oferecemos uma lista de boas práticas para essas ferramentas, com orientações práticas para implementar as tecnologias.
Junho de 2020: O estado da segurança do código aberto em 2020
Em junho, Alyssa Miller escreveu nosso relatório anual sobre o estado da segurança do código aberto. Como sempre, o relatório revelou insights muito interessantes sobre a adoção e o uso do código aberto atualmente. A primeira estatística apresentada é sobre quem é responsável pela segurança: 85% dos usuários acreditam que os desenvolvedores são responsáveis pela segurança do código aberto. Isso reforça a visão da Snyk de que as ferramentas de segurança precisam priorizar os desenvolvedores. Essa estatística é muito importante à medida que avançamos para 2021, quando cada vez mais desenvolvedores não apenas escrevem código de aplicações, mas também precisam manter e dar suporte a arquivos de contêiner e configurações de infraestrutura como código. Esses artefatos precisam não apenas ser criados e mantidos, mas também tratados com segurança, para que você não seja a próxima pessoa nas notícias por uma invasão a um bucket inseguro do Amazon S3. Mais adiante, o relatório mostra que mais de 30% dos participantes da pesquisa não revisam manifestos do Kubernetes em busca de configurações inseguras. Ao assumir a responsabilidade por aplicações modernas nativas da nuvem, os desenvolvedores precisam considerar as ameaças em cada um dos pontos mencionados e contar com uma plataforma de segurança de aplicações nativas da nuvem que atenda às suas necessidades.
Curiosamente, apenas 15% dos entrevistados implementam programas de security champions. Esses programas capacitam pessoas das equipes de engenharia, chamadas de security champions. Em geral, elas recebem formação da equipe de segurança, além de participar de outros programas internos e externos de treinamento. Desenvolver as habilidades dos desenvolvedores dissemina o conhecimento de segurança e pode aprimorar muitas boas práticas de desenvolvimento e revisões de código, além de incorporar a segurança de forma muito mais natural à etapa de design. Pessoas e cultura são sempre os aspectos mais difíceis de mudar em transformações como DevOps ou DevSecOps, por isso é importante enfrentar o problema diretamente. Em conversas com muitos clientes e usuários da Snyk, sempre vimos organizações que criam programas de segurança nas equipes de engenharia terem muito sucesso na adoção e na execução de práticas de segurança. Então, considere essa possibilidade!
Mais uma vez, alguns posts não entraram na lista, mas merecem uma menção honrosa. Entre eles está o plugin Vuln Cost, uma ótima ferramenta gratuita de testes de segurança, integrada diretamente ao VS Code. Ela oferece uma excelente experiência para desenvolvedores, mostrando vulnerabilidades no próprio código! Também abordamos a divulgação de uma vulnerabilidade na popular biblioteca npm is-promise, com uma análise pós-incidente sobre o que aconteceu e o que podemos aprender com o caso. Por fim, em maio, integramos o Snyk ao popular WebPageTest! Essa integração adiciona testes de segurança aos excelentes resultados de desempenho que o WebPageTest já oferece.
Obrigado pela leitura! Na próxima vez, vamos conferir os posts que publicamos no terceiro trimestre de 2020.
