O documento resume a Norma Complementar 16 (NC16) da Administração Pública Federal brasileira, que estabelece diretrizes para o desenvolvimento e aquisição de software seguro. A NC16 cobre tópicos como requisitos de segurança, controles de segurança, verificação de requisitos e procedimentos contratuais. O objetivo é garantir a obtenção de software seguro nos órgãos e entidades da Administração Pública Federal.
2. Programação
• Motivação
• DSIC
• IN GSI I e NCs
• GT NC16
• NC 16 em detalhe
2
3. @fabriciobraz
• Professor UnB
– Arquitetura de Sofware
• Padrões de Segurança para Projeto de Software
• Rastreabilidade de arquitetura em código
• Projetos S-SDLC (SDL, OpenSAMM, BSIMM)
• OWASP
• NC 16
3
6. DSIC
• Decreto 5.772 de 08 de
maio de 2006
• Decreto 6.931 de 11 de
agosto de 2009
• Decreto 7.411 de 29 de
dezembro de 2010
Planejar e Coordenar a execução das atividades de Segurança Cibernética e
de Segurança da Informação e Comunicações na Administração Pública
Federal.
6
7. Coord DSIC
Coordenação-Geral de Elaboração de Normas e Capacitação
Gestão de SIC de Servidores, ouvido o Comitê Gestor
(CGGSIC)
de Segurança da Informação.
Coordenação-Geral do Avaliar Acordos Internacionais de Troca
Sistema de Segurança e de Informações Classificadas com
Credenciamento
vistas ao Sistema de Segurança e
(CGSISC)
Credenciamento.
Coordenação-Geral de Centro de Resposta de
Tratamento de Incidente
Incidentes de Redes da APF.
de Redes (CGTIR)
7
8. Normativos
• 13/06/08 IN GSI Nº 1
– Disciplina a GSIC na APF, direta e indireta
• 15/10/08 NC 01
– Atividade de normatização.
• 14/10/08 NC 02
– Metodologia de GSIC
• 03/06/09 NC 03
– Diretrizes para a elaboração de política de SIC na
APF.
8
9. Normativos
• 17/10/09 NC 04
– Gestão de riscos de SIC na APF.
• 17/10/09 NC 05
– Disciplina a criação de equipes de tratamento e
respostas a incidentes em redes computacionais -
ETIR nos órgãos e entidades da APF
• 23/11/09 NC 06
– Diretrizes para gestão de continuidade de
negócios, nos aspectos relacionados à SIC, na APF.
9
10. Normativos
• 07/05/10 NC 07
– Diretrizes para Implementação de controles de
acesso relativos à SIC, na APF.
• 24/08/10 NC 08
– Diretrizes para gerenciamento de incidentes em
redes computacionais na APF.
• 22/11/10 NC 09
– Orientações específicas para o uso de recursos
criptográficos.
10
11. Normativos
• 10/02/12 NC 10
– Diretrizes para o processo de inventário e
mapeamento de ativos de informação, para apoiar a
SIC, na APF.
• 10/02/12 NC 11
– Diretrizes para avaliação de conformidade nos
aspectos relativos à SIC na APF
• 10/02/12 NC 12
– Diretrizes e orientações básicas para o uso de
dispositivos móveis nos aspectos referentes à SIC na
APF
11
12. Normativos
• 10/02/12 NC 13
– Diretrizes para a gestão de mudanças nos aspectos
relativos à SIC.
• 10/02/12 NC 14
– Diretrizes e orientações básicas para o uso de
tecnologias de computação em nuvem nos
aspectos referentes à SIC na APF
12
13. Normativos
• 21/05/12 NC 15
– Diretrizes de SIC para o uso de redes sociais nos
aspectos referentes à SIC na APF.
• 21/11/12 NC 16
– Diretrizes e orientações básicas e orientações
básicas para o desenvolvimento e obtenção de
software seguro na APF.
13
14. NC16
• Objetivo
– Estabelecer diretrizes de segurança da informação
e comunicações para a obtenção de software
seguro nos órgãos e entidades da APF.
14
16. NC16
• Princípios na elaboração da norma
– Obtenção de software seguro
• Desenvolvido internamente
• Adquirido via terceiros
– Inclusão indiscriminada das entidades da APF
• Reunião de diretrizes elementares para um programa
de segurança de software
• Recomendações e sugestões
16
18. NC16
• Estabelecer normas internas baseadas na NC16
para desenv./obtenção de software seguro.
Norma Interna - CPD UnB
A partir da data de publicação desta norma, o desenvolvimento ou aquisição
de qualquer software deve ser precedido da designação do responsável pela
definição e validação dos requisitos de segurança de software. Os requisitos
de requisitos de segurança devem ser inspirados pela política de segurança da
informação da UnB.
Desenvolvido Fornecido por
internamente terceiros
18
19. NC16
• Identificar os responsáveis pela definição e
validação dos requisitos de segurança que o
software deva atender.
Comunicado interno
O projeto de migração do serviço de localização pelo CEP para REST terá como
responsável pelos seus requisitos de segurança o servidor José Silva
Desenvolvido
internamente
19
20. NC16
• Definir os requisitos de segurança logo no
início de qualquer projeto de desenv. de
software.
Exemplos de requisitos
Cada atividade do usuário deverá ser rastreada de modo único.
Decisões com falha ou sucesso relacionadas a autorização e autenticação
devem ser logadas.
Desenvolvido Fornecido por
internamente terceiros
20
21. NC16
• Implementar controles de segurança para
proteger os ativos de informação, de acordo
com a sua criticidade a ser definida pelos
respectivos órgãos e entidades da AP.
Exemplos de controles
Validação de entrada
Trilhas de auditoria
Desenvolvido
internamente
21
22. NC16
• Usar controles de segurança como
componentes, de forma que sejam
catalogados e reutilizados em outros sistemas.
Exemplos de Componentes
Filtro de controle de acesso - JSF
Componente de autenticação com multiplos fatores
Desenvolvido
internamente
22
23. NC16
• Considerar o controle de acesso durante a
etapa de desenvolvimento.
Desenvolvido
internamente
23
24. NC16
• Implementar os controles de segurança por
múltiplas camadas, de acordo com a
criticidade das informações tratadas pelo
software.
Validação de entrada
Prepared Statement
Permissão mínima
usuário BD
SQL Injection
Desenvolvido
internamente
24
25. NC16
• Considerar o desenvolvimento da arquitetura
do software de forma a privilegiar a alta
coesão e baixo acoplamento, a facilidade de
uso e a não implementação de mecanismos de
segurança desnecessários.
Desenvolvido
internamente
25
26. NC16
• Construir o software de forma que suas
mensagens de erro não revelem detalhes da
sua estrutura interna.
Desenvolvido
internamente
26
27. NC16
• Verificar o atendimento dos requisitos de
segurança do software.
Como verificar?
Análise Estática
Análise Dinâmica
Desenvolvido Fornecido por
internamente terceiros
27
28. NC16
• Configurar adequadamente o software
desenvolvido quando este passar para o
ambiente de produção.
Desenvolvido
internamente
28
29. NC16
• Instaurar meios que visem o controle da
qualidade e precisão do trabalho efetuado de
forma a garantir que os requisitos de
segurança sejam atendidos.
Conformidade
Condicionar a aceitação de produto a correção das falhas de segurança
reportadas pelos testes.
Fornecido por
terceiros
30
30. NC16
• Estabelecer definições sobre a custódia de
código-fonte e manutenção do software em
caso de falha da empresa contratada.
Fornecido por
terceiros
31
31. NC16
• Definir regras e procedimentos operacionais
para a contratada quanto à liberação de
acesso aos recursos tecnológicos e ao
ambiente físico ou lógico de cada órgão e
entidade da APF.
Fornecido por
terceiros
32
32. NC16
• Definir as regras para transferência do
conhecimento sobre o software desenvolvido,
de modo a permitir a sua manutenção, de
forma independente, por parte da APF.
Fornecido por
terceiros
33
33. NC16
• Todos os procedimentos de segurança
descritos pela NC16 devem estar previstos no
instrumento contratual correspondente.
Fornecido por
terceiros
34
34. Consideração final
• Norma Complementar 16
– Ponto de partida para o progresso da APF em
segurança de software.
– Pode parecer tímida para algumas entidades.
– Órgãos de controle.
35