4 ms·
Singularity heavily relies on capabilities. What if accessing the current wall clock time was a zealously guarded capability? I wonder what percentage of apps c
by milkey_mouse 7y ago
Singularity heavily relies on capabilities. What if accessing the current wall clock time was a zealously guarded capability? I wonder what percentage of apps could function with no access to (real time) timers at all, or an extremely granular one?
I can't find a link at the moment, but I recall a paper showing even a very granular clock will suffice for Spectre exploits, albeit with lower bandwidth. Also, something else would need to be done about multithreading, as an application could always just spin up another thread counting as fast as it can to make a poor man's timer.
- Legogris 7y ago> I can't find a link at the moment, but I recall a paper showing even a very granular clock will suffice for Spectre exploits, albeit with lower bandwidth. The linked article mentions this and the linked paper gives some references: https://gruss.cc/files/fantastictimers.pdf https://gruss.cc/files/fantastictimers.pdf
- Klathmon 7y agoI may be wrong, but isn't there an almost unlimited amount of ways that you could determine wallclock time? Any kind of networking access can get it (with enough samples, you can get some crazy precision over even the most inconsistent networks), and really any kind of I/O could be abused when combined with another exploits. And if your permissions system doesn't allow I/O, is there really a lot that your program can do?
- da_chicken 7y agoYou don't even need networking. If you can create a temp file, you can probably get the creation or modified time on the file.
- monocasa 7y agoHell, you can make a passable timer for these purposes as long as you have two threads. No need to leave your process.