Quelques nouvelles pour les quelques lecteurs de ce blog qui doivent se demander si j'ai perdu les clés de la cave dans laquelle je me suis enfermé. Première nouvelle, non je ne suis ni dans une cave ni enfermé mais je n'ai pas trouvé le temps d'écrire un billet avant aujourd'hui. Je me suis replongé dans le dev d'exploit sous linux en me donnant pour objectif de gérer la plupart des protections userland (heap hardening, -fstrack-protector-all, ...) et kernel (ASLR, NX, et autres, en commençant par les fonctionnalités de base du noyau 2.6, puis en continuant avec ExecShield et Pax). Dans le même temps, l'actualité récente m'a poussé à m'intéresser de plus près aux vulns kernel.
En parallèle, je garde toujours un oeil sur la programmation fonctionnelle, notamment Haskell. Je profite de mes travaux en exploitation de vuln userland et kernel pour écrire du code concret et je l'espère utile en Haskell. Pour l'instant c'est du python ou un peu de ruby (metasploit), langages très appréciés par la communauté sécurité à côté des chers dinos que sont le C et le perl. Néanmoins je pense que ces travaux autour de la sécurité se prête bien à la programmation fonctionnelle et l'écriture de DSLs. Un projet intéressant était mosvm présenté par Wes Brown au DefCon et au HITB de 2006.Il consistait en l'exécution distante de processus dans une VM Lisp. C'est dans la continuité :
- de mosdef de Dave Aitel
- du syscall proxying (kudos à Core Security)
- des méthodes antiforensics de Grugq Remote Exec et Pluf et Ripe complétées par les travaux de Kad et Samuel
- de meterpreter (et j'espère bientôt de meterpretux car meterpreter est windows only)
- et d'autres projets.
Pas mal de choses intéressantes à faire en perspective :). Je vais d'abord continuer ce que j'ai commencé et saisir les opportunités d'écrire du haskell quand elles se présentent.
Pour finir, j'avais parlé du redesign de ce blog. Je me suis dit que c'était l'occasion de migrer vers un moteur de blog écrit en python et pourquoi pas - à tous hasard - reposant sur django. J'ai regardé ce qui se faisait, tenté de construire sur le django-blog de basic apps et au final je me suis rendu compte que j'avais besoin de vraiment comprendre chaque élément et de pouvoir facilement les modifier. Je m'en suis vraiment rendu compte quand j'ai commencé à écrire une classe et des outils pour importer ce blog depuis dotclear2. J'ai alors décidé de ré-écrire un moteur de blog pour mes besoins. Dans un sens, c'est dommage, car ça répartit les efforts au lieu de les concentrer sur quelques projets, mais je prend ça comme un projet perso sans ambition autre que répondre à mes besoins et sans vouloir faire un moteur de blog de plus comme dotclear ou wordpress.
