SlideShare uma empresa Scribd logo
OWASP Top Ten API Project
Os 10 principais riscos de segurança em APIs
Fernando Galves
+20 anos de experiência em TI
Certified Application Security Engineer
OWASP Code Review Guide
OWASP São Paulo Chapter Leader
Diretor de Segurança da Informação na OITI Technologies
Apresentação
https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project
OWASP API Security Top Ten 2019
https://www.owasp.org/index.php/OWASP_API_Security_Project
1
2
3
Coleta de dados públicos sobre
incidentes de segurança de APIs
Revisão e categorização dos dados
por especialistas em segurança
Pentesters foram convidados para
enviar suas próprias listas
Gerado o primeiro draft4
Metodologia e dados
OWASP Top Ten API 2019
https://www.owasp.org/index.php/OWASP_API_Security_Project
API1:2019 - Broken Object Level Authorization
DATA LAYER ACCESS CONTROL
• A API vulnerável não realiza o controle de acesso
corretamente e permite o acesso não autorizado a
dados confidenciais;
• O vetor de ataque pode ser através de um ataque
enumerado no ID de um objeto na chamada da API
www.example.com.br
W
A
F
APIWEB
GET /users/ID/info
GET /users/1/info
IDOR (Insecure Direct Object Reference)
Expõe uma referência para um objeto interno
Enumeration Attack
API1:2019 - Broken Object Level Authorization
?
Usuário X pode
acessar esse dado?
DATA LAYER ACCESS CONTROL
Testes de
autorização
https://daleys.space/writeup/0day/2019/09/09/verizon-leak.html
API1:2019 - Broken Object Level Authorization
DATA LAYER ACCESS CONTROL
API1:2019 - Broken Object Level Authorization
DATA LAYER ACCESS CONTROL
API2:2019 - Broken Authentication
• O processo de autenticação da API vulnerável é mal
implementado e permite que atacantes assumam
identidades de outros usuários.
www.example.com.br
W
A
F
API
WEB
POST /api/v1/auth
API2:2019 - Broken Authentication
JWT
GET /api/v1/user/1/info
1
2
(credenciais)
(JWT)
JSON
Credential
Stuffing
Wordlist
? Protege contra brute force?
Protege contra credential stuffing?
Gerenciamento correto do JWT?
JWT possui expiração?
Permite o uso de senhas fracas?
Vetor de ataque! Manual Code Review for:
- Authentication
- Credential Storage
- Crypto
- Other things of that nature
API2:2019 - Broken Authentication
Temos todos os dados para realizar
o brute force na assinatura!
www.example.com.br
W
A
F
API
WEB
MOBILE
IOT
API2:2019 - Broken Authentication
Injection
XSS
XXE
Broken Authentication
Log Injection
Sensitive Data Exposure
Insecure Deserialization
Broken Access Control
Broken Authentication
API3:2019 – Excessive Data Exposure
• A API vulnerável expõe mais dados do que o cliente
legitimamente precisa, confiando no browser ou no
aplicativo para fazer a filtragem.
www.example.com.br
W
A
F
API
WEB
API3:2019 – Excessive Data Exposure
GET /api/v1/user/1/info
JSON
JSON
App filtra os
dados sensíveis
EXCESSIVE DATA EXPOSURE BY DESIGN
API3:2019 – Excessive Data Exposure
https://www.pentestpartners.com/security-blog/group-sex-app-leaks-locations-pictures-and-other-personal-details-identifies-
users-in-white-house-and-supreme-court/
API3:2019 – Excessive Data Exposure
https://www.pentestpartners.com/security-blog/group-sex-app-leaks-locations-pictures-and-other-personal-details-identifies-
users-in-white-house-and-supreme-court/
API4:2019 – Lack of Resources & Rate Limiting
• A API vulnerável não está protegida contra uma
quantidade excessiva de chamadas ou tamanhos de
payloads.
• Os atacantes usam isso para DoS e ataques de força
bruta.
www.example.com.br
W
A
F
API
WEB
API4:2019 – Lack of Resources & Rate Limiting
GET /api/v1/users?page=1&size=100000000
2
GET /api/v1/users?page=1&size=100
1
JSON
X
Pode causar Denial of Service
Pode permitir Brute Force Attack
Input
Validation
Estabeleça e
respeite os limites
O Docker facilita o limite de memória, CPU,
número de reinicializações, descritores de
arquivo e processos.
API não protege contra quantidade
excessiva de chamadas por tamanho
de payloads
API5:2019 - Broken Function Level Authorization
• A API vulnerável não realiza o controle de acesso
corretamente de endpoints e permite que usuários
comuns acessem funções não autorizadas.
URL ACCESS CONTROL
www.example.com.br
APIWEB
?
Usuário X pode
acessar essa URL?
API5:2019 - Broken Function Level Authorization
URL ACCESS CONTROL
DELETE /api/v1/users/716
ADM
GET /api/v1/users/717
DELETE /api/v1/users/717
W
A
F
API6:2019 – Mass Assignment
• A API vulnerável permite que os atacantes modifiquem
propriedades de objetos internos que não deveriam.
www.example.com.br
W
A
F
API
WEB
POST /api/v1/adduser
API6:2019 – Mass Assignment
userid=bobbytables
password=hashedpass
email=bobby@tables.com
isAdmin=true
Whitelist
BlacklistDTO
?
isAdmin pode ser
atribuído via POST
do cliente?
API7:2019 – Security Misconfiguration
• Security Misconfiguration geralmente é o resultado de:
• Configurações padrão inseguras;
• Configurações incompletas ou ad-hoc;
• Armazenamento em nuvem aberta;
• Cabeçalhos HTTP configurados incorretamente;
• Métodos HTTP desnecessários;
• Compartilhamento permissivo de recursos de
origem cruzada (CORS);
• Mensagens de erro detalhadas que contêm
informações confidenciais.
www.example.com.br
W
A
F
API
WEB
API7:2019 – Security Misconfiguration
?
Configuração padrão em produção
Patches não aplicados
Mensagens de erro com stack trace
Criptografia fraca
Cross-Origin resource sharing permissivo
Headers HTTP mal configurados
API7:2019 – Security Misconfiguration
https://www.wizcase.com/blog/medical-breaches-research/
API7:2019 – Security Misconfiguration
https://www.wizcase.com/blog/medical-breaches-research/
API7:2019 – Security Misconfiguration
https://www.wizcase.com/blog/medical-breaches-research/
API7:2019 – Security Misconfiguration
https://www.wizcase.com/blog/medical-breaches-research/
API7:2019 – Security Misconfiguration
https://www.wizcase.com/blog/medical-breaches-research/
API7:2019 – Security Misconfiguration
https://www.wizcase.com/blog/medical-breaches-research/
API7:2019 – Security Misconfiguration
https://www.wizcase.com/blog/medical-breaches-research/
API8:2019 – Injection
• Falhas de injeção ocorrem quando dados não confiáveis
são enviados para um interpretador como parte de um
comando ou consulta;
• Os dados maliciosos do atacante podem induzir o
interpretador a executar comandos não intencionais ou
acessar dados sem a devida autorização.
www.example.com.br
W
A
F
API
WEB
POST /api/v1/auth
API8:2019 – Injection
usr: teste
pwd: teste123
select name from users where username = `teste` and password = `teste123`
POST /api/v1/auth
usr: ` or 1=1 or `
pwd: 123456
select name from users where username = `` or 1=1 or `` and password = `123456`
Bloqueio
EX: SQL INJECTION
API8:2019 – Injection
Na prática
API9:2019 – Improper Assets Management
• O atacante encontra versões que não são de produção
da API, como teste, beta ou versões anteriores - que
não são tão bem protegidas e que podem ser utilizadas
para iniciar um ataque.
API9:2019 – Improper Assets Management
www.example.com.br
W
A
F
API
WEB
POST /api/v1/auth
POST /api/v1/auth
beta-api.example.com.br
Inventário
Plano descontinuidade/versionamento
INVENTÁRIO
Versões de teste, beta, descontinuadas que permanecem em produção
API10:2019 – Insufficient Logging & Monitoring
• A falta de registro, monitoramento e alerta adequados
deixa os ataques passarem despercebidos
www.example.com.br
W
A
F
API
API10:2019 – Insufficient Logging & Monitoring
ATAQUE 1
ATAQUE 2
ATAQUE 3
ATAQUE 4
ATAQUE N
Tempo para detectar um vazamento é superior a 200 dias!
Normalmente é detectado por terceiros
São os pequenos atos que são
negligenciados e causam
os maiores problemas
Dado vazado não “desvaza”
Grande parte dos problemas
poderiam ter sido evitados
“Se você não tem tempo de fazer
certo da primeira vez, como você
vai ter tempo pra fazer e depois
consertar?”
“Na OWASP, estamos tentando tornar o mundo
um lugar onde software inseguro seja a anomalia,
não a regra”
Eoin Keary, OWASP Global Board
Obrigado!
Para mais informações, acesse:
www.owasp.org
Fernando Galves
São Paulo Chapter Leader
fernando.galves@owasp.org

