PODCAST

Post Mortem

François Paupier

In Post Mortem, engineers reflect on real-life incidents of IT systems they experienced. In each episode, we zoom on a specific event, ranging from a system outage, a cyber-attack, or a machine learning algorithm going wild with production data. We try to understand what happened and how the people behind those systems solved the situation. Along the way, you'll get hands-on advice shared by experienced practitioners that you can implement within your team to limit the risk of such incidents.

Play Trailer
Qu'est ce que Post Mortem? 🇫🇷
#1 A migration's taleQu'est ce que Post Mortem? 🇫🇷What's this podcast about?#2 Dragonblood is still leaking 🇫🇷
Wi-Fi Protected Access 3 (WPA3) est destiné à remplacer WPA 2 - en service depuis 2004 - en rendant presque impossible de craquer le mot de passe d'un réseau.  Problème, des chercheurs ont révélé qu'un attaquant peut exploiter des failles dans les implémentations existantes de WPA 3 pour récupérer le mot de passe de la victime.  Dans cet épisode, Mohamed Sabt, maître de conférence à l'université de Rennes 1 enseignant la cybersécurité et chercheur au sein de l'équipe "Sécurité et Cryptographie Embarquées" (EMSEC) nous révèle une toute nouvelle cyberattaque sur le wifi et en particulier sur la certification WPA3. On se concentre sur le moment du serrage de main, le handshake, au cours de l'initialisation de la connection entre un appareil et le point d'accès wifi. C'est à ce moment que plusieurs implémentations du handshake Dragonfly de WPA 3 présentent des failles. En analysant les instructions chargées dans le cache de processeurs Intel ainsi que les temps d'exécutions, Mohamed et son équipe ont réussi à déterminer quelles instructions sont exécutées ce qui permet de réduire considérablement la taille des dictionnaires à utiliser pour enchaîner sur une attaque brute force. Mohamed nous raconte ensuite comment ils ont travaillé avec la communauté open source qui maintient ces implémentations afin de patcher ces vulnérabilités et les leçons qu'il en a tiré d'un point de vue académique et organisationnel, par exemple; Comment remonter une faille de sécurité à un projet open source? Points clés; Le temps d'exécution d'une fonction de hachage ne doit pas dépendre de la valeur du secret. Pensez aux implémentations en temps constant.Si vous ne maîtrisez pas un standard de sécurité, n'essayez pas de l'implémenter vous- même.Pour convaincre une équipe open source de la criticité d'une faille, arriver avec une preuve de concept (Proof of Concept, POC) complète qui montre l'attaque permet de gagner en crédibilité auprès de la communauté.Pour les utilisateurs finaux, pensez à effectuer les mises à jour de sécurité. Références Site web Dragonblood - Analysing WPA3's Dragonfly Handshake Papier original Dragonblood: Analyzing the Dragonfly Handshake of WPA3 and EAP-pwd, par Mathy Vanhoef et Eyal Ronen.
Oct 14 2020
46 mins
#3 La Data Science dans les grands groupes, avec Ouriel Bettach 🇫🇷
Ouriel Bettach, Data Scientist depuis plus de 6ans, nous propose un panorama de ses expériences au sein de grands groupes industriels sur des projets de machine learning (ML). On en profite pour faire le bilan sur la façon dont les grands groupes approchent des projets ML et d’évoquer les points bloquants récurrents dans ces projets, avant d’ouvrir sur les challenges qui se dressent à l’horizon.  Points clés ; Avoir une équipe multi-compétences (Software Engineer et Data Scientist) dans une même squad permet de livrer des produits (pas simplement mener des projets) ML plus rapidement.Le data et le model management sont le nerf de la guerre pour répondre aux questions de montée en charge. Le ML Ops est là pour rester. Voir ML Flow.Au-delà du technique, la conduite du changement pour le déploiement d’un produit ML doit être préparée avec les utilisateurs business.  Références Ouriel nous recommande le blog Towards Data Science pour se tenir au courant des dernières tendances du ML. Pour les livres, deux recommandations cette semaine, une lecture sur le data management et un classique du ML :     - Data Management at Scale: Best Practices for Enterprise Architecture de Piethein Strengholt, ISBN 9781492054788     - Deep Learning de Ian Goodfellow, Yoshua Bengio et Aaron Courville, ISBN 9780262035613  En bonus, Ouriel nous recommande chaudement les interventions de Yann Lecun sur l’apprentissage profond.  La transcription de notre discussion est disponible sur le blog du podcast Post Mortem.
Oct 28 2020
28 mins
#4 La divulgation de vulnérabilités, théorie et pratique 🇫🇷
Que faire lorsque l'on rencontre une vulnérabilité dans un produit ou un service numérique?  On explore avec Rayna Stamboliyska (Twitter: @MaliciaRogue) le rôle de la divulgation coordonnée de vulnérabilités; en quoi celle-ci permet de fluidifier la remontée des vulnérabilités et offre un compromis intéressant pour préserver la sécurité des utilisateurs?  Dans un environnement où nous sommes tous utilisateurs finaux de produits et de services numérique, où le risque 0 en cyber sécurité n'existe pas, une organisation qui affiche une politique de divulgation coordonnée envoie un signal fort sur son humilité face au risque ainsi que sur le cheminement qu'elle a déjà effectué afin de limiter ce risque. Après un tour d'horizon du cadre légal sur la divulgation de vulnérabilités, on passe en revue quelques organisations à partir desquelles s'inspirer pour la vulnerability disclosure. Enfin Rayna nous partage ses bonnes pratiques pour la mise en place d'une politique de divulgation coordonnée de vulnérabilités.  Références mentionnées au cours de l'épisode: Norme ISO 29147 - Divulgation de vulnérabilité - iso.org Norme ISO 30111- Processus de traitement de la vulnérabilité - iso.org Arguments pour / contre les différents types de divulgation -  wikipedia.org firebounty.com - recense les politiques de divulgation mises en ligne par des services providers (9577 policies au 28 octobre 2020) - firebounty.com Article 323-1 du code pénal relatif au maintien frauduleux dans un système de traitement automatisé de données - legifrance.gouv.fr Loi du 7 octobre 2016 pour une République numérique, article 47 - legifrance.gouv.fr Hall of fame de Nokia sur sa divulgation responsable - nokia.com F-Secure Vulnerability Reward Program - f-secure.com The EU Cybersecurity Act at a glance, from the european commission - ec.europa.eu Cyber Security Act de l'Article 6 Renforcement des capacités et l'Article 54 sur les Éléments des schémas européens de certification de cybersécurité - eur-lex.europa.eu Les deux livres blanc de Yes We hack sur la divulgation coordonnées de vulnérabilités - blog.yeswehack.com
Nov 11 2020
36 mins
#5 Autoscaling lag et gestion des incidents chez Doctolib 🇫🇷#6 Monitor early,  fix bugs early 🇫🇷#7 Don't knock the checklist#8 When the facts change, I change my model#9 Avalanche de requêtes et effets de bords mystérieux#10 Competitive Data Science Vs Réalité business#11 Prédiction de retards à la SNCF 🚉#12 Comment Google anonymise vos données personnelles avec la Differential Privacy
Des emojis les plus populaires sur iOS à l'affluence dans votre boutique préférée sur Google Maps; comment ces informations sont obtenues? Et quelles garanties peut-on avoir quant à la préservation de l'anonymat des utilisateurs? Dans ce Post Mortem thématique, le Docteur Damien Desfontaines - Senior Software Engineer, Privacy pour Google nous parle de Differential Privacy (confidentialité différentielle). Avec des centaines de millions d'utilisateurs actifs chaque jour, les géants du numérique bénéficient de données précises d'utilisation. Au-delà de l'amélioration de l'expérience utilisateur, ces données, une fois agrégées, peuvent contribuer à adresser des problèmes de santé publique. Après un bref historique des techniques d'anonymisations (02'00"), on définit la confidentialité différentielle et ses propriétés (06'50") avant de revenir sur un cas d'usage au sein de Google (20'18") pour enfin discuter des implémentations existantes (27'58") et des challenges à l'adoption de cette technique (34'13"). Sur Apple Podcast, vous devriez avoir accès aux chapitres avec les liens et illustrations. L'illustration de la Randomized Response devrait être utile! Toutes les illustrations sont disponibles sur le blog post qui accompagne l'épisode sur le Medium du Post Mortem Podcast https://medium.com/the-post-mortem-podcast Ressources Latanya Sweeney et la ré-identification des données médicales du gouverneur du Massachusetts, William Weld en 1997.  Wikipedia Le blog de Damien sur la Differential Privacy, c'est très visuel et de nombreux articles sont accessibles au grand public https://desfontain.es/privacy/differential-privacy-awesomeness.html (~10mins de lecture). Une version html de sa thèse Lowering the cost of anonymisation est également disponible sur son site. Les chapitres légers en maths sont indiqués par une fleur ✿. Pour le cas d'usage de la Differential Privacy chez Apple cité en introduction, voir le papier de la Differential Privacy Team d'Apple : "Learning with Privacy at Scale", disponible ici https://docs-assets.developer.apple.com/ml-research/papers/learning-with-privacy-at-scale.pdf Un exemple d'usage de la Differential Privacy chez Google; Les Community Mobility Reports, pour une vision de l'impact du covid sur la mobilité des personnes https://www.google.com/covid19/mobility/ Description du processus d'anonymisation pour les Google Community Reports "Google COVID-19 Community Mobility Reports: Anonymization Process Description", https://arxiv.org/abs/2004.04145 Le papier "Differentially Private SQL with Bounded User Contribution", https://arxiv.org/abs/1909.01917 publié par Damien et son équipe pour faciliter l'utilisation de la Differential Privacy par les analystes en étendant les capacités de SQL La librairie open source de Google sur la confidentialité différentielle est disponible sur GitHub: https://github.com/google/differential-privacy Fun Facts The Fundamental Law of Information Recovery, Cynthia DWork: "“Overly accurate” estimates of “too many” statistics is blatantly non-private" extrait du livre “The Algorithmic Foundations of Differential Privacy.” Natyana Sweeney est à l'origine de l'observation  "87% of the U.S. population is uniquely identified by date of birth, gender, postal code." Source: wikipedia
May 4 2021
38 mins
#13 An experiment gone wrong
Quelle interface choisir pour les utilisateurs de mon site ? Le nouveau système de recommandation de mon application a-t-il un impact ? Pour qui ?  Un test AB permet de comparer deux variantes afin d’identifier la plus efficace pour l’objectif recherché. Aujourd’hui, je reçois Cyril De Catheu, Data Engineer @ AB Tasty pour discuter des dessous d’une plateforme d'expérimentations 🧑‍🔬 Pour collecter les événements des sites clients (e.g., clic sur tel bouton, de telle couleur, etc.) et les faire parvenir à la plateforme d’AB Tasty, c’est tout un système de message queuing qui est nécessaire.  Dans cette chaîne de traitement, Cyril identifie une optimisation qui permettrait de simplifier l’architecture et d’économiser quelques centaines de dollars.  Quelques jours plus tard, la CyberWeek. Alors que certains sites clients d’AB Tasty voient leur activité multipliée par deux, les coûts liés au service pub/sub explosent 📈 💸 Cyril garde la tête froide et mène l’enquête. Il dispose d'un outil de choix pour élucider ce mystère, la wayback machine. Let's get back in time ⏱ 👩‍🚀 Resources A/B Testing, WikipediaWayback machine, la "Machine à remonter le temps" de l'Internet. https://web.archive.org/La recommendation de Cyril: The Data Engineering Podcast, pour des éclairages sur la mise en production de chaînes de traitements de données https://www.dataengineeringpodcast.com/about/ Glossaire ack: du verbe anglais “to acknowledge” - littéralement “accuser réception de”. Utilisé en event processing pour qualifier le fait qu’un process accuse réception d’un message. Pratique dans une architecture distribuée où la perte de messages via le réseau est possible et l’on veut s’assurer une certaine sémantique sur le traitement d’un message (le message a été traité au moins une fois, ou exactement une fois).

 Pour une introduction plus poussée sur sur le stream processing et ses challenges, je recommande le Chapter 11: Stream Processing de l’ouvrage de référence: 
Kleppmann, M. (2017). Designing Data-Intensive Applications. O’Reilly Media. Credits L'extrait audio à 21'40" est issu du film Kung Fury, https://youtu.be/bS5P_LAqiVg?t=599
Jun 1 2021
28 mins
#14 Scaler sa réponse à incidents - Le cas Algolia
Cette semaine-là, Xavier reçoit plus de 80 alertes la nuit. Impossible de dormir correctement. Il y a forcément quelque chose à faire pour sortir les ingénieurs on-call de cette spirale et éviter une alert fatigue. Mais par où commencer ?  Dans cet épisode,  on retrace la façon dont Algolia a réorganisé ses efforts de maintenance opérationnelle à mesure que son moteur de recherche gagne en popularité. Aujourd'hui je reçois Xavier Grand, Software Engineer au sein de l'équipe d'Algolia  depuis son incubation à YCombinator en 2014, Xavier est aujourd'hui Manager Search à Algolia.  Nous revenons sur la façon dont Algolia a fait évoluer ses équipes et sa stratégie pour répondre à des outages à mesure que le produit, l'équipe et la codebase prenaient du volume, en particulier : Les 3 étapes clés du chemin parcouru par les équipes tech d'Algolia pour gagner en maturité sur la réponse à incidents 🗝L'importance d'organiser le transfert de connaissances des experts de la codebase vers les nouveaux collaborateurs et comment accompagner les nouveaux venus pour leur premier cycle on-call 🚨📊👩‍💻De l'importance de monitorer les causes et non les symptômes 🤒 Ressources  La recommandation de Xavier; Le Google SRE Workbook, excellente ressource (et gratuite) pour animer un club de lecture avec votre équipe et réfléchir ensemble sur  des bonnes pratiques transposables dans votre organisation.Pour un exemple de blog post mortem  d'Algolia, je recommande cet excellent article de blog sur leur gestion de l'attaque Salt en mai 2020.
Aug 31 2021
29 mins
#15 Le ML Ops pour accélérer l’innovation, de la R&D à la production#16 Blameless Engineering at ASOS#17 Incident BGP chez Facebook & OVH
En octobre dernier, Facebook était indisponible plusieurs heures durant. Le même mois, l’hébergeur français OVH a également subit un incident.  Leur point commun ? BGP. Le Border Gateway Protocol.   Dans cet épisode #17 de Post Mortem, Stéphane Bortzmeyer nous fait découvrir les coulisses d’internet. Là où le « cloud », le « serverless » se fracasse à la réalité de l’internet : des machines bien physique qui essaient de communiquer entre elles.  Mais ces machines sont distribuées à la surface du globe et gérées par des acteurs différents... Sans leadership unique de l’internet, comment se mettre d’accord pour que ces serveurs puissent se parler et se comprendre ?   Après avoir dressé le tableau des concepts clés de réseaux qui nous aiderons à suivre cette aventure internet (DNS, BGP) [1’ 50’’], Stéphane nous fait revivre les incidents Facebook [14’] et OVH [42’10’’] d’octobre 2021 en prenant soin de décortiquer chaque concept pour en tirer des enseignements généralisables [44’].  Stéphane Bortzmeyer est un ingénieur réseau (membre IETF, à l’origine de plusieurs RFC – les standards d’internet) et travaille aujourd’hui à l’AFNIC, le registre des noms de domaine en .fr. Il est également auteur, tiens un blog et vous pourrez le trouver sur twitter sous handle @bortzmeyer  Bibliographie  Sujets évoqués lors de l'épisode   Évènement de Carrington – La tempête solaire de 1859     https://fr.wikipedia.org/wiki/Tempête_solaire_de_1859 Les rayonnements cosmiques et leurs effets sur les composants électroniques https://fr.wikipedia.org/wiki/Rayonnement_cosmique#Effet_sur_l’électronique Panne des numéros d’urgence : Quelle responsabilité de l'opérateur Orange ? https://www.vie-publique.fr/en-bref/280875-panne-des-numeros-durgence-quelle-responsabilite-dorange Les articles de RIPE Labs https://labs.ripe.net/ L'accès aux informations du RIS (Routing Information Service) https://stat.ripe.net/ui2013/ (attention, il faut une machine costaud, c'est plein de Javascript)Une liste de "looking glasses" http://traceroute.org/#Looking%20GlassDont l’article sur le NTP (Network Time Protocol) https://labs.ripe.net/author/christer-weinigel/implementing-network-time-security-at-the-hardware-level/ La liste de distribution FRnog https://www.frnog.org/?page=mailing&lang=en Fantasia - L'apprenti sorcier, la scéne du balais, https://www.youtube.com/watch?v=VErKCq1IGIU Incident de Fastly du 8 juin 2021 https://www.fastly.com/blog/summary-of-june-8-outage Au sujet des cout des instances ec2 sur AWS, la region us-east-2 semble effectivement être la moins cher - a spécifications équivalentes  https://www.concurrencylabs.com/blog/choose-your-aws-region-wisely/   Le compte Twitter de Clément Cavadore https://twitter.com/cavadore  Celui de Cécile Morange https://twitter.com/AtaxyaNetwork/  Son fameux article « avoir un AS chez soi https://blog.ataxya.net/un-as-chez-soi-cest-possible/  Le compte Twitter de Jean-Luc (appelé Jean-Marc dans l 'épisode, nos excuses) Vuillemin (les câbles sous-marins) https://twitter.com/jlvuillemin   Sur les enjeux de conserver l’Ukraine connecter à l’Internet mondial, https://labs.ripe.net/author/alun_davies/keep-ukraine-connected/   Resources ayant aidées à la préparation de l'épisode   Le Blog de Stéphane sur l'incident BGP chez Facebook     https://www.bortzmeyer.org/facebook-octobre-2021.html Le blog de Stéphane sur l'outage OVH en octobre 2021     https://www.bortzmeyer.org/routage-ovh-octobre-2021.html Glossaire de termes techniques publiés par Stéphane https://cyberstructure.fr/glossaire.html Outage Facebook   Communiqué officiel de Facebook le 4 octobre 2021 https://engineering.fb.com/2021/10/04/networking-traffic/outage/ Follow-up de Facebook le 5 octobre 2021 par le VP Infrastructure https://engineering.fb.com/2021/10/05/networking-traffic/outage-details/ Blog post de Cloudfare sur l'incident de Facebook, détaillé et très visuel https://blog.cloudflare.com/october-2021-facebook-outage/ Outage d'OVH   Rapport d'incident d'OVH d’octobre 2021 https://network.status-ovhcloud.com/incidents/tgyf0y4tl26w
Apr 28 2022
1 hr 3 mins