New issue

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

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

Already on GitHub? Sign in to your account

Qubes landing/welcome page for Firefox (& Chromium?) in Fedora and Debian templates #2006

Closed
mfc opened this Issue May 19, 2016 · 16 comments

Comments

Projects
None yet
5 participants
@mfc
Member

mfc commented May 19, 2016

This is a ticket to create a Qubes landing page for Firefox (and Chromium?) in Fedora and Debian templates. From #1790 it sounds like the team would prefer this to no-customized-landing-page browsers.

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong May 19, 2016

Member

Just to clarify (for others and for myself, in case I forget later): "branded browser" in this context means something like the Whonix welcome page in Tor Browser. It doesn't mean "use the Google brand Chrome browser instead of the open source Chromium browser" (which is a possible way to interpret the phrase "branded browser").

Member

andrewdavidwong commented May 19, 2016

Just to clarify (for others and for myself, in case I forget later): "branded browser" in this context means something like the Whonix welcome page in Tor Browser. It doesn't mean "use the Google brand Chrome browser instead of the open source Chromium browser" (which is a possible way to interpret the phrase "branded browser").

@mfc mfc changed the title from brand Firefox (& Chromium?) in Fedora and Debian templates to Qubes landing/welcome page for Firefox (& Chromium?) in Fedora and Debian templates May 19, 2016

@unman

This comment has been minimized.

Show comment
Hide comment
@unman

unman May 31, 2016

Member

@mfc @andrewdavidwong Where an issue applies to both Debian and Fedora, it seems odd to tag it with both. Doesn't it make more sense to only tag where the issue relates only to that distro?

Member

unman commented May 31, 2016

@mfc @andrewdavidwong Where an issue applies to both Debian and Fedora, it seems odd to tag it with both. Doesn't it make more sense to only tag where the issue relates only to that distro?

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong May 31, 2016

Member

I think it's useful to tag both. For example, if I want to find all the issues that affect Debian, I can select the C: Debian tag in the filter. If we start doing it the other way, how would I easily find all the issues that affect Debian?

Member

andrewdavidwong commented May 31, 2016

I think it's useful to tag both. For example, if I want to find all the issues that affect Debian, I can select the C: Debian tag in the filter. If we start doing it the other way, how would I easily find all the issues that affect Debian?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek May 31, 2016

Member

I think it makes sense to tag both in case when separate solution/implementation is needed there. If a single solution (the same) would work for all of them, better to not tag with distribution, rather more generic C: templates (if anything).
Or maybe even better to create separate issues for Fedora and Debian in such a case? But we already have a lot of open issues...

As for filtering - I think more useful is to search not for issues affecting Debian template (because in practice this means all the issues not-other-template-specific, like dom0 issues), but issues requiring Debian-specific solution. If someone want to help and know how to do things Debian-way (or Fedora-way for that matter), it would be much more useful.

Member

marmarek commented May 31, 2016

I think it makes sense to tag both in case when separate solution/implementation is needed there. If a single solution (the same) would work for all of them, better to not tag with distribution, rather more generic C: templates (if anything).
Or maybe even better to create separate issues for Fedora and Debian in such a case? But we already have a lot of open issues...

As for filtering - I think more useful is to search not for issues affecting Debian template (because in practice this means all the issues not-other-template-specific, like dom0 issues), but issues requiring Debian-specific solution. If someone want to help and know how to do things Debian-way (or Fedora-way for that matter), it would be much more useful.

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong May 31, 2016

Member

Ok, so if I understand correctly, this issue should have the Debian and Fedora labels removed and the Templates label added.

Member

andrewdavidwong commented May 31, 2016

Ok, so if I understand correctly, this issue should have the Debian and Fedora labels removed and the Templates label added.

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong Dec 24, 2016

Member

This seems like a bad idea to me. The last thing I want in my sensitive VMs is for a web page (even a static, offline, pre-included one) to automatically load when I first start the browser. This increases the attack surface, since now an attacker who wants to mass-compromise Qubes templates can attempt to substitute, say, a malicious Qubes logo image that will exploit a hypothetical browser bug.

I'd much prefer to have the default about:blank.

Member

andrewdavidwong commented Dec 24, 2016

This seems like a bad idea to me. The last thing I want in my sensitive VMs is for a web page (even a static, offline, pre-included one) to automatically load when I first start the browser. This increases the attack surface, since now an attacker who wants to mass-compromise Qubes templates can attempt to substitute, say, a malicious Qubes logo image that will exploit a hypothetical browser bug.

