Des chercheurs de l’Applied Cryptography Group de l’ETH Zurich ont dévoilé des preuves de concept qui montrent que des pirates peuvent parvenir à voler la clé RSA privée d’un utilisateur, pour ensuite accéder à ses données. Mega a réagi en conséquence avec une mise à jour de son application.
Lancé en 2013 par le célèbre et sulfureux Kim Dotcom, Mega est un service de stockage dans le cloud. Il tente de se distinguer de la concurrence, par exemple Dropbox et Google Drive, en insistant sur une caractéristique importante : le chiffrement de bout en bout. Ainsi, vos fichiers sont stockés sous une forme chiffrée sur les serveurs de Mega et vous seul pouvez les déchiffrer.
Pour cela, Mega utilise un système très complexe de clés de chiffrement qui prend comme point de départ le mot de passe défini par l’utilisateur. Ce mot de passe, qui n’est pas stocké chez Mega, permet de créer une clé d’authentification (Authentification Key), pour se connecter, et une clé de chiffrement (Encryption Key). Cette dernière est utilisée pour générer une clé principale, ou maître, (Master Key) qui va ensuite aboutir à la création de quatre paires de clés asymétriques.
Ces clés ont les fonctions suivantes :
- Ed25519 Signature Key : clé pour signer d’autres clés
- RSA Sharing Key : clé pour partager des données avec d’autres utilisateurs
- Curve25519 Chat Key : clé pour la messagerie instantanée
- Node Keys : clés pour chaque fichier au dossier téléversé sur le serveur
Les clés privées et les Node Keys sont stockées sur le serveur de Mega sous une forme chiffrée, en utilisant la clé principale. Bref, le système repose sur de nombreuses opérations de chiffrement, ce qui garantit a priori la sécurité des données.
Mais des chercheurs en sécurité de l’université ETH à Zurich ont découvert qu’il y avait des failles dans le système et qu’il était possible de déchiffrer les fichiers stockés sur les serveurs de Mega, voire de téléverser d’autres fichiers sans que l’utilisateur soit averti.
Pour cela, ils mettent en œuvre cinq types d’attaques différentes, dont la plus importante permet de récupérer la clé RSA privée d’un utilisateur en exploitant le manque de protection de l’intégrité des clés chiffrées sur les serveurs de Mega. Ainsi, une clé chiffrée invalide est quand même traitée par le serveur au lieu d’être rejetée. L’opération est possible, soit en prenant le contrôle des serveurs de Mega, soit en utilisant une attaque du type « Man in the middle » (le pirate se positionne entre le client et le serveur). Dans la vidéo ci-dessous, les huit premiers bits de la clé RSA privée sont interceptés pour montrer que le concept fonctionne.
Toutefois, il faut au minimum 512 tentatives de connexion pour parvenir à ses fins, ce qui prend du temps sachant que les utilisateurs restent souvent connectés en permanence. Le pirate doit donc provoquer des déconnexions pour que l’utilisateur recommence l’opération.
Les chercheurs insistent sur le fait qu’il est ensuite possible d’accéder à l’ensemble des clés qui sont stockées sur le serveur de Mega sous une forme chiffrée à l’aide de la clé principale. Un pirate, voire Mega, peut ainsi accéder aux fichiers et à la messagerie instantanée de l’utilisateur.
Les chercheurs ont fait part de leurs découvertes à Mega le 24 mars. Le fournisseur de service a réagi en publiant un article le 21 juin, indiquant que, sur les cinq vulnérabilités, les deux concernant le déchiffrement potentiel des données sont désormais corrigées par une mise à jour des applications (bureau et mobile), ainsi que du client Web. Mega a donc paré au plus pressé, ce qui est une bonne nouvelle pour les utilisateurs du service, sans pour autant revoir de fond en comble les procédés de chiffrement pour ne pas effacer les données déjà stockées. Mega veut ainsi éviter de demander à ses clients de changer leurs mots de passes et de téléverser à nouveau leurs fichiers. Actuellement, le service compte plus de 250 millions d’utilisateurs et stocke 1 000 pétaoctets de données.
Source :
Applied Crypto Group ETH Zurich