26 janvier 2021

P(S|W), ou « Probabilité de Signal sachant WhatsApp »

Lundi, au bureau, il était difficile de parler d’autre chose : la suppression du compte Twitter de Donald Trump. Comme aurait pu le chanter Paul Mc McCartney, ce sont des mots qui, jusqu’ici, allaient très bien ensemble : plus de 11 000 tweets durant son mandat, soit 7 à 8 tweets par jour. Mais le laisser-faire de la plate-forme de micro-blogging a fini par se découvrir une capacité d’ingérence étonnante à la suite des résultats de l’élection américaine. Donald Trump nous ayant habitué aux tweets les plus étranges, et la nature ayant horreur du vide, il était fatal que quelqu’un vienne prendre sa relève. Et s’il elle n’est pas venue d’Elon Musk, qui œuvre sur son compte Twitter à promouvoir le sarcasme, le trente-sixième degré, et de temps en temps ses propres intérêts, elle est toutefois apparue chez un milliardaire tout aussi excentrique : Jack Dorsey, le patron de Twitter.

S’il est difficile de savoir avec certitude le sens exact que Jack Dorsey a voulu donner a cet assemblage, il atteste cependant d’un fait rare : Signal, une messagerie promettant le respect de la vie privée de ses utilisateurs, est passée du statut d’application confidentielle au sommet de la vitrine de l’App Store. Premier sur l’App Store donc, et pas de peu : Signal a connu une migration si massive qu’elle a littéralement croulé sous la demande.

Comment en est-on arrivé là ? Faut-il installer Signal ? Et quel rapport avec les réseaux bayésiens ? C’est ce que nous nous proposons d’expliquer dans cet article.

I. Historique

Ces nouveaux arrivants sur Signal ne viennent pas de nulle part : il y a fort à parier qu’il s’agit d’utilisateurs en train de fuir WhatsApp. Tout commence en 2014 lorsque Facebook rachète WhatsApp pour 19 milliards de dollars. Facebook avait promis que WhatsApp resterait une entité indépendante, mais le scandale de Cambridge Analytica avait durablement marqué les esprits en ternissant la réputation de Facebook, et notamment sa capacité à protéger la vie privée de ses utilisateurs. Beaucoup redoutaient alors que WhatsApp n’emprunte la même voie.

Une crainte qui s’est certainement manifestée chez beaucoup d’utilisateurs à la vue de ce message, affiché sur WhatsApp le 4 janvier 2021 :

Alors, cette annonce avait-elle vraiment de quoi choquer ? Pas tellement, pourraient arguer certains, étant donné que WhatsApp avait déjà cette option de partager sa donnée avec Facebook : la seule chose qui change est que ce partage n’est plus une option, mais devient obligatoire. Mais ce raisonnement n’est pas assez complet : pour mieux le comprendre, nous devons faire appel aux probabilités bayésiennes.

II. Arbre bayésien

Nous allons commencer par nous intéresser à l’affirmation suivante : « WhatsApp partage les données de ses utilisateurs à Facebook de manière abusive ».

Contrairement à l’affaire Cambridge Analytica, il n’y a pas eu à ce jour de lanceur d’alerte qui nous informerait d’une exploitation abusive de nos données de la part de WhatsApp. Il ne s’agit donc que d’une hypothèse, et ce qui va nous intéresser ici, ce sont les probabilités que cette hypothèse soit vraie.

En supposant que cette hypothèse, depuis le rachat de WhatsApp par Facebook, avait une chance sur dix d’être vraie. On note : P(W) = 10%

Considérons maintenant la nouvelle réglementation de WhatsApp. Il s’agit ici d’un fait établi et non d’une hypothèse, d’une « preuve » en quelque sorte. Dès lors, la suspicion sur notre hypothèse précédente devrait logiquement augmenter, car cette preuve va dans son sens. Disons, pour supposer, qu’elle double.

On peut représenter ce changement d’état sur un graphe :

En notant « E » (pour « evidence ») le fait que WhatsApp force le partage des données, et !E est une notation courante pour désigner l’événement inverse (dans le sens de complémentaire), soit « WhatsApp ne partage pas ses données avec Facebook. Dans ce dernier cas de figure, la suspicion sur l’hypothèse H n’aurait pas bougé.

Plus succinctement, on notera P(W│E1) = 20% pour écrire « La suspicion sur l’hypothèse H, après constatation de la preuve E1, est de 20% ».

Une preuve peut contribuer à affirmer comme à infirmer une hypothèse. Si on avait eu, par exemple, E1’ = « WhatsApp renforce la sécurité des messages privés grâce au 256bit AES », on aurait eu alors P(W│E1′) = 4%

Remarque : En pratique, il est très important de penser aux !E. L’information qu’une chose ne s’est pas passée (par exemple, la fin du monde en 2012) reste une information. En pratique, c’est un exercice plutôt difficile. On ne se rend souvent compte du !E qu’après avoir constaté le E (par exemple, on a réalisé que Twitter pouvait bannir Donald Trump seulement après qu’il l’ait fait). Un consultant en cybersécurité rigoureux doit pourtant se livrer à cet exercice : présence d’un 0-day, information inaccessible à cause d’un ransomware, etc.

Prenons un autre exemple. L’hypothèse est « Signal est respectueux de la confidentialité de ses utilisateurs », estimée à 30%, soit P(S) = 30%

Comme preuve, prenons le tweet d’Elon Musk qui a certainement mis le feu aux poudres la semaine dernière :

En prenant E2 = « Elon Musk recommande Signal », et en estimant que cette preuve donne beaucoup de crédit à l’hypothèse H, soit en considérant que l’avis de Musk est digne de confiance, on obtient alors l’arbre suivant :

III.  Réseau bayésien

On voit alors qu’un graphe bayésien peut nous aider à modéliser des phénomènes aléatoires, mais prévisibles. On remarque cependant que des évènements peuvent affecter plusieurs hypothèses (l’invitation de Musk à rejoindre Signal étant une allusion à peine maquillée à quitter WhatsApp). On pourrait avoir le graphe suivant :

Est-il possible de les mettre en relation ces trois graphes ? La réponse est oui, à l’aide d’un graphe bayésien.

Considérons le graphe suivant :

On utilise ici une notation simplifiée : plutôt que d’écrire E1 et !E1, on représente la preuve E par un nœud, qui peut s’activer ou non.

Un observateur muni d’un tel graphe aurait alors pu observer, après réalisation des événements E1 et E2, la probabilité d’un utilisateur de passer sur Signal monter à 80% et la méfiance envers WhatsApp monter à 50 ou 60%, et aurait ainsi pu prévoir la migration qui s’annonçait.

Ici, nous avons montré un exemple très simple, mais dans des systèmes à plusieurs dizaines ou centaines d’événements, les graphes bayésiens se révèlent très utiles !

En outre, les graphes bayésiens peuvent être une aide précieuse pour l’analyse d’une situation donnée. Le graphe ci-dessus est par exemple équivalent à :

Où l’événement E0 : « Twitter suspend le compte d’Elon Musk » ne s’est pas produit ! Que serait-il arrivé dans ce cas ? WhatsApp aurait-il connu le même abandon d’utilisateurs ?  Cela, seul un graphe bayésien pourrait vous l’apprendre !

IV. Que choisir

Des alternatives à WhatsApp existent. Comme ce n’est pas l’objectif de cet article, nous nous contenterons d’en citer quelques-unes : en plus de Signal, n’hésitez pas à vous renseigner sur Telegram, Session, Torchat et Wickr. Et n’oubliez pas d’analyser leur historique et d’en tirer les conclusions bayésiennes qui s’imposent !

V. Conclusion        

Cette affaire nous apprend beaucoup sur la vision qu’a le grand public de la cybersécurité. Cette semaine, WhatsApp a reconnu qu’un bug permettait à des acteurs potentiellement malveillants d’accéder à des groupes privés, une faille déjà apparue en 2019. Pourtant, en 2019, cette annonce n’avait pas provoqué d’exode de la plate-forme comme aujourd’hui. Faut-il en conclure qu’il y a une distinction entre des failles de sécurité non-intentionnelle et la volonté affichée de revendre les données de ses utilisateurs ? Sans doute.

Cela nous apprend surtout que la cybersécurité est un domaine crucial pour la survie des entreprises, et surtout extrêmement transverse : relations publiques, architecture réseau, concurrence du marché, législatif… Des centaines de facteurs rentrent en jeu dans la stratégie cyber d’une entreprise, tous aussi variables les uns que les autres.

Pour s’y repérer, et décider efficacement, pensez aux réseaux bayésiens !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *