Shift left: dicas, benefícios e boas práticas desta estratégia

Gestão de TI

Shift left: dicas, benefícios e boas práticas desta estratégia

Renê Chiari
Escrito por Renê Chiari
Faça parte de nossa comunidade

Entre para nossa lista VIP e receba conteúdos exclusivos e com prioridade sobre ITIL4 e gerenciamento de serviços

Talvez você já tenha lido muito sobre segurança e desenvolvimento por aí. Talvez você até mesmo saiba que é importante, ainda mais hoje em dia, unir esses dois pólos ao criar uma aplicação. A cibersegurança deve ser um dos pilares de qualquer produto digital — e não somos nós que afirmamos isso, mas os dados. É justamente aí que o conceito de shift left entra.

Mas espere um pouco, o que é shift left e o que ele tem a ver com segurança no desenvolvimento de aplicações?

Nós vamos explicar.

Antes, porém, é importante entender o cenário. Lembra que mencionamos dados, pouco acima? Pois bem: segundo uma pesquisa da Palo Alto Networks, 75% das vulnerabilidades encontradas nos últimos anos tiveram como origem os aplicativos.

Você já deve ter ouvido falar que uma aplicação mal desenvolvida é a porta de entrada de para vírus e ameaças. Então, considere como verdade.

Os motivos são muitos. Em geral, o ritmo frenético de desenvolvimento dos últimos anos, bem como a separação de devs com o setor operacional, dificultou o estabelecimento de metas condizentes.

Em muitos casos, mais importava ter uma aplicação finalizada que, propriamente, pronta — em todos os seus níveis, do código, ao design e também a segurança.

Para mudar esse cenário, junto de outros métodos, nasceu também o shift left. A estratégia inovadora pretende incrementar o ciclo de desenvolvimento e implementação, incorporando a segurança em cada etapa produtiva.

Quer entender mais? A gente explica mais além no conteúdo. Confira!

Ei, e se você quer realmente compreender o que norteia o mundo da Segurança da Informação, conheça também a certificação ISO 27001 e aprenda aumentar a segurança das suas informações!

O que é a estratégia de segurança shift left?

Desde o princípio do desenvolvimento de softwares, imagina-se que o fluxo produtivo e de implementação siga uma orientação horizontal — uma linha do tempo, da esquerda para a direita.

O começo é na ponta esquerda, com o planejamento da aplicação. O último passo, na ponta direita, é a operacionalização e o monitoramento.

De certa forma, hoje em dia, esse processo tem um teor mais cíclico, mas ainda seguindo tal orientação. É o chamado de CI/CD (Continuous Integration, Continuous Delivery), que originou-se da implementação da metodologia DevOps nas empresas.

Veja a imagem para entender:

Ciclo CI/CD
Imagem de: https://blog.paloaltonetworks.com/2019/07/4-practical-steps-shift-left-security/


São cerca de 8 etapas e os times de segurança, bem como seus testes, geralmente começam a ser realizados nos últimos 2 passos (Operações e Monitoramento).

Acho que já deu para entender o “shift left” quer dizer, não é?

Ou seja, em vez de pensar na segurança das aplicações apenas no final do seu desenvolvimento, “trazer” esse pensamento mais para a esquerda do fluxo de desenvolvimento, nos seus estágios iniciais.

Qual a importância de reforçar a segurança na criação de softwares?

A resposta para essa pergunta se divide em dois campos distintos: os impactos para a desenvolvedora e os impactos para o usuário.

Comecemos pelo último: no caso do usuário, obviamente, uma aplicação mais segura significa que seus dados — ativos de enorme importância — estarão a salvo de ameaças diversas.

Já para a empresa, significa menos dores de cabeça na manutenção e correção de bugs

Como shift left atua no teste de softwares e sistemas?

Há algumas aplicações específicas do shift left. No entanto, alguns autores defendem mesmo que os testes e verificações de segurança devem ser feitos a cada etapa do desenvolvimento. Ou seja, um complemento que valide cada avanço no projeto.

Como shift left atua no teste de softwares e sistemas? Teste em cada etapa do desenvolvimento.
Ilustração de: https://danashby.co.uk/2016/10/19/continuous-testing-in-devops/ 

Trata-se, de forma simples, do mesmo processo de teste do software ou sistema que seria realizado posteriormente no desenvolvimento. 

