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. ;-)