printf(3) : ras la pile !
Je rêve d’un jour où la sécurité ne sera plus une option. J’ai donc commencé à mettre au point le modèle CDI [1] [2] : une architecture Harvard modifiée qui dédie un troisième espace d'adressage indépendant pour la pile de contrôle. Ce n'est pas la solution à tous les problèmes, mais ça y contribue beaucoup ! Pour preuve, un exploit récent divulgué à pwn2own [3] aurait facilement été stoppé par ce mécanisme. Mais cet exploit me sidère par son vecteur d'attaque que j’ignorais jusque-là : l'incontournable printf(3). Quand votre librairie standard inclut l’équivalent d’une machine de Turing, pour dynamiquement parser ou afficher du texte, ce n'est plus de l’idiosyncrasie mais de l'idiotie.