SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
SEGURANÇA COMO PARTE INTEGRAL NO CICLO
DE DESENVOLVIMENTO DE SOFTWARE
Nome: Vinícius Oliveira Ferreira
Email: viniciusoliveira@acmesecurity.org
PGP Key ID: 0xE7960563
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
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
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 entendem
as implicações
práticas deste
novo cenário;
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].
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.
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.
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.
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).
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].
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 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.
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.
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.
 Conclusões.
17
Campus Party 2015
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.
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].
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).
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.
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.
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
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 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?
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
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.
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 ?
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 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
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 é 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.
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 Defesa em Profundidade e
Privilégio Mínimo devem nortear toda a
fase de desenvolvimento do projeto.
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 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() + "'
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.
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.
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
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.
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.
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 Application Security
Project)
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
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?
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.
Conclusões
47
Campus Party 2015
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.
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.

Mais conteúdo relacionado

Mais procurados

Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUMArtigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUMBruno Motta Rego
 
Aula 03 qs - confiabilidade de sw
Aula 03   qs - confiabilidade de swAula 03   qs - confiabilidade de sw
Aula 03 qs - confiabilidade de swJunior Gomes
 
Gerenciamento de projetos aula 13 (riscos)
Gerenciamento de projetos   aula 13 (riscos)Gerenciamento de projetos   aula 13 (riscos)
Gerenciamento de projetos aula 13 (riscos)Paulo Junior
 
Disciplina de Gerenciamento de Riscos
Disciplina de Gerenciamento de RiscosDisciplina de Gerenciamento de Riscos
Disciplina de Gerenciamento de RiscosLuthiano Vasconcelos
 
Gerenciamento Riscos Senai 2
Gerenciamento Riscos Senai 2Gerenciamento Riscos Senai 2
Gerenciamento Riscos Senai 2robsonnasc
 
Gerenciamento de riscos do projeto
Gerenciamento de riscos do projetoGerenciamento de riscos do projeto
Gerenciamento de riscos do projetoWellington Oliveira
 
O processo de segurança em desenvolvimento, que não é ISO 15.408
O processo de segurança em desenvolvimento, que não é ISO 15.408O processo de segurança em desenvolvimento, que não é ISO 15.408
O processo de segurança em desenvolvimento, que não é ISO 15.408Conviso Application Security
 
Aula10 TEES UFS Analise e Gestao do Risco
Aula10  TEES  UFS   Analise e Gestao do RiscoAula10  TEES  UFS   Analise e Gestao do Risco
Aula10 TEES UFS Analise e Gestao do Riscoguest8ae21d
 
Análise e gestão do risco
Análise e gestão do riscoAnálise e gestão do risco
Análise e gestão do riscoXikkoRibeiro
 
Plano de gerenciamento_de_riscos
Plano de gerenciamento_de_riscosPlano de gerenciamento_de_riscos
Plano de gerenciamento_de_riscosCarlos Joubert
 
Segurança no Desenvolvimento de Software
Segurança no Desenvolvimento de SoftwareSegurança no Desenvolvimento de Software
Segurança no Desenvolvimento de SoftwareMarcelo Fleury
 
Relatório de Segurança Anual de 2015
Relatório de Segurança Anual de 2015Relatório de Segurança Anual de 2015
Relatório de Segurança Anual de 2015Cisco do Brasil
 
Webinar Be Aware - Pensando e se colocando no lugar do invasor
Webinar Be Aware - Pensando e se colocando no lugar do invasorWebinar Be Aware - Pensando e se colocando no lugar do invasor
Webinar Be Aware - Pensando e se colocando no lugar do invasorSymantec Brasil
 

Mais procurados (19)

Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUMArtigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
Artigo - Segurança no desenvolvimento de sistemas com metodologia ágil SCRUM
 
3.6 riscos
3.6 riscos3.6 riscos
3.6 riscos
 
Segurança em Desenvolvimento de Software
Segurança em Desenvolvimento de SoftwareSegurança em Desenvolvimento de Software
Segurança em Desenvolvimento de Software
 
Aula 03 qs - confiabilidade de sw
Aula 03   qs - confiabilidade de swAula 03   qs - confiabilidade de sw
Aula 03 qs - confiabilidade de sw
 
Segurança nos ciclos de desenvolvimento de softwares
Segurança nos ciclos de desenvolvimento de softwaresSegurança nos ciclos de desenvolvimento de softwares
Segurança nos ciclos de desenvolvimento de softwares
 
Gerenciamento de projetos aula 13 (riscos)
Gerenciamento de projetos   aula 13 (riscos)Gerenciamento de projetos   aula 13 (riscos)
Gerenciamento de projetos aula 13 (riscos)
 
