O gerenciamento de sessões desempenha um papel crucial na segurança de aplicações web, garantindo que a interação entre usuários e sistemas seja segura e confiável. Uma sessão é uma interação contínua entre um usuário e uma aplicação durante um determinado período de tempo. O objetivo do gerenciamento de sessões é controlar e manter a identificação do usuário em paralelo com o estado da aplicação à medida que o usuário navega e interage com diferentes partes do sistema, garantindo a consistência e a segurança do acesso e navegação.
Serão abordados neste capítulo temas como, melhores práticas, ferramentas e frameworks necessários para tomada de decisão, desenho de soluções, configuração e gestão das sessões de forma eficaz, focados na proteção contra vulnerabilidades como sequestro de sessões, exposição de tokens e ataques de reutilização de sessões.
Como referências norteadoras temos, por exemplo, a ISO/IEC 27001, OWASP, e regulamentações como LGPD e GDPR que são fundamentos para assegurar a conformidade e a segurança no gerenciamento de sessões.
Objetivos do Documento
Orientar quanto a definição das Práticas de Gerenciamento Seguro de Sessões, fornecendo diretrizes para criar e gerenciar sessões com segurança em aplicações modernas. Apresentar meios para mitigar riscos ligados a sessões, como “session fixation, session hijacking” e reutilização de tokens. Apresentar métodos que garantam a conformidade apresentando as ferramentas e métodos para que o projeto atenda aos requisitos regulatórios e padrões de segurança, protegendo dados pessoais durante a autenticação e o uso de sessões.
Descrição da Implantação do Processo de Gerenciamento de Sessões
Etapas do SSDLC com foco no Gerenciamento de Sessões.
Executar testes abrangentes para validar a robustez dos mecanismos de gerenciamento de sessões e identificar potenciais vulnerabilidades exploráveis. Incluindo:
Análise de Entropia de Tokens de Sessão.
Validação contra Ataques Cross-Site Scripting (XSS) e Cross-Site Request Forgery (CSRF)
Simulação de Ataques de Roubo de Sessão (Session Hijacking).
Manter a visibilidade sobre o comportamento das sessões em ambiente de produção, permitindo a detecção e resposta rápida a incidentes de segurança. Com o uso de ferramentas que permitam a centralização, indexação e análise de logs em tempo real e que também ofereçam meios para rastrear atividades e eventos relacionados às sessões para análise e correlação de eventos.
Durante a fase inicial do projeto, ao iniciar o ciclo de vida do desenvolvimento.
Por que deve ser feito
Visando garantir que o gerenciamento de sessões atenda aos requisitos funcionais, técnicos e regulamentares, prevenindo vulnerabilidades e ataques. Além de assegurar a conformidade com LGPD, GDPR e boas práticas de codificação e segurança.
Quem define os Atores e Ações da Etapa de Levantamento de Requisitos
Coordenação de Desenvolvimento – convocar e definir equipes e responsabilidades para cada fase da etapa em execução.
Engenheiros de Software, Analistas de Segurança, Arquitetos de Soluções e o DPO.
Quem define os Atores responsáveis pela Validação dos Requisitos Levantados e Definidos
Coordenação de Desenvolvimento e Coordenação de Segurança
Arquiteto de Segurança, DPO e Gestores de TI.
Quais os documentos necessários para a etapa de Levantamento de Requisitos
Políticas Internas – Política de Segurança da Informação.
Política de Gerenciamento de Sessões – Documento que define padrões para controle de sessões, como expiração, revogação e segurança de cookies/tokens.
Matriz de Requisitos de Segurança – Lista detalhada dos requisitos funcionais e não funcionais para sessões.
Mapeamento de Fluxo de Sessões – Descreve como as sessões são criadas, validadas e encerradas.
Relatório Impacto à Proteção de Dados Pessoais (RIPD) – Para avaliar riscos de tratamento de dados relacionados a sessões.
O que é necessário definir nessa etapa
Tipo de Sessão – Escolher entre sessões stateful (armazenadas no servidor) ou stateless (tokens JWT).
Configuração de Cookies – Configurações como HttpOnly, Secure e SameSite para cookies.
Controle de Expiração – Definir prazos de validade e renovação de sessões.
Gerenciamento de Tokens – Estratégia para emissão, validação e revogação de tokens de sessão.
Monitoramento e Logs – Identificar eventos críticos que devem ser registrados, como criação e término de sessões.
O que precisamos entregar para a próxima etapa (Security by Design)
Relatório dos Requisitos do Projeto (Etapa I) – Com as especificações de requisitos de segurança, contendo:
Especificação de Requisitos – Documento que consolida os requisitos técnicos e funcionai.
Modelos de Fluxo de Sessões – Diagramas e descrições detalhadas para codificação e configuração no design.
Checklist de Compliance – Listagem dos itens necessários para atender às regulamentações aplicáveis.
Quem é responsável pela entrega
Coordenação de Desenvolvimento -Engenheiros de Software, Arquitetos de Segurança e DPO.
Práticas recomendadas para o Levantamento de Requisitos
Minimização de Dados – Impedir o armazenamento de informações sensíveis diretamente em sessões.
Criptografia de Sessões – Usar algoritmos robustos, como AES-256, para dados armazenados em sessões ‘stateful’.
Políticas de Renovação – Configurar renovação segura para sessões longas.
Revogação de Sessões – Garantir que sessões possam ser encerradas imediatamente em caso de comprometimento.
Testes de Segurança – Validar os requisitos levantados com ferramentas de teste, como OWASP ZAP e Burp Suite.
Ferramentas recomendadas
Ferramentas de Mapeamento – Lucidchart, Diagrams.net.
Frameworks para Gerenciamento de Sessões – Flask-Session, Spring Security.
Ferramentas de Análise – OWASP ZAP, SonarQube, e Burp Suite.
Testes e Avaliações Iniciais
Teste de Fluxos – Realizar a validação dos fluxos de criação e encerramento de sessões.
Simulação de Ataques – Testar capacidade de resistência do código contra, por exemplo, ataques de ‘session hijacking’ e ‘fixation’.
Revisão de Requisitos – Garantir que os requisitos atendem às normas ISO e regulamentações de proteção de dados.
Referências técnicas
ISO/IEC 27034 – Boas práticas de segurança para desenvolvimento de aplicações.
OWASP ASVS – Controles de autenticação e gerenciamento de sessões.
NIST SP 800-63B – Diretrizes de autenticação e gerenciamento de sessões.
Após o levantamento de requisitos, durante a fase de projeto e arquitetura do sistema, antes da codificação.
Por que deve ser feito
Para garantir os processos de gerenciamento de sessões possuam os controles de segurança necessários e que sejam integrados desde o início no design do sistema.
Quem define os Atores e Ações da Etapa de Design
Coordenação de Desenvolvimento – convocar e definir equipes e responsabilidades para cada fase da etapa em execução.
Engenheiros de Software, Arquitetos de Soluções, Analistas de Segurança e DPO.
Quem define os Atores responsáveis pela Validação dos processos da Etapa de Design
Coordenação de Desenvolvimento e Coordenação de Segurança
Arquiteto de Segurança, DPO e Analistas de Segurança.
Quais os documentos necessários para a etapa de Security by Design
Relatório dos Requisitos do Projeto (Etapa I) – Com as especificações de requisitos de segurança, definidos na etapa anterior (Levantamento de Requisitos).
Modelo de Ameaças – Identificar possíveis riscos como ‘session hijacking’ e ‘fixation’.
Especificação de Design de Sessões – Definir a metodologia de gerenciamento de tokens, cookies e sessões.
Política de Segurança de Sessões – Definir padrões e regras para expiração, renovação e revogação de sessões.
Diagrama de Fluxo de Sessões – Desenvolver representação visual de como sessões serão criadas, validadas e encerradas.
O que precisamos definir na Etapa de Security by Design
Configurações de Sessão – Determinar tipo (stateful ou stateless) e detalhes como duração, renovação e validação.
Segurança de Cookies –Determinar métodos de configuração de atributos ‘HttpOnly’, Secure e ‘SameSite’.
Revogação de Sessões – Parâmetros de configuração dos mecanismos para encerrar sessões comprometidas.
Criptografia de Tokens – Métodos e ferramentas para proteção de tokens armazenados e em trânsito.
Controle de Acesso – Modo de integração RBAC (Role-Based Access Control) para gerenciamento de acesso às sessões.
O que precisamos entregar para a próxima etapa (Execução Segura)
Relatório ou Plano de Design de Sistema Atualizado- Incluindo especificações detalhadas de controles definidos e aplicados. Com as seguintes referências:
Especificação Técnica de Sessões – Instruções detalhadas e claras, para aplicação das definições do projeto no código.
Modelos de Fluxo de Sessões – Desenho de fluxos, diagramas e descrições como guia para todos os envolvidos no projeto em desenvolvimento.
Plano de Testes de Sessões – Definir testes necessários para avaliar e validar a segurança das sessões codificadas e configuradas.
Quem é responsável pela entrega
Coordenação de Desenvolvimento - Engenheiros de Software, Arquitetos de Segurança e DPO.
Práticas recomendadas para o Security by Design
Modelagem de Ameaças – Aplicar frameworks como STRIDE no processo de modelagem do projeto para identificar e mitigar riscos.
Sessões de Curta Duração – Configurar limites curtos de inatividade e renovação de sessões, quando for de longa duração.
Segurança de Tokens – Configurar a proteção contra reutilização de tokens (nonce, timestamp).
Auditoria no Design – Definir pontos de auditoria dentro do ciclo de vida das sessões para rastreabilidade de atividades suspeitas.
Revisão Contínua – Atualizar o design de sessões conforme novas ameaças e regulamentações.
Ferramentas recomendadas
Ferramentas de Modelagem de Ameaças – OWASP Threat Dragon, Microsoft Threat Modeling Tool.
Frameworks de Gerenciamento de Sessões – Flask-Session, Spring Security, Express-session.
Análise de Segurança no Design – SonarQube.
Testes e Avaliações Iniciais
Simulação de Ataques – Avaliar a eficácia do desenho do código contra ataques como session hijacking e fixation.
Teste de Fluxo – Avaliar a consistência e segurança dos fluxos de criação, renovação e término de sessões, em busca de interrupções ou falhas entre os eventos.
Auditoria de Cookies – Avaliar se os atributos de segurança estão configurados corretamente.
Referências técnicas
ISO/IEC 27034 – Práticas de segurança para desenvolvimento de aplicações.
OWASP ASVS – Requisitos para autenticação e gerenciamento de sessões.
NIST SP 800-63B – Diretrizes para autenticação e sessões seguras.
Durante a etapa de codificação e execução do sistema, após as definições de design, antes de realizar os testes de segurança.
Por que deve ser feito
Para garantir que o gerenciamento de sessões esteja devidamente codificado e configurado de acordo com os requisitos levantados, bem como com o design definido. Garantindo a mitigação de vulnerabilidades e vazamento de dados sensíveis.
Quem define os Atores e Ações da Etapa de Execução Segura
Coordenação de Desenvolvimento – convocar e definir equipes e responsabilidades para cada fase da etapa em execução.
Engenheiros de Software, Analistas de Segurança, Arquitetos de Soluções.
Quem define os Atores responsáveis pela Validação dos processos da Etapa de Execução
Coordenação de Desenvolvimento e Coordenação de Segurança
Arquiteto de Segurança, DPO e Analistas de Segurança.
Quais os documentos necessários para a etapa de Execução Segura
Relatório dos Requisitos do Projeto (Etapa I) – Com as especificações de requisitos de segurança, definidos na etapa anterior (Levantamento de Requisitos).
Relatório ou Plano de Design de Sistema Atualizado (Etapa II)- Incluindo especificações detalhadas de controles definidos e aplicados.
Plano de Codificação – Apresentação do conjunto de instruções técnicas para configuração dos controles de sessão.
Checklist de Segurança no Código – Lista de validação (checagem) das configurações de sessões seguras.
Política de Gerenciamento de Sessões – Documento com definições e referências para práticas seguras, como expiração e renovação de sessões.
O que precisamos definir na Etapa de Execução Segura
Configurações de Sessões – Que atributos seguros devem ser usados para cookies (HttpOnly, Secure, SameSite).
Segurança de Tokens – Quais ferramentas ou mecanismos serão usados gerar, assinar e validar tokens JWT ou outros.
Expiração e Renovação – Quais regras serão usadas para o controle de tempo de vida de sessões.
Controle de Acessos – Como realizar a integração de RBAC (Role-Based Access Control) para gestão de permissões.
O que precisamos entregar para a próxima etapa (Teste de Segurança)
Relatório de Execução Segura do Projeto (Etapa III) – Apresentando os controles utilizados, com listagem das práticas aplicadas no código e ferramentas utilizadas. Contendo:
Código Seguro e Documentado – Configurações que incluam os controles para sessões seguras.
Logs e Auditorias – Registros das atividades de sessões para rastreamento e monitoramento.
Relatório de Conformidade – Análise validando a plena conformidade do código com os requisitos e que o projeto está pronto para os testes.
Quem é responsável pela entrega
Coordenação de Desenvolvimento - Engenheiros de Software, Arquitetos de Segurança e Analistas de Segurança.
Práticas recomendadas para a Execução Segura
Proteção de Cookies – Configurar cookies de sessão com os atributos necessários para prevenir vazamentos e ataques CSRF.
Segurança de Tokens – Utilisar algoritmos de criptografia seguros como, por exemplo, HMAC-SHA256 para JWT.
Sessões de Curta Duração – Configurar expiração automática para sessões inativas.
Validação de Sessões – Configurar o código para exigir validação dos tokens em cada solicitação e revogar sessões comprometidas.
Integração Contínua – Integrar a verificação de segurança no pipeline CI/CD, em base de automação.
Ferramentas recomendadas
Gerenciamento de sessões – Express-session.
Framework para gerenciamento de sessões – Flask-Session, para aplicações Python.
Gerenciamento de autenticação e sessões – Spring Security.
Identificação de Vulnerabilidades em Bibliotecas –OWASP Dependency-Check.
Testes e Avaliações Iniciais
Validação de Atributos de Cookies – Analisar as configurações realizadas em atributos como HttpOnly e Secure.
Teste de Expiração – Realizar simulações de sessões inativas para validar o tempo de expiração atribuído.
Auditoria de Logs – Revisar registros para garantir rastreabilidade mantendo a confidencialidade de dados sensíveis.
Referências técnicas
ISO/IEC 27034 – Boas práticas para desenvolvimento de aplicações seguras.
OWASP ASVS – Requisitos de segurança para gerenciamento de sessões.
NIST SP 800-63B – Diretrizes para autenticação e gerenciamento de sessões seguras.
Durante a fase de revisão do código, estruturas e testes do projeto, após a execução segura e antes da entrada em produção. Deve ser definido um cronograma de execução em ciclos regulares o ciclo de vida do sistema.
Por que deve ser feito
Para avaliar todos os parâmetros, ferramentas, bibliotecas e o código do projeto em busca de vulnerabilidades, superfícies exploráveis e quaisquer outros problemas que possam oferecer aberturas para falhas de execução das ferramentas e parâmetros de segurança do projeto.
Quem define os Atores e Ações da Etapa de Testes
Coordenação de Desenvolvimento – convocar e definir equipes e responsabilidades para cada fase da etapa em execução.
Engenheiros de Software, Analistas de Segurança, Testadores de Segurança.
Quem define os Atores responsáveis pela Validação dos processos da Etapa de Testes
Coordenação de Desenvolvimento e Coordenação de Segurança
Analistas de Segurança, Arquitetos de Segurança e DPO.
Quais os documentos necessários para a etapa de Teste de Segurança
Relatório dos Requisitos do Projeto (Etapa I) – Com as especificações de requisitos de segurança, definidos na etapa anterior (Levantamento de Requisitos).
Relatório ou Plano de Design de Sistema Atualizado (Etapa II)- Incluindo especificações detalhadas de controles definidos e aplicados.
Relatório de Execução Segura do Projeto (Etapa III) – Apresentando os controles utilizados, com listagem das práticas aplicadas no código e ferramentas utilizadas. Relatórios de testes automatizados e manuais realizados durante o processo de execução segura.
Plano de Testes de Segurança – Descreve os tipos de testes a serem realizados, como SAST, DAST e testes manuais.
Checklist de Vulnerabilidades – Para verificar práticas e configurações, como proteção de cookies e validação de tokens.
Relatório de Resultados – Relato detalhado de falhas, vulnerabilidades encontradas e medidas de correção desenvolvidas e executadas.
O que precisamos definir na Etapa de Teste de Segurança
Casos de Testes – Definir cenários possíveis de ataques a serem simulados, como de “hijacking” de sessões.
Parâmetros de Aceitação – Definir parâmetros de eficácia e aprovação, como de entropia mínima de tokens ou tempo máximo para renovação de sessões.
Rastreamento de Vulnerabilidades – Planos para identificação, correção e reteste para falhas e problemas detectados.
O que precisamos entregar para a próxima etapa (Gerenciamento)
Relatório dos Testes de Segurança, contendo:
Informações sobre possíveis falhas e vulnerabilidades identificadas e ações corretivas utilizadas.
Classificação de risco (alto, médio, baixo) e impacto.
Plano de Correção – Procedimentos operacionais e metodologias a serem utilizadas para corrigir ou mitigar problemas detectados.
Logs de Testes – Evidências de conformidade com os regulamentos, detalhamento dos logs dos testes realizados e referências para rastreabilidade como suporte para a etapa de Gerenciamento.
Quem é responsável pela entrega
Coordenação de Desenvolvimento - Engenheiros de Software, Analistas de Segurança e Arquitetos de Segurança.
Práticas recomendadas para os Testes de Segurança
Testes Automatizados e Manuais – Combinar ferramentas de análise automatizada (SAST e DAST) com testes manuais de simulação de ataques.
Teste de Expiração e Renovação – Garantir que sessões expiram e são renovadas conforme as configurações definidas.
Simulação de Ataques – Direcionar os pedidos de Pentest para eventos como, roubo de cookies e reuso de tokens.
Auditoria de Logs – Analisar o nível de segurança dos registros e quanto a existência ou permanência de dados sensíveis.
Ferramentas recomendadas
Análise Dinâmica e Simulação de Ataques – OWASP ZAP.
Testes de Interceptação e Manipulação de Cookies – Burp Suite.
Análise estática de código – SonarQube (identificação de práticas inseguras).
Testes de Segurança em APIs – Postman (autenticação baseada em tokens).
Testes e Avaliações Iniciais
Testes de Penetração – Realizar testes de penetração buscando vulnerabilidades, e riscos que possam ser corrigidos ou mitigados. Para que o processo de testes tenha melhor aproveitamento, os pedidos de testes devem estar atrelados às atualizações de aplicações e ambientes, mantendo o processo em paralelo com o desenvolvimento.
Análise de Entropia – Validar a complexidade de tokens de sessão.
Validação de Atributos de Cookies – Analisar as configurações de HttpOnly, Secure e SameSite quanto ao funcionamento e eficácia.
Teste de Manuseio de Sessões – Avaliação da reação do código para casos de sessões comprometidas, avaliar se a revogação está ocorrendo imediatamente.
Teste de Logs – Analisar os logs, para que não contenham informações sensíveis ou tokens reutilizáveis.
Referências técnicas
ISO/IEC 27034 – Práticas para desenvolvimento seguro de software.
OWASP ASVS – Diretrizes para autenticação e gerenciamento de sessões.
NIST SP 800-42 – Diretrizes para auditorias de segurança de aplicativos.
Durante a fase de operação e manutenção contínua do ciclo de vida do software, após a etapa de Testes de Segurança e antes do Monitoramento contínuo.
Por que deve ser feito
Para analisar se toda a estrutura de gerenciamento de sessões está em conformidade com os requisitos de segurança definidos, se as sessões dos usuários são criadas, mantidas e destruídas de forma adequada, prevenindo vulnerabilidades e proporcionando uma experiência fluida.
Quem define os Atores e Ações da Etapa de Gerenciamento
Coordenação de Desenvolvimento – convocar e definir equipes e responsabilidades para cada fase da etapa em execução.
Gestores de TI, Engenheiros de Software, Arquitetos de Segurança e DPO.
Quem define os Atores responsáveis pela Validação dos processos da Etapa de Gerenciamento
Coordenação de Desenvolvimento e Coordenação de Segurança
Gestores de TI, DPO e Arquitetos de Segurança.
Quais os documentos necessários para a etapa de Gerenciamento
Relatório dos Requisitos do Projeto (Etapa I) – Com as especificações de requisitos de segurança, definidos na etapa anterior (Levantamento de Requisitos).
Relatório ou Plano de Design de Sistema Atualizado (Etapa II)- Incluindo especificações detalhadas de controles definidos e aplicados.
Relatório de Execução Segura do Projeto (Etapa III) – Apresentando os controles utilizados, com listagem das práticas aplicadas no código e ferramentas utilizadas.
Relatório dos Testes de Segurança (Etapa IV) – Apresentando informações sobre vulnerabilidades e registros das atividades.
Política de Gerenciamento de Sessões – Descreve regras de renovação, revogação e exclusão de sessões.
Registro de Sessões Ativas – Relatórios sobre sessões mantidas no sistema.
Plano de Continuidade – Estrutura para gerenciar falhas relacionadas ao sistema de sessões.
Relatório de Conformidade – Documento o nível de aderência do projeto aos requisitos regulatórios e técnicos foram atendidos.
O que precisamos definir na Etapa de Gerenciamento
Retenção de Sessões – Prazos e condições para retenção e exclusão de dados ligados às sessões.
Estratégias de Renovação – Regras e métodos que garantam o tratamento de sessões longas, para que sejam renovadas com segurança.
Revogação de Sessões – Configurações para encerrar sessões comprometidas em tempo real.
Auditoria Contínua – Cronograma e parâmetros para auditar logs de sessões em busca de possíveis anomalias.
O que precisamos entregar para a próxima etapa (Monitoramento)
Relatório ou Planos de Gerenciamento de Segurança, contendo:
Relatório de Sessões Ativas – Detalhamento dos dados sobre sessões mantidas, expiradas e revogadas.
Plano de Monitoramento – Planejamento estratégico, metodologias e ferramentas a serem utilizadas na Etapa de Monitoramento.
Logs Seguros – Documentação contendo registros protegidos contra adulteração, com informações sobre o ciclo de vida das sessões.
Quem é responsável pela entrega
Coordenação de Desenvolvimento - Engenheiros de Software, Arquitetos de Segurança e Gestores de TI.
Práticas recomendadas para os Testes de Segurança
Retenção e Exclusão de Sessões – Remoção de dados de sessões inativas em conformidade com LGPD e GDPR.
Criptografia de Sessões – Garantir que informações sensíveis associadas às sessões sejam tratadas com criptografia tanto em repouso quanto em trânsito.
Segurança no Gerenciamento – Configurar autenticação multifator (MFA) para os acessos a ferramentas de gestão de sessões.
Auditorias Regulares – Analisar logs e políticas de sessões periodicamente para em busca de possíveis falhas ou acessos indevidos.
Resiliência – Garantir a capacidade de restauração do sistema em caso de falha, sem comprometimento da segurança.
Ferramentas recomendadas
Gerenciamento de Sessões stateful – Redis (alta disponibilidade e segurança).
Gerenciamento de Identidade e Sessões – Keycloak (solução com suporte a RBAC e autenticação avançada).
Análise e Monitoramento de Logs de Sessões – Elastic Stack (ELK).
Análise e Auditoria de Dados de Sessões – Splunk.
Testes e Avaliações Iniciais
Simulação de Ataques – Realizar testes de revogação e segurança de sessões comprometidas.
Teste de Resiliência – Realizar testes de capacidade de recuperação do sistema de gerenciamento de sessões em caso de falha.
Auditoria de Logs – Garantir que os logs armazenem apenas informações necessárias e disponham e proteção contra adulteração.
Referências técnicas
ISO/IEC 27001 – Gestão de segurança da informação.
OWASP ASVS – Diretrizes específicas para gerenciamento de sessões.
NIST SP 800-63B – Padrões de autenticação e gerenciamento seguro de sessões.
Deve ocorrer continuamente após a aplicação ser colocada em produção, quando atualizações e alterações significativas forem realizadas no gerenciamento de sessões ou nas configurações do sistema.
Por que deve ser feito
Para preparar e manter uma estrutura de previsão, detecção e resposta a incidentes de segurança relacionados ao gerenciamento de sessões.
Quem define os Atores e Ações da Etapa de Monitoramento
Coordenação de Desenvolvimento – convocar e definir equipes e responsabilidades para cada fase da etapa em execução.
Analistas de Segurança, Gestores de TI, Administradores de Sistemas, DPO.
Quem define os Atores responsáveis pela Validação dos processos da Etapa de Monitoramento
Coordenação de Desenvolvimento e Coordenação de Segurança
Analista de Segurança, DPO e Gestores de TI.
Quais os documentos necessários para a etapa de Monitoramento
Relatório dos Requisitos do Projeto (Etapa I) – Com as especificações de requisitos de segurança, definidos na etapa anterior (Levantamento de Requisitos).
Relatório ou Plano de Design de Sistema Atualizado (Etapa II)- Incluindo especificações detalhadas de controles definidos e aplicados.
Relatório de Execução Segura do Projeto (Etapa III) – Apresentando os controles utilizados, com listagem das práticas aplicadas no código e ferramentas utilizadas.
Relatório dos Testes de Segurança (Etapa IV) – Apresentando informações sobre vulnerabilidades e registros das atividades.
Relatório ou Planos de Gerenciamento de Segurança(Etapa V) – Com padrões e planos de gerenciamento, planos de atualização e revisão, relatórios de testes e logs de referência.
Plano de Monitoramento – Apresentando escopo, ferramentas e métricas para monitorar continuamente o gerenciamento de sessões.
Política de Retenção de Logs – Referências e detalhamento dos períodos de armazenamento e requisitos de proteção de registros de sessões.
Relatórios de Auditoria – Detalhamento das informações coletadas sobre eventos monitorados e respostas a incidentes.
O que precisamos definir na Etapa de Teste de Segurança
Padrões e Métricas de Monitoramento – Referências de taxas de criação e encerramento de sessões, tentativas de reutilização de tokens, acessos por localidade e tempos de inatividade.
Alertas Automatizados – Definir parâmetros para notificação em tempo real de eventos suspeitos, como, por exemplo, sessões múltiplas no mesmo token.
Ciclo de Vida de Logs – Política e referências para coleta, retenção e exclusão de registros de sessões.
O que precisamos entregar
Relatório de Incidentes de Segurança, incluindo:
Relatórios de Sessões – Contendo informações sobre falhas e anomalias identificadas, média do tempo de vida de sessões e quaisquer comportamentos suspeitos.
Plano de Resposta a Incidentes – Procedimentos detalhados para lidar com sessões comprometidas.
Logs Centralizados – Diretrizes para armazenamento seguro e acessível para auditorias.
Quem é responsável pela entrega
Coordenação de Desenvolvimento e de Infraestrutura – Analista de Segurança, Gestores de TI e DPO.
Práticas recomendadas para a Etapa de Testes de Segurança
Monitoramento Contínuo – Utilizar ferramentas para análise em tempo real de atividades de sessões.
Segregação de Logs – Garantir apenas usuários autorizados possam acessar logs de sessões.
Análise de Comportamento – Configurar algoritmos para detecção de padrões de comportamento anômalos.
Automatização de Alertas – Configurar sistemas para gerar alertas automáticos sobre eventos críticos, como tentativas de roubo de sessões.
Auditoria Periódica – Realizar análise regular dos logs de sessões e revisar políticas conforme necessário.
Ferramentas recomendadas para o projeto
Coleta, Análise e Visualização de Logs de Sessões – Elastic Stack (ELK).
Análise avançada de logs e criação de alertas customizados –Splunk.
Monitoramento de Sessões em Ambientes de Nuvem – AWS CloudWatch / Azure Monitor.
Ferramenta de Gerenciamento de Identidade e Sessões – Keycloak (possui suporte a auditorias).
Testes e Avaliações Iniciais
Simulação de Incidentes e Falhas – Realizar testes de comprometimento de sessões e eventos de falha.
Auditoria de Logs – Auditar logs de eventos, garantindo sua integridade perfeita, proteção devida e armazenamento adequado, conforme as políticas definidas.
Testes de Automação – Testar as automações desenvolvidas e aplicadas para resposta a eventos críticos, atestando sua eficácia.
Referências técnicas
ISO/IEC 27001 – Sistema de Gestão de Segurança da Informação.
OWASP ASVS – Diretrizes para monitoramento e rastreamento seguro de sessões.
NIST SP 800-92 – Guia para gerenciamento de logs de segurança.
Durante todas as etapas do ciclo de desenvolvimento, conferindo maior atenção às etapas de design e execução (codificação e produção) o gerenciamento contínuo deverá tratar das revisões e manutenção de conformidade. Revisões, atualizações e auditorias devem ser periódicas.
Por que deve ser feito
Para que a confidencialidade, integridade, disponibilidade e a proteção de dados pessoais sejam garantidas. Dar subsídios para atender às regulamentações como LGPD e GDPR que exigem a aplicação de criptografia para proteção de dados sensíveis. Além de fornecer recursos e referências para reduzir riscos de vazamento e acesso não autorizado a dados pessoais.
Quem define os Atores e Ações na Etapa de Proteção de Dados Pessoais
Coordenação de Desenvolvimento – convocar e definir equipes e responsabilidades para cada fase da etapa em execução.
DPO, Engenheiros de Software, Arquitetos de Segurança, Analistas de Segurança.
Quem define os Atores responsáveis pela Validação dos processos da Etapa de Proteção de Dados Pessoais
Coordenação de Desenvolvimento e Coordenação de Segurança
DPO, Arquitetos de Segurança e Analista de Segurança.
Quais os documentos necessários para a etapa de Proteção de Dados Pessoais
Relatório dos Requisitos do Projeto (Etapa I)
Relatório ou Plano de Design de Sistema Atualizado (Etapa II)
Relatório de Execução Segura do Projeto (Etapa III)
Relatório dos Testes de Segurança (Etapa IV)
Relatório ou Planos de Gerenciamento de Segurança(Etapa V)
Relatório de Incidentes de Segurança (Etapa VI)
Políticas de privacidade e proteção de dados (baseadas em LGPD e GDPR).
Plano de resposta a incidentes relacionados à violação de dados pessoais.
Relatório de Impacto à Proteção de Dados (DPIA) – Avaliação de riscos associados a dados pessoais em sessões.
Política de Proteção de Dados – Diretrizes específicas para proteger dados pessoais durante o ciclo de vida da sessão.
Mapa de Fluxo de Dados – Modelo representando como será o tráfego e o armazenamento dos dados pessoais nas sessões.
Plano de Retenção e Exclusão de Dados – Diretrizes para armazenamento e descarte de informações pessoais relacionadas às sessões.
O que precisamos definir nesta tapa
Definir os dados pessoais que serão processados e repositórios para armazenamento dos dados.
Gestão de Dados Pessoais Sensíveis em Sessões – Definir os dados pessoais que serão processados e coletados, os repositórios de armazenamento e como são protegidos, quais ferramentas ou métodos a serem usados, por exemplo, com o uso de Pseudonimização ou de criptografia.
Regras de Retenção e Exclusão – Períodos máximos de retenção e métodos seguros de descarte.
Controle de Acesso – Restrições para acesso aos dados de sessões com base em perfis de usuário (RBAC).
Configuração de Tokens e Cookies – Garantir que tokens e cookies usados em sessões estejam protegidos contra vazamentos e reutilização.
Artefatos a serem gerados nessa etapa
Relatórios de Conformidade – Detalhamento de informações documentais que comprovem a proteção de dados pessoais.
Logs Seguros – Registros de atividade de sessões sem expor dados pessoais, acessíveis apenas para usuários autorizados.
Plano de Resposta a Incidentes – Conjunto de procedimentos e métodos para gestão de eventos que incluam vazamentos ou exposições de dados pessoais relacionados a sessões.
Quem é responsável pela entrega
Coordenação de Desenvolvimento e Segurança – Engenheiros de Software, DPO e Analistas de Segurança.
Práticas recomendadas
Pseudonimização – Substituir identificadores pessoais diretos por valores aleatórios (UUIDs).
Criptografia de Dados Pessoais – Usar AES-256 para dados armazenados e TLS 1.3 para dados em trânsito.
Minimização de Dados – Coletar e armazenar o que for estritamente essencial para o funcionamento da sessão.
Validação de Tokens e Cookies – Garantir que tokens não sejam reutilizáveis e que cookies tenham atributos como HttpOnly, Secure e SameSite.
Auditorias Regulares – Realizar periodicamente revisão de logs e políticas para garantir que os controles de proteção de dados estejam em conformidade com as leis e normas aplicáveis.
Ferramentas recomendadas
Suporte a Criptografia de Sessões – Flask-Session.
Políticas de Proteção e Autenticação– Spring Security.
Gerenciamento de identidade e sessão – Keycloak.
Monitoramento e análise de logs – Elastic Stack (ELK)
Identificação de vulnerabilidades – OWASP ZAP.
Testes e Avaliações Iniciais
Teste de Vazamento de Dados – Verificar se dados pessoais não estão expostos em cookies, URLs ou logs.
Validação de Criptografia – Confirmar que dados pessoais são criptografados antes do armazenamento ou transmissão.
Simulação de Ataques – Testar a resiliência contra ataques como “session hijacking” e “token replay”.
Revisão de Logs – Garantir que os logs não armazenem dados pessoais sensíveis.
Referências técnicas
ISO/IEC 27001 – Diretrizes para proteção de informações pessoais.
ISO/IEC 27701 – Extensão para proteção de dados pessoais.
OWASP Top 10 – Mitigação de vulnerabilidades comuns, como vazamento de dados.
LGPD e GDPR
Considerações Finais
O Gerenciamento de Sessões, como desenvolvido nesta documentação, assume uma posição importante na construção de sistemas confiáveis e resilientes. Através do controle preciso das sessões de usuário, estamos fortalecendo as barreiras contra ameaças, como o sequestro de sessão e uso indevido de tokens, enquanto garante conformidade com regulamentos de proteção de dados. Mantendo a confidencialidade, integridade e disponibilidade dos dados sensíveis em nosso contexto de atuação na área de saúde.
Referências
ISO/IEC 27001 – Sistema de Gestão de Segurança da Informação.
ISO/IEC 27034 – Segurança da Informação para Processos de Desenvolvimento de Aplicações.
OWASP Application Security Verification Standard (ASVS) – Diretrizes para autenticação e gerenciamento de sessões.
NIST Secure Software Development Framework – Práticas de segurança no desenvolvimento de software.
LGPD (Lei Geral de Proteção de Dados) – Regulamentação brasileira para proteção de dados.
GDPR (General Data Protection Regulation) – Regulamentação europeia de proteção de dados.
SAFECode – Fundamental Practices for Secure Software Development.