Onde podemos realmente usar DevSecOps?

The-Role-of-People-in-DevSecOps
Compartilhar no facebook
Compartilhar no linkedin
Compartilhar no twitter
Compartilhar no whatsapp
Sobre o autor: Guilherme Teles é um cara qualquer que não dorme direito e acaba escrevendo. Sou Certificado CISSP, CHFI, CEH, LPIC-3, AWS CDA, AWS SAA, AWS SOA Quer assinar a newsletter do site e receber esse e outros artigos? Clique aqui! Aproveite e navegue pelo smeu blog. Quem sabe você não está exatamente precisando de uma ajuda ?  

O DevSecOps é ótimo em teoria. Mas onde esta abordagem faz mais sentido?

O DevOps é amplamente adotado, pois encurtou o ciclo de vida de desenvolvimento de software e aplicativos, combinando operações de TI e desenvolvimento de software. Com o DevOps incorporado em muitas organizações, eles estão lançando softwares, recursos e atualizações mais rapidamente do que nunca e com maiores mudanças.

Isso significa que há sérios desafios na aplicação e escalonamento de testes de segurança nesses processos sem diminuir drasticamente o tempo gasto para essas liberações. Portanto, a segurança no DevOps não foi adotada de forma tão eficaz quanto o próprio DevOps.

A introdução de verificações de segurança no início do processo de desenvolvimento é crucial para uma segurança eficaz. Embora muitas empresas concordem que a introdução de segurança no início do ciclo de vida de desenvolvimento é importante, poucas realmente o fazem.

Apesar do risco de perder as ameaças de segurança desde o início e a dor de cabeça do retrabalho, acrescentando a segurança ao processo de desenvolvimento de aplicativos muito tarde, muitas empresas continuam a incorporar a segurança muito tarde no ciclo de desenvolvimento.

A principal razão é que adicionar segurança geralmente desacelera o ciclo de desenvolvimento e reduz a velocidade e a frequência com que o software, as atualizações e as correções são liberadas. No entanto, nesses ambientes dinâmicos, é importante entender e implementar as melhores práticas de segurança para permanecer relevante e aplicar as ferramentas de segurança mais recentes para manter os aplicativos seguros e sem diminuir o ciclo de vida de desenvolvimento do aplicativo.

É aí que entra o DevSecOps.

Embora a segurança reduza as versões de software, ela continua sendo essencial, pois os benefícios superam em muito o risco de uma violação de segurança.

A implementação do DevSecOps não apenas reduz o risco, mas também economiza retrabalho e tempo, introduzindo segurança no início do processo de desenvolvimento. Isso é feito usando ferramentas de segurança que podem ser automatizadas e integradas desde o início, especialmente durante o commit do código e o estágio de pré-implementação.

Isso garante que os benefícios do DevOps, como o rápido desenvolvimento de aplicativos e o lançamento de recursos, sejam realizados sem comprometer a segurança.

O DevSecOps visa criar novas soluções para o processo de desenvolvimento de software dentro de um framework ágil. O DevSecOps une objetivos aparentemente conflitantes, o da segurança e a entrega rápida. Isso é feito em iterações sem desacelerar os ciclos. Isso significa que os problemas de segurança são identificados quando são encontrados e não apenas após a ocorrência de uma ameaça.

Com o DevSecOps em uso, as empresas podem usar as ferramentas e o suporte certos para manter a velocidade dos lançamentos de seus produtos, diminuir os riscos, reduzir o retrabalho e outras correções.

DevSecOps visa medidas de integração de segurança com DevOps sem abrandar o ciclo de desenvolvimento.

O que significa usar o DevSecOps?

O que isso significa quando se trata de aplicar praticamente DevSecOps? Para entender os usos e aplicações do DevSecOps, é necessário ter uma ideia abrangente do que o DevSecOps realmente é. À primeira vista, a explicação mais óbvia do DevSecOps é simplesmente a adição de medidas de segurança às ferramentas e práticas atuais do DevOps. No entanto, o DevSecOps é uma jornada muito mais complexa que abrange as pilhas de rede, o código do aplicativo, a infraestrutura e até as pessoas. Para entender os usos do DevSecOps, é útil entendê-lo como tendo três abordagens principais.

Tecnologia: refere-se às ferramentas e soluções DevSecOps reais usadas para adicionar segurança ao ciclo de desenvolvimento de software e aplicativo

Metodologia: trata-se de quando e como aplicar segurança ao DevOps

