segurança de software na administração pública federal
DESCRIPTION
Palestra proferida no 1° Encontro OWASP 2013 em Segurança Cibernética.TRANSCRIPT
Segurança de Software na APF
1° Encontro OWASP 2013 em Segurança Cibernética
Programação
• Motivação
• DSIC
• IN GSI I e NCs
• GT NC16
• NC 16 em detalhe
2
@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
Motivação
4
Estatísticas Domínios Governamentais
5
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
Coord DSIC
Elaboração de Normas e Capacitação
de Servidores, ouvido o Comitê Gestor
de Segurança da Informação.
Avaliar Acordos Internacionais de Troca
de Informações Classificadas com
vistas ao Sistema de Segurança e
Credenciamento.
Centro de Resposta de
Incidentes de Redes da APF.
Coordenação-Geral de Gestão de SIC
(CGGSIC)
Coordenação-Geral do Sistema de Segurança e
Credenciamento (CGSISC)
Coordenação-Geral de Tratamento de Incidente
de Redes (CGTIR)
7
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
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
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
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
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
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
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
NC16
• Participantes do Grupo de Trabalho
15
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
NC16
• Desenvolvimento (11)
• Aquisição (9)
17
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 internamente
Fornecido por terceiros
18
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
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 internamente
Fornecido por terceiros
20
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
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
NC16
• Considerar o controle de acesso durante a etapa de desenvolvimento.
Desenvolvido internamente
23
NC16
• Implementar os controles de segurança por múltiplas camadas, de acordo com a criticidade das informações tratadas pelo software.
Desenvolvido internamente
Val
idaç
ão d
e en
trad
a
SQL Injection
Pre
par
ed S
tate
men
t
Perm
issã
o m
ínim
a u
suár
io B
D
24
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
NC16
• Construir o software de forma que suas mensagens de erro não revelem detalhes da sua estrutura interna.
Desenvolvido internamente
26
NC16
• Verificar o atendimento dos requisitos de segurança do software.
Como verificar?
Análise Estática
Análise Dinâmica
Desenvolvido internamente
Fornecido por terceiros
27
NC16
• Configurar adequadamente o software desenvolvido quando este passar para o ambiente de produção.
Desenvolvido internamente
28
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
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
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
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
NC16
• Todos os procedimentos de segurança descritos pela NC16 devem estar previstos no instrumento contratual correspondente.
Fornecido por terceiros
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