I'd much prefer to have the default about:blank.

@mfc

This comment has been minimized.

Show comment
Hide comment
@mfc

mfc Dec 24, 2016

Member

This seems like a bad idea to me. [...] This increases the attack surface, since now an attacker who wants to mass-compromise Qubes templates can attempt to substitute, say, a malicious Qubes logo image that will exploit a hypothetical browser bug.

it is already being done in whonix-ws qubes, see previously referenced #1790. so are you suggesting that #1790 should be re-opened?

either we go for a cohesive Qubes UX/branding ("this is an OS, not a collection of OSes") or we say that security concerns prevent us from providing that cohesive branding. from marek's response on #1790 he didn't raise any security concerns with the practice.

Member

mfc commented Dec 24, 2016

This seems like a bad idea to me. [...] This increases the attack surface, since now an attacker who wants to mass-compromise Qubes templates can attempt to substitute, say, a malicious Qubes logo image that will exploit a hypothetical browser bug.

it is already being done in whonix-ws qubes, see previously referenced #1790. so are you suggesting that #1790 should be re-opened?

either we go for a cohesive Qubes UX/branding ("this is an OS, not a collection of OSes") or we say that security concerns prevent us from providing that cohesive branding. from marek's response on #1790 he didn't raise any security concerns with the practice.

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong Dec 24, 2016

Member

it is already being done in whonix-ws qubes, see previously referenced #1790. so are you suggesting that #1790 should be re-opened?

No, because #1790 isn't about that. It's up to the Whonix project to make a decision about whether to have a landing page (which they have already done).

either we go for a cohesive Qubes UX/branding ("this is an OS, not a collection of OSes")

But it's both. That's one of the best features of Qubes.

or we say that security concerns prevent us from providing that cohesive branding. from marek's response on #1790 he didn't raise any security concerns with the practice.

Hm, I suppose it's fine as long as we're careful to sanitize the images, just like we (hopefully) do with the Qubes wallpapers. Indeed, the wallpapers are a much bigger concern, since they're in dom0, not "just" TemplateVMs. I suppose one could argue that rendering a web page still presents a larger attack surface than having a wallpaper in dom0, but it should be fine if it's just simple, self-contained HTML and CSS. I'll make a mockup and see what you all think.

Member

andrewdavidwong commented Dec 24, 2016

it is already being done in whonix-ws qubes, see previously referenced #1790. so are you suggesting that #1790 should be re-opened?

No, because #1790 isn't about that. It's up to the Whonix project to make a decision about whether to have a landing page (which they have already done).

either we go for a cohesive Qubes UX/branding ("this is an OS, not a collection of OSes")

But it's both. That's one of the best features of Qubes.

or we say that security concerns prevent us from providing that cohesive branding. from marek's response on #1790 he didn't raise any security concerns with the practice.

Hm, I suppose it's fine as long as we're careful to sanitize the images, just like we (hopefully) do with the Qubes wallpapers. Indeed, the wallpapers are a much bigger concern, since they're in dom0, not "just" TemplateVMs. I suppose one could argue that rendering a web page still presents a larger attack surface than having a wallpaper in dom0, but it should be fine if it's just simple, self-contained HTML and CSS. I'll make a mockup and see what you all think.

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong Dec 24, 2016

Member

Here's a Qubes start page, inspired by Whonix's nice, simple design: https://github.com/andrewdavidwong/qubes-start-page

If there are no problems with it, @marmarek, feel free to use this (or any variation) as the default start page in any template (except Whonix, of course), but please sanitize the image first.

Member

andrewdavidwong commented Dec 24, 2016

Here's a Qubes start page, inspired by Whonix's nice, simple design: https://github.com/andrewdavidwong/qubes-start-page

If there are no problems with it, @marmarek, feel free to use this (or any variation) as the default start page in any template (except Whonix, of course), but please sanitize the image first.

@jpouellet

This comment has been minimized.

Show comment
Hide comment
@jpouellet

jpouellet Dec 24, 2016

Contributor

Branding the browser seems to stand in violation of a previously stated policy (quoting from the dev FAQ):

Q: What is Qubes’ attitude toward changing guest distros?

We try to respect each distro’s culture, where possibe. See the discussion on issue #1014 for an example.

I think if we are going to have such a policy we should either justify violations of it, or not claim to have the policy. I don't have an opinion either way, I'm just pointing out that it seems inconsistent.

