{{Header}} {{Title| title=Live Mode for {{project_name_long}} }} {{#seo: |description=Read-only mode. Make all writes go to non-persistent memory (RAM) instead of the hard disk. |image=Grub-live_mode_indicator_in_kicksecure.shortened.png }} {{live}} [[File:Live-mode-promo.jpg|thumb|Live Mode boot option selected in boot menu. ([[#Starting_Live_Mode|more screenshots]])]] {{intro| '''{{project_name_short}} can be booted in Live Mode''' - which forgets all user data after the session, making it ideal for sensitive data use cases. This feature is available for both {{project_name_short}} as the host OS and {{project_name_short}} as the guest OS. }} = Introduction and Definitions = A '''live mode''' offers to use an {{os}} without leaving any traces. If the system is started in live mode, all software can be used as normal, files can be saved, tasks can be accomplished, but after the session all data is lost and gone. This is especially important for use cases where sensitive temporary data is involved. {{project_name_short}} live mode can be used if {{project_name_short}} is a '''guest OS or a host OS''' itself. A '''host {{os}}''' is a system that runs directly on your physical hardware. A '''guest OS''' is a system that runs inside a virtual machine. {{project_name_short}} can be booted into live mode in both cases. We will use '''''HOST''''' on this page if {{project_name_short}} is a host OS and we will use '''''VM GUEST''''' if {{project_name_short}} is a guest OS inside a virtual machine. Live mode is accomplished by use of the [https://github.com/{{project_name_short}}/grub-live grub-live package], a package that is developed and maintained by the developers of Kicksecure and Whonix. grub-live can also be used by other Linux distributions because it is Freedom Software. '''NOTE''': This is unfortunately not available in {{q_project_name_long}}, but available in all other {{project_name_short}} variants. = What data will be forgotten? = Booting into live mode will ensure all disk writes to the virtual hard drive are forgotten after shutdown because all writes go to volatile memory (RAM) instead of the hard disk. In other words, after shutdown everything that happened during a previous boot session will not be visible (persist) on the virtual hard drive, including: * everything that is created / changed / downloaded * any websites visited, files downloaded or documents created; and * any other modifications of the virtual hard drive or activity history. * This also holds true for malicious changes made by [[Malware and Firmware Trojans|malware]]. For {{project_name_short}} as '''''VM GUEST''''' also read our chapter [[#Helpful_tips_against_attack_vectors]] regarding malware. = Getting Started = == Preparation == '''Applicability:''' These instructions are only necessary for users intending to use live mode. Users who always (or mostly) use persistent mode (the default boot option) can disregard these instructions. For the very first time {{project_name_gateway_long}} is started, please start it '''in persistent mode''' (the option is simply named "{{project_name_short}}"), NOT in live mode. This will allow [[Tor]] to make use of [[Tor Entry Guards]] for automatic initial setup. From the second time {{project_name_gateway_short}} is started onwards, it is the user may opt-in to run it in live mode if non-persistence, amnesia is desired. == Starting Live Mode ==
1. Platform Specific Notice
* [[{{non_q_project_name_short}}|{{non_q_project_name_short}}]]: No special notice. * [[{{q_project_name_short}}|{{q_project_name_short}}]]: Unavailable. Qubes issue: [https://github.com/QubesOS/qubes-issues/issues/4982 implement live boot by porting grub-live to Qubes - amnesia / non-persistent boot / anti-forensics]
2. Boot your computer ('''''HOST''''') or Power on the {{project_name_short}} VM ('''''VM GUEST''''')
If you're {{project_name_short}} VM is already running ('''''VM GUEST''''') shut it down first then power on the VM again to get into the boot menu. If your running {{project_name_short}} as '''''HOST''''' simply restart your machine.
3. Study the Boot Menu
During the grub boot menu (read more about [[grub|grub bootloader here]]) wait until you see the following. Consider: There are 3 options, the selected option is indicated by the asterisk symbol [[File:asterisk_symbol.png|20px]]. Read those options to understand their basic meaning. Below '''persistent mode''' is selected. Persistent mode is the "normal" mode. '''Figure:''' ''Persistent Mode Boot'' {{ContentImage| [[File:Grub-persistent_mode_indicator_in_kicksecure.cleaned.png|Persistent Mode Boot|800px]] }} In total you have 3 options * [[File:asterisk_symbol.png|20px]] {{project_name_short}} GNU/Linux * Advanced options for {{project_name_short}} GNU/Linux * LIVE mode USER (For daily activities.) GNU/Linux ... '''What is currently selected?''' The asterisk symbol [[File:asterisk_symbol.png|20px]] indicates the currently selected boot option. The white text color on the blue background also indicates the currently selected boot option. '''Can I choose multiple options at once?''' You can only select one option at a time. Other currently unselected boot options have light blue text color and NO asterisk at the front.
4. Use the arrow keys to choose Live Mode
Use the arrow keys (up ↑ and down ↓) on the keyboard to switch to the option '''LIVE mode USER (For daily activities.)'''. '''Figure:''' ''Live Mode Boot (non-persistent)'' {{ContentImage| [[File:Grub-live mode indicator in kicksecure.cleaned.png|Live Mode Boot|800px]] }}
5. Press ENTER
After you've selected live mode simply press enter.
6. Done
The system is now booting into live mode. = Functionality Test of Live mode = If you want to independently verify if live mode is working, follow these steps. '''1.''' Run live mode (see [[#Starting Live Mode]]). '''2.''' Create a new file in your /home/user directory. Could be any file such as for example a small text file. '''3.''' Reboot your machine ('''''HOST'''''). Or restart (via virtualizer) or reboot your {{project_name_short}} VM (both '''''VM GUEST'''''). '''4.''' After then reboot is complete check if you can find that file. If it's gone then live mode is functional. '''5.''' Done. The live mode functionality test has been completed. = '''''HOST''''' specifics ({{project_name_short}} as host OS) = == Best practices == It is recommended to use Live mode as a standard for sensitive data use cases. Live mode is also a useful tool for better privacy on the hard drive, as well as experimental changes like testing software. But it is also recommended '''regularly boot into persistent mode''' (for example once per day) for installation of [[Update|updates]]. == Live mode undefeated, even by persistent malware == For some users persistent malware is a concern. A persistent malware compromise after reboot however would require [[Malware and Firmware Trojans#Targeted_Malware_vs_Off-The-Shelf_Malware|targeted malware]] which gains super user ([[root]]) access to re-mount the disk for write access. But re-mounting the disk for write access is not yet a default feature available to off-the-shelf malware; no such reports have come to our attention. == Boot standard - live mode or persistent mode == There are two choices: * grub-live ([[grub-live|grub-live instructions here]]): Boots into persistent mode by default. The grub boot menu has an option to boot into live mode. * grub-default-live ([[grub-live#grub-default-live|grub-default-live instructions here]]): Boots into live mode by default. The grub boot menu has an option to boot into persistent mode. == {{project_name_short}} live mode vs Tails comparison == {{project_name_short}} live mode is based on the [[grub-live]] package which is developed and maintained by the team behind Kicksecure and Whonix. The grub-live package is not only available for Whonix and Kicksecure, but also for many other Linux distributions. To compare Tails and {{project_name_short}} live mode, see [[grub-live#comparison_between_grub-live_and_Tails]]. = '''''VM GUEST''''' specifics (Virtual Machine VM) = == VM Live mode and RAM == {{mbox | type = notice | image = [[File:Ambox_notice.png|40px|alt=Info]] | text = '''Tip:''' Since live mode makes each write go to RAM, increasing the memory assigned to the VM will improve performance; for example, if large files are regularly downloaded. }} == Anti-Forensics == VM Live Mode is NOT an anti-forensics feature! This is due to the limitations of the virtual machine. For anti-forensics check out Live Mode as '''''HOST''''', described above. == Helpful tips against attack vectors == To keep your live mode unaffected even by malware memorize these instructions and follow them regularly. '''Table:''' ''VM Live Mode Warnings'' {| class="wikitable" |- ! scope="col"| '''Domain''' ! scope="col"| '''Recommendations''' |- ! scope="row"| Forensics | By itself, starting a VM in live mode is not amnesic. Many users are unaware that activities performed inside the VM [[Warning#live|might be stored on the host mass storage device (hard drive, HDD, SSD)]] in locations that are hard to review (for the majority). Extra steps must be performed on the host operating system to minimize these traces -- see [[Anti-Forensics Precautions]], or better, use Live Mode as '''''HOST'''''. |- ! scope="row"| Malware | To prevent malware from remounting the hard drive as read-write it is strongly recommended to use [[VM_Live_Mode/Read_Only_Mode_Hard_Drive|read-only hard drive mode]]. This raises the bar as malware would need to break out of the VM to gain persistence, because there might be data leaks if * [[VM_Live_Mode/Read_Only_Mode_Hard_Drive|read-only hard drive mode]] is not configured and malware remounted the disk as read-write or broke out of the VM; or * [[VM_Live_Mode/Read_Only_Mode_Hard_Drive|read-only hard drive mode]] is configured and malware broke out of the VM. There are two live mode options available, [https://github.com/{{project_name_short}}/grub-live grub-live] and [https://github.com/{{project_name_short}}/ro-mode-init ro-mode-init]. * grub-live: a new boot menu entry is created which must be selected manually, but it is a better failsafe and hence the recommended option. * ro-mode-init: the boot menu stays the same and the system automatically boots into live mode when it detects a read-only disk, otherwise it boots normally into persistent mode. The advantage of using this approach is that malware running in a VM cannot silently change settings to leave persistent traces. ** [[VM_Live_Mode/ro-mode-init|ro-mode-init documentation]] ** https://forums.whonix.org/t/whonix-live-mode-amnesia-amnesic-non-persistent-anti-forensics/3894/145 |- ! scope="row"| Other Precautions | * {{project_name_short}}: It is recommended to regularly boot into persistent mode for installation of [[Update|updates]].
* {{project_name_short}}: If live mode is used with {{project_name_short}}, regularly booting into persistent mode is important to keep Tor's normal [[Tor_Entry_Guards|guard]] rotation schedule.
* KVM: Hard shutdowns of a VM can prevent loading of the filesystem with a read-only marked drive on next boot. Do not use 'Force Off/Reset' on KVM to avoid this possibility. |} == VM Live Mode vs VM Snapshots == Readers of this chapter should already be familiar with {{project_name_short}} live mode, as described in the other chapters on this page, as well as the concept of VM snapshots. Starting with a clean [[Virtualization_Platform_Security#VM_Snapshots|VM snapshot]] and later reverting to that snapshot should be even safer than using VM live mode. This is because snapshots are enforced from outside the VM, by the virtualizer. Therefore, snapshots are more secure. It is also worth noting that running VM live mode uses more RAM than is allocated to the guest, since the OS runs entirely in memory. This means that, in some cases, it is more likely for VM live mode to experience [https://en.wikipedia.org/wiki/Thrashing_(computer_science) disk thrashing], where the VM uses up all the allocated memory and becomes significantly slower. The snapshot approach does not have this issue with RAM. It is difficult to imagine a case currently where the combination of VM live mode with reverting to a clean snapshot would be even safer. Perhaps in the case of a virtualizer bug with snapshots and/or user error forgetting to revert to a snapshot. For even greater security, the user could consider Live Mode '''''HOST''''' or even host disk snapshots, such as [[Raw Disk Backup]], although this would unfortunately be more cumbersome and time-intensive. == Troubleshooting == For known issues, see [[Grub-live#Live_Check_Systray_Issues|Live Check Systray Issues]]. == Host Live Mode in Combination with VM Live Mode == If the host operating system is booted in live mode, that includes everything that is running on the host. This means it also includes any VMs running on the host. Therefore it is unnecessary to run VMs in live mode if the host is already running in live mode. The VMs will report that they are not running in live mode but they don't know any better and have no way to know by design. The user could perform a [[#Functionality Test of Live mode|Functionality Test of Live mode]] to verify this. = See Also = {{live}} {{grub-live}} = Forum Discussion about live mode = See: [https://forums.whonix.org/t/whonix-live-mode-amnesia-amnesic-non-persistent-anti-forensics/3894/123 Whonix live mode / amnesia / amnesic / non-persistent / anti-forensics] = Footnotes = {{reflist|close=1}} [[Category:Documentation]] {{Footer}}