About Grégoire
French
Native or bilingual
English
Fluent
Russian
Conversational
Experience
- Université de LorraineConférencier en virologie informatique pour l'Université des Sciences et Technologie de Lorraine et le LORIAEDUCATION AND E-LEARNINGOctober 2021 - December 2021 (3 months)Vandœuvre-lès-Nancy, FrancePublic : Élèves de M2, doctorants et chercheurs au LORIAVoici le plan que j’ai suivi au cours de cette série de conférences qui se sont déroulées sur 2 mois :0-INTRODUCTION- Qui et quelles machines sont concernées par les virus/vers ?- Les virus/vers à ne pas confondre avec l’ensemble des malwares, notamment lesprogrammes 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 ver, 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 ver, 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/vers1-PROGRAMME INFECTANT SIMPLE- Une définition et des exemples- La théorie des bombes logiques- Programmation d’une bombe logique (un exemple de forkbomb et de cryptobomb)- La théorie des chevaux de Troie et de ses sous-classes- Programmation d’un cheval de Troie (machine attaquante : Linux avec un module client programmé en python, machine victime : Windows avec un module serveur programmé en C/C++)2-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 virale3-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 et assembleur sous Linux (En-tête ELF)- L’infection par accompagnement de code- Pratique : programmation d’un virus sous linux en C/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’intérêt étant faible si ce n’est unedestruction totale des données- L’infection par entrelacement de code- Pratique : programmation d’un virus sous Windows (En-tête PE) en C++- L’infection de code source- Pratique : programmation d’un virus en langage C4-LA CLASSIFICATION DES VIRUS- Virus d’exécutable- Pratique : programmation d’un virus selon les modalités vues précédemment- 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 psychologiques5-LA CLASSIFICATION DES VERSTrois grandes classes de vers sont habituellement répertoriées, même si la classification peut sembler artificielle dans certains cas.- Vers simples (Worms)- Théorie et pratique sur les buffer overflows et les techniques de protection comme le Canari, l’ASLR, et les techniques pour bypasser ces protections- Pratique : programmation d’un ver 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 (Microsoft) au choix- Vers d’e-mails- Pratique : programmation d’un vers (« inspiré » du vers ILOVEYOU) qui sera d’unepropagation fulgurante mais qui « s’éteindra » assez vite (c’est le cas d’une attaque de masse qui aujourd’hui présente peu d’intérêt en comparaison des attaques ciblés)6-LES BOTNETS- Présentation du concept de botnet (aspects algorithmiques et fonctionnels)- Pratique : programmation d’un botnet (synthèse algorithmique et fonctionnelle desdiverses 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- Sécurité des objets connectés et le ver/botnet Mirai7-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 et virtualisation- Approfondir :- La blockchain utilisée pour sécuriser les machines- L’IA et notamment le machine et deep learning8-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 blindage9-SCÉNARIOSDes scénarios d’attaque mis en placeProgrammation de virus pour iOS en Objective-CProgrammation de virus pour Android en JavaTechniques de dissimulationIngénierie sociale et autres vecteurs de propagation (failles 0-day)
- IDEMIA Identity and SecurityConsultant cyber sécuritéDIGITAL AND ITJanuary 2021 - June 2021 (5 months)Osny, FranceIDEMIA utilise aujourd'hui le RMS de Thales qui lui coûte plusieurs millions d'euros chaque année, ils souhaitent donc développer leur propre solution afin de protéger leurs licences. Le RMS ne prend en compte que les hyperviseurs VMWare et nécessite une élévation de privilèges notamment afin de récupérer des informations dans les tables DMI. Cependant mes fonctions gèrent les hyperviseurs comme VirtualBox, VMWare, Parallels, Xen, Qemu, Hyper-V et ne nécessitent aucune élévation de privilèges. Ce qui est une plus-value très intéressante. De plus il a fallu que j'étudie les différentes techniques utilisées par les antivirus comme l'analyse statique et l'analyse dynamique afin que mon programme de détection et de détermination d'hyperviseurs ne soit pas considéré comme malveillant.Sujet du projet : Le but du projet est d'implémenter des fonctions de détection de VM, ainsi que de détermination de l'hyperviseur ou containeur, d'un ID non trivial et discriminant (sans avoir des privilèges), cela concerne les différents OS Windows et Linux (deb et rpm).
- SOGETI ESECAnalyste Security Operation Center et analyste NOCDIGITAL AND ITMarch 2016 - February 2018 (2 years)Blagnac, FranceContexte général : Assurer la sécurité des systèmes informatiques et des données des clients. Identifier les attaques ciblées, enquêter sur les menaces, détecter les menaces internes, sécuriser les ressources cloud, écrire des rapports, apporter des solutions pour des grands groupes comme Renault, …Sujet du projet : Identification, investigation, détection, sécurisation (SIEM)Responsabilités occupées : Analyste N1 SOC (Security Operation Center) et NOC puis Analyste N2/N3 SOC et NOC
Recommendations
Be the first to recommend Grégoire
Help this freelancer shine by sharing your experience working together.
These freelancer profiles also match your criteria
Agatha Frydrych
Backend Java Software Engineer
4.7
(3)
2
Baptiste Duhen
Fullstack developer
4.6
(4)
5
Amed Hamou
Senior Lead Developer
4
(2)
7
Audrey Champion
Web developer
4.3
(3)
4
Education
- Doctorat en cyber sécurité et virologie informatiqueUniversité de Lorraine2020Sujet : "Détection de cyber-attaques et résilience des systèmes de contrôle en réseau via une approche combinée commande adaptative et allocation des ressources" Amélioration de la résilience des systèmes cyberphysiques face aux cyberattaques. Mise en place d'un réseau totalement sécurisé d'une flotte de robots, sécurisation à l'aide d'IDS, IPS, SIEM, pare-feu, antivirus. Création de modèles simulink Test des résultats sur une flotte réelle de robot Modélisation de SDN sur Mininet Réalisation de cours de C, de robotique et de virologie informatique pour des étudiant de Master 1 et 2.
- MSc Cyber securityMassachusetts Institute of Technology2015Theory: Algorithms, Complexity Theory, Probability in Computing Software: Object-Oriented Software Principles, Formal Methods, Programming Languages, Compilers Systems: Architecture, Operating Systems, Adv. Operating Systems, Adv. Computer Networks, Computer Networks, Performance Analysis of Computer Systems Applications: Cryptography, Machine Learning, Adv. Cryptography, Network Security, Algorithmic Aspects of Computer Networks, Adv. Databases, Data Mining, Adv. Computer Graphics, Image and Video Computing, Artificial Intelligence, Databases, Comp. Graphics