3 ms·
Are there also language-based approaches to defend against timing attacks? Are there languages which zero buffers/variables after use?
by qznc 11y ago
Are there also language-based approaches to defend against timing attacks? Are there languages which zero buffers/variables after use?
- schoen 11y agoI don't think those topics have been addressed in LANGSEC (although it might be easier to examine all the possible timing properties of code in a non-Turing-complete environment). An approach to the second topic is described in https://www.usenix.org/legacy/event/sec05/tech/full_papers/chow/chow.pdf https://www.usenix.org/legacy/event/sec05/tech/full_papers/c...
- qznc 11y agoThanks! The paper is interesting, but not language-based. They change runtime (more precisely libc-free) and kernel. I was thinking about something different. In C++ you could create a wrapper type (similar to smart pointers) which zeros on deallocation. However, there is the problem that the compiler could optimize the zeros away, because nobody reads those writes. So you really need language/compiler support to do this correctly and future-proof.
- vilhelm_s 11y agoThere has been some work on language-based mitigation of timing channels, e.g. http://www.cs.cornell.edu/andru/papers/pltiming.html http://www.cs.cornell.edu/andru/papers/pltiming.html and http://www.cse.chalmers.se/~russo/publications_files/ESORICS13.pdf http://www.cse.chalmers.se/~russo/publications_files/ESORICS... .