Marcos Santos

Analista de Sistemas Cyber Security DevSecOps

O que é SAST?

Muitas vezes me perguntam o que é SAST? E eu não sabia muito bem como explicar de uma meneira fácil para qualquer pessoa entender, pois bem, desde então procurei maneiras de explicar de fato o que seria o SAST, então surgiu o motivo para escrever esse texto

SAST em definição "Static Application Security Testing" ou seja é um teste estático de Aplicações, é o Scan daquele código que o desenvolvedor está fazendo, ou seja aquele código que está na IDE é um código estático e deve ser scaneado pelo SAST.

O SAST é uma metodologia de testes do tipo caixa branca, ou seja a análise é realizada de dentro para fora, de modo que a aplicação analisa as linhas de código ou o código já compilado para verificar as possíveis falhas de segurança no código fonte.

Um ponto importante de se mencionar é que o código fonte não é executado, apenas o fluxo é analisado, dessa maneira o SAST garante que verificou a aplicação e suas vulnerabilidades, e ao mesmo tempo garante que seu código e propriedade intelectual são mantidas em sigilo.

Atualmente temos diversos softwares que executam uma análise SAST, alguns deles de modelos diferentes, temos os OpenSource, os Profissionais e os Enterprise, as diferenças são: • OpenSource, são ferramentas gratuitas, que realizam SCAN's de linguagens limitadas, normalmente 1 ou 2 linguagens, dessa forma para pequenas empresas ou empresas que utilizam poucas linguagens tem um ótimo desempenho com ferramentas OpenSource como o OWASP Code Crawler para .NET e Java, OWASP WAP para PHP, dentre outras
• Profissionais, são ferramentas pagas, porém com valores menores onde empresas de médio e pequeno porte com uma diversidade pequena de linguagens tem desempenho satisfatório, temos alguns exemplos como, InsiderCLI com suporte para GOLang, Kotllin, Swift, .NET, C# e JavaScript
• Enterprise, são ferramentas pagas, porém com um valor acima das profissionais, essas ferramentas já possuem suporte para diversas linguagens de mercado, normalmente atendem empresas de grande porte com certa folga, se você tem um grande número de linguagens internas, ou diversos legados, as ferramentas ideias são as Enterprise, alguns exemplos são CheckMarx o líder de Mercado com suporte a mais de 20 linguagens e mais de 80 frameworks, Veracode, Synopsys, entre outras
• Temos muito mais aplicações que podem ser uteis e ajudar na escolha, verifique a linguagem que você utiliza e escolha a melhor, algumas sugestões estão no próprio site da OWASP onde eles públicam algumas ferramentas SAST e mostram se é OpenSource ou Pagas https://owasp.org/www-community/Source_Code_Analysis_Tools

Outro ponto que devemos nos atentar são as integrações, algumas ferramentas possuem integrações com CI/CD como AzureDevOps e Jenkins, ferramentas de Bug Tracking como Jira, repositórios como GitHub, GitLab, BitBucket, dentre outras, integrações como plug-ins para IDE, essas integrações não só facilitam como também agilizam o trabalho, então preste atenção nesses pontos para fazer sua escolha.

Agora que vocês entenderam o que é SAST é importante escolher a ferramenta que tenha as melhores características para o seu negócio, seja integrações linguagens suportadas ou se está desenvolvendo a aplicação é interessante um plug-in para realizar scan de forma automatizada, tudo isso é muito bom, mas o mais importante é garantir a segurança do seu código com a aplicação que melhor se adequa ao seu negócio.

Segurança é responsabilidade de todos.

Fontes: https://owasp.org/www-community/Source_Code_Analysis_Tools https://insidersec.io https://www.nova8.com.br/2020/07/17/o-que-e-sast-e-dast/