Disciplina de Gerenciamento de Riscos
Disciplina de Gerenciamento de RiscosDisciplina de Gerenciamento de Riscos
Disciplina de Gerenciamento de Riscos
 
Gerenciamento de riscos
Gerenciamento de riscosGerenciamento de riscos
Gerenciamento de riscos
 
Entendendo o Ciclo de Desenvolvimento Seguro
Entendendo o Ciclo de Desenvolvimento SeguroEntendendo o Ciclo de Desenvolvimento Seguro
Entendendo o Ciclo de Desenvolvimento Seguro
 
Gerenciamento Riscos Senai 2
Gerenciamento Riscos Senai 2Gerenciamento Riscos Senai 2
Gerenciamento Riscos Senai 2
 
Gerenciamento de riscos do projeto
Gerenciamento de riscos do projetoGerenciamento de riscos do projeto
Gerenciamento de riscos do projeto
 
O processo de segurança em desenvolvimento, que não é ISO 15.408
O processo de segurança em desenvolvimento, que não é ISO 15.408O processo de segurança em desenvolvimento, que não é ISO 15.408
O processo de segurança em desenvolvimento, que não é ISO 15.408
 
Aula10 TEES UFS Analise e Gestao do Risco
Aula10  TEES  UFS   Analise e Gestao do RiscoAula10  TEES  UFS   Analise e Gestao do Risco
Aula10 TEES UFS Analise e Gestao do Risco
 
Análise e gestão do risco
Análise e gestão do riscoAnálise e gestão do risco
Análise e gestão do risco
 
Plano de gerenciamento_de_riscos
Plano de gerenciamento_de_riscosPlano de gerenciamento_de_riscos
Plano de gerenciamento_de_riscos
 
Segurança no Desenvolvimento de Software
Segurança no Desenvolvimento de SoftwareSegurança no Desenvolvimento de Software
Segurança no Desenvolvimento de Software
 
Relatório de Segurança Anual de 2015
Relatório de Segurança Anual de 2015Relatório de Segurança Anual de 2015
Relatório de Segurança Anual de 2015
 
Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011
 
Webinar Be Aware - Pensando e se colocando no lugar do invasor
Webinar Be Aware - Pensando e se colocando no lugar do invasorWebinar Be Aware - Pensando e se colocando no lugar do invasor
Webinar Be Aware - Pensando e se colocando no lugar do invasor
 

Semelhante a Segurança Integral no Desenvolvimento de Software

Duly_seguranca em redes de computadores.pdf
Duly_seguranca em redes de computadores.pdfDuly_seguranca em redes de computadores.pdf
Duly_seguranca em redes de computadores.pdfHelenaReis48
 
[Pt br] - 36751 - mitre att&amp;ck - azure
[Pt br] - 36751 - mitre att&amp;ck - azure[Pt br] - 36751 - mitre att&amp;ck - azure
[Pt br] - 36751 - mitre att&amp;ck - azureEnrique Gustavo Dutra
 
Be Aware Webinar - Malwares Multiplataformas
Be Aware Webinar - Malwares MultiplataformasBe Aware Webinar - Malwares Multiplataformas
Be Aware Webinar - Malwares MultiplataformasSymantec Brasil
 
Apresentação Técnica - ISA SHOW 2012
Apresentação Técnica - ISA SHOW 2012Apresentação Técnica - ISA SHOW 2012
Apresentação Técnica - ISA SHOW 2012TI Safe
 
181554969 protecao-seguranca
181554969 protecao-seguranca181554969 protecao-seguranca
181554969 protecao-segurancaMarco Guimarães
 
Os maiores riscos de segurança
Os maiores riscos de segurançaOs maiores riscos de segurança
Os maiores riscos de segurançaYuri Dantas
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...tdc-globalcode
 
(1) Por que Seguranca de Aplicacoes Web?
(1) Por que Seguranca de Aplicacoes Web?(1) Por que Seguranca de Aplicacoes Web?
(1) Por que Seguranca de Aplicacoes Web?Eduardo Lanna
 
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejarGUTS-RS
 
Testes de Software - Módulo 1
Testes de Software - Módulo 1Testes de Software - Módulo 1
Testes de Software - Módulo 1Rodrigo Paes
 
Conscientização sobre SI
Conscientização sobre SIConscientização sobre SI
Conscientização sobre SIFelipe Perin
 
Symantec Advanced Threat Protection: Symantec Cynic
Symantec Advanced Threat Protection: Symantec CynicSymantec Advanced Threat Protection: Symantec Cynic
Symantec Advanced Threat Protection: Symantec CynicSymantec Brasil
 
Paper Técnico: Ransomware em infraestruturas críticas. O que nos espera depo...
Paper Técnico:  Ransomware em infraestruturas críticas. O que nos espera depo...Paper Técnico:  Ransomware em infraestruturas críticas. O que nos espera depo...
Paper Técnico: Ransomware em infraestruturas críticas. O que nos espera depo...TI Safe
 
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...Symantec Brasil
 
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...Luiz Arthur
 

