Recomendações para análise de ameaças

Aplica-se a esta recomendação de lista de verificação do Azure Well-Architected Framework Security:

SE:02 Mantenha um ciclo de vida de desenvolvimento seguro usando uma cadeia de suprimentos de software reforçada, principalmente automatizada e auditável. Incorpore um design seguro usando a modelagem de ameaças para proteger contra implementações que anulam a segurança.

Guia relacionado: Recomendações para proteger um ciclo de vida de desenvolvimento

Uma análise abrangente para identificar ameaças, ataques, vulnerabilidades e contramedidas é crucial durante a fase de design de uma carga de trabalho. A modelagem de ameaças é um exercício de engenharia que inclui a definição de requisitos de segurança, a identificação e mitigação de ameaças e a validação dessas mitigações. Você pode usar essa técnica em qualquer estágio de desenvolvimento ou produção de aplicativos, mas ela é mais eficaz durante os estágios de design de novas funcionalidades.

Este guia descreve as recomendações para fazer a modelagem de ameaças para que você possa identificar lacunas de segurança rapidamente e projetar suas defesas de segurança.

Definições 

Prazo Definição
Ciclo de vida de desenvolvimento de software (SDLC) Um processo sistemático de vários estágios para o desenvolvimento de sistemas de software.
STRIDE Uma taxonomia definida pela Microsoft para categorizar tipos de ameaças.
Modelagem de ameaças Um processo para identificar possíveis vulnerabilidades de segurança no aplicativo e no sistema, mitigar riscos e validar controles de segurança.

Principais estratégias de design

A modelagem de ameaças é um processo crucial que uma organização deve integrar em seu SDLC. A modelagem de ameaças não é apenas uma tarefa do desenvolvedor. É uma responsabilidade compartilhada entre:

  • A equipe de carga de trabalho, que é responsável pelos aspectos técnicos do sistema.
  • Partes interessadas do negócio, que entendem os resultados do negócio e têm interesse em segurança.

Geralmente, há uma desconexão entre a liderança organizacional e as equipes técnicas em relação aos requisitos de negócios para cargas de trabalho críticas. Essa desconexão pode levar a resultados indesejados, principalmente para investimentos em segurança.

Quando a equipe de carga de trabalho está fazendo um exercício de modelagem de ameaças, ela deve considerar os requisitos comerciais e técnicos. A equipe de carga de trabalho e as partes interessadas de negócios devem concordar com as necessidades específicas de segurança da carga de trabalho para que possam fazer investimentos adequados nas contramedidas.

Os requisitos de segurança servem como guia para todo o processo de modelagem de ameaças. Para torná-lo um exercício eficaz, a equipe de carga de trabalho deve ter uma mentalidade de segurança e ser treinada em ferramentas de modelagem de ameaças.

Entenda o escopo do exercício

Uma compreensão clara do escopo é crucial para uma modelagem eficaz de ameaças. Ajuda a concentrar esforços e recursos nas áreas mais críticas. Essa estratégia envolve definir os limites do sistema, fazer um inventário dos ativos que precisam ser protegidos e entender o nível de investimento necessário nos controles de segurança.

Reúna informações sobre cada componente

Um diagrama de arquitetura de carga de trabalho é um ponto de partida para coletar informações porque fornece uma representação visual do sistema. O diagrama destaca as dimensões técnicas do sistema. Por exemplo, ele mostra fluxos de usuários, como os dados se movem pela rede, níveis de confidencialidade de dados e tipos de informações e caminhos de acesso de identidade.

Essa análise detalhada geralmente pode fornecer informações sobre possíveis vulnerabilidades no design. É importante entender a funcionalidade de cada componente e suas dependências.

Avalie as ameaças potenciais

Analise cada componente de uma perspectiva de fora para dentro. Por exemplo, com que facilidade um invasor pode obter acesso a dados confidenciais? Se os invasores obtiverem acesso ao ambiente, eles poderão se mover lateralmente e potencialmente acessar ou até mesmo manipular outros recursos? Essas perguntas ajudam você a entender como um invasor pode explorar ativos de carga de trabalho.

Classifique as ameaças usando uma metodologia do setor

Uma metodologia para classificar ameaças é o STRIDE, que o Microsoft Security Development Lifecycle usa. A classificação de ameaças ajuda você a entender a natureza de cada ameaça e usar controles de segurança apropriados.

Mitigar as ameaças

Documente todas as ameaças identificadas. Para cada ameaça, defina controles de segurança e a resposta a um ataque se esses controles falharem. Defina um processo e um cronograma que minimizem a exposição a quaisquer vulnerabilidades identificadas na carga de trabalho, para que essas vulnerabilidades não possam ser deixadas sem solução.

Use a abordagem de suposição de violação . Ele pode ajudar a identificar os controles necessários no design para mitigar o risco se um controle de segurança primário falhar. Avalie a probabilidade do controle primário falhar. Se falhar, qual é a extensão do risco organizacional potencial? Além disso, qual é a eficácia do controle de compensação? Com base na avaliação, aplique medidas de defesa em profundidade para lidar com possíveis falhas nos controles de segurança.

