LSE Winter Day - 12 février 2013

Lieu et plan d'accès

Amphithéâtre 4, EPITA, 24 rue Pasteur, 94276 Le Kremlin-Bicêtre.

Transports en commun : métro 7 (station Porte d'Italie), bus 47/125/131/185/186 (station Roger Salengro-Fontainebleau).

Plan d'accès

Système

Reverse engineering et émulation d’un microcode DSP - Pierre Bourdon

10h00 10h45

Les DSP sont des processeurs spécialisés dans le traitement de signaux de tous types : Software Defined Radio, mixage et filtrage audio, téléphonie (baseband), etc. De ce fait, ils contiennent de nombreuses fonctionnalités originales, telle que de la parallélisation au niveau de l’exécution d’une instruction ou la présence de nombreux registres spécialisés. Cette conférence parlera du reverse engineering de code pour ce type de processeur, des techniques utilisées pour l’analyser, et de l’implémentation d’un émulateur reproduisant les fonctionnalités du DSP. Slides Video Youtube

Introduction à GDB Python - Pierre-Marie de Rodat

10h45 11h15

Lors du debugging d’un programme, on est souvent amené à faire des choses automatisables, comme afficher les différents éléments d’une liste chaînée, compter un certain nombre d’événements, … GDB permettait déjà de créer des scripts avec un langage dédié, mais depuis la version 7, il est possible de scripter GDB en Python. Nous verrons un bref aperçu de l’API disponible, de la mise en place d’un script et de quelques exemples. Slides Video Youtube

DWARF : lorsque le compilateur passe la main au debugger - Pierre-Marie de Rodat

11h30 12h15

Les debuggers de programmes natifs comme GDB ou DBX reçoivent des informations du compilateur qu’il faut habituellement générer explicitement (option -g, …). Ces informations permettent, depuis un certain état du processus, de faire le lien avec les sources du programme, et ainsi retrouver les lignes de code exécutées, les fonctions appelées, la valeur et le type des variables disponibles, et bien d’autres. DWARF est un format utilisé par les compilateurs pour passer de telles informations : nous verrons quelles formes prennent les informations de debugging et leur utilisation par les debuggers. Slides Video Youtube

Écriture d’un driver pour contrôleur ethernet Intel e1000 - Ivan Delalande

12h15 12h45

Pour pouvoir communiquer avec le réseau local ou Internet, la première étape pour un système d’exploitation est d’interagir avec le contrôleur ethernet de la machine. Le développement d’un driver permettant la communication avec un tel contrôleur sera présenté en prenant pour exemple le contrôleur e1000 d’Intel et en présentant les particuliarités du développement d’un driver pour un composants connecté par bus PCI. Slides Video Youtube

Sécurité

Unpacking tips and tricks - Samuel Chevet

14h30 15h15

Souvent, lorsqu'on est amené à étudier des logiciels, des jeux ou mêmes des malwares, on ne peut pas faire du reverse engineering sur les exécutables directement. La plupart du temps, ceux-ci sont compressés ou chiffrés avec le code pour décompresser ou déchiffrer au sein d'eux-même, et tout ce processus se fait de façon transparente aux yeux de l'utilisateur.

Nous verrons ce que ce sont ces packer, les choses a connaître pour les déjoueur, ce qu'est la reconstruction d'imports, la redirection d'api, les stolen bytes, les nanomites ou encore d'autres methodes utilisées par ces protections pour faire perdre du temps aux personnes qui ont envie d'étudier les executables en question. Slides Video Youtube

Applications des solvers SAT en sécurité - Pierre Bourdon

15h15 15h45

Depuis des décénies, des chercheurs et programmeurs implémentent des logiciels dans le but de résoudre le problème de satisfaisabilité d’une formule booléenne (généralement appelé SAT) : chercher un ensemble de valeurs possibles pour les variables d’une formule afin que cette formule soit vraie. Ce problème n’a pas de solution rapide dans le cas général : il s’agit d’un problème NP-complet. De nombreuses simplifications peuvent cependant être utilisées pour le rendre rapide dans les cas usuels. SAT a de nombreuses applications en sécurité, de l’analyse statique de code à la recherche de préimages d’une fonction de hachage. Nous verrons pendant cette conférence comment réduire une recherche de préimage à la résolution de SAT sur une formule représentant une fonction de hachage, et quelques outils permettant de simplifier l’écriture de cette formule. Slides Video Youtube

Exploits réseau dans les jeux - Samuel Chevet, Clément Rouault

16h00 16h45

L’exploitation logicielle ne cesse d’augmenter de nos jours : Java, Flash, et Adobe Reader sont actuellement les vecteurs d’attaque les plus utilisés, mais est-ce que ce sont les seuls ?

Les serveurs de jeux sont eux aussi vulnérables, et étant donné la population de joueurs sur Terre, serait-il intéressant d’étudier certains de ces logiciels pour trouver des vulnerabilités ?

Durant cette conférence nous parlerons d’outils developpés pour aider à la recherche de vulnérabilités ainsi que de leur exploitation. Slides Video Youtube

Réalisation d’un keylogger USB - Nicolas Hureau

16h45 17h15

Après une présentation du fonctionnement de l'USB, nous nous intéresserons aux Human Interface Devices, et plus particulièrement au clavier, dans le but de réaliser un keylogger. Slides Video Youtube