Professeur de mathématiques et informatique Collège, Lycée, CPGE
Présentation
Titulaire d'un diplôme d'ingénieur centralien en théorie mathématique de la cryptologie, et professeur particulier de mathématiques et d'informatique depuis plus de 10 ans.
Fondateur d'une start-up dans le domaine de l'informatique / cryptographie.
Publication d'un livre intitulé "Tout savoir sur les réseaux à confiance zéro".
Diplômé de l’École Centrale Lille, ingénieur généraliste, spécialité mathématiques appliquées.
Réalisation de nombreux rapports sur la virologie informatique.
J'ai fait une classe préparatoire scientifique aux Grandes Écoles (MPSI, MP*) au Lycée Faidherbe.
Autres :
J'écris actuellement un livre sur les virus et les vers informatiques pour les éditions ENI.
Les domaines (et les niveaux) des mathématiques étant nombreux, n'hésitez pas à venir discuter de vos attentes. Voici les niveaux et les domaines que j'enseigne :
- Préparation au Baccalauréat et au brevet ;
- préparation aux concours des grandes écoles ;
- algèbre ;
- analyse ;
- géométrie ;
- probabilités ;
- théorie des jeux ...
J'enseigne également la cyber sécurité.
Les sous-domaines de la cybersécurité étant nombreux, n'hésitez pas à venir discuter de vos attentes. Voici les domaines que j'enseigne :
- Tests d'intrusion (pentesting) ;
- analyse de code malveillant (rétro ingénierie) ;
- sécurité applicative ;
- sécurité web ;
- sécurité des réseaux ;
- conception de programmes infectants simples (bombes logiques, chevaux de Troie) ;
- conception de programmes autoreproducteurs (virus, vers) ;
- conception d'outils de sécurité (du simple scanner de ports à un antivirus complet).
Méthodologie
Je me permets de donner des informations sur la manière dont j'aborde mes cours :
Bien entendu je prépare mes cours en fonction des attentes de l'élève. De cette manière si des rappels de cours sont nécessaires, ou même revenir sur un cours en entier, je le partage sous forme de diapositives, je n'omets pas les démonstrations de cours qui apportent énormément tant sur la compréhension du cours que sur la méthodologie à adopter face à un exercice/problème. Ces cours sont ensuite fournis à l'élève, je me permets également de réaliser des fiches des formules essentielles à retenir pour qu'elles rejoignent la table de chevet de l'élève. Je fournis également des méthodes pour résoudre les différents problèmes, en expliquant quelle méthode choisir pour une meilleure résolution du problème. Nous réalisons également des exercices d'application directe du cours puis la résolution de problèmes entier ensemble, à la suite de cela je fournis des travaux à la maison, que je corrige sur mon temps libre, puis nous y revenons si certains points n'ont pas été compris.
Je précise également que j'utilise un Remarkable 2 qui me sert de paper board pour les démonstrations ainsi que pour la résolution des exercices/problèmes.
En ce qui concerne la cyber sécurité, voici un exemple de plan que je suis généralement avec mes élèves de virologie :
INTRODUCTION
- Qui et quelles machines sont concernées par les virus/vers ?
- Les virus/vers à ne pas confondre avec l’ensemble des malwares, les programmes infectant simples
- Un virus est un programme qui s'autoreproduit au sein d’une machine, il duplique par exemple son code dans certains types de fichiers (binaires, scripts, documents (PDF, doc, etc.), librairies, secteurs de démarrage, ...)
- Un vers lui s'autoreproduit sur plusieurs machines. On ne fait aujourd’hui plus de distinction pourtant lors de la conception d’un virus ou d’un vers, il est important de connaître ce qui les distingue.
- Qu’est-ce qu’une infection informatique ?
- Avant d’étudier ces programmes autoreproducteurs, il nous faut étudier les programmes infectant simples qui sont généralement des charges finales d’un virus/vers
PROGRAMME INFECTANT SIMPLE
- Une définition et des exemples
- La théorie des bombes logiques
- Programmation d’une bombe logique (un exemple de forkbomb, cryptobomb)
- La théorie des chevaux de Troie et de ses sous-classes
- Programmation d’un cheval de Troie (machine attaquante : Linux, machine victime : Windows)
VIRUS/ VERS
- Les cycles de vie d’un virus ou d’un vers
- La structure générale d’un virus
- Le premier point à étudier est donc la procédure d’infection virale
LES DIFFÉRENTES MÉTHODES D’INFECTION VIRALE
- L’infection par ajout de code
- Pratique : programmation d’un simple virus en Bash puis programmation d’un virus en langage C sous Linux (En-tête ELF)
- L’infection par accompagnement de code
- Pratique : programmation d’un virus sous linux en C qui exploite la hiérarchisation des
chemins de recherche d’exécutables
- L’infection par recouvrement de code
- Pratique : programmation d’un virus en Bash
- L’infection par entrelacement de code
- Pratique : programmation d’un virus sous Windows (En-tête PE)
- L’infection de code source
- Pratique : programmation d’un virus en langage C
LA CLASSIFICATION DES VIRUS
- Virus d’exécutable
- Pratique : programmation d’un virus selon les modalités vues précédemment (Je laisse le choix du format cible)
- Virus de documents
- Pratique : programmation d’un macro virus en VBA
- Virus de PDF (théorie et pratique)
- Les virus de démarrage
- Pratique : programmation d’un virus pre-bios en Assembleur
- Les virus comportementaux
- Pratique : au choix, virus résident, virus binaire, rétrovirus, virus lent, virus rapide
- Les virus psychologiques
LA CLASSIFICATION DES VERS
Trois grandes classes de vers sont habituellement répertoriées, même si la classification peut sembler artificielle dans certains cas.
- Vers simples (Worms)
- Pratique : programmation d’un vers utilisant un débordement de mémoire tampon (Buffer Overflow)
- Macro vers
- Pratique : programmation d’un vers se propageant via des documents OpenOffice (Open Source) ou Office (Windows) au choix
- Vers d’e-mails
- Pratique : programmation d’un vers (« inspiré » du vers ILOVEYOU) qui sera d’une propagation fulgurante mais qui s’éteindra assez vite (c’est le cas d’une attaque de masse)
LES BOTNETS
- Présentation du concept de botnet (aspects algorithmiques et fonctionnels)
- Pratique : programmation d’un botnet (synthèse algorithmique et fonctionnelle des diverses techniques de codes malveillants vues précédemment)
- Présentation d’un modèle optimisé de botnet (hérité du modèle de réseau peer-to-peer)
- Pratique : programmation et test de la validité opérationnelle à l’aide de simulateurs
AMÉLIORER NOS VIRUS : 1 – ÉTUDE DES PRINCIPES DE DÉTECTION
- Lutte contre les infections
- Techniques antivirales statiques - Recherche de signatures virales
- Analyse spectrale
- Analyse heuristique
- Contrôle d’intégrité
- Techniques antivirales dynamiques - Surveillance comportementale
- Émulation de code
AMÉLIORER NOS VIRUS : 2 – LES TECHNIQUES ANTI ANTIVIRALES
- La furtivité
- La gestion de surinfection sans être détecté
- Le polymorphisme
- Le métamorphisme
- Échapper à la détection dynamique en utilisant des techniques de détection de VMs et de containers
- Le blindage
SCÉNARIOS
Des scénarios que nous mettons en place ensemble