Contributor

jpouellet commented Dec 24, 2016

Branding the browser seems to stand in violation of a previously stated policy (quoting from the dev FAQ):

Q: What is Qubes’ attitude toward changing guest distros?

We try to respect each distro’s culture, where possibe. See the discussion on issue #1014 for an example.

I think if we are going to have such a policy we should either justify violations of it, or not claim to have the policy. I don't have an opinion either way, I'm just pointing out that it seems inconsistent.

@jpouellet

This comment has been minimized.

Show comment
Hide comment
@jpouellet

jpouellet Dec 24, 2016

Contributor

@andrewdavidwong wrote:

This seems like a bad idea to me. The last thing I want in my sensitive VMs is for a web page (even a static, offline, pre-included one) to automatically load when I first start the browser. This increases the attack surface, since now an attacker who wants to mass-compromise Qubes templates can attempt to substitute, say, a malicious Qubes logo image that will exploit a hypothetical browser bug.

I think we can agree that a local static page maintained in a qubes-official repo seems like an improvement from an attack-surface perspective over loading https://start.fedoraproject.org/ (or anything else) remotely.

In the case of a static page, do I understand correctly that the attack vector you are worried about is someone submitting a patch containing a maliciously crafted image, and the merger not sanitizing it? If that is a legitimate concern, then I think the solution should be a general mechanism to ensure images are always sanitized before being merged, rather than an argument against browser branding. There are already many other potentially untrusted images in the repos.

Contributor

jpouellet commented Dec 24, 2016

@andrewdavidwong wrote:

This seems like a bad idea to me. The last thing I want in my sensitive VMs is for a web page (even a static, offline, pre-included one) to automatically load when I first start the browser. This increases the attack surface, since now an attacker who wants to mass-compromise Qubes templates can attempt to substitute, say, a malicious Qubes logo image that will exploit a hypothetical browser bug.

I think we can agree that a local static page maintained in a qubes-official repo seems like an improvement from an attack-surface perspective over loading https://start.fedoraproject.org/ (or anything else) remotely.

In the case of a static page, do I understand correctly that the attack vector you are worried about is someone submitting a patch containing a maliciously crafted image, and the merger not sanitizing it? If that is a legitimate concern, then I think the solution should be a general mechanism to ensure images are always sanitized before being merged, rather than an argument against browser branding. There are already many other potentially untrusted images in the repos.

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong Dec 24, 2016

Member

I think if we are going to have such a policy we should either justify violations of it, or not claim to have the policy.

I don't see why this would be a violation of that policy. Please explain why you think it would be.

...ensure images are always sanitized before being merged...

Already addressed above.

Member

andrewdavidwong commented Dec 24, 2016

I think if we are going to have such a policy we should either justify violations of it, or not claim to have the policy.

I don't see why this would be a violation of that policy. Please explain why you think it would be.

...ensure images are always sanitized before being merged...

Already addressed above.

@jpouellet

This comment has been minimized.

Show comment
Hide comment
@jpouellet

jpouellet Dec 24, 2016

Contributor

I think if we are going to have such a policy we should either justify violations of it, or not claim to have the policy.

I don't see why this would be a violation of that policy. Please explain why you think it would be.

Unnecessary deviation from a specific decision made upstream (in Fedora, not Firefox), not related to functionality? Perhaps I just misunderstood the spirit of the policy...

To be clear, I don't think the proposed change here is problematic. It's more a question of clarifying where the line in the sand is drawn with respect to deviating from upstream choices in templates.

Contributor

jpouellet commented Dec 24, 2016

I think if we are going to have such a policy we should either justify violations of it, or not claim to have the policy.

I don't see why this would be a violation of that policy. Please explain why you think it would be.

Unnecessary deviation from a specific decision made upstream (in Fedora, not Firefox), not related to functionality? Perhaps I just misunderstood the spirit of the policy...

To be clear, I don't think the proposed change here is problematic. It's more a question of clarifying where the line in the sand is drawn with respect to deviating from upstream choices in templates.

@jpouellet

This comment has been minimized.

Show comment
Hide comment
@jpouellet

jpouellet Dec 24, 2016

Contributor

For example, there's also the fedora-added browser extension to add Fedora to the user agent string, which I remember being installed by default (but for whatever reason can't seem to find right now).

If we do not care for Fedora-added browser modifications, that seems like a target for potential removal too...

Contributor

jpouellet commented Dec 24, 2016

