Bug: sensitive data written to insecure memory

Florian Weimer fw@deneb.enyo.de
Wed Apr 4 16:30:05 2001


Werner Koch <wk@gnupg.org> writes:


> But seems that it cannot be done easly in Linux. You have to watch
> out for very masty race conditions.
This is an issue only with the simple-minded approach of swapping to an encrypted block device. A clean integration of swap encryption in the swapping/paging code shouldn't have this problem. This is probably still a lot of work because usually, the implementation of such services is scattered over several files in the Linux kernel. [A few minutes later.] Well, I've looked at the code and it's not very promising. The swapper code just passes the swap-in/swap-out request via the file system/buffer cache to the block device layer. There's no hook for an encryption/decryption routine. *sigh* Maybe it's time to have a closer look at the Hurd.
> With a properly designed kernel these problems can be minimized.
> Not that easy with a one process kernel consisting of 2.6 million
> LOC (2.2.19) ;-)
2.2.x is not very problematic in comparison with 2.4.x, since the latter introduces more fine-grained locking (and additional race condition potential). OTOH, I'm the last person claiming the Linux kernel is a maintainable piece of software. ;-)