I heard from a guy that's involved in low-level (assembler, C for drivers and OSes) programming, that meltdown and spectre weren't actually vulnerabilities discovered only so recently, but they were openly known as debug tools. It seems quite unlikely, but could anyone confirm or deny this?
3 Answers
It's not even remotely true. Although you can use a Meltdown or Spectre attack to inspect the internals of a program in the way a debugger can, a proper debugger is much faster, easier, and more reliable.
- 34,646
- 9
- 87
- 137
-
94
a proper debugger is much faster, at least a couple billion times faster. – ThoriumBR Jan 12 '18 at 13:27 -
4even though it was the first, is the most voted for and is the most brief answer, I decided to change the accepted answer to the one that is more comprehensive in my mind. Feel free to comment on this move from me, as I'm a novice regarding security. I also definitely think I just accidentally rode a wave of a popular topic, gaining as much rep points in two days as during whole 2 years of programming on Stack Overflow. – Antek Jan 14 '18 at 17:34
-
1There is a necessary distinction between a debugger and a debugging aid. It is always useful to have on chip methods to peek at what is going on. Otherwise how could we trust the marketing animations for these features? – mckenzm Jan 14 '18 at 19:36
-
3I like this answer better because it more directly and simply addresses the thrust of the question. The other one also appears accurate and goes into more detail but I fear that getting into too much detail muddies the issue and may lose some people unfamiliar with the technical terms; the fact of the matter is that the claim is not remotely true and there is an easy non-technical argument showing why. – thomasrutter Jan 15 '18 at 01:14
-
4@Antek Your question is pretty much as preposterous as "Do cows fly?". You don't need comprehensive explanation on why they don't. When challenging common sense, the burden of proof lies on the asker. You haven't provided a single hint how meltdown and spectre could be useful for debugging, so you can't expect the answerer to provide any details on that. – Agent_L Jan 15 '18 at 09:14
-
1
-
@Agent_L I agree with the question being preposterous. Regarding which answer should I accept I need to think a while about it – Antek Jan 15 '18 at 12:05
-
@Agent_L ok, what would you suggest me to do altogether? Should I delete the question (and perhaps merge it into https://security.stackexchange.com/questions/176803/meltdown-and-spectre-vulnerabilities )? – Antek Jan 15 '18 at 15:14
-
1
-
Naming the "proper debugger" would add weight to the argument. Outside of Intel nobody would have access to such a debugger? Remember we are talking about debugging the processor here, not code execution. Interesting that this cannot be suppressed or masked with microcode/firmware tweaks though? – mckenzm Jan 15 '18 at 18:33
-
@mckenzm, which debugger? All of them. Any competently-written debugger will be able to access (with proper permissions) process memory, kernel memory, and register contents; neither can (directly) access cache contents or other processor-internal state. The difference in capabilities between Meltdown/Spectre and a debugger is that Meltdown/Spectre doesn't require permission. – Mark Jan 15 '18 at 19:08
-
1@Antek By all means, do not delete this question! You wouldn't be doing anybody a favour. Yes, you did get a lot of rep due to asking a popular question... But there's nothing wrong about it, it happens all the time. Just enjoy it! Also, choosing which answer to accept is your right. The only piece of advice I'd give you is not to be hasty choosing one, especially when your question gets a lot of attention and more answers are likely to come. That's all. Welcome to Security Stack Exchange! – Fabio says Reinstate Monica Jan 15 '18 at 22:38
-
@Mark , I believe debugwire accesses on-chip states. Only SOC CPU's will have on-die process memory (SRAM) . I know of no software debugger that can track out of order execution at a physical level (pipeline view). All I have seen are animated infographics, and possibly some thermal imaging. – mckenzm Jan 16 '18 at 01:26
A normal debugger uses documented API/syscall/instruction to look at state of a process it is permitted to access. Just being a debugger alone cannot bypass OS memory protection, otherwise anyone who knows how to download stuff can gain admin access on any system.
Meltdown and spectre attacks use (previously) undocumented and unintended side-effects of certain internal processor design flaws to exfiltrate information that the attacking code are not permitted to access.
In addition, these attacks (Meltdown in particular) are not very good for debugging purposes as they can only passively observe memory on a probabilistic level. A deliberate backdoor used for debugging, e.g. JTAG on embedded systems, would allow direct and realtime memory access.
I heard from a guy that's involved in low-level (assembler, C for drivers and OSes) programming, that meltdown and spectre weren't actually vulnerabilities discovered only so recently, but they were openly known as debug tools
They may've gotten their wires crossed with another major vulnerability that was apparently recommended as a debugging tool about 1.5 months back.
The vulnerability's described in
- "macOS bug lets you log in as admin with no password required", ArsTechnica (2017-11-28),
which was disclosed in a thread on the Apple Developer Forums as a potential solution about 2 weeks before it made the news as a major security flaw:
Solution 1:
On startup, click on "Other"
Enter username: root and leave the password empty. Press enter. (Try twice)
If you're able to log in (hurray, you're the admin now), then head over to System Preferences>Users & Groups and create a new Admin account.
-response in "Updated to High Sierra, all Admin accounts now Standard", Apple Developer Forums
This vulnerability made a lot of news, and folks were cracking jokes about how it was casually disclosed as a helpful hint on the forums.
- 1,441
- 2
- 12
- 13
-
21IMO it's more likely they got Meltdown confused with the Intel vulnerability that provides a mode that provides a USB/JTAG bridge already hooked into chipset circuitry which allows an attacker to access the Management Engine directly. Even if the ME firmware has been patched to fix the password-bypass bug. – Ben Voigt Jan 14 '18 at 19:38
IDIVon the speculatively-read data and measure how long it takes, since the common implementation of integer division takes a varying amount of time depending on the numbers being operated on. The proof-of-concept attacks use the cache as their side channel because of the favorable signal-to-noise ratio. – Mark Jan 13 '18 at 00:00IDIVcan't also perform anADD), load/store units are shared, the instruction dispatcher is shared -- in a modern superscalar processor essentially everything except the instruction retirement unit is shared. – Mark Jan 13 '18 at 05:20