[Cryptography] Secure erasure in C.

Henry Baker hbaker1 at pipeline.com
Sun Sep 11 09:54:01 EDT 2016


At 03:08 PM 9/10/2016, Christian Huitema wrote:
>The good news is that mainstream compilers support something like "#pragma optimize(off)", allowing to turn off optimization for a specific code segment.
>
>Bracketing the erasure routine with such pragmas should ensure that it erases as intended, at least as far as C is concerned.

I know of no "#pragma optimize(off)" for the operating system, the disk drive caches, or the CPU caches.

The "split I and D cache" hack allows the CPU to execute one stream of instructions, while displaying (via the D cache) a completely different stream of instructions to anyone who is trying to understand what instructions are being executed.

Using Jacob Torrey's TLB-splitting technique, one can arbitrarily change what is being executed, *no matter what the programmer wrote*.

See Jacob Torrey "MoRE Shadow Walker: TLB-splitting on the Modern x86"

https://www.blackhat.com/docs/us-14/materials/us-14-Torrey-MoRE-Shadow-Walker-The-Progression-Of-TLB-Splitting-On-x86-WP.pdf

http://www.youtube.com/watch?v=yrFqaF-gd0g



More information about the cryptography mailing list