Live data from Hacker News

Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

raspberrypi.org

211–220 of 232 posts

Re: Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

#211
The best comment made on that blog post was by Eben himself:

"One almost wishes that they’d stuck with the original name for the KPTI patchset: Forcefully Unmap Complete Kernel With Interrupt Trampolines.

https://www.theregister.co.uk/2018/01/02/intel_cpu_design_fl... "

Now that's funny!!!

Re: Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

#212
post #207

Earlier quoted context omitted.

Shouldn't that protect against Spectre?

If I understand it correctly, Spectre only works within a single address space.

Well... I never expected one part of my process not to be able to peek into what the others are doing.

Re: Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

#213

Earlier quoted context omitted.

I doubt that any CPU manufacturer is going to go first in crippling its memory subsystem. I think realistically the only safe and not completely performance crippling workaround will be, at the very least, to run any untrusted code under a separate address space (assuming that the cpu is immune from meltdown). That doesn't necessarily require a full blown separate process, but something like memory protection keys mi…

Yeah, i don't disagree at all. Something like this what i meant by "cooperation" (lfence or equivalent for code that can't be isolated but must be protected) + "weird abstractions" (IE back to segmented land we go)

Forgot about segments! Time to resurrect them on x86-64 cpus?

Re: Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

#215
post #207

Earlier quoted context omitted.

If I understand it correctly, Spectre only works within a single address space.

Well... I never expected one part of my process not to be able to peek into what the others are doing.

One example would be malicious Javascript - or WebAssembly - strolling through your browser's memory looking for passwords to send home to the mothership. Or other sensitive information, like credit card numbers and so forth.

Re: Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

#216
post #209

Earlier quoted context omitted.

> can anyone tell me why the accessibility check for protected memory doesn't happen before the cache loads the contents of RAM? From what I understand, it does happen on AMD, which is why AMD CPUs are not vulnerable to the more dangerous Meltdown attack (any code reading kernel / hypervisor host memory). Intel / ARM delays the checks until later, to the time when the speculated instructions are actually finalised an…

> This means that all sorts of sandboxing methods for javascript interpreters, bytecode interpreters, plugin architectures, etc are insecure. I just now understood the impact of Spectre. It is not just that all existing attempts to execute code in a sandbox are vulnerable. For CPUs with this problem, it is literally impossible to create a secure sandbox. We certainly live in interesting times...

I'm still wrapping my head around Spectre. To me it does seem possible to create a sandbox secure against Spectre, but you have to recompile every program with retpoline to mitigate variant 2 and run in a separate process to mitigate variant 1. This way even if something breaks in a sandbox it will be able to see something else only from similar broken sandboxes, but not from other programs. Although there is a possibility of other side channel attacks.

(hoping for someone to correct me if I'm wrong)

Re: Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

#217
post #168

Earlier quoted context omitted.

Branch prediction is neither new nor modern. Modern state of the art design doesn't actually do branch prediction in hardware at all. I mean look at all the ideas from VLIW architecture, no hardware - no problems.

You're being pretty silly by zeroing in on the word modern and then using an equally silly redefinition of it yourself. Branch prediction isn't new, you're right. But VLIW instructions are equally unmodern and are entirely orthogonal to speculative execution. Sufficiently smart compilers are also no substitute for runtime analysis.

My CS book (Bryant and O'Hallaron, 2003, p. 399) says Control Data 6600 in 1964 was the first processor w out of order executuon, considered exotic until RS/6000 by IBM in 1990/PowerPC 601 in 1993.

Re: Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

#218
post #215

Earlier quoted context omitted.

Well... I never expected one part of my process not to be able to peek into what the others are doing.

One example would be malicious Javascript - or WebAssembly - strolling through your browser's memory looking for passwords to send home to the mothership. Or other sensitive information, like credit card numbers and so forth.

It's clearly a mistake to make all these different programs from different sources share a single security context.

Re: Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

#219

What would finally bring this all together to me would be an example of a real world attack that would be carried out using these methods on some target, perhaps with an implementation.

Since it was an industry effort to find the flaw, and they are vulnerable to the threat they've exposed, it would seem at odds to their interests (and my own) to provide you or anyone else with an example of how to exploit it.

And I'll offer that if you're not capable of demonstrating it after reading Eben's description of how it works than there is no good reason for you to have an example handed to you.

If you think you are capable I'll offer your time would be better spent working on fixes.

Re: Why Raspberry Pi Isn't Vulnerable to Spectre or Meltdown

#220
post #167

Earlier quoted context omitted.

You shouldn't be comparing plain text passwords anyway. You should be using a secure password hash, such as bcrypt, sure, you should use constant time comparison, but in this specific case, it won't really make you vulnerable to use normal comparison.

Normal comparison is bad even if you are comparing hashes. Letting the attacker figure out the password hash allows them to attempt to crack the password through an offline brute-force attack running on GPUs.

I don't understand how this can be an issue. This is usually what happens:

> User enters password > PW gets hashed > Hash gets compared to the DB

I don't know of any same system that would allow you to compare a hash to a hash? Unless you have access to something you shouldn't, in which case it doesn't matter anyway, because you can probably just read the hashes.

Post reply on HN