SSO, é realmente uma boa ideia?

SSO, é realmente uma boa ideia?

Ao discutir sobre identidade, SSO é um tema bem recorrente, pela simplicidade gerada ao usuário final e pelos seus "benefícios" de segurança. Mas será que uma implementação de SSO é sempre a melhor escolha? Ou melhor, será que realmente é seguro?


O que é o SSO?

Imagem retirada de: https://frontegg.com/guides/single-sign-on-sso

SSO ou Single Sign-On, é o termo que representa uma configuração que pode ser realizada em seu identity provider e que permite que aplicações que estão "plugadas" no IdP compartilhem a mesma sessão, não havendo a necessidade do usuário realizar múltiplas autenticações.

Essa funcionalidade gera ao usuário mais conforto ao utilizar as aplicações, uma vez que como mencionado, o mesmo não precisará utilizar suas credenciais a cada aplicação que estará acessando.

Requisitos para implementação do SSO

A peça chave e componente principal para configuração do SSO é o IdP (Identity Provider - Provedor de Identidade). É necessário que as aplicações que devem sofrer o impacto da aplicação da política estejam federadas no mesmo IdP e que permitam a configuração do SSO.

Entendido como o SSO funciona, vamos discutir e analisar os dois pontos de vista, o do usuário e o dos times de segurança.


Benefícios do SSO (para o usuário)

É comum que nas grandes organizações, a lista de soluções utilizadas pelos diversos departamentos e áreas chegue às centenas. Os times utilizam uma série de soluções com o propósito de conseguir realizar um trabalho mais efetivo e que entregue mais valor à organização e aos clientes, enquanto a lista de aplicações utilizadas só cresce conforme o tempo. Soluções novas são contratadas, soluções antigas são descontinuadas, e isso ocorre em todas as áreas, então se pensarmos nos períodos entre a contratação de uma nova solução e a desativação de uma solução antiga, a lista de aplicações que são utilizadas pelos usuários é enorme.

Saber que existem áreas que utilizam dezenas de ferramentas diariamente para a realização de atividades triviais nos permite avaliar que exigir aos usuários que iniciem um novo processo de autenticação em cada uma das ferramentas toda vez que forem acessá-las, deixará o trabalho muito mais complicado e cansativo, perdendo uma quantia de tempo valiosa, onde poderiam realizando atividades que geram valor para a organização.

Pensando nessa necessidade dos times de negócio, o SSO se apresenta como uma solução extremamente viável porquê:

  • Simplicidade: os usuários autenticam em uma das ferramentas e sua sessão será compartilhada com as outras soluções que estiverem plugadas ao mesmo IdP;

  • Segurança ao usuário: por "expor" suas credenciais apenas uma vez (no momento da autenticação), a implementação do SSO é considerada segura do ponto de vista do usuário, já que o mesmo corre menos riscos de ter sua senha visualizada e obtida de alguma forma por um agente externo.

Os benefícios acima apresentados já nos permitem ter uma ideia do valor que a implementação do SSO pode trazer para a organização. Isso sem nem ter mencionado os benefícios indiretos, como por exemplo:

  • Redução de chamados ao suporte: boa parcela dos chamados abertos nos suportes das empresas são sobre temas relacionados à senha. Usuários que não precisam lembrar inúmeras senhas para diferentes aplicações, não costumam precisar do suporte para reinicialização das credenciais;

  • Custos com equipes de T.I: optando por adotar uma estratégia moderna e que não necessita de gerenciamento, é possível que sua empresa consiga reduzir o orçamento dos times que costumam dar suporte à essas ferramentas, uma vez que o controle de acesso é tratado de maneira completamente centralizada no IdP.

Após compreender os benefícios gerados para os usuários, vamos estudar a situação dos times de segurança.


É seguro?

A implantação do SSO sempre foi tratada como uma boa prática pelos times de segurança, porém com a evolução das técnicas de ataque, é importante que nós, profissionais de cibersegurança e segurança da informação, não fiquemos "presos" ao que um dia foi senso comum entre os profissionais da área e realizemos novas avaliações de acordo com os cenários existentes.