Pessoas e Filosofia: DevSecOps começa com o envolvimento de pessoas e com uma mentalidade filosófica onde as equipes de desenvolvimento assumem mais responsabilidade pela segurança

Tecnologia e DevSecOps

O estado atual das soluções para o DevSecOps ainda está em fase de crescimento. Uma das abordagens da tecnologia DevSecOps é simplesmente adaptar as ferramentas de segurança existentes e fazer modificações apropriadas e aplicá-las às novas tecnologias de DevOps, como containers, tecnologia de nuvem e sem servidor. Isso é simplesmente adaptar soluções de segurança existentes para novas pilhas. Embora isso funcione para algumas soluções, é, no entanto, uma resposta superficial à necessidade de novas soluções DevSecOps.

Um exemplo para adaptar as soluções de segurança existentes para a nova tecnologia de DevOps pode ser retirado da Trend Micro, que lançou novas atualizações que oferecem segurança para DevOps, mas ainda dependem de seus produtos existentes.

As soluções DevSecOps da Trend Micro fornecem soluções de segurança para nuvens e contêineres. A empresa acrescentou recursos como descoberta automatizada e proteção para cargas de trabalho na nuvem em provedores de nuvem. Outro recurso é a varredura de imagem integrada em pipelines de DevOps com varredura contínua de ameaças e vulnerabilidades. Isso permitiu a escalabilidade e agilidade com scripts de implantação e APIs para ambientes importantes.

A Trend Micro também oferece recursos que suportam o uso de contêineres. Os contêineres permitem que os aplicativos sejam executados sem problemas em qualquer ambiente, no data center ou na nuvem. Eles ajudam a fornecer aplicativos de maneira mais rápida e consistente, atendendo ao que os clientes realmente precisam. A desvantagem da flexibilidade de velocidade e ambiente é que isso cria complexidade de infraestrutura. Isso está sujeito a severas conseqüências de segurança se elas não forem resolvidas antecipadamente.

A Trend Micro ajuda a proteger contêineres por meio de monitoramento contínuo, que é integrado no início do processo de desenvolvimento. A automação reduz os pontos de contato manuais e, quando inserida na manutenção e na operação da infraestrutura subjacente, detecta vulnerabilidades e ameaças antecipadamente. Estes são alguns exemplos de adoção de uma solução de segurança existente para a tecnologia DevOps, aplicada em um contexto de segurança tradicional.

Embora a adoção de medidas de segurança mais antigas para os modernos pipelines de DevOps seja aceitável, ela não pode funcionar para todos esses pipelines de maneira eficaz. Surgirão gargalos que só podem ser resolvidos com a criação de novas soluções na sua totalidade. Essas novas soluções podem atender às novas necessidades de segurança introduzidas pela adoção do DevOps. Muitas organizações existentes podem achar difícil criar novos produtos. No entanto, é uma excelente oportunidade para startups pequenas e flexíveis.

O CloudCheckr é um exemplo de uma empresa que oferece novas soluções inteiras para atender às necessidades de segurança colocadas pelo DevOps. O CloudCheckr integrou configurações de segurança e monitoramento de atividades para ambientes com várias nuvens. Eles fornecem operações de nuvem e melhores práticas de governança. Suas soluções também têm centenas de verificações automatizadas de configuração e segurança que fortalecem a postura de segurança na nuvem.

Eles fornecem verificações de práticas recomendadas que permitem que as empresas atendam às exigências de conformidade em diferentes setores, buscando automática e regularmente vulnerabilidades comuns. Eles fornecem ferramentas que analisam logs e enviam alertas quando usuários em uma infraestrutura de nuvem falham em cumprir políticas de controle ou outras ameaças ocorrem. Sua solução ajuda a gerenciar os problemas de segurança causados ​​pela natureza variável da infraestrutura de nuvem.

Soluções como essa permitem que os administradores monitorem alterações e alertas quando ocorrem configurações incorretas. A automação também é um recurso importante para proteger a infraestrutura de nuvem devido à impraticabilidade da administração manual em uma escala enorme de computação em nuvem. Uma boa solução de gerenciamento de nuvem pode corrigir vulnerabilidades detectadas automaticamente, sem intervenção humana.

A falta de novas ferramentas e tecnologias para aplicar a segurança de maneira a impedir a paralisação do processo de desenvolvimento sem comprometer a segurança é uma oportunidade para muitas empresas inteligentes desenvolverem tecnologias DevSecOps. A adoção dessas tecnologias é um dos aspectos que realmente traz segurança ao ciclo de desenvolvimento. O DevSecOps é um conceito muito mais abrangente que também inclui adicionar segurança às novas metodologias introduzidas pelo DevOps no processo de desenvolvimento de software.

Metodologia e DevSecOps

DevSecOps eficaz não é apenas sobre ferramentas ou tecnologia. É também quando e como a segurança é aplicada ao DevOps. A popularidade e adoção do DevOps levou as empresas a adotarem entrega contínua (CD) e microsserviços como novas metodologias de desenvolvimento de software e aplicativos. CD e microsserviços levam a um desenvolvimento mais rápido e a componentes pequenos e granulares. No entanto, isso também significa que eles quebram as metodologias atuais de segurança. Com a adoção do CD, parar para verificações e auditorias devolve o processo de desenvolvimento e é altamente indesejável. Para superar esse problema, as verificações automatizadas nos pipelines são essenciais para manter a velocidade do desenvolvimento sem incorrer no risco de vulnerabilidades de segurança.

Para lidar com isso, o SAST ou o Teste de Segurança de Aplicativo Estático, as ferramentas foram usadas para verificações de segurança. Isso era altamente ineficiente, pois essas ferramentas demoravam muito para verificações de código único em um ambiente de criação frequente. Muitas ferramentas SAST introduziram varredura incremental para testar somente o código que foi alterado. Isso foi mais rápido e poderia caber dentro do pipeline de CD, mas como na seção anterior sobre tecnologia, isso era simplesmente uma adaptação superficial de uma ferramenta de segurança existente que não é adequada a longo prazo ou para outros processos de DevOps.

Para situações complexas, como a movimentação de um aplicativo monolítico para microsserviços, ou seja, passar de uma única aplicação para serviços interconectados menores, tais adaptações superficiais são inaceitáveis. Soluções para simplesmente monitorar uma única entidade que é então adaptada para microsserviços não funciona. Em microsserviços, os dados fluem entre dezenas e centenas de serviços diferentes. Assim, as medidas de segurança precisam mudar para atender aos requisitos desse ambiente mais dinâmico e complexo. As medidas de segurança devem identificar ataques em tempo real e devem ser capazes de escalar para monitorar um grande número de serviços, cada um com fluxos significativos de dados entre eles.

Novas soluções são necessárias para resolver esses problemas. Isso pode ser feito rastreando a comunicação de serviço a serviço, sinalizando tentativas de conexão não autorizadas ou alinhando informações de segurança para cada serviço com seus respectivos painéis de operações. Startups como Aporeto e SignalSciences desenvolveram soluções que lidam com questões de segurança trazidas pela adoção de novas metodologias de DevOps.

A Aporeto oferece soluções DevSecOps para tecnologia em nuvem através de autenticação de usuário para serviço e serviço a serviço, autorização e criptografia. Os usuários têm acesso uniforme à API entre os serviços e uma aplicação combinada de políticas de identidade de usuários e aplicativos. Isso elimina a necessidade de criar uma infraestrutura de gerenciamento de identidades. As soluções da Aporeto permitem a integração de avaliações de vulnerabilidade em CI / CD, gerenciamento de ameaças e vulnerabilidades para imagens de contêiner e muitos outros recursos que realmente refletem a movimentação do DevSecOps. A SignalSciences, outra startup, se concentra em fornecer uma plataforma de proteção da Web que é executada como um módulo nos principais servidores da web. A plataforma identifica e usa sinais personalizados para aquisições de contas, falhas em falhas de lógica de negócios e monitorar fluxos de aplicativos.

Concentrar-se no aspecto tecnológico do DevSecOps não fornece uma visão clara do que é o DevSecOps ou como ele pode ser aplicado em todo o ciclo de desenvolvimento de aplicativos corporativos. O desenvolvimento de DevSecOps dentro das metodologias é mais amplo do que apenas se concentrar apenas na tecnologia e oferece valor ao longo do tempo. As empresas que incorporam segurança em seus ciclos de desenvolvimento precisarão de suporte, como na proteção de microsserviços com contêineres de suporte. A aplicação da segurança às metodologias de DevOps protege o produto, a empresa e os usuários a longo prazo, adotando uma abordagem mais abrangente e robusta da segurança.

Pessoas, Filosofia e DevSecOps

Provavelmente, o aspecto mais desafiador de incorporar o DevSecOps é criar uma mentalidade diferente e adotar uma nova filosofia para o desenvolvimento de aplicativos em toda a empresa. Em sua essência, o DevSecOps tem a ver com a mudança da responsabilidade pela segurança inteiramente dos ombros dos especialistas em segurança para o compartilhamento da responsabilidade entre diferentes equipes, especialmente com a equipe de desenvolvimento.

Por fim, o termo DevSecOps é um rótulo conveniente que ajuda a normalizar a ideia de que medidas e responsabilidades de segurança devem ser compartilhadas em toda a tabela, e a segurança deve ser introduzida no início do processo de desenvolvimento do aplicativo. Agora, é evidente que aplicar segurança ao DevOps é mais do que adotar novas tecnologias. É um tópico muito mais amplo que inclui infraestrutura, pilhas de rede, código e, acima de tudo, pessoas.

O papel das pessoas no DevSecOps

É necessário remover o pensamento e as práticas do Silo nas equipes e melhorar e aumentar a comunicação entre as equipes de desenvolvimento, as equipes de operações e as equipes de segurança durante todo o processo de desenvolvimento e todas as suas etapas. Ao envolver os desenvolvedores na segurança, há várias alterações que precisam acontecer para uma implementação bem-sucedida do DevSecOps.

Os desenvolvedores precisam escrever códigos mais operacionais, enquanto as equipes de operações devem tratar a infraestrutura como código. As empresas devem usar técnicas e ferramentas relevantes para dimensionar a segurança em todo o desenvolvimento e implantação de software.

Como os desenvolvedores e as equipes de operações devem estar mais envolvidos na segurança, isso esclarece uma lacuna nas ferramentas existentes para tornar o DevSecOps mais fácil de adotar. As empresas de ferramentas de desenvolvimento devem considerar e trabalhar no sentido de adicionar segurança aos seus produtos e recursos de soluções, já que adicionar segurança às ferramentas de desenvolvimento é mais fácil do que o contrário. Uma das principais razões pelas quais conseguir que os desenvolvedores adotem a segurança é um desafio devido à falta de ferramentas.

Algumas das ferramentas atualmente em uso são Alertas de Segurança GitHub, Plataforma de Dependência OWASP e DepShield. Conforme o DevSecOps se torna mais comum, é provável que apareçam ferramentas de desenvolvimento abrangentes que permitam aos desenvolvedores incorporar a segurança no início do ciclo de desenvolvimento de aplicativos, sem perda de velocidade.

Fazendo o DevSecOps funcionar na sua organização

O DevSecOps está ganhando popularidade à medida que os benefícios de implementar medidas de segurança no início do ciclo de desenvolvimento de aplicativos se tornam cada vez mais evidentes. Com a ampla adoção do DevOps, as empresas podem lançar softwares, aplicativos, correções e atualizações em um ritmo muito mais rápido. O medo de que adicionar segurança no início do ciclo de desenvolvimento de aplicativos atrapalhe o processo é uma preocupação válida, mas novas ferramentas e técnicas no DevSecOps estão surgindo, garantindo que o processo de desenvolvimento de aplicativos seja interrompido o mínimo possível.

É essencial que as empresas adotem ferramentas e práticas DevSecOps, pois o risco de uma quebra de segurança ocorrer cria uma penalidade pesada. A incorporação de segurança no processo de desenvolvimento pode ser feita sem interromper o ciclo de vida de desenvolvimento do aplicativo. Isso significa incorporar medidas de segurança em mais de uma área. DevSecOps não é apenas sobre ferramentas e tecnologia, mas é um conceito mais amplo que envolve metodologias e pessoas. Uma das principais preocupações que o DevSecOps tenta resolver é fazer com que os desenvolvedores compartilhem a responsabilidade pela segurança e incorporem a segurança no início do processo de desenvolvimento. As empresas que buscam implementar e adaptar o DevSecOps devem começar apresentando o conceito ao seu pessoal primeiro, o que facilitará a adoção de ferramentas e metodologias.

Sobre o autor: Guilherme Teles é um cara qualquer que não dorme direito e acaba escrevendo. Sou Certificado CISSP, CHFI, CEH, LPIC-3, AWS CDA, AWS SAA, AWS SOA Quer assinar a newsletter do site e receber esse e outros artigos? Clique aqui! Aproveite e navegue pelo smeu blog. Quem sabe você não está exatamente precisando de uma ajuda ?  

Conteúdos relacionados

All articles loaded
No more articles to load