Controle de acesso de nível de função ausente

A maioria dos aplicativos da web verifica os direitos de acesso de nível de função antes de tornar essa funcionalidade acessível ao usuário. No entanto, se as mesmas verificações de controle de acesso não forem executadas no servidor, os hackers podem entrar no aplicativo sem a devida autorização.

Vamos entender os Agentes de Ameaça, Vetores de Ataque, Fraqueza de Segurança, Impacto Técnico e Impactos de Negócios dessa falha com a ajuda de um diagrama simples.

Exemplo

Aqui está um exemplo clássico de controle de acesso de nível de função ausente -

O hacker simplesmente força os URLs de destino. Normalmente, o acesso de administrador requer autenticação, no entanto, se o acesso ao aplicativo não for verificado, um usuário não autenticado pode acessar a página de administrador.

' Below URL might be accessible to an authenticated user
http://website.com/app/standarduserpage

' A NON Admin user is able to access admin page without authorization.
http://website.com/app/admin_page

Mãos em

Step 1 - Vamos fazer o login como gerente de conta, primeiro percorrendo a lista de usuários e seus privilégios de acesso.

Step 2 - Ao tentar várias combinações, podemos descobrir que Larry tem acesso ao gerente de contas de recursos.

Mecanismos Preventivos

  • O mecanismo de autenticação deve negar todo o acesso por padrão e fornecer acesso a funções específicas para cada função.

  • Em um aplicativo baseado em fluxo de trabalho, verifique o estado dos usuários antes de permitir que eles acessem quaisquer recursos.