Hello everyone!

Thanks for weighing in, PaX Team.  (And thank you for the awesome you
and spender do on kernel security!)

To summarize, it seems that we have a couple different options to choose
from:

* Switch to a dedicated microkernel that does a memory wipe, and kexec
  into it.  This could be something custom, or an enhancement of the
  preexisting solution.

  Advantages are that it will (probably) give us the most clean wipe, as
  we can reduce the amount of space the kernel takes up and drop all
  functionality that's not absolutely needed.  On the negative side, it
  will require continuing to support a separate codeline that's not
  going to be reused elsewhere, limiting testing and development
  effort.  It also requires us to reenable kexec functionality, which
  exposes a risk of code injection unless we get signed kexec support.

* Rely on PAX_MEMORY_SANITIZE.  This either takes the form of enhancing
  cleaning memory on shutdown, or kexec'ing into the same version of the
  kernel that's already running to rely on the buddy allocator clearing
  everything again.

  Definite pro in that it reduces the amount of code maintained
  downstream by the Tails team to ~zero.  Cons are increased reliance on
  more complex functionality in the kernel, and potentially relying on a
  somewhat undocumented and unplanned functionality in the kernel.  (It
  seems unlikely that it'll change any time without us noticing, but
  it's possible.)

* Do it in userspace.  Add functionality into the initramfs as
  necessary to wipe memory, and simply run an abbreviated shutdown.

  This lets us not have to deal with the potential for kexec's attack
  surface, and is probably some medium amount of code between the above
  two options.  Downside is that it potentially is less reliable in
  terms of clearing memory than the other options, and is probably
  slower time-to-first-bit-erased than the other options.

Does that seem like a fair summary to everyone?  If so, which path seems
the best for us to move forward on?

-- 
Harlan Lieberman-Berg
~hlieberman
_______________________________________________
Tails-dev mailing list
Tails-dev@boum.org
https://mailman.boum.org/listinfo/tails-dev
To unsubscribe from this list, send an empty email to 
tails-dev-unsubscr...@boum.org.

Reply via email to