You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We feel more confident about files being opened in the correct VM
We simplify the maintenance of the various MIME file lists
Requirements and constraints
TK
Exploration
previous do-not-open-here implementation, need to research more why it was abandoned
Initial proposal
We store files in a custom format, for example, b"SECUREDROP-UNSAFE" + base64(file.as_bytes()). This prevents any other processes from trying to mime sniff the file because it is base64-encoded, and if something tries to forcibly open it, it's just plain text.
We only need to teach mime/mailcap/XDG about our new file type (e.g. application/securedrop-unsafe) instead of overriding every single file type.
A companion wrapper program, securedrop-open, checks what VM it is being executed in, and if it's the wrong one, refuses to open (displaying an error, logging somewhere, etc.). If it's the correct VM, it "extracts" the underlying file and forwards it to xdg-open or whatever program we choose. It can also handle the case where no appropriate program is available.
Proposal:
Affected components
People and roles
Problem Statement
We have a few different problems that have been addressed in different ways, this is a proposal to address them in a single, more robust manner:
Solution impact
Requirements and constraints
TK
Exploration
do-not-open-here
implementation, need to research more why it was abandonedInitial proposal
We store files in a custom format, for example,
b"SECUREDROP-UNSAFE" + base64(file.as_bytes())
. This prevents any other processes from trying to mime sniff the file because it is base64-encoded, and if something tries to forcibly open it, it's just plain text.We only need to teach mime/mailcap/XDG about our new file type (e.g.
application/securedrop-unsafe
) instead of overriding every single file type.A companion wrapper program,
securedrop-open
, checks what VM it is being executed in, and if it's the wrong one, refuses to open (displaying an error, logging somewhere, etc.). If it's the correct VM, it "extracts" the underlying file and forwards it toxdg-open
or whatever program we choose. It can also handle the case where no appropriate program is available.To some extent, this is the new type pattern applied to a file.
Selected proposal
The text was updated successfully, but these errors were encountered: