Interview Pierrick Philippe

Doctorant dans l’équipe SPICY à l’IRISA.

Sujet de recherche : La cryptographie dans les langages de programmation moderne sûre.

Peux-tu te présenter ?

Je m’appelle Pierrick Philippe. J’ai obtenu ma licence et mon master à Rennes. J’ai fait mon M1 en cybersécurité via le parcours proposé par l’ISTIC et l’EIT Digital (avec une dimension internationale). Pour mon M2, j’ai basculé sur le parcours 100% français. Cela correspond aujourd’hui au master informatique parcours cybersécurité de l’ISTIC porté par la CyberSchool.

Après avoir obtenu mon master, j’ai passé près de deux ans à travailler au ministère des Armées, mais cela ne me correspondait pas. Pendant cette période, j’étais toujours en contact avec des amis et anciens camarades de mon master qui avaient poursuivi en thèse. J’avais initialement envisagé de faire une thèse après mon master, mais je n’avais pas trouvé de sujet qui m’intéressait donc j’avais abandonné cette idée. J’ai finalement repris contact avec Pierre-Alain Fouque et Mohamed Sabt (enseignants-chercheurs de mon ancien master) pour en discuter et nous avons travaillé et défini ensemble le sujet de ma thèse.

Pierrick

Quel est ton sujet de thèse ?

Mon sujet de thèse est très large : « La cryptographie dans les langages de programmation moderne sûre ». Le sujet peut se voir comme s’inscrivant dans la continuité de la thèse de Daniel De Almeida Braga. Daniel a principalement travaillé sur un certain type d’attaques qu’on appelle des attaques par side-channel (canaux auxiliaires), qui utilise le fonctionnement des ordinateurs (plus précisément le fonctionnement des processeurs) pour inférer de l’information sur des données d‘un programme cible. Il a mis au point des attaques et évalué des bibliothèques cryptographiques qui permettent de récupérer des informations sur des éléments secrets, parce que les programmes en question ne respectaient pas certaines propriétés qui permettaient ce type d’attaque (appelées des propriétés de Temps Constant, Constant-Time properties en anglais).

Pour être considéré comme temps constant, un code cryptographique doit satisfaire trois propriétés. Il ne faut pas qu’il contienne de branchement (control-flow), d’accès mémoire ou certains types d’opérations du processeur dont la durée d’exécution n’est pas en temps constant. Il ne faut donc pas que ces différentes opérations dépendent d’informations secrètes, telles que des mots de passe, des clés cryptographiques, des vecteurs d’initialisation (par exemple pour certains protocoles ou primitives cryptographiques). Lorsqu’un programme ne respecte pas une seule de ces trois propriétés, il devient vulnérable à des attaques visant à inférer des informations sur le secret. Cela peut conduire à la récupération complète du secret ou à la baisse de la sécurité du protocole. En d’autres termes, si un attaquant peut obtenir l’ensemble des informations en une seule fois, cela signifie qu’il a accès à l’intégralité du secret et donc des données protégées.

Mon sujet de thèse porte sur la détection de ce type de vulnérabilité à la compilation. La compilation est la phase qui suit l’écriture d’un programme dans un langage informatique, comme le langage C par exemple. Le langage C est un langage historique qui date de la fin des années 70 et est assez proche d’un langage naturel, comme la plupart des langages de programmation. Cependant, les machines ne comprennent pas ce langage, et il y a donc une phase de traduction, appelée compilation, qui doit garantir que la logique du programme écrit dans le langage de programmation d’origine (par exemple le langage C) correspond à la même logique dans les instructions qui seront exécutées sur le processeur. On a besoin que la compilation garantisse que les programmes soient équivalents sémantiquement. Dans la compilation, il y a beaucoup d’analyses qui sont mises en place, pour tout ce qui est optimisation spécifique à une architecture par exemple. Il y a aussi des analyses de sécurité qui sont intégrées depuis un certain temps. Elles se concentrent notamment sur la détection de vulnérabilités qui remontent aux années 80-90.

Nous avons choisi d’inscrire notre analyse au niveau de la compilation pour sa simplicité d’utilisation, cela permettrait aux développeurs de bibliothèques cryptographiques d’intégrer facilement notre outil. Dans la littérature (terme courant qu’on utilise dans la recherche pour parler de l’état des connaissances actuelles), il existe déjà de nombreux outils conçus pour détecter ce type de problème, mais ils ne sont souvent pas ou très peu utilisés car ils sont soit trop durs à mettre en place, soit leurs résultats sont trop compliqués à analyser.

Qu’est-ce que tu préfères dans ton sujet ?

Je suis très motivé par le côté technique. Au début surtout, j’avais des difficultés à distinguer la frontière entre la technique et la recherche. Je ne fais pas une différence entre les deux ici, je pointe seulement que la recherche est plus complexe que la technique : cela demande une vision d’ensemble. Je commence peu à peu à mieux cerner l’environnement de la recherche, notamment grâce à mes échanges avec mes encadrants, qui disposent d’une grande expérience dans le monde de la recherche. Je peux donner un exemple concret : d’après mes encadrants, on se rapproche d’une contribution, tandis que moi je pensais qu’on en était encore loin.

Combien de temps dure ta thèse ?

Ma thèse dure 3 ans. Je suis en thèse universitaire avec un financement 100% public provenant de la Région Bretagne et de la DGA via le Pôle d’Excellence Cyber. Mon contrat doctoral implique 3 parties : mon employeur (qui peut être différent de l’entité d’accueil dans certains cas), mon école doctorale et moi-même. Je suis employé par l’Université de Rennes (qui est également mon entité d’accueil) et je suis inscrit dans l’école doctorale Mathématiques & Sciences et Technologies de l’Information et de la Communication en Bretagne Océane (MathSTIC), qui regroupe des chercheurs dans divers domaines, tels que les réseaux, l’électronique, la cryptographie théorique…

Comment se passe ton encadrement durant ces 3 ans ?

Il est courant d’avoir deux encadrants pour une thèse, parfois même plus. Ces encadrants ont différents statuts. Il y a une personne qui est responsable de la thèse, c’est le directeur de thèse, pour moi Pierre Alain Fouque. Le directeur de thèse doit avoir été habilité à diriger des recherches (HDR). En plus du directeur de thèse, il y a potentiellement d’autres encadrants, qui peuvent parfois provenir de l’extérieur, notamment dans le cadre des thèses CIFRE, par exemple. Mohamed Sabt est mon encadrant. La répartition des responsabilités entre le directeur de thèse et les autres encadrants peut varier, par exemple, le directeur de thèse peut avoir une implication de 25% tandis que l’autre encadrant en a 75%.

Dans quelle équipe de recherche fais-tu ton doctorat ?

Avant, il existait une grande équipe de recherche à l’IRISA nommée EMSEC, dirigée par Pierre-Alain Fouque et Gildas Avoine, qui comptait près de trente membres. Périodiquement, Inria encourage la dissolution de ces grandes équipes pour les réorganiser, pour éviter que les chercheurs restent isolés dans leurs domaines de travail et pour stimuler l’effervescence scientifique, ce qui peut potentiellement faire émerger de nouvelles collaborations et de nouveaux axes de recherche.

EMSEC a été divisée en deux équipes : CAPSULE et SPICY. Je fais partie de l’équipe SPICY, avec notamment Mohamed Sabt. Dans cette équipe, les chercheurs travaillent sur une variété de domaines : certains vont faire du formel, certains vont faire ce qu’on appelle des TMTO, d’autres travaillent par exemple sur l’aspect Privacy (vie privée et anonymisation des données), etc…

À quoi ressemble une journée type en tant que doctorant ?

Toutes les journées ne se ressemblent pas. Cela dépend notamment de la manière dont les encadrants gèrent le projet de thèse.

Chaque semaine, j’ai un point avec mes encadrants où on fixe des objectifs sur la semaine et potentiellement des objectifs sur le long terme, ce qui me permet de continuer à avancer même si j’ai déjà accompli les objectifs hebdomadaires. Ces objectifs sont discutés et peuvent être proposés à la fois par moi-même ou mes encadrants.

Mes journées sont donc variées. Je consacre du temps à la lecture scientifique pour rester à jour sur les avancées dans mon domaine et pour déterminer si certaines informations sont intéressantes pour ma recherche. Étant donné que je développe un outil, une part de mon temps est dédiée au développement. Et ensuite, il y a bien sûr les tâches administratives auxquelles on n’échappe pas.
Le domaine de la sécurité informatique étant assez prolifique, au cours de ma thèse il est attendu qu’au moins un papier universitaire soit accepté dans une conférence internationale. Ces conférences ont des deadlines pour la soumission des papiers, ce qui signifie que parfois, on a suffisamment de temps pour les préparer, et d’autres fois on rencontre par exemple des problèmes qu’on n’avait pas anticipés, ce qui entraîne parfois des gros moments de rush.

