OWASP top 10 - Referência insegura direta a objeto

10
Insecure Direct Object References Referência Insegura Direta a Objeto

Transcript of OWASP top 10 - Referência insegura direta a objeto

Page 1: OWASP top 10 - Referência insegura direta a objeto

Insecure Direct Object References

Referência Insegura Direta a Objeto

Page 2: OWASP top 10 - 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

Page 3: OWASP top 10 - Referência insegura direta a objeto

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.

Page 4: OWASP top 10 - Referência insegura direta a objeto

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.

Page 5: OWASP top 10 - Referência insegura direta a objeto

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=1234Se 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 autorizada.

Page 6: OWASP top 10 - Referência insegura direta a objeto

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 cadastrados no sistema.

Page 7: OWASP top 10 - Referência insegura direta a objeto

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 umastring como “../../../../etc/passwd%00” usando injeção de um byte nulo

Funcionamento do ataque

Page 8: OWASP top 10 - Referência insegura direta a objeto

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.

Page 9: OWASP top 10 - Referência insegura direta a objeto

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.

Page 10: OWASP top 10 - Referência insegura direta a objeto

Obrigado

Fim