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

Consider protecting against HDMI-based attacks #2743

Open
andrewdavidwong opened this Issue Apr 10, 2017 · 8 comments

Comments

Projects
None yet
4 participants
@v6ak

This comment has been minimized.

Show comment
Hide comment
@v6ak

v6ak Apr 10, 2017

Maybe this could be divided into multiple types of attack with various security impact, various controversy (i.e., risk of breaking legitimate functionality) and maybe various milestone. I'll try to sum it up:

  • HDMI ethernet – high security impact, no controversy (dom0 is not expected to have ethernet connection)
  • Audio return channel – rather small security impact (well, potentially compressed data), some controversy
  • CEC – minimal security impact, small controversy
  • DDC – small security impact, high controversy
  • HotPlug – virtually no security impact, high controversy

You see, ensuring that HDMI Ethernet is off should have highest relative priority in my opinion. I hope reasons are obvious: Dom0 is expected to be outdated, so some known network-related vulnerability (remember glibc DNS vulnerability…) can be there for months.

v6ak commented Apr 10, 2017

Maybe this could be divided into multiple types of attack with various security impact, various controversy (i.e., risk of breaking legitimate functionality) and maybe various milestone. I'll try to sum it up:

  • HDMI ethernet – high security impact, no controversy (dom0 is not expected to have ethernet connection)
  • Audio return channel – rather small security impact (well, potentially compressed data), some controversy
  • CEC – minimal security impact, small controversy
  • DDC – small security impact, high controversy
  • HotPlug – virtually no security impact, high controversy

You see, ensuring that HDMI Ethernet is off should have highest relative priority in my opinion. I hope reasons are obvious: Dom0 is expected to be outdated, so some known network-related vulnerability (remember glibc DNS vulnerability…) can be there for months.

@DemiMarie

This comment has been minimized.

Show comment
Hide comment
@DemiMarie

DemiMarie Apr 8, 2018

@v6ak The easy fix for that is to do an rm -rf of the network driver tree.

@v6ak The easy fix for that is to do an rm -rf of the network driver tree.

@v6ak

This comment has been minimized.

Show comment
Hide comment
@v6ak

v6ak Apr 8, 2018

v6ak commented Apr 8, 2018

@Aekez

This comment has been minimized.

Show comment
Hide comment
@Aekez

Aekez Jul 1, 2018

I'm speculating whether there are any filters of sorts that forces an HDMI cable to be one-directional, instead of bi-directional (default HDMI state). It's a bit murky water as there is a lot of speculation and assumptions on HDMI out there, and very little reliable clarification, so searching for reliable answers becomes a bit tiresome on the wild-wild-west on some of the HDMI information.

Generally, if one can attain a filter, switch, amplifier, or similar, that either directly or indirectly enforces a one-directional communication of HDMI, it might be more assuring to protect from HDMI hacks with a physical analogical device, rather than software protections (especially if the HDMI TV has Internet / Bluetooth / WiFi capability, which makes it really scary to connect it to Qubes dom0). Just removing drivers etc. still makes me a bit uneasy, especially considering this issue is still open for long-term milestone far into the future, and not closed.

So far I've had no luck finding a physical device, filter, switch, or otherwise, that enforces a one-direction of HDMI with certainty. This could potentially be a good fix against HDMI hacks, if found though.

A potential quick and easy solution?
For example, if a HDMI switch doesn't have the bi-directional HDMI feature that HDMI normally has, would such a lack of feature, truly enforce a protected one-directional HDMI connection? and could a lack of a feature, be enough to justify protective measures from bi-directional communications? Further, such a switch should probably act more like an analogue system rather than digital, due to firmware exploits? Does anyone maybe know of a filter/switch/or-similar that has no firmware, and acts like a one-directional HDMI connection? If so, at least we have a short-term solution until the isolation protective measures catches up.

Aekez commented Jul 1, 2018

I'm speculating whether there are any filters of sorts that forces an HDMI cable to be one-directional, instead of bi-directional (default HDMI state). It's a bit murky water as there is a lot of speculation and assumptions on HDMI out there, and very little reliable clarification, so searching for reliable answers becomes a bit tiresome on the wild-wild-west on some of the HDMI information.

Generally, if one can attain a filter, switch, amplifier, or similar, that either directly or indirectly enforces a one-directional communication of HDMI, it might be more assuring to protect from HDMI hacks with a physical analogical device, rather than software protections (especially if the HDMI TV has Internet / Bluetooth / WiFi capability, which makes it really scary to connect it to Qubes dom0). Just removing drivers etc. still makes me a bit uneasy, especially considering this issue is still open for long-term milestone far into the future, and not closed.

So far I've had no luck finding a physical device, filter, switch, or otherwise, that enforces a one-direction of HDMI with certainty. This could potentially be a good fix against HDMI hacks, if found though.

A potential quick and easy solution?
For example, if a HDMI switch doesn't have the bi-directional HDMI feature that HDMI normally has, would such a lack of feature, truly enforce a protected one-directional HDMI connection? and could a lack of a feature, be enough to justify protective measures from bi-directional communications? Further, such a switch should probably act more like an analogue system rather than digital, due to firmware exploits? Does anyone maybe know of a filter/switch/or-similar that has no firmware, and acts like a one-directional HDMI connection? If so, at least we have a short-term solution until the isolation protective measures catches up.

@v6ak

This comment has been minimized.

Show comment
Hide comment
@v6ak

v6ak Jul 2, 2018

v6ak commented Jul 2, 2018

@DemiMarie

This comment has been minimized.

Show comment
Hide comment
@DemiMarie

DemiMarie Jul 2, 2018

@Aekez

This comment has been minimized.

Show comment
Hide comment
@Aekez

Aekez Jul 2, 2018

@v6ak

(HDMI –> DVI and DVI –> HDMI)

This looks very, very interesting, I'm definitely gonna look into this soon, thanks for sharing! Maybe even combine it with the other suggestions, so protection hopefully becomes stacked / overlapping-redundant as far as possible.

@DemiMarie
I can only agree, but we're still some time off into the future before we can get good pure software solutions though? i.e. as v6ak mentioned, dom0 graphics is still exposed atm, but that "might" change some in Qubes 4.1. with isolated graphics away from dom0 though, but that's still some time off. I wonder if Qubes 4.1. would be enough though? i.e. while dom0 is protected, could attacks still be made to graphics to attack from one VM to the next VM, even with the new protective measures of Qubes 4.1.?

However I guess you mean that relying on hardware solutions puts less urgency on making a software solution, thereby potentially delaying a solution that could work for every Qubes user, rather than just those who get the extra hardware? If that is what you mean, then I can only agree with you, though I hope we can manage to focus on both hardware and software solutions. At least I'd like to see some more details on the software solution and covering any potential loose ends, before I can relax on a more software-based solution. It definitely makes me uneasy to have such potential attack surfaces.

About a doc on this
If interested in making a joint collaboration on a doc on various different (hardware / software) HDMI protective measures, we could start progressive work on one over at Qubes Collaboration Community, where the intention is collaborative work for Qubes related docs/code/scripts.

Aekez commented Jul 2, 2018

@v6ak

(HDMI –> DVI and DVI –> HDMI)

This looks very, very interesting, I'm definitely gonna look into this soon, thanks for sharing! Maybe even combine it with the other suggestions, so protection hopefully becomes stacked / overlapping-redundant as far as possible.

@DemiMarie
I can only agree, but we're still some time off into the future before we can get good pure software solutions though? i.e. as v6ak mentioned, dom0 graphics is still exposed atm, but that "might" change some in Qubes 4.1. with isolated graphics away from dom0 though, but that's still some time off. I wonder if Qubes 4.1. would be enough though? i.e. while dom0 is protected, could attacks still be made to graphics to attack from one VM to the next VM, even with the new protective measures of Qubes 4.1.?

However I guess you mean that relying on hardware solutions puts less urgency on making a software solution, thereby potentially delaying a solution that could work for every Qubes user, rather than just those who get the extra hardware? If that is what you mean, then I can only agree with you, though I hope we can manage to focus on both hardware and software solutions. At least I'd like to see some more details on the software solution and covering any potential loose ends, before I can relax on a more software-based solution. It definitely makes me uneasy to have such potential attack surfaces.

About a doc on this
If interested in making a joint collaboration on a doc on various different (hardware / software) HDMI protective measures, we could start progressive work on one over at Qubes Collaboration Community, where the intention is collaborative work for Qubes related docs/code/scripts.

@DemiMarie

This comment has been minimized.

Show comment
Hide comment
@DemiMarie

DemiMarie Jul 4, 2018

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