What? Are you sure? All of my machine have /bin/more (there is not less, but who cares?).What machine are you running and which channel/version?The information here might also interest you, depending on your use case:
[In dev mode with dev_boot_signed_only] You give up a major exploit mitigation -- writeable mounts are not executable (one that seems to have thwarted a pwnium attacker only [recently] :) -- and [can] start running arbitrary code on the system that is likely uncontained from a security perspective. Essentially, running in dev mode is the same as running your own Linux distro -- dev_boot_signed_only doesn't do much for you since a root-level attacker can turn it back off.
I'd be happy to address your concern (and not oversell) if I can understand the concern. Right now I don't.
The problem I'm having is that you seem to be describing (a) an attacker that is physically at the machine and (b) a situation in which the attacker has turned off the verified boot (which the document is at great pains to point out that the user MUST check the verified boot value (1) from the firmware and (2) at each boot). If these precautions aren't clear enough I can make them more clear, but to be clear here: the document presumes that the mode of operation described gives you protection from remotely installed persistent malware where the threat model assumes the attacker never is in physical contact with the machine. And I would add that this protection is obviously very different than a typical Linux box provides.
I am not sure I'm understanding the attack you describe though, and to my knowledge the pwnium attempts this year have not been made public yet.
In fact at least one writeable mount (/use/local) is executable when you boot in dev mode with verified boot, no change to that necessary. That may be the only executable writeable mount. I would have to check again but I think the /usr/local bind mount does not get mounted (i.e. created) normally (outside of dev mode). So if something were remotely installable and then executed from /usr/local, it would (I believe) constitute persistent malware that the verified boot in dev mode would not complain about.
You could mitigate against this because (eg.) you could boot with no network connectivity, trust ls (which is verified), and so check /usr/local prior to any malware being executed (I think- though that may be dubious). The document doesn't say all of this, and at that point the user has to jump through a lot of hoops that I'm not sure I'd want to keep advertising that mode of operation as a bonus. Maybe- you do get a verified in core kernel that you are executing, though not sure how far that would get you.
It seems strange to assume there could be no benefit to having verified boot, even with a root shell (dev mode enabled). On the other hand, it feels a bit nonchalant as well to suppose one can know one has full protection from persistent remote attacks, eg. for the reasons just described, so I have worried about this (see below).
But what is the threat model being invoked here- a physically local attacker? And/or, can /usr/local be remotely exploited? I think those are the questions...though maybe there are other questions as well.
Again, I appreciate discussion of the security implications of dev mode with verified boot and did try to get that discussion going prior to posting the doc quite awhile ago- when the mode of operation came to light, when I was asking about if such a mode were possible- which started out as a question about root kit/malware detection post boot. So if these discussions can come out from internal and be pursued here, all the better.
Trever
I'd be happy to address your concern (and not oversell) if I can understand the concern. Right now I don't.
The problem I'm having is that you seem to be describing (a) an attacker that is physically at the machine and (b) a situation in which the attacker has turned off the verified boot (which the document is at great pains to point out that the user MUST check the verified boot value (1) from the firmware and (2) at each boot). If these precautions aren't clear enough I can make them more clear, but to be clear here: the document presumes that the mode of operation described gives you protection from remotely installed persistent malware where the threat model assumes the attacker never is in physical contact with the machine. And I would add that this protection is obviously very different than a typical Linux box provides.
I am not sure I'm understanding the attack you describe though, and to my knowledge the pwnium attempts this year have not been made public yet.
In fact at least one writeable mount (/use/local) is executable when you boot in dev mode with verified boot, no change to that necessary. That may be the only executable writeable mount. I would have to check again but I think the /usr/local bind mount does not get mounted (i.e. created) normally (outside of dev mode). So if something were remotely installable and then executed from /usr/local, it would (I believe) constitute persistent malware that the verified boot in dev mode would not complain about.
You could mitigate against this because (eg.) you could boot with no network connectivity, trust ls (which is verified), and so check /usr/local prior to any malware being executed (I think- though that may be dubious). The document doesn't say all of this, and at that point the user has to jump through a lot of hoops that I'm not sure I'd want to keep advertising that mode of operation as a bonus. Maybe- you do get a verified in core kernel that you are executing, though not sure how far that would get you.
It seems strange to assume there could be no benefit to having verified boot, even with a root shell (dev mode enabled).
On the other hand, it feels a bit nonchalant as well to suppose one can know one has full protection from persistent remote attacks, eg. for the reasons just described, so I have worried about this (see below).
But what is the threat model being invoked here- a physically local attacker? And/or, can /usr/local be remotely exploited? I think those are the questions...though maybe there are other questions as well.
Again, I appreciate discussion of the security implications of dev mode with verified boot and did try to get that discussion going prior to posting the doc quite awhile ago- when the mode of operation came to light, when I was asking about if such a mode were possible- which started out as a question about root kit/malware detection post boot. So if these discussions can come out from internal and be pursued here, all the better.
I'm assuming that the user has turned off verified boot, but enabled dev_boot_verified_only, as you describe. The thing is that an attacker who gets root (remotely) can switch dev_boot_verified_only off again without the user knowing. Frankly, it's implausible to assume that someone's going to manually go and read the spew that tells you BIOS settings at reboot.
Your document indicates that an attacker must be local to change this setting, which is absolutely not true.
Yes, and this is why dev_mode + dev_boot_verified_only does not provide 'shell access with verified boot' as the title of the doc promises :-/ It provides significantly less protection than verified mode.
Remote attacker, not physically local. Someone who can get out of the sandbox and then leverage the fact that /usr/local is both writable and executable to do nefarious things and eventually get root. Then he can turn dev_boot_verified_only off and completely pwn you, likely while you still think you're safe :-/
There really is no such thing as dev mode with verified boot. There's "dev mode with some level of kernel verification and a OS-level security significantly weakened, oh and by the way an attacker who gets root can change your firmware flags to his heart's content without you knowing." :-)
ZFS doesn't make any sense to CrOS. then again, if you really wanted
to see that in Linux land w/out going through FUSE, you should
complain to Oracle to make it happen :P.
i don't have any opinion on BTRFS. there aren't any indications that
it'd be a win for CrOS (we don't care about write performance since
our rootfs is read-only),