Validando a Segurança de Software
-
Upload
jeronimo-zucco -
Category
Technology
-
view
131 -
download
1
description
Transcript of Validando a Segurança de Software
![Page 1: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/1.jpg)
Jerônimo Zucco [email protected]
Validando a Segurança! de Software
Terceira Jornada Acadêmica de Computação e Tecnologia da Informação da UCS:Tendências em TI
![Page 2: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/2.jpg)
About Me
• Blog: http://jczucco.blogspot.com • Twitter: @jczucco • http://www.linkedin.com/in/jeronimozucco • http://www.owasp.org/index.php/User:Jeronimo_Zucco • Algumas certificações na área de segurança
![Page 3: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/3.jpg)
OWASP Open Web Application
Security Project • Uma comunidade aberta dedicada
a ajudar as organizações a desenvolver, comprar e manter aplicações que possam ser confiáveis.
![Page 4: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/4.jpg)
OWASP
• Promover o desenvolvimento seguro • Auxiliar a tomada de decisão quanto ao
risco • Oferecer recursos gratuitos • Promover a contribuição e
compartilhamento de informação
4
![Page 5: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/5.jpg)
OWASP no RS
5
https://www.owasp.org/index.php/Porto_Alegre
![Page 6: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/6.jpg)
Quais os requerimentos mínimos para um
software ser considerado seguro?
6
![Page 7: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/7.jpg)
HISTÓRICO
7
![Page 8: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/8.jpg)
8
![Page 9: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/9.jpg)
9
![Page 10: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/10.jpg)
10
![Page 11: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/11.jpg)
Segurança de Software
• Anos 90: Java é seguro !
• Bíblia do C: Exemplos com bugs
11
![Page 12: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/12.jpg)
12
X
![Page 13: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/13.jpg)
Perímetro
13
![Page 14: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/14.jpg)
É fácil testar se um recurso de um programa funciona ou
não, mas é muito difícil afirmar se um sistema é
suficientemente seguro para resistir á um ataque malicioso
14
![Page 15: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/15.jpg)
Números
• 86% dos sites testados possuem ao menos uma vulnerabilidade grave
• 61% desses problemas foram corrigidos após notificação
• 193 dias em média para a correção ser realizada desde a notificação
15Fonte: Whitehat Stats Report 2013
![Page 16: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/16.jpg)
Números
16Fonte: Whitehat Stats Report 2013
![Page 17: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/17.jpg)
Vulnerabilidades
17
Fonte: Whitehat Stats Report 2013
![Page 18: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/18.jpg)
Vulnerabilidades por Linguagem
18Fonte: Whitehat Stats Report 2014
![Page 19: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/19.jpg)
19
![Page 20: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/20.jpg)
Segurança
20
![Page 21: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/21.jpg)
Defeitos de Software
BUGS x FALHAS
21
![Page 22: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/22.jpg)
Defeitos de um Software
• Bug: defeitos na implementação – Buffer overflow – Condições de corrida – Variáveis de ambiente inseguras – Chamadas de sistema inseguras – Entrada de dados não confiáveis
22
![Page 23: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/23.jpg)
Defeitos de um Software
• Falhas: defeitos no design – Não uso de criptografia – Problemas de compartimentalização – Falha na proteção de áreas privilegiadas – Falhas de segurança – Auditoria insegura – Controle de acesso quebrado
23
![Page 24: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/24.jpg)
6 Estágios de Debbuging
1. Isso não pode acontecer 2. Isso não acontece na minha máquina 3. Isso não deveria acontecer 4. Porque isso acontece? 5. Hum, eu vejo. 6. Como isso sempre funcionou?
24
![Page 25: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/25.jpg)
25
![Page 26: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/26.jpg)
Revisão de Código
• Análise estática: Análise de código sem execução. Pode gerar falso positivos, integrado com IDE (eclipse, (Ex: Coverity, Fortify (HP), FindBugs (Opensource)
• Análise dinâmica: Análise de programa durante sua execução
26
![Page 27: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/27.jpg)
Análise de Risco da Arquitetura
• Exemplos: Dados críticos sem proteção: web service sem autenticação ou controle de acesso
• Ativo, Risco, Ameaça, Contramedida, Impacto
• STRIDE (Microsoft), ASSET (Automated Security self-Evaluation Tool), OCTAVE (Operational Critical Threat, Assset and Vulnerability Evaluation), COBIT (ISACA)
27
![Page 28: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/28.jpg)
Pentesting
• Varreduras • Ferramentas • Spiders • Fuzzers • Ataques maliciosos • Validação de Controles • Blackbox, Whitebox
28
![Page 29: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/29.jpg)
Casos de Abuso
!• Testes de segurança baseado no risco • Casos de abuso: – Tampering Attack
• Requerimentos de segurança • Operações de segurança
29
![Page 30: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/30.jpg)
Microsoft SDL Security Development Lifecycle
30
https://www.microsoft.com/security/sdl/default.aspx
![Page 31: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/31.jpg)
OWASP Top Ten 2013
31
![Page 32: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/32.jpg)
OWASP Top 10
• Top 10 Vulnerabilidades em Apps. Web – Atualizado a cada 3 anos. – Baseado em dados obtidos de aplicações
na Internet – Aceitação crescente pela indústria
• Um bom começo para criação de práticas seguras de desenvolvimento nas organizações
32
![Page 33: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/33.jpg)
Top 10 2010 -> 2013
33
![Page 34: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/34.jpg)
IEEE Top 10 Software Security Design Flaws
• Earn or give, but never assume, trust • Use an authentication mechanism that
cannot be bypassed or tampered with • Authorize after you authenticate • Strictly separate data and control
instructions, and never process control instructions received from untrusted sources
• Define an approach that ensures all data are explicitly validated 34
![Page 35: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/35.jpg)
IEEE Top 10 Software Security Design Flaws
• Use cryptography correctly • Identify sensitive data and how they
should be handled • Always consider the users • Understand how integrating external
components changes your attack surface
• Be flexible when considering future changes to objects and actors
35
![Page 36: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/36.jpg)
OWASP ASVS Application Security Verification
Standard Project
• Authentication Verification • Session Management Verification • Access Control Verification • Malicious Input Handling Verification • Cryptography at Rest Verification • Error Handling and Logging Verification • Data Protection Verification
36
Requisitos:
![Page 37: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/37.jpg)
OWASP ASVS Application Security Verification
Standard Project
• Communications Security Verification • HTTP Security Verification • Malicious Controls Verification • Business Logic Verification • Files and Resources Verification • Mobile Verification Requirements
37
Requisitos:
![Page 38: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/38.jpg)
• Níveis ASVS:
38
OWASP ASVS Application Security Verification
Standard Project
![Page 39: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/39.jpg)
OWASP Testing_Guide v4
• Information Gathering • Configuration and Deployment
Management Testing • Identity Management Testing • Authentication Testing • Authorization Testing • Session Management Testing
39
![Page 40: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/40.jpg)
OWASP Testing_Guide v4
• Input Validation Testing • Testing for Error Handling • Testing for weak Cryptography • Business Logic Testing • Client Side Testing
40
![Page 41: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/41.jpg)
Desenvolvedores
• Requisitos de segurança de aplicações; • Arquitetura de aplicações seguras; • Controles de segurança padrões; • Ciclo de vida de desenvolvimento (SDL) • Educação sobre segurança de
aplicações • Uso de componentes seguros • Projetos OWASP
41
![Page 42: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/42.jpg)
Considerações
• Não inicie com pessoas da área de segurança de rede
• Segurança de software exige esforço multidisciplinar
• Treine sua equipe de desenvolvimento • Determine o que é suficiente • Sem medir, não sabemos onde estamos
e nem se estamos evoluindo 42
![Page 43: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/43.jpg)
Considerações
Saber que você possui um problema, normalmente é um bom primeiro passo.
43
![Page 44: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/44.jpg)
Considerações
"All software sucks. Make sure yours sucks less."
44
![Page 45: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/45.jpg)
Referências
• Software Security: Gary McGraw (2005) • WhiteHat Statistics Security Report (2013 e 2014) • OWASP Top Ten Project: https://www.owasp.org/
index.php/Category:OWASP_Top_Ten_Project • OWASP Application Security Verification Standard
Project: https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project
• OWASP Testing Project: https://www.owasp.org/index.php/OWASP_Testing_Project
45
![Page 46: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/46.jpg)
Referências
• IEEE Top 10 Software Security Design Flaws: http://cybersecurity.ieee.org/center-for-secure-design/avoiding-the-top-10-security-flaws.html
• Bill Gates 2002 memo: http://news.microsoft.com/2012/01/11/memo-from-bill-gates/
• Microsoft Security Development Lifecycle: http://www.microsoft.com/security/sdl/default.aspx
• BSIMM - Building Security in Maturity Model: http://www.bsimm.com
• Open Source Security Testing Methodology Manual (OSSTMM): http://www.isecom.org/research/osstmm.html 46
![Page 47: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/47.jpg)
Livros Recomendados
47
![Page 48: Validando a Segurança de Software](https://reader031.fdocumentos.com/reader031/viewer/2022020110/5590a4dc1a28abc81f8b46ec/html5/thumbnails/48.jpg)
Perguntas?
48
https://www.owasp.org/index.php/Porto_Alegre