Recomendações para análise de ameaças
Aplica-se a esta recomendação de lista de verificação de segurança do Azure Well-Architected Framework:
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 modelagem de ameaças para proteger contra implementações que anulam a segurança. |
---|
Guia relacionado: Recomendações para garantir um ciclo de vida de desenvolvimento
Uma análise abrangente para identificar ameaças, ataques, vulnerabilidades e contramedidas é crucial durante a fase de projeto 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 da nova funcionalidade.
Este guia descreve as recomendações para fazer modelagem de ameaças para que você possa identificar lacunas de segurança rapidamente e projetar suas defesas de segurança.
Definições
Vigência | Definição |
---|---|
Ciclo de vida de desenvolvimento de software (SDLC) | Um processo sistemático e em várias etapas para o desenvolvimento de sistemas de software. |
PASSO | Uma taxonomia definida pela Microsoft para categorizar tipos de ameaças. |
Modelação de ameaças | Um processo para identificar potenciais vulnerabilidades de segurança na aplicação e no sistema, mitigar riscos e validar controlos 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 partilhada entre:
- A equipe de carga de trabalho, que é responsável pelos aspetos técnicos do sistema.
- Partes interessadas do negócio, que compreendem os resultados do negócio e têm um interesse adquirido na segurança.
Muitas vezes, 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, especialmente 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 equipa da carga de trabalho e as partes interessadas da empresa devem chegar a acordo sobre 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.
Compreender o âmbito do exercício
Uma compreensão clara do âmbito é crucial para uma modelização eficaz das 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 em controles de segurança.
Reunir informações sobre cada componente
Um diagrama de arquitetura de carga de trabalho é um ponto de partida para a coleta de 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 sensibilidade de dados e tipos de informações e caminhos de acesso de identidade.
Esta análise detalhada pode muitas vezes fornecer informações sobre potenciais vulnerabilidades no projeto. É importante entender a funcionalidade de cada componente e suas dependências.
Avaliar as ameaças potenciais
Analise cada componente de uma perspetiva de fora para dentro. Por exemplo, com que facilidade um invasor pode obter acesso a dados confidenciais? Se os atacantes obtiverem acesso ao ambiente, eles podem 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.
Classificar 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-o a compreender a natureza de cada ameaça e a utilizar controlos de segurança adequados.
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 violação de assunção. Ele pode ajudar a identificar os controles necessários no projeto para reduzir o risco se um controle de segurança primário falhar. Avalie a probabilidade de falha do controle primário. Se falhar, qual é a extensão do potencial risco organizacional? Além disso, qual é a eficácia do controlo compensatório? Com base na avaliação, aplique medidas de defesa aprofundada para lidar com possíveis falhas dos controles de segurança.
Eis um exemplo:
Faça esta pergunta | Para determinar controles que... |
---|---|
São conexões autenticadas por meio do Microsoft Entra ID, Transport Layer Security (TLS) com autenticação mútua ou outro protocolo de segurança moderno aprovado pela equipe de segurança: - Entre usuários e o aplicativo? - Entre componentes de aplicação e serviços? |
Impeça 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? | Impeça a adulteração ou alteração não autorizada de dados. |
A atividade do aplicativo é registrada e alimentada em um sistema de gerenciamento de eventos e informações de segurança (SIEM) por meio do Azure Monitor ou de uma solução semelhante? | Detete e investigue ataques rapidamente. |
Os dados críticos estão protegidos com encriptação aprovada pela equipa de segurança? | Impeça a cópia não autorizada de dados em repouso. |
O tráfego de rede de entrada e saída é criptografado por meio de TLS? | Impedir a cópia não autorizada de dados em trânsito. |
O aplicativo está protegido contra ataques distribuídos de negação de serviço (DDoS) por meio de serviços como a Proteção contra DDoS do Azure? | Detete ataques projetados para sobrecarregar o aplicativo para que ele não possa ser usado. |
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 de aplicativo permitem que você cumpra os requisitos regulamentares? | 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 equipas interessadas.
Acompanhe os resultados como parte da lista de pendências da equipe de carga de trabalho para permitir a prestação de contas 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 encontrar um problema de segurança, certifique-se de que existe um processo para triar o 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 uma versão mais rápida).
Revise regularmente os requisitos de carga de trabalho críticos para os negócios
Reúna-se regularmente com patrocinadores executivos para definir requisitos. Estas análises proporcionam uma oportunidade para alinhar as expectativas e assegurar a afetação de recursos operacionais à 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 ajudar no processo de modelagem de ameaças. Esta ferramenta está disponível sem custos adicionais. Para obter mais informações, consulte a página Modelagem de ameaças.
Exemplo
Este exemplo baseia-se no ambiente de Tecnologia da Informação (TI) 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.
Personas do ciclo de vida do 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.
Potenciais atacantes. Os atacantes consideram uma ampla gama de ferramentas disponíveis facilmente para serem usadas a qualquer momento para explorar suas vulnerabilidades e iniciar um ataque.
Controlos 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.
Coleção 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 sua solução desenvolvida e tentar capturar as vulnerabilidades iniciais.
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.
O Microsoft Defender for Cloud pode fazer algumas recomendações de segurança para melhorar a postura de segurança.
Ligações relacionadas
Ligações da comunidade
O Open Web Application Security Project (OWASP) documentou uma abordagem de modelagem de ameaças para aplicativos.
Lista de verificação de segurança
Consulte o conjunto completo de recomendações.