Mais conteúdo relacionado

Mais procurados

API Security Best Practices and Guidelines
API Security Best Practices and GuidelinesAPI Security Best Practices and Guidelines
API Security Best Practices and Guidelines
WSO2
 
OWASP Top 10 API Security Risks
OWASP Top 10 API Security RisksOWASP Top 10 API Security Risks
OWASP Top 10 API Security Risks
IndusfacePvtLtd
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10
42Crunch
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
Christian Heinrich
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
Null Bhubaneswar
 
Zap vs burp
Zap vs burpZap vs burp
Zap vs burp
Tomasz Fajks
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration Testing
Anurag Srivastava
 
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
Lenur Dzhemiliev
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Brian Huff
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
Security Innovation
 
Getting Started with API Security Testing
Getting Started with API Security TestingGetting Started with API Security Testing
Getting Started with API Security Testing
SmartBear
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) security
Nahidul Kibria
 
Api security-testing
Api security-testingApi security-testing
Api security-testing
n|u - The Open Security Community
 
IBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security SolutionIBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security Solution
hearme limited company
 
OWASP API Security Top 10 Examples
OWASP API Security Top 10 ExamplesOWASP API Security Top 10 Examples
OWASP API Security Top 10 Examples
42Crunch
 
A2 - broken authentication and session management(OWASP thailand chapter Apri...
A2 - broken authentication and session management(OWASP thailand chapter Apri...A2 - broken authentication and session management(OWASP thailand chapter Apri...
A2 - broken authentication and session management(OWASP thailand chapter Apri...
Noppadol Songsakaew
 
Web application security
Web application securityWeb application security
Web application security
Kapil Sharma
 
OWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object ReferenceOWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object Reference
Narudom Roongsiriwong, CISSP
 
Security Testing
Security TestingSecurity Testing
Security Testing
Kiran Kumar
 
Pentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarPentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang Bhatnagar
OWASP Delhi
 

Mais procurados (20)

API Security Best Practices and Guidelines
API Security Best Practices and GuidelinesAPI Security Best Practices and Guidelines
API Security Best Practices and Guidelines
 
OWASP Top 10 API Security Risks
OWASP Top 10 API Security RisksOWASP Top 10 API Security Risks
OWASP Top 10 API Security Risks
 
WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10WEBINAR: OWASP API Security Top 10
WEBINAR: OWASP API Security Top 10
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
 
Zap vs burp
Zap vs burpZap vs burp
Zap vs burp
 
Introduction to Web Application Penetration Testing
Introduction to Web Application Penetration TestingIntroduction to Web Application Penetration Testing
Introduction to Web Application Penetration Testing
 
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
Getting Started with API Security Testing
Getting Started with API Security TestingGetting Started with API Security Testing
Getting Started with API Security Testing
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) security
 
Api security-testing
Api security-testingApi security-testing
Api security-testing
 
IBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security SolutionIBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security Solution
 
OWASP API Security Top 10 Examples
OWASP API Security Top 10 ExamplesOWASP API Security Top 10 Examples
OWASP API Security Top 10 Examples
 
A2 - broken authentication and session management(OWASP thailand chapter Apri...
A2 - broken authentication and session management(OWASP thailand chapter Apri...A2 - broken authentication and session management(OWASP thailand chapter Apri...
A2 - broken authentication and session management(OWASP thailand chapter Apri...
 
Web application security
Web application securityWeb application security
Web application security
 
OWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object ReferenceOWASP Top 10 A4 – Insecure Direct Object Reference
OWASP Top 10 A4 – Insecure Direct Object Reference
 
Security Testing
Security TestingSecurity Testing
Security Testing
 
Pentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang BhatnagarPentesting Rest API's by :- Gaurang Bhatnagar
Pentesting Rest API's by :- Gaurang Bhatnagar
 

Semelhante a OWASP Top Ten API Project 2019

Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Edlaine Zamora
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem
Alcyon Ferreira de Souza Junior, MSc
 
Antar ferreira
Antar ferreiraAntar ferreira
Antar ferreira
Antar Ferreira
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
Fabiano Pereira
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
Alan Carlos
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Alcyon Ferreira de Souza Junior, MSc
 
Segurança de APIs - API eXperience
Segurança de APIs - API eXperienceSegurança de APIs - API eXperience
Segurança de APIs - API eXperience
Daniel Varanda
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
Marcio Cunha
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
Fábio Rosato
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
José Vahl
 
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
Conviso Application Security
 
Suite de Soluções Site Blindado
Suite de Soluções Site BlindadoSuite de Soluções Site Blindado
Suite de Soluções Site Blindado
Site Blindado S.A.
 
WEB_Report_Penetration_Test_Verifact_Gray_Box_Publicacao.pdf
WEB_Report_Penetration_Test_Verifact_Gray_Box_Publicacao.pdfWEB_Report_Penetration_Test_Verifact_Gray_Box_Publicacao.pdf
WEB_Report_Penetration_Test_Verifact_Gray_Box_Publicacao.pdf
FranciscoZunza1
 
Segundo relatório anual sobre incidentes de segurança em redes de automação ...
Segundo relatório anual sobre incidentes de segurança em redes  de automação ...Segundo relatório anual sobre incidentes de segurança em redes  de automação ...
Segundo relatório anual sobre incidentes de segurança em redes de automação ...
TI Safe
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
Magno Logan
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
Alex Hübner
 
Melhores práticas para segurança em um mundo multi cloud
Melhores práticas para segurança em um mundo multi cloud Melhores práticas para segurança em um mundo multi cloud
Melhores práticas para segurança em um mundo multi cloud
Alexandre Freire
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Alcyon Ferreira de Souza Junior, MSc
 
MTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento SeguroMTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento Seguro
André Luís Cardoso
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Eduardo Lanna
 

Semelhante a OWASP Top Ten API Project 2019 (20)

Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem
 
Antar ferreira
Antar ferreiraAntar ferreira
Antar ferreira
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
 
Segurança de APIs - API eXperience
Segurança de APIs - API eXperienceSegurança de APIs - API eXperience
Segurança de APIs - API eXperience
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
 
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a pontaAPIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
 
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007OWASP Top 10 e aplicações .Net - Tech-Ed 2007
OWASP Top 10 e aplicações .Net - Tech-Ed 2007
 
Suite de Soluções Site Blindado
Suite de Soluções Site BlindadoSuite de Soluções Site Blindado
Suite de Soluções Site Blindado
 
WEB_Report_Penetration_Test_Verifact_Gray_Box_Publicacao.pdf
WEB_Report_Penetration_Test_Verifact_Gray_Box_Publicacao.pdfWEB_Report_Penetration_Test_Verifact_Gray_Box_Publicacao.pdf
WEB_Report_Penetration_Test_Verifact_Gray_Box_Publicacao.pdf
 
Segundo relatório anual sobre incidentes de segurança em redes de automação ...
Segundo relatório anual sobre incidentes de segurança em redes  de automação ...Segundo relatório anual sobre incidentes de segurança em redes  de automação ...
Segundo relatório anual sobre incidentes de segurança em redes de automação ...
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
 
Melhores práticas para segurança em um mundo multi cloud
Melhores práticas para segurança em um mundo multi cloud Melhores práticas para segurança em um mundo multi cloud
Melhores práticas para segurança em um mundo multi cloud
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
MTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento SeguroMTI-MT Desenvolvimento Seguro
MTI-MT Desenvolvimento Seguro
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
 

OWASP Top Ten API Project 2019

  • 1.
  • 2. OWASP Top Ten API Project Os 10 principais riscos de segurança em APIs
  • 3. Fernando Galves +20 anos de experiência em TI Certified Application Security Engineer OWASP Code Review Guide OWASP São Paulo Chapter Leader Diretor de Segurança da Informação na OITI Technologies Apresentação
  • 5.
  • 6. OWASP API Security Top Ten 2019
  • 7. https://www.owasp.org/index.php/OWASP_API_Security_Project 1 2 3 Coleta de dados públicos sobre incidentes de segurança de APIs Revisão e categorização dos dados por especialistas em segurança Pentesters foram convidados para enviar suas próprias listas Gerado o primeiro draft4 Metodologia e dados
  • 8. OWASP Top Ten API 2019 https://www.owasp.org/index.php/OWASP_API_Security_Project
  • 9. API1:2019 - Broken Object Level Authorization DATA LAYER ACCESS CONTROL • A API vulnerável não realiza o controle de acesso corretamente e permite o acesso não autorizado a dados confidenciais; • O vetor de ataque pode ser através de um ataque enumerado no ID de um objeto na chamada da API
  • 10. www.example.com.br W A F APIWEB GET /users/ID/info GET /users/1/info IDOR (Insecure Direct Object Reference) Expõe uma referência para um objeto interno Enumeration Attack API1:2019 - Broken Object Level Authorization ? Usuário X pode acessar esse dado? DATA LAYER ACCESS CONTROL Testes de autorização
  • 11. https://daleys.space/writeup/0day/2019/09/09/verizon-leak.html API1:2019 - Broken Object Level Authorization DATA LAYER ACCESS CONTROL
  • 12. API1:2019 - Broken Object Level Authorization DATA LAYER ACCESS CONTROL
  • 13. API2:2019 - Broken Authentication • O processo de autenticação da API vulnerável é mal implementado e permite que atacantes assumam identidades de outros usuários.
  • 14. www.example.com.br W A F API WEB POST /api/v1/auth API2:2019 - Broken Authentication JWT GET /api/v1/user/1/info 1 2 (credenciais) (JWT) JSON Credential Stuffing Wordlist ? Protege contra brute force? Protege contra credential stuffing? Gerenciamento correto do JWT? JWT possui expiração? Permite o uso de senhas fracas? Vetor de ataque! Manual Code Review for: - Authentication - Credential Storage - Crypto - Other things of that nature
  • 15. API2:2019 - Broken Authentication Temos todos os dados para realizar o brute force na assinatura!
  • 16. www.example.com.br W A F API WEB MOBILE IOT API2:2019 - Broken Authentication Injection XSS XXE Broken Authentication Log Injection Sensitive Data Exposure Insecure Deserialization Broken Access Control Broken Authentication
  • 17. API3:2019 – Excessive Data Exposure • A API vulnerável expõe mais dados do que o cliente legitimamente precisa, confiando no browser ou no aplicativo para fazer a filtragem.
  • 18. www.example.com.br W A F API WEB API3:2019 – Excessive Data Exposure GET /api/v1/user/1/info JSON JSON App filtra os dados sensíveis EXCESSIVE DATA EXPOSURE BY DESIGN
  • 19. API3:2019 – Excessive Data Exposure https://www.pentestpartners.com/security-blog/group-sex-app-leaks-locations-pictures-and-other-personal-details-identifies- users-in-white-house-and-supreme-court/
  • 20. API3:2019 – Excessive Data Exposure https://www.pentestpartners.com/security-blog/group-sex-app-leaks-locations-pictures-and-other-personal-details-identifies- users-in-white-house-and-supreme-court/
  • 21. API4:2019 – Lack of Resources & Rate Limiting • A API vulnerável não está protegida contra uma quantidade excessiva de chamadas ou tamanhos de payloads. • Os atacantes usam isso para DoS e ataques de força bruta.
  • 22. www.example.com.br W A F API WEB API4:2019 – Lack of Resources & Rate Limiting GET /api/v1/users?page=1&size=100000000 2 GET /api/v1/users?page=1&size=100 1 JSON X Pode causar Denial of Service Pode permitir Brute Force Attack Input Validation Estabeleça e respeite os limites O Docker facilita o limite de memória, CPU, número de reinicializações, descritores de arquivo e processos. API não protege contra quantidade excessiva de chamadas por tamanho de payloads
  • 23. API5:2019 - Broken Function Level Authorization • A API vulnerável não realiza o controle de acesso corretamente de endpoints e permite que usuários comuns acessem funções não autorizadas. URL ACCESS CONTROL
  • 24. www.example.com.br APIWEB ? Usuário X pode acessar essa URL? API5:2019 - Broken Function Level Authorization URL ACCESS CONTROL DELETE /api/v1/users/716 ADM GET /api/v1/users/717 DELETE /api/v1/users/717 W A F
  • 25. API6:2019 – Mass Assignment • A API vulnerável permite que os atacantes modifiquem propriedades de objetos internos que não deveriam.
  • 26. www.example.com.br W A F API WEB POST /api/v1/adduser API6:2019 – Mass Assignment userid=bobbytables password=hashedpass email=bobby@tables.com isAdmin=true Whitelist BlacklistDTO ? isAdmin pode ser atribuído via POST do cliente?
  • 27. API7:2019 – Security Misconfiguration • Security Misconfiguration geralmente é o resultado de: • Configurações padrão inseguras; • Configurações incompletas ou ad-hoc; • Armazenamento em nuvem aberta; • Cabeçalhos HTTP configurados incorretamente; • Métodos HTTP desnecessários; • Compartilhamento permissivo de recursos de origem cruzada (CORS); • Mensagens de erro detalhadas que contêm informações confidenciais.
  • 28. www.example.com.br W A F API WEB API7:2019 – Security Misconfiguration ? Configuração padrão em produção Patches não aplicados Mensagens de erro com stack trace Criptografia fraca Cross-Origin resource sharing permissivo Headers HTTP mal configurados
  • 29. API7:2019 – Security Misconfiguration https://www.wizcase.com/blog/medical-breaches-research/
  • 30. API7:2019 – Security Misconfiguration https://www.wizcase.com/blog/medical-breaches-research/
  • 31. API7:2019 – Security Misconfiguration https://www.wizcase.com/blog/medical-breaches-research/
  • 32. API7:2019 – Security Misconfiguration https://www.wizcase.com/blog/medical-breaches-research/
  • 33. API7:2019 – Security Misconfiguration https://www.wizcase.com/blog/medical-breaches-research/
  • 34. API7:2019 – Security Misconfiguration https://www.wizcase.com/blog/medical-breaches-research/
  • 35. API7:2019 – Security Misconfiguration https://www.wizcase.com/blog/medical-breaches-research/
  • 36. API8:2019 – Injection • Falhas de injeção ocorrem quando dados não confiáveis são enviados para um interpretador como parte de um comando ou consulta; • Os dados maliciosos do atacante podem induzir o interpretador a executar comandos não intencionais ou acessar dados sem a devida autorização.
  • 37. www.example.com.br W A F API WEB POST /api/v1/auth API8:2019 – Injection usr: teste pwd: teste123 select name from users where username = `teste` and password = `teste123` POST /api/v1/auth usr: ` or 1=1 or ` pwd: 123456 select name from users where username = `` or 1=1 or `` and password = `123456` Bloqueio EX: SQL INJECTION
  • 39. API9:2019 – Improper Assets Management • O atacante encontra versões que não são de produção da API, como teste, beta ou versões anteriores - que não são tão bem protegidas e que podem ser utilizadas para iniciar um ataque.
  • 40. API9:2019 – Improper Assets Management www.example.com.br W A F API WEB POST /api/v1/auth POST /api/v1/auth beta-api.example.com.br Inventário Plano descontinuidade/versionamento INVENTÁRIO Versões de teste, beta, descontinuadas que permanecem em produção
  • 41. API10:2019 – Insufficient Logging & Monitoring • A falta de registro, monitoramento e alerta adequados deixa os ataques passarem despercebidos
  • 42. www.example.com.br W A F API API10:2019 – Insufficient Logging & Monitoring ATAQUE 1 ATAQUE 2 ATAQUE 3 ATAQUE 4 ATAQUE N Tempo para detectar um vazamento é superior a 200 dias! Normalmente é detectado por terceiros
  • 43.
  • 44. São os pequenos atos que são negligenciados e causam os maiores problemas
  • 45.
  • 46. Dado vazado não “desvaza”
  • 47.
  • 48. Grande parte dos problemas poderiam ter sido evitados
  • 49. “Se você não tem tempo de fazer certo da primeira vez, como você vai ter tempo pra fazer e depois consertar?”
  • 50. “Na OWASP, estamos tentando tornar o mundo um lugar onde software inseguro seja a anomalia, não a regra” Eoin Keary, OWASP Global Board
  • 51. Obrigado! Para mais informações, acesse: www.owasp.org Fernando Galves São Paulo Chapter Leader fernando.galves@owasp.org