Um motivo que de um ponto de vista pode ser considerado um benefício, do outro pode ser interpretado como um risco:

  • Entrada única das credenciais: o uso de apenas 1 conjunto de credenciais para acesso à múltiplos sistemas pode trazer grande perigo aos recursos de uma organização. Caso esse conjunto de credenciais esteja em posse de partes indevidas, o acesso "irrestrito" às aplicações poderá expor a organização a danos extensos se não for identificado rapidamente.

Temos uma outra questão, os tokens.

  • Token Theft: ataques do tipo token theft garantem ao atacante acesso aos recursos via obtenção indevida de um access token. O atacante utiliza técnicas para capturar o access token fornecido ao usuário e o utiliza para se passar pelo receptor original do token.

Outra questão que agrava possíveis problemas gerados pelo comprometimento das credenciais é o tempo de sessão configurado.

  • Tempo de sessão: sessões configuradas para durar grandes períodos de tempo possibilitarão ao atacante, em posse de uma credencial ou token roubado, acesso às aplicações que compartilham a mesma sessão pelo período de tempo configurado.

Pelo fato das aplicações estarem conectadas em um mesmo componente (IdP), todas as preocupações de segurança giram em torno dessa solução.

A existência de preocupações de segurança não elimina a possibilidade de utilizar a solução de maneira segura, aplicando os controles necessários e recomendados pelas equipes de segurança.


Reforçando a segurança

Procurando mitigar (ou pelo menos reduzir a possibilidade) as preocupações descritas anteriormente, algumas soluções são as seguintes:

  • Redução do tempo de sessão: configurar as sessões para exigir uma re-autenticação dos usuários de maneira mais frequente (mas não tão frequente, pois pode prejudicar as atividades de negócio) possibilita reduzir a efetividade dos ataques de roubo de credenciais e token theft;

  • Monitoramento das atividades: políticas de análise de atividade auxiliarão os times de segurança a captar atividades suspeitas em suas aplicações, como acessos em localidades atípicas, ataques de password spray, entre outras possibilidades (algumas ferramentas como o Entra ID da Microsoft permitem que seja solicitado ao usuário um "reforço" na autenticação caso alguma atividade atípica seja identificada);

  • Uso de MFA: a utilização de uma ferramenta de multi-factor authentication possiblita que os usuários realizem a autenticação de maneira mais segura e caso somado à uma implementação da funcionalidade passwordless, o perigo gerado pelo roubo das credenciais é minimizado, devido à eliminação de seu uso;

  • Token Protection (Entra ID): funcionalidade existente na solução de IAM da Microsoft, o token protection visa mitigar os danos causados por um ataque do tipo token theft. Associando o access token ao dispositivo para qual foi emitido, os atacantes não consiguirão utilizar o access token caso tomem posse do mesmo;

  • Seleção das aplicações: escolher corretamente as ferramentas que devem ter o SSO implementado também pode auxiliar na redução de problemas gerados por ataques bem sucedidos. Ferramentas que contém informações de negócio, confidenciais e estratégicas para a organização, devem ter os controles de segurança apresentados acima configurados de maneira mais rígida.

Vimos que é possível manter a segurança dos acessos e ao mesmo tempo fornecer conforto aos usuários das aplicações, porém é importante ter em mente a necessidade de avaliar os benefícios e os possíveis males causados por problemas de segurança não captados e solucionados.


Conclusão

SSO é SIM uma boa prática para o ecossistema de IAM (Identity and Access Management), mas isso não quer dizer que não tenha perigos.

A implementação do SSO com os devidos controles de segurança pode gerar à organização diversos benefícios, tanto aos times de segurança quanto aos times de negócio!


Espero que você tenha gostado do texto e que eu tenha conseguido te fornecer visões diferentes de um tema que por muito tempo foi considerado "unânime" entre os profissionais da área.

Até logo!