Problèmes de l'application Signal et alternatives pour des communications
sécurisées
Soumission anonyme à MTL Counter-info (proposition de traduction)Voici quelques problèmes moins connus de Signal que les anarchistes et autres personnes visées par la répression d'État devraient connaître. Ces problèmes sont connus des développeurs de Signal.
Les informations potentiellement sensibles sont enregistrées de manière permanente dans les bases de données des comptes.
Bien que cachées, les informations suivantes sont enregistrées de manière permanente.
[]Tous les numéros de téléphone visibles : La plupart des utilisateurs de Signal conservent les numéros de téléphone de tous les autres membres du chat d’avant mars 2024, date à laquelle ils ont pu pour la première fois modifier la visibilité de leur numéro de téléphone en « personne ».
[]Métadonnées du groupe : Quitter ou supprimer un groupe Signal entraîne principalement la suppression des messages. Les membres du groupe, son nom, sa description, la date et l’heure d’inscription, la date et l’heure du dernier message, son identifiant, ses clés, les libellés des membres, les administrateurs, les membres supprimés, le mot de passe du lien du groupe, les brouillons, le nombre de messages, le nombre de messages envoyés, la date et l’heure d’expiration des messages, et bien plus encore, sont conservés de façon permanente.
Exemple
"id": "REDACTED",
"groupId": "REDACTED",
"type": "group",
"version": 2,
"expireTimerVersion": 1,
"unreadCount": 0,
"verified": 0,
"messageCount": 3,
"sentMessageCount": 2,
"name": "REDACTED",
"revision": 8,
"publicParams": "REDACTED",
"secretParams": "REDACTED",
"accessControl": {
"members": 2,
"attributes": 2,
"addFromInviteLink": 4,
"memberLabel": 2
},
"membersV2": [
{
"role": 2,
"joinedAtVersion": 0,
"aci": "REDACTED",
"labelString": "REDACTED"
},
{
"role": 1,
"joinedAtVersion": 1,
"aci": "REDACTED",
"labelString": "REDACTED"
}
],
"pendingMembersV2": [],
"active_at": null,
"avatars": [
{REDACTED}
],
"groupVersion": 2,
"groupVerifiedNameHash": "REDACTED",
"masterKey": "REDACTED",
"profileSharing": true,
"timestamp": null,
"needsStorageServiceSync": false,
"sealedSender": 0,
"color": "A110",
"senderKeyInfo": {
"createdAtDate": REDACTED,
"distributionId": "REDACTED",
"memberDevices": []
},
"lastMessage": "",
"lastMessageReceivedAt": REDACTED,
"lastMessageReceivedAtMs": REDACTED,
"lastMessageDeletedForEveryone": false,
"expireTimer": 86400,
"left": true,
"pendingAdminApprovalV2": [],
"bannedMembersV2": [
{
"serviceId": "REDACTED",
"timestamp": REDACTED
}
],
"markedUnread": false,
"unreadMentionsCount": 0,
"draft": "REDACTED",
"draftBodyRanges": [],
"draftChanged": true,
"draftIsViewOnce": false,
"storageVersion": 27,
"storageID": "REDACTED",
"description": "REDACTED",
"announcementsOnly": false,
"terminated": false,
"draftTimestamp": null,
"draftAttachments": [],
"messagesDeleted": true
Métadonnées de contact : Supprimer une conversation conserve le nom du contact, son identifiant de compte (ACI), son numéro de téléphone, sa section « À propos », son surnom, l’horodatage du dernier message, la note du contact, le brouillon, le nombre de messages échangés, le nombre de messages envoyés, la date d’expiration des messages, les clés de profil, la date d’expiration des identifiants de profil, et plus encore. Supprimer un contact le masque uniquement.
Exemple
"id": "REDACTED",
"serviceId": "REDACTED",
"type": "private",
"version": 2,
"expireTimerVersion": 1,
"unreadCount": 0,
"verified": 0,
"messageCount": 4,
"sentMessageCount": 2,
"sealedSender": 1,
"color": "A110",
"profileKeyCredential": "REDACTED",
"profileKeyCredentialExpiration": REDACTED,
"accessKey": "REDACTED",
"profileKey": "REDACTED",
"profileName": "REDACTED",
"note": "",
"messageRequestResponseType": 2,
"profileSharing": false,
"storageUnknownFields": "",
"hideStory": false,
"isArchived": false,
"markedUnread": false,
"storageID": "REDACTED",
"storageVersion": 33,
"needsStorageServiceSync": true,
"muteExpiresAt": 0,
"colorFromPrimary": 2,
"about": "REDACTED",
"aboutEmoji": "",
"sharingPhoneNumber": false,
"capabilities": {
"profiles_v2": false,
"attachmentBackfill": true,
"spqr": true,
"usernameChangeSyncMessage": false
},
"lastProfile": {
"profileKey": "REDACTED",
"profileKeyVersion": "REDACTED"
},
"unreadMentionsCount": 0,
"lastMessage": "",
"lastMessageReceivedAt": REDACTED,
"lastMessageReceivedAtMs": REDACTED,
"timestamp": null,
"lastMessageDeletedForEveryone": false,
"expireTimer": 86400,
"active_at": null,
"draft": "REDACTED",
"draftBodyRanges": [],
"draftChanged": false,
"draftIsViewOnce": false,
"draftTimestamp": null,
"draftAttachments": [],
"messagesDeleted": true
La seule façon fiable de supprimer ces informations est d'effacer toutes les données de l'application Signal, puis de se réinscrire sans saisir le code PIN ni restaurer les données. Cette opération efface également tous les contacts et messages.
La réinscription avec le code PIN permet de récupérer toutes les métadonnées des contacts. Pour les groupes supprimés et les groupes laissés de côté, seuls les identifiants, les clés, les couleurs des icônes et quelques autres éléments semblent être restaurés, mais il s'agit néanmoins d'informations potentiellement sensibles.
L'enregistrement réussi du numéro de téléphone d'un compte Signal existant permet de remplacer ou de désactiver ce compte.
Signal utilise l'authentification par SMS. Si le verrouillage d'un compte Signal est désactivé, un pirate capable d'observer ou d'intercepter ses SMS peut recevoir un code de vérification Signal et prendre immédiatement le contrôle du compte. Si le verrouillage est activé, il peut désenregistrer immédiatement l'appareil de l'utilisateur, l'empêchant ainsi d'utiliser son compte. Le pirate peut alors reprendre le contrôle du compte au bout de 7 jours si l'utilisateur ne parvient pas à se réinscrire.
Une fois le compte piraté, l'attaquant reçoit tous les messages destinés à sa cible, y compris les messages de groupe, et peut envoyer des messages depuis son compte. Les contacts constatent que leurs numéros de sécurité ont changé, mais la plupart des gens ignorent ces messages. Après tout, cela peut simplement indiquer que la personne a réinstallé Signal. Le nom du compte change, sauf si l'attaquant connaît l'ancien nom ou devine le code PIN, mais les changements de nom sont très fréquents.
De plus, la suppression d'un compte Signal n'entraîne pas sa suppression définitive des serveurs de Signal pendant 30 jours. Si une personne enregistre le numéro pendant cette période, elle peut accéder immédiatement au compte. La suppression d'un compte entraîne la suppression de tous les groupes, mais l'utilisateur peut toujours envoyer et recevoir des messages en tant qu'utilisateur initial.
Ces choix de conception fragilisent la sécurité et la fiabilité des comptes Signal. N'importe qui peut insérer la carte SIM d'une personne dans un autre téléphone. Les services de renseignement interceptent la plupart, voire la totalité, des SMS. Les simulateurs d'antennes-relais, les attaques SS7 et les échanges de cartes SIM peuvent également être utilisés pour intercepter les SMS.
Les ACI sont associés à des numéros de téléphone sur les serveurs Signal et sont difficiles à modifier.
Les ACI sont des identifiants uniques de 128 bits qui permettent d'identifier les comptes Signal auprès des autres comptes et des serveurs Signal. Les comptes enregistrent les ACI de tous les comptes connus. Les ACI ne sont pas affichés dans les applications Signal ni mentionnés sur le site web de Signal, mais ils peuvent être collectés et suivis dans le temps et entre les groupes. Il est également possible d'envoyer des messages à des ACI sans fournir d'autres informations.
Les serveurs de Signal enregistrent les ACI (identifiants de compte administrateur) associés aux numéros de téléphone des comptes, ce qui leur permet de communiquer ces numéros aux autorités gouvernementales. D'après un article de Micah Lee(EN), « si Signal reçoit une demande d'information d'un gouvernement concernant un compte, basée sur un nom d'utilisateur actif, Signal pourra transmettre le numéro de téléphone de ce compte, ainsi que sa date de création et sa date de dernière connexion ». La recherche d'un nom d'utilisateur actif fournit simplement l'ACI du compte ; il faut donc supposer que cette possibilité existe. Il est même possible qu'elle se soit déjà concrétisée.
Pour obtenir un nouvel ACI, les utilisateurs doivent supprimer leur compte Signal pendant 30 jours ou utiliser un nouveau numéro de téléphone.
Autres problèmes
Signal est centralisé et fonctionne sur les serveurs d'Amazon, de Microsoft et de Google. Ces entreprises partagent d'énormes quantités de données avec les services de renseignement. Elles transmettent probablement les métadonnées de Signal au gouvernement américain, même si Signal ne le fait sans doute pas. De plus, sa centralisation facilite la censure. De nombreux gouvernements bloquent déjà Signal, et le gouvernement américain pourrait le fermer définitivement.
Les notifications sur iOS, Android, macOS et Windows permettent à Apple, Google et Microsoft de connaître l'heure d'envoi des messages. Ce n'est pas le cas sur Linux et GrapheneOS.
L'analyse du moment de réception des messages silencieux(EN) permet de recueillir des informations sur les habitudes et les appareils des utilisateurs. Bien que difficile à empêcher totalement, les développeurs de Signal n'ont pas prévu de solution pour atténuer ce risque. Toutefois, l'utilisation de Signal via Tor ou un VPN réduit probablement la précision de cette attaque.
Alternatives
Ces solutions ne possèdent pas toutes les fonctionnalités de Signal et n'ont pas été testées aussi rigoureusement. À l'instar de Signal, elles ne conviennent pas à tous les modèles de menaces.
Cwtch est une application de messagerie chiffrée peer-to-peer qui utilise Tor pour contourner la surveillance et la censure. Elle ne nécessite pas de numéro de téléphone, offre une meilleure protection des métadonnées que Signal, chiffre sa base de données, permet l'utilisation de plusieurs comptes et fonctionne avec ou sans serveur. Elle n'a pas fait l'objet d'un audit de sécurité indépendant. L'équipe de développement est restreinte et recherche du soutien.
Briar est similaire à Cwtch, mais propose également des fonctionnalités de base de blog, de forum et de lecteur RSS. Bien qu'ayant fait l'objet d'audits de sécurité, il n'est actuellement pas compatible avec Tails ni les systèmes similaires. Pour discuter, deux comptes doivent échanger des liens ou des codes QR.
Delta Chat est décentralisé et ne nécessite pas de numéro de téléphone. Moins résistant aux fuites de métadonnées que Signal, il permet néanmoins de créer facilement de nouveaux comptes. L'absence de confidentialité persistante rend possible le déchiffrement de plusieurs messages antérieurs à l'aide d'une clé divulguée. Les développeurs prévoient d'intégrer la confidentialité persistante et le chiffrement post-quantique fin 2026. Delta Chat est compatible avec Tor, mais les fonctionnalités UDP telles que les appels et la synchronisation multi-clients ne sont actuellement pas prises en charge par Tor. Signal et la plupart des autres applications rencontrent le même problème.
D'autres alternatives similaires ne sont pas recommandées pour le moment, sauf l'utilisation de PGP par e-mail en cas de nécessité. De nombreuses autres options sont actuellement trop expérimentales, insuffisamment robustes face aux métadonnées ou insuffisamment fiables.
Suggestions de signalisation
Pour ceux qui continuent d'utiliser Signal, ces suggestions doivent être évaluées en fonction de chaque modèle de menace. Si l'anonymat et la fiabilité sont essentiels, Signal n'est pas la meilleure option.
[]N’utilisez pas Signal pour organiser ou manifester.
[]Achetez un numéro de téléphone virtuel ou un forfait téléphonique secondaire à utiliser une seule fois pour l'inscription à Signal. Continuez à payer ce service ou changez de numéro pour éviter de perdre votre compte. Il est difficile de le faire anonymement, mais c'est possible.
[]Utilisez GrapheneOS sur un appareil compatible. GrapheneOS est plus résistant aux outils d'extraction de données comme Cellebrite que les autres systèmes d'exploitation pour téléphones.
[]Chiffrez les appareils avec des mots de passe longs et aléatoires, et éteignez-les lorsqu'ils ne sont pas utilisés.
[]Utilisez Molly avec le chiffrement de la base de données.
[]Utilisez , Orbot sur GrapheneOS ou un VPN fiable. Notez que les VPN ne sont pas anonymes et que l'utilisation de Signal avec Tor peut révéler votre adresse IP.
[]Vérifiez les numéros de sécurité et les identités, et considérez tout changement de numéro de sécurité comme une possible compromission de compte.
[]Évitez les groupes Signal avec des personnes inconnues.
[]Modifiez les paramètres de votre signal pour choisir de meilleures options(EN).
[]Ne connectez pas d'appareils supplémentaires.- Créez des conversations de sauvegarde dans Cwtch, Briar ou Delta Chat.
Pour en savoir plus
Article source(EN) : https://mtlcounterinfo.org/signal-problems/
#messageriechiffree #communicationdecentralisee #degoogelisation