No caso do shift left, com foco no que já foi feito até o momento, do planejamento até a entrega da aplicação ou sistema.

Tipos de testes shift left

Além do tipo citado acima, no mercado há 4 tipos estabelecidos de metodologias shift left. São elas:

  • Shift-left tradicional: O foco dos testes está mais nas etapas de testes de unidade (unit testing) e testes de integração (com API, etc). É considerada um shift left “leve”.
  • Shift-left incremental: Indicado para aplicação em projetos bem complexos, com vários incrementos e entregas aos usuários.
  • Agile/DevOps shift-left: Neste modelo shift left, os testes são realizados em sprints recorrentes durante o desenvolvimento (e não tanto na parte operacional).
  • Model-based shift-left: Este tipo tem um approach diferente: os testes ocorrem a cada vez que uma etapa de desenvolvimento (design, arquitetura, coding) é finalizada — ou seja, sem que o projeto esteja pronto.

Benefícios do shift left

Benefícios do shift left

A adoção de uma estratégia shift left pode ser o diferencial que faltava para que sua empresa entregue softwares, aplicações e sistemas com máxima qualidade.

Sem incomodar o usuário e nem ter que dedicar todo tempo da equipe de suporte e desenvolvimento na resolução de erros básicos — que muitas vezes poderiam ter sido analisados lá atrás, nos estágios iniciais do projeto.

E tudo isso, claro, impacta no seu bolso.

Uma pesquisa da IBM descobriu que implementar uma visão mais voltada à segurança já na etapa de design de uma aplicação pode ser até 6 vezes mais barato que fazê-lo apenas na etapa de implementação.

E se a sua empresa for daquelas que costuma verificar a segurança só na etapa de teste, cuidado: os gastos podem ser até 15 vezes maiores.

Dicas e Boas Práticas

Cada empresa costuma possuir um processo específico para seus testes e verificações de segurança. No entanto, ao implementar o shift left, algumas boas práticas são sempre bem-vindas:

Defina uma estratégia de segurança shift-left

Entenda quais os seus objetivos com essa estratégia, descrevendo em um documento sua visão, responsabilidades, métricas e tudo que importar para a segurança da aplicação.

Entenda o ciclo de desenvolvimento da sua organização

Documente também todo fluxo de desenvolvimento atual, procurando destrinchar as etapas, responsáveis e ferramentas. Com isso, é possível desenhar um melhor approach ao seu shift left!

Implemente diretrizes de qualidade e de segurança

Uma vez que o seu shift left está definido, procure criar e implementar diretrizes de qualidade e segurança. Elas devem guiar o desenvolvimento desde sua origem. Lembre-se também de sempre ouvir feedbacks e buscar por ferramentas efetivas para auxiliar nesse controle!

Garanta que seus desenvolvedores saibam criar códigos seguros

Por fim, o desenvolvimento seguro passa também (e principalmente) pela correta criação de códigos — que sigam as diretrizes impostas. Por mais que não pareça, é possível que seus profissionais simplesmente não estejam familiarizados com esse fluxo de produção, o que abre brechas de segurança.

Shift left: Garanta que seus desenvolvedores saibam criar códigos seguros

Conclusão

É claro que o ritmo e a demanda moderna exigem fluxos de desenvolvimento ágeis. Metodologias inteiras foram criadas com isso em mente, vide todos os conceitos do Agile Development.

No entanto, esse não deve ser um motivo para que as empresas releguem o fator segurança.

Com o avanço tecnológico, as ameaças ganharam corpo e se tornaram, acima de tudo, mais prejudiciais. Para os desenvolvedores, cabe fazer de tudo para blindar seus produtos e entregar aos usuários a melhor e mais segura solução.

E se tudo isso puder ser feito com organização, acarretando não em um aumento de custos, mas na diminuição deles, potencializando resultados? São as vantagens do Shift Left!

Agora, que tal complementar as suas leituras sobre o tema de segurança e desenvolvimento e entender O Poder das Certificações no mundo da TI? Baixe o nosso e-book gratuito!

Opa,

o que você achou deste conteúdo? Conte nos comentários.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Sobre

Rene A. Chiari Tecnologia da Informação ME / ITSM na Prática.

Av. Melchert, 37 – Chácara Seis de Outubro – São Paulo/SP.

CNPJ: 25.072.324/0001-66

Todos os direitos reservados. Termos de uso.

 

Fale Conosco

contato@itsmnapratica.com.br