Baixe o app para aproveitar ainda mais
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
Compartilhar