SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
Insecure Direct
Object References
Referência Insegura Direta a
Objeto
Resumo
•
Agentes da ameaça: usuário com acesso ao
sistema porém sem acesso a algumas
informações.
•
Vetor de ataque: de fácil exploração
•
Falha de segurança: estruturas do banco de dados
ou filesystem diretamente referenciadas
•
Impactos técnicos: possibilidade de acesso
indevido a informações
•
Impactos no negócio: dependem do valor das
informações e impacto da imagem da empresa
Agentes da Ameaça
O objeto de ataque é a informação
proveniente de um banco de dados,
sistema de arquivos ou qualquer
repositório no qual um usuário legítimo
tem acesso não só as informações
permitidas como também qualquer outra
informação não permitida.
Vetor de Ataque
O Vetor de Ataque pode ser qualquer
usuário insatisfeito e com más intenções,
pois é feito através da URL (get) nos
casos de sistemas web ou sites.
Falha de Segurança
O acesso a um determinado registro é
feito através da URL, tornando visível as
referências (chave primária) do registro
da informação desejada.
Ex.: http://www.sistema.net/conta.php?
id=1234
Se o usuário alterar o id diretamente na
url e não houver uma criticidade no
algoritmo do sistema que bloqueie esse
acesso, o usuário terá acesso à todas as
informações de outra conta não
Impactos Técnicos
Comprometimento das informações e
cópia das mesmas.
Ex: No site da Australian Taxation Office’s
GST Start Up Assistance em 2000, onde
um usuário legítimo, mas hostil,
simplesmente modificou o ABN
(identificador da empresa) presente na
URL. O usuário se apossou de cerca de
17.000 registros de empresas
São visualizadas na aplicação, as referências a
objetos internos dos usuários.
Atacantes manipulam parâmetros de maneira a
alterar as referências, conseguindo assim acesso a
diretórios ou outros recursos da aplicação.
<select name="language"><option
value="fr">Français</option></select>
…
require_once ($_REQUEST['language’]."lang.php");
Tal código pode ser atacado usando uma
string como “../../../../etc/passwd%00” usando
Funcionamento do ataque
Como se prevenir
•
Evitar a exposição de referências de objetos
privados a usuários sempre que possível, como
chaves primárias e nomes de arquivos.
•
Validar cada referência privada a objeto através da
abordagem “aceite o reconhecido como bom”.
•
Verificar a autorização de todos os objetos
referenciados.
•
Usar um valor de índice ou um mapa de referência
para prevenir ataques de manipulação de
parâmetro.
Exemplos específicos de
proteção
•
Uso de URL oculta configurando o
mod_rewrite e o .htaccess, assim na url
aparecerá somente o site raiz.
•
Uso de mapa de referência randômica,
onde a referencia visível aponta para
um mapa que faz a correlação com a
informação real.
•
Associação da referência da url com
alguma informação do
usuário(permissão) na preparação do
SQL.
Obrigado
Fim

Mais conteúdo relacionado

Mais procurados

Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by defaultSecuRing
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objetoelliando dias
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosElaine Cecília Gatto
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dadosArthur Azevedo
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfacesRafael Pinheiro
 
Introduction vulnérabilité web
Introduction vulnérabilité webIntroduction vulnérabilité web
Introduction vulnérabilité webdavystoffel
 
SDC 3rd 최흥배님 - Boost.multi_index 사용하기
SDC 3rd 최흥배님 - Boost.multi_index 사용하기SDC 3rd 최흥배님 - Boost.multi_index 사용하기
SDC 3rd 최흥배님 - Boost.multi_index 사용하기OnGameServer
 
Desenvolvimento de Software Seguro
Desenvolvimento de Software SeguroDesenvolvimento de Software Seguro
Desenvolvimento de Software SeguroAugusto Lüdtke
 
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 OWASPFabiano Pereira
 
Role based access control - RBAC
Role based access control - RBACRole based access control - RBAC
Role based access control - RBACAjit Dadresa
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoLeinylson Fontinele
 
JDBC - JPA - Spring Data
JDBC - JPA - Spring DataJDBC - JPA - Spring Data
JDBC - JPA - Spring DataArturs Drozdovs
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfedilson42986
 
Banco de dados orientado a objetos
Banco de dados orientado a objetosBanco de dados orientado a objetos
Banco de dados orientado a objetosStefan Horochovec
 

Mais procurados (20)

Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by default
 
Sql injection
Sql injectionSql injection
Sql injection
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objeto
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dados
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dados
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
 
Introduction vulnérabilité web
Introduction vulnérabilité webIntroduction vulnérabilité web
Introduction vulnérabilité web
 
SDC 3rd 최흥배님 - Boost.multi_index 사용하기
SDC 3rd 최흥배님 - Boost.multi_index 사용하기SDC 3rd 최흥배님 - Boost.multi_index 사용하기
SDC 3rd 최흥배님 - Boost.multi_index 사용하기
 
Desenvolvimento de Software Seguro
Desenvolvimento de Software SeguroDesenvolvimento de Software Seguro
Desenvolvimento de Software Seguro
 
Aula 6 banco de dados
Aula 6   banco de dadosAula 6   banco de dados
Aula 6 banco de dados
 
Sql comandos agregacao
Sql comandos agregacaoSql comandos agregacao
Sql comandos agregacao
 
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
 
Role based access control - RBAC
Role based access control - RBACRole based access control - RBAC
Role based access control - RBAC
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
ORM Injection
ORM InjectionORM Injection
ORM Injection
 
JDBC - JPA - Spring Data
JDBC - JPA - Spring DataJDBC - JPA - Spring Data
JDBC - JPA - Spring Data
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdf
 
Banco de dados orientado a objetos
Banco de dados orientado a objetosBanco de dados orientado a objetos
Banco de dados orientado a objetos
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 

Semelhante a OWASP top 10 - Referência insegura direta a objeto

Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPFlavio Souza
 
PHP Desenvolvimento Seguro
PHP Desenvolvimento SeguroPHP Desenvolvimento Seguro
PHP Desenvolvimento SeguroFlávio Lisboa
 
Saindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webSaindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webIgor Carneiro
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityMarlon Bernardes
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...EMERSON EDUARDO RODRIGUES
 
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 LinuxEdlaine Zamora
 
ataque_bruteforce_com_hydra_parte_1.pdf
ataque_bruteforce_com_hydra_parte_1.pdfataque_bruteforce_com_hydra_parte_1.pdf
ataque_bruteforce_com_hydra_parte_1.pdfxererenhosdominaram
 
OWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationOWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationFernando Galves
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...Clavis Segurança da Informação
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de SegurançaAlan Carlos
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de DadosFelipe Plattek
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012Marcio Cunha
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebMatheus Fidelis
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Clavis Segurança da Informação
 
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
 

Semelhante a OWASP top 10 - Referência insegura direta a objeto (20)

Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
PHP Desenvolvimento Seguro
PHP Desenvolvimento SeguroPHP Desenvolvimento Seguro
PHP Desenvolvimento Seguro
 
Saindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações webSaindo do 0x0 sobre segurança em aplicações web
Saindo do 0x0 sobre segurança em aplicações web
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web Security
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
Vulnerabilidades Comuns em Aplicações Web - RoadSec 2023 EMERSON EDUARDO RODR...
 
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
 
ataque_bruteforce_com_hydra_parte_1.pdf
ataque_bruteforce_com_hydra_parte_1.pdfataque_bruteforce_com_hydra_parte_1.pdf
ataque_bruteforce_com_hydra_parte_1.pdf
 
OWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken AuthenticationOWASP Top 10 - A2 2017 Broken Authentication
OWASP Top 10 - A2 2017 Broken Authentication
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de Dados
 
Seguranca web Testday2012
Seguranca web Testday2012Seguranca web Testday2012
Seguranca web Testday2012
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
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...
 
134318809 seguranca
134318809 seguranca134318809 seguranca
134318809 seguranca
 

OWASP top 10 - Referência insegura direta a objeto

  • 2. Resumo • Agentes da ameaça: usuário com acesso ao sistema porém sem acesso a algumas informações. • Vetor de ataque: de fácil exploração • Falha de segurança: estruturas do banco de dados ou filesystem diretamente referenciadas • Impactos técnicos: possibilidade de acesso indevido a informações • Impactos no negócio: dependem do valor das informações e impacto da imagem da empresa
  • 3. Agentes da Ameaça O objeto de ataque é a informação proveniente de um banco de dados, sistema de arquivos ou qualquer repositório no qual um usuário legítimo tem acesso não só as informações permitidas como também qualquer outra informação não permitida.
  • 4. Vetor de Ataque O Vetor de Ataque pode ser qualquer usuário insatisfeito e com más intenções, pois é feito através da URL (get) nos casos de sistemas web ou sites.
  • 5. Falha de Segurança O acesso a um determinado registro é feito através da URL, tornando visível as referências (chave primária) do registro da informação desejada. Ex.: http://www.sistema.net/conta.php? id=1234 Se o usuário alterar o id diretamente na url e não houver uma criticidade no algoritmo do sistema que bloqueie esse acesso, o usuário terá acesso à todas as informações de outra conta não
  • 6. Impactos Técnicos Comprometimento das informações e cópia das mesmas. Ex: No site da Australian Taxation Office’s GST Start Up Assistance em 2000, onde um usuário legítimo, mas hostil, simplesmente modificou o ABN (identificador da empresa) presente na URL. O usuário se apossou de cerca de 17.000 registros de empresas
  • 7. São visualizadas na aplicação, as referências a objetos internos dos usuários. Atacantes manipulam parâmetros de maneira a alterar as referências, conseguindo assim acesso a diretórios ou outros recursos da aplicação. <select name="language"><option value="fr">Français</option></select> … require_once ($_REQUEST['language’]."lang.php"); Tal código pode ser atacado usando uma string como “../../../../etc/passwd%00” usando Funcionamento do ataque
  • 8. Como se prevenir • Evitar a exposição de referências de objetos privados a usuários sempre que possível, como chaves primárias e nomes de arquivos. • Validar cada referência privada a objeto através da abordagem “aceite o reconhecido como bom”. • Verificar a autorização de todos os objetos referenciados. • Usar um valor de índice ou um mapa de referência para prevenir ataques de manipulação de parâmetro.
  • 9. Exemplos específicos de proteção • Uso de URL oculta configurando o mod_rewrite e o .htaccess, assim na url aparecerá somente o site raiz. • Uso de mapa de referência randômica, onde a referencia visível aponta para um mapa que faz a correlação com a informação real. • Associação da referência da url com alguma informação do usuário(permissão) na preparação do SQL.