Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

qvm-backup-restore: verify integrity of backup by comparing with volumes in current system #6386

Open
iamahuman opened this issue Feb 6, 2021 · 3 comments
Labels
C: core P: default Priority: default. Default priority for new issues, to be replaced given sufficient information.

Comments

@iamahuman
Copy link

iamahuman commented Feb 6, 2021

The problem you're addressing (if any)
Qubes backups are susceptible from silent data corruption in the process of backing up volumes.

Describe the solution you'd like
Qubes should allow users to verify integrity of backup by comparing with the latest snapshot (revision) of volumes that predates the backup in current system.

Where is the value to a user, and who might that user be?
Users can rely on a more robust backup mechanism.

Describe alternatives you've considered

  1. Actually restore them and verify manually.

    This is error-prone and can expose users to exploits from malicious VMs. Also, this is not an option if the user does not have enough disk space.

Additional context
This issue concerns only with data corruption happening during the backup process. If something tampered with the encrypted backup result, scrypt would detect it.

Relevant documentation you've consulted

Related, non-duplicate issues

@iamahuman iamahuman added P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement labels Feb 6, 2021
@marmarek
Copy link
Member

marmarek commented Feb 6, 2021

It isn't going to work in many (perhaps most) cases... It is enough for some VM to stop (which will drop the old snapshot). And if we get #1239 implemented, then it's not going to work for running VMs ever.

@iamahuman
Copy link
Author

It isn't going to work in many (perhaps most) cases... It is enough for some VM to stop (which will drop the old snapshot). And if we get #1239 implemented, then it's not going to work for running VMs ever.

I think it's mostly fine as long as all running VMs during backup are disposable, including sys-usb. Also this feature will remain an entirely optional step for users unwilling to interrupt their work for the backup process.

@andrewdavidwong andrewdavidwong added this to the TBD milestone Feb 7, 2021
@andrewdavidwong andrewdavidwong removed this from the Release TBD milestone Aug 13, 2023
@ddevz
Copy link

ddevz commented Dec 15, 2023

It isn't going to work in many (perhaps most) cases... It is enough for some VM to stop (which will drop the old snapshot). And if we get #1239 implemented, then it's not going to work for running VMs ever.

Could a hash of each volume get stored at the time of backup, and the verification process then just checks the backup against the hashes?

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
C: core P: default Priority: default. Default priority for new issues, to be replaced given sufficient information.
Projects
None yet
Development

No branches or pull requests

4 participants