Buscar

Aula 06072019 - SDLC (2)

Prévia do material em texto

SEGURANÇA DA INFORMAÇÃO 
 
 
Segurança da Informação 
Gestão da Segurança no SDLC 
Professor Marcos Silva Sousa 
SEGURANÇA DA INFORMAÇÃO 
Segurança da Informação 
SEGURANÇA DA INFORMAÇÃO 
Segurança da Informação 
• Segundo a norma NBR ISO/IEC 17799, é a 
proteção contra um grande número de ameaças às 
informações, de forma a assegurar a continuidade 
do negócio, minimizando danos comerciais e 
maximizando o retorno de possibilidades e 
investimentos. 
 
SEGURANÇA DA INFORMAÇÃO 
Segurança da Informação 
SEGURANÇA DA INFORMAÇÃO 
Segurança da Informação 
SEGURANÇA DA INFORMAÇÃO 
Engenharia de Software 
• O software, além do conceito de uma 
sequência de instruções que controlam o 
computador, do processamento de dados e 
informações é tido como uma tecnologia 
evolucionária e seu âmbito de aplicação é 
muito abrangente. 
SEGURANÇA DA INFORMAÇÃO 
Engenharia de Software 
• Governo, empresas, pessoas físicas; 
• Inerente aos processos de negócio; 
• Ramos de atividade: 
1.Finanças; 
2.Comunicação; 
3.Saúde; 
4.Outros. 
SEGURANÇA DA INFORMAÇÃO 
Segurança em Software 
• Por que segurança em desenvolvimento? 
SEGURANÇA DA INFORMAÇÃO 
Justificativa para Segurança 
• Hackers invadem computadores e celulares e sequestram dados. 
• Ataque atingiu computadores em quase 100 países. 
• Vírus explora uma falha grave no sistema Windows. 
• Método de ataque é uma das principais ameaças virtuais. 
• Golpe já movimentou mais de R$ 70 milhões pelo mundo. 
 
 Fábrica de móveis sob medida em Goiás – cadastro, folha de pagamento 
de empregados e os programas que controlam a linha de montagem, 
resultado 15 dias parada; 
 Prefeitura Municipal de Japorã – a 500km de Campo Grande MS, sem 
acesso as informações de licitação, recursos humanos, tributários e o 
sistema financeiro. 
http://g1.globo.com/fantastico/noticia/2015/10/hackers-invadem-computadores-e-celulares-e-sequestram-dados.html 
http://g1.globo.com/jornal-nacional/noticia/2017/05/ataque-hacker-atingiu-computadores-em-quase-100-paises-na-sexta.html 
 
SEGURANÇA DA INFORMAÇÃO 
Justificativa para Segurança 
SEGURANÇA DA INFORMAÇÃO 
Software Seguro 
• O que é software seguro? 
SEGURANÇA DA INFORMAÇÃO 
Software Seguro 
• É aquele que resiste a invasão e não permite 
modificação no seu funcionamento, mesmo 
que seja forçado a falhar. 
SEGURANÇA DA INFORMAÇÃO 
Software Seguro 
• Embora o esperado seja a confiabilidade total, 
de modo que as atividades possam ser 
realizadas por completo e sem interrupções, é 
comum ocorrer erros no desenvolvimento de 
software. 
SEGURANÇA DA INFORMAÇÃO 
Origem dos Defeitos de Software 
Fonte: Crosstalk, Journal of Defense Software Engineering 
SEGURANÇA DA INFORMAÇÃO 
Divisão de Defeitos Introduzidos por Fase 
Fases de desenvolvimento 
de software 
Porcentagem de defeitos 
introduzidos 
Requisitos 20 % 
Design 25 % 
Codificação 35 % 
Manuais do usuário 12 % 
Maus reparos 8 % 
Fonte: Computer Finance Magazine 
SEGURANÇA DA INFORMAÇÃO 
Falhas 
• Um serviço a ser provido pelo sistema pode 
falhar por não atender a especificação funcional 
ou porque essa especificação não reflete 
corretamente a necessidade, levando o serviço 
de seu estado correto para um estado incorreto. 
SEGURANÇA DA INFORMAÇÃO 
Falhas 
• Manutenção em software é mais complicada do que em 
hardware; 
• Não é simples a substituição de componentes; 
• A cada manutenção, há um pico no índice de falhas; 
 
SEGURANÇA DA INFORMAÇÃO 
Motivos das Falhas de Segurança 
• Falta de consciência da equipe de desenvolvimento. 
• Falha em identificar requisitos de segurança; 
• Negligência na fase de design; 
• Escolha de linguagem de programação insegura; 
• Especificação funcional incompleta; 
SEGURANÇA DA INFORMAÇÃO 
Falhas de Segurança mais Comuns 
1.Buffer Overflow; 
 
 
2.Race Condition; 
SEGURANÇA DA INFORMAÇÃO 
Vulnerabilidades 
• Podem ser avaliadas a partir de testes estáticos 
ou dinâmicos. Os testes estáticos estão 
relacionados à verificação de vulnerabilidades 
exploráveis que podem aparecer no código fonte 
da aplicação. Já os testes dinâmicos estão 
relacionados com a busca por problemas com o 
software em execução. 
SEGURANÇA DA INFORMAÇÃO 
Ameaças 
• Todo software está exposto a ameaças que 
atentam contra o seu correto funcionamento, 
impedindo que as atividades previstas possam 
ser realizadas por completo. 
SEGURANÇA DA INFORMAÇÃO 
Ameaças 
Fonte: https://pt.slideshare.net/luiz_arthur/seguranca-da-informao-conceitos 
SEGURANÇA DA INFORMAÇÃO 
Modelagem de Ameaças 
• A partir de um conceito militar surgido nos Estados 
Unidos foi criado a modelagem de ameaças. 
Processo estratégico que considera a 
possibilidade de inúmeros cenários de ataque e 
vulnerabilidades as quais podem ocorrem dentro 
de um ambiente de aplicação. 
SEGURANÇA DA INFORMAÇÃO 
Princípios da Elaboração de Modelos 
• A elaboração de modelos de ameaças não deve 
ser um processo de momento. Deve ser um 
processo iterativo que começa durante as 
primeiras fases de projeto da aplicação e 
continua durante seu ciclo de vida. 
SEGURANÇA DA INFORMAÇÃO 
• Identificar a origem das ameaças, critérios de 
execução, condições de ocorrência e impactos; 
• Serve como um guia para todos os estágios do 
ciclo de vida; 
• Atrai a atenção dos stakeholders em relação à 
importância da segurança; 
• É constantemente atualizado durante o processo 
de desenvolvimento de software. 
Desenhar Modelos de Ameaças 
SEGURANÇA DA INFORMAÇÃO 
Como Desenhar Modelos de Ameaças 
• Identificar áreas de interesse do atacante; 
• Identificar as funcionalidades que serão 
executadas (e como); 
• identificar as tecnologias que serão usadas na 
construção do software, bem como seu 
ambiente de operação; 
SEGURANÇA DA INFORMAÇÃO 
Como Desenhar Modelos de Ameaças 
• Identificar padrões de ataque em sistemas 
semelhantes; 
• Documentar cada ameaça com descrição, alvo, 
risco, técnica de defesa e estratégia de gestão 
de risco; 
• Utilizar a informação documentada para 
priorizar as ameaças com base no impacto que 
podem causar. 
SEGURANÇA DA INFORMAÇÃO 
Modelo de Ameaças 
SEGURANÇA DA INFORMAÇÃO 
Modelo de Ameaças 
SEGURANÇA DA INFORMAÇÃO 
Modelo de Ameaças 
SEGURANÇA DA INFORMAÇÃO 
Modelo de Ameaças 
SEGURANÇA DA INFORMAÇÃO 
Ciclo de Vida de Software 
• Estrutura contendo processos, atividades e tarefas 
envolvidas no desenvolvimento, operação e 
manutenção de um produto de software, 
abrangendo a vida do sistema, desde a definição 
de seus requisitos até o término de seu uso. 
 Fonte: [NBR ISO/IEC 12207:1998] 
SEGURANÇA DA INFORMAÇÃO 
SDLC – Software Development Life Cycle 
SEGURANÇA DA INFORMAÇÃO 
Modelos de Ciclo de Vida 
• Cascata; 
• Iterativo/Incremental; 
• Espiral; 
• Prototipação; 
• Ágil; 
• RAD; 
SEGURANÇA DA INFORMAÇÃO 
Cascata 
SEGURANÇA DA INFORMAÇÃO 
Cascata 
• Vantagens: 
– Permite utilizar pontos de controle bem definidos. 
– Facilita a gestão com previsibilidade de prazos e custo. 
 
• Desvantagens: 
– Normalmente, os projetos de software não seguem um 
fluxo sequencial. 
– Tempo de entrega muito longo. 
 
SEGURANÇA DA INFORMAÇÃO 
Iterativo / Incremental 
SEGURANÇA DA INFORMAÇÃO 
Iterativo / Incremental 
• Vantagens: 
– Existe um risco menor de fracasso do software. 
– Reduz a chance de mudança de requisito. 
 
• Desvantagem:– Este modelo só é possível se existir um mecanismo 
para dividir os requisitos do sistema em partes. 
 
SEGURANÇA DA INFORMAÇÃO 
Espiral 
SEGURANÇA DA INFORMAÇÃO 
Espiral 
• Vantagens: 
– Mais realista para o desenvolvimento de software em 
grande escala. 
– Permite que o gerente e o cliente acompanhem e 
gerenciem os riscos. 
 
• Desvantagens: 
– Exige experiência na avaliação de riscos. 
– Evidencia-se a importância de uma boa Gerência de 
Projetos. 
SEGURANÇA DA INFORMAÇÃO 
Prototipação 
SEGURANÇA DA INFORMAÇÃO 
Prototipação 
• Vantagens: 
– Refinamento gradativo dos requisitos. 
– O cliente visualiza as telas que irá interagir. 
 
• Desvantagens: 
– O cliente não entende o que é um protótipo. 
– Atraso no desenvolvimento e custo elevado do projeto. 
SEGURANÇA DA INFORMAÇÃO 
Ágil 
SEGURANÇA DA INFORMAÇÃO 
Ágil 
• Vantagens: 
– Maior comprometimento dos membros da equipe. 
– Pode associar técnicas para melhorar o desenvolvimento. 
– Redução dos riscos, devido ao forte planejamento dos 
processos. 
 
• Desvantagens: 
– Possui um número muito grande de processos. 
– Várias reuniões previstas ao longo do seu ciclo. 
SEGURANÇA DA INFORMAÇÃO 
RAD 
SEGURANÇA DA INFORMAÇÃO 
RAD 
• Vantagens: 
– Baseado em componentes. 
– Pode ser desenvolvido em várias equipes. 
 
