Live data from Hacker News

State considered harmful: A proposal for a stateless laptop (2015)

blog.invisiblethings.org

51–60 of 68 posts

Re: State considered harmful: A proposal for a stateless laptop (2015)

#51
post #43

I think I must be missing something fundamental. As far as I can tell, the core notion is to move all laptop firmware to an external storage device that has a write-protect switch. How is this better than an external write-protect switch for the firmware on the device itself? Considering my normal patterns of device usage, I'm just going to put the laptop-specific Trusted Stick into each of my laptops and leave it th…

Evil maid can flip your write switch.

Longer version: Boot firmware and possibly OS boot loader must be unencrypted, thus attackable by an "evil maid" if left on device. Evil maid can flip the write switch. All other storage can be encrypted and is safer to leave on device.

Alternative approach, validate state of firmware on each boot with a TPM and a 2nd trusted device that you do keep with you such as a cell phone running Google authenticator or a hardware security module (HSM). See Trammell Hudson’s Heads https://trmm.net/Heads and what's going on with Purism and Librem key https://puri.sm/posts/the-librem-key-makes-tamper-detection-...

Re: State considered harmful: A proposal for a stateless laptop (2015)

#52

Hi. A lot of interesting and intelligent comments, but I think that on the whole, we've over-complicated the issue. To explain what I mean, consider a Commodore 64, Apple IIe, or Atari 800, Ti99 4a, or Radio Shack Color Computer, or most home computers from the early 1980's. None of these computers, NONE OF THEM, had any form of persistent memory (Flash, EEPROM, battery-backed CMOS, CPU persistent memory, etc.) such…

All of those machines had persistent memory in the form of cassette or floppy

Re: State considered harmful: A proposal for a stateless laptop (2015)

#53
post #52

Hi. A lot of interesting and intelligent comments, but I think that on the whole, we've over-complicated the issue. To explain what I mean, consider a Commodore 64, Apple IIe, or Atari 800, Ti99 4a, or Radio Shack Color Computer, or most home computers from the early 1980's. None of these computers, NONE OF THEM, had any form of persistent memory (Flash, EEPROM, battery-backed CMOS, CPU persistent memory, etc.) such…

All of those machines had persistent memory in the form of cassette or floppy

That's basically what is proposed in this paper except with a USB stick or SD card instead.

Re: State considered harmful: A proposal for a stateless laptop (2015)

#55
post #39

Earlier quoted context omitted.

I would like it if laptops had a semi-persistent storage area that you could only flash after authenticating, and then you could enter a password if you needed to unlock your persistent data. It's a great way to ensure you don't get any viruses, but it seems a bit too inconvenient for everyday use.

Like Apple's secure enclave or Intel's SGX? Or a physical jumper which would require physical access to move?

EEPROM + physical jumpers are what I always recommended. Blocks most if not all software attacks, makes physical attacks more noticeable (eg at a cafe), and still leaves control in hands of owner. Just a bit of inconvenience but quite usable.

Re: State considered harmful: A proposal for a stateless laptop (2015)

#56
post #47

I've started running Tails on my laptop on a daily basis. It's great. https://tails.boum.org/ It runs off a USB stick and presents a pristine system each time you boot. Modifications to the filesystem go on a ramdisk "overlay", which disappears as soon as you power it off. It does support "encrypted persistent storage", but there is quite fine-grained control over what things are allowed to go in it. In particular, n…

I don't think it's relevant to the article. If your host machine has malware in CPU firmware, then it doesn't matter whether you boot from [stateless] USB, because malware sits between your kernel and, say, keyboard, network card, or display.

sounds horrifying

can you point to any resources on a few things:

(o) examples of these kinds of malware, either code or writeups

(i) ways of detecting these kinds of malware

(ii) ways of removing these kinds of malware

(iii) ways of preventing these kinds of malware from getting installed

Re: State considered harmful: A proposal for a stateless laptop (2015)

#57
post #2

It's frustrating that the author is using the word "stateless" because it usually means something different in the context of computer-related topics. Maybe the title of the paper should have been something like "A proposal for an ephemeral-storage laptop" or something along those lines.

It's stateless the way AWS Lambda is serverless. A bit like calling a taxi ride "carless".

Re: State considered harmful: A proposal for a stateless laptop (2015)

#58

Hi. A lot of interesting and intelligent comments, but I think that on the whole, we've over-complicated the issue. To explain what I mean, consider a Commodore 64, Apple IIe, or Atari 800, Ti99 4a, or Radio Shack Color Computer, or most home computers from the early 1980's. None of these computers, NONE OF THEM, had any form of persistent memory (Flash, EEPROM, battery-backed CMOS, CPU persistent memory, etc.) such…

None of those 80's computers had power-on networks either, which is the most interesting part of the proposal, IMO. Persistent storage isn't the only way to affect the initial power-on state of today's computers.

It would also help to call this whole idea "fixed boot state" or something similar, since "stateless" is misleading even to developers, and not super accurate, which may be part of the reason you're sensing complication.

It is fun to consider how to guarantee that a computer has a fixed boot state. Not all that difficult if you can break down all the components.

The more interesting question to me is whether that truly improves security, once you start working on networks, and whether it could be made usable for the general population, rather than so inconvenient that nobody can adopt it. Is it only something the most extreme high security secret lab air-gapped environment will ever tolerate?

Re: State considered harmful: A proposal for a stateless laptop (2015)

#59
post #47

Earlier quoted context omitted.

I don't think it's relevant to the article. If your host machine has malware in CPU firmware, then it doesn't matter whether you boot from [stateless] USB, because malware sits between your kernel and, say, keyboard, network card, or display.

sounds horrifying can you point to any resources on a few things: (o) examples of these kinds of malware, either code or writeups (i) ways of detecting these kinds of malware (ii) ways of removing these kinds of malware (iii) ways of preventing these kinds of malware from getting installed

https://www.archive.ece.cmu.edu/~ganger/712.fall02/papers/p7...

http://spritesmods.com/?art=hddhack&page=5

https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf

Re: State considered harmful: A proposal for a stateless laptop (2015)

#60
post #38
post #2

It's frustrating that the author is using the word "stateless" because it usually means something different in the context of computer-related topics. Maybe the title of the paper should have been something like "A proposal for an ephemeral-storage laptop" or something along those lines.

The meaning of the title was not obvious to me either. Stateless in programming means pure functional, so the first thing I imagined from the title is some sort of new pure functional CPU. This laptop also has a state, the post-boot state is just fixed and repeatable. And, of course, the underlying technology is not different, it makes use of a lot of state, so using the word “stateless” here is certainly not the cle…

To be fair, though, not even functional programming is truly "stateless." The program has a state as it's actually executing a function. It's still remembering the functions arguments, etc. It's just that the state is extremely ephemeral, and is lost by the time the function returns.

I think this is using the word "stateless" in the same way, only over a slightly longer timescale.

Post reply on HN