O protocolo de assinatura única, amplamente utilizado, se mal configurado, permite que atacantes assumam facilmente a conta das vítimas
A Duo Security, empresa americana com foco no fornecimento de soluções de autenticação de dois fatores, rendpoint remediation e ferramentas de segurança single sign-on, informou no dia 27 de fevereiro que descobriu uma série de vulnerabilidades nas implementações SAML (Extended Assertion Markup Language) amplamente utilizadas. Veja o artigo da www.eweek.com, escrito por Sean Michael Kerner.
SAML é usado por muitos fornecedores diferentes para ajudar a habilitar recursos de assinatura única (SSO) em diferentes serviços. A Duo Security trabalhou com o CERT para ajudar a alertar possíveis fornecedores impactados pela vulnerabilidade.
“Múltiplas bibliotecas SAML podem incorretamente utilizar os resultados das API XML de passagem e canonização de XML de tal forma que um invasor possa manipular os dados SAML sem invalidar a assinatura criptográfica, permitindo que o ataque potencialmente ignore a autenticação aos provedores de serviços SAML”, CERT avisa no seu site.
Entenda a vulnerabilidade no padrão SAML Single Sign On
José Luiz Brandão, Co-Fundador e CEO da e-Sec, colunista do Crypto ID comenta a vulnerabilidade.
Quando ouvimos falar sobre vulnerabilidade em protocolos de criptografia conhecidos, na grande maioria das vezes, o próprio protocolo não está comprometido mas sim a implementação. Foi o caso do algoritmo RSA e do protocolo SSL em tempos passados.
O profissional que constrói algoritmos e protocolos de segurança, invariavelmente, tem mais conhecimento e experiência em segurança da informação que aquele profissional que lê a especificação técnica de um protocolo para depois desenvolver uma solução de software que implemente um determinado protocolo ou algoritmo.
A vulnerabilidade relatada no artigo, diz respeito a falhas de implementação do padrão SAML (Security Assertion Markup Language) muito utilizado na implementação de frameworks de autenticação por sigle-sign-on (SSO). O SSO é cada vez mais utilizado nos aplicativos das corporações para facilitar o dia a dia dos usuários que transitam entre os diversos sistemas providos pelas organizações.
A dinâmica do ataque envolve a característica das implementações de componentes de leitura de estrutura de dados em XML versus a característica da implementação dos algoritmos de “Canonicalização” essenciais no processo de assinatura digital de conteúdos do tipo XML. Para entender melhor veja o exemplo abaixo:
Forma 1: <Usuario>brandao@esec.com.br</Usuario>
Forma 2: <Usuario>brandao<– Um comentário qualquer –>@esec.com.br</Usuario>
Para o algoritmo de “Canonicalização” as 2 formas acima são idênticas, visto que o comentário no meio do XML não faz parte do conteúdo. Com as duas formas acima geram a mesma assinatura digital e são validadas de forma idêntica por algoritmos de validação de assinatura. Porém, para as implementações de leitura de XML as formas acima não são lidas de forma idêntica.
Na primeira o usuário é: brandao@esec.com.br e na segunda é usuário é brandao, sendo que o @esec.com.br após o comentário é desprezado pelo programada de leitura de XML.
Desta forma, num processo de login, o usuário brandao@esec.com.br pode se autenticar no lugar do usuário brandao. Pode não parecer muito problemático, mas em sistema grandes com muitos usuários, com poderes diferentes, se autenticar como um usuário de maior poder dentro da instituição pode resultar em grandes prejuízos.
Esse é mais um exemplo do desafio que os profissionais de segurança da informações tem nas organizações. É essencial ter um acompanhamento de perto de todas as soluções que são implantadas dentro da empresa. Avaliar os componentes de software que as equipes de desenvolvimento estão implantando dentro dos sistemas da instituição de forma a antecipar riscos desse tipo. Uma vez identificado o problema e publicado pela comunidade, buscar uma atualização é o caminho a seguir. Mas em alguns casos, pode já ser tarde demais.
Formado em Ciência da Computação pela Universidade de Brasília (1997), tendo se especializado em segurança da informação e criptografia, Brandão é sócio fundador da e-Sec Segurança Digital.
Foi membro do COTEC – Comissão Técnica da ICP-Brasil como representante da sociedade civil de 2003 a 2006 participando da elaboração das diversas normas publicadas pela ICP-Brasil neste período.
Durante mais de 10 anos participou de projetos nas áreas de criptografia, certificação digital, análise de segurança de sistemas em diversas instituições públicas e privadas em todo o país.
De 2007 a 2015 atuou como Diretor Comercial. Em janeiro de 2016 passou a ocupar a presidência do conselho administrativo da empresa e atualmente é o CEO da Cia.
Colunista do CryptoID