Segurança de Login Simultâneo

Logins ilimitados podem esconder falhas graves de lógica de negócio.

Um usuário faz login em um laptop. Segundos depois, a mesma conta faz login em um navegador diferente. Depois, em um dispositivo móvel. Em seguida, em um cliente de API. Tudo funciona perfeitamente.

Isso parece normal, pois muitos aplicativos suportam múltiplos dispositivos. Mas você deve se perguntar: toda aplicação deve permitir sessões ilimitadas?

Em alguns sistemas, múltiplas sessões são um recurso. Em outros, é uma falha que atacantes usam para permanecerem ocultos. Esta é uma vulnerabilidade de lógica de negócio. O código funciona conforme o projetado, mas o próprio projeto é fraco.

A diferença: • Bugs tradicionais exploram erros de codificação. • Bugs de lógica de negócio exploram decisões de design.

Pense em um serviço de streaming de filmes. Se uma assinatura permite que dez pessoas assistam ao mesmo tempo, o sistema de login funciona. A regra de negócio falha.

Isso se aplica a bancos, painéis administrativos e produtos SaaS.

Como testar isso:

Aplicativos de alta segurança geralmente impõem estas regras:

Se um invasor roubar as credenciais, ele poderá permanecer logado para sempre se você permitir sessões ilimitadas. Ele permanece ativo enquanto o usuário real também permanece ativo. Nenhuma das pessoas percebe o intruso.

O contexto é tudo. Aplicativos que precisam de muitas sessões:

Aplicativos que precisam de controle rigoroso:

Como corrigir:

Não procure apenas por bugs de código, como SQL injection. Procure por lacunas entre o que seu aplicativo faz e o que seu negócio exige.

Revise sua política de sessão hoje. Seu maior risco pode não ser um código quebrado. Pode ser uma lógica quebrada.

Fonte: https://dev.to/arashad_dodhiya_0e4bdba5a/concurrent-login-security-how-to-check-whether-multiple-sessions-are-allowed-1839