Uma falha no “Entrar com a Apple” rendeu US$ 100 mil para um desenvolvedor. Confira os detalhes dessa perigosa vulnerabilidade.
Lembra de ter visto o botão “Entrar com a Apple” em vários sites e aplicativos? O recurso ‘Sign in with Apple’ (Login com a Apple) é semelhante a outras opções de login de aplicativos, como “Entrar com o Google” ou Facebook. No entanto, a diferença é que a oferta de logon único da Apple é mais privada e ainda permite que os usuários mascarem seu ID de email.
Em sua busca para oferecer maior segurança aos seus usuários, a Apple introduziu esse recurso em 2019 e trouxe o recurso junto com o iOS 13. A melhor parte do recurso é que um usuário pode controlar a quantidade de dados a serem compartilhados com um aplicativo.
O recurso de entrada foi introduzido para permitir que os usuários efetuem login nos serviços com seu ID Apple, em vez de um endereço de e-mail e senha.
Enfim, esse recurso permite que você pode entrar em um serviço on-line sem revelar as informações da sua conta do Twitter, Facebook ou Google, que podem parecer intrusivas para alguns.
Este novo serviço foi promovido como uma ‘maneira mais privada “de entrar em aplicativos e sites, pois você pode usar o Apple ID que você já criou em vez de criar um novo.
A Apple também prometeu não rastrear os aplicativos e sites nos quais você faz login e apenas reter as informações necessárias para fazer login.
“O login com a Apple não rastreia ou cria um perfil quando você usa seus aplicativos e sites favoritos, e a Apple retém apenas as informações necessárias para garantir que você possa entrar e gerenciar sua conta”, explica a Apple em um boletim de suporte.
Como é comum em novos serviços de autenticação com uma enorme base de usuários, foi rapidamente adotado por aplicativos e sites conhecidos, incluindo Spotify, Dropbox, Airbnb, entre muitos outros.
Mas infelizmente, o método de login da Apple estava escondendo uma grave vulnerabilidade zero-day que poderia resultar em hackers assumindo contas de usuários.
Falha no “Entrar com a Apple” rendeu US$ 100 mil para um desenvolvedor
O bug foi detectado em abril por um desenvolvedor indiano, Bhavuk Jain, que recebeu U$$ 100.000 como parte do programa de recompensas por bugs da Apple.
Felizmente, a Apple corrigiu a vulnerabilidade e diz que nenhuma conta foi comprometida.
Segundo Jain, o bug era específico para aplicativos de terceiros, ou seja, afetava apenas as pessoas que tentavam usar o “Entrar com a Apple” em um aplicativo que não era da Apple.
Em seu blog, Jain explica que o método de login da Apple autentica um usuário via JWT (JSON Web Token) ou um código gerado pelo servidor da Apple.
No entanto, Jain observou que os invasores poderiam ter falsificado um token vinculado a qualquer e-mail e poderiam ter verificado isso usando a chave pública da Apple.
Em termos mais simples, o token de autenticação (token JWT) que está sendo gerado pelo servidor Apple, ao fazer login em um serviço, está vinculado ao ID da Apple do usuário.
No entanto, o fluxo de trabalho real envolvido no logon do usuário no serviço falha ao verificar se a pessoa que usa o token de autenticação é o legítimo proprietário do ID da Apple.
“Isso significa que um invasor pode forjar um JWT vinculando qualquer ID de email a ele e obtendo acesso à conta da vítima”, afirmou Jain.
Se o bug não tivesse sido descoberto, um hacker poderia ter desfrutado de uma “aquisição total da conta”, apesar de um usuário mascarar seu email.
Jain disse ao The Hacker news que:
O impacto dessa vulnerabilidade foi bastante crítico, pois poderia ter permitido uma aquisição completa da conta. Muitos desenvolvedores integraram o Logon à Apple, pois é obrigatório para aplicativos que oferecem suporte a outros logons sociais. Para citar alguns que usam Entrar com a Apple – Dropbox, Spotify, Airbnb, Giphy.”
Os controles de privacidade promovidos pela Apple são inúteis quando essa vulnerabilidade permite “uma aquisição completa de contas de usuários nesse aplicativo de terceiros, independentemente de uma vítima ter um ID Apple válido ou não”, como Jain explicou em seu blog.
Você pode imaginar o quão danosa essa vulnerabilidade poderia ter sido se explorada. Obviamente, como dito antes, a empresa corrigiu a falha e uma auditoria interna de seus registros não revelou sinais de contas comprometidas.
- Como instalar o driver para o controle do Xbox no Ubuntu
- Como instalar o NeoGeo Pocket Emulator no Linux via Snap
- Como instalar o jogo Space Station 14 no Linux via Flatpak
- Como habilitar o repositório Games no openSUSE