Veja um exemplo:

Fazer esta pergunta Para determinar os controles que...
As conexões são autenticadas por meio da ID do Microsoft Entra, TLS (Transport Layer Security) com autenticação mútua ou outro protocolo de segurança moderno aprovado pela equipe de segurança:

- Entre os usuários e o aplicativo?

- Entre componentes de aplicativos e serviços?
Impedir o acesso não autorizado aos componentes e dados do aplicativo.
Você está limitando o acesso apenas a contas que precisam gravar ou modificar dados no aplicativo? Impedir a violação ou alteração não autorizada de dados.
A atividade do aplicativo é registrada e alimentada em um sistema SIEM (gerenciamento de eventos e informações de segurança) por meio do Azure Monitor ou de uma solução semelhante? Detecte e investigue os ataques rapidamente.
Os dados críticos são protegidos com criptografia aprovada pela equipe de segurança? Evite a cópia não autorizada de dados inativos.
O tráfego de rede de entrada e saída é criptografado por meio de TLS? Evite a cópia não autorizada de dados em trânsito.
O aplicativo está protegido contra ataques de DDoS (negação de serviço distribuído) por meio de serviços como a Proteção contra DDoS do Azure? Detecte ataques criados para sobrecarregar o aplicativo e incapacitar seu uso.
O aplicativo armazena credenciais ou chaves de entrada para acessar outros aplicativos, bancos de dados ou serviços? Identifique se um ataque pode usar seu aplicativo para atacar outros sistemas.
Os controles do aplicativo permitem que você atenda aos requisitos regulatórios? Proteja os dados privados dos usuários e evite multas de conformidade.

Acompanhe os resultados da modelagem de ameaças

É altamente recomendável que você use uma ferramenta de modelagem de ameaças. As ferramentas podem automatizar o processo de identificação de ameaças e produzir um relatório abrangente de todas as ameaças identificadas. Certifique-se de comunicar os resultados a todas as equipes interessadas.

Acompanhe os resultados como parte do backlog da equipe de carga de trabalho para permitir a responsabilidade em tempo hábil. Atribua tarefas a indivíduos responsáveis por mitigar um risco específico identificado pela modelagem de ameaças.

À medida que você adiciona novos recursos à solução, atualize o modelo de ameaça e integre-o ao processo de gerenciamento de código. Se você encontrar um problema de segurança, verifique se há um processo para fazer a triagem do problema com base na gravidade. O processo deve ajudá-lo a determinar quando e como corrigir o problema (por exemplo, no próximo ciclo de lançamento ou em um lançamento mais rápido).

Revise os requisitos de carga de trabalho críticos para os negócios regularmente

Reúna-se regularmente com patrocinadores executivos para definir requisitos. Essas revisões oferecem uma oportunidade para alinhar as expectativas e garantir a alocação de recursos operacionais para a iniciativa.

Facilitação do Azure

O Ciclo de Vida de Desenvolvimento de Segurança da Microsoft fornece uma ferramenta de modelagem de ameaças para auxiliar no processo de modelagem de ameaças. Essa ferramenta está disponível sem custo adicional. Para obter mais informações, consulte a página Modelagem de Ameaças.

Exemplo

Este exemplo se baseia no ambiente de TI (Tecnologia da Informação) estabelecido na linha de base de segurança (SE:01). Essa abordagem fornece uma ampla compreensão do cenário de ameaças em diferentes cenários de TI.

Diagrama que mostra um exemplo da linha de base de segurança de uma organização com cenário de ameaças.

  1. Personas do ciclo de vida de desenvolvimento. Há muitas personas envolvidas em um ciclo de vida de desenvolvimento, incluindo desenvolvedores, testadores, usuários finais e administradores. Todos eles podem ser comprometidos e colocar seu ambiente em risco por meio de vulnerabilidades ou ameaças criadas intencionalmente.

  2. Invasores em potencial. Os invasores consideram uma ampla gama de ferramentas disponíveis facilmente para serem usadas a qualquer momento para explorar suas vulnerabilidades e iniciar um ataque.

  3. Controles de segurança. Como parte da análise de ameaças, identifique os serviços de segurança do Azure a serem usados para proteger sua solução e a eficácia dessas soluções.

  4. Coleta de logs. Os logs dos recursos do Azure e alguns componentes locais podem ser enviados para o Azure Log Analytics para que você possa entender o comportamento da solução desenvolvida e tentar capturar vulnerabilidades iniciais.

  5. Solução de gerenciamento de eventos de informações de segurança (SIEM). O Microsoft Sentinel pode ser adicionado mesmo em um estágio inicial da solução para que você possa criar algumas consultas de análise para mitigar ameaças e vulnerabilidades, antecipando seu ambiente de segurança quando estiver em produção.

  6. Microsoft Defender para Nuvem pode fazer algumas recomendações de segurança para melhorar a postura de segurança.

O OWASP (Open Web Application Security Project) documentou uma abordagem de modelagem de ameaças para aplicativos.

Lista de verificação de segurança

Consulte o conjunto completo de recomendações.