- Des étudiants qui ont examiné de bonne foi Fizz, une application sociale anonyme populaire sur le campus de Stanford, ont découvert un accès complet en lecture et en écriture à toute la base de données, ainsi que des informations non anonymisées sur les utilisateurs et les publications
- Les chercheurs ont envoyé un rapport de divulgation de vulnérabilité et des propositions de correction, et ont même accepté un délai avant publication pour laisser à Fizz le temps de corriger le problème, mais la réponse s’est ensuite transformée en menaces juridiques
- Fizz a invoqué des violations du droit fédéral et de celui des États, des responsabilités civiles et pénales, ainsi qu’une peine possible de 20 ans de prison, en exigeant que les découvertes ne soient pas rendues publiques
- Les chercheurs ont bénéficié d’une représentation juridique gratuite de Kurt Opsahl et Andrew Crocker de l’Electronic Frontier Foundation, et n’ont pas cédé à l’exigence de silence
- Même pour une recherche de sécurité menée de bonne foi, il est plus sûr de consigner l’objectif, le périmètre et les actions effectuées, d’éviter de stocker ou d’exfiltrer des données et de manipuler des comptes, et de ne pas répondre seul aux menaces juridiques
Les problèmes de sécurité découverts dans Fizz
- L’application de réseau social anonyme Fizz, créée par la startup étudiante de Stanford Fizz, gagnait en popularité sur le campus, et l’app mettait en avant des formulations proches de “100% secure”
- Comme il s’agissait d’un espace où les utilisateurs publiaient des récits sensibles, des étudiants intéressés par la sécurité ont voulu vérifier si ces informations étaient réellement protégées
- En quelques heures, ils ont obtenu un accès complet en lecture et en écriture à la base de données de Fizz
- La base de données contenait des informations sur les utilisateurs et les publications
- Ces informations n’étaient pas totalement anonymisées
- Les chercheurs ont estimé que Fizz disposait de très peu de protections de sécurité
De la divulgation responsable aux menaces juridiques
- Les chercheurs ont synthétisé leurs découvertes dans un rapport de divulgation de vulnérabilité et l’ont envoyé à Fizz par e-mail
- Le rapport incluait les problèmes trouvés et des propositions de correction, et les chercheurs ont d’abord accepté de ne pas en parler publiquement avant une date d’embargo précise afin de laisser à Fizz le temps de corriger
- Fizz a d’abord répondu en remerciant pour le rapport et en indiquant que la correction du problème était la priorité absolue, puis a envoyé quelques mises à jour pendant plusieurs semaines
- Ensuite, le ton a changé et l’entreprise a envoyé aux chercheurs des menaces évoquant des violations du droit fédéral et du droit des États, ainsi que des responsabilités civiles et pénales
- Ces menaces allaient jusqu’à mentionner une peine possible de 20 ans de prison
- L’exigence centrale était de ne pas rendre les découvertes publiques
- Le schéma était le suivant : si les chercheurs acceptaient de se taire, Fizz ne poursuivrait pas d’action en justice ; le délai de réponse était de 5 jours
- Les chercheurs y ont vu une tentative d’intimidation destinée à les réduire au silence
Le soutien juridique de l’EFF et la résolution
- Les chercheurs ont demandé de l’aide à leur réseau et, en quelques jours, ont été mis en relation avec Kurt Opsahl et Andrew Crocker de l’Electronic Frontier Foundation
- Tous deux ont accepté de les représenter gratuitement, et les chercheurs ont expliqué aux avocats le processus de divulgation et les documents associés
- Après avoir reçu des conseils juridiques, les chercheurs ont décidé de ne pas céder aux menaces de Fizz
- Kurt et Andrew ont rédigé la réponse à envoyer à Fizz, puis l’équipe de Fizz a demandé une rencontre
- Les deux parties ont résolu la situation à l’amiable, et les chercheurs ont fait pression pour que Fizz informe proactivement ses utilisateurs du problème
- Fizz a fini par divulguer le problème à ses utilisateurs
Principes à respecter pour les chercheurs en sécurité
- Il faut maintenir une recherche légitime et documentée
- Avant de commencer, il faut clarifier l’objectif et vérifier que les limites éthiques ne sont pas franchies
- Les chercheurs n’ont ni stocké ni exfiltré les données accessibles
- Ils n’ont pas manipulé les comptes d’autres personnes et n’ont causé aucun dommage
- Ils ont documenté toutes leurs actions en détail, ce qui les a aidés à rédiger le rapport de divulgation de vulnérabilité et à répondre juridiquement
- Une réponse calme est nécessaire
- Même face à des menaces juridiques, il faut répondre de manière professionnelle
- L’objectif est de résoudre la situation sans l’aggraver
- Des réponses émotionnelles par e-mail peuvent nuire aux chances d’une résolution à l’amiable
-
Il faut trouver un avocat
- Essayer de gérer seul des menaces juridiques peut être une grave erreur
- Les chercheurs estiment que Fizz s’attendait à ce qu’ils cèdent naïvement aux menaces
- Tout le monde ne peut pas bénéficier d’une représentation gratuite par l’EFF, mais les ressources destinées aux chercheurs en sécurité de bonne foi se multiplient et il faut les utiliser
1 commentaires
Commentaires Hacker News
Je ne suis pas avocat, mais je m’intéresse professionnellement à ce domaine étrange du droit, et il me semble que l’avocat salarié de l’EFF avance ici une position un peu tirée par les cheveux.
Fizz est une application client/serveur, probablement une web app, et ce que les chercheurs ont testé était un logiciel tournant sur les serveurs de Fizz.
Après avoir trouvé la vulnérabilité, les chercheurs ont utilisé l’activité de base de données qu’ils avaient obtenue pour créer un compte administrateur, et ils n’avaient jamais reçu d’autorisation pour ce test.
Si ces faits sont exacts, à moins qu’il n’existe une loi californienne que j’ignore — et même dans ce cas, elle serait sans doute sans effet du fait de la primauté du droit fédéral —, je considère qu’ils ont assez directement enfreint le CFAA, contrairement à ce qu’affirme la réponse de l’EFF.
Cela dit, au moins trois éléments réduisent le risque juridique : au vu de la publication et de leur comportement ultérieur, il est clair qu’il s’agissait d’une recherche de sécurité menée de bonne foi, ce qui en fait une cible peu attrayante pour des poursuites ; on ne sait pas non plus s’il y a eu un préjudice significatif ; et Fizz étant petite et récente, il semble peu probable que l’affaire soit allée jusqu’à une société de forensic ou à un règlement d’assurance.
Par ailleurs, le fait que les avocats de Fizz aient menacé les chercheurs de poursuites pénales pour obtenir d’eux des concessions de valeur constitue, comme l’a souligné l’EFF, une violation des règles du barreau de l’État.
Ici, il semble que les gentils aient gagné, mais je me garderais d’en tirer trop de leçons générales. Si, au lieu de Fizz, il s’était agi des fonctionnalités sociales de Dunder Mifflin Infinity, l’issue aurait pu être bien plus brutale.
https://www.justice.gov/opa/pr/department-justice-announces-...
Le montant des « dommages » se retrouve entre les mains de la victime et donne à une grande organisation bureaucratique une incitation perverse à dépenser arbitrairement des ressources qui, de son point de vue, sont mineures mais élevées en valeur absolue, afin d’infliger une sanction sévère à un acteur imparfait qui l’a embarrassée.
Même si de telles mesures restent dans un périmètre légitime, il est également inapproprié d’en faire porter le coût à la personne qui vous a signalé qu’elles étaient nécessaires. Si vous exploitiez un service public avec une grave vulnérabilité, vous deviez évaluer la possibilité que quelqu’un d’autre l’ait exploitée, indépendamment du fait que cette personne ait ou non mal agi.
La cause de ce coût est votre propre décision d’exploiter un service vulnérable ; c’est un coût que vous auriez dû supporter après sa mise en production, même si vous aviez découvert vous-même la vulnérabilité.
Les dommages imputables au défendeur devraient être limités au préjudice qu’il a effectivement causé, par exemple s’il a utilisé son accès pour obtenir des informations financières de clients et commettre une fraude à la carte bancaire.
Si la configuration de l’app était si mauvaise que le simple fait de suivre le protocole Firebase donnait des droits d’écriture dans la base de données, on peut facilement soutenir qu’aucune mesure de sécurité n’a réellement été contournée. Il n’y avait tout simplement pas de mesure de sécurité à contourner.
Cela me rappelle l’affaire où AT&T avait simplement mis en ligne, sur une page web non répertoriée, les informations des abonnés data de l’iPad. Je ne me souviens plus du résultat, mais, si je me rappelle bien, la personne impliquée avait essayé de récupérer autant de données que possible auxquelles elle pouvait accéder, ce qui est différent d’ici.
Je ne vois pas de « mea culpa » dans le texte original ; même si le billet a un ton de mème du genre « vous y croyez, ce que ces gens ont essayé de faire ? », j’espère qu’ils en ont tiré la leçon.
Leurs intentions semblent bonnes, mais ils paraissent avoir enfreint la loi assez clairement.
L’an dernier, le DOJ a mis à jour sa politique de poursuites au titre du CFAA afin d’éviter de poursuivre les personnes menant une « recherche de sécurité de bonne foi » [1].
Le CFAA est tristement célèbre pour son champ d’application très large ; la politique du DOJ reste donc très insuffisante par rapport à une modification de la loi qui clarifierait davantage la légalité de la recherche en sécurité.
La politique pourrait aussi changer sous une nouvelle administration, donc le risque demeure, mais il est moindre qu’avant son officialisation.
[1] https://www.justice.gov/opa/pr/department-justice-announces-...
Dans les contrats, ou surtout dans des communications juridiques menaçantes, il est difficile de comprendre pourquoi la partie qui les rédige ne subit presque aucune conséquence si elle n’écrit pas les choses correctement
J’ai déjà vu, dans un contrat de travail, une formulation du type « si une partie de ce contrat est nulle, le reste ne l’est pas ». L’employeur cherche à faire appliquer ses règles, ce qui est raisonnable en soi, mais il n’y a aucun désavantage à y inscrire des choses non autorisées. Au pire, le tribunal considère simplement cette clause comme nulle
La charge repose sur le lecteur, qui est généralement la partie de loin la plus faible
Ici aussi, qu’est-ce qui permet à l’entreprise d’envoyer une lettre de menace du genre « tu peux prendre 20 ans de prison fédérale pour ça ! » ? Alors que c’est manifestement faux
La charge de garantir un contenu raisonnable ne devrait-elle pas incomber au rédacteur ? Si c’est absurde et démontrablement faux, ne devrait-il pas y avoir des conséquences négatives plus importantes que « ah, on oublie » ?
Comme tu le dis, ce qui est fondamental est interprété par le tribunal
Dans l’exemple du contrat de travail, la divisibilité te protège aussi, toi, en tant que particulier. Car même si certaines clauses sont invalidées, le reste de l’accord, y compris les clauses qui te protègent, continue de produire effet
Si tout le contrat devient nul, il faut repartir de zéro sans rien, et tu peux probablement aussi perdre ton emploi. Avoir un peu de protection vaut mieux que zéro
Elle empêche les deux parties de se soustraire à l’ensemble de leurs obligations juridiques pour une raison technique mineure, ou d’insérer volontairement des clauses toxiques qui ne résisteraient pas à un contrôle juridique
Si une partie du contrat est nulle, cette partie ne peut pas être utilisée. Si l’invalidité de cette partie modifie fondamentalement le contrat, alors tout le contrat devient nul. Je ne vois pas bien ce que tu voudrais de plus
On dirait que tu proposes une réponse punitive au fait d’avoir rédigé un mauvais contrat, ce qui me semble être une assez mauvaise idée, car cela pourrait avoir un effet dissuasif sur la formation de toutes les relations juridiques et commerciales
La partie faible, qui a moins accès à de bons rédacteurs juridiques, risquerait aussi d’être plus durement touchée. Si le simple fait de négocier une modification du libellé contractuel devient un champ de mines de responsabilité pour le négociateur, la charge de responsabilité ne deviendrait-elle pas encore plus disproportionnée pour les petits acteurs face à toute une équipe juridique ?
Je ne vois pas bien comment le monde que tu imagines ne créerait pas davantage de risques pour les parties faibles qu’aujourd’hui
Dans un contexte de bonne foi, les lois et la jurisprudence changent rapidement, parfois au gré des humeurs des juges, et de nombreux domaines du droit n’ont pas de jurisprudence claire ou seulement des lignes directrices floues
Dans ces cas-là, la divisibilité est importante pour éviter de devoir renégocier tout un contrat parce qu’une petite clause n’a pas tenu devant un tribunal
Prenons par exemple un contrat de travail contenant une clause de non-concurrence : l’entreprise peut utiliser le même contrat dans toutes les régions, et dans les États où la non-concurrence est illégale, la clause de divisibilité lui évite d’avoir à créer un contrat séparé pour chaque juridiction
Si un État autorisait auparavant les clauses de non-concurrence puis adopte une loi les interdisant, tous les contrats de travail contenant une telle clause devraient-ils soudain devenir nuls ? Bien sûr que non. C’est précisément le rôle de la divisibilité
Quant à la menace du texte original, il est difficile d’en connaître le contexte, mais elle a pu être formulée ainsi : « l’accès non autorisé à notre réseau informatique constitue une infraction fédérale au titre de la loi XYZ et peut entraîner jusqu’à 20 ans de prison »
Pour un profane, c’est extrêmement intimidant, mais ce n’est pas strictement faux ; la plupart des avocats lèveraient les yeux au ciel en disant que c’est du baratin, mais avec suffisamment de réserves et de qualificatifs, il devient difficile de savoir où tracer la limite
Au final, ce type de document est rédigé par des avocats dans un jargon juridique qui n’est pas conçu pour les gens ordinaires. Menacer ainsi des étudiants est lamentable, et l’avocat qui a rédigé et envoyé cette lettre au nom de l’entreprise lui a donné un conseil extraordinairement mauvais
On pourrait saisir le barreau, mais dans une situation comme celle-ci, il me semble très difficile d’en faire un dossier convaincant
C’est l’une des raisons pour lesquelles la négociation collective est importante. Un syndicat peut se permettre d’avoir un représentant juridique capable de tenir tête aux avocats de l’entreprise, alors qu’un salarié individuel le peut difficilement
Le système américain, où « chacun paie ses propres frais juridiques », facilite l’introduction d’actions en justice par les victimes
À l’inverse, au Royaume-Uni, le principe est généralement que « le perdant paie les frais juridiques des deux parties », ce qui dissuade de nombreux demandeurs d’agir en justice, même lorsqu’ils ont subi un préjudice important
Quel préjudice cette menace t’a-t-elle causé, et quelle serait une indemnisation légitime ? Combien coûterait l’embauche d’un avocat et l’action en justice pour obtenir réparation, et quelles seraient les chances de gagner ?
La partie qui envoie la lettre de menace s’est probablement posé le même genre de questions
Si tu trouves cela injuste parce que l’autre partie dispose de plus de ressources, c’est un problème social plus général. Quand on a beaucoup d’argent, on a un meilleur accès à toutes les formes de justice
Ce texte semble montrer que la façon dont la divulgation de vulnérabilités est traitée aujourd’hui a globalement évolué dans le bon sens.
Dans les années 90, toutes les entreprises faisaient comme ça. Elles menaçaient de poursuites, et la divulgation elle-même paraissait juridiquement suspecte. Sur les forums ou les BBS, on discutait d’abord de savoir s’il était sûr de publier, et des suggestions comme l’usage de comptes e-mail anonymes circulaient.
Bien sûr, il en reste encore aujourd’hui. Surtout avec des entreprises à l’ancienne ou, comme ici, des étudiants naïfs, mais globalement, les choses ont radicalement basculé en faveur de la divulgation.
Il existe désormais des intermédiaires dédiés qui protègent l’identité des chercheurs en sécurité, de grandes entreprises qui encouragent et valorisent les divulgations, des bug bounties à six chiffres, et même des lois devenues plus favorables aux chercheurs en sécurité.
Pour l’auteur, cela a dû être assez désagréable, mais c’est un bon rappel qu’autrefois, ce genre de situation était la norme, voire pire, et qu’aujourd’hui c’est devenu relativement rare.
Comme beaucoup d’entreprises acceptent les bug bounties et encouragent ce genre d’activité contre elles, cela apprend malheureusement aux « gamins » que tout cela est parfaitement légal, moral et éthique.
Mais comme le montre cette histoire, en réalité, on lance les dés, et cette fois-ci ça s’est bien terminé.
Si l’on n’a pas obtenu la coopération de la cible via un programme de bug bounty clairement défini, des méthodes comme un e-mail anonyme peuvent encore être une meilleure idée. Cela dit, ça n’aide pas vraiment un chercheur en sécurité à « se faire un nom ».
En pratique, cela revient aussi à reconnaître une intrusion non autorisée. Pour prendre une analogie, c’est pareil même si l’on entre par une porte non verrouillée uniquement pour vérifier si l’on peut regarder dans le réfrigérateur.
Aux yeux de l’opinion publique, on peut apparaître comme quelqu’un qui a aidé à révéler les mensonges d’une entreprise, mais devant un vrai tribunal, cela ne change pas le fait qu’on est coupable d’un délit.
En ce sens, ce n’est pas la représaille typique des années 90. Du point de vue des étudiants, cela a dû être assez effrayant.
Je n’exclus pas non plus l’intervention possible de parents fortunés, même si, bien sûr, je ne sais rien de la situation ni des personnes concernées.
Sacrée histoire. L’article du Stanford Daily contient des copies des lettres échangées entre les avocats, et elles sont assez percutantes. Si l’EFF n’était pas intervenue, nous n’aurions pas pu les lire.
https://stanforddaily.com/2022/11/01/opinion-fizz-previously...
Selon l’article du Stanford Daily, « à l’époque, Fizz utilisait le produit de base de données Firestore de Google pour stocker les informations utilisateur, les posts, etc. … Fizz n’avait pas configuré les règles de sécurité nécessaires, ce qui permettait à n’importe qui d’interroger directement la base de données… Il était possible d’accéder entièrement aux numéros de téléphone et/ou adresses e-mail de tous les utilisateurs, et les posts ainsi que les upvotes pouvaient être directement reliés à ces informations d’identification… De plus, toute la base de données était modifiable. N’importe qui pouvait modifier les posts, les scores de karma, le statut de modérateur, etc. »
C’est complètement insensé.
Comme le client écrit directement dans la base de données, on oublie souvent les contrôles d’autorisation, et l’on fait confiance au client pour n’écrire que dans ses propres objets.
Il y a longtemps, j’ai modifié une valeur utilisateur Firebase en
isAdmin=trueet obtenu un accès administrateur chez une entreprise de trottinettes électriques, puis j’ai accidentellement supprimé de Firebase la trottinette que j’étais en train de louer. Je ne sais pas ce qu’elle est devenue ensuite.La carte dans l’application n’affichait qu’une position approximative, et à certains niveaux de zoom, les épingles disparaissaient.
En réécrivant les requêtes avec
mitmproxy, on pouvait aussi contourner les filtres empêchant les mineurs de rechercher des personnes de plus de 18 ans, ou les adultes de rechercher des mineurs, ainsi que les filtres réservés aux abonnés, comme la localisation ou le genre. Le statut payant n’était pas vérifié côté serveur.J’imagine un outil web où l’on entrerait l’ID de l’application et les valeurs d’API incluses dans le frontend public, avec éventuellement la prise en charge d’un ID de session pour traiter aussi les applications Firestore qui utilisent des règles de sécurité légères visibles seulement par les utilisateurs connectés, et qui accepterait des noms de collections trouvés dans le code JavaScript pour les explorer.
Fait intéressant, Ashton Cofer et Teddy Solomon de Fizz ont tenté une opération de communication de crise lorsque leurs erreurs ont été révélées : https://stanforddaily.com/2022/11/01/opinion-fizz-previously...
Leur réponse était faible, et ils semblent depuis avoir refusé de commenter cette affaire.
Il y est écrit : « Fizz a publié le 7 décembre 2021 une déclaration intitulée “Security Improvements Regarding Fizz”, mais à la date de publication de cet article, cette page n’est plus accessible sur le site de Fizz ni via une recherche Google. »
De plus, il semble très probable que l’application stocke encore des informations personnelles identifiables liées à l’activité « anonyme » des utilisateurs.
« De plus, nous ne savons toujours pas si nos données sont anonymisées en interne. Les fondateurs ont déclaré l’an dernier au Daily que les utilisateurs étaient identifiables par les développeurs, et la politique de confidentialité de Fizz suggère que c’est toujours le cas. »
Ici, les « développeurs » peuvent inclure ces mêmes fondateurs qui ont refusé de commenter ce problème, supprimé les communications de l’entreprise à ce sujet et, au départ, commercialisé un seau complètement percé comme une « application de réseau social 100 % sûre » avant de recourir à des menaces juridiques une fois pris sur le fait.
Ça ne me donne absolument pas envie de confier mes informations à Fizz.
Pourquoi peut-on proférer des menaces juridiques et en éviter les conséquences, alors que menacer de violence physique peut vous envoyer en prison ?
Menacer de faire quelque chose de légal est généralement légal. Par exemple, menacer de signaler quelque chose aux autorités n’est pas illégal.
« À la fin de la menace, il y avait une exigence : ne jamais parler publiquement de ce qui avait été découvert. En substance, cela signifiait qu’ils renonceraient à poursuivre des actions en justice si le silence était accepté. »
Juridiquement, une telle exigence peut-elle vraiment empêcher de parler avec le procureur de l’État ou la police ?
S’ils prétendent que c’est « 100 % sûr » alors qu’en réalité ce ne l’est pas, et qu’ils savent que les utilisateurs ne bénéficient d’aucune protection contre l’espionnage par l’entreprise, ou même par un hacker un minimum compétent, c’est au moins de la fraude, et cela se rapproche davantage d’une écoute criminelle. Parce qu’ils trompent délibérément les utilisateurs pour les amener à croire que c’est « 100 % sûr » et à confier leurs secrets au service.
Que cette affaire se soit terminée « à l’amiable » est franchement un échec de la justice. L’équipe de Fizz devrait être poursuivie pour fraude.
Aux États-Unis, les entreprises comptent plus que les citoyens. La publicité américaine est remplie d’affirmations mensongères.
Nous ignorons cela en faisant comme si les mots n’avaient pas de sens.
Intéressant. Dans mon école aussi, il existe une plateforme très similaire appelée SideChat, et je doute qu’elle soit très différente.
Comme j’ai été banni définitivement l’an dernier pour avoir remis en question la validité des « soins d’affirmation de genre », je me demande ce qu’ils savent de moi.
Du point de vue journalistique, c’est très bien d’avoir mis Fizz publiquement en cause. « Fizz n’a pas protégé les données des utilisateurs. Que s’est-il passé ensuite ? »
Ce n’est pas « quelqu’un a hacké », c’est Fizz qui n’a pas fait ce qu’il avait promis.
Je me demande toujours si la correction de la vulnérabilité a été testée.
Cela dit, les données utilisateur ne semblent pas avoir été entièrement anonymisées en interne, contrairement à ce qui avait été affirmé auparavant.