SEGURANÇA COMO PARTE INTEGRAL NO CICLO
DE DESENVOLVIMENTO DE SOFTWARE
Nome: Vinícius Oliveira Ferreira
Email: viniciusoliv...
Agenda
 A segurança hoje
 Por quê de forma integral?
 Técnicas e métodos de segurança nas
fases de desenvolvimento.
 C...
Agenda
 A segurança hoje
 Por quê de forma integral?
 Técnicas e métodos de segurança nas
fases de desenvolvimento.
 C...
Os dias são maus …
4
Campus Party 2015
Os dias são maus …
5
Campus Party 2015
 Inquestionavelmente, vivemos hoje uma
nova ordem cibernética mundial;
 E poucos ...
Mercado de Vulnerabilidades Zero-day
6
Campus Party 2015
 O mercado de vulnerabilidades zero-day
encontra-se em franca ex...
Mercado de Vulnerabilidades Zero-day
7
Campus Party 2015
 White Market: Programas Bug Bounty
(Google, Facebook, VCP, ZDI ...
Mercado de Vulnerabilidades Zero-day
8
Campus Party 2015
We value the researcher ecosystem, and show that in a
variety of ...
Mercado de Vulnerabilidades Zero-day
9
Campus Party 2015
We value the researcher ecosystem, and show that in a
variety of ...
Mercado de Vulnerabilidades Zero-day
10
Campus Party 2015
 Gray Market: Vulnerabilidades vendidas a
compradores legítimos...
Mercado de Vulnerabilidades Zero-day
11
Campus Party 2015
 Alguns Dados:
Em 2013 a NSA gastou $25,000,000 com
vulnerabil...
Mercado de Vulnerabilidades Zero-day
12
Campus Party 2015
Até o Mitnick:
Mercado de Vulnerabilidades Zero-day
13
Campus Party 2015
Mercado de Vulnerabilidades Zero-day
14
Campus Party 2015
 Recomendações – NSS Labs:
 Profissionais de segurança devem s...
Mercado de Vulnerabilidades Zero-day
15
Campus Party 2015
 Recomendações – NSS Labs:
 Profissionais de segurança devem s...
Vazamento de armas Cibernéticas
16
Campus Party 2015
Agenda
 A segurança hoje
 Por quê de forma integral?
 Técnicas e métodos de segurança nas
fases de desenvolvimento.
 C...
Por quê de forma integral?
18
Campus Party 2015
 Deixar a segurança para depois é como tratar
qualquer problema de forma ...
O caso ShellShock
19
Campus Party 2015
 Uma vulnerabilidade encontrada no bash, amplamente
utilizado por sistemas unix-ba...
O caso ShellShock
20
Campus Party 2015
 O caso ShellShock (Linha do tempo)
 01/09/1989: versão com a vulnerabilidade she...
O caso ShellShock
21
Campus Party 2015
 O caso ShellShock (Linha do tempo)
 24/09/2014: Tavis Ormandy (Google) consegue ...
O caso ShellShock
22
Campus Party 2015
 O caso ShellShock (Linha do tempo)
 26/09/2014: Red-HAT, CentOS, Fedora, Debian,...
O caso ShellShock
23
Campus Party 2015
 O caso ShellShock (Linha do tempo)
 01/10/2014: Nova correção oficial (Official ...
24
Campus Party 2015
 Incêndios são difíceis de se apagar.
Por quê de forma integral?
25
Campus Party 2015
 Incêndios causam prejuízos.
 David Rice, autor do livro Geekonomics: The Real Cost
of Insecure Sof...
Agenda
 A segurança hoje
 Por quê de forma integral?
 Técnicas e métodos de segurança nas
fases de desenvolvimento.
 C...
Segurança na Fase de Levantamento
de Requisitos
27
Campus Party 2015
 Envolva o cliente com os aspectos de segurança.
 C...
Segurança na Fase de Levantamento
de Requisitos
28
Campus Party 2015
 Tenha em mente os aspectos de
confidencialidade, in...
Segurança na Fase de Levantamento
de Requisitos
29
Campus Party 2015
Figura extraída de [7]
Segurança na Fase de Projeto
30
Campus Party 2015
 Modele casos de abuso (Misuse Cases)
Não é interessante que somente a...
31
Campus Party 2015
Figura extraída de [8].
Segurança na Fase de Projeto
32
Campus Party 2015
 Desenvolva um Modelo de Ameaças (Threat
Modeling)
 Modelo de ameaças ...
Segurança na Fase de Projeto
33
Campus Party 2015
Figura extraída de [9]
Segurança na Fase de Desenvolvimento
34
Campus Party 2015
 Desenvolva software seguro por padrão.
 Os princípios de Defe...
Segurança na Fase de Desenvolvimento
35
Campus Party 2015
Segurança na Fase de Desenvolvimento
36
Campus Party 2015
 Escreva código seguro.
 Um princípio básico para se ter softw...
Segurança na Fase de Implantação
37
Campus Party 2015
 Realize uma instalação segura.
Um software desenvolvido nos princ...
Segurança na Fase de Implantação
38
Campus Party 2015
 Realize a avaliação de vulnerabilidades
e testes de penetração.
A...
Segurança na Fase de Implantação
39
Campus Party 2015
 No caso dos COTS (Commercial off-
the-shelf)
 Considere a implant...
Segurança na Fase de Manutenção
40
Campus Party 2015
 Todas as atualizações devem ser
desenvolvidas nos mesmos moldes de
...
Segurança na Fase de Manutenção
41
Campus Party 2015
Um plano de resposta a incidentes pode ser
dividido em quatro fases:...
Segurança na Fase de Manutenção
42
Campus Party 2015
Por fim, continue
monitorando, avaliando e
testando !!!
Iniciativas
43
Campus Party 2015
ISO/IEC 20734
BSIMM (The Building Security In Maturity
Model)
OWASP (Open Web Applicat...
Agenda
 A segurança hoje
 Por quê de forma integral?
 Técnicas e métodos de segurança nas
fases de desenvolvimento.
 C...
Conclusões
45
Campus Party 2015
 A tendência é que as ameaças continuem
evoluindo. Nossos Softwares
acompanharão essa evo...
Conclusões
46
Campus Party 2015
 Dificuldades:
Cursos de TI não abordam segurança;
A engenharia de software não aborda
...
Conclusões
47
Campus Party 2015
Referências Bibliográficas
48
Campus Party 2015
[1] Lemos, R. Market For Vulnerability Information Grows. Information Secu...
Referências Bibliográficas
49
Campus Party 2015
[6] Ponemon Institute, sponsored by IBM. 2014 Cost of Data Breach Study. 2...
Próximos SlideShares
Carregando em…5
×

Segurança como parte integral no ciclo de desenvolvimento de software

178 visualizações

Publicada em

O uso de armas cibernéticas em operações de Ciberguerra e Ciberterror, a descoberta de vulnerabilidades críticas em aplicações amplamente utilizadas, o crescimento do mercado de vulnerabilidades zero-day e APTs são alguns exemplos do total estado de insegurança nos dias de hoje. Como protagonistas neste cenário observam-se os softwares, cada vez mais explorados e vulneráveis. Neste sentido, o objetivo desta apresentação é advogar a incorporação de processos de segurança de forma integral no desenvolvimento do software, pois a falta desta prática tem sido a origem dos maiores problemas de segurança. No início, será abordado como os fatos envolvendo Ciberguerra e Ciberterror afetam toda a comunidade de desenvolvimento de software. Após, será feita uma análise da linha do tempo envolvendo a divulgação e correção da vulnerabilidade recente "Shellshock", mostrando-se a problemática de se deixar a implementação da segurança quando o software já se encontra em produção. Por fim, serão abordados processos e métodos de segurança que podem ser utilizados nas várias fases do ciclo de vida do desenvolvimento de software: levantamento de requisitos, projeto, desenvolvimento, implantação e manutenção. Dessa forma, levando em consideração tópicos relativos à segurança da informação e a engenharia de software, espera-se munir os profissionais de segurança com melhores recursos para que possam mentorear as equipes de desenvolvimento de suas empresas e instituições rumo ao desenvolvimento de softwares mais seguros.

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
178
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Segurança como parte integral no ciclo de desenvolvimento de software

  1. 1. SEGURANÇA COMO PARTE INTEGRAL NO CICLO DE DESENVOLVIMENTO DE SOFTWARE Nome: Vinícius Oliveira Ferreira Email: viniciusoliveira@acmesecurity.org PGP Key ID: 0xE7960563
  2. 2. Agenda  A segurança hoje  Por quê de forma integral?  Técnicas e métodos de segurança nas fases de desenvolvimento.  Conclusões. 2 Campus Party 2015
  3. 3. Agenda  A segurança hoje  Por quê de forma integral?  Técnicas e métodos de segurança nas fases de desenvolvimento.  Conclusões. 3 Campus Party 2015
  4. 4. Os dias são maus … 4 Campus Party 2015
  5. 5. Os dias são maus … 5 Campus Party 2015  Inquestionavelmente, vivemos hoje uma nova ordem cibernética mundial;  E poucos entendem as implicações práticas deste novo cenário;
  6. 6. Mercado de Vulnerabilidades Zero-day 6 Campus Party 2015  O mercado de vulnerabilidades zero-day encontra-se em franca expansão;  Motivado pelo surgimento de um novo mercado - “The Gray Market” [1].
  7. 7. Mercado de Vulnerabilidades Zero-day 7 Campus Party 2015  White Market: Programas Bug Bounty (Google, Facebook, VCP, ZDI e etc). Recompensas variam de $500 a $5,000, mais reconhecimento pela comunidade.  Black Market: Vulnerabilidades vendidas para organizações criminosas. Ética impede os pesquisadores de migrarem para este mercado.
  8. 8. Mercado de Vulnerabilidades Zero-day 8 Campus Party 2015 We value the researcher ecosystem, and show that in a variety of ways, but we don’t think paying a per-vuln bounty is the best way. Especially when across the researcher community the motivations aren’t always financial. It is well-known that we acknowledge researcher’s contributions in our bulletins when a researcher has coordinated the release of vulnerability details with the release of a security update - Jerry Bryant – Microsoft.
  9. 9. Mercado de Vulnerabilidades Zero-day 9 Campus Party 2015 We value the researcher ecosystem, and show that in a variety of ways, but we don’t think paying a per-vuln bounty is the best way. Especially when across the researcher community the motivations aren’t always financial. It is well-known that we acknowledge researcher’s contributions in our bulletins when a researcher has coordinated the release of vulnerability details with the release of a security update - Jerry Bryant – Microsoft.
  10. 10. Mercado de Vulnerabilidades Zero-day 10 Campus Party 2015  Gray Market: Vulnerabilidades vendidas a compradores legítimos: governos, empresas de espionagem e monitoramento e etc.  Os preços geralmente começam em $20,000, podendo chegar a $200,000 [1].  Empresas atuantes: VUPEN (França), ReVuln (Malta), Netragard, Endgame Systems, and Exodus Intelligence (US).
  11. 11. Mercado de Vulnerabilidades Zero-day 11 Campus Party 2015  Alguns Dados: Em 2013 a NSA gastou $25,000,000 com vulnerabilidades 0-day [2]. Com o preço médio de $20,000 a $200,000 pode se estimar um valor de 125 a 1250 vulnerabilidades adquiridas; Algumas empresas vendem planos de assinaturas. Endgame Systems oferece 25 exploits por ano a uma assinatura de 2.5 milhões [3].
  12. 12. Mercado de Vulnerabilidades Zero-day 12 Campus Party 2015 Até o Mitnick:
  13. 13. Mercado de Vulnerabilidades Zero-day 13 Campus Party 2015
  14. 14. Mercado de Vulnerabilidades Zero-day 14 Campus Party 2015  Recomendações – NSS Labs:  Profissionais de segurança devem se conscientizarem sobre os perigos trazidos por este novo cenário;  Como é difícil prevenir, empresas deveriam implantar ferramentas e processos para rápida detecção e mitigação de uma violação;  Fornecedores de software deveriam investir mais em programas Bug Bounty.
  15. 15. Mercado de Vulnerabilidades Zero-day 15 Campus Party 2015  Recomendações – NSS Labs:  Profissionais de segurança devem se conscientizarem sobre os perigos trazidos por este novo cenário;  Como é difícil prevenir, empresas deveriam implantar ferramentas e processos para rápida detecção e mitigação de uma violação;  Fornecedores de software deveriam investir mais em programas Bug Bounty.
  16. 16. Vazamento de armas Cibernéticas 16 Campus Party 2015
  17. 17. Agenda  A segurança hoje  Por quê de forma integral?  Técnicas e métodos de segurança nas fases de desenvolvimento.  Conclusões. 17 Campus Party 2015
  18. 18. Por quê de forma integral? 18 Campus Party 2015  Deixar a segurança para depois é como tratar qualquer problema de forma reativa.  E conhecemos muito bem os problemas disso;  Construímos softwares cheios de vulnerabilidades;  Para então termos que apagar o incêndio depois.
  19. 19. O caso ShellShock 19 Campus Party 2015  Uma vulnerabilidade encontrada no bash, amplamente utilizado por sistemas unix-based (Ubuntu, Mac, e etc).  Uma falha na forma como o bash avaliava o valor de algumas variáveis de ambiente especialmente formadas, o que permitia a execução de código arbitrário por parte de um atacante.  O National Vulnerability Database atribuiu a pontuação máxima (10/10) quanto ao risco desta vulnerabilidade [4].
  20. 20. O caso ShellShock 20 Campus Party 2015  O caso ShellShock (Linha do tempo)  01/09/1989: versão com a vulnerabilidade shellshock do bash é lançada.  12/09/2014: Stéphane Chazelas (Red-Hat) reporta a vulnerabilidade para Chet Ramey, desenvolvedor chefe do bash.  16/09/2014: Chet Ramey “finaliza” a criação dos patches de correção para todas as versões do bash, antes da vulnerabilidade ser tornar pública.  24/09/2014: Vulnerabilidade é divulgada ao público, juntamente com as correções de Chet Ramey (Official Patch 25 for bash).
  21. 21. O caso ShellShock 21 Campus Party 2015  O caso ShellShock (Linha do tempo)  24/09/2014: Tavis Ormandy (Google) consegue subverter o patch de correção, lançando uma nova versão da vulnerabilidade Shellshock.  25/09/2014: Mídia começa divulgar os primeiros ataques.
  22. 22. O caso ShellShock 22 Campus Party 2015  O caso ShellShock (Linha do tempo)  26/09/2014: Red-HAT, CentOS, Fedora, Debian, e Ubuntu lançam correções independentes.  26/09/2014: Chet Ramey lança nova correção oficial (Official Patch 26 for bash), mas só é suficiente para alguns casos específicos e novamente não resolveu o problema.  27/09/2014: Nova correção oficial (Official Patch 27 for bash).  29/09/2014: Apple lança correção independente para seus produtos.
  23. 23. O caso ShellShock 23 Campus Party 2015  O caso ShellShock (Linha do tempo)  01/10/2014: Nova correção oficial (Official Patch 28 for bash).  02/10/2014: Nova correção oficial (Official Patch 29 for bash).  05/10/2014: Nova correção oficial (Official Patch 30 for bash).
  24. 24. 24 Campus Party 2015  Incêndios são difíceis de se apagar. Por quê de forma integral?
  25. 25. 25 Campus Party 2015  Incêndios causam prejuízos.  David Rice, autor do livro Geekonomics: The Real Cost of Insecure Software, estimou que os custos anuais com falhas de segurança de software ficam em torno dos 180 bilhões de dólares [5].  Custo médio de uma violação de dados: 3,5 milhões de dólares [6].  Existem outros custos que são imensuráveis, como a perca de reputação e da confiança dos clientes. Por quê de forma integral?
  26. 26. Agenda  A segurança hoje  Por quê de forma integral?  Técnicas e métodos de segurança nas fases de desenvolvimento.  Conclusões. 26 Campus Party 2015
  27. 27. Segurança na Fase de Levantamento de Requisitos 27 Campus Party 2015  Envolva o cliente com os aspectos de segurança.  Contextualize-o sobre os novos perigos presentes no ambiente Cyber;  Isso o ajudará a compreender os possíveis riscos;  Permitirá a elicitação de requisitos especiais de proteção ao software;  Fuja dos jargões técnicos.
  28. 28. Segurança na Fase de Levantamento de Requisitos 28 Campus Party 2015  Tenha em mente os aspectos de confidencialidade, integridade, disponibilidade e autenticidade.  Faça suas perguntas considerando estes conceitos:  O acesso às informações deverá ser aberto ou restrito ?  Quais são os fatores que permitem alterações autorizadas, e quem está autorizado a fazê-los ?  Qual a tolerância quanto a disponibilidade do sistema ?
  29. 29. Segurança na Fase de Levantamento de Requisitos 29 Campus Party 2015 Figura extraída de [7]
  30. 30. Segurança na Fase de Projeto 30 Campus Party 2015  Modele casos de abuso (Misuse Cases) Não é interessante que somente as funcionalidades estejam presentes nos casos de uso; É necessário que os possíveis abusos também estejam retratados; Assim pode-se analisar as ameaças que cada funcionalidade pode acrescentar ao sistema.
  31. 31. 31 Campus Party 2015 Figura extraída de [8].
  32. 32. Segurança na Fase de Projeto 32 Campus Party 2015  Desenvolva um Modelo de Ameaças (Threat Modeling)  Modelo de ameaças é uma representação estruturada das possíveis ameaças que podem envolver um sistema de software;  O objetivo é a identificação das principais ameaças que o sistema possa estar exposto;  Assim é possível a elaboração de um plano de contramedidas para prevenir ou mitigar os efeitos de uma dada ameaça.
  33. 33. Segurança na Fase de Projeto 33 Campus Party 2015 Figura extraída de [9]
  34. 34. Segurança na Fase de Desenvolvimento 34 Campus Party 2015  Desenvolva software seguro por padrão.  Os princípios de Defesa em Profundidade e Privilégio Mínimo devem nortear toda a fase de desenvolvimento do projeto.
  35. 35. Segurança na Fase de Desenvolvimento 35 Campus Party 2015
  36. 36. Segurança na Fase de Desenvolvimento 36 Campus Party 2015  Escreva código seguro.  Um princípio básico para se ter software seguro; Um bom código elimina as ameaças mais comumente utilizadas nos ataques: Buffer- Overflow, ataques de injeção, dentre outros Não concatene strings em suas consultas SQL! SELECT * FROM usuarios WHERE login = '" + user.getLogin() + "'
  37. 37. Segurança na Fase de Implantação 37 Campus Party 2015  Realize uma instalação segura. Um software desenvolvido nos princípios do privilégio mínimo pode apresentar erros no momento da instalação. Tornar menos rígida a política de segurança do ambiente de produção ou aumentar os privilégios do sistema são as soluções mais fáceis. Porém, inaceitáveis em termos de segurança.
  38. 38. Segurança na Fase de Implantação 38 Campus Party 2015  Realize a avaliação de vulnerabilidades e testes de penetração. Ateste a segurança do software após sua implantação. Na avaliação de vulnerabilidades busca-se identificar vulnerabilidades que possam estar contidas no software, para tal pode-se utilizar os testes de penetração.
  39. 39. Segurança na Fase de Implantação 39 Campus Party 2015  No caso dos COTS (Commercial off- the-shelf)  Considere a implantação de um programa Bug Bounty.  Existem ainda opção de terceirizar este serviço:  HackerOne  Bugcrowd  CrowdCurity
  40. 40. Segurança na Fase de Manutenção 40 Campus Party 2015  Todas as atualizações devem ser desenvolvidas nos mesmos moldes de segurança em que o software foi construído.  Tenha um bom plano de resposta a incidentes. Ações coordenadas são sempre mais efetivas e eficientes. Um bom plano pode reduzir não somente os danos, mas também a publicidade negativa.
  41. 41. Segurança na Fase de Manutenção 41 Campus Party 2015 Um plano de resposta a incidentes pode ser dividido em quatro fases: Ação imediata para interromper ou minimizar o incidente; Investigação do Incidente; Restauração dos recursos afetados; Reporte do incidente aos canais apropriados.
  42. 42. Segurança na Fase de Manutenção 42 Campus Party 2015 Por fim, continue monitorando, avaliando e testando !!!
  43. 43. Iniciativas 43 Campus Party 2015 ISO/IEC 20734 BSIMM (The Building Security In Maturity Model) OWASP (Open Web Application Security Project)
  44. 44. Agenda  A segurança hoje  Por quê de forma integral?  Técnicas e métodos de segurança nas fases de desenvolvimento.  Conclusões. 44 Campus Party 2015
  45. 45. Conclusões 45 Campus Party 2015  A tendência é que as ameaças continuem evoluindo. Nossos Softwares acompanharão essa evolução?  Continuaremos a tratar a segurança de forma reativa, apagando incêndio?
  46. 46. Conclusões 46 Campus Party 2015  Dificuldades: Cursos de TI não abordam segurança; A engenharia de software não aborda segurança; Os usuários não se importam com segurança; Funcionalidades ainda valem mais do que segurança.
  47. 47. Conclusões 47 Campus Party 2015
  48. 48. Referências Bibliográficas 48 Campus Party 2015 [1] Lemos, R. Market For Vulnerability Information Grows. Information Security Magazine. 2012. [2] The NSA hacks other countries by buying millions of dollars’ worth of computer vulnerabilities. Disponível em: <http://www.washingtonpost.com/blogs/the- switch/wp/2013/08/31/the-nsa-hacks-other-countries-by-buying-millions-of-dollars-worth- of-computer-vulnerabilities/>. Acesso em: 29 de janeiro de 2015. [3] Frei, S. The Known Unknowns - Empirical Analysis Of Publicly Unknown Security Vulnerabilities. NSS Labs. 2013. [4] National Vulnerability Database. Vulnerability Summary for CVE-2014-7169. Disponível em: <https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7169>. Acesso em: 23 de outubro de 2014. [5] GREENBERG, A. A Tax On Buggy Software. Forbes. 2008. Disponível em: <http://www.forbes.com/2008/06/26/rice-cyber-security-tech-security- cx_ag_0626rice.html>. Acesso em: 23 de outubro de 2014.
  49. 49. Referências Bibliográficas 49 Campus Party 2015 [6] Ponemon Institute, sponsored by IBM. 2014 Cost of Data Breach Study. 2014. Disponível em: <http://www-935.ibm.com/services/us/en/it-services/security-services/cost-of-data- breach/>. Acesso em: 23 de outubro de 2014. [7] Berkeley Security. Data Classification. Disponível em: <https://security.berkeley.edu/tags/data-classification>. Acesso em: 23 de outubro de 2014. [8] OWASP. Application Threat Modeling. Disponível em: <https://www.owasp.org/index.php/Application_Threat_Modeling>. Acesso em: 23 de outubro de 2014. [9] Microsoft - SolutionAccelerators. IT Infrastructure Threat Modeling Guide. 2009.

×