Riscos de aquisição de conta com preenchimento automático de código de segurança iOS [com vídeo]
![Account Takeover Risks with iOS Security Code AutoFill [With Video]](/sites/default/files/styles/blog_detail_image_mobile_small/public/2021-02/iOs-Autofill-Blog_0.jpg?itok=E-ch4CBD)
Nos últimos doze meses, ocorreram mudanças significativas no cenário de segurança e cibersegurança para organizações que enviam códigos de segurança via mensagem de texto SMS a seus clientes com o objetivo de autenticação de usuário, autenticação de transação ou vinculação de dispositivo. Este artigo de Andreas Gutmann, pesquisador do Cambridge Innovation Center da OneSpan, explica as etapas que essas organizações podem realizar para melhorar a segurança de seus serviços e das contas online de seus usuários.
Fraude de aquisição de conta (ATO) , por meio do qual um fraudador obtém acesso não autorizado à conta online de um usuário, é uma das maiores ameaças à segurança que muitas organizações enfrentam. Os métodos de controle de conta usados com frequência incluem engenharia social, ataques man-in-the-middle, ataques a navegadores da web, ataques de WiFi públicos, malware por meio de uma página da web ou anexo de e-mail e preenchimento de credenciais. A defesa mais comum contra a fraude de controle de conta é o uso de códigos de segurança para autenticação multifator (MFA), autenticação de transação e para obter vinculação de dispositivo para aplicativos móveis. Esses códigos de segurança são normalmente enviados por SMS para o telefone celular do consumidor. No passado descobrimos riscos de segurança exclusivos em como os iPhones lidam com esses códigos de segurança usando recursos de preenchimento automático e a Apple corrigiu algumas das vulnerabilidades de preenchimento automático relatadas no final de 2020.
Recurso de preenchimento automático do código de segurança no iOS 14: uma correção parcial para as vulnerabilidades no iOS 12
O recurso Preenchimento automático do código de segurança no iOS é um recurso conveniente para remover o atrito na experiência do usuário e, assim, melhorar a experiência do consumidor ao lidar com códigos de segurança entregues via SMS para um iPhone (e MacBook / iMac se os consumidores compartilharem SMS entre seus dispositivos). O recurso extrai automaticamente os códigos de segurança do SMS recebido e fornece uma interface para os consumidores inserirem esses códigos em sites ou aplicativos com um único toque.
Figura 1: sugestão do recurso Preenchimento automático do código de segurança no iOS para preencher o código de segurança 834956 em um campo de formulário em um site (não mostrado nesta imagem) tocando uma vez na sugestão de preenchimento automático acima do teclado.
Crucialmente, os consumidores não precisam mais abrir seu aplicativo SMS e ler o SMS quando seguem uma sugestão de preenchimento automático. No entanto, a sugestão de preenchimento automático em si não fornece informações contextuais essenciais sobre os códigos de segurança recebidos que podem ser lidos no SMS. Como consequência, os consumidores podem não saber quem lhes enviou um código de segurança e para que finalidade. Essas circunstâncias podem ser exploradas por agentes mal-intencionados, como demonstramos anteriormente aqui .
Posteriormente, o suporte para uma tecnologia de segurança chamada Domain Binding foi adicionado ao recurso Security Code AutoFill com o lançamento do iOS 14 no final de 2020. Isso permite que o remetente de um SMS especifique o site no qual um código de segurança deve ser inserido. Na ausência dessa especificação no SMS, o recurso Preenchimento automático do código de segurança pode sugerir a inserção do código de segurança em qualquer site. A sintaxe necessária para Domain Binding de códigos de segurança em SMS é visualizada na seguinte ilustração:
Figura 2: ilustração da sintaxe necessária para vinculação de domínio com o preenchimento automático do código de segurança. A primeira linha é um texto legível para os consumidores que abrem seu aplicativo SMS e copiam manualmente o código de segurança. A segunda linha é um código legível por máquina, em [email protected] .com refere-se ao domínio da web https://example.com e # 123456 é um código de segurança destinado a esse domínio.
Observe que o iOS 14 não é compatível com os seguintes dispositivos: iPhone 5S, iPhone 6 e iPhone 6 Plus. Esses dispositivos permanecerão vulneráveis e não se beneficiarão da correção parcial da Apple por meio da integração da tecnologia de vinculação de domínio.
O vídeo a seguir é uma gravação de uma palestra que dei sobre esse assunto na Northumbria University, no Reino Unido. Nesta aula, vou entrar em mais detalhes sobre as vulnerabilidades de segurança que encontramos no iOS e a correção parcial implementada pela Apple.
Melhorias para autenticação multifator
Os casos de uso de autenticação multifator são os principais beneficiários da adição da tecnologia de vinculação de domínio ao recurso Preenchimento automático do código de segurança. As organizações que utilizam códigos de segurança fornecidos por SMS para proteção aprimorada durante os logins de seus clientes no site podem utilizar o recurso Preenchimento automático do código de segurança com vinculação de domínio para fornecer uma experiência utilizável e segura ao cliente.
Dica de segurança:
Organizações com tais casos de uso devem adotar a tecnologia de vinculação de domínio e adaptar o layout de seu SMS correspondente. No caso (raro) em que as organizações usam códigos de segurança via SMS para MFA em aplicativos móveis, incluí uma dica de segurança adicional abaixo.
Mudanças necessárias para vinculação de dispositivo
A tecnologia de vinculação de domínio, conforme implementada pela Apple, não oferece suporte a casos de uso para aplicativos móveis em iPhones, ou seja, as organizações podem especificar apenas sites, mas não aplicativos móveis, como o local onde um código de segurança deve ser inserido. Assim, sugestões de preenchimento automático de tais códigos de segurança podem aparecer em outros aplicativos e sites, como sites de phishing.
Dica de segurança:
Para remediar esse problema, as organizações podem colocar o SMS correspondente de forma que os códigos de segurança não sejam reconhecidos como códigos de segurança pelo iOS. As organizações podem avaliar diferentes layouts enviando SMS para si mesmas. Se o código de segurança estiver sublinhado com uma linha cinza fina, o iOS o reconhece como um código de segurança. Como exemplo, as organizações podem anexar algumas letras que identificam sua organização aos seus códigos de segurança em SMS e pré-preencher essas letras no campo do formulário correspondente onde deve ser inserido pelo cliente. Tal implementação para o Banco A poderia usar “BA-124680” ao transmitir o código de segurança “124680” e, em seguida, preencher previamente os símbolos “BA-“ no campo de formulário correspondente em seu aplicativo. No entanto, embora o iOS atualmente não reconheça tais construções como códigos de segurança, não podemos excluir a possibilidade de que isso possa mudar no futuro. Assim, será necessário monitorar ativamente tais desenvolvimentos.
Ramificações para autenticação de transação
A autenticação de transação é o caso de uso menos suportado para o recurso Preenchimento automático do código de segurança e traz os maiores riscos para as organizações que fornecem códigos de segurança via SMS.
O primeiro problema é que a tecnologia de vinculação de domínio não é apropriada para aliviar os riscos de segurança típicos associados à autenticação de transação, para a qual a principal preocupação de segurança é a manipulação de transação em vez de phishing. Como o recurso Preenchimento automático do código de segurança descontextualiza os códigos de segurança, os usuários permaneceriam incapazes de verificar se suas transações não foram manipuladas ao utilizar esse recurso.
Um outro problema é que se o recurso Preenchimento automático do código de segurança detecta uma quantia em dinheiro em uma moeda reconhecida, ele exibe essa quantia ao lado da sugestão de preenchimento automático, mas o recurso não reconhece muitas moedas. Como consequência, os clientes em um país com uma moeda reconhecida (por exemplo, no Reino Unido) podem se acostumar a ver essas informações sempre que autorizam uma transação. No entanto, se um adversário alterasse a moeda para uma não reconhecida ao manipular uma transação (por exemplo, alterar a moeda de Libra Esterlina para Coroa Sueca SEK), o cliente poderia ser enganado e pensar que este era um código para Autorização multifator.
Figura 3: A imagem à esquerda mostra uma sugestão de preenchimento automático para um código de segurança de autorização de transação vinculado a uma transação de valor GBP 100. A imagem à direita mostra uma sugestão de preenchimento automático para um código de segurança de autorização de transação vinculado a uma transação de valor SEK 1500.
Dica de segurança:
As organizações podem criar uma frase de SMS correspondente de forma que os códigos de segurança para autorização de transação não sejam reconhecidos como códigos de segurança pelo iOS. Mais informações sobre essa abordagem podem ser encontradas acima nas dicas de segurança para casos de uso de vinculação de dispositivo.
Além disso, considere o uso de mecanismos de segurança mais fortes do que os códigos de segurança enviados por SMS:
- Para autenticação de transações em serviços bancários online, autenticadores baseados em software ou hardware poderia ser usado.
- Para autenticação de transação em pagamentos online, a autenticação Out-Of-Band (OOB) ou códigos no aplicativo para autenticação de transação podem ser usados em vez de códigos de segurança via SMS.