# Requisitos de segurança

## Introdução

A prática de requisitos de segurança concentra-se em requisitos de segurança importantes no contexto de software seguro. O primeiro tipo lida com requisitos típicos relacionados ao software, especificando objetivos e expectativas para proteger o serviço e os dados essenciais da aplicação. O segundo tipo aborda requisitos relativos a organizações fornecedoras que fazem parte do contexto de desenvolvimento da aplicação, especialmente para desenvolvimento terceirizado. É importante otimizar as expectativas em termos de desenvolvimento seguro, pois o desenvolvimento terceirizado pode ter um impacto significativo na segurança da aplicação. A segurança de bibliotecas (técnicas) de terceiros faz parte do fluxo de cadeias de suprimentos de software (consulte Construção Segura) e não está incluída nesta prática.

## Modelo

<table data-full-width="true"><thead><tr><th data-type="number">Nível de maturidade</th><th>Descrição</th><th>Fluxo de requerimentos de software</th><th>Fluxo de segurança de fornecimento</th></tr></thead><tbody><tr><td>1</td><td>Inclua a segurança explicitamente durante o processo de requisitos de software.</td><td>Mapear os objetivos de segurança de alto nível da aplicação para requisitos funcionais.</td><td>Avalie o fornecedor com base nos requisitos de segurança organizacionais.</td></tr><tr><td>2</td><td>Aprimore a granularidade dos requisitos de segurança derivados da lógica empresarial e dos riscos conhecidos.</td><td>Disponibilizar e utilizar requisitos de segurança estruturados pelas equipes de desenvolvimento.</td><td>Integre a segurança nos acordos com fornecedores para garantir conformidade com os requisitos organizacionais.</td></tr><tr><td>3</td><td>Torne obrigatório o processo de requisitos de segurança para todos os projetos de software e dependências de terceiros.</td><td>Desenvolver um framework de requisitos para as equipes de produtos utilizarem.</td><td>Garanta uma cobertura de segurança adequada para fornecedores externos fornecendo objetivos claros.</td></tr></tbody></table>

## Como implementar?

1. **Identifique os requisitos de segurança:** Trabalhe em conjunto com a equipe para identificar os requisitos de segurança específicos para o projeto em questão. Isso pode ser feito por meio de análise de riscos, revisão de padrões de segurança, regulamentações aplicáveis, boas práticas e outros recursos relevantes. Considere requisitos relacionados a autenticação, autorização, criptografia, gerenciamento de sessões, proteção de dados sensíveis e outros aspectos relevantes da segurança.
2. **Documente os requisitos de segurança:** Registre os requisitos de segurança identificados em um documento formal. Certifique-se de que cada requisito seja claro, mensurável, testável e rastreável. Inclua informações detalhadas sobre a descrição do requisito, o contexto em que se aplica, os critérios de aceitação e qualquer outro detalhe relevante.
3. **Valide os requisitos de segurança:** Realize uma revisão e validação dos requisitos de segurança com a equipe e outras partes interessadas relevantes. Verifique se os requisitos são compreensíveis, completos e adequados às necessidades do projeto. Além disso, certifique-se de que eles estejam alinhados com as políticas, regulamentações e padrões de segurança aplicáveis.
4. **Incorpore os requisitos de segurança no ciclo de vida do desenvolvimento de software:** Garanta que os requisitos de segurança sejam incorporados ao longo de todo o ciclo de vida do desenvolvimento de software. Isso inclui a fase de levantamento de requisitos, projeto, codificação, testes e implantação. Certifique-se de que a equipe esteja ciente dos requisitos de segurança e implemente as medidas necessárias para atendê-los.
5. **Realize revisões regulares:** Realize revisões regulares dos requisitos de segurança para garantir que eles estejam atualizados e atendam às necessidades em constante mudança do projeto. Faça ajustes conforme necessário e comunique as atualizações para a equipe e outras partes interessadas relevantes.
6. **Promova a conscientização e a educação em segurança:** Promova a conscientização sobre os requisitos de segurança entre a equipe de desenvolvimento e outras partes interessadas. Realize treinamentos, workshops ou outras atividades educacionais para garantir que todos compreendam a importância dos requisitos de segurança