• Desvantagens: 
– Apenas para projetos rápidos e modulares. 
– A reutilização pode comprometer a qualidade do código. 
– Dificuldade com reuso de módulos. 
SEGURANÇA DA INFORMAÇÃO 
SDLC e Segurança 
• O modelo, as técnicas e os métodos empregados 
no processo de desenvolvimento de software 
influem decisivamente na segurança da 
informação. 
• Em alguns modelos a segurança é abordada nas 
fases finais do processo. 
• Outro aspecto é a distância entre a atuação das 
equipes de desenvolvimento e as equipes 
voltadas para a segurança da informação. 
SEGURANÇA DA INFORMAÇÃO 
Principais Fases do SDLC 
1.Análise/Requisitos; 
2.Projeto; 
3. Implementação; 
4.Teste; 
5. Implantação; 
6.Manutenção. 
SEGURANÇA DA INFORMAÇÃO 
Fase de Requisitos 
• Identificar requisitos de segurança; 
• Desenvolver casos de abuso; 
• Preparar documentos de requisitos; 
SEGURANÇA DA INFORMAÇÃO 
Requisitos de Segurança 
• Descrevem aspectos de segurança do projeto; 
• Sustentam os objetivos de segurança; 
• Oriundos também de modelos de ameaças, padrões da 
indústria, etc. 
SEGURANÇA DA INFORMAÇÃO 
Casos de Abuso 
• Descrevem o que o sistema não deve fazer; 
• Identificam diferentes atacantes e as diferenças 
entre eles; 
• Identificam os estados do sistema pré e pós ataque. 
SEGURANÇA DA INFORMAÇÃO 
Casos de Abuso 
SEGURANÇA DA INFORMAÇÃO 
Casos de Abuso 
SEGURANÇA DA INFORMAÇÃO 
Preparar Documentos de Requisitos 
• Servem como guia do processo de desenvolvimento; 
• Incluem aspectos funcionais, não funcionais e de 
segurança; 
SEGURANÇA DA INFORMAÇÃO 
Fase de Projeto 
• Construir arquitetura de segurança; 
• Identificar pontos de interação; 
• Identificar recursos e seus pontos de acesso; 
• Minimizar superfície de ataque; 
• Desenhar modelo de ameaças. 
 
SEGURANÇA DA INFORMAÇÃO 
Fase de Implementação 
• Escrever código seguro; 
• Artefatos anteriores guiam os desenvolvedores; 
• Realizar análise estática de código; 
• Etapa em que as falhas de segurança são detectadas; 
• Realizar revisão de código. 
• Revisores devem saber o que procuram, examinando o código, 
sugerindo correções ou adições. 
SEGURANÇA DA INFORMAÇÃO 
Código Seguro 
• Utilizar modelo de ameaças para identificar 
ameaças críticas e ter um cuidado especial na 
codificação das funcionalidades associadas; 
• Seguir diretrizes que contenham informações 
sobre as falhas de segurança no nível de 
implementação. 
SEGURANÇA DA INFORMAÇÃO 
Revisão de Código 
• Revisão em 3 etapas: 
• Executar novamente a análise estática e 
observar erros e avisos; 
• Procurar por vulnerabilidades comuns; 
• Analisar cuidadosamente as áreas críticas. 
SEGURANÇA DA INFORMAÇÃO 
Fase de Testes 
• Planejamento de teste; 
• Utilizar casos de abuso e modelo de ameaças para identificar 
possíveis ataques, como ocorrem e seus impactos; 
• Preparar o ambiente de teste; 
• Preparar hardware, software e ambiente de rede 
• Teste. 
• Teste funcional de mecanismos de segurança; 
• Teste baseado em risco para simular o comportamento do atacante. 
 
 
SEGURANÇA DA INFORMAÇÃO 
Fase de Implantação 
• Revisão da segurança; 
• Localizar falha de segurança remanescente. 
• Auditoria da segurança; 
• Checklist para identificar se todas as práticas de segurança foram 
adotadas durante o desenvolvimento do software. 
• Implantar. 
• Publicação do software com as configurações e definições padrão. 
SEGURANÇA DA INFORMAÇÃO 
Fase de Manutenção 
• Identificar falhas de segurança que não foram 
corrigidas durante o processo de desenvolvimento; 
• Monitorar o software em virtude da possibilidade de 
novas ameaças. 
SEGURANÇA DA INFORMAÇÃO 
 
 
Segurança da Informação 
Gestão da Segurança no SDLC 
Professor Marcos Sousa 
 
E-mail: jrc.marcos@gmail.com

Continue navegando