For example, there's also the fedora-added browser extension to add Fedora to the user agent string, which I remember being installed by default (but for whatever reason can't seem to find right now).

If we do not care for Fedora-added browser modifications, that seems like a target for potential removal too...

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Dec 24, 2016

Member

The policy is there mostly to ease maintenance, on several levels:

  • less modifications means easier migration to new upstream distribution releases
  • upstream documentation matching the distribution running in Qubes VM
  • less likely to introduce Qubes-specific issues
  • each officially supported distribution (ideally) should offer the same set of Qubes-specific features - a change in one supported distribution should be followed also in others (including some new in the future)

While setting default welcome page may not apply to all the above points, but still may apply to some. I think the gain does not worth it.

BTW For more sensitive VMs (like banking) it's a good idea to set firewall rules allowing access only to the banking site. This will (among other things) mitigate the risk mentioned in #2006 (comment).

Member

marmarek commented Dec 24, 2016

The policy is there mostly to ease maintenance, on several levels:

  • less modifications means easier migration to new upstream distribution releases
  • upstream documentation matching the distribution running in Qubes VM
  • less likely to introduce Qubes-specific issues
  • each officially supported distribution (ideally) should offer the same set of Qubes-specific features - a change in one supported distribution should be followed also in others (including some new in the future)

While setting default welcome page may not apply to all the above points, but still may apply to some. I think the gain does not worth it.

BTW For more sensitive VMs (like banking) it's a good idea to set firewall rules allowing access only to the banking site. This will (among other things) mitigate the risk mentioned in #2006 (comment).

andrewdavidwong added a commit to QubesOS/qubes-doc that referenced this issue Dec 25, 2016

@andrewdavidwong

This comment has been minimized.

Show comment
Hide comment
@andrewdavidwong

andrewdavidwong Dec 25, 2016

Member

I think if we are going to have such a policy we should either justify violations of it, or not claim to have the policy.

I don't see why this would be a violation of that policy. Please explain why you think it would be.

Unnecessary deviation from a specific decision made upstream (in Fedora, not Firefox), not related to functionality? Perhaps I just misunderstood the spirit of the policy...

The policy is not that we refrain from all "unnecessary deviations from a specific decision made upstream (in Fedora, not Firefox), not related to functionality." Rather, the policy is that "we try to respect each distro’s culture, where possible." The default browser home page is intended to be changed by downstream users of the browser. This is why it is easily configurable from a readily accessible menu. It is fully expected that distros will change the home page (as Fedora does) and that actual end users will also change it (as the vast majority do). Making a change that is both intended and expected by an upstream provider does not constitute a lack of respect for the upstream provider's culture. Therefore, since Qubes is a downstream user of both Fedora (and, indirectly, Firefox), it would not constitute a lack of respect for Fedora's (or, for that matter, Firefox's) culture to change the default browser home page. Thus, it would not constitute a violation of our stated policy.

The policy is there mostly to ease maintenance, on several levels: [...]

Updated: QubesOS/qubes-doc@6d4d8d3

While setting default welcome page may not apply to all the above points, but still may apply to some. I think the gain does not worth it.

Ok, closing.

Member

andrewdavidwong commented Dec 25, 2016

I think if we are going to have such a policy we should either justify violations of it, or not claim to have the policy.

I don't see why this would be a violation of that policy. Please explain why you think it would be.

Unnecessary deviation from a specific decision made upstream (in Fedora, not Firefox), not related to functionality? Perhaps I just misunderstood the spirit of the policy...

The policy is not that we refrain from all "unnecessary deviations from a specific decision made upstream (in Fedora, not Firefox), not related to functionality." Rather, the policy is that "we try to respect each distro’s culture, where possible." The default browser home page is intended to be changed by downstream users of the browser. This is why it is easily configurable from a readily accessible menu. It is fully expected that distros will change the home page (as Fedora does) and that actual end users will also change it (as the vast majority do). Making a change that is both intended and expected by an upstream provider does not constitute a lack of respect for the upstream provider's culture. Therefore, since Qubes is a downstream user of both Fedora (and, indirectly, Firefox), it would not constitute a lack of respect for Fedora's (or, for that matter, Firefox's) culture to change the default browser home page. Thus, it would not constitute a violation of our stated policy.

The policy is there mostly to ease maintenance, on several levels: [...]

Updated: QubesOS/qubes-doc@6d4d8d3

While setting default welcome page may not apply to all the above points, but still may apply to some. I think the gain does not worth it.

Ok, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment