ANATOMIE D'UNE FAILLE

L'ATTAQUE XZ UTILS

ATTENTION

CERTAINES SLIDES PEUVENT HEURTER LA SENSIBILITÉ
D'UN PUBLIC EXPERT NON AVERTI

CERTAINES PARTIES ÉTANT ASSEZ TECHNIQUES
QUELQUES SIMPLIFICATIONS ONT ÉTÉ NÉCESSAIRES

AUCUN SERVEUR N'A ÉTÉ MALTRAITÉ
LORS DE LA PRÉPARATION DE CE TALK

XZ UTILS

KÉZAKO ?

XZ UTILS

EN TROIS POINTS

Ensemble de bibliothèques et d'outils permettant d'achever de la compression / décompression de données sans perte

Les programmes et bibliothèques lzma et xz implémentent la méthode LZMA basée sur l'algorithme de Lempel–Ziv et les chaînes de Markov

Est utilisé pour comprimer et distribuer les sources du noyau Linux, voire comprimer l'initrd/initramfs, etc.

STUPEUR ET TREMBLEMENTS

RETOUR SUR LA JOURNÉE DU 29 MARS 2024

PUBLICATION DE LA CVE-2024-3094

LA CVE TOUT DROIT SORTIE DES ENFERS

CVE-2024-3094

CVE-2024-3094 fire

ANDRES FREUND

CE HÉROS !

Andres Freund

Andres Freund

Andres Freund

Andres Freund

SA DÉCOUVERTE

UNE SÉRIE DE COINCIDENCES

Andres Freund - Announce 1

Andres Freund - Announce 2

Andres Freund - Announce 3

Andres Freund - Announce 4

Andres Freund - Announce 5

OBJECTIFS DE L'ATTAQUE

EN TROIS POINTS

CORROMPRE LA SUPPLY-CHAIN

AFFAIBLIR LE DAEMON SSH

DEVENIR MAÎTRE DU MONDE

Elmo fire

CHRONOLOGIE DE L'ATTAQUE

UNE VALSE EN QUATRE TEMPS

CHRONOLOGIE DE L'ATTAQUE

UNE VALSE EN QUATRE TEMPS

Gru's plan 1

Gru's plan 2

Gru's plan 3

Gru's plan 4

INGÉNIERIE SOCIALE

LA MENACE FANTÔME

INGÉNIERIE SOCIALE

DÉFINITION

Social Engineering

L'ingénierie sociale est une pratique
de manipulation psychologique
à des fins d'escroquerie
 
Elle vise à exploiter la confiance,
la curiosité, la peur ou l'ignorance

INGÉNIERIE SOCIALE

QUELQUES TECHNIQUES

Social Engineering

  • PHISHING
  • VISHING
  • PRETEXTING
  • BAITING
  • SHOULDER SURFING
  • IMPERSONATION
  • TAILGATING
  • DUMPSTER DIVING

JIA TAN

L'ATTAQUANT

Collin Lasse

COLLIN LASSE

LA CIBLE

Collin Lasse

Collin Lasse

Collin Lasse

PREMIÈRE ÉTAPE

GAGNER LA CONFIANCE

  • ┌╼ Collin Lasse devient mainteneur de projet XZ Utils en 2009
  • ├╼ Jia Tan, alias JiaT75, créé son compte GitHub en 2021
  • ├╼ Jia Tan commence à contribuer à différents projets FLOSS
  • ├╼ Jia Tan soumet son premier patch xz en 2022, mais il est rejeté
  • ├╼ Jigar Kumar entre dans la danse et met la pression pour le merge
  • ├╼ Dennis Ens entre aussi dans la danse et intensifie la pression
  • ├╼ Collin Lasse est débordé sous une avalanche de demandes
  • ├╼ Il est seul, la communauté exige de Collin un autre mainteneur
  • ├╼ Jia Tan fait son premier commit puis devient contributeur régulier
  • ├╼ La pression exercée sur Collin ne faiblit pas
  • ├╼ Jia Tan gagne en implication et en confiance
  • ├╼ Épuisé, Collin nomme Jia Tan co-mainteneur début 2023

PREMIÈRE ÉTAPE

RÉSUMÉ

OSS Maintainer

SECONDE ÉTAPE

