J
Joanna Rutkowska
blog.invisiblethings.org · Personal blog · on HN since 2015
Joanna Rutkowska, founder of Qubes OS, writes about low-level system security, x86 hardware attacks, and trustworthy laptops.
What HN saysHN commenters call it a gold mine on hardware-software security and say her x86 and stateless laptop papers are eye-opening, especially on Intel's Management Engine.
67HN people shared it
46linked it in comments
30stories submitted
1.0Kstory points
6 months agolast shared
2015people per year2026
Most-shared posts
- 1A survey of attacks against Intel x86 over last 10 years (2015) [pdf]26 people · 111 points · first shared 2015 · 40 comments on HN
- 2State Considered Harmful – A Proposal for a Stateless Laptop11 people · 382 points · first shared 2015 · 103 comments on HN
- 3Intel x86 considered harmful – survey of attacks against x86 over last 10 years8 people · 276 points · first shared 2015 · 169 comments on HN
- 4State considered harmful – A proposal for a stateless laptop (2015) [pdf]8 people · 5 points · first shared 2016 · 1 comments on HN
- 5Converting untrusted PDFs into trusted ones: The Qubes Way (2013)7 people · 144 points · first shared 2015 · 45 comments on HN
- 6Anti Evil Maid (2011)5 people · 1 points · first shared 2018 · discussion on HN
- 7Linux security circus on gui isolation5 people · first shared 2016
- 8Thoughts on intels upcoming software3 people · first shared 2015
- 9My New Git-Based Blog2 people · 1 points · first shared 2018 · discussion on HN
- 10Thoughts on intels upcoming software2 people · first shared 2015
- 11Homepage2 people · first shared 2015
- 12Security challenges for the Qubes build process1 people · 64 points · first shared 2016 · 17 comments on HN
- 13Qubes OS 3.1 has been released1 people · 6 points · first shared 2016 · discussion on HN
- 14Introducing graphene-ng: running arbitrary payloads in SGX enclaves1 people · 3 points · first shared 2018 · discussion on HN
- 15Compromise recovery on Qubes OS: individual VMs and full system cases1 people · 3 points · first shared 2017 · discussion on HN
What HN people wrote when they linked it
etiam · 2024-04-06
You can read about how it doesn't (can't)? https://blog.invisiblethings.org/2015/10/27/x86_harmful.html
But their recommended hardware makes it pretty clear Qubes should preferably be run on open firmware and with ME as broken as reasonably possible (as has already been pointed out in the discussion here).
BlueTemplar · 2019-09-25
Oh yeah :
- Before Snowden, if you spoke about these issues, you were dismissed as paranoid.
- After Snowden, if you dismiss these issues, you are dismissed as hopelessly naive...
Oh, also - considering all this - you can bet that Intel's Management Engine has likely been backdoored by the NSA, so using Intel's processors is not recommended, especially if you're a non-US company... (industrial espionage !)
https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf
magnat · 2017-11-19
Joanna's (Qubes OS Founder) blog [1] is a gold mine when it comes to hardware-software boundary security. Especially "State considered harmful" [2] and "x86 considered harmful" [3] papers are eye-openers.
[1] https://blog.invisiblethings.org/
[2] https://blog.invisiblethings.org/papers/2015/state_harmful.pdf
[3] https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf
vog · 2017-11-10
For a very good explaination on that topic, see the following 32C3 presentation:
"Towards (reasonably) trustworthy x86 laptops"
https://media.ccc.de/v/32c3-7352-towards_reasonably_trustworthy_x86_la…
Also, the paper by the author is worth a read:
"State considered harmful - A proposal for a stateless laptop"
https://blog.invisiblethings.org/papers/2015/state_harmful.pdf
moppl · 2016-12-04
Just to give an idea of how bad the stuff is with the IME, I recommend reading up Chapter 4 here:
Intel x86 considered harmful by Joanna Rutkowska
https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf
The IME is basically a second computer inside your computer, running as the most privileged component on the platform. It has privileged access to all components of the system, and runs as long as the computer is plugged in or has battery (even if it the computer is switched off). It is under the control of Intel, they decide what the IME does, and it can use the NIC as it pleases, unnoticeable for the host system. It can not be disabled, switched off or removed. The rootkit researcher Rutkowska described it as "an ideal rootkiting infrastructure".
eloy · 2016-09-13
It's a shame that ME can't be removed or disabled on modern Intel CPU's. Same goes for AMD and maybe companies that implement something like ME in ARM. OpenSPARC is quite dead, sadly enough.
Highly recommended read about x86 security: http://blog.invisiblethings.org/papers/2015/x86_harmful.pdf
The author of this paper is also the developer of Qubes OS. They recently added another requirement to laptops who are 'Qubes certified': they must run Coreboot. It's not Libreboot yet, but that is a huge leap forward for x86 security. Hopefully this will trigger vendors to make their hardware Coreboot compatibile. It won't do anything about Intel ME, but it is a step in the right direction.
I ordered a Thinkpad x200 to flash it with Libreboot last week, just to have at least one device without any malware (in RMS sense)
floatboth · 2016-06-17
Well, the Pi blob can be replaced… almost… soon…
https://news.ycombinator.com/item?id=11703842 / https://github.com/christinaa/rpi-open-firmware
Not a ready drop-in replacement yet, but running ARM code with access to the SD card and the UART console is possible!
edit: By the way! The Pi loads all the firmware from the SD card — no reflashable memory on the board AFAIK – which would make it excellent from the "State considered harmful" perspective http://blog.invisiblethings.org/2015/12/23/state_harmful.html
kriro · 2016-06-16
Joanna Rutkowska has written a nice paper on the topic, highly recommended: http://blog.invisiblethings.org/papers/2015/x86_harmful.pdf
Edit:
There's also a talk from 32c3 for those more inclined to watch a video. I am pretty worried ever since I watched that: https://www.youtube.com/watch?v=rcwngbUrZNg
(which is why I have researched non-Intel laptop alternatives..cliffnotes: GPUs without BLOBs are hard to find and there will be some severe tradeoffs which is expected)
aexaey · 2016-05-24
Completely agree with your sentiment. Just one small nit-pick: Intel doesn't use SPARC, but a much more obscure, less documented, and very proprietary ARC core [1, 2 & 3]. Ostensibly it was chosen due to having some excellent low-power modes.
[1] http://en.wikipedia.org/wiki/ARC_%28processor%29
[2] http://www.eetimes.com/document.asp?doc_id=1248611
[3] http://blog.invisiblethings.org/2015/10/27/x86_harmful.html
dang · 2015-10-27
In this case the same submitter posted two versions of the story:
http://blog.invisiblethings.org/papers/2015/x86_harmful.pdf
http://blog.invisiblethings.org/2015/10/27/x86_harmful.html
Not a great approach; one ought just to pick the better of the two, which in this case is the html, because it gives more background, loads faster, and links to the pdf.
General remark: I doubt that we'll make the dupe detector sophisticated enough to catch a case like this, but I do think we'll add software support for users to identify dupes when they see them. That's what happens informally already (as you all did in this thread, and by flagging the other post) so the shortest path to better deduplication for HN seems to be: write software to make community contribution easy. Also I kind of like the idea of giving a karma point to the first user who correctly links a given pair of posts.
tptacek · 2015-07-28
Joanna Rutkowska is hardcore low-level Intel platform security, which in her case involves a tour of the guts of Intel chipsets: http://blog.invisiblethings.org/
ropman76 · 2015-07-28
her overview of SGX is worth the read (at least for me)
http://blog.invisiblethings.org/2013/08/30/thoughts-on-intels-upcoming…
higherpurpose · 2015-02-19
This is exactly why Intel's upcoming SGX worries me greatly, too. NSA could get the "key" to all SGX machines and therefore to all applications using SGX to secure themselves properly (ironically enough) [1].
Intel really needs to figure out how to protect the SGX system against such a key robbery, and not by promising to only give access to a couple of employees in the whole company who know a very special hand-shake. Intel needs to modify the SGX system in such a way that you don't have to trust Intel (or anyone hacking Intel) to keep the key secure, even if that means the company not giving itself access to SGX at all (which includes not having the ability to update it).
[1] - http://blog.invisiblethings.org/2013/09/23/thoughts-on-intels-upcoming…
upboundspiral · 2026-02-27
The problem with laptops is that UEFI is a shadow operating system that keeps running after boot, with a bunch of security vulnerabilities. Furthermore all Intel / AMD chips have a microprocessor state called SMF which if you trigger it basically gives you carte blanche to do whatever you want.
"Trusted Boot" is a meme on x86. If you really want something like that you need to do what Oxide Computer is doing and rip out UEFI for good and implement your own secure boot chain.
Qubes is great but at the end of the day cannot protect against evil maid attacks to the level that pixel or apple phones can. Its great at making sure a browser exploit cannot steal your banking credentials you have open in a different virtual machine but cannot overcome the limitations of the platforms it builds off of.
So I understand why the GrapheneOS folks do what they do.
See also: "X86 considered harmful" by the founder of Qubes OS (posted in 2015!)
https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf
fsflover · 2023-01-02
Qubes is not just an abstraction. Its isolation allows to overcome the problem of fundamentally insecure software. For example, my passwords are stored in an offline VM (where I don't run any apps) and my random internet browsing occurs in a disposable VM (which is reset every time).
Yes, Qubes does not solve the problems like Spectre and Meltdown. Yes, you must trust your hardware to use it. If you are looking to solve such problem, then you might be interested in a stateless laptop: https://blog.invisiblethings.org/papers/2015/state_harmful.pdf.
Apart from that, I believe, the best computing paradigm is free software and free hardware, but it does not seem too widespread now unfortunately. This would be the actual solution. The "behemoth companies" are not trying to solve computer security. They are trying to get as much profit as possible, and it goes against security of the users. This is why they are not supporting free software.
My current "good enough" solutions are disabled and neutralized ME in a laptop and Librem 5 phone.
codemusings · 2019-02-26
> - ME can't actually be disabled completely according to Qubes OS founder Joanna.
In case you're referring to her article titled "Intel x86 considered harmful"[1] it's worth noting that she only speculated the following:
> A large part of the ME firmware is stored on an SPI flash chip, which admittedly could be reprogrammed using a standard EEPROM programming device to wipe all the ME partition from the flash. But this approach does not have a good chance of succeeding. This is because the processor itself contains an internal boot ROM [37] which is tasked with loading and verifying the rest of the ME code. In case the bootloader is not able to find or verify the signature on the ME firmware, the platform will shutdown.
However, if I understand correctly, that's exactly what Youness Alaoui[1] at Purism did.
[1] https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf
[2] https://puri.sm/posts/deep-dive-into-intel-me-disablement/
mtgx · 2016-11-08
The same can be said about a "trusted" OS like say Qubes OS, with untrusted hardware, like Intel's. Actually, that's what the developers of Qubes OS and other "free" operating systems have said as well.
http://blog.invisiblethings.org/2015/10/27/x86_harmful.html
https://www.fsf.org/blogs/licensing/intel-me-and-why-we-should-get-rid…
If anything, I'm more frustrated with the Signal team that the app doesn't have as good call quality/performance as WhatsApp, nor does it have video call support, and that the Chrome desktop "app" doesn't seem to import my phone contacts for some reason - all of which is making me continue to mostly use less secure and less trusted alternatives.
My point is we should aim for getting things "more secure" constantly, and I think we have in the past few years. So rather than just say "what's the point?", we should say "let's put more pressure on X company to open source/prove their system is secure" and hope that in time enough pressure is built that those companies actually agree to do those things.
And since I was talking about putting pressure on companies, let me start:
Where the hell is Google's End-to-End tool? It hasn't had any commits in over half an year, and we already know NSA's bestie, Yahoo, has given up on it. Should we start drawing some conclusions about the Google/NSA relationship, too? Did Google abandon the project?
https://github.com/google/end-to-end
There - who's next?
peter_d_sherman · 2026-05-01
An interesting set of ideas!
The broader concept seems to be "ephemeral environments", which is related to sandboxing, which is in turn is related to testing/debugging...
Related:
https://github.com/topics/ephemeral-environments
https://blog.invisiblethings.org/papers/2015/state_harmful.pdf
transpute · 2025-07-06
pabs3 · 2025-06-12
I wish the hardware industry went more in the direction of the State Considered Harmful paper:
https://blog.invisiblethings.org/papers/2015/state_harmful.pdf https://www.qubes-os.org/news/2017/07/08/toward-a-reasonably-secure-la…
defrost · 2023-07-14
Understandable - I pulled it down through a Qubes sandbox and the Convert to Trusted PDF tool
https://blog.invisiblethings.org/2013/02/21/converting-untrusted-pdfs-…
weinzierl · 2023-07-11
I used it when I worked as a hiring manager. For this task it is ideal. All the behavioral security measures, like only to open attachments from people you trust, break down when your job description is basically to figure out who you can trust.
Qubes comes with a "Convert to trusted PDF" out of the box. Joanna Rutkowska explained how it works under the hood pretty nicely[1]. The tldr is that it is very thorough. With Qubes it is convenient too.
I used Qubes to open the application mails and their attachments and converted the interesting ones to trusted PDFs which I then forwarded to the relevant people. All further communication was only with the trusted versions.
[1] https://blog.invisiblethings.org/2013/02/21/converting-untrusted-pdfs-…
hlandau · 2023-05-07
The claim that SMM is measured by (Intel) DRTM is interesting. Do you have any details on that? To my knowledge Intel was trying to solve this issue using the concept of an 'SMM Transfer Monitor (STM)' not simply by measuring the SMM environment [1]. But it's been 8 years since [1] was written so if you have links to more current information, it'd be welcome.
[1] https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf#page=16
its-summertime · 2023-05-06
EM isn't needfully a targeted attack: almost everyone is running x86_64
it'd just be a matter of replacing a binary with a iffy'd version that runs before any decryption happens, e.g. replacing plymouth.
This isn't hard to do in the slightest? I think even you or I could do it.
But with secureboot, replacing a binary in the loading chain isn't an option.
I don't think I could convince intel to install a bug for me.
https://blog.invisiblethings.org/2011/09/07/anti-evil-maid.html is a good descriptor of how it all comes together
segfaultbuserr · 2021-01-02
QubesOS has a "TrustedPDF converter" [0] that sanitizes a PDF to the extreme level for ultimate security - it converts the entire PDF to RGB pixmaps in an isolated virtual machine. The author has a blog post at [1]. Obviously you lose the ability to use the menu, search, copy or paste, but it's as 0day-proof as you can get for a horrifying file format.
[0] https://github.com/QubesOS/qubes-app-linux-pdf-converter
[1] https://blog.invisiblethings.org/2013/02/21/converting-untrusted-pdfs-…
tgragnato · 2020-12-24
Rutkowska wrote various posts about it. She does not answer your question directly and precisely, but provides considerations that make clear why she considers Qubes' approach an improvement over the status quo.
On Formally Verified Microkernels (and on attacking them)
- https://blog.invisiblethings.org/2010/05/03/on-formally-verified-micro…
The Linux Security Circus: On GUI isolation
- https://blog.invisiblethings.org/2011/04/23/linux-security-circus-on-g…
I think she had other posts on another blog as well, but unfortunately I don't remember the address. And I don't know if it still exists.
DINKDINK · 2020-09-02
also see git-based blogs (strong publisher authentication via pgp signing commits)
https://blog.invisiblethings.org/2015/02/09/my-new-git-based-blog.html
https://laanwj.github.io/about/
efp · 2018-10-24
21 · 2018-08-17
No, the OS cannot do that, because an attacker will replace your OS with a compromised one which lies to you that everything is peachy.
https://blog.invisiblethings.org/2011/09/07/anti-evil-maid.html
s_gourichon · 2018-03-19
Good point. Nowadays, keylogging the master password is AFAIK easier for an attacker than tracing processes. This is still current: https://blog.invisiblethings.org/2011/04/23/linux-security-circus-on-g…