Ciclo de Vida de Software
Política de Ciclo de Vida de Desenvolvimento de Software
Finalidade e âmbito
a. O objetivo desta política é definir requisitos para estabelecer e manter padrões básicos de proteção para software, dispositivos de rede, servidores e desktops da empresa.
b. Esta política se aplica a todos os usuários que executam desenvolvimento de software, administração de sistema e gerenciamento dessas atividades dentro da organização. Isso normalmente inclui funcionários e contratados, bem como quaisquer partes externas relevantes envolvidas nessas atividades (doravante denominados “usuários”). Esta política deve estar prontamente disponível para todos os usuários.
c. Esta política também se aplica a sistemas corporativos e aplicativos desenvolvidos pela organização ou em nome da organização para implementação em produção.
Operação
a. O objetivo desta política é garantir um processo bem definido, seguro e consistente para gerenciar todo o ciclo de vida do software e dos sistemas de informação, desde a análise dos requisitos iniciais até a descontinuidade do sistema. A política define o procedimento, funções e responsabilidades, para cada estágio do ciclo de vida de desenvolvimento de software.
b. Dentro desta política, o ciclo de vida de desenvolvimento de software consiste em análise de requisitos, arquitetura e design, desenvolvimento, teste, implantação/implementação, operações/manutenção e descontinuidade. Esses processos podem ser seguidos de qualquer forma; em um modelo em cascata, pode ser apropriado seguir o processo linearmente, enquanto em um modelo de desenvolvimento ágil, o processo pode ser repetido de forma iterativa.
Política
a. O Ciclo de Vida de Desenvolvimento de Software (SDLC) da organização inclui as seguintes fases:
i. Análise de Requisitos
ii. Arquitetura e Design
iii. Testes
iv. Implantação/Implementação
v. Operações/Manutenção
vi. Descontinuidade
b. Durante todas as fases do SDLC em que um sistema não está em produção, o sistema não deve ter conjuntos de dados ativos que contenham informações que identifiquem pessoas ou entidades corporativas reais, dados financeiros reais, como números de contas, códigos de segurança, informações de roteamento ou qualquer outro tipo de informação financeira dados de identificação. As informações que seriam consideradas confidenciais nunca devem ser usadas fora dos ambientes de produção.
c. As seguintes atividades devem ser concluídas e/ou consideradas durante a fase de análise de requisitos:
i. Analise os requisitos de negócios.
ii. Faça uma avaliação de risco.
iii. Discuta os aspectos de segurança (por exemplo, confidencialidade, integridade, disponibilidade) e como eles podem se aplicar a este requisito.
iv. Revise os requisitos regulatórios e as políticas, padrões, procedimentos e diretrizes da organização.
v. Revise as metas de negócios futuras.
vi. Analise as operações atuais de negócios e tecnologia da informação.
vii. Incorpore itens de gerenciamento de programa, incluindo:
- Análise dos usuários/clientes atuais do sistema.
- Compreender os requisitos de interface do cliente-parceiro (por exemplo, nível de negócios, rede).
- Discuta o cronograma do projeto.
viii. Desenvolva e priorize os requisitos de soluções de segurança.
ix. Avalie as restrições de custo e orçamento para soluções de segurança, incluindo desenvolvimento e operações.
x. Aprovar requisitos de segurança e orçamento.
d. O seguinte deve ser concluído/considerado durante a fase de arquitetura e design:
i. Eduque as equipes de desenvolvimento sobre como criar um sistema seguro.
ii. Desenvolver e/ou melhorar a arquitetura de segurança da infraestrutura.
iii. Liste os controles de segurança técnicos e não técnicos.
iv. Execute o passo a passo da arquitetura.
v. Crie um design de segurança em nível de sistema.
vi. Crie projetos de segurança técnicos integrados e não técnicos de alto nível.
vii. Realize uma análise de custo/benefício para os componentes do projeto.
viii. Documente o projeto técnico de segurança.
ix. Faça uma revisão do projeto, que deve incluir, no mínimo, revisões técnicas da aplicação e infraestrutura, bem como uma revisão dos processos de alto nível.
x. Descreva processos e procedimentos de segurança detalhados, incluindo: segregação de funções e segregação de ambientes de desenvolvimento, homologação e produção.
xi. Projetar programas iniciais de treinamento e conscientização do usuário final.
xii. Projete um plano geral de teste de segurança.
xii. Atualizar as políticas, padrões e procedimentos da organização.
xiv. Avalie e documente como mitigar vulnerabilidades residuais de aplicações e infraestrutura.
xv. Projete e estabeleça ambientes separados de desenvolvimento e teste.
e. O seguinte deve ser concluído e/ou considerado durante a fase de desenvolvimento:
i. Configure um ambiente de desenvolvimento seguro (por exemplo, servidores, armazenamento).
ii. Treine as equipes de infraestrutura na instalação e configuração do software, se necessário.
iii. Desenvolva código para componentes de segurança em nível de aplicativo.
iv. Instale, configure e integre a infraestrutura de teste.
v. Configurar processos de rastreamento de vulnerabilidade relacionados à segurança.
vi. Desenvolva um plano de teste de segurança detalhado para versões atuais e futuras (teste de regressão).
vii. Conduza o teste de unidade e o teste de integração.
f. O seguinte deve ser concluído e/ou considerado durante a fase de teste:
i. Execute uma revisão de código e configuração por meio de análise estática e dinâmica de código para identificar vulnerabilidades.
ii. Procedimentos de configuração de testes.
iii. Execute testes de sistema.
iv. Realize testes de desempenho e carga com os controles de segurança ativados.
v. Executar teste de usabilidade dos controles de segurança do aplicativo.
vi. Realize avaliações de vulnerabilidade independentes do sistema, incluindo a infraestrutura e o aplicativo.
g. O seguinte deve ser concluído e/ou considerado durante a fase de implantação:
i. Conduzir a implantação piloto da infraestrutura, aplicativo e outros componentes relevantes.
ii. Faça a transição entre a implantação piloto e em escala real.
iii. Execute a verificação de integridade nos arquivos do sistema para garantir a autenticidade.
iv. Implantar programas de treinamento e conscientização para treinar pessoal administrativo e usuários nas funções de segurança do sistema.
v. Exigir a participação de pelo menos dois desenvolvedores para realizar a implantação em escala total no ambiente de produção.
h. O seguinte deve ser concluído e/ou considerado durante a fase de operação/manutenção:
i. Várias tarefas e atividades de segurança devem ser realizadas rotineiramente para operar e administrar o sistema, incluindo, mas não se limitando a:
- Administração de usuários e acesso.
- Desempenho de ajuste.
- Realização de backups de acordo com os requisitos definidos na Política de Disponibilidade do Sistema
- Execução da manutenção do sistema (ou seja, teste e aplicação de atualizações e patches de segurança).
- Realização de treinamento e conscientização.
- Conduzir avaliações periódicas de vulnerabilidade do sistema.
- Realização de avaliações de risco anuais.
ii. Os sistemas operacionais devem:
- Ser revisado para garantir que os controles de segurança, tanto automatizados quanto manuais, estejam funcionando correta e efetivamente.
- Ter logs que são revisados periodicamente para avaliar a segurança do sistema e validar os controles de auditoria.
- Implementar monitoramento contínuo de sistemas e usuários para garantir a detecção de violações de segurança e mudanças não autorizadas.
- Validar a eficácia dos controles de segurança implementados por meio de treinamento de segurança, conforme exigido pelo Procedimento para execução de resposta ao incidente.
- Ter um aplicativo de software e/ou processo de patch de hardware que seja executado regularmente a fim de eliminar bug de software e problemas de segurança introduzidos no ambiente de tecnologia da organização. Patches e atualizações devem ser aplicados dentro de noventa (90) dias do lançamento para fornecer testes adequados e propagação de atualizações de software. Versões de patch de vulnerabilidade de emergência, crítica, break-fix e zero-day devem ser aplicadas o mais rápido possível.
i. O seguinte deve ser concluído e/ou considerado durante a fase de descontinuidade:
i. Conduza o teste de unidade e o teste de integração no sistema após a remoção do componente.
ii. Conduza a transição operacional para remoção/substituição de componentes.
iii. Determine os requisitos de retenção de dados para software de aplicativo e dados de sistemas.
iv. Documente o projeto técnico de segurança detalhado.
v. Atualizar as políticas, padrões e procedimentos da organização, se apropriado.
vi. Avalie e documente como mitigar vulnerabilidades residuais de aplicativos e infraestrutura.