Axon wrote:
> I noticed the following lines in /core-admin/core/backup.py:
>
>
> if encrypt:
> # Start encrypt
> # If no cipher is provided, the data is forwarded
> unencrypted !!!
> encryptor = subprocess.Popen (["openssl", "enc",
> "-e", "-aes-256-cbc",
> "-pass", "pass:"+passphrase] +
> (["-z"] if compress else []),
> stdin=pipe, stdout=subprocess.PIPE)
>
>
> The GUI doesn't appear to allow the user to specify a desired cipher. Is
> there a way to do this? Maybe a command line flag?
>
> Also, I was under the impression that CBC is no longer recommended (and
> that XTS is now recommended). Does the user have any options here?
>
Does the existence of practical malleability attacks against
CBC-encrypted Qubes backups present a good reason for changing the
default Qubes backup encryption algorithm to AES-256-XTS?
The idea is that it might be possible for an attacker with access to a
Qubes backup (e.g., stored offsite) to perform a malleability attack
against a CBC-encrypted Qubes backup. Such an attack could, in theory,
allow for the targeted manipulation of the plaintext, e.g., for the
purpose of injecting a full remote code execution backdoor which would
be available to the attacker once the Qubes user restores from the
compromised backup file.
However, the risk of such an attack succeeding in practice is perhaps
mitigated by the fact that Qubes backups are backups only of the
contents of user data (i.e., home directories) rather than entire
encrypted partitions or disks which include the full OS.
Nonetheless, if it's only a matter of changing three characters in the
code, the change may be worthwhile.
Details:
http://www.jakoblell.com/blog/2013/12/22/practical-malleability-attack-against-cbc-encrypted-luks-partitions/