Incendie du Datacentre FICloud

Charpentier A., De-Pontac C., Le Bohec R., Miralves T., Naulin A., Rataud Q.

← Incendie du Datacentre FICloud · 1ère étape - groupe 4 / Irrégularités dans le système de contrôle / 4e étape : Intrusion Physique / 3e étape - Reverse qui pourra

3e étape - Reverse qui pourra

Vous avez pu identifier les températures suspectes des GPU: l'heure est venue

d'investiguer les causes de ces défaillances.

Malgré les ravages de l'incendie, vous trouvez une baie assez épargnée par les

flammes contenant un serveur toujours en état de marche. Pour investiguer les

causes logicielles, vous décidez d'effectuer un cliché de sa mémoire.

Saurez-vous trouver les causes des températures falsifiées des GPU du datacentre

sur ce serveur?

Cote 90 pts

Indices

Il est possible que certaines versions de volatility renvoient une erreur avec le dump mémoire, mais les versions 2.11.0 ou 2.27.0 devraient fonctionner.

Faire son rapport

En regardant les processus en exécution dans le cliché mémoire, on identifie que
la machine possède des cartes graphiques Nvidia et appelle un programme pour
obtenir la température de ceux-ci.

On remarque que ce dernier utilise dlopen et dlsym pour récupérer des fonctions
d'une bibliothèque dynamique précise au lieu d'être lié dynamiquement avec elle.
La présence de libnvidia-ml.so.1.orig dans l'espace mémoire du
processus laisse penser que la bibliothèque pourrait avoir été remplacée.

À partir de la bibliothèque dynamique libnvidia-ml.so.1, on découvre que la
fonction chargée de retourner la température ouvre un fichier, lit et décode
son contenu, calcule la température à partir de celui-ci et met à jour le
fichier: il s'agit d'un compteur du nombre d'utilisations du binaire permettant
de générer des températures différentes mais avec une progression logique.

Enfin, en se basant sur la fonction de décodage de la bibliothèque, on peut
obtenir le nombre d'appels à la fonction.