5 ms·
I wonder how the Apple M1 hardware stacks up. I don't know if they are vulnerable to any existing Spectre attacks but surely they are still using speculative ex
by aftbit 6y ago
I wonder how the Apple M1 hardware stacks up. I don't know if they are vulnerable to any existing Spectre attacks but surely they are still using speculative execution and thus have to be aware of similar side-channels.
- mhh__ 6y agoCould someone with an M1 try and run some Spectre gadgets? Obviously read the source first but there are a few implementations of the basic ones on GitHub, not sure about the higher versions of spectre (I don't know whether CVE's require an implementation to be published). If I can find I'll link a paper that describes a system to try to automatically characterize these types of side channels.
- ljhsiung 6y agoIncredibly doubtful. Current attacks are, by this point, pretty well understood. One can simply "check off the list" of attacks and simulate the code gadgets to see what happens (EDIT: e.g. https://github.com/IAIK/transientfail https://github.com/IAIK/transientfail provides a SoK with simple PoCs). In other words, I'm positive that no "script kiddie" can exploit any silicon using current attacks, not just the M1. * The more difficult/interesting problem is being future-proof to whatever else undiscovered. Many Spectre attacks are heavily timing based, and even a single cycle variation in pipeline stages or flushing structures will spawn a new variant (see, MDS vs. Spectre). This is actually partially why a current trend in hardware research is trending towards fuzzing-type stuff [1]. Something also worth noting is that it's incredibly difficult to quantify "leakage". There's a pretty big difference between vulnerable and exploitable-- e.g. original Spectre papers had 10KB/s of kernel dumping, which is a big reason it was scary, but would it really be a big deal if it had <1b/s? Not going to explicitly name and shame, but there've been a handful of reasonable high profile "vulns" with cute domain names that I'm shocked to even see accepted at conferences due to how contrived the exploit was and tiny their leakage rates were. I personally don't really know how to address the quantification problem, but I very much think it's necessary in any discussion of a bug's impact/severity. Definitely gets exhausting when every cute name gets a headline, and it's easy to blow things out of proportion without some grounding in reality. * NOTE: I do think script kiddies have their place still. Definitely important to have automation to determine whether a system has updated security [2], it's just that I doubt such a scenario is applicable to Apple. [1] https://www.usenix.org/conference/usenixsecurity20/presentation/moghimi-medusa https://www.usenix.org/conference/usenixsecurity20/presentat... [2] https://owasp.org/www-project-top-ten/2017/A6_2017-Security_Misconfiguration https://owasp.org/www-project-top-ten/2017/A6_2017-Security_...
- eloff 6y ago> I'm positive that no "script kiddie" can exploit any silicon using current attacks, not just the M1. * Oh, do tell how spectre is solved. I would love to know, defending against it is a real problem I currently have. If you allow untrusted code to execute on your machine (e.g. JavaScript) then you're vulnerable to it. There are no practical attacks in the wild that I'm aware of, and it's tricky to do, but it's not impossible and the only defense really is to make it harder and more time consuming. This is the approach that I and others have taken.
- ljhsiung 6y agoRun this [1]. If it works, flush your caches or just update your kernel. If it doesn't, you checked off an item on your list. I misspoke, silicon should be more like "system". Said it in this comment more about silicon fixes https://news.ycombinator.com/item?id=25665276 https://news.ycombinator.com/item?id=25665276 [1] https://gist.github.com/anonymous/99a72c9c1003f8ae0707b4927ec1bd8a https://gist.github.com/anonymous/99a72c9c1003f8ae0707b4927e...
- eloff 6y agoI don't think you understand spectre. Defending against a single POC is not the same thing as defending against this class of side channel vulnerabilities. Also your references to flushing caches and updating the kernel underlines to me that you don't know what you're talking about.
- ljhsiung 6y ago>> One can simply "check off the list" of attacks >> The more difficult/interesting problem is being future-proof
- eloff 6y agoI feel like you're not communicating well here. What does checking an attack off your list mean to you? If it means you're safe from it now and in the future, then obviously you're wrong. I feel like that's a strawman and not your actual argument though.
- raxxorrax 6y agoI think there still aren't any spectre/meltdown attacks, just proof of concepts. On my home PC I might deactivate mitigation since I rarely execute unknown code. On the other hand CPU power isn't really a bottleneck for me. It is a memory leakage problem and in the world of today with apps stealing info left and right, I am almost unsure if I should care about it that much. Maybe attackers might be able to steal a key here and there, but I managed to stay quite cool when the architectural flaws were published. I believe I saw a demonstration about the M1 not being affected by these side channel attacks, but I have no source.
- fareesh 6y agoIs it possible to attack via JS/WASM through the browser? That's pretty much the only unknown code I am running.
- marcosdumay 6y agoIn theory, yes, it should be possible. But I don't think anybody managed to, due to the amount of noise the browsers sandboxes add into the necessary syscalls.
- kllrnohj 6y agoThat's not true at all. Some of the first proof of concept attacks were done in JS. Now the question would be are those attacks still viable given the additional hardening browsers have done independent of the kernel mitigations?
- benibela 6y agoThat is why I got NoScript when the attacks were discovered Although many pages do not work with it, so I disable it quite often I wonder if it is possible to activate the mitigations only for the browser? Or only for one user? I have created a separate user for the browser, so it cannot change my actual files
- kllrnohj 6y agoAlmost certainly the M1 is still "vulnerable" to the same attacks that other current gen CPUs are. The M1 is of course a speculating CPU (and quite a deep one at that), and there doesn't appear to be any rollback for modifications to L1/L2 during that speculation when a branch miss occurs.