PRENDRE LE CONTRÔLE

  • ├╼ Jia Tan effectue son premier merge début 2023
  • ├╼ Jia Tan gagne progressivement la confiance de Collin
  • ├╼ Des emails de contacts sont mis à jour vers Jia Tan en mars 2023
  • ├╼ Jia Tan s'efforce de consolider l'infrastructure de tests
  • ├╼ En juillet 2023 une PR est effectuée pour désactiver le fuzzing build
  • ├╼ Jia Tan gagne en contrôle sur le projet début 2024
  • ├╼ Jia Tan change le hosting du projet et pointe vers GitHub pages
  • ├╼ Jia Tan ajoute la charge utile dans les tests en février 2024
  • ├╼ Jia Tan publie la version 5.6.0
  • ├╼ Debian, Gentoo, RedHat détectent des dysfonctionnements
  • ├╼ Jia Tan publie des correctifs sur les instabilités
  • ├╼ Jia Tan pousse pour faire inclure la version dans les distributions
  • └╼ Jia Tan publie la version 5.6.1

SECONDE ÉTAPE

EN RÉSUMÉ

Mr Burns

INGÉNIERIE TECHNIQUE

OU L'ART DE LA DISSIMULATION

INGÉNIERIE TECHNIQUE

CIBLE ET SURFACE D'ATTAQUE

OpenSSH

OpenSSH

OpenSSH

TARBALL

SYSTÈME DE BUILD

TESTS UNITAIRES

CODE SOURCE

GLIBC

SYSTEMD

Usual suspects

INGÉNIERIE TECHNIQUE

LE TARBALL

Tarball

Tarball

Tarball

LA SOURCE DE
TOUS LES MAUX

INGÉNIERIE TECHNIQUE

LE SYSTÈME DE BUILD

Autotools

Autotools

Autotools

Autotools

Autotools

Autotools

Autotools

Landlock

Landlock

Landlock

Landlock

Landlock

Landlock

INGÉNIERIE TECHNIQUE

LE PREMIER PAYLOAD

Autotools

Autotools

Autotools

INGÉNIERIE TECHNIQUE

LE SECOND PAYLOAD

Autotools

Autotools

Autotools

Autotools

Autotools

Autotools

Autotools

Autotools

Autotools

Autotools

Autotools

Autotools

INGÉNIERIE TECHNIQUE

EXPLOITATION DE LA GLIBC

Utilisation du mécanisme IFUNC

Swap de RSA_public_decrypt()

Buzz Lightyear

INGÉNIERIE TECHNIQUE

EXPLOITATION DE SYSTEMD

Dans certaines distributions Linux

OpenSSH est lié à libsystemd

Qui elle-même est liée à ...

liblzma 😭

Disaster Girl

DÉPLOIEMENT DE L'ATTAQUE

ALLUMER LE FEU

DÉPLOIEMENT DE L'ATTAQUE

FAIRE PREUVE DE PATIENCE

Patience et longueur de temps
Font plus que force ni que rage
···
Jean de la Fontaine

Frog

Jia Tan's commits

DÉTECTION DE L'ATTAQUE

ÉCOUTER LES SIGNAUX FAIBLES

DÉTECTION DE L'ATTAQUE

UN COUP DE CHANCE MONUMENTAL

Andres Freund

Andres Freund

Travaille sur Debian unstable

Effectue des micro-benchmarks pgSQL

Constate une charge anormale des serveurs

Constate des temps de réponses SSH en hausse

...

Di Caprio Deeper

Andres Freund - Announce 2

Andres Freund - Announce 2

EN RÉSUMÉ

UN ALIGNEMENT DES PLANÈTES EXCEPTIONNEL

Mind blow

LA SUPPLY CHAIN

LA GRANDE OUBLIÉE

LA SUPPLY CHAIN

UN VECTEUR D'ATTAQUE

Supply Chain Broken

Beeper

Supply Chain Broken

Systèmes d'exploitation

Logiciels et paquets logiciels

Mais aussi ...

composer, npm, pip, go, rust, etc.

Et sans oublier ...

Les images Docker !

LA SUPPLY CHAIN

UN MAILLON NÉGLIGÉ ET SOUVENT FLOSS

XKCD

XKCD

XKCD

LA SUPPLY CHAIN

SI NOUS N'Y PRENONS PAS GARDE

Le maillon faible

LE MOT DE LA FIN

 

ME RETROUVER SUR LES RÉSEAUX

Le maillon faible

@ponceto91 emaxilde.net
@ponceto91 github.com/ponceto/
@ponceto91 gitlab.com/ponceto/
@ponceto91 bitbucket.org/ponceto/

MERCI