▲ | pandalicious 3 days ago | |||||||||||||||||||||||||||||||||||||
>The presence of EMTE leaves Spectre V1 as one of the last avenues available to attackers to help guide their attacks, so we designed a completely novel mitigation that limits the effective reach of Spectre V1 leaks — at virtually zero CPU cost — and forces attackers to contend with type segregation. This mitigation makes it impractical for attackers to use Spectre V1, as they would typically need 25 or more V1 sequences to reach more than 95 percent exploitability rate — unless one of these sequences is related to the bug being exploited, following similar reasoning as our kalloc_type analysis. Did they ever explain what that mitigation does? | ||||||||||||||||||||||||||||||||||||||
▲ | saagarjha 3 days ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||
▲ | sfink 3 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||
Nope. I don't know why just checking the tags during speculation wouldn't stop Spectre V1, at least for cross-type accesses? I mean, it's not that simple because your program won't crash if speculation has mismatched tags. Which means you can try as many times as you want until you get lucky. But that's certainly not a "completely novel mitigation", so I'm sure I'm missing something obvious. Perhaps the real problem is that you can use speculation to scan large amounts of memory for matching tags, some of which would be different types, so you need something to handle that? (talking out of my butt here) | ||||||||||||||||||||||||||||||||||||||
|