4 ms·
Maybe some future architecture will allow software to tell CPU which regions it considers to be secret from the point of view of each other region. Something l
by Pelam 9y ago
Maybe some future architecture will allow software to tell CPU which regions it considers to be secret from the point of view of each other region.
Something like that could allow the CPU to speculate agressively while preventing information leak exploits.
- jacobolus 9y agohttps://millcomputing.com/docs/ https://millcomputing.com/docs/ e.g. the most recent talk https://millcomputing.com/docs/threading/ https://millcomputing.com/docs/threading/
- Pelam 9y agoSomething like the portal calls and "turfs" described in there could help.
- pwg 9y agoThe CPU hardware already has that feature. It is the VM paging system and the permissions assigned thereto. The bug here is that the CPU is not aborting the speculation when fetches occur to addresses marked as "access denied". Instead the fetch happens and a line of normally inaccessible memory is put into cache by code that should not be able to get it read into the cache normally. One hardware fix would be to plug that hole. Speculative reads get blocked when they encounter permission denied errors from the paging system and do not change the cache state. That blocks the Meltdown attack, but not the Spectre attack.
- Pelam 9y agoI thought about that too... AFAIK currently paging system is not generally accessible to userland programs like browsers. They would need some way to setup different contexts for untrusted javascript code and the internal services that the javascript can call. Also maybe the context switching would need to be made faster, because you would need to do that whenever eg javascript calls browser interfaces.