Lundi 21 décembre 2009
La protection SEHOP introduite dans Windows Vista et 2008 permet de protéger les applications contre les exploitations de buffer-overflows classiques. Celles-ci consistent en général à écraser non seulement une adresse de retour, mais aussi la structure SEH gérant les exceptions provoquées par l'application, dans le but de rediriger le flux ...
Classé dans Reverse Engineering, Sécurité informatique, Windows | Commentaires fermés
Mardi 14 juillet 2009
L'architecture x86 possède des subtilités parfois méconnues de beaucoup de développeurs. En effet, il existe une instruction assez spéciale, RDTSC, qui renvoie le nombre de cycles d'horloge depuis le démarrage du processeur. En 2007, un chercheur d'IBM présente au Black Hat une technique de hook basée sur cette instruction. En ...
Classé dans Linux, Reverse Engineering, Sécurité informatique | 4 commentaires »
Jeudi 30 avril 2009
Tous les développeurs de drivers et les reversers kernel vous le diront : quand on touche au noyau Windows d'un peu trop près, on a le droit à un écran bleu de la mort, ou BSOD (Blue Screen Of Death). C'est justement parce que je me suis pris un tas ...
Classé dans Reverse Engineering, Sécurité informatique, Windows | 6 commentaires »
Samedi 28 mars 2009
Mon stage m'a donné l'occasion d'analyser en détails comment un appel système est réalisé sous Windows. Si vous vous demandez comment un programme utilisateur (ring 3) fait pour appeler une fonction s'exécutant en mode noyau (ring 0), alors cet article est pour vous. J'y explique toutes les étapes de la ...
Classé dans Reverse Engineering, Windows | 8 commentaires »
Mercredi 25 mars 2009
J'ai commencé mon stage il y a maintenant une dizaine de jours chez Thomson R&D à Cesson-Sévigné. Comme prévu, mon stage a pour sujets principaux le reverse-engineering et le développement de drivers. Pour être plus précis, le but du stage est de réaliser un conteneur sécurisé de données. Autrement dit, ...
Classé dans Projets, Reverse Engineering | 5 commentaires »
Vendredi 25 juillet 2008
J'ai récemment eu la volonté de comprendre plus en détails comment Linux parvient à résoudre les symboles (tels que les fonctions) liés dynamiquement dans les programmes. Ne disposant pas d'Internet et n'ayant pas les sources du noyau sous la main, il a fallu faire avec les moyens du bord : ...
Classé dans Linux, Reverse Engineering | 14 commentaires »