As long as we're getting efficiency cores and such, maybe we need some "crypto cores" added to modern architectures, that make promises specifically related to constant time algorithms like this and promise not to prefetch, branch predict, etc. Sort of like the Itanium, but confined to a "crypto processor". Given how many features these things wouldn't have, they wouldn't be much silicon for the cores themselves, in…
Isn't that the entire point of the secure enclave[1]? https://support.apple.com/guide/security/secure-enclave-sec5...
GoFetch: New side-channel attack using data memory-dependent prefetchers
61–70 of 100 posts
Re: GoFetch: New side-channel attack using data memory-dependent prefetchers
#62Earlier quoted context omitted.
It is significantly less complex yet without compromising anything. This means a larger portion of a chip's design effort can be put elsewhere such as into preventing side channel attacks.
I don't really see how the design of RISC-V avoids the need to have a DMP
Because it does not. I also do not see where, if at all, such claim was made.
Re: GoFetch: New side-channel attack using data memory-dependent prefetchers
#63> Can the DMP be disabled? > Yes, but only on some processors. We observe that the DIT bit set on m3 CPUs effectively disables the DMP. This is not the case for the m1 and m2. Surely there is a chicken bit somewhere to do this?
I’ve often wondering how are these bits set? Like can you do it from Swift? Or need assembly?
Re: GoFetch: New side-channel attack using data memory-dependent prefetchers
#64Earlier quoted context omitted.
I don't really see how the design of RISC-V avoids the need to have a DMP
>I don't really see how the design of RISC-V avoids the need to have a DMP Because it does not. I also do not see where, if at all, such claim was made.
Re: GoFetch: New side-channel attack using data memory-dependent prefetchers
#65Why does every attack needs its own branding, marketing page, etc...? Genuine question.
Why does the comments of every such attack need a question about why it has its own branding, marketing page, etc…? Genuine question. (Seriously, this comes up every time, just do a search for it if you actually want to figure out why.)
Re: GoFetch: New side-channel attack using data memory-dependent prefetchers
#66Re: GoFetch: New side-channel attack using data memory-dependent prefetchers
#67The end result of these side channel attacks would be to have CPUs that perform no optimizations at all and all opcodes would run in the same number of cycles in all situations. But that will never happen. No one wants a slow CPU. As long as these effects cannot be exploited remotely, it's not a concern. Of course multi-tenant cloud-based virtualization would be a no go.
And that's why I'm not as worried about this as I was about the same vulnerability in Intel chips a few years ago.
There are a few cloud service providers that will rent you clock cycles on a rack-mounted Mac Mini, but not many, and even then they're for highly-specific workloads or build tasks. I suppose that's a problem for people paying far out the butt for that kind of service, but the vast majority of Apple Silicon devices are never, ever going to host cloud services.
Re: GoFetch: New side-channel attack using data memory-dependent prefetchers
#68Earlier quoted context omitted.
How is RISC-V going to solve anything here?
It is significantly less complex yet without compromising anything. This means a larger portion of a chip's design effort can be put elsewhere such as into preventing side channel attacks.
Re: GoFetch: New side-channel attack using data memory-dependent prefetchers
#69As long as we're getting efficiency cores and such, maybe we need some "crypto cores" added to modern architectures, that make promises specifically related to constant time algorithms like this and promise not to prefetch, branch predict, etc. Sort of like the Itanium, but confined to a "crypto processor". Given how many features these things wouldn't have, they wouldn't be much silicon for the cores themselves, in…
Isn't that the entire point of the secure enclave[1]? https://support.apple.com/guide/security/secure-enclave-sec5...
Presumably latency for any operation is also many orders of magnitude higher than in-thread crypto, so that just doesn't work for many applications.
Re: GoFetch: New side-channel attack using data memory-dependent prefetchers
#70Earlier quoted context omitted.
I’ve often wondering how are these bits set? Like can you do it from Swift? Or need assembly?
It's probably in a MSR accessible from the kernel?
The kernel would have to be aware of it in order to be able to restore its state across context switches though, unless it's part of a set of registers that is automatically persisted. But given that Apple is publicly documenting this flag, I suppose it is.
Here's an interesting conversation by the Go developers from as early as 2021 being suspicious of DIT: https://github.com/golang/go/issues/49702