segurança no desenvolvimento de software

Post on 24-May-2015

3.759 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Apresentação sobre SDL/CLASSP realizada em uma aula de graduação em analise de sistema.

TRANSCRIPT

   

Segurança no desenvolvimento de software

Marcelo M. Fleury…  #GOPHP, #GOJAVA,  #PSL­GO, #FUG­BR, #CISSP­BR …

marcelomf@gmail.com

http://marcelomf.blogspot.com

   

Agenda

Motivação Metodologias para desenvolvimento de 

software Processos para o desenvolvimento de software 

seguro Boas práticas Testes de invasão(pentest) Equipes especialistas Certificações

   

Motivação

Vulnerabilidades Ataques Imagem Riscos ROI ­ Custo/Benefício

   

Metodologias para desenvolvimento de software Cascata

Rup

Cmmi

Mps/Br

Spice

ISO 12207

Espiral

Xp

Scrum

   

Desenvolvimento de software seguro SDL ­ Processos bem definidos aliados a 

metodologia de desenvolvimento, possui como foco único e exclusivo a segurança, exigindo um SOC(Centro de operações de segurança) e analises finais de segurança.

OWASP/CLASP ­ Um 'framework" com processos bem definidos e flexiveis ao ponto de viabilizar relacionamentos não custosos com a metodologia de desenvolvimento de software utilizada pela empresa.

   

SDL ­ Microsoft Comparação do SDL com o desenvolvimento 

em espiral utilizado pela microsoft

Uso de Uso de FerramentasFerramentase Melhorese MelhoresPraticas de Praticas de Desenv. eDesenv. e

Teste Teste

Criação deCriação deDocs e Docs e

FerramentasFerramentaspara opara o

ProdutoProduto

PrepararPrepararPlano dePlano deResposta Resposta

Security Security Push Push

TesteTestePenet. Penet.

RevisãoRevisãoFinal deFinal de

Segurança Segurança

ManutençãoManutençãode de

SegurançaSegurançae Respostae Respostaa Incidentesa Incidentes

Lista de RecursosLista de RecursosGuias de QualidadeGuias de QualidadeDocs de ArquiteturaDocs de Arquitetura

CronogramasCronogramas

EspecificaçõesEspecificaçõesDo DesignDo Design Teste e VerificaçãoTeste e Verificação

DesenvolvimentoDesenvolvimentode Novo Códigode Novo Código Correção de BugsCorreção de Bugs

Ass. do Ass. do Código Código

AprovaçãoAprovaçãoFinalFinal

Rel. Cand.Rel. Cand.

RTMRTM

Suporte ao Suporte ao ProdutoProduto

Service Packs/Service Packs/CorreçõesCorreções

RequisitosRequisitos DesignDesign ImplementaçãoImplementação VerificaçãoVerificação LançamentoLançamentoSuporteSuporte

eeManutençãoManutenção

Treinamento de SegurançaTreinamento de Segurança

Kickoff de Kickoff de SegurançaSegurança

e Registro come Registro como SWIo SWI

MelhoresMelhoresPráticasPráticas

de Designde Design

Arquitetura de Arquitetura de SegurançaSegurança

ModelagemModelagemDe AmeaçasDe Ameaças

EspeficicaçõesEspeficicaçõesFuncionaisFuncionais

Tarefas e Processos Tradicionais no Desenvolvimento de Produtos da MicrosoftTarefas e Processos Tradicionais no Desenvolvimento de Produtos da Microsoft

Tarefas Introduzidas pelo Processo de Desenvolvimento Seguro (SDL)Tarefas Introduzidas pelo Processo de Desenvolvimento Seguro (SDL)

   

Boas práticas

Treinamentos para a equipe de desenvolvimento

Privilégio Mínimo Execução Mínima Segregação de função TDD ­ Desenvolvimento orientado a testes

   

... Boas praticas

Modelagem de ameaças Revisão de código Padrões de projeto Refactoring Manter­se atualizado(securityfocus, milworm, 

etc)

   

Testes de invasão(pentest)

OSSTMM ­ Metodologia open source para testes de invasão.

Externos X Internos, é importante que terceiros testem o software desenvolvido, evitando assim vícios da equipe de desenvolvimento e ou segurança.

   

Tipos de testes de invasão White Box ­ Situação na qual o atacante possui 

total acesso ao sistema e tudo aquilo que foi utilizado para o desenvolvimento do mesmo(códigos, documentação, desenvolvedores...)

Grey box ­ Situação na qual o atacante possui a visão do usuário, com algumas facilidades propostas pela empresa(acesso a binários, libs, alguma documentação...)

Black Box ­ Situação na qual o atacante inicia­se como usuário.

   

Práticas em testes de invasão

Automatizados, utilizando valores aleatórios(fuzzing) e até mesmo inteligentes

Manuais(know­how by tester, OWASP) Framework's de exploits(metasploit) Ferramentas para varreduras(nmap, nessus) Ferramentas para analise de código estático Ferramentas para engenharia 

reversa/debug(gdb, olydbg)

   

Equipes especialistas

Time de Resposta a incidentesEquipe responsável por catalogar, amparar, analisar e solucionar incidentes relacionados a segurança.

Centro de operações de segurançaEquipe responsável por amparar, auditar, fiscalizar e esmiuçar os processos, técnicas e métodos relativos a segurança, utilizados pela a equipe de desenvolvimento.

Hackers!

   

Certificações

CISSP ­ Certified Information Systems Security Professional

CEH ­ Certified Ethical Hacker MCSO ­ Módulo Certified Security Officer CSSLP ­ Certified Secure Software Lifecycle 

Professional

   

Perguntas ?

   

Obrigado!

top related