Ce que j'entends le plus souvent de la part des recruteurs c'est
Mais attendez Pierre, LinkedIn c'est surtout un truc de cadre qui bosse dans les bureaux non ?
Je leur réponds que sur LinkedIn il y a 90% des professionnels français,
des cadres mais aussi des ouvriers, dans l'industrie, les services, le privé et le public.
Par exemple si un recruteur recherche un magasinier à Rennes,
il lui suffit de lancer une recherche sur LinkedIn recruteurs et il en a plus de 800.
On m'a même déjà demandé s'il y avait des magiciens sur Poitiers.
Eh ben j'en avais deux. Avec LinkedIn, recrutez des bons profils plus vite.
Rendez-vous sur LinkedIn.com.
recrutez mieux.
Bienvenue David et Thomas.
J'espère que vous allez bien ?
Très bien.
Très bien aussi.
Très content, très content de vous recevoir.
Vous travaillez dans une interprète qui s'appelle Synactive.
Je pense que en général on le détecte au t-shirt.
C'est de la cyber sécurité.
Est-ce que vous voulez en vrai d'embler déjà dès maintenant,
nous expliquer un petit peu quels sont vos expertises
et qu'est-ce que vous faites tout simplement chez Synactive
avant qu'on rentre un peu dans le vif du sujet ?
En vrai.
Et ben du coup on travaille tous les deux dans l'équipe de Retro-Engénieries de Synactive.
Donc Synactive c'est une entreprise qui est spécialisée dans la sécurité offensive.
Ok.
Donc on a en gros du pain test de la Retro-Engénierie,
un petit peu de développement sécurisé et de la réponse à l'incident
pour des entreprises qui se sont faits attaquer.
Voilà donc nous on fait de la Retro-Engénierie, ça consiste à prendre...
Pas ce moment on en parlait un peu juste avant.
Je sais pas si vous en entendez là-bas.
Non, non, non.
Ah trop bien.
Et du coup ça consiste à en gros prendre des produits, essayer de comprendre comment
ils marchent et chercher des vulnérabilités à l'intérieur pour les améliorer pour nos clients.
Très intéressant.
Et la particularité évidemment, dans Retro-Engénieries, il y a Retro,
c'est parce que vous n'avez pas accès au code, j'imagine,
et donc c'est tout cette expertise fascinante qui consiste à comprendre du langage bannivou
et à essayer de décoder ce qui pour le commun des mortels comme nous est du cher à bien.
Et toi Thomas, pareil, Retro-Engénieries ?
Ouais, pareil, je suis dans la même équipe que David.
Et du coup on fait, effectivement, la Retro-Conception en part de quelque chose qui existe
pour essayer de comprendre quels sont les briques qu'on a ajouté pour le construire, le faire fonctionner.
Et à partir de là, du coup on trouve des vulnérabilités et pour des clients.
On m'a déjà dit, moi, j'ai jamais vraiment compris à part de ça de quel moment c'est OK,
mais on m'a déjà dit que la Retro-Engénieries, c'est illégal.
Mais vous pouvez m'éclairer tant que vous êtes là et à voir comment c'est vraiment,
est-ce que vous pouvez m'éclairer si vous avez un peu...
Vous avez l'autorisation, j'imagine donc c'est OK.
Mais est-ce que vous avez un peu une épée d'amoclet ?
Je ne peux pas faire mon expertise, je ne peux pas l'exercer sur vraiment tout ce que je veux.
Nous déjà, la plupart du temps, on est mandatés par nos clients pour le faire,
pour se mesurer à des vrais attaques, voir si leurs produits sont résistants.
Donc c'est directement le constructeur ou l'intégrateur qui va nous demander de faire cette mission-là.
Donc il n'y a pas de problème.
OK. Et puis après, les projets à la maison, on ne sait pas ce qui s'y passe, mais c'est comme ça.
Et est-ce que pour savoir un petit peu, pour développer ce genre d'exercice,
qui comme je le disais, pour moi c'est vraiment dans une case de...
J'aimerais avoir vos super pouvoirs y a, mais c'est quand même bien velu.
Il faut quoi pour arriver à savoir faire ça ? C'est un cursus particulier ?
Non, pas spécialement, c'est tout de la curiosité.
Moi j'ai fait une école d'ingénieur, une salle de lion.
Et du coup c'était surtout un cursus informatique, développeur.
Et à partir de là, je suis eu des bases en sécurité.
Et j'ai creusé de mon côté sur des sujets, typiquement des challenges, des CTF,
et aussi des cours en ligne pour creuser en sécurité et à prendre un peu par moi-même.
Mais maintenant, de plus en plus, il y a des écoles qui se montent, de cyber sécurité.
Et il y a des pics en sorte, donc j'imagine que oui.
Et toi pareil ?
Et moi j'ai fait une école de traitement du signal, donc de la radio.
Et c'était plus quelque chose que je faisais à côté, un peu pareil, des challenges etc.
Et puis au fur et à mesure, je suis spécialisé là-dedans et j'ai changé de job pour un peu de cyber security.
La d'l'addit comme ça, c'est pas exactement la même chose quand même.
Mais est-ce que c'est peut-être ce caractéristique des nouveaux métiers,
enfin entre guillemets des métiers récents,
ou t'es obligé de trouver des profils un peu curieux à cœur qui savent changer de casquette,
ou peut-être que comme tu disais, avec les écoles qui arrivent etc.,
ce serait à moins le cas plus tard.
Mais en même temps, ça ressemble à l'esprit que vous devez développer,
j'imagine parce qu'on va en parler de comment vous arrivez à contourner des systèmes ultra robustes, etc.
Si ça se trouve, toi t'es compété en ce traitement du signal,
ils t'ont déjà aidé par exemple dans des tests d'intrusions ou des choses comme ça ?
Peut-être un petit peu, mais rarement on va dire.
C'est pas aussi simple que ça.
Ok, ok.
Eh bien je vous propose qu'on rentre dans le vice du sujet, je vous l'ai promis,
ce soit on va parler à King et on va parler entre autres à King de Tesla.
David et Thomas, vous avez participé à une compétition de hacking qui s'appelle Pawn to Own,
à Vancouver et vous avez remporté 530 000 dollars.
C'est exact.
Et une Tesla.
Pourquoi une Tesla ?
Parce que vous avez notamment réussi à prendre le contrôle de la voiture à distance.
Vous allez nous raconter comment ça s'est passé et comment vous avez fait cette prouesse.
Juste avant qu'on rentre vraiment dans le détail de la technique et la démonstration que je sais que vous vous attendez,
est-ce que vous pouvez nous remettre un peu dans le contexte et nous expliquer quel est le principe de Pawn to Own,
qui est quand même un gros nom, c'est bien connu.
Donc Pawn to Own, effectivement, comme son nom,
l'objectif c'est de Pawn donc d'attaquer, de pirater, de prendre la main sur certains types d'équipement et de le gagner au final.
Donc c'est une compétition, il y a plusieurs éditions et il y a plusieurs spécificités.
Donc là, nous on a participé à l'édition de Vancouver,
où ça va être principalement sur des systèmes qu'on trouve chez soi, Windows, Linux, Mac.
Et aussi, il y avait une partie sur des voitures type Tesla.
Cette année, il n'y avait que Tesla.
Et il y a d'autres parties, il y a d'autres éditions de Pawn to Own,
sur d'autres types d'équipement, typiquement des équipements IoT, des imprimantes, des routers et des téléphones.
Et donc ça, ça va être visé sur différentes éditions.
Donc le but de chaque édition, c'est de préparer une ou plusieurs chaînes d'attaques
qui va nous permettre de prendre le contrôle de l'équipement et de le montrer pendant la compétition.
Donc on va avoir un créneau pendant la compétition pour montrer qu'on prend bien la main sur l'équipement.
Et au final, de repartir avec plus un petit cash price.
Ah, trop marrant.
Donc si tu as vraiment le concept dans les règles, c'est que si tu as à quel truc, tu repars avec.
C'est ça.
C'est Pawn to Own.
C'est dans le nom.
Je vais réaliser en fait.
C'est vrai que c'est dans le titre depuis le début.
Et donc ici, vous vous êtes notamment attaqué à une Tesla.
Comment ça se passe juste avant qu'on rentre dans la technique ?
Donc vous travaillez dans une entreprise.
C'est vous qui décidez de vous inscrire.
Ça coûte de l'argent pour participer à ce genre d'événement,
ou c'est sélectionner au talent, ou sur les éditions précédentes.
Ça marche comment ?
Du coup, non, en fait, c'est pas un événement où on va tout faire pendant.
C'est un événement qui se prépare.
Donc c'est une compétition, mais pas...
Il faut arriver avec déjà tout de près pour la compétition.
Et du coup, la compétition est gratuite ouverte à tous.
Mais pour pouvoir participer, il faut arriver avec une attaque
et prouver un peu que ça fonctionne.
Il n'y a pas spécialement de demande de preuve,
mais si t'arrives avec un truc qui ne marche pas...
Tu aurais l'air pas reconnu.
Tu aurais fait perdre du temps à tout le monde.
Donc, à quel moment vous vous apprenez quel est le sujet,
enfin, quelles sont les épreuves disponibles,
et à quel moment vous vous dites,
ok, on va essayer de se lancer là-dedans.
Parce que, pour une entreprise, du coup, c'est un investissement.
J'imagine en temps, enfin voilà, c'est une décision à prendre,
alors que vous pouvez potentiellement rien trouver.
Et c'est souvent le cas quand on fait de la recherche en cyber.
Alors, du coup, pour le coup, nous, on a une approche un peu différente.
On l'a fait à côté de l'entreprise.
Donc le soir, le week-end, pour s'amuser.
En fait, l'objectif, c'était qu'on a des missions sur des produits.
Et on n'est pas forcément...
On ne travaille pas forcément ensemble.
Par exemple, sur les bureaux de Toulouse,
on travaille pas forcément ensemble.
Et du coup, on s'est dit, on pourrait se mettre sur cette compétition-là
pour faire des projets un peu entre nous pour s'amuser
et tenter de gagner quelque chose si on arriverait à faire.
Parce que ça prend pas mal de temps à se préparer.
Donc la compétition est annoncée 3 mois en avance.
Donc on a 3 mois avec le nom des cibles,
typiquement la Tesla,
une dose, un Virtualbox, ça peut être un peu n'importe quoi.
3 mois, c'est pas tant que ça, non ?
Et surtout que ça peut nous arriver de préparer des choses.
Et dans les 3 mois, il y a des choses qui se font pas de chez.
Ah merde !
Du coup, on...
T'as vu, j'avoue l'angoisse.
C'est-à-dire que toi, tu peux avoir sous la main une faille critique
qui actuellement dispose,
mais en fait, le constructeur s'en rend compte
et il te ferme la porte, en gros, c'est ça ?
Ça arrive tous les ans.
C'est vrai ?
Il y a des équipes qui sont obligées d'abandonner
dans les dernières semaines,
parce que leur vulnérabilité marche plus à l'épuis.
T'as une stress.
Et donc vous, vous y attenez sur l'ensemble des épreuves
ou choisissez un peu vos cibles ?
On choisit les trucs qui nous paraissent peut-être le plus simples
ou ceux où on a déjà un peu d'expérience
ou où on a envie de regarder, en fait.
On va pas se forcer.
Le but, c'est d'y aller plus pour le fun
que pour le prix.
Et du coup, on avait...
La Tesla, ça faisait déjà un an que...
Enfin, oui, ça faisait déjà plusieurs éditions
qu'elle avait été ciblée.
Et sur le reste, du coup, c'est juste parce qu'on se motivait
en interne, on s'est dit, on a envie de regarder ça
et allons-y, go.
Et en plus de ça, la compétition, ce qui est sympa,
c'est qu'on peut aller sur place, avant-couverte, participer...
Ce qu'on peut participer aussi de façon à distance,
en visio, et donc c'est un peu moins fun.
Pour faire ta démo de la King de Tesla, c'est moins marrant.
C'est moins marrant.
Et du coup, on a pu, oui, partir avant-couverte
pour aller tester ça, ça fait un petit peu de chimp.
Ah ouais, j'avoue, vous savez faire un bon projet de boîte, en tout cas.
Et donc, parmi les épreuves cette année, figure une Tesla,
est-ce que c'est la première fois que vous vous ateliez
à un projet de la King de véhicules ?
Non, déjà, on avait participé en 2022 à la même compétition
et on avait réussi, pareil, à avoir une chaîne à distance
pour rentrer dans le véhicule.
Donc on avait déjà pas mal de connaissances sur le sujet.
Et en 2022, on a quasiment passé peut-être un moment de travail
pour comprendre comment tout marche.
Parce que c'est vraiment un système qui est complexe,
qui est constitué de plein d'éléments.
Donc il faut le comprendre.
Cette année, ça a été un peu plus rapide,
vu qu'on avait déjà de la connaissance.
Oui, c'est ça. Vous vous basez sur un an de recherche.
Voilà. Et après, on balançait,
où est-ce qu'il faut regarder,
où est-ce que si on tape et qu'on trouve quelque chose,
ça va faire mal parce que nous,
on va arriver à dérouler notre chaîne, etc.
Pour chéner les vulnérabilités qu'on va trouver.
On commence à avoir un petit peu d'intuition,
on va dire, sur ce qu'il faut regarder.
T'as parlé plusieurs fois d'un truc qui s'appelle...
Donc le chénage,
ça peut paraître un peu bizarre,
parce qu'on se dit qu'une attaque,
c'est vous devez être peut-être à distance
avec une télécommande,
comme ça vous appelez sur un bouton
et, traf, vous avez du véhicule.
Mais justement, on va voir ensemble
que c'est bien plus compliqué que ça, en réalité.
Et que, en fait, quand on dit que
vous avez piraté une Tesla,
quand on dit que vous avez trouvé une vulnérabilité
dans une Tesla,
c'est pas une, en fait.
Mais c'est souvent un enchaînement de circonstance
qui vous permet, à la fin,
d'obtenir des privilèges élevés.
Avant de découvrir le début de cette chaîne-là,
est-ce que tu peux nous dépeindre un peu ?
Est-ce que t'as toi devant les yeux,
en tant que chercheur,
au moment de commencer ton hacking,
c'est quoi le système d'une Tesla ?
Dans les grandes lignes, en gros.
Déjà, c'est un peu compliqué,
parce que nous, on est spécialisés
dans la rétro-ingénierie logicielle.
Et la première chose,
il faut avoir un logiciel à se mettre sous les yeux.
Et donc, c'est assez difficile de trouver
des firmards de Tesla,
de trouver le code
pour pouvoir commencer à l'analyser.
Donc la première chose à faire,
c'est d'essayer d'obtenir ce micro logiciel.
Pour ça, ce qu'on a fait il y a deux ans,
pour l'obtenir, c'est qu'on allait
souder directement sur le PCB
d'un ordinateur de bord qu'on a acheté sur eBay,
pour aller lire les puces mémoires qu'il y a à l'intérieur,
et récupérer le micro logiciel.
Et à partir de là, on va pouvoir commencer l'étudier,
commencer à comprendre
quelles sont les différentes parties qu'il y a à l'intérieur,
commencer à voir
quelle partie il faut vraiment regarder,
parce qu'à aller exposer, par exemple,
directement accessible sur
le wifi, sur le Bluetooth, etc.
Ok, parce que quand tu parles du micro logiciel,
du coup c'est le système qui fait tourner la voiture,
du coup, ça veut dire que tu ne peux pas le télécharger
directement sur le site de Tesla.
Non, on ne peut pas.
C'est pas comme un Android ou un truc comme ça,
où tu peux juste avoir le système.
Là, vous allez du trouver un système de contournement
pour l'extraire du disque en gros, c'est ça.
Ouais.
Et ça ressemble à quoi,
ce fichier de micro logiciel,
ça ressemble à quoi ?
C'est cash-tile ?
C'est pas très gros, je crois que ça fait
dans les 2 Giga, un truc comme ça.
Ok.
Et c'est quelque chose
qui est assez connu, en fait.
C'est un Linux assez classique,
qui est très customisé, bien sûr,
mais ça reste un système classique.
En tout cas, pour
l'équipement qui fait tourner l'écran
dans les Tesla,
donc sur lequel on peut naviguer,
on peut lancer un Netflix, etc.
Ok.
Ça, c'est un système classique.
Donc Tesla a développé son OS
un peu custom pour tout ce qui est
multimedia, navigation, etc.
Cet ordinateur,
parce que c'est vraiment littéralement
un Android,
il est connecté comment, après,
avec le véhicule ?
Enfin, c'est con,
mais moi, je n'ai jamais bossé
dans l'industrie, etc.
Donc je suis très curieux de savoir
comment tout ça discute
pour faire un véhicule qui roule.
Déjà, il va y avoir un réseau assez
classique dans la voiture,
qui va être dédié aux multimedia.
Donc, typiquement,
ça va servir à l'ordinateur de bord
à accéder Internet,
à accéder au Bluetooth
et à accéder à certains autres
équipements de la voiture.
Et ça, c'est un réseau
éternet assez classique.
Ok.
Et après, il va y avoir un
périphérique réseau éternet,
un autre équipement qui est là
et vraiment plus automotive,
qui est une brique
qui va permettre de
passer de ce réseau éternet
à des réseaux qui sont vraiment
voitures.
Ok.
C'est des réseaux CAN.
C'est un truc qui existe
dans les voitures depuis très longtemps.
Et donc, on interconnait
avec un équipement en milieu.
C'est des bus de discussion, en fait,
qui permettent à tous les appareils.
Oui, voilà.
Par exemple, je ne sais pas
quand on veut activer les essuies glaces,
il y a un message qui part sur ce bus
et qui va demander
à l'actionnaire des essuies glaces
de ce matin en route.
C'est débat.
Mais en vrai, ça paraît
évident maintenant que tu le dis.
Mais du coup, ça veut dire
que si tu es albaumato,
tu peux te brancher
sur un fil qui se balade
dans ta voiture
et chopper le moment
où tu t'actives les essuies glaces
et lire le code socrin
qui déclenche les essuies glaces.
Et tu peux le rejouer.
J'imagine, après.
Oui, tout à fait.
Après, il y a des mécanismes
sur certains de choses un peu critiques
d'anti-rejoux, etc.
Mais par exemple, pour les essuies glaces,
il suffit un peu comme on ferait
sur de l'Eternet
avec pour ceux qui connaissent
T.C.P.Dame,
ce genre de choses.
On regarde les messages qui passent,
on les rejoue
et oui, ça marche directement.
Rengsage, je trouve ça génial.
Et pourtant, pour l'instant,
c'est parfaitement inoffensif
et personne ne vous donnera d'argent
si vous trouvez ça
sur votre voiture.
Ce qui est impressionnant,
c'est ce qui va suivre.
Est-ce que tu peux nous expliquer
par...
C'est quoi la brique initiale ?
Pour commencer le long périple
qui vous permettra
à la fin de contrôler la voiture.
C'est quoi le point d'entrée ?
Alors déjà, dans la compétition,
il y a pas mal de points d'entrée
qui sont définis.
Nous, on a décidé
de se concentrer
sur tous les points d'entrée
qui sont vraiment à distance.
Donc, c'est le wifi
et le Bluetooth.
Et là, cette année,
on se concentrait
sur le Bluetooth.
OK.
Et donc, il y a tout un tas
de logiciels
qui vont gérer la connexion
quand vous connectez
votre téléphone
et que vous voulez
envoyer de la musique dessus.
Et bien, il y a plein de choses
qui se passent.
Il y a plein de logiciels
qui s'activent.
Et on a cherché
des vulnérabilités dedans.
OK.
Et après, on en a trouvé une,
du coup.
Et en travaillant
avec cette vulnérabilité,
on a réussi
à gagner de l'exécution de code.
C'était dans quelle fonction
du coup qu'il y avait
ce bug ?
C'est dans la pile
qui gère le protocole Bluetooth.
D'accord, directement.
Et donc, ça,
ça te permet
d'un appareil
déclencher un premier bug
question du chat
que j'ai oublié de poser.
Mais du coup,
quand tu es en train de travailler,
tu as une Tesla à côté là,
comme ça, avec ton ordi.
Comment ça se marche ?
Non, non.
Comme je le disais de tout à l'heure,
on a acheté
un ordinateur de bord
sur les bailles.
On en trouve assez facilement.
En fait, ça doit être
des voitures accidentées
et revendre pour pièces.
Et étonnamment,
ça se démarra assez facilement.
Je vis de brancher
une allume dessus
et ça démarre.
Sans qu'il y ait le reste du véhicule ?
Sans qu'il y ait le reste du véhicule.
Alors forcément,
il y a plein de fonctions
qui ne vont pas marcher.
Mais les fonctions
multimédias de base,
comme jouer de la musique,
etc., ça marche.
Et donc,
on peut faire ces tests
sur un bureau.
Normal.
Ok, ok.
Donc, tu as un bug
dans ta discussion
Bluetooth
qui te permet de faire quoi ?
Là,
celui-là,
il permettait en gros
d'aller écrire ailleurs
en mémoire
un endroit qui n'était pas voulu,
quoi, de faire.
Et après,
il faut faire
ce qu'on appelle un exploit.
Utilisez ce petit problème
pour gagner des privilèges
plus importants
et avoir
ce qu'on appelle
l'exécution de code.
Donc finir par exécuter
nos propres instructions
à l'intérieur du processus
qu'on s'y va.
Et donc là,
très concrètement,
toi,
tu as un équivalent
d'une antenne Bluetooth
qui discute avec ton
avec ton ordinateur de bord.
T'écris au bon endroit.
T'arrives à trouver un moyen
d'exécuter ton propre code.
Qu'est-ce que ça
ouvre comme possibilité ensuite ?
Et bien après,
on se retrouve dans un processus
qui est sur les tests-là
sans deboxer.
Donc, il y a vraiment
des actions très limitées
sur le système.
Il ne peut pas faire grand-chose
parce que,
ça serait pas normal
que, par exemple,
le processus qui gère le Bluetooth
puisse ouvrir les portes
ou je ne sais pas.
Donc, on se retrouve
dans un truc qui est très limité,
qui n'a pas beaucoup d'actions.
Et c'est là
qu'il va falloir châner
avec d'autres unités
si on va aller plus loin.
On peut comparer ça
un peu
à un pain test
de réseau d'entreprise.
On trouve une première porte.
Il va falloir après,
si on veut se déployer,
faire des mouvements latéraux
pour aller attaquer
d'autres services.
Peut-être que tu as accédé
à l'ordinateur du secretariat
mais qui n'a pas grand-chose
comme droit.
Donc, il faut trouver un moyen
de pivoter, de remonter, etc.
Et puis le but de la compétition
c'est d'aller le plus profondément possible
dans la voiture.
Et donc, il y a des objectifs.
En gros, on va dire,
des drapeaux à choper
à plusieurs endroits.
Et on peut commencer
pour avoir des points.
Et qui ont des cash-press différents,
j'imagine aussi.
Et donc là, toi,
tu es à ce niveau-là.
Donc, tu as déjà réussi
à intégrer le système.
Tu es dans ton logiciel cloisonné,
dans ton processus cloisonné.
Qu'est-ce que tu fais maintenant ?
On refait un peu la même étape
qu'au début.
On va re-analyser
avec quoi ce processus,
c'est là le droit de parler.
Qu'est-ce qui nous permettrait
de gagner des privilèges
plus avancés ?
Et nous, ce qu'on a choisi de faire,
il y avait une petite interface
qui permettait à ce logiciel
de communiquer avec le noyau Linux.
Et donc, on a cherché des vulnérabilités
dans le noyau Linux.
On a pu en trouver une.
Et donc, utiliser ça,
pareil,
pour aller écrire au bon endroit
dans le noyau
et se donner des privilèges
plus intéressants.
Mais ça, c'est ouf, déjà.
C'est-à-dire que...
Donc, il y a des vulnérabilités
qui sortent sur le noyau Linux,
mais il faut se dire que le noyau Linux,
c'est un des trucs les plus
regardés.
On remonte, j'en sais pas comment dire,
mais c'est pas comme si
ils avaient leur propre version
d'un OS un peu maison
qui était peu exploré.
Le noyau Linux,
c'est disponible
à la lecture.
On peut faire
de l'analyse du code, etc.
On s'attendrait
à ce que ce soit quasi impossible
de les trouver des nouvelles failles,
mais en fait, si.
Après, Linux, c'est quand même
un écosystème qui est énorme.
Il y a énormément de drivers
pour que je l'aille à peu près
n'importe quoi.
Et donc, il y a aussi
une énorme surface d'attaque.
Une surface, oui.
Et donc, vous trouvez cette vulnérabilité
qui du coup ne concerne pas
en fait que les Tesla,
mais qui concerne
plein d'autres...
Alors peut-être que...
Potentiellement.
Peut-être que...
Ouais, peut-être que d'autres
systèmes sont impactés.
Mais je sais pas.
C'est vrai que j'ai pas pensé
au fait que si c'est des drivers,
peut-être qu'ils sont spécifiques
à un...
Ouais, tout à fait.
...du matos ultra-bizarre
que eux, ils utilisent.
Effectivement.
Bah ouais, mais je connais rien.
Donc je le découvre en même temps,
mais c'est trop intéressant.
Et donc, grâce à ça,
ça permet de passer
du processus
à...
être administrateur, c'est ça ?
Ouais, tout à fait.
On est à la base
dans un processus
sandboxé
sous un utilisateur non privilévié.
Et là, en gros,
on gagne les privilèges routes
sur le Linux.
Donc là, t'es le roi du pétrole
sur l'ordinateur de Bord.
Voilà.
Donc c'est un début.
Mais est-ce que, avec ça,
tu peux...
J'en sais rien freiner, par exemple ?
Non.
Avec ça, on va pouvoir
faire toutes les actions
qu'on peut faire
sur l'écran.
Donc sur les Tesla,
on utilise l'écran
pour, par exemple,
ouvrir les coffres,
ouvrir les fenêtres,
pour démarrer les ufi-glaces,
ce genre de trucs.
Donc ça, ouais,
tout ça, on peut le faire.
Déjà.
On peut le faire, mais par contre,
on va quand même être filtré.
Donc si la voiture va en train de rouler,
par exemple,
va y avoir des messages
qu'on n'a pas le droit de passer.
Qui seront filtrés par un autre équipement
dont on parlera après.
Et donc,
on peut faire des choses
qui peuvent potentiellement être
dangereuses,
mais qui ne sont pas critiques.
Ok.
Vous pouvez, par exemple,
énerver un conducteur
avec les ufi-glaces.
Voilà.
Pour l'instant, c'est ça l'attaque.
Je pense qu'on peut faire des choses
peut-être un peu plus risquées,
comme éteindre les feux la nuit
ou ce genre de choses.
Ouais, j'avoue.
J'avoue.
Mais pas vraiment
sur le pilotage.
Ok.
Et c'est intéressant
de voir que,
entre guillemets,
ils avaient,
enfin,
comme mesure de sécurité,
ils ont anticipé
qu'il fallait prévoir le cas
où quelqu'un devenait administrateur
de l'ordinateur de bord
et donc,
faire un premier filtre
à ce niveau-là.
Donc, il n'y avait pas un truc,
il n'y avait pas rien, quoi.
Ils avaient imaginé
que ce serait possible.
Mais vous,
vous êtes encore restreint.
Salut.
Si vous appréciez un orscore,
vous pouvez nous aider
de ouf en mettant
5 étoiles sur Apple Podcast,
en mettant une idée
d'invité que vous aimeriez
qu'on reçoive.
Ça permet de faire
remonter un orscore.
Telle une fusée.
C'est quoi l'étape d'après, alors ?
Alors, l'étape d'après,
c'est que c'est le composant
qu'il y a sur le filtrage,
là, des messages,
qui s'appellent la Security Gateway,
qui est vraiment
l'équipement qu'a une patte
sur le réseau Internet,
vers, du coup,
le système multimédia
et une patte vers
tous les réseaux automobiles
qui vont piloter
effectivement les choses.
Donc, c'est physiquement,
c'est vraiment,
c'est un petit appareil, en fait.
Chez beaucoup de constructeurs,
c'est un appareil dédié.
C'est Tesla, en fait,
c'est une puce, en plus,
à l'intérieur de l'ordinateur de bord,
qui exécute son propre système
d'exploitation,
qui fait ses propres actions
et qui même,
c'est lui, par exemple,
qui est responsable
de démarrer l'ordinateur de bord, etc.
Il fait vraiment des actions
bas niveau
sur l'ordinateur de bord.
Et donc, on reprend
un peu la même histoire.
On va prendre
le micro logiciel
de ce composant-là.
Faire de la rétro-ingénierie
pour comprendre comment il marche.
Et puis, une fois qu'on a
une vision un peu
précise de comment il marche,
on va se mettre à chercher
de l'améliorabilité
et essayer d'en trouver
et de les exploiter par la suite.
Donc là,
surtout, ce qui est particulier,
c'est que
on t'est plus sûr
ton OS
à la maison
que tu connais par cœur
ou c'est du genoux classique.
Y a quoi là-dessus ?
Là, c'est vraiment un système
vraiment particulier
à Tesla.
Enfin, il se base
sur un logiciel
qui s'appelle Off-Key
RTOS
pour le système d'exploitation.
D'accord.
Mais c'est vraiment
très, très particulier Tesla.
Là, on est dans du sombre.
Déjà tout à l'heure,
ça vous n'était pas là.
Mais là, on commence
à être dans un vraiment
très, très sombre
à base de rétro-ingénierie,
un système custom d'automobiles.
Il faut quand même,
je pense avoir
une expérience certaine
en système bas niveau
pour capter
ce genre d'architecture.
Après, vu qu'il se base
quand même sur un système
qui est connu,
qui est RTOS,
y a des briques de code source
qu'on peut trouver.
Donc, on peut,
quand on fait notre rétro-ingénierie,
quand on l'ouvre
d'un nouveau outil d'analyse,
on peut essayer de se raccrocher
des petites parties de code source
qu'on peut trouver.
Faire des ponds.
Voilà.
Donc, y a des fonctionnalités
qu'on va arriver
à identifier un peu rapidement.
Une autre base
qui nous aide,
c'est qu'on a les datasheets
du microcontroller qu'il utilisait.
Donc, on va pouvoir aussi se raccrocher
aux entrées sorties, etc.
Pour savoir,
quand on tourne sur une fonction,
essayer de comprendre ce qu'elle fait,
on a quand même
des petits trucs à se raccrocher
pour comprendre plus vite.
Ok.
Très intéressant.
Vous trouvez quelque chose,
j'imagine ?
Oui, aussi.
J'imagine que si vous avez gagné
les trucs, c'est que vous trouvez un truc.
On a trouvé quelque chose là-dedans.
Après, là, c'est un bug
qui était plus logique.
Donc, y a
ce composant-là, il fait des actions
et il s'attend
qu'il y ait des opérations
qui soient faites dans un certain ordre.
Et en gros,
en réussissant à faire
que ces opérations
ne se fassent pas dans le même ordre
et à
effectuer des actions
entre les actions qu'il a faites.
Tu l'enbrouilles, en gros.
Oui, voilà.
On a réussi
à contourner
un de ces mécanismes de sécurité
qui nous a permis
d'exécuter du code
à l'intérieur de ce composant.
C'est un gris.
Voilà.
Là, c'est bon.
Tu as accès au Canon
comme tu disais tout à l'heure.
Et il y a plus de filtres.
Là, il y a plus de filtres.
Donc, on peut mettre des messages non filtrés
directement sur les bus
qui sont connectés
aux autres équipements de la voiture
qui sont responsables d'actionner des choses.
Donc,
plein de choses-là,
c'est un peu compliqué à dire
parce qu'on n'avait pas de voiture à l'époque.
Donc, on s'arrête là
parce que, déjà,
là, c'était la fin de la chaîne
pour la compétition.
Il n'y avait rien qu'à aller plus loin.
Et on n'a pas encore pu tester
ce que vraiment on pouvait faire avec.
Ce qui est vraiment possible.
On peut, cependant,
s'imaginer que
les commandes,
des choses comme ça,
ce soit possible
ou pas sûr.
C'est dur de...
C'est dur de savoir précisément.
Ouais, enfin,
je pense probablement,
mais c'est dur de s'avancer quand même.
C'est un truc aussi critique.
En gros, la question, c'est
est-ce qu'ils ont prévu
de complètement isoler
certains commandes
au cas où ce genre de trucs arriverait
ou pas ?
C'est ça, en fait, la question.
Ouais, il peut aussi
y avoir des mécanismes de signature
sur le réseau
pour vérifier la question authentique,
etc.
Parce qu'il y a des composants
qui ont le droit de piloter,
comme l'autopilote,
mais là, c'est pas le cas.
C'est pas un composant
qui est responsable de piloter,
malgré qu'il soit connecté
sur la même...
Ah mais oui,
j'avais oublié le fait
qu'il y a de l'autopilote.
Donc, tu peux même pas
faire une barrière physique
entre le pilotage
et le software.
C'est impossible.
Enfin, je veux dire que
dans des voitures classiques,
tu pourrais te dire,
ok, tout ce qui est intelligence,
on le met partout,
mais pas sur le frein
ou sur le volant,
parce que là, c'est trop critique.
Sur une voiture autonome,
c'est impossible, en fait.
C'est le cas de beaucoup de voitures,
maintenant.
Donc, il y a quasiment
toutes les voitures qui sortent
ont du freinage d'urgence,
ce genre de choses,
et c'est des ordinateurs
qui vont prendre la décision
de freiner à un moment donné.
Donc, tant que t'as un fil
qui connecte les deux,
c'est possible.
En tout cas, théoriquement,
ça pourrait.
Ok, mais c'est hyper intéressant.
Et alors,
ton travail s'arrête ici
ou il y a encore
d'autres explorations.
Moi, je sais, moi je suis...
On ne t'en connaît pas dedans.
Non, déjà, on aimerait bien voir
ce qu'on aurait pu être capable
de faire avec ces vulnérabilités, vraiment.
Donc là, on a eu la chance
de gagner une voiture
lors de la compétition.
Donc, on va pouvoir
tester des choses.
Ça, c'est quand même un problème.
Imagine, en fait,
le challenge était de acquis
un frigo genre.
J'aurai...
J'aurai...
J'aurai...
Pas le même enjeu, quoi.
Et là, vous repartez quand même
avec une Tesla.
Et donc, vous allez pouvoir
faire joujou avec.
J'imagine que vous n'allez pas
la laisser au gage.
Ouais, ouais.
C'est un peu l'objectif.
Trop bien.
Et puis, peut-être, l'an prochain,
on va repartir sur cette compétition-là.
Et parce que c'est d'une compétition à l'autre.
T'obtiens du matériel supplémentaire.
Donc, normalement,
ton capacité d'analyse
augmente aussi.
Est-ce que les possesseurs de Tesla
doivent s'inquiéter
pour leur voiture ?
Ben moi, je dirais plutôt non.
Parce que, déjà,
nous, ce qu'on a pu voir
dans nos études,
c'est que Tesla,
c'est vraiment un bon élève
au niveau sécurité.
OK.
Les processus
sont tous sandboxés.
Il y a de multiples barrières.
Alors, oui, en passant du temps,
on arrive à faire des choses.
Mais je pense que c'est le cas
chez tous les constructeurs.
Et le gros avantage de Tesla,
c'est qu'ils ont des systèmes de mise à jour
qui sont performants,
qui sont déployés assez vite.
Et donc, quand un chercheur
remonte ce type de vulnérabilité,
ils vont être corrigés assez vite.
OK.
Toi, de ton point de vue,
qui a vu toute la chaîne,
et qui a peut-être vu aussi
d'autres attaques
un peu spectaculaires ailleurs,
ou peut-être même vous
dans votre historique,
tu dirais,
tu la claseraient comment en termes de complexité
par rapport au mieux,
du mieux qui se fait.
Est-ce que pour toi,
là, on est vraiment
dans le plus difficile que t'as vu,
ou est-ce que c'est plutôt middle ?
Enfin, tu vois,
comment tu noterais ça ?
Je dirais que les vulnérabilités
et les exploits a pris un par un,
ils ne sont pas très compliqués.
C'est ce qu'on a l'habitude de voir,
pas forcément sur des voitures,
mais sur tout est un peu similaire,
trouver une vulnérabilité et l'exploiter,
c'est tout le temps un peu pareil.
Donc ça, c'est pas fou,
mais c'est réussir à chainer tout ça
et avoir quelque chose qui marche.
Qui continue de marcher sur la durée.
C'est pas mal.
Et puis, quand on voit,
il n'y a pas beaucoup de publications
sur Tesla, mais il y en a quand même eu
en 2016, par exemple,
il y en a une,
et on voit vraiment que le système
a vraiment évolué.
En gros, en 2016, ils avaient fait
la même chose que ce qu'on a réussi à faire,
mais c'était vraiment un open bar.
Il y avait beaucoup moins de barrières
et c'était beaucoup plus facile.
Vous arrivez au moment où ça commence à scorser ?
Tous les ans, c'est normal.
Et vous estimez combien d'heures
passées sur ce projet ?
Sur la Tesla,
déjà,
en 2022, il y a passé quasiment un an,
alors c'est pas du temps plein,
on y passe du temps le soir.
Et puis, on a la chance d'avoir une entreprise
qui, quand on commence à
trouver des choses, ou avoir
l'intuition qu'il y a des choses à trouver,
on peut facilement avoir du temps dédié.
Donc, on va avoir
plusieurs semaines, si on veut,
pour continuer nos travaux, même au boulot.
Donc là, on y a passé
un an, en nombre d'heures, je sais pas,
mais c'est possible.
A plusieurs, en plus.
Vous faites le calcul, on vous laisse faire
le calcul, mais c'est bien bien.
Et cette année, c'était un peu plus court,
on s'y est pris
trois mois avant.
Et oui,
c'était juste les dos
d' dernières semaines qui ont été très intenses,
mais sinon,
En tout cas, bravo.
Et pour cette vulnérabilité,
ou plutôt cet enchaînement,
vous avez donc eu un prix de 530 000 $.
Mais, en réalité,
c'est pas tout ce que vous avez gagné.
Alors, les 530 000 $,
c'est pas que pour la Tesla, c'était pour l'ensemble.
C'est ça ?
Et le...
Sur la Tesla, je crois que c'est un peu en boulot.
Je me suis dit un peu en boulot.
Ok, d'accord, c'est ça.
Alors, parce que j'ai un chiffre de 1,35 million,
ça, c'est l'ensemble
de la compétition qui est...
C'est ça, le cash prize de la compétition, c'était 1 million.
Et du coup, c'est 1 million,
il était divisé entre tous les participants,
et nous, on en étira avec 530 000.
Ah, oui, c'est pas mal.
C'est pas mal.
Le braquage.
Ah ouais, c'est impressionnant.
Et donc, ce que vous disiez,
c'est que vous n'avez même pas présenté
qu'une seule faille lors de l'événement.
Il y en avait d'autres,
sur lesquels tu as notamment travaillé.
Est-ce que tu veux nous présenter un petit peu de quoi il s'agit ?
On quitte le monde de l'automobile,
et là, on rentre dans le monde des machines virtuelles.
C'est ça ?
C'est ça. Donc, Tesla, c'était principalement
David Vincent qui s'en a occupé.
Et ensuite, on était
4 autres collègues,
à bosser sur
des systèmes, des OS,
et sur de la virtualisation.
Avec un autre collègue, qui s'appelle Thomas aussi,
on a bossé sur VirtualBox.
Donc, une solution de virtualisation,
pour faire tourner des machines virtuelles
sur votre PC,
enfin, de faire tourner des logiciels,
de
faire un peu ce que vous voulez avec.
Donc, par exemple, on a un Nordis
ou Windows, on a besoin de tester un truc
sur une distribution Linux.
On peut créer une machine
mais virtuelle qui va s'exécuter
sur son OS haute, comme on dit.
Et il y a des enjeux
de sécurité important avec les machines virtuelles.
C'est ça, oui. Les machines virtuelles,
c'est réputé quand même étant une sandbox,
donc,
d'être protégé. Donc, tout ce qui se passe
dans la machine virtuelle ne peut pas
normalement affecter l'OS
haute. Donc, c'est
le système de la personne qui l'utilise.
Et donc,
c'est viré, c'est assez fiable.
Et c'est des logiciels qui sont
conçus et designés avec la sécurité
en tête parce qu'ils se disent
que ce que tu peux faire tourner dans ta machine
virtuelle, donc, du Linux, un logiciel,
ce qui se fait pirater, il n'a pas
quand même accès au données
de l'OS haute.
Est-ce qu'il y a, pour donner un exemple concret,
qui pourrait utiliser
une machine virtuelle
dont on ne voudrait vraiment pas
qu'elle ait des bugs ou des failles ?
Donc, il y a
surtout les cloud providers, donc,
par exemple, Microsoft,
Google, Azure,
HCP, qui, eux,
font principalement des offres
où ça va être des machines virtuelles
qui vont être fournis
aux clients et il va y avoir plusieurs clients
sur une machine physique. Et donc,
c'est un enjeu très important
les virtualisations
et les hyper-viewers, parce que
on n'a pas envie que sur un cloud
privé, un autre client
accès à tes données.
En gros, ça se trouve moi qui loue mon
VPS, je n'ai pas, à 10€
chez AWS.
Si jamais je trouvais une faille
dans leur système de machine virtuelle,
je pourrais remonter
d'un cran et aller chopper
des informations confidentielles chez
les clients, en gros. Si jamais, c'était possible.
C'est ça, oui. Donc, il y a des protections
maintenant un peu comme ça, donc, t'as des VM
qui s'appellent Shielded, donc,
même en passant sur la machine
HOT, on n'a pas accès aux données de VM.
Il y a des couches d'isolation.
Oui, ils ont rajouté des couches d'isolation, parce que, effectivement, c'est critique.
Et nous, du coup,
dans tous les cas, ça ne n'existe pas
des failles dans les VM, n'est-ce pas ?
Non, absolument pas.
Comme tout système,
surtout système complexe, effectivement,
c'est possible qu'il y ait des failles.
Et donc, c'est justement
à ça que vous vous êtes atlés,
même question, tu commences par où, quand tu veux,
trouver une faille comme ça
pour t'échapper d'une VM.
Donc là, on regarde des virtuels box,
ce qui est pratique, parce que le code source
est disponible, donc on n'a même pas besoin
de faire de la rétrogénéorie. On peut aller
directement analyser les sources
et comprendre comment ça fonctionne.
En fait, c'est surtout ça. Donc, en fait,
une machine virtuelle pour fonctionner, elle n'a pas juste besoin
d'accéder au CPU et de faire tourner
des choses dessus. Elle a besoin
d'accéder aux claviers, à la sourire,
parce que sinon, tu n'interagis pas avec ta machine virtuelle.
Elle a besoin d'accéder aussi à un faux disque
qui va contenir les données de la machine virtuelle.
Et donc, tout ça, c'est des
fonctionnalités qui vont être implémentées
dans la gestion de la machine virtuelle.
Et donc, c'est ce code-là qu'on va regarder.
On va avoir envie de
regarder ce code-là, parce qu'ils tournent
au niveau du système haute.
Du système haute, c'est ça.
Et donc, on va analyser
le code de cet
device et
dans le but de trouver un petit endroit,
un petit bug qui nous permettrait
de prendre la main.
Si je prends l'exemple de la sourire du disque dur,
à chaque fois,
l'objectif
de Virtuelbox, en l'occurrence,
c'est de bien faire attention
qui n'est jamais
d'intersection entre
les zones qui sont accessibles
par la machine virtuelle
et les zones du système ou des autres
VM. C'est ça ?
En gros, ils essaient de faire attention
que toutes les données qui viennent de la machine virtuelle
ne sont pas considérées comme étant
sécurisées.
Et donc, il faut les traiter en faisant
très attention, en limitant vérifier
deux fois ce qui est passé,
c'est leur modèle de sécurité.
Et du coup,
nous, pendant la compétition,
on a démontré une chaîne
de deux bugs
qui nous ont permis de sortir de la VM.
On avait
l'exécution de code dans la VM, donc on imagine
un utilisateur qui lance un programme
dans une machine virtuelle en se disant
« voilà, je ne fais pas trop confiance,
mais je le lance dans une machine virtuelle ».
On prend la main
et on passe directement sur sa machine
haute, s'il utilisait
Virtuelbox.
Donc, c'était de montrer la compétition,
une démonstration, et en une seconde
on a été sorti de la VM.
Très, très fort.
Si tu n'es pas obligé d'en faire un haut de niveau
détail, mais dans les grandes lignes,
c'est quoi cette de bug ?
Dans les grandes lignes, c'est de corruption
mémoire, dans le code
qui géré certains devices
qui sont par défauts sur les machines.
Donc, c'était
aussi une des proquies de la compétition,
c'est d'arriver avec un logiciel par défaut.
On peut demander des changements de configuration,
mais là, on va essayer de faire un truc
par défaut, tel quel.
Mon collègue qui a surtout principalement
embossé la suite, Thomas,
a trouvé le bug principal
qui nous a permis de
passer. Donc, c'est une corruption mémoire.
Je ne sais pas si ça vous le coûte, en très sans raison.
Non, non, non, mais c'est
l'appareil en question, c'est quoi ?
C'est le processeur virtuel ou c'est la mémoire ?
Non, c'était
un pèl-ferric, un truc particulier,
je ne sais pas si je peux trop le citer.
Très bien, il y a plein de problèmes.
C'est comme les magiciens,
il ne faut pas trop
rentrer dans le détail, non plus.
Dans le chat, j'ai absolument rien compris, c'est super.
C'est normal,
on est bien en discute de sécurité,
ne vous inquiétez pas, dans tous les cas,
il y aura la version complète, où vous aurez
toutes les explications et tout,
les détails. En tout cas, je peux vous dire que
à part cette personne qui n'a rien compris,
dans la grande majorité, les gens sont
très, très impressionnés, et franchement,
il y a de quoi.
Tout le monde dit que vous êtes grave chaud.
Donc franchement, bravo, bravo,
parce que c'est un travail titanesque.
Évidemment, vous êtes de là
pour représenter l'entreprise,
parce qu'on ne peut pas accueillir tout le monde,
mais il y a plein d'autres gens
qui ont travaillé sur ça.
Donc bravo à eux.
C'est un travail d'équipe. Comment
ça fonctionne, en général ? Vous arrivez à vous répartir
les tâches ?
C'est quoi, la manière de travailler ?
C'est plus qui a envie de regarder ça.
Typiquement,
là, j'avais une entrée sur Windows.
Donc l'objectif, c'était de
passer d'un utilisateur invité à passer
administrateur sur une machine à jour
et de Windows 11.
Et en fait, on a vu que dans les règles,
si on faisait une chaîne
avec VirtualBox,
donc si on utilisait
des vulnérabilités dans VirtualBox et dans Windows,
on avait un prix plus conséquent.
Il lui est rajouté un bonus de
20 000. Donc on s'est dit, ça peut être
marrant de démontrer la chaîne.
Et donc, je me suis dit, je vais regarder
aussi VirtualBox avec mon collègue qui faisait ça.
Et donc c'est un peu affinité,
aussi, un peu ce qu'on a envie de regarder.
Et donc on était six dans la boîte.
On parle des stratégies pour
choper les flags
dans les flags qu'il faut.
Ok, très malin.
Question du chat également. Du coup, la tune,
c'est pour vous ou pour la boîte ?
Du coup, il y a un accord
avant la compétition
où on va s'accorder
sur un partage.
Et donc c'est décidé avant.
Donc on sait pourquoi on participe.
Et donc oui, on a reçu une partie.
Excellent. Et ben,
vraiment bravo, bravo à vous.
C'était hyper intéressant.
Qu'est-ce que vous allez faire
de ce beau cadeau ?
Enfin, c'est pas un cadeau, de ce beau prix.
Vous savez pas encore.
Moi, je vais vous voir sur un voyage, je pense.
Trop bien.
Et moi, probablement faire des travaux
dans ma maison.
Un excellent usage.
Et la Tesla,
on imagine qu'elle servira.
Elle va se faire démonter probablement.
Qui aura des expérimentations.
En tout cas, on sera très curieux de savoir
si vous faites justement des nouveaux tests,
des nouvelles expérimentations.
Et merci encore d'avoir accepté de venir.
C'est vraiment
passionnant. Et c'est rare, honnêtement,
d'avoir accès
à ce niveau d'information de l'intérieur,
entre guillemets. Donc vraiment merci.