L’environnement de travail est très cool. Dans mon cas, je gère mon temps. Il y a une bonne entraide entre doctorants et une bonne cohésion d’équipe en général. On est dans un domaine où il y a très peu de compétition, ce qui rend l’ambiance de travail relativement détendu.

As-tu des obligations au cours de ton doctorat ?

L’école doctorale établit ses propres critères. En général, nous avons un volume d’heures à faire en formation scientifique et transverse. La formation transverse peut par exemple comprendre le fait de faire des formations à l’éthique scientifique, sur des méthodologies de recherche, des méthodes d’enseignement pour évoluer ensuite dans le monde universitaire… Les formations scientifiques consistent à se former sur des sujets scientifiques divers et variés, soit dans le domaine de recherche ou bien dans un autre domaine. Mais également, participé à des workshops, des conférences…

Dans mon cas, comme j’ai travaillé pendant plus d’un an avant de commencer ma thèse, j’ai obtenu une dispense de certaines formations. Il me reste simplement un critère à remplir, celui d’assister à au moins une formation en éthique scientifique.

Quelles qualités faut-il avoir pour faire un doctorat ?

Je pense qu’il est très important d’être curieux. Même si mon sujet de thèse est assez spécifique, à la frontière entre la théorie et la technique, cela ne m’empêche pas d’être intéressé par d’autres domaines qui peuvent être éloignés de ma recherche. Que je décide de continuer ou non dans le milieu académique par la suite, je suis aujourd’hui en contact avec des personnes très compétentes dans leur domaine et je trouve cela donc très enrichissant de pouvoir échanger avec eux. Discuter avec des personnes qui ne comprennent pas nécessairement ce que je fais (la réciproque est vraie bien entendu) m’aide également à avoir un regard extérieur sur les problématiques liées à ma thèse.

Il est également important de ne pas être submergé par le stress. Personnellement, je ne suis pas de nature très stressée, et pourtant je stresse. Pour ceux qui ont tendance à l’être, il faut surtout en parler, notamment avec leurs encadrants. Il existe des structures de contrôle mises en place par l’école doctorale, comme le Comité de suivi individuel (CSI), qui assure le bon déroulement du doctorat et prévient toute forme de conflit ou de harcèlement, car cela peut malheureusement arriver. J’ai la chance d’avoir des encadrants qui sont sensibilisés à la question de la santé mentale et qui sont ouverts à la discussion et très compréhensifs.

Qu’est-ce qui t’a donné envie de faire de la cybersécurité ?

J’ai toujours été très curieux. J’ai un parcours assez classique, dans le sens où ce qui m’a initialement attiré vers l’informatique, c’étaient les jeux vidéo. Je me posais des questions sur leur fonctionnement, la manière dont c’était créé. Cette curiosité m’a amené à essayer de comprendre le fonctionnement des ordinateurs, à comprendre comment les logiciels sont créés. J’ai donc commencé à développer vers l’âge de 12-13 ans. J’aime beaucoup comprendre comment fonctionnent les choses de manière générale et l’informatique est donc venu assez naturellement. Le domaine de la sécurité informatique est un domaine que je trouve particulièrement intéressant, qui force à toujours se tenir au courant des actualités, à minima dans son domaine, à toujours être en recherche de nouvelles connaissances.

Comment envisages-tu la suite de ta carrière ?

Je ne sais pas du tout. Je vois la thèse comme une expérience universitaire qui me permet d’être en contact avec des chercheurs et enseignants-chercheurs, et ainsi discuter avec eux des conditions de travail et de leurs expériences. L’enseignement m’intéresse mais je ne sais pas encore si je souhaite m’engager dans cette voie. Si je décide de poursuivre une carrière universitaire, il y a certaines étapes à suivre. Il est (très) généralement demandé de faire des post-doctorats à l’étranger, pendant un ou deux ans après la thèse. Cela permet de créer de nouvelles collaborations, de rencontrer d’autres chercheurs et éventuellement faire évoluer sa recherche vers d’autres domaines.

En ce qui concerne l’industrie privée, il y a beaucoup d’entreprises à Rennes et les CDI de Recherche et Développement embauchant de jeunes docteurs sont financés en partie, voir entièrement, par l’État pendant 2 ans.

Interview réalisée le 26/09/2023