Enregistreur de clavier Projet ROSE 2003 F.MENARD (Mastère) F.VILLOING (2CC)
Projet ROSE Keylogger 1.Cahier des charges Système autonome sur le port PS2 d’un PC Indépendant du systèmeIndépendant du système Enregistrement des caractères tapés au clavier Décodage du flux PS2Décodage du flux PS2 Enregistrement dans une mémoire externe (I2C)Enregistrement dans une mémoire externe (I2C) Restitution des caractères Contraintes: Détection de séquences (mots de passe, adresses web…)Détection de séquences (mots de passe, adresses web…) Reprogrammation in situReprogrammation in situ Taille réduite (CMS…)Taille réduite (CMS…) Système de menuSystème de menu
Projet ROSE Keylogger 2. Systèmes existants Vendus par des boutiques d’articles d’espionnage Prix: entre 80 et 300 euros Mémoire: entre 8ko et 4Mo Ressemble à ça:
Projet ROSE Keylogger 3. Architecture Clavier PS2 PC Microcontrôleur PIC16F876 EEPROM I2C (8ko) Alimentation +5V tirée du bus PS2
Projet ROSE Keylogger 4. Le Bus PS/2 Bus série synchrone à 4 fils: Clock (entre 15 et 30kHz) et DataClock (entre 15 et 30kHz) et Data Alimentation: +5V et Masse (sert à alimenter notre circuit)Alimentation: +5V et Masse (sert à alimenter notre circuit) Protocoles différents pour PC->Clavier et Clavier->PC Protocole (vers le PC):
Projet ROSE Keylogger 4. Travail effectué Schéma + PCB d’un prototype avec Eagle Microcontrôleur PIC (1MHz, 8ko, I2C…)Microcontrôleur PIC (1MHz, 8ko, I2C…) LED pour le debugLED pour le debug Programmation In situProgrammation In situ Programmation en C Utilisation de C2C CompilerUtilisation de C2C Compiler Codage de fonctions de baseCodage de fonctions de base Lecture / écriture sur bus PS2 Lecture / écriture en EEPROM interne
Projet ROSE Keylogger 5. Difficultés rencontrées Beaucoup de temps perdu: Compilateur C très pauvre en documentationCompilateur C très pauvre en documentation ne reconnaît pas certaines syntaxes du C n’indique pas d’erreur Problèmes liés au port PS/2:Problèmes liés au port PS/2: Reboot du PC à chaque essai logiciel (plantage clavier) Des caractères inconnus passent sur le bus Debug difficile Impossible d’utiliser la mémoire externe Sûrement un problème logiciel mais quoi????Sûrement un problème logiciel mais quoi????
Projet ROSE Keylogger 6. Améliorations à apporter Faire fonctionner la mémoire externe!!! Détecter les séquences mots de passemots de passe adresses webadresses web Coder un bootloader: Programmation directe par le port PS2Programmation directe par le port PS2 Plus besoin de programmateurPlus besoin de programmateur Réduction du nombre de connecteurs (donc de surface)Réduction du nombre de connecteurs (donc de surface) A faire après la résolution des problèmes sur le bus PS/2A faire après la résolution des problèmes sur le bus PS/2 Le must: ajouter un algorithme de compression
Projet ROSE Keylogger Démonstration… …questions?