Semelhante a Segurança Integral no Desenvolvimento de Software (20)

Duly_seguranca em redes de computadores.pdf
Duly_seguranca em redes de computadores.pdfDuly_seguranca em redes de computadores.pdf
Duly_seguranca em redes de computadores.pdf
 
[Pt br] - 36751 - mitre att&amp;ck - azure
[Pt br] - 36751 - mitre att&amp;ck - azure[Pt br] - 36751 - mitre att&amp;ck - azure
[Pt br] - 36751 - mitre att&amp;ck - azure
 
Be Aware Webinar - Malwares Multiplataformas
Be Aware Webinar - Malwares MultiplataformasBe Aware Webinar - Malwares Multiplataformas
Be Aware Webinar - Malwares Multiplataformas
 
Apresentação Técnica - ISA SHOW 2012
Apresentação Técnica - ISA SHOW 2012Apresentação Técnica - ISA SHOW 2012
Apresentação Técnica - ISA SHOW 2012
 
Ameaças de Junho 2016
Ameaças de Junho 2016 Ameaças de Junho 2016
Ameaças de Junho 2016
 
181554969 protecao-seguranca
181554969 protecao-seguranca181554969 protecao-seguranca
181554969 protecao-seguranca
 
Os maiores riscos de segurança
Os maiores riscos de segurançaOs maiores riscos de segurança
Os maiores riscos de segurança
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
 
(1) Por que Seguranca de Aplicacoes Web?
(1) Por que Seguranca de Aplicacoes Web?(1) Por que Seguranca de Aplicacoes Web?
(1) Por que Seguranca de Aplicacoes Web?
 
(1) Por que Seguranca de Aplicacoes Web?
(1) Por que Seguranca de Aplicacoes Web?(1) Por que Seguranca de Aplicacoes Web?
(1) Por que Seguranca de Aplicacoes Web?
 
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar [GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
[GUTS-RS] - Testes de Segurança: O que preciso saber para planejar
 
Capitulo9788575221365
Capitulo9788575221365Capitulo9788575221365
Capitulo9788575221365
 
Testes de Software - Módulo 1
Testes de Software - Módulo 1Testes de Software - Módulo 1
Testes de Software - Módulo 1
 
Conscientização sobre SI
Conscientização sobre SIConscientização sobre SI
Conscientização sobre SI
 
Symantec Advanced Threat Protection: Symantec Cynic
Symantec Advanced Threat Protection: Symantec CynicSymantec Advanced Threat Protection: Symantec Cynic
Symantec Advanced Threat Protection: Symantec Cynic
 
MTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento SeguroMTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento Seguro
 
Paper Técnico: Ransomware em infraestruturas críticas. O que nos espera depo...
Paper Técnico:  Ransomware em infraestruturas críticas. O que nos espera depo...Paper Técnico:  Ransomware em infraestruturas críticas. O que nos espera depo...
Paper Técnico: Ransomware em infraestruturas críticas. O que nos espera depo...
 
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
Be Aware Webinar Symantec - Spear-phishing: Seus usuários estão preparados pa...
 
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
 
Desenvolvimento Seguro
Desenvolvimento SeguroDesenvolvimento Seguro
Desenvolvimento Seguro
 

Segurança Integral no Desenvolvimento de Software

  • 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. 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. 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. Os dias são maus … 4 Campus Party 2015
  • 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. 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. 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. 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. 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. 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. 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. Mercado de Vulnerabilidades Zero-day 12 Campus Party 2015 Até o Mitnick:
  • 13. Mercado de Vulnerabilidades Zero-day 13 Campus Party 2015
  • 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. 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. Vazamento de armas Cibernéticas 16 Campus Party 2015
  • 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. 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. 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. 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. 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. 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. 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 Campus Party 2015  Incêndios são difíceis de se apagar. Por quê de forma integral?
  • 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. 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. 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. 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. Segurança na Fase de Levantamento de Requisitos 29 Campus Party 2015 Figura extraída de [7]
  • 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 Campus Party 2015 Figura extraída de [8].
  • 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. Segurança na Fase de Projeto 33 Campus Party 2015 Figura extraída de [9]
  • 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. Segurança na Fase de Desenvolvimento 35 Campus Party 2015
  • 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. 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. 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. 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. 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. 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. Segurança na Fase de Manutenção 42 Campus Party 2015 Por fim, continue monitorando, avaliando e testando !!!
  • 43. Iniciativas 43 Campus Party 2015 ISO/IEC 20734 BSIMM (The Building Security In Maturity Model) OWASP (Open Web Application Security Project)
  • 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. 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. 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.
  • 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. 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.