O gerenciamento de dependências visa tornar a segurança mais fácil

Views: 710
0 0
Read Time:4 Minute, 43 Second

Com o código-fonte aberto representando cerca de 80% do aplicativo médio, os profissionais de segurança de aplicativos estão incentivando os desenvolvedores a criar pipelines que coloquem a segurança da cadeia de suprimentos de software na frente e no centro.

A busca por mais clareza sobre a segurança de componentes de código aberto está impulsionando a introdução de ferramentas que vão além da análise de composição de software (SCA) e análise estática para dar às empresas uma melhor visibilidade da composição de seus programas. Uma área para prestar mais atenção são as dependências usadas para criar aplicativos. Em 10 de outubro, um grupo de especialistas em segurança de aplicativos desfez o Endor Labs, uma startup que visa fornecer uma variedade de recursos que se concentram no gerenciamento de dependências e ajudam a reduzir a superfície de ataque representada pela vasta rede de componentes que compõem o aplicação típica.

As abordagens atuais podem retornar dezenas de milhares de possíveis problemas de segurança, muitos dos quais são falsos positivos e apenas 10% ou 20% podem realmente ser usados ​​pelo aplicativo, diz Varun Badhwar, cofundador e CEO da Endor Labs.

“Acontece que 80 a 90% dessas vulnerabilidades relatadas, embora existam na própria versão do pacote, não se aplicam a você porque seus desenvolvedores não estão usando esse código”, diz ele. “Você pode ter algum componente com 10.000 linhas de código e seus desenvolvedores estão chamando apenas 200 linhas porque estão usando uma única função.”

Algumas pesquisas colocaram a estimativa de bugs atacáveis ​​em apenas 3% .

O problema da cadeia de suprimentos de software

A Endor Labs é a mais recente empresa a lidar com a segurança da cadeia de fornecimento de software. Em março, a Sonatype, fornecedora de ferramentas de segurança da cadeia de suprimentos de software, introduziu mais recursos para a visualização de árvores de dependência para rastrear vulnerabilidades até os componentes que as introduziram. E há um ano, um grupo de ex-funcionários do Google iniciou a Chainguard , que se concentra em toda a cadeia de suprimentos de software, incluindo gerenciamento de ativos, gerenciamento de vulnerabilidades e integridade de software. Outras empresas – Anchore, Snyk, Synopsys e Veracode, para citar algumas – fizeram movimentos recentes para atender melhor a cadeia de suprimentos de software também.

O objetivo é que os desenvolvedores adotem processos e ferramentas que enumerem as dependências em seus aplicativos, detectem vulnerabilidades nesses componentes e obtenham informações sobre a confiabilidade dos mantenedores e projetos, diz Dan Lorenc, CEO e cofundador da Chainguard.

“Temos ataques acontecendo em todos os pontos da cadeia de fornecimento de software, desde a forma como o código é construído, sua implantação, como é executado e, em seguida, empacotado e enviado aos usuários finais”, diz ele. “Como a segurança da cadeia de suprimentos de software cobre todo o ciclo de vida do desenvolvimento, não é como outras áreas de segurança onde soluções pontuais podem resolvê-lo.”

Atualmente, os desenvolvedores tendem a criar seu código e, em seguida, verificar vulnerabilidades, descobrindo apenas componentes mal codificados muito depois de tomarem a decisão de usar o código. O software de código aberto normalmente compõe de 70% a 90% do código incluído em aplicativos Web e em nuvem, e o aplicativo médio requer dezenas de dependências, enquanto os aplicativos JavaScript têm em média mais de 500 dependências .

Adicionando visibilidade

As ferramentas atuais fornecem pouco valor ou entrada no processo de seleção do desenvolvedor, portanto, as equipes de desenvolvimento precisam de mais visibilidade dos componentes que compõem suas cadeias de suprimentos, diz Badhwar, da Endor Lab.

“Vamos ser honestos – o melhor amigo de um desenvolvedor hoje é o Google”, diz Badhwar. “Se um gerente de produto chega a um desenvolvedor e diz: ‘Construa-me o recurso X’, uma das primeiras coisas que o desenvolvedor faz é ir ao Google e procurar um pacote ou uma dependência que acelere seu desenvolvimento.”

Alguns desenvolvedores podem ir tão longe a ponto de olhar para o número de estrelas do GitHub – usando a popularidade do pacote como um proxy para confiabilidade – e podem até ler sobre o software nos fóruns de discussão do HackerNews, Reddit ou StackOverflow, diz ele.

O Endor Labs expande o processo de gerenciamento de dependências no pipeline de DevOps das empresas e até mesmo no IDE do desenvolvedor, fornecendo aos desenvolvedores e às equipes de segurança de aplicativos informações sobre a segurança dos componentes. A plataforma também permite que as equipes de segurança de aplicativos definam políticas que serão aplicadas durante o processo de seleção, diz Badhwar.

A abordagem ajuda as empresas a ir além de seu foco em listas de materiais de software (SBOMs). Como as agências governamentais exigem as informações, os manifestos de software decolaram à medida que os fabricantes de software cumprem os regulamentos.

No entanto, embora os SBOMs sejam um passo útil no caminho para mais software de segurança, eles são gerados no final do ciclo de lançamento do aplicativo, de modo que não ajudam a gerenciar o risco, diz Brian Fox, cofundador e diretor de tecnologia da Sonatipo.

Em vez disso, as organizações precisam de recursos para gerenciar com eficácia o ciclo de vida das dependências, começando do lado esquerdo, onde os desenvolvedores selecionam novas dependências, diz ele.

“É somente com uma profunda compreensão organizacional de sua lista geral de materiais que você pode armar melhor seu software para a próxima divulgação de dia zero”, diz Fox. “Nossos dados mostram que as organizações que gerenciam ativamente suas cadeias de suprimentos têm resultados e tempos de resposta dramaticamente melhores do que aquelas que não o fazem.”

FONTE: DARK READING

POSTS RELACIONADOS