Pourquoi ne pas faire confiance à SocialPass

La police du commerce, le canton de Vaud et GastroVaud nous obligent à installer une application sur nos smartphones, pour combattre le Covid19, si on veut que nos cafés ne meurent pas (du Covid19 ?) de manière définitive, soit, l'intention peut se comprendre, pourquoi pas.

Je remarque qu'il y a beaucoup de personnes refractaires à SocialPass, certaines avec de bonnes raisons mais assez floues, d'autres parce qu'elles et ils ne veulent pas se sentir forcé d'installer une application sur leur smartphones, avec peut-être des raisons que j'ignore.

Alors je vous propose une analyse, claire, simple et limpide, mais surtout technique, de pourquoi on ne peut pas faire confiance à SocialPass. Restez, vous allez comprendre.

Quand on développe un logiciel, c'est comme en cuisine, d'abord on crée la recette, ou alors on en prend une déjà faite, qu'on peut adapter à son goût, et ensuite vous préparer le plat, vous le mettez au four, etc. Les développeuses et développeurs sont donc en quelque sorte des cuisinières et des cuisiniers du numérique.

Et quand on est cuisinier ou cuisinière, on est obligé de dévoiler la recette pour les personnes ayant des allergies, même si les clientes et clients ne s'intéressent que rarement à la recette. Moi j'ai une allergie aux bouts de code qui ne respectent pas ma vie privée, et aux méthodes de travail du numérique douteuses, j'y peux rien j'en vomi toute la nuit. Je ne suis pas développeur, mais je baigne dans ce monde-là depuis 12 ans. En développement, une recette de cuisine s'appelle un code source (le repas cuisiné s'appelle le binaire). Et comme je suis feignant (#TeamFeignasse) le code source, je n'ai pas envie de le lire sans une bonne raison. Aujourd'hui j'ai envie de lire la recette de fabrication de SocialPass.

En informatique il existe deux mondes, le monde du libre, qui promeut la transparence et redonne le pouvoir aux utilisateurs et utilisatrices, et il y a le monde privateur, celui où les personnes développant des logiciels privateurs ne vous diront jamais ce qu'il y a dedans et ta gueule c'est mon logiciel ou rien.

Dans le monde du logiciel libre, vous aurez toujours la recette de fabrication du logiciel, parce qu'on ne cherche pas à cacher son fonctionnement. Il se trouve que SocialPass, et donc la société derrière SocialPass, en l'occurrence SwissHelios Sàrl, fait partie de la deuxième catégorie, ceux qui ne veulent pas que vous sachiez ce qu'ils ont mis dans leur logiciel. Car si c'était le cas il y aurait un lien sur leur site, pas trop difficile à trouver, pour trouver leur forge logicielle, là où on met le code source, avec les versions, comme tous les logiciels libres le font (souvent sur un dépôt Git).

De plus, quand on développe ce genre d'application, destinée spécifiquement à des citoyennes et des citoyens, on prend des précautions, on fait un audit externe (par des expertes et experts reconnus) avant publication ou au pire peu après, et on rend son code source public à qui veut le consulter, ce n'est toujours pas le cas à ce jour.

Alors maintenant je pose une question, de quelle légitimité GastroVaud se permet d'homologuer des logiciels (oui vous avez bien lu et j'ai une preuve de la police du commerce de l'ASR) alors que ce n'est pas du tout son métier ? Est-ce que moi, télématicien, qui fait du réseau informatique je vais homologuer les contrôles du service d'hygiène ? Non.

GastroVaud doit rester à sa place et si cette entité le veut, faire appel à de vrais spécialistes du logiciel option privée et respect des utilisateurs et utilisatrices, elle n'est pas légitime à homologuer du logiciel, ce n'est pas son job, point.

La nourriture et les systèmes d'information sont deux choses différentes, au cas où ça aurait fait une bouillie dans la tête de la police du commerce, de GastroVaud, du canton de Vaud, et de toute autre entité dont le logiciel n'est pas spécifiquement son métier.

Alors OK, peut-être que des gens vont lire ce billet de blog, et peut-être que les choses vont changer, on ne sait jamais, j'ai déjà vu cela, comme avec le vote électronique suisse, où un expert étranger a dû faire fuiter le code source lors de l'audit "soi-disant" public pour qu'on sache de quoi il en retournait (source de la restriction). Va-t-on devoir en arriver à de telles méthodes avec SocialPass pour savoir ce que fout cette application ?

Peut-être que même SwissHelios Sàrl va publier directement le code source, et qu'ils prendront enfin en compte qu'il y a tout un panel d'expertes et d'experts qui leur préparent un chaudron bien bouillant sur les pieds tant que ce n'est pas fait.

Alors même si les choses s'améliorent, je vais vous dire pourquoi il ne faut pas faire confiance à SocialPass et la société derrière, car utiliser des méthodes de hameçonnage (phishing en anglais) sur leur site web c'est grave, cela relève du mensonge et c'est les mêmes techniques que les spammeurs et les pirates informatiques utilisent, j'ai découvert cela ce matin qu'un lien HTML n'était pas du tout celui qu'il prétendait être.

Explications

Parlons un brin technique, mais vous allez comprendre. Sur le web, il y a des hyperliens, qui permettent d'aller de page en page ou sur un autre site, ceux-là vous les connaissez, vous les utilisez tous les jours. Ils ont, en apparence, deux formes textuelles, soit le lien brut, soit un mot ou un ensemble de mot permettant de décrire là où on va atterir. Exemple:
https://florian.siegenthaler.mx/ (lien brut, qui mène vers mon site web)
Ceci est un lien vers mon site web (lien de quelques mots, plus facilement identifiable humainement de où on va arriver, et qui mène aussi vers mon site web)

Bon, je vous parle pas chinois là, c'est du connu, il y en a sur toutes les cartes de visite non ? :)

Voyons le cas de SocialPass, que j'ai découvert lorsque je souhaitais télécharger l'application lorsque l'on a pas de compte Google (cas des Huawei et Lineage OS) :

Cela se passe sur cette page (28 octobre 2020 c'est toujours le cas) : https://www.socialpass.ch/ufaqs/impossible-dinstaller-sur-mon-telephone/

Nous avons le texte suivant :

Pour les téléphones qui ne supportent plus GooglePlay (ex nouvel Huawei)

Vous devez installer l’application en direct avec le lien suivant

http://www.socialpass.ch/SocialPass_Huawei.apk

Et on constate, en apparence, que le lien va nous faire télécharger le fichier SocialPass_Huawei.apk bon jusque là tout va bien, il fait beau dans le ciel azur.

J'ai donc cliqué, via mon smartphone, sur le lien, pour obtenir cette application totalement opaque, histoire de voir à quoi elle ressemblait (et aussi parce que j'allais boire un café et que... on m'y oblige, soit). Je tombe des nues quand je tombe sur un stockage Google Drive alors que selon le lien affiché c'était directement le logiciel ! Vous n'avez pas besoin de connaissance HTML pour comprendre le code source de ce lien frauduleux :

<a href="http://bit.ly/socialpass_huawei">http://www.socialpass.ch/SocialPass_Huawei.apk</a>

Ce lien frauduleux, censé mener simplement au fichier SocialPass_Huawei.apk sur le serveur de www.socialpass.ch mène vers http://bit.ly/socialpass_huawei qui au passage n'est pas sécurisé via HTTPS, qui au passage est un nom de domaine lybien et est un masqueur d'URL (WTF ???), qui en définitive mène vers leur stockage Google Drive (vous êtes sérieux SwissHelios Sàrl ?).

En pratique, cela est une technique de hameçonnage, servant à utiliser la crédulité des gens pour obtenir quelque chose de manière frauduleuse, et SwissHelios Sàrl l'utilise, je vous laisse donc vous poser la question de qui est SwissHelios Sàrl. De plus, on peut remarquer que le lien a probablement été fait à la main, la personne l'ayant écrit n'a pas correctement écrit le début du lien, il manque le s à la fin http comme tous les autres liens de la page du site web de SocialPass, bravo, félicitations du jury mais raté je vous ai vu. Vous avez intérêt à avoir des arguments très solides pour me contredire, et il faudra encore que je les accepte.

Je sais pas vous, mais moi quand on essaie de me prendre pour un imbécile (en particulier me mentir pour un pauvre lien web), en général je pense sincèrement, que ce n'est pas moi l'imbécile.

Je n'ai pas fini.

Je vais passer outre les questions technico-législatives dont je pourrai développer une thèse entière, je vais m'arrêter sur deux points de vie privée. Et prenez un thé, je vous vois énervée ou énervé derrière votre écran, c'est normal, détendez-vous, tout va bien dans le monde numérique, il y a juste beaucoup de travail de formation. Ce que je vais vous parler, est quelque chose qui ne se voit pas, les pisteurs, ces bouts de code qui récoltent des données à notre insu, majoritairement sans notre consentement, et qui majoritairement, envoie nos habitudes de navigation à des boîtes US. Spoiler: oui les mêmes qui font qu'on reçoit des pubs en fonction de nos recherches de navigation.

Liste des blocages effectuées par NoScript, on aperçoit facebook.net google-analytics.com googletagmanager.com gstatic.com qui ne sont pas documentées dans la page de la Protection des données

Voici une capture d'écran de ce que me dit mon bloqueur de script NoScript sur Mozilla Firefox, en quoi Facebook et Google, entreprises de droit américain, ont voix au chapitre quand on navigue sur le site de SocialPass ?

Mon site web ne possède pas de pisteur (qui d'ailleurs est sur mon serveur, en logiciel libre, dans mon salon), c'est une loyauté que je me fixe de respecter votre vie privée. Le site web de SocialPass en possède 4, qui envoient vos données personnelles aux USA (oui le fait que vous visitiez le site de SocialPass relève de vos données personnelles, tout comme votre penchant pour le SM, ou que vous aimez plusieurs personnes en même temps). Je constate, avec les années, que les boîtes qui n'en ont rien à carrer du respect des données personnelles, ont toutes sur leur site web des pisteurs, et très souvent non mentionnés dans la page des mentions légales ou de la protection des données (coucou le Secrétariat d'État à l'économie qui ne répond pas à mon interpellation).

Je n'ai pas fini.

Il n'est pas admissible, cher SwissHelios Sàrl, cher GastroVaud, et chères administrations, de se faire flagguer par Google, par Facebook, ou quiconque d'autre, cas des 4 pisteurs rencontrés, pour une application et son support, destinée et obligée, aux citoyennes et aux citoyens. Si vous n'êtes pas capable de ne pas faire fuiter de données personnelles sur un simple site web, ne touchez même pas une once de logiciel, d'abord formez-vous. Il n'est pas admissible, qu'une application destinée aux citoyennes et aux citoyens ne soit pas transparente sur son fonctionnement et sur l'hébergeur chez qui elle stocke les données. Il n'est également pas admissible, au passage, que la Confédération et l'OFSP utilisent Amazon sur des serveurs situés en Allemagne (source), pour les données de SwissCovid (pas SocialPass hein, voir plus bas).

A bon entendeur.

En résumé

  • On ne sait pas ce que fait l'application SocialPass sur nos téléphones
  • SwissHelios Sàrl fait du phishing (hameçonnage) sur les liens de son site web
  • SwissHelios Sàrl a explicitement mis des pisteurs étrangers sur le site web de SocialPass qui font fuiter les données personnelles des visiteurs
  • On ne sait pas quel hébergeur stocke les données de SocialPass
  • GastroVaud, avec le soutien de la police du commerce, se met à homologuer des logiciels (lol)

PS: car je n'ai pas fini, mes amies et amis expertes ont encore d'autres choses à vous reprocher et questionner, typiquement c'est qui qui héberge les données dans votre centre de données over-sécurisé à Zurich dont vous n'osez pas dévoiler le nom ? Cadeau en fin d'article.

PS2: Petit coup de pub pour l'association Exodus Privacy pour l'analyse des problèmes de vie privée dans les applications Android, ils et elles font un super boulot !

PS3: Je donne des cours de formation au numérique pour les questions de vie privée, contactez-moi pour les tarifs.

Le cadeau

Disclaimer: ceci n'est pas une analyse faite de manière approfondie, j'ai demandé à mon routeur ce qu'il voyait passer depuis l'IP de mon smartphone, mais le résultat me semble assez éloquent.

root@rt-che:~# tcpdump -i ens18 src 10.20.0.120
# Lors de l'envoi du numéro de téléphone pour recevoir le SMS, une requête DNS:
23:44:27.199337 IP 10.20.0.120.57553 > soho.solnet.ch.domain: 57079+ A? gastro-covid.azurewebsites.net. (48)
# Lors de la validation du code SMS:
23:45:33.877113 IP 10.20.0.120.48373 > 52.232.33.202.https: Flags [F.], seq 558, ack 6959, win 1632, options [nop,nop,TS val 18526018 ecr 1185837468], length 0
23:45:33.910922 IP 10.20.0.120.48373 > 52.232.33.202.https: Flags [.], ack 6960, win 1632, options [nop,nop,TS val 18526024 ecr 1185902543], length 0


florian@super-computer:~$ host gastro-covid.azurewebsites.net
gastro-covid.azurewebsites.net is an alias for waws-prod-am2-157.sip.azurewebsites.windows.net.
waws-prod-am2-157.sip.azurewebsites.windows.net is an alias for waws-prod-am2-157.cloudapp.net.
waws-prod-am2-157.cloudapp.net has address 52.232.33.202

Explication du cadeau:

  1. Lors de l'envoi du numéro de téléphone, mon smartphone a fait une demande DNS pour savoir l'adresse IP derrière gastro-covid.azurewebsites.net et... oh surprise Azure, service de l'entreprise américaine... Microsoft. Celle dont j'ai quitté définitivement ses services il y a 8 ans. Celle dont les logiciels ont été strictement interdits dans un certain nombre d'écoles allemandes à cause de la violation de la protection des données (source).
  2. Lors de l'envoi via l'app, du code que j'ai reçu par SMS, bah c'est aussi Microsoft.