PROJET AUTOBLOG


Sebsauvage-Shaarli

source: Sebsauvage-Shaarli

⇐ retour index

Security, security! But do you test it?

vendredi 9 novembre 2012 à 09:08
[www.viva64.com]
Oh.... alors ça je ne savais pas.
memset() est souvent utilisé pour effacer des segments de mémoire pouvant contenir des données sensibles (clés crypto, etc.)... sauf que les compilateurs, en optimisant, peuvent sous certaines conditions décider de supprimer les instructions memset() (!).

C'est très mauvais du point de vue sécurité. Or c'est justement le problème dans TOR: Des infos ne sont pas effacées de la mémoire.

Et je suppose que l'attention portée au fichier d'échange (swap) n'est pas suffisante non plus: Combien de développeurs de solutions de sécurité pensent à marquer les segments de mémoire comme non-swappables, afin d'éviter qu'ils se retrouvent écrits sur disque ?
cf. https://www.securecoding.cert.org/confluence/display/seccode/MEM06-C.+Ensure+that+sensitive+data+is+not+written+out+to+disk