(Security) Como rodar testes SAST e Auditoria de código em Low Code ( Outsystems ⭕️ )

Diógenes Dauster
4 min readAug 23, 2022

--

Oi seus lindos, vamos falar um pouco de segurança dentro da plataforma, utilizando técnicas e software de mercado, pois esse é um dos principais tópicos que precisamos tomar cuidado quando tratamos de aplicações que usam dados sensíveis.

Eu participei da tech talk, para partner, a respeito de CI / CD em ambientes Outsystems, e uma das coisas que eu perguntei foi a respeito de segurança, a famosa sigla SEC no cultura DevOps. Então como criar uma esteira DevSecOps ? Eis algumas respostas que me foram esclarecida:

Entendendo alguns conceitos

Antes de mergulhar mais afundo sobre segurança, vamos entender um pouco de alguns conceitos, que irão nos guiar durante nossa jornada as terras seguras.

DAST

Dynamic application security testing ou DAST é uma forma de avaliar seu software de fora para dentro, verificando vulnerabilidade conhecidas e simulando ataques para encontrar falhas em tempo de execução ou seja com a aplicação rodando.

SAST

Static application security testing ou SAST é uma forma de avaliar seu software de dentro para fora, também verificando vulnerabilidades conhecidas dentro do seu código de forma estática ou seja olhando para sua linha de códigos/lib e etc.

Auditoria de código

Como próprio nome já diz, é uma forma de auditar seu código com métricas predefinidas, tais como segurança, performance, boas praticas e outras ou seja, é uma analise de qualidade do seu código, que te ajuda a ver além do alcance das coisas que em determinado momento deixamos para lá ou nem percebemos a medida que nossas aplicações crescem.

Ligando os pontos

Agora que já sabemos alguns conceitos básicos sobre segurança, é hora de desvendar isso dentro do Outsystems de forma simples e descomplicada.

Como vocês puderam ver na primeira imagem do chat, a qual perguntei sobre DAST e SAST que um dos responsáveis me respondeu que , poderia usar SonarQube para rodar meus testes SAST, contudo existe um pequeno segredo para que isso possa acontecer.

E esse pulo da gato é: usar ambientes On Premise (Ambientes privados onde o cliente Outsystems instala a plataforma em seus próprios servidores ). Pois precisamos do código estático gerado pela própria plataforma, após o deploy ou seja quando o Outsystems pega aquele teu OML em formato binário e transforma em código ASP.NET e cospe em uma pasta dentro do servidor. É nesse código que iriamos rodar as ferramentas SAST como SonarQube para verificar por possíveis vulnerabilidades.

Figura Ilustrativa de como seria esse processo de forma simples

Agora aprendemos como rodar testes SATS e deixar nossa aplicação ainda mais segura, é hora de analisar o código novamente utilizando : Auditoria de código.

Para isso vamos utilizar uma ferramenta SASS (Software as a Service) que a própria plataforma Outsystems disponibiliza, que é o famoso e queridinho do momento Architecture Dashboard, que fica a cargo de decodificar nossos OML e garantir se eles estão de acordo com as métricas que já havíamos mencionando antes.

Lembrando que o downtime dessa ferramenta é de 12 horas , contudo a equipe responsável está batalhando para diminuir esse tempo e torna possível no futuro proximo (assim espero) o trigger dessa solução (mas acredito que isso tera um custo, veremos). Com isso, agora sabemos como rodar testes SAST e auditar nosso código tornando nossas aplicações e desenvolvimento ainda mais seguro.

Recomendações

Caso você queria adicionar essas abordagens na sua pipeline, a sugestão é rodar em uma pipeline separada com foco apenas em segurança e criar os famoso ambiente de pre produção ou algo similar que serão ambientes de transição onde iram rodar essas ferramentas após o deploy.

Conclusão

Sim, é possível rodar ferramentas de segurança em ambientes low code, porém tem suas particularidades e configurações especificas assim como qualquer outra linguagem.

E optar por uma abordagem que permita adicionar mais camadas de segurança ao Outsystems além das que ele já possui é um forma de mostrar credibilidade para o seu negocio e assegura que os seus clientes estão protegidos.

Eiiiii me ajuda ai vai !? deixa uma palminhaaaa 👋🏻 e clica em seguir para mais conteúdos legais.

--

--

No responses yet