DevSecOps The Big Picture: Parte — 2

Mar 02 2023
Faz muito tempo que não escrevo um artigo aqui no medium por conta de compromissos de trabalho. Agora estou de volta!! e desta vez com a parte dois do nosso seriado: “DevSecOps The Big Picture”.
Ciclo de vida de DevSecOps

Faz muito tempo que não escrevo um artigo aqui no medium por conta de compromissos de trabalho.

Agora estou de volta!! e desta vez com a parte dois do nosso seriado: “ DevSecOps The Big Picture ”.

No artigo anterior, descobrimos juntos o mundo do DevSecOps, suas etapas e sua filosofia.

https://medium.com/@ayoubnajim/devsecops-the-big-picture-part-1-5ca3278c03f

Desta vez falaremos sobre a primeira etapa do DevSecOps: Planejar | Modelagem de Ameaças.

Tabela de conteúdo:

  1. Qual é a fase do Plano?
  2. O que é Modelagem de Ameaças?
  3. Caso de uso: modelagem de ameaças para um aplicativo de comércio eletrônico

No ciclo de vida do DevOps, “planejar” é o primeiro estágio e envolve o planejamento inicial e a preparação de um projeto de desenvolvimento de software. Esta etapa é focada na definição dos objetivos do projeto, identificando os requisitos e restrições e determinando o escopo do projeto.

Durante o estágio de planejamento, a equipe estabelece uma visão de alto nível do projeto e identifica as principais partes interessadas, seus requisitos e suas funções e responsabilidades. A equipe também identifica as tecnologias e ferramentas que serão usadas para desenvolver, testar, implantar e monitorar o aplicativo.

Outro aspecto importante do estágio de planejamento é a criação de um roteiro ou plano de projeto que descreva o cronograma, os marcos e as entregas do projeto. Este plano fornece uma compreensão clara do escopo do projeto, cronogramas e orçamento e serve como base para acompanhar o progresso e fazer os ajustes necessários.

O que é Modelagem de Ameaças?

A modelagem de ameaças é uma abordagem estruturada para identificar e priorizar possíveis ameaças e vulnerabilidades em um sistema ou aplicativo. É um processo proativo que envolve identificar e analisar sistematicamente ameaças potenciais, considerando a probabilidade dessas ameaças e priorizando-as com base no impacto potencial que podem ter no sistema ou aplicativo.

O objetivo da modelagem de ameaças é identificar e lidar com vulnerabilidades de segurança antes que elas possam ser exploradas por invasores. Ao analisar possíveis ameaças e vulnerabilidades de forma estruturada e sistemática, as organizações podem entender melhor os riscos de segurança que enfrentam e desenvolver estratégias apropriadas de mitigação de riscos.

A modelagem de ameaças geralmente envolve várias etapas, incluindo a identificação de ativos e ameaças potenciais, análise de vulnerabilidades potenciais, priorização de riscos com base em sua probabilidade e impacto e desenvolvimento e implementação de estratégias de mitigação. O processo pode ser conduzido por profissionais de segurança, desenvolvedores ou outras partes interessadas envolvidas no desenvolvimento ou manutenção de um sistema ou aplicativo.

Caso de uso: modelagem de ameaças para um aplicativo de comércio eletrônico

Aqui está uma modelagem detalhada de ameaças para um aplicativo de comércio eletrônico com exemplos:

Identifique os ativos :

A primeira etapa é identificar os ativos do aplicativo de comércio eletrônico. Os ativos podem incluir dados pessoais do cliente, dados de pagamento, informações da empresa e recursos de TI.

Exemplo: os dados pessoais do cliente incluem nome, endereço, endereço de e-mail e informações de cartão de crédito.

Identificar ameaças:

Em seguida, você precisa identificar possíveis ameaças que possam comprometer a segurança do aplicativo de comércio eletrônico. Algumas ameaças comuns para aplicativos de comércio eletrônico incluem:

  • Ataques de malware: os ataques de malware podem infectar o site do aplicativo de comércio eletrônico ou o dispositivo do cliente, permitindo que os invasores roubem dados ou iniciem outros ataques.
  • Ataques de injeção de SQL: os ataques de injeção de SQL podem permitir que invasores acessem ou modifiquem dados confidenciais no banco de dados do aplicativo de comércio eletrônico.
  • Ataques de script entre sites (XSS): os ataques XSS podem permitir que os invasores injetem código malicioso no site do aplicativo de comércio eletrônico, permitindo que eles roubem dados ou iniciem outros ataques.
  • Ataques distribuídos de negação de serviço (DDoS): os ataques DDoS podem sobrecarregar os servidores do aplicativo de comércio eletrônico, fazendo com que o aplicativo fique indisponível para os clientes.
  • Ataques man-in-the-middle (MITM): os ataques MITM podem permitir que invasores interceptem e modifiquem dados transmitidos entre o cliente e o aplicativo de comércio eletrônico.
  • Controle de conta: o controle de conta pode permitir que invasores obtenham acesso à conta de um cliente, roubando dados pessoais e de pagamento.
  • Ataques de engenharia social: os ataques de engenharia social podem induzir clientes ou funcionários a divulgar informações confidenciais, como credenciais de login ou dados de pagamento.

