Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express
Next Previous

Lorsque le réseau social Parler cherche un nouvel endroit pour poser ses encombrantes valises…

19 janvier, 2021

Nous allons parler architecture et plus exactement, du nombre de machines nécessaires pour faire tourner un service de micro-messageries à la Twitter, en regardant ce qui se passe en ce moment pour Parler.

Ce type d’information assez stratégique est très difficile à trouver. Peu d’entreprises partagent les détails de leur infrastructure. C’est une information plutôt confidentielle et qui évolue certainement chaque semaine.

… Sauf lorsque l’on s’est fait mettre dehors par son hébergeur actuel, et qu’il faut bien retrouver une maison assez grande..

Intéressons-nous au réseau social Parler. Je ne ferai pas de politique ici. Vous trouverez d’autres ressources vous expliquant pourquoi la plate-forme porte une réputation assez sulfureuse. Nous en avons entendu parler surtout depuis la fermeture du compte Twitter de Donald Trump début 2021 et qui a rejoint cette plate-forme. Parler est donc un clone de Twitter, lancé en 2018.

Imaginez quelques instants la situation : vous êtes le patron de cette plate-forme. Et vous revendiquez haut et fort « la liberté d’expression » (notez les guillemets) sans donc apporter de la modération aux différents contenus créés par la communauté d’utilisateur. Jusqu’ici tout va bien. Les utilisateurs affluent et quittent Twitter, le nombre d’inscrits augmente, et tout semble rouler…

La plate-forme est rapidement critiquée pour son inaction ou sa lenteur à retirer des messages à caractère raciste, antisémiste entre autre. Allez lire la page Wikipedia si vous souhaitez un avis plus détaillé.

Tout bascule après les événements du 6 janvier 2021. La plateforme est accusée d’avoir facilité et entrainé les événements qui conduisent à la prise du Capitole. On en reparlera tout à l’heure, car les utilisateurs du réseau social en question ont pris des photos, et beaucoup de vidéos, toutes publiées sur ce réseau ce jour-ci….

Apple et Google demandent alors la mise en place d’outils de modération, ce qui tarde à être effectué dans les temps par la société. Les 2 sociétés décident finalement de retirer l’application de leur store respectif, mettant une fin provisoire à l’expansion de l’application.

Cependant ce n’est pas terminé.

48 heures plus tard, c’est l’hébergeur de Parler qui va venir toquer le 9 janvier dernier, à la porte du patron. Il lui demander de quitter sous 7 jours, avec l’ensemble de ses serveurs. Alors on parle de serveurs virtualisés, pas d’ordinateurs physiques branchés dans une salle informatique. Parler utilise le service d’infrastructure as a cloud d’Amazon, notre cher ami AWS.

Lorsqu’une entreprise comme AWS (qui est le plus gros hébergeur de cloud, et de loin), décide de vous mettre dehors… cela va devenir compliqué.

Du coup le CEO de Parler s’est dit : je vais attaquer AWS en justice ! Bon il a avoué quelques heures plus tard que même son cabinet d’avocat avait décidé de le laisser tomber… quand ça veut pas, ça veut pas !

Du coup, un tweet que j’ai du mal à identifier comme étant vrai, est passé sur Twitter et ensuite a été commenté sur Hacker news. On y voit une demande de Jared (l’url est cassée pour l’instant). Je n’ai pas réussi à retrouver l’identité de la personne sur LinkedIn.

Ce tweet c’est cette capture d’écran, avec une liste au père Noël pour héberger et reprendre en l’état l’activité du réseau social et de ses 8 millions d’utilisateur (2.3m en décembre et bien plus il semble ensuite). Cela semble concerner la partie données du réseau social, et pas la partie applicative.

Cela ressemble à un email dans lequel l’auteur décrit l’ensemble des besoins pour faire tourner l’application Parler.

En version texte :

  • 40x i3.Metal instances (64 vCPU’s, 512 Gb ram (more ram, of course, better for those)), 14 Tb nVME e/a (Scylla cluster)
  • 70-100x (96 vCPUs, 768 GB RAM) – 4 Tb nVME e/a (PSQL cluster, could use more RAM and CPU, but not easy to get)
  • 300-400 various other instances, less picky, generally 8-16 cores w/ 32-64 Gb of ram as available
  • Internal traffic ~300-400 Gb of traffic/minute
  • External traffic ~100-120 Gb of traffic/minute

Cela semble vraiment énorme. Rien que la première ligne représente environ 60 000 USD par mois chez AWS, en utilisant la grille de calcul ici. Avec des r6g.metal, et sur une base de 100Gb de stockage. La deuxième ligne semble être pour une base de données. Je suis à 250 000 USD par mois. Et ensuite encore 136 000 USD pour les « 300/400 » serveurs divers… 446 000 USD par mois, le CEO avait parlé de 300 000 USD par mois… bref pourquoi pas.

Pour la ligne 1, on parle ici de Scylla DB. C’est une base NoSQL, une nouvelle implémentation d’Apache Cassandra en C++ au lieu de Java. Etant donné que ce n’est pas un service proposé par AWS, cela me semble crédible.

Cela a entrainé un communiqué de presse sur le site de Scylla DB le 17 janvier, dans lequel on apprend que la société met aussi fin à sa relation commerciale avec Parler. A ce rythme, même le livreur d’Uber Eat ne voudra plus venir déposer des Pizzas chez Parler.

Pour la ligne 2, cela permet de supposer aussi quelque chose d’assez commun : Parler n’a pas utilisé le service managé de base de données, Amazon RDS. Si tout ceci est vrai, ils ont donc installé et ensuite géré eux-même leurs clusters de bases postgreSQL. C’est assez courant lorsque l’on démarre et que l’on n’y connaît rien sur AWS. On va supposer qu’ils connaissent Amazon RDS et que simplement, le coût était plus intéressant en installant son propre cluster pgSQL. Mouais…

Les volumes de données pourtant sont crédibles. donk_enby, une chercheuse en sécurité a d’ailleurs aspiré l’ensemble des contenus, des vidéos et des images du réseau dans la semaine, avant sa fermeture. On parle de contenu déjà publique et librement accessible sur Internet. C’est une bonne initiative car cela évite que des informations importantes ne soient effacées.

Du coup, et bien certains Hackers ont déjà re-créé une carte interactive de l’envahissement du Capitole le 6 janvier dernier. La carte se base sur les photos prises par les utilisateurs de Parler. Chaque photo conserve les données de géolocalisation et l’heure de la capture. Imaginez John, très content de venir écouter Donald, et qui file avec ses copains vers le Capitole, jusqu’à embarquer quelques dossiers sensibles trouvés dans les bureaux du Capitole… Et donc ce John a filmé et pris quelques photos de ses exploits, photos publiées sur Parler…

Il faut savoir que le réseau Parler ne retire pas les informations EXIF des photos. Ces chers manifestants ont donc largement partagé leur présence et toutes les preuves nécessaires pour qu’un jour le FBI passe leur rendre une petite visite…

Pour revenir à @Donk_enby, notre hackeuse, elle a simplement utilisé Ghidra pour faire du reverse-engineering sur l’application Parler et un iPad. Une fois le schéma d’API découvert et la façon dont le client Parler discute avec les serveurs, elle a pu identifier les URLs intéressantes. Il s’avère que le schéma d’URL est assez pourri car les développeurs ont utilisé un incrément de séquence pour identifier les ressources comme les photos ou les vidéos. Il suffisait d’incrémenter de 1 en 1 et d’aspirer à chaque fois…

Il n’a fallut que quelques heures pour écrire un script et aspirer toutes les ressources. Elle a ensuite été assistée par une équipe de The Archive Team pour terminer.

Bref c’est 56 To de données avec l’ensemble des posts publics, 412 millions de fichiers dont 150 millions de photos et plus d’1 millions de vidéos. Parler ne modifie pas les fichiers originaux à priori et donc, les informations personnelles comme le type d’appareil, sa géolocalisation ou autre, sont restées dans les fichiers informatiques. Miam miam…

Je vous conseille aussi de regarder le projet « The Insurrection » par ProPublica, qui permet de revoir les événements de cette journée du 6 janvier 2021, en utilisant les vidéos des utilisateurs de Parler. C’est assez choquant parfois, car certaines images ne sont pas passées à la télévision.

Vous y verrez la photo prise de dos, et la présence de journalistes avec des équipements de photo.

Observez la main levée à droite et le sweat moutarde…

Du coup on retrouve une image de presse (de bien meilleur qualité) par  SAUL LOEB de l’AFP (trouvée ici). J’ai cherché 2mn sur internet. On peut supposer que notre caméraman est la personne au fond à droite…

Et cette histoire d’hébergeur alors ?

Au moment où j’écris cet article, il semble qu’Epik, un hébergeur américain, a repris le site Parler. Cependant l’application mobile est toujours bannie des plate-formes Apple et Google.

Attendons de voir dans les jours qui viennent, je pense que de nouveaux projets sur l’utilisation de ces données vont apparaître rapidement. Cela nous rappelle la force des réseaux sociaux. Chacun est acteur et spectateur. Chacun peut filmer, prendre en photo et se raconter son histoire. Cependant, cela ne retire en rien la gravité de ce qui s’est passé ce jour là.

J’en profite pour vous conseiller de revoir l’excellente intervention de Fabrice Epelboin à Devoxx France 2016 : Algorithmes, les nouveaux povoirs du développeur.

A suivre…

1 like

Articles similaires:

De l’art de savoir poser une question ou de se débrouiller comme un grand Default ThumbnailSite sérieux cherche Recruteur(se) prêt(e) à jouer le jeu Default ThumbnailParisJUG Replay : pour toi public Quarkus : le meilleur outil pour construire des applications Java pour le Cloud en 2021 ?
  • Benjamin 19 janvier 2021 at 21 h 20 min

    Très intéressant en effet. Merci!
    On ne sait pas la nature des données stockées tantôt dans Scylla DB, tantôt dans pgSQL?
    Et pourquoi ce doute (mouais) sur l’usage de pgSQL? Après tout ils ont peut être une expertise sur cette excellente base, avec un coût moindre. Et puis, pour le coup, ça leurs permet de changer d’hébergeur sans « trop » de difficultés puisque pas de couplage fort avec la solution d’Amazon…

  • Geoffray Gruel 20 janvier 2021 at 21 h 07 min

    Ils vont finir chez Yandex le copycat de Google en Russie 😉

Chercher

Derniers articles

  • L’instant T où tu poses ta dém…
  • The « Robinson » projection – comprendre son système d’information
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise
  • Gérer les situations de blocage en tant que Staff Engineer
  • Un monolithe, c’est quoi ?

Commentaires récents

  • Nicolas Martignole dans The « Robinson » projection – comprendre son système d’information
  • Lucas dans The « Robinson » projection – comprendre son système d’information
  • Guillaume dans The « Robinson » projection – comprendre son système d’information
  • Francois Dechery dans The « Robinson » projection – comprendre son système d’information
  • Gaëtan dans The « Robinson » projection – comprendre son système d’information

Les plus lus

  • Les revenus d’un informaticien indépendant en EURL - 89 684 affichage(s)
  • Optional en Java 8 - 70 951 affichage(s)
  • Changer la batterie d’un MacBook Pro de 2011 - 65 588 affichage(s)
  • Quelle est la différence entre volatile et synchronized ? - 65 464 affichage(s)
  • Retour sur la soirée du lundi 12 juillet chez Doctolib - 63 072 affichage(s)
  • Un modèle de Product Backlog et de Sprint Backlog avec Excel - 57 801 affichage(s)
  • Redis, découverte d’un moteur clé-valeur simple et puissant - 51 018 affichage(s)
  • Comment simuler le navigateur de l'iphone avec Firefox ou Safari ? - 45 656 affichage(s)
  • serialVersionUID mythes et légendes - 41 900 affichage(s)
  • Développeur après 31 ans ? Ridé et chauve tu seras - 39 394 affichage(s)

Mots clés

agile ajax Apple architecture barcamp BarCampJavaParis ddd devoxx esb exo flex geek google grails groovy humeur humour independant iphone Java javascript jazoon jboss jboss seam jsf jug Linux mac mule paris jug parisjug pjug play playframework portlet recrutement ria Scala scrum spring Startup usi usi2010 web xebia

Derniers articles

  • L’instant T où tu poses ta dém…

    Retour d’expérience sur la démission et le moment où vous devez quitter une entreprise.

    6 likes

    24 octobre, 2024
  • The « Robinson » projection – comprendre son système d’information

    Nous sommes en juillet 2022 chez Doctolib. Je travaille sur un projet

    5 likes

    22 octobre, 2024
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise

    Je prépare une présentation avec mon collègue Théotime pour la conférence Cloud

    3 likes

    6 octobre, 2024

Mots clés

Apple (32) Architecture (14) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (15) Perso (266) Recrutement (2) Scala (30) scrum (43) Société (3) Staff Engineer (5) Startup (21) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur X (Twitter) : @nmartignole

Copyright© 2008 - 2024 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Reset Password

Le Touilleur Express