Política de Desenvolvimento Seguro
Versão | Data | Autor | Alterações realizadas | Aprovado por | Data aprovação |
1.0 | 10/01/2024 | Vanderson Andrade | Criação | Direção Geral | 16/01/2024 |
2.0 | 15/07/2024 | Vanderson Andrade | Nenhuma alteração necessária | Direção Geral | 23/07/2025 |
Proxima revisao: 01/2025
As políticas da empresa são revisadas semestralmente, conforme calendário estabelecido. Todas as revisões são documentadas e aprovadas pelos responsáveis, garantindo que as práticas estejam sempre atualizadas e em conformidade com as normas vigentes.
1. Introdução
A Política de Desenvolvimento Seguro estabelece diretrizes e práticas de segurança que devem ser seguidas pela empresa especializada em agentes virtuais e chatbots durante todo o ciclo de vida de desenvolvimento de software. O objetivo é garantir que os produtos desenvolvidos sejam seguros por design, minimizando vulnerabilidades e riscos de segurança desde as fases iniciais até a implementação e manutenção.
2. Objetivos
- Incorporar Segurança desde o Início: Garantir que a segurança seja considerada em todas as etapas do desenvolvimento, desde a concepção até a implementação e manutenção.
- Proteção de Dados Sensíveis: Assegurar que dados sensíveis manipulados pelas aplicações sejam protegidos adequadamente.
- Mitigação de Vulnerabilidades: Identificar e corrigir vulnerabilidades de segurança de forma proativa durante o desenvolvimento.
3. Escopo
Esta política aplica-se a todos os desenvolvedores, engenheiros de software, gerentes de projetos, analistas de segurança e quaisquer outros envolvidos no desenvolvimento de software na empresa. Ela abrange todos os projetos de desenvolvimento de software, sejam eles novos ou de manutenção.
4. Diretrizes de Desenvolvimento Seguro
-
Princípios de Desenvolvimento Seguro:
- Segurança por Design: A segurança deve ser integrada ao design e à arquitetura dos sistemas desde o início. As decisões de design devem considerar os princípios de minimização de privilégio, defesa em profundidade e fail-safe (falha segura).
- Modelagem de Ameaças: Realizar uma análise de modelagem de ameaças para identificar possíveis riscos e vulnerabilidades durante as fases de design e arquitetura do projeto.
-
Controle de Acesso ao Código-Fonte:
- Repositórios Seguros: O código-fonte deve ser armazenado em repositórios seguros, com controle de acesso rigoroso. Somente desenvolvedores autorizados devem ter acesso aos repositórios de código.
- Autenticação e Controle de Versão: Implementar autenticação multifator para acesso aos repositórios de código e utilizar sistemas de controle de versão (como Git) para rastrear alterações e garantir a integridade do código.
- Revisões de Código: Todo código novo ou modificado deve passar por uma revisão de código por pares para identificar possíveis falhas de segurança.
-
Práticas Seguras de Codificação:
- Validação de Entrada: Validar e sanitizar todas as entradas de usuário para prevenir vulnerabilidades como injeção de SQL, cross-site scripting (XSS) e buffer overflows.
- Gerenciamento de Erros: Implementar práticas adequadas de gerenciamento de erros para garantir que informações sensíveis não sejam expostas em mensagens de erro.
- Criptografia de Dados: Utilizar algoritmos de criptografia fortes para proteger dados sensíveis em repouso e em trânsito. Evitar o uso de algoritmos desatualizados ou inseguros.
- Gerenciamento de Sessão: Assegurar que o gerenciamento de sessão seja seguro, utilizando identificadores de sessão únicos e limitando o tempo de vida de sessões inativas.
-
Testes de Segurança:
- Testes de Vulnerabilidades: Incorporar testes de segurança em todas as fases de desenvolvimento, incluindo testes de penetração, análise estática e dinâmica de código, e varreduras de vulnerabilidades.
- Testes Automatizados: Implementar testes automatizados para identificar vulnerabilidades comuns, como injeção de SQL e XSS, como parte do processo de integração contínua (CI).
- Correção de Vulnerabilidades: Vulnerabilidades identificadas durante os testes devem ser priorizadas e corrigidas antes que o software seja liberado para produção.
-
Gerenciamento de Dependências:
- Bibliotecas e Frameworks Seguros: Utilizar bibliotecas e frameworks atualizados e seguros. Monitorar vulnerabilidades conhecidas em dependências de terceiros e aplicar patches de segurança regularmente.
- Controle de Versões: Manter controle sobre as versões das dependências utilizadas no projeto para garantir que apenas versões seguras sejam implementadas.
-
Ambientes Seguros de Desenvolvimento:
- Ambientes Isolados: O desenvolvimento deve ser realizado em ambientes isolados, separados dos ambientes de produção. Ambientes de desenvolvimento, teste e produção devem ser segregados para minimizar riscos de segurança.
- Acesso Controlado: O acesso a ambientes de desenvolvimento e teste deve ser restrito a pessoal autorizado e deve ser protegido por autenticação multifator.
-
Conformidade e Normas de Segurança:
- Compliance: Garantir que o desenvolvimento de software esteja em conformidade com as normas e regulamentações de segurança aplicáveis, como GDPR, LGPD e outras legislações relevantes.
- Padrões de Segurança: Adotar e seguir padrões de segurança reconhecidos, como OWASP (Open Web Application Security Project) e NIST (National Institute of Standards and Technology), durante o desenvolvimento.
-
Treinamento e Conscientização:
- Capacitação de Desenvolvedores: Prover treinamentos regulares para desenvolvedores e engenheiros de software sobre as melhores práticas de desenvolvimento seguro e sobre as ameaças de segurança emergentes.
- Conscientização de Segurança: Promover a cultura de segurança entre todos os envolvidos no desenvolvimento de software, enfatizando a importância de práticas seguras desde as fases iniciais do projeto.
5. Revisão e Atualização da Política
- Revisões Periódicas: Esta política deve ser revisada periodicamente para garantir que se mantenha atualizada com as melhores práticas e com as novas ameaças de segurança emergentes.
- Responsabilidade pela Revisão: A equipe de segurança da informação é responsável por revisar e atualizar esta política conforme necessário.
6. Consequências de Não Conformidade
- Medidas Disciplinares: Qualquer violação desta política pode resultar em ações disciplinares, incluindo advertências, suspensão ou demissão, dependendo da gravidade da infração.