Analise as vulnerabilidades:

Depois de identificar possíveis ameaças, o próximo passo é analisar as vulnerabilidades que os invasores podem explorar para lançar esses ataques. Algumas vulnerabilidades comuns em um aplicativo de comércio eletrônico incluem:

  • Senhas fracas: Senhas fracas podem facilitar para os invasores adivinhar as credenciais de login e obter acesso a dados confidenciais.
  • APIs não seguras: APIs não seguras podem permitir que invasores acessem ou modifiquem dados no banco de dados do aplicativo de comércio eletrônico.
  • Transmissão de dados não criptografada: a transmissão de dados não criptografada pode permitir que invasores interceptem e leiam dados transmitidos entre o cliente e o aplicativo de comércio eletrônico.
  • Falta de validação de entrada: a falta de validação de entrada pode permitir que invasores injetem código malicioso no site ou banco de dados do aplicativo de comércio eletrônico.
  • Software e estruturas desatualizados: Software e estruturas desatualizados podem conter vulnerabilidades conhecidas que os invasores podem explorar.
  • Falta de controles de acesso: a falta de controles de acesso pode permitir que usuários não autorizados acessem dados confidenciais.
  • Log e monitoramento inadequados: o log e o monitoramento inadequados podem dificultar a detecção e a resposta a ataques.

Priorize as ameaças:

Depois de identificar as vulnerabilidades, a próxima etapa é priorizar as ameaças com base na gravidade do impacto que elas podem causar no aplicativo de comércio eletrônico. Por exemplo, um ataque de injeção de SQL que comprometa todo o banco de dados pode ter um impacto mais significativo do que um ataque DDoS que causa apenas uma interrupção temporária.

Exemplo: um ataque de injeção de SQL que rouba informações de cartão de crédito teria alta prioridade, pois poderia resultar em perdas financeiras e prejudicar a reputação do aplicativo de comércio eletrônico.

Mitigar ameaças:

Por fim, após priorizar as ameaças, a equipe de desenvolvimento de aplicativos de comércio eletrônico precisa tomar medidas para atenuar essas ameaças. Algumas estratégias comuns de mitigação incluem:

  • Implementando controles de acesso fortes: os controles de acesso podem limitar quem tem acesso a dados e recursos confidenciais no aplicativo de comércio eletrônico. Isso pode incluir a implementação de controles de acesso baseados em função, exigindo senhas fortes e usando autenticação multifator.
  • Implementação de criptografia: a criptografia pode ajudar a proteger dados confidenciais em trânsito e em repouso. Por exemplo, implementar a criptografia SSL/TLS pode ajudar a proteger a transmissão de dados entre o cliente e o aplicativo de comércio eletrônico, e criptografar dados confidenciais armazenados no banco de dados do aplicativo de comércio eletrônico pode ajudar a impedir o acesso não autorizado.
  • Atualização regular de software e estruturas: atualizações regulares podem resolver vulnerabilidades conhecidas e reduzir o risco de ataques. Isso inclui a atualização do software do aplicativo de comércio eletrônico, servidor da Web, sistema operacional e quaisquer bibliotecas ou estruturas de terceiros usadas pelo aplicativo.
  • Realização de auditorias de segurança regulares e avaliações de vulnerabilidade: Auditorias de segurança regulares e avaliações de vulnerabilidade podem ajudar a identificar possíveis vulnerabilidades ou ameaças que precisam ser abordadas. Isso inclui a realização de testes de penetração, revisões de código e verificação de vulnerabilidades.
  • Implementando registro e monitoramento: a implementação de registro e monitoramento pode ajudar a detectar e responder a ataques potenciais. Isso inclui a implementação de sistemas de detecção e prevenção de invasões, configuração de alertas para atividades incomuns e revisão regular de logs para possíveis incidentes de segurança.
  • Fornecer treinamento de segurança para funcionários e clientes: Educar funcionários e clientes sobre as melhores práticas de segurança pode ajudar a reduzir o risco de ataques de engenharia social e melhorar a conscientização geral sobre segurança.

Até o próximo !!