Qual é a diferença entre as ferramentas SAST e SCA?
No universo DevOps fala-se de ferramentas do tipo SAST e SCA, a verdade é que são dois tipos diferentes de tecnologias e não podem ser comparadas. Aqui estão algumas definições e diferenças:
Teste de Segurança de Aplicação Estática (SAST)
O SAST (Static Application Security Testing) é uma ferramenta de teste de segurança. O seu principal caso de utilização é para relatar questões de segurança e qualidade em código fonte estático.
Análise da Composição do Software (SCA)
SCA (Software Composition Analysis) identifica componentes e riscos de código aberto (vulnerabilidades, arquitectura, licenciamento, etc.).
A SCA suporta ambientes de desenvolvimento mais modernos, onde os criadores adquirem software de uma cadeia de fornecimento a montante. O seu principal caso de utilização é o desenvolvimento do fluxo de trabalho de conformidade e gestão de dependência.
Diferenças entre SAST e SCA:
- As ferramentas SAST requerem acesso aos ficheiros-fonte, e em alguns casos as organizações já não têm acesso ao código fonte e se o tiverem, não podem ser compiladas porque faltam bibliotecas chave. Por conseguinte, um problema não pode ser remendado se não estiver representado no código.
- 85% das aplicações modernas são compostas de código aberto, o que indica que, ao utilizar ferramentas SAST, estão a deixar a maior parte da aplicação por analisar.
As ferramentas SCA analisam ficheiros e binários, o que proporciona uma maior cobertura para uma aplicação. - Permite aos programadores seleccionar uma melhor versão de código aberto que esteja em conformidade com a política e foi também concebida para funcionar num ambiente DevSecOps.
- As ferramentas SAST encontram vulnerabilidades no início do ciclo de desenvolvimento, enquanto as ferramentas SCA proporcionam uma monitorização contínua da vulnerabilidade em cada fase do SDLC (Systems Development Life Cycle).
- Para obter uma cobertura completa do SDLC, as ferramentas SAST devem ser agrupadas com outras ferramentas tais como DAST e IAST para criar uma solução abrangente. Em essência, SCA é uma solução de ponta a ponta que fornece uma cobertura contínua de código aberto para todo o SDLC.
- Se o código for mal configurado, a digitalização da ferramenta SAST resultará num grande número de falsos positivos. As ferramentas SCA são conhecidas por funcionarem rapidamente, pelo que são adequadas para libertar uma baixa taxa de falsos positivos.
- Comparar SCA com SAST é como construir uma casa: SCA é análogo a apresentar planos para uma licença de construção, enquanto SAST é como fazer uma inspecção da casa uma vez construída.
O que é melhor para a minha organização?
SAST e SCA são realmente dois tipos diferentes de tecnologias e não podem ser comparadas uma com a outra. O que descobrimos ao trabalhar com clientes é que estes tendem a começar com SCA porque a maior parte do seu trabalho é open source, e já criaram algum tipo de política de open source, quer aprovações manuais ou uma abordagem antes de iniciar a sua viagem DevSecOps.
SCA é ideal para aqueles que estão concentrados em tomar decisões holísticas sobre as bibliotecas de terceiros que compõem as suas aplicações, em vez de questões individuais como muitas ferramentas S/D/I-AST. A SCA acelera o tempo para a inovação ao automatizar processos manuais de governação de código aberto propensos a erros (ou seja, aplicação de políticas) e acrescenta contexto e sensibilização em torno da segurança das aplicações.
O resultado final: não há uma resposta única, mas a melhor prática é escolher a melhor solução SCA ou SAST. Uma que fornece cobertura de ponta a ponta, quer trabalhe com código fonte ou com código aberto.
A Sonatype concentra-se na automatização da governação de código aberto em todas as fases do SDLC com precisão para eliminar falsos positivos.
Fonte: Blog Sonatype.