Baptiste Robert trouve (encore) une faille dans l’application de « contact tracing » indienne
Le 07 mai 2020 à 09h59
1 min
Logiciel
Logiciel
Nommée Aarogya Setu, elle utilise le Bluetooth mais également le GPS. Elle propose de savoir, dans un rayon de 500 mètres à 10 kilomètres, combien de personnes ont été infectées, sont malades, ont été considérées comme « cas contact », ou encore combien l'utilisent.
Sauf que Baptiste Robert (@fs0c131y), qui a précédemment trouvé des failles de sécurité (entre autres) dans la messagerie sécurisée gouvernementale Tchap et le système d'identité biométrique indien Adhaar a découvert qu'il pouvait modifier la géolocalisation, permettant d'obtenir ces statistiques n'importe où dans tout le pays.
Il a ainsi découvert que dans un rayon de 500 mètres autour du Parlement indien on comptait 1 personne infectée, 2 malades et 17 Bluetooth positifs, pour 2 338 utilisateurs... Il précise à Wired qu'en utilisant la triangulation et en déplaçant le curseur de géolocalisation, il serait possible d'identifier où résideraient ces gens, dans un rayon bien plus étroit que les 500 mètres initiaux, et potentiellement jusqu'à l'échelle d'une maison.
Le 07 mai 2020 à 09h59
Commentaires (58)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 07/05/2020 à 09h06
Wouah la faille qui… ne sert strictement à rien…
Le 07/05/2020 à 09h27
Le 07/05/2020 à 09h28
Si, tu peux connaitre ou sont les personnes malades, donc dans quelle familles, sans en avoir le droit. C’est très problématique pour une appli de tracing…
Le 07/05/2020 à 09h40
Le 07/05/2020 à 09h44
Si tu es sensé savoir que tu as croisé un malade tu n’es pas sensé savoir qui et encore moins où il habite,
ce que permet cette faille.
Le 07/05/2020 à 09h45
Ouha le commentaire qui… sert strictement à rien…
Le 07/05/2020 à 09h58
Le 07/05/2020 à 10h21
Le 07/05/2020 à 10h41
Le 07/05/2020 à 10h46
Le 07/05/2020 à 11h03
Le 07/05/2020 à 11h09
Le 07/05/2020 à 11h27
Le 07/05/2020 à 11h34
Le 07/05/2020 à 11h36
Mouais perso. je ne vois pas pourquoi vous vous focalisez sur l’aspect malade ?
Ici ce que l’on a c’est une appli. de tracking où l’on (et le gouvernement aussi par la même occasion) peut voir et suivre les gens.
Donc je peux suivre une personne, je peux savoir combien il y a de personne dans un batiment à tel heure, je peux faire des recoupements, etc…
C’est pas pour rien que les systèmes de balise en france sont interdites voir encadrés dans certains cas.
Surtout on a pu voir comme en Corée les débordements que ça a donné genre des personnes harcelés sur le net et dans la rue pour des tas de raisons parce que justement leur appli. pouvait suivre tous les mouvements des gens publiquement (il y avait pas besoin de hack).
Le 07/05/2020 à 11h49
Le 07/05/2020 à 11h53
Le 07/05/2020 à 12h20
Et alors tu as besoin qu’il y a le nom de la personne pour la suivre et en faire des déductions ? Punaise tu ne sais pas te servir de ton cerveau. Tiens d’ailleurs tu pourras le dire à l’employée coréene qui s’est fait pourrir la vie parce qu’elle avait pris 10 minutes de plus sur sa pause déjeuner.
Le 07/05/2020 à 12h20
Le 07/05/2020 à 12h48
Tu ne peux pas identifier un point précis. Tu n’as accès qu’à des statistiques pour une géolocalisation précise. utilises-donc toi même ton cerveau, et tes yeux.
Le 07/05/2020 à 13h14
Le 07/05/2020 à 13h47
Le 07/05/2020 à 13h54
Ok je pense que je vais devoir t’expliquer:
t’as une API qui prend une géolocalisation en entrée, et qui te donne des statistiques en sorties
Tu demandes X=10;Y=50 ça te répond 3 infectés, 6 malades, 14 contacts
Tu peux redemander X=15;Y=40, ça te répond 4 infectés, 5 malades, 12 contacts
etc
Bon courage pour retrouver quoi que ce soit.
Le 07/05/2020 à 14h11
Yep c’est le fonctionnement l’app. à la base mais ce que lui a trouver c’est de pouvoir la positionner où tu veux et de pouvoir à partir de ces informations supplémentaires de trouver leur localisation.
Le 07/05/2020 à 14h15
Le 07/05/2020 à 14h17
Le 07/05/2020 à 14h26
Le démineur te fournit une direction ! " />
Le 07/05/2020 à 14h38
On pourrait imaginer lancer autant de requêtes qu’il y a de points sur une carte pour couvrir un territoire avec une résolution de 500 mètres. En admettant que le serveur veuille bien te répondre, cela permettrait d’obtenir un instantané avec le nombre de cas par point.
À partir de là, Baptiste Robert explique qu’il pourrait utiliser la trilatération associée à la triangulation.
Le 07/05/2020 à 14h49
Le 07/05/2020 à 14h50
Une phrase au conditionnel, ça n’affirme rien. Comme tu le dis, ça le laisse penser, mais est-ce vrai ? Comme l’a dit Faith, en changeant de fausse localisation, tu n’es pas sûr que ce soit la (ou les) même personne que l’on t’indique à chaque interrogation. Cela permettrait de localiser une personne dans une zone peu peuplée où une seule personne est signalée. En Inde qui est le pays le plus peuplé de la planète, ces cas doivent être très rares.
Le 07/05/2020 à 14h59
L’Inde est très peuplée, certes.
Mais là on ne parle que des 280 000 personnes dans toute l’Inde qui ont installé l’application.
Tout de suite, c’est beaucoup moins concentré et on retrace beaucoup plus facilement les choses.
Il me semble assez facile en pingeant régulièrement des points précis à 500m de distance les uns des autres de retracé avec précision le déplacement d’une personne utilisant l’application.
Si tu prend comme point de départ un endroit comme le parlement, il y a de quoi suivre à la trace un député utilisant l’application (et tu découvriras très facilement lequel soit en recoupant avec d’autres infos, soit en allant par toi-même dans un des rayons de 500m en question).
C’est tout con à faire, d’autant plus avec la quantité de choses que l’on sait faire sur tout ce qui ressemble de près ou de loin à un graphe social…
Le 07/05/2020 à 15h07
Cette installation est devenue obligatoire pour tous les employés (du public et du privé). Donc, le nombre d’installations a dû grimper en flèche.
Ton raisonnement de traçage suppose que c’est toujours la même personne que tu auras en réponse, et c’est loin d’être vrai comme déjà dit.
Le 07/05/2020 à 15h08
Le 07/05/2020 à 15h10
Le 07/05/2020 à 15h10
Le 07/05/2020 à 15h24
S’il y a 1 individu est dans un cercle de 500m centré en A, mais qu’il y a 0 individu dans ce même cercle centré en B (proche de A), alors l’individu est dans la direction de A depuis B. Certes, il n’y a pas que 1 ou 0 individus dans les cercles, donc c’est pas si simple.
Le problème complet est donc de trouver la position d’individus qui ont générés des cartes de densité données, sachant que les individus se déplacent (ou pas) au court du temps.
C’est un problème courant dans pas mal de domaine où l’on ne peut pas observer directement chaque individu mais on peut estimer le nombre d’individus dans une zone: cellules, atomes, personnes, …
Le 07/05/2020 à 15h28
Ah oui je n’étais pas à jour sur le chiffre, 90 millions d’utilisateurs apparemment.
Cela fait un peu moins de 7 % (6,6%) de la population.
Soit une couverture de 30 personnes / km² (l’Inde a une densité de 455pers. / km²) en moyenne.
Soit 30 personnes par million de m².
Un disque de rayon 500m² c’est 0,785 millions m².
Donc on a une densité moyenne de 23 personnes par ping de l’application.
Ça me semble commencé à être dans ces cas limites pour pouvoir suivre des flux de personnes entre zones de 500m² effectivement… mais clairement pas infaisable si l’application est fiable et si on y met des probas et un peu de math dans le tas.
Si tu ping plusieurs zones en semi-simultané, tu peux très facilement voir les flux de gens entre les zones pingées. Je vois pas en quoi l’hypothèse de “toujours voir les mêmes personnes dans la réponse” est invalide.
Les seuls cas que l’on ne peux pas observer, c’est sur dans la même intervalle de 10 secondes (je suppose que c’est suffisant pour pinger 2 cercles adjacents) avoir 2 personnes qui échangent de zone simultanément (parmi les 23 personnes par zone toujours, hein).
Pas dit que ça arrive souvent… mais effectivement on aura probablement pas un résultat d’estimation de déplacement des 23 personnes fiable à 100%.
J’ai une collègue qui a eu de très bon résultats sur la surface d’une entreprise dans à peu près les mêmes conditions ceci dit. (de l’ordre de 80+% de réussite de compréhension des mouvements)
Dans tous les cas on reste sur des chiffres très faibles en concentration d’utilisateurs au m².
Le 07/05/2020 à 15h32
c.f. mon commentaire de réponse à Fred42.
Sinon tu poses des fausses questions auxquelles ma propre parenthèse que tu cites répond, je te laisse donc relire ce à quoi tu réagis.
4 fois le Louvre, c’est clairement pas si grand que ça je trouve, ouai.. !
Le 07/05/2020 à 15h35
Et si tu lisais l’article sur WIred, tu verrais que l’auteur fait clairement la démonstration de ce qu’il avance…
La seule inconnue pour lui c’est la fiabilité de l’application sur les données qu’elle renvoie.
Le 07/05/2020 à 15h45
Le 07/05/2020 à 16h06
Le 07/05/2020 à 16h08
Très facile en fait. A partir du moment ou on localise un endroit ou il n’y a qu’un seul résultat, on sait le localiser exactement (en appliquant le principe de montecarlo). Sur le principe, on résout donc d’abord les positions sur les bords des ilots à traiter et on progresse ensuite vers le “centre”. C’est beaucoup plus simple qu’on ne l’imagine au premier abord. Contrairement à la première impression, la présence de plusieurs résultats dans une même zone permet au contraire de converger plus rapidement vers des positions précises car quand on trouve des résultats en trop, c’est juste qu’on est allé trop loin dans la zone à explorer et que l’on peut encore réduire la zone de recherche.
Le 07/05/2020 à 16h24
Sauf si les points se déplacent ou disparaissent et réapparaissent. Arrêtez de traiter ça comme un problème statique.
Le 07/05/2020 à 16h26
Relis moi. Il n’y a aucune complexité au niveau de l’algo. C’est vraiment basique. La “complexité” est constante quelque soit le nombre de points. La simplicité est sans commune mesure avec le problème du voyageur de commerce.
Je citais Montecarlo pour le principe du balayage de la surface en faisant des tests à de multiples endroits de la surface et progressant par rapport au résultat de ces tests. Il n’y en revanche absolument pas besoin d’avoir recours à l’aléatoire (ce serait même un erreur). Il suffit de faire des tests sur un pas de grille de départ pour balayer la surface et de réduire le champ de recherche (en divisant le pas par 2) dès que ça matche dans la cellule. Ce pas est le pas de déplacement du centre des zones de 500m. Les déplacements des tests et la réduction du pas de déplacement sont pilotés par les résultats retournés. Dans tous les cas, on est sur quelque chose qui converge avec de simples boucles de balayage imbriquées.
Le 07/05/2020 à 16h32
Le 07/05/2020 à 16h35
Le 07/05/2020 à 16h45
Le 07/05/2020 à 17h08
Le 07/05/2020 à 17h14
Le 07/05/2020 à 17h39
J’ai fais les calculs dans un autre msg juste au dessus, on est très loin des 10 000 personnes par îlot..!
Avec à peine moins de 30 personnes par zone, c’est ridiculement simple, même à la main…
Le 07/05/2020 à 17h56
Touriste, tu, me fais bien rire " />
La résolution de ce genre de problèmes, ça touche souvent le le cœur de mon métier. Par exemple, si tu défragmente des disques sous avec le défragmenteur Windows, tu fais tourner la base code que j’ai créé il y a maintenant 32 ans. Pour VMS de Digital à l’époque, et c’est encore la même base de code aujourd’hui. Si tu est développeur Java, ou si tu travaille avec BD Oracle par exemple, la aussi tu fais probablement tourner pas mal de choses dont certains algos repose sur une conception faite par un touriste. Et surtout, attention si tu prend le train, la plateforme qui permettant plannification des trains, leur constitution et l’affectation des conducteurs avait été conçue par le même touriste.
Je n’ai jamais parlé de complexité de code! Quand je dis que ça converge, c’est qu’il n’y a pas de récursion ou de branches parallèles à explorer pour aboutir à une solution. Ce sont de simples boucles imbriquées qui convergent vers une solution unique sur chaque point. Leur profondeur maximale est connue et limitée. Plus il y a de points, et plus ils sont concentrés, plus la profondeur nécessaire pour traiter individuellement chaque point diminue.
Sinon, j’arrête là. C’est relativement simple et tu veux absolument que ce soit complexe. C’est fatiguant de parler dans le vide.
Le 07/05/2020 à 18h33
Le 07/05/2020 à 20h21
Oui… et ? Bah qu’ils le sachent.
Au boulot, on prend la température à 2000 personnes tous les matins. Je sais exactement qui est normal, froid ou chaud voir trop chaud (retour maison) et alors qu’est ce tu veux que je fasse de ces data. C’est pas très important.
Quelqu’un veux savoir où j’habite, il prend le botin, cherche sur internet, me suis dans la rue.
Je suis malade et tout le monde le sait. Oui, et ? il est où le problème.
Si je fais un cancer, le sida, une opération. Peu importe mais avec arrêt de travail, les collègues vont bien se rendre compte que je ne suis pas là. Forcément quelqu’un va ouvrir sa bouche et tout le monde ou presque va le savoir. Tout se sais.
Et alors ? je ne vois toujours pas le problème.
La France qui ne veux pas utiliser le protocole d’apple et google. Et bien, tant pis pour eux, c’est çà ou rien.
On n’aura pas de traçage, les défenseurs des droits seront content.
J’ai même vu que des gens refusaient de montrer leur température pour rentrer sur un site de production.
Et bah, retour maison et pas payé. Normal. Le règlement c’est le règlement. A situation exceptionnelle, mesure exceptionnelle.
Le 08/05/2020 à 09h27
Le 08/05/2020 à 10h43
Le 08/05/2020 à 13h55
sinon pas besoin de trianguler, la liste des personnes infectées a fuitée : Twitter
Le 09/05/2020 à 07h18
Je voudrais savoir si je comprends bien l’énoncé “Elle propose de savoir, dans un rayon de 500 mètres à 10 kilomètres” :
Est-ce que cela veut dire qu’on peut faire la mesure pour un rayon de 500m puis un rayon de 600m et faire juste la différence pour se faciliter la tâche ? " />
Edith, je ferais mieux de lire les liens avant, c’est un poil moins simple : “ You can choose the radius of the area. It can be 500m, 1km, 2kms, 5kms or 10kms”, l’auteur monte jusqu’à 100 km mais n’indique pas le pas d’incrémentation… Etrange cela pourrait aider.
Le 11/05/2020 à 11h43
L’analyse de la surface d’un disque dur 100% à voir avec ce genre d’algo. Sinon, les autres ne sont des exemples généraliste à quelqu’un qui vous traite d’artiste, et où seul une réponse de ce genre est possible.
Sinon, merci de de t’inquiéter de ma santé. Mes chevilles vont très très bien. Je n’ai jamais eut aucun problème de ce côté, bien au contraire.