OK, so the part about giving the machine to someone and preserve its integrity is not real, but how about making the OS more resilient against trivial local attacks that most people can do, like installing a software rootkit.
For example, I am in public/work/clients with my machine and have to leave it unattended, what are my options right now?
From your posts I learned:
1) lock the screen with strong password (easily circumvented by hw keylogers, cams... that got the pass before)
2) lock the screen with OTP (can this be simply circumvented?)
3) use autoscreen locker (like for ex have a bluetooth device on you that locks screen once you get away from you laptop)...btw, this will not increase attack surface?
According to what you guys already said above, the attacker still can:
1) change VMs (but she/he can do that even remotely since they are normal windows/linux machines). And Qubes isolation feature works well here, because even with a keylogger in a VM, for example, the attacker will only get keystrokes when you work in that VM.
2) get your data (yes. like you said, this is a separate issue)
3) install sophisticated hw devices (maybe seal the laptop if possible, or there is really nothing to do. Anyway, most people don't have access to this kind of devices and people who have will find one way or another to your machine).
4) install rootkits in memory (they go away on reboot)
5) something I missed?
So, the conclusion so far, in a situation like above, the best way to secure your machine is to have a wireless token on you all the time that autolocks the machine once you get away from it AND to use OTP to unlock it. Did I get this right?
Disposable dom0/GUI sounds more elegant then all that, if it can provide the same level of security. With disposable dom0/GUI you just reboot your machine assuming someone tampered with it...This seems to integrate well into Qubes since this unusual OS once set up, you work mostly in VMs and only need to change dom0 once in a while for updates, etc. Also, less money to spend on OTP/autoscreen lock wireless devices for your clients that want protection from local trivial attacks, if you manage to sell the OS to companies with lots of people. :)
Do you guys get into situations like that (being in public/work/clients and have to leave the machine unattended) daily?...I am wondering what do you actually do to protect your laptops?
Thanks for all explanations, I think I understand there will never be such thing as complete security, since you create the problem yourself simply by using the computer. The only way is to never use it.:)
OK, so the part about giving the machine to someone and preserve its integrity is not real, but how about making the OS more resilient against trivial local attacks that most people can do, like installing a software rootkit.
For example, I am in public/work/clients with my machine and have to leave it unattended, what are my options right now?
From your posts I learned:
1) lock the screen with strong password (easily circumvented by hw keylogers, cams... that got the pass before)
2) lock the screen with OTP (can this be simply circumvented?)
3) use autoscreen locker (like for ex have a bluetooth device on you that locks screen once you get away from you laptop)...btw, this will not increase attack surface?
According to what you guys already said above, the attacker still can:
1) change VMs (but she/he can do that even remotely since they are normal windows/linux machines). And Qubes isolation feature works well here, because even with a keylogger in a VM, for example, the attacker will only get keystrokes when you work in that VM.
2) get your data (yes. like you said, this is a separate issue)
3) install sophisticated hw devices (maybe seal the laptop if possible, or there is really nothing to do. Anyway, most people don't have access to this kind of devices and people who have will find one way or another to your machine).
4) install rootkits in memory (they go away on reboot)
5) something I missed?
So, the conclusion so far, in a situation like above, the best way to secure your machine is to have a wireless token on you all the time that autolocks the machine once you get away from it AND to use OTP to unlock it. Did I get this right?
Disposable dom0/GUI sounds more elegant then all that, if it can provide the same level of security. With disposable dom0/GUI you just reboot your machine assuming someone tampered with it...This seems to integrate well into Qubes since this unusual OS once set up, you work mostly in VMs and only need to change dom0 once in a while for updates, etc. Also, less money to spend on OTP/autoscreen lock wireless devices for your clients that want protection from local trivial attacks, if you manage to sell the OS to companies with lots of people. :)
Do you guys get into situations like that (being in public/work/clients and have to leave the machine unattended) daily?...I am wondering what do you actually do to protect your laptops?
--
You received this message because you are subscribed to the Google Groups "qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users...@googlegroups.com.
To post to this group, send email to qubes...@googlegroups.com.
Visit this group at http://groups.google.com/group/qubes-users.
For more options, visit https://groups.google.com/d/optout.
This does not offer any protection against trivial local attacks since the user can always remount / rw, according to qubes sudoers. This was mostly to see if is possible to run the system with ro dom0 rootfs. There are some minor errors, but does work on my machine (only used it a couple of days). Now I am thinking to put a root password in dom0 to dissalow remount /rw for local user, but I read in sudoers.d/qubes that is trivial for the local user to escalate to root. Also found an 2010 post concering local dom0 root escalation: "...But Rafal immediately came up with a
dozen on of potential attack vectors from such unprivileged user
accounts to system admin (root), that we decided to give up on this. The
biggest problem here is that the Xen infrastructure, e.g. the Xen Daemon
(xend)'s management interface, has not been designed to allow for secure
control of Xen by an unprivileged user. So, there doesn't seem to be a
secure way to e.g. allow user Alice to talk to Xend in order to control?
her VMs, but at the same time to not introduce huge attack surface that
might let her escalate to root."
I hope this means the local user can't manage (update, modify config,..) VMs without introducing attack surface?
The way I am planning to use this: In public places where local attacks are possible, I want to use the readonly-root and only need to start/stop VMs (no need ever to type the root pwd). In private, where there are no local attackers and it is harder to be filmed/ keylogged..., I will remount / rw and do further configs, updates, etc. Does it make sense?
Is there any other trivial way to remount root rw for a local attacker with no root privilege (besides the known single user boot mode)?
As already stated, I am looking for a way to prevent trivial local attacks (I don't care about access to my files, only about my dom0 being modified), I fully understand now there will never be possible to secure your machine against skilled attackers, as long as you keep using it.
If someone is interested in implementing readonly-root (http://fedoraproject.org/wiki/StatelessLinux) in Qubes:
1) change /etc/sysconfig/readonly-root
2) mount / and /boot ro in fstab
3) move /var/lib/qubes/appvms on another rw partition
4) add "files /var/lib/qubes/servicevms (also backup,updates you want) /var/lib/upower /etc/xen" to /etc/rwtab.d/qubes ..maybe you need to add something else, according to your machine.
5) reboot and watch logs for errors caused by RO rootfs
Thanks, that is good news...although I don't understand how GUI dom0 separation will work:
> "1) GUI domain: running the real X server with a passthrough-GPU assigned
>
> 2) Admin domain (the real Dom0) which likely will not be even accessible
> to the user normally (i.e. will require special booting to login into
> Admin domain).
>
> The GUI domain could be then based on whatever Linux distro (and on
> Windows even in some commercial variants) we want -- i.e. one with good
> GPU support and latest KDE eye candy. The Qubes Manager and qvm-tools
> would all be running in the GUI domain too."
For the GUI domain to be disposable, I think it needs to keep its root.img in dom0? If so, how will it be updated?
All other VM will have their root.imgs in GUI domain?
If the Qubes VMM runs in GUI domain, it needs write access to all VM's .img files, according to the way Qubes Manager runs now. How could the GUI and other domains be isolated, then?