[RFC] [PATCH] Support explicit_bzero, memset_s, memzero_explicit, or similar.

Paul Eggert eggert@cs.ucla.edu
Mon Dec 15 21:30:00 GMT 2014


On 12/15/2014 09:35 AM, Rich Felker wrote:
> None of these solve the problem, because the compiler is free to have
> copied part of all of this buffer into other temporary storage on the
> stack or registers.

Yes, this is not something that can be solved just at the C library 
level.  It's a big problem, that requires OS and compiler support (and 
maybe even hardware support).  See, for example, Anikeev et al's paper 
on secure garbage collection 
<http://dx.doi.org/10.1016/j.jisa.2014.10.001> or Chow et al's classic 
paper on shredding one's garbage 
<https://www.usenix.org/legacy/event/sec05/tech/full_papers/chow/chow_html/>. 
<http://dx.doi.org/10.1016/j.jisa.2014.10.001>

By the way, shouldn't one set memory to a random bitpattern rather than 
simply clearing it?
<http://dx.doi.org/10.1016/j.jisa.2014.10.001>



More information about